From 73054d96ebcb225eddc14e6ae9f90d16104a59c7 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Thu, 20 Nov 2025 02:35:09 +0800 Subject: [PATCH 01/36] v.1 --- cmd/api/main.go | 31 +++++ go.mod | 46 +++++++ go.sum | 91 +++++++++++++ internal/db/db.go | 48 +++++++ internal/mk/handlers.go | 274 ++++++++++++++++++++++++++++++++++++++++ internal/mk/models.go | 57 +++++++++ internal/mk/service.go | 259 +++++++++++++++++++++++++++++++++++++ 7 files changed, 806 insertions(+) create mode 100644 cmd/api/main.go create mode 100644 go.mod create mode 100644 go.sum create mode 100644 internal/db/db.go create mode 100644 internal/mk/handlers.go create mode 100644 internal/mk/models.go create mode 100644 internal/mk/service.go diff --git a/cmd/api/main.go b/cmd/api/main.go new file mode 100644 index 0000000..a296bf4 --- /dev/null +++ b/cmd/api/main.go @@ -0,0 +1,31 @@ +package main + +import ( + "log" + "os" + + "cpmk/internal/db" + "cpmk/internal/mk" + + "github.com/gin-gonic/gin" +) + +func main() { + database := db.New() + + svc := mk.NewService(database) + handler := mk.NewHandler(svc) + + r := gin.Default() + handler.Register(r) + + port := os.Getenv("PORT") + if port == "" { + port = "8080" + } + + log.Println("listening on :" + port) + if err := r.Run(":" + port); err != nil { + log.Fatal(err) + } +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..dd3defc --- /dev/null +++ b/go.mod @@ -0,0 +1,46 @@ +module cpmk + +go 1.23.0 + +toolchain go1.24.10 + +require ( + filippo.io/edwards25519 v1.1.0 // indirect + github.com/bytedance/sonic v1.14.0 // indirect + github.com/bytedance/sonic/loader v0.3.0 // indirect + github.com/cloudwego/base64x v0.1.6 // indirect + github.com/gabriel-vasile/mimetype v1.4.8 // indirect + github.com/gin-contrib/sse v1.1.0 // indirect + github.com/gin-gonic/gin v1.11.0 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.27.0 // indirect + github.com/go-sql-driver/mysql v1.8.1 // indirect + github.com/goccy/go-json v0.10.2 // indirect + github.com/goccy/go-yaml v1.18.0 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/cpuid/v2 v2.3.0 // indirect + github.com/leodido/go-urn v1.4.0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/quic-go/qpack v0.5.1 // indirect + github.com/quic-go/quic-go v0.54.0 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.3.0 // indirect + go.uber.org/mock v0.5.0 // indirect + golang.org/x/arch v0.20.0 // indirect + golang.org/x/crypto v0.40.0 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.42.0 // indirect + golang.org/x/sync v0.16.0 // indirect + golang.org/x/sys v0.35.0 // indirect + golang.org/x/text v0.27.0 // indirect + golang.org/x/tools v0.34.0 // indirect + google.golang.org/protobuf v1.36.9 // indirect + gorm.io/driver/mysql v1.6.0 // indirect + gorm.io/gorm v1.31.1 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..aa9418f --- /dev/null +++ b/go.sum @@ -0,0 +1,91 @@ +filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= +filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= +github.com/bytedance/sonic v1.14.0 h1:/OfKt8HFw0kh2rj8N0F6C/qPGRESq0BbaNZgcNXXzQQ= +github.com/bytedance/sonic v1.14.0/go.mod h1:WoEbx8WTcFJfzCe0hbmyTGrfjt8PzNEBdxlNUO24NhA= +github.com/bytedance/sonic/loader v0.3.0 h1:dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA= +github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= +github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M= +github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= +github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= +github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w= +github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= +github.com/gin-gonic/gin v1.11.0 h1:OW/6PLjyusp2PPXtyxKHU0RbX6I/l28FTdDlae5ueWk= +github.com/gin-gonic/gin v1.11.0/go.mod h1:+iq/FyxlGzII0KHiBGjuNn4UNENUlKbGlNmc+W50Dls= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4= +github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= +github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= +github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI= +github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg= +github.com/quic-go/quic-go v0.54.0 h1:6s1YB9QotYI6Ospeiguknbp2Znb/jZYjZLRXn9kMQBg= +github.com/quic-go/quic-go v0.54.0/go.mod h1:e68ZEaCdyviluZmy44P6Iey98v/Wfz6HCjQEm+l8zTY= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go/codec v1.3.0 h1:Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA= +github.com/ugorji/go/codec v1.3.0/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= +go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= +go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= +golang.org/x/arch v0.20.0 h1:dx1zTU0MAE98U+TQ8BLl7XsJbgze2WnNKF/8tGp/Q6c= +golang.org/x/arch v0.20.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= +golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= +golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= +golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= +golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= +google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw= +google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/mysql v1.6.0 h1:eNbLmNTpPpTOVZi8MMxCi2aaIm0ZpInbORNXDwyLGvg= +gorm.io/driver/mysql v1.6.0/go.mod h1:D/oCC2GWK3M/dqoLxnOlaNKmXz8WNTfcS9y5ovaSqKo= +gorm.io/gorm v1.31.1 h1:7CA8FTFz/gRfgqgpeKIBcervUn3xSyPUmr6B2WXJ7kg= +gorm.io/gorm v1.31.1/go.mod h1:XyQVbO2k6YkOis7C2437jSit3SsDK72s7n7rsSHd+Gs= diff --git a/internal/db/db.go b/internal/db/db.go new file mode 100644 index 0000000..523ee74 --- /dev/null +++ b/internal/db/db.go @@ -0,0 +1,48 @@ +package db + +import ( + "log" + "os" + "time" + + "gorm.io/driver/mysql" + "gorm.io/gorm" + "gorm.io/gorm/logger" +) + +// New mengembalikan *gorm.DB yang siap dipakai +func New() *gorm.DB { + // DSN bisa kamu override via env: DB_DSN + // format: user:pass@tcp(host:port)/dbname?charset=utf8mb4&parseTime=True&loc=Local + dsn := os.Getenv("DB_DSN") + if dsn == "" { + // default untuk development lokal + // sesuaikan user/pass/port dengan MariaDB kamu + dsn = "root:@tcp(127.0.0.1:3306)/idk?charset=utf8mb4&parseTime=True&loc=Local" + } + + cfg := &gorm.Config{ + Logger: logger.Default.LogMode(logger.Info), // bisa diganti Silent kalau mau adem + } + + db, err := gorm.Open(mysql.Open(dsn), cfg) + if err != nil { + log.Fatalf("failed to connect database: %v", err) + } + + // optional: tes koneksi sekali + sqlDB, err := db.DB() + if err != nil { + log.Fatalf("failed to get generic DB: %v", err) + } + sqlDB.SetMaxIdleConns(5) + sqlDB.SetMaxOpenConns(20) + sqlDB.SetConnMaxLifetime(30 * time.Minute) + + if err := sqlDB.Ping(); err != nil { + log.Fatalf("failed to ping database: %v", err) + } + + log.Println("database connected") + return db +} diff --git a/internal/mk/handlers.go b/internal/mk/handlers.go new file mode 100644 index 0000000..3647b9c --- /dev/null +++ b/internal/mk/handlers.go @@ -0,0 +1,274 @@ +package mk + +import ( + "net/http" + "strconv" + + "github.com/gin-gonic/gin" +) + +type Handler struct { + svc *Service +} + +func NewHandler(svc *Service) *Handler { + return &Handler{svc: svc} +} + +// Register semua route di sini +func (h *Handler) Register(r *gin.Engine) { + api := r.Group("/api") + + // CPL + api.POST("/cpl", h.createCPL) + api.GET("/cpl", h.listCPL) + api.GET("/cpl/:id", h.getCPL) + api.PUT("/cpl/:id", h.updateCPL) + api.DELETE("/cpl/:id", h.deleteCPL) + + // MK + api.POST("/mk", h.createMK) + api.GET("/mk", h.listMK) + api.GET("/mk/:id", h.getMK) + + // CPMK + api.POST("/cpmk", h.createCPMK) + api.GET("/cpmk", h.listCPMK) + + // Relasi CPL <-> MK + api.PUT("/mk/:id/assign-cpl", h.assignCPLToMK) + + // Relasi MK <-> CPMK + api.PUT("/mk/:id/assign-cpmk", h.assignCPMKToMK) +} + +// +// ========== CPL HANDLERS ========== +// + +type createCPLReq struct { + KodeCPL string `json:"kode_cpl" binding:"required"` + Deskripsi string `json:"deskripsi" binding:"required"` +} + +func (h *Handler) createCPL(c *gin.Context) { + var req createCPLReq + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + + cpl, err := h.svc.CreateCPL(c, req.KodeCPL, req.Deskripsi) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusCreated, cpl) +} + +func (h *Handler) listCPL(c *gin.Context) { + cpls, err := h.svc.ListCPL(c) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, cpls) +} + +func (h *Handler) getCPL(c *gin.Context) { + id, _ := strconv.ParseUint(c.Param("id"), 10, 64) + cpl, err := h.svc.GetCPL(c, id) + if err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, cpl) +} + +type updateCPLReq struct { + KodeCPL *string `json:"kode_cpl"` + Deskripsi *string `json:"deskripsi"` +} + +func (h *Handler) updateCPL(c *gin.Context) { + id, _ := strconv.ParseUint(c.Param("id"), 10, 64) + + var req updateCPLReq + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + + if err := h.svc.UpdateCPL(c, id, req.KodeCPL, req.Deskripsi); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + c.Status(http.StatusNoContent) +} + +func (h *Handler) deleteCPL(c *gin.Context) { + id, _ := strconv.ParseUint(c.Param("id"), 10, 64) + + if err := h.svc.DeleteCPL(c, id); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + c.Status(http.StatusNoContent) +} + +// +// ========== MK HANDLERS ========== +// + +type createMKReq struct { + KodeMK string `json:"kode_mk" binding:"required"` + NamaMK string `json:"nama_mk" binding:"required"` + SKS *uint8 `json:"sks"` + Semester *uint8 `json:"semester"` +} + +func (h *Handler) createMK(c *gin.Context) { + var req createMKReq + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + + mk, err := h.svc.CreateMK(c, req.KodeMK, req.NamaMK, req.SKS, req.Semester) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusCreated, mk) +} + +func (h *Handler) listMK(c *gin.Context) { + mks, err := h.svc.ListMK(c) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, mks) +} + +func (h *Handler) getMK(c *gin.Context) { + id, _ := strconv.ParseUint(c.Param("id"), 10, 64) + + mkDetail, err := h.svc.GetMKDetail(c, id) + if err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, mkDetail) +} + +// +// ========== CPMK HANDLERS ========== +// + +type createCPMKReq struct { + KodeCPMK string `json:"kode_cpmk" binding:"required"` + Deskripsi string `json:"deskripsi" binding:"required"` +} + +func (h *Handler) createCPMK(c *gin.Context) { + var req createCPMKReq + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + + cpmk, err := h.svc.CreateCPMK(c, CreateCPMKReq{ + KodeCPMK: req.KodeCPMK, + Deskripsi: req.Deskripsi, + }) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusCreated, cpmk) +} + +func (h *Handler) listCPMK(c *gin.Context) { + cpmks, err := h.svc.ListCPMK(c) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + c.JSON(http.StatusOK, cpmks) +} + +// +// ========== RELASI: CPL <-> MK ========== +// + +type assignCPLItem struct { + IDCPL uint64 `json:"id_cpl" binding:"required"` + Bobot *float64 `json:"bobot_pct"` // bisa null kalau belum diatur +} + +type assignCPLReq struct { + Items []assignCPLItem `json:"items" binding:"required"` +} + +func parseUintMust(s string) uint64 { + id, _ := strconv.ParseUint(s, 10, 64) + return id +} + +func (h *Handler) assignCPLToMK(c *gin.Context) { + idMK := parseUintMust(c.Param("id")) + + var req assignCPLReq + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + + in := AssignCPLToMKReq{ + IDMK: idMK, + } + for _, item := range req.Items { + it := item + in.Items = append(in.Items, struct { + IDCPL uint64 `json:"id_cpl"` + Bobot *float64 `json:"bobot_pct"` + }{ + IDCPL: it.IDCPL, + Bobot: it.Bobot, + }) + } + + if err := h.svc.AssignCPLToMK(c, in); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + c.Status(http.StatusNoContent) +} + +// +// ========== RELASI: MK <-> CPMK ========== +// + +type assignCPMKReq struct { + IDCPMKList []uint64 `json:"id_cpmk_list" binding:"required"` +} + +func (h *Handler) assignCPMKToMK(c *gin.Context) { + idMK := parseUintMust(c.Param("id")) + + var req assignCPMKReq + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + + if err := h.svc.AssignCPMKToMK(c, AssignCPMKToMKReq{ + IDMK: idMK, + IDCPMKs: req.IDCPMKList, + }); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + c.Status(http.StatusNoContent) +} diff --git a/internal/mk/models.go b/internal/mk/models.go new file mode 100644 index 0000000..3887ab5 --- /dev/null +++ b/internal/mk/models.go @@ -0,0 +1,57 @@ +package mk + +import "time" + +type CPL struct { + IDCPL uint64 `gorm:"column:id_cpl;primaryKey;autoIncrement" json:"id_cpl"` + KodeCPL string `gorm:"column:kode_cpl" json:"kode_cpl"` + Deskripsi string `gorm:"column:deskripsi" json:"deskripsi"` + CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` + UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` +} + +func (CPL) TableName() string { return "cpl" } + +type MK struct { + IDMK uint64 `gorm:"column:id_mk;primaryKey;autoIncrement" json:"id_mk"` + KodeMK string `gorm:"column:kode_mk" json:"kode_mk"` + NamaMK string `gorm:"column:nama_mk" json:"nama_mk"` + SKS *uint8 `gorm:"column:sks" json:"sks,omitempty"` + Semester *uint8 `gorm:"column:semester" json:"semester,omitempty"` + CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` + UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` +} + +func (MK) TableName() string { return "mk" } + +type CPLMK struct { + ID uint64 `gorm:"column:id_cpl_mk;primaryKey;autoIncrement" json:"id_cpl_mk"` + IDCPL uint64 `gorm:"column:id_cpl" json:"id_cpl"` + IDMK uint64 `gorm:"column:id_mk" json:"id_mk"` + Bobot *float64 `gorm:"column:bobot_pct" json:"bobot_pct,omitempty"` + CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` + UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` +} + +func (CPLMK) TableName() string { return "cpl_mk" } + +type CPMK struct { + IDCPMK uint64 `gorm:"column:id_cpmk;primaryKey;autoIncrement" json:"id_cpmk"` + KodeCPMK string `gorm:"column:kode_cpmk" json:"kode_cpmk"` + Deskripsi string `gorm:"column:deskripsi" json:"deskripsi"` + CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` + UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` +} + +func (CPMK) TableName() string { return "cpmk" } + +type MKCPMK struct { + ID uint64 `gorm:"column:id_mk_cpmk;primaryKey;autoIncrement" json:"id_mk_cpmk"` + IDMK uint64 `gorm:"column:id_mk" json:"id_mk"` + IDCPMK uint64 `gorm:"column:id_cpmk" json:"id_cpmk"` + Bobot *float64 `gorm:"column:bobot_pct" json:"bobot_pct,omitempty"` + CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` + UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` +} + +func (MKCPMK) TableName() string { return "mk_cpmk" } diff --git a/internal/mk/service.go b/internal/mk/service.go new file mode 100644 index 0000000..72d41c0 --- /dev/null +++ b/internal/mk/service.go @@ -0,0 +1,259 @@ +package mk + +import ( + "context" + "fmt" + + "gorm.io/gorm" +) + +type Service struct { + db *gorm.DB +} + +func NewService(db *gorm.DB) *Service { + return &Service{db: db} +} + +// Bagian CPMK +type CreateCPMKReq struct { + KodeCPMK string `json:"kode_cpmk"` + Deskripsi string `json:"deskripsi"` +} + +func (s *Service) CreateCPMK(ctx context.Context, req CreateCPMKReq) (*CPMK, error) { + // opsional: cek manual dulu + var count int64 + if err := s.db.WithContext(ctx). + Model(&CPMK{}). + Where("kode_cpmk = ?", req.KodeCPMK). + Count(&count).Error; err != nil { + return nil, err + } + if count > 0 { + return nil, fmt.Errorf("kode_cpmk sudah digunakan") + } + + c := CPMK{ + KodeCPMK: req.KodeCPMK, + Deskripsi: req.Deskripsi, + } + if err := s.db.WithContext(ctx).Create(&c).Error; err != nil { + return nil, err + } + return &c, nil +} + +type AssignCPMKToMKReq struct { + IDMK uint64 `json:"id_mk"` + IDCPMKs []uint64 `json:"id_cpmk_list"` + // bisa tambahkan bobot per CPMK kalau mau +} + +func (s *Service) AssignCPMKToMK(ctx context.Context, req AssignCPMKToMKReq) error { + if len(req.IDCPMKs) == 0 { + return fmt.Errorf("minimal 1 CPMK") + } + + return s.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error { + // hapus mapping lama untuk MK ini (kalau kamu mau mode replace) + if err := tx.Where("id_mk = ?", req.IDMK).Delete(&MKCPMK{}).Error; err != nil { + return err + } + + // insert mapping baru + var list []MKCPMK + for _, idCpmk := range req.IDCPMKs { + list = append(list, MKCPMK{ + IDMK: req.IDMK, + IDCPMK: idCpmk, + // Bobot bisa diisi manual atau dihitung otomatis nanti + }) + } + return tx.Create(&list).Error + }) +} + +type AssignCPLToMKReq struct { + IDMK uint64 `json:"id_mk"` + Items []struct { + IDCPL uint64 `json:"id_cpl"` + Bobot *float64 `json:"bobot_pct"` // opsional + } `json:"items"` +} + +func (s *Service) AssignCPLToMK(ctx context.Context, req AssignCPLToMKReq) error { + if len(req.Items) == 0 { + return fmt.Errorf("minimal 1 CPL") + } + + return s.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error { + if err := tx.Where("id_mk = ?", req.IDMK).Delete(&CPLMK{}).Error; err != nil { + return err + } + + var list []CPLMK + for _, item := range req.Items { + local := item + list = append(list, CPLMK{ + IDMK: req.IDMK, + IDCPL: local.IDCPL, + Bobot: local.Bobot, + }) + } + return tx.Create(&list).Error + }) +} + +//Crud CPL +// CPL + +func (s *Service) CreateCPL(ctx context.Context, kode, deskripsi string) (*CPL, error) { + // optional: cek unik kode_cpl + var cnt int64 + if err := s.db.WithContext(ctx).Model(&CPL{}). + Where("kode_cpl = ?", kode).Count(&cnt).Error; err != nil { + return nil, err + } + if cnt > 0 { + return nil, fmt.Errorf("kode_cpl sudah digunakan") + } + + cpl := CPL{ + KodeCPL: kode, + Deskripsi: deskripsi, + } + if err := s.db.WithContext(ctx).Create(&cpl).Error; err != nil { + return nil, err + } + return &cpl, nil +} + +func (s *Service) ListCPL(ctx context.Context) ([]CPL, error) { + var cpls []CPL + if err := s.db.WithContext(ctx).Order("kode_cpl").Find(&cpls).Error; err != nil { + return nil, err + } + return cpls, nil +} + +func (s *Service) GetCPL(ctx context.Context, id uint64) (*CPL, error) { + var cpl CPL + if err := s.db.WithContext(ctx).First(&cpl, "id_cpl = ?", id).Error; err != nil { + return nil, err + } + return &cpl, nil +} + +func (s *Service) UpdateCPL(ctx context.Context, id uint64, kode *string, deskripsi *string) error { + var cpl CPL + if err := s.db.WithContext(ctx).First(&cpl, "id_cpl = ?", id).Error; err != nil { + return err + } + if kode != nil { + cpl.KodeCPL = *kode + } + if deskripsi != nil { + cpl.Deskripsi = *deskripsi + } + return s.db.WithContext(ctx).Save(&cpl).Error +} + +func (s *Service) DeleteCPL(ctx context.Context, id uint64) error { + return s.db.WithContext(ctx).Delete(&CPL{}, "id_cpl = ?", id).Error +} + +//crud MK +// MK + +func (s *Service) CreateMK(ctx context.Context, kode, nama string, sks, semester *uint8) (*MK, error) { + var cnt int64 + if err := s.db.WithContext(ctx).Model(&MK{}). + Where("kode_mk = ?", kode).Count(&cnt).Error; err != nil { + return nil, err + } + if cnt > 0 { + return nil, fmt.Errorf("kode_mk sudah digunakan") + } + + mk := MK{ + KodeMK: kode, + NamaMK: nama, + SKS: sks, + Semester: semester, + } + if err := s.db.WithContext(ctx).Create(&mk).Error; err != nil { + return nil, err + } + return &mk, nil +} + +func (s *Service) ListMK(ctx context.Context) ([]MK, error) { + var mks []MK + if err := s.db.WithContext(ctx).Order("kode_mk").Find(&mks).Error; err != nil { + return nil, err + } + return mks, nil +} + +// detail MK + mapping CPL & CPMK +type MKDetail struct { + MK MK `json:"mk"` + CPLs []CPL `json:"cpls"` + CPMKs []CPMK `json:"cpmks"` +} + +func (s *Service) GetMKDetail(ctx context.Context, idMK uint64) (*MKDetail, error) { + var mk MK + if err := s.db.WithContext(ctx).First(&mk, "id_mk = ?", idMK).Error; err != nil { + return nil, err + } + + // ambil CPL terkait + var cplMK []CPLMK + if err := s.db.WithContext(ctx).Where("id_mk = ?", idMK).Find(&cplMK).Error; err != nil { + return nil, err + } + var cplIDs []uint64 + for _, cm := range cplMK { + cplIDs = append(cplIDs, cm.IDCPL) + } + + var cpls []CPL + if len(cplIDs) > 0 { + if err := s.db.WithContext(ctx).Where("id_cpl IN ?", cplIDs).Find(&cpls).Error; err != nil { + return nil, err + } + } + + // ambil CPMK terkait + var mkcpmk []MKCPMK + if err := s.db.WithContext(ctx).Where("id_mk = ?", idMK).Find(&mkcpmk).Error; err != nil { + return nil, err + } + var cpmkIDs []uint64 + for _, mc := range mkcpmk { + cpmkIDs = append(cpmkIDs, mc.IDCPMK) + } + var cpmks []CPMK + if len(cpmkIDs) > 0 { + if err := s.db.WithContext(ctx).Where("id_cpmk IN ?", cpmkIDs).Find(&cpmks).Error; err != nil { + return nil, err + } + } + + return &MKDetail{ + MK: mk, + CPLs: cpls, + CPMKs: cpmks, + }, nil +} + +// list +func (s *Service) ListCPMK(ctx context.Context) ([]CPMK, error) { + var items []CPMK + if err := s.db.WithContext(ctx).Order("kode_cpmk").Find(&items).Error; err != nil { + return nil, err + } + return items, nil +} From 8c0800f9bb7343d500801b91031b06bd28b093a2 Mon Sep 17 00:00:00 2001 From: C0x1n's <133627973+Nur-Hidayat-FTI22E@users.noreply.github.com> Date: Thu, 20 Nov 2025 04:20:44 +0800 Subject: [PATCH 02/36] Rename workflow from 'Go' to 'GO_CPL' --- .github/workflows/go.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/go.yml diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 0000000..d70ee70 --- /dev/null +++ b/.github/workflows/go.yml @@ -0,0 +1,28 @@ +# This workflow will build a golang project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go + +name: GO_CPL + +on: + push: + branches: [ "BE_branch" ] + pull_request: + branches: [ "BE_branch" ] + +jobs: + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.20' + + - name: Build + run: go build -v ./... + + - name: Test + run: go test -v ./... From 089633cc8ccd034b11d2a70a83c7cbef2cba1ac1 Mon Sep 17 00:00:00 2001 From: C0x1n's <133627973+Nur-Hidayat-FTI22E@users.noreply.github.com> Date: Thu, 20 Nov 2025 04:24:25 +0800 Subject: [PATCH 03/36] Delete .github/workflows directory --- .github/workflows/go.yml | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 .github/workflows/go.yml diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml deleted file mode 100644 index d70ee70..0000000 --- a/.github/workflows/go.yml +++ /dev/null @@ -1,28 +0,0 @@ -# This workflow will build a golang project -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go - -name: GO_CPL - -on: - push: - branches: [ "BE_branch" ] - pull_request: - branches: [ "BE_branch" ] - -jobs: - - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: '1.20' - - - name: Build - run: go build -v ./... - - - name: Test - run: go test -v ./... From 91b0b91117155655885fa5934879c1377da7cf12 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Thu, 20 Nov 2025 04:47:31 +0800 Subject: [PATCH 04/36] Baca aku pliseee --- readme.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..da029d4 --- /dev/null +++ b/readme.md @@ -0,0 +1,11 @@ +Definisi CPL (global) + ↓ +Definisi MK + ↓ +Mapping bobot CPL per MK (muatan CPL seperti tabel warna-warni) + ↓ +Mahasiswa → Nilai MK + ↓ +Perhitungan CPL mahasiswa + ↓ +IPK Berbasis CPL From 3ac24803b0d21d398706ad949bde7161a9d41cbc Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Thu, 20 Nov 2025 05:08:38 +0800 Subject: [PATCH 05/36] baca aku --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index da029d4..55fd33a 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,4 @@ -Definisi CPL (global) +Definisi CPL (global)
↓ Definisi MK ↓ From 3425e47f22944041301ac1f08321c231388d8fdb Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Thu, 20 Nov 2025 05:09:51 +0800 Subject: [PATCH 06/36] baca aku --- readme.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/readme.md b/readme.md index 55fd33a..91af822 100644 --- a/readme.md +++ b/readme.md @@ -1,11 +1,11 @@ Definisi CPL (global)
- ↓ -Definisi MK - ↓ -Mapping bobot CPL per MK (muatan CPL seperti tabel warna-warni) - ↓ -Mahasiswa → Nilai MK - ↓ -Perhitungan CPL mahasiswa - ↓ -IPK Berbasis CPL + ↓
+Definisi MK
+ ↓
+Mapping bobot CPL per MK (muatan CPL seperti tabel warna-warni)
+ ↓
+Mahasiswa → Nilai MK
+ ↓
+Perhitungan CPL mahasiswa
+ ↓
+IPK Berbasis CPL
From bb9698e21a98d2af3f57cb459a3c03adfff74a54 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Thu, 27 Nov 2025 03:40:16 +0800 Subject: [PATCH 07/36] New --- cmd/api/main.go | 25 +-- go.mod | 22 ++- go.sum | 27 ++++ internal/config/config.go | 22 +++ internal/db/db.go | 39 +---- internal/http/handler_health.go | 11 ++ internal/http/handler_master.go | 82 ++++++++++ internal/http/handler_nilai.go | 224 ++++++++++++++++++++++++++ internal/http/router.go | 25 +++ internal/http/service_cpl.go | 88 ++++++++++ internal/mk/handlers.go | 274 -------------------------------- internal/mk/models.go | 57 ------- internal/mk/service.go | 259 ------------------------------ internal/model/cpl.go | 10 ++ internal/model/cpl_mk.go | 11 ++ internal/model/cpmk.go | 11 ++ internal/model/mahasiswa.go | 12 ++ internal/model/mk.go | 12 ++ internal/model/nilai_cpl.go | 14 ++ internal/model/nilai_mk.go | 14 ++ internal/model/prodi.go | 10 ++ note | 1 + 22 files changed, 601 insertions(+), 649 deletions(-) create mode 100644 internal/config/config.go create mode 100644 internal/http/handler_health.go create mode 100644 internal/http/handler_master.go create mode 100644 internal/http/handler_nilai.go create mode 100644 internal/http/router.go create mode 100644 internal/http/service_cpl.go delete mode 100644 internal/mk/handlers.go delete mode 100644 internal/mk/models.go delete mode 100644 internal/mk/service.go create mode 100644 internal/model/cpl.go create mode 100644 internal/model/cpl_mk.go create mode 100644 internal/model/cpmk.go create mode 100644 internal/model/mahasiswa.go create mode 100644 internal/model/mk.go create mode 100644 internal/model/nilai_cpl.go create mode 100644 internal/model/nilai_mk.go create mode 100644 internal/model/prodi.go create mode 100644 note diff --git a/cmd/api/main.go b/cmd/api/main.go index a296bf4..353a0fe 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -2,30 +2,21 @@ package main import ( "log" - "os" + "cpmk/internal/config" "cpmk/internal/db" - "cpmk/internal/mk" - - "github.com/gin-gonic/gin" + httphandler "cpmk/internal/http" ) func main() { - database := db.New() - - svc := mk.NewService(database) - handler := mk.NewHandler(svc) + cfg := config.Load() - r := gin.Default() - handler.Register(r) + db.MustConnect(cfg.DBDSN) - port := os.Getenv("PORT") - if port == "" { - port = "8080" - } + r := httphandler.NewRouter() - log.Println("listening on :" + port) - if err := r.Run(":" + port); err != nil { - log.Fatal(err) + log.Printf("listening on :%s ...", cfg.Port) + if err := r.Run(":" + cfg.Port); err != nil { + log.Fatalf("server error: %v", err) } } diff --git a/go.mod b/go.mod index dd3defc..888ed13 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module cpmk -go 1.23.0 +go 1.24.0 toolchain go1.24.10 @@ -29,17 +29,23 @@ require ( github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/quic-go/qpack v0.5.1 // indirect github.com/quic-go/quic-go v0.54.0 // indirect + github.com/richardlehane/mscfb v1.0.4 // indirect + github.com/richardlehane/msoleps v1.0.4 // indirect + github.com/tiendc/go-deepcopy v1.7.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.3.0 // indirect + github.com/xuri/efp v0.0.1 // indirect + github.com/xuri/excelize/v2 v2.10.0 // indirect + github.com/xuri/nfp v0.0.2-0.20250530014748-2ddeb826f9a9 // indirect go.uber.org/mock v0.5.0 // indirect golang.org/x/arch v0.20.0 // indirect - golang.org/x/crypto v0.40.0 // indirect - golang.org/x/mod v0.25.0 // indirect - golang.org/x/net v0.42.0 // indirect - golang.org/x/sync v0.16.0 // indirect - golang.org/x/sys v0.35.0 // indirect - golang.org/x/text v0.27.0 // indirect - golang.org/x/tools v0.34.0 // indirect + golang.org/x/crypto v0.43.0 // indirect + golang.org/x/mod v0.28.0 // indirect + golang.org/x/net v0.46.0 // indirect + golang.org/x/sync v0.17.0 // indirect + golang.org/x/sys v0.37.0 // indirect + golang.org/x/text v0.30.0 // indirect + golang.org/x/tools v0.37.0 // indirect google.golang.org/protobuf v1.36.9 // indirect gorm.io/driver/mysql v1.6.0 // indirect gorm.io/gorm v1.31.1 // indirect diff --git a/go.sum b/go.sum index aa9418f..2600de8 100644 --- a/go.sum +++ b/go.sum @@ -50,6 +50,11 @@ github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI= github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg= github.com/quic-go/quic-go v0.54.0 h1:6s1YB9QotYI6Ospeiguknbp2Znb/jZYjZLRXn9kMQBg= github.com/quic-go/quic-go v0.54.0/go.mod h1:e68ZEaCdyviluZmy44P6Iey98v/Wfz6HCjQEm+l8zTY= +github.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM= +github.com/richardlehane/mscfb v1.0.4/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7gK3DypaEsUk= +github.com/richardlehane/msoleps v1.0.1/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg= +github.com/richardlehane/msoleps v1.0.4 h1:WuESlvhX3gH2IHcd8UqyCuFY5yiq/GR/yqaSM/9/g00= +github.com/richardlehane/msoleps v1.0.4/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -57,29 +62,51 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/tiendc/go-deepcopy v1.7.1 h1:LnubftI6nYaaMOcaz0LphzwraqN8jiWTwm416sitff4= +github.com/tiendc/go-deepcopy v1.7.1/go.mod h1:4bKjNC2r7boYOkD2IOuZpYjmlDdzjbpTRyCx+goBCJQ= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go/codec v1.3.0 h1:Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA= github.com/ugorji/go/codec v1.3.0/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= +github.com/xuri/efp v0.0.1 h1:fws5Rv3myXyYni8uwj2qKjVaRP30PdjeYe2Y6FDsCL8= +github.com/xuri/efp v0.0.1/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI= +github.com/xuri/excelize/v2 v2.10.0 h1:8aKsP7JD39iKLc6dH5Tw3dgV3sPRh8uRVXu/fMstfW4= +github.com/xuri/excelize/v2 v2.10.0/go.mod h1:SC5TzhQkaOsTWpANfm+7bJCldzcnU/jrhqkTi/iBHBU= +github.com/xuri/nfp v0.0.2-0.20250530014748-2ddeb826f9a9 h1:+C0TIdyyYmzadGaL/HBLbf3WdLgC29pgyhTjAT/0nuE= +github.com/xuri/nfp v0.0.2-0.20250530014748-2ddeb826f9a9/go.mod h1:WwHg+CVyzlv/TX9xqBFXEZAuxOPxn2k1GNHwG41IIUQ= go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= golang.org/x/arch v0.20.0 h1:dx1zTU0MAE98U+TQ8BLl7XsJbgze2WnNKF/8tGp/Q6c= golang.org/x/arch v0.20.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04= +golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0= golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.28.0 h1:gQBtGhjxykdjY9YhZpSlZIsbnaE2+PgjfLWUQTnoZ1U= +golang.org/x/mod v0.28.0/go.mod h1:yfB/L0NOf/kmEbXjzCPOx1iK1fRutOydrCMsqRhEBxI= golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= +golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4= +golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ= +golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k= +golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= +golang.org/x/tools v0.37.0 h1:DVSRzp7FwePZW356yEAChSdNcQo6Nsp+fex1SUW09lE= +golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw= google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internal/config/config.go b/internal/config/config.go new file mode 100644 index 0000000..b874320 --- /dev/null +++ b/internal/config/config.go @@ -0,0 +1,22 @@ +package config + +import "os" + +type Config struct { + DBDSN string + Port string +} + +func Load() *Config { + return &Config{ + DBDSN: env("DB_DSN", "root:@tcp(127.0.0.1:3306)/cpl_unismuh?parseTime=true"), + Port: env("PORT", "8080"), + } +} + +func env(key, def string) string { + if v := os.Getenv(key); v != "" { + return v + } + return def +} diff --git a/internal/db/db.go b/internal/db/db.go index 523ee74..8d53cef 100644 --- a/internal/db/db.go +++ b/internal/db/db.go @@ -2,47 +2,18 @@ package db import ( "log" - "os" - "time" "gorm.io/driver/mysql" "gorm.io/gorm" - "gorm.io/gorm/logger" ) -// New mengembalikan *gorm.DB yang siap dipakai -func New() *gorm.DB { - // DSN bisa kamu override via env: DB_DSN - // format: user:pass@tcp(host:port)/dbname?charset=utf8mb4&parseTime=True&loc=Local - dsn := os.Getenv("DB_DSN") - if dsn == "" { - // default untuk development lokal - // sesuaikan user/pass/port dengan MariaDB kamu - dsn = "root:@tcp(127.0.0.1:3306)/idk?charset=utf8mb4&parseTime=True&loc=Local" - } - - cfg := &gorm.Config{ - Logger: logger.Default.LogMode(logger.Info), // bisa diganti Silent kalau mau adem - } +var DB *gorm.DB - db, err := gorm.Open(mysql.Open(dsn), cfg) +func MustConnect(dsn string) *gorm.DB { + db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { - log.Fatalf("failed to connect database: %v", err) + log.Fatalf("failed to connect DB: %v", err) } - - // optional: tes koneksi sekali - sqlDB, err := db.DB() - if err != nil { - log.Fatalf("failed to get generic DB: %v", err) - } - sqlDB.SetMaxIdleConns(5) - sqlDB.SetMaxOpenConns(20) - sqlDB.SetConnMaxLifetime(30 * time.Minute) - - if err := sqlDB.Ping(); err != nil { - log.Fatalf("failed to ping database: %v", err) - } - - log.Println("database connected") + DB = db return db } diff --git a/internal/http/handler_health.go b/internal/http/handler_health.go new file mode 100644 index 0000000..80fa5a3 --- /dev/null +++ b/internal/http/handler_health.go @@ -0,0 +1,11 @@ +package http + +import ( + "net/http" + + "github.com/gin-gonic/gin" +) + +func healthHandler(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{"status": "ok"}) +} diff --git a/internal/http/handler_master.go b/internal/http/handler_master.go new file mode 100644 index 0000000..a9e5ced --- /dev/null +++ b/internal/http/handler_master.go @@ -0,0 +1,82 @@ +package http + +import ( + "net/http" + "strconv" + + "cpmk/internal/db" + "cpmk/internal/model" + + "github.com/gin-gonic/gin" +) + +// GET /api/prodi +func listProdiHandler(c *gin.Context) { + var prodis []model.Prodi + if err := db.DB.Find(&prodis).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) + return + } + c.JSON(http.StatusOK, prodis) +} + +// GET /api/prodi/:id_prodi/cpl +func listCPLByProdiHandler(c *gin.Context) { + idStr := c.Param("id_prodi") + id, err := strconv.ParseUint(idStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) + return + } + + var cpls []model.CPL + if err := db.DB.Where("id_prodi = ?", id).Find(&cpls).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) + return + } + c.JSON(http.StatusOK, cpls) +} + +// GET /api/prodi/:id_prodi/mk?semester=1 +func listMKByProdiSemesterHandler(c *gin.Context) { + idStr := c.Param("id_prodi") + id, err := strconv.ParseUint(idStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) + return + } + semStr := c.Query("semester") + var mkList []model.MK + + q := db.DB.Where("id_prodi = ?", id) + if semStr != "" { + sem, err := strconv.ParseUint(semStr, 10, 8) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid semester"}) + return + } + q = q.Where("semester = ?", sem) + } + if err := q.Find(&mkList).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) + return + } + c.JSON(http.StatusOK, mkList) +} + +// GET /api/mk/:id_mk/cpmk +func listCPMKByMKHandler(c *gin.Context) { + idStr := c.Param("id_mk") + id, err := strconv.ParseUint(idStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_mk"}) + return + } + + var list []model.CPMK + if err := db.DB.Where("id_mk = ?", id).Find(&list).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) + return + } + c.JSON(http.StatusOK, list) +} diff --git a/internal/http/handler_nilai.go b/internal/http/handler_nilai.go new file mode 100644 index 0000000..100329e --- /dev/null +++ b/internal/http/handler_nilai.go @@ -0,0 +1,224 @@ +package http + +import ( + "net/http" + "strconv" + + "cpmk/internal/db" + "cpmk/internal/model" + + "github.com/gin-gonic/gin" + "github.com/xuri/excelize/v2" + "gorm.io/gorm" +) + +// FORMAT XLSX (sederhana): +// Sheet1, mulai baris 2: +// A: NIM +// B: Nama +// C: Angkatan +// D: Kode MK +// E: Semester tempuh (angka) +// F: Tahun ajaran (string, mis "2024/2025") +// G: Nilai angka (float) +// +// Admin upload per prodi & per semester. + +type importResponse struct { + ImportedMahasiswa int `json:"imported_mahasiswa"` + ImportedNilaiMK int `json:"imported_nilai_mk"` +} + +// POST /api/nilai-mk/import-xlsx +func importNilaiMahasiswaXLSXHandler(c *gin.Context) { + file, err := c.FormFile("file") + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "file is required"}) + return + } + + fh, err := file.Open() + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "cannot open file"}) + return + } + defer fh.Close() + + f, err := excelize.OpenReader(fh) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid xlsx"}) + return + } + defer f.Close() + + rows, err := f.GetRows("Sheet1") + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "cannot read Sheet1"}) + return + } + + importedMhs := 0 + importedNilai := 0 + + err = db.DB.Transaction(func(tx *gorm.DB) error { + mhsCache := map[string]model.Mahasiswa{} + mkCache := map[string]model.MK{} + + for i, row := range rows { + if i == 0 { + // header + continue + } + if len(row) < 7 { + continue + } + nim := row[0] + nama := row[1] + angkatanStr := row[2] + kodeMK := row[3] + semStr := row[4] + tahunAjaran := row[5] + nilaiStr := row[6] + + if nim == "" || kodeMK == "" { + continue + } + + // angkatan + angkatan, _ := strconv.Atoi(angkatanStr) + semInt, _ := strconv.Atoi(semStr) + semester := uint8(semInt) + nilai, _ := strconv.ParseFloat(nilaiStr, 64) + + // mahasiswa (cari / buat) + mhs, ok := mhsCache[nim] + if !ok { + if err := tx.Where("nim = ?", nim).First(&mhs).Error; err != nil { + // buat baru, tapi perlu id_prodi - sementara: 1 (hardcode dulu, nanti disesuaikan) + mhs = model.Mahasiswa{ + IDProdi: 1, + NIM: nim, + Nama: nama, + Angkatan: angkatan, + Status: "aktif", + } + if err := tx.Create(&mhs).Error; err != nil { + return err + } + importedMhs++ + } + mhsCache[nim] = mhs + } + + // mk (cari by kode_mk) + mk, ok2 := mkCache[kodeMK] + if !ok2 { + if err := tx.Where("kode_mk = ?", kodeMK).First(&mk).Error; err != nil { + // kalau MK tidak ketemu, skip baris + continue + } + mkCache[kodeMK] = mk + } + + // upsert nilai_mk + var existing model.NilaiMK + err := tx.Where("id_mhs = ? AND id_mk = ? AND semester_tempuh = ?", + mhs.IDMhs, mk.IDMK, semester).First(&existing).Error + + if err != nil { + nm := model.NilaiMK{ + IDMhs: mhs.IDMhs, + IDMK: mk.IDMK, + SemesterTempuh: semester, + TahunAjaran: tahunAjaran, + NilaiAngka: nilai, + Sumber: "import_xlsx", + } + if err := tx.Create(&nm).Error; err != nil { + return err + } + } else { + existing.NilaiAngka = nilai + existing.TahunAjaran = tahunAjaran + existing.Sumber = "import_xlsx" + if err := tx.Save(&existing).Error; err != nil { + return err + } + } + importedNilai++ + + // Hitung CPL untuk mhs ini & semester ini + if err := HitungCPLMahasiswa(mhs.IDMhs, semester); err != nil { + return err + } + } + + return nil + }) + + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + return + } + + c.JSON(http.StatusOK, importResponse{ + ImportedMahasiswa: importedMhs, + ImportedNilaiMK: importedNilai, + }) +} + +// GET /api/mahasiswa/:nim/cpl?semester=1 +func getCPLByMahasiswaHandler(c *gin.Context) { + nim := c.Param("nim") + semStr := c.Query("semester") + if semStr == "" { + c.JSON(http.StatusBadRequest, gin.H{"error": "semester is required"}) + return + } + semInt, err := strconv.Atoi(semStr) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid semester"}) + return + } + semester := uint8(semInt) + + // cari mahasiswa + var mhs model.Mahasiswa + if err := db.DB.Where("nim = ?", nim).First(&mhs).Error; err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa not found"}) + return + } + + // ambil nilai_cpl + var list []model.NilaiCPL + if err := db.DB.Where("id_mhs = ? AND semester_eval = ?", mhs.IDMhs, semester). + Find(&list).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) + return + } + + // join manual ke tabel cpl buat dapetin kode_cpl + type CPLItem struct { + KodeCPL string `json:"kode_cpl"` + NilaiAngka float64 `json:"nilai_angka"` + } + var result []CPLItem + + for _, n := range list { + var cpl model.CPL + if err := db.DB.First(&cpl, n.IDCPL).Error; err != nil { + continue + } + result = append(result, CPLItem{ + KodeCPL: cpl.KodeCPL, + NilaiAngka: n.NilaiAngka, + }) + } + + c.JSON(http.StatusOK, gin.H{ + "nim": mhs.NIM, + "nama": mhs.Nama, + "cpl": result, + "semester": semester, + }) +} diff --git a/internal/http/router.go b/internal/http/router.go new file mode 100644 index 0000000..f250e7a --- /dev/null +++ b/internal/http/router.go @@ -0,0 +1,25 @@ +package http + +import ( + "github.com/gin-gonic/gin" +) + +func NewRouter() *gin.Engine { + r := gin.Default() + + // health + r.GET("/health", healthHandler) + + api := r.Group("/api") + { + api.GET("/prodi", listProdiHandler) + api.GET("/prodi/:id_prodi/cpl", listCPLByProdiHandler) + api.GET("/prodi/:id_prodi/mk", listMKByProdiSemesterHandler) + api.GET("/mk/:id_mk/cpmk", listCPMKByMKHandler) + + api.POST("/nilai-mk/import-xlsx", importNilaiMahasiswaXLSXHandler) + api.GET("/mahasiswa/:nim/cpl", getCPLByMahasiswaHandler) + } + + return r +} diff --git a/internal/http/service_cpl.go b/internal/http/service_cpl.go new file mode 100644 index 0000000..46d8719 --- /dev/null +++ b/internal/http/service_cpl.go @@ -0,0 +1,88 @@ +package http + +import ( + "time" + + "cpmk/internal/db" + "cpmk/internal/model" +) + +func HitungCPLMahasiswa(idMhs uint64, semesterEval uint8) error { + // 1. ambil semua nilai MK mahasiswa di semester ini + var nilaiMK []model.NilaiMK + if err := db.DB.Where("id_mhs = ? AND semester_tempuh = ?", idMhs, semesterEval). + Find(&nilaiMK).Error; err != nil { + return err + } + if len(nilaiMK) == 0 { + return nil + } + + // map id_mk -> nilai + nilaiByMK := map[uint64]float64{} + var mkIDs []uint64 + for _, n := range nilaiMK { + nilaiByMK[n.IDMK] = n.NilaiAngka + mkIDs = append(mkIDs, n.IDMK) + } + + // 2. ambil bobot cpl_mk untuk mk2 tsb + var rels []model.CPLMK + if err := db.DB.Where("id_mk IN ?", mkIDs).Find(&rels).Error; err != nil { + return err + } + + // agregasi per CPL + type agg struct { + Total float64 + } + aggByCPL := map[uint64]*agg{} + + for _, r := range rels { + nMk, ok := nilaiByMK[r.IDMK] + if !ok { + continue + } + a := aggByCPL[r.IDCPL] + if a == nil { + a = &agg{} + aggByCPL[r.IDCPL] = a + } + a.Total += nMk * r.BobotFraction + } + + // 3. simpan ke nilai_cpl (upsert) + for idCpl, a := range aggByCPL { + var existing model.NilaiCPL + err := db.DB.Where("id_mhs = ? AND id_cpl = ? AND semester_eval = ?", + idMhs, idCpl, semesterEval).First(&existing).Error + + if err != nil { + // gorm.ErrRecordNotFound or others + // kita cek pakai RowsAffected di Upsert manual + n := model.NilaiCPL{ + IDMhs: idMhs, + IDCPL: idCpl, + SemesterEval: semesterEval, + NilaiAngka: a.Total, + TanggalHitung: time.Now(), + } + if db.DB.Where("id_mhs = ? AND id_cpl = ? AND semester_eval = ?", + idMhs, idCpl, semesterEval). + Assign(map[string]interface{}{ + "nilai_angka": n.NilaiAngka, + "tanggal_hitung": n.TanggalHitung, + }).FirstOrCreate(&n).Error != nil { + return err + } + } else { + existing.NilaiAngka = a.Total + existing.TanggalHitung = time.Now() + if err := db.DB.Save(&existing).Error; err != nil { + return err + } + } + } + + return nil +} diff --git a/internal/mk/handlers.go b/internal/mk/handlers.go deleted file mode 100644 index 3647b9c..0000000 --- a/internal/mk/handlers.go +++ /dev/null @@ -1,274 +0,0 @@ -package mk - -import ( - "net/http" - "strconv" - - "github.com/gin-gonic/gin" -) - -type Handler struct { - svc *Service -} - -func NewHandler(svc *Service) *Handler { - return &Handler{svc: svc} -} - -// Register semua route di sini -func (h *Handler) Register(r *gin.Engine) { - api := r.Group("/api") - - // CPL - api.POST("/cpl", h.createCPL) - api.GET("/cpl", h.listCPL) - api.GET("/cpl/:id", h.getCPL) - api.PUT("/cpl/:id", h.updateCPL) - api.DELETE("/cpl/:id", h.deleteCPL) - - // MK - api.POST("/mk", h.createMK) - api.GET("/mk", h.listMK) - api.GET("/mk/:id", h.getMK) - - // CPMK - api.POST("/cpmk", h.createCPMK) - api.GET("/cpmk", h.listCPMK) - - // Relasi CPL <-> MK - api.PUT("/mk/:id/assign-cpl", h.assignCPLToMK) - - // Relasi MK <-> CPMK - api.PUT("/mk/:id/assign-cpmk", h.assignCPMKToMK) -} - -// -// ========== CPL HANDLERS ========== -// - -type createCPLReq struct { - KodeCPL string `json:"kode_cpl" binding:"required"` - Deskripsi string `json:"deskripsi" binding:"required"` -} - -func (h *Handler) createCPL(c *gin.Context) { - var req createCPLReq - if err := c.ShouldBindJSON(&req); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - - cpl, err := h.svc.CreateCPL(c, req.KodeCPL, req.Deskripsi) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - c.JSON(http.StatusCreated, cpl) -} - -func (h *Handler) listCPL(c *gin.Context) { - cpls, err := h.svc.ListCPL(c) - if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) - return - } - c.JSON(http.StatusOK, cpls) -} - -func (h *Handler) getCPL(c *gin.Context) { - id, _ := strconv.ParseUint(c.Param("id"), 10, 64) - cpl, err := h.svc.GetCPL(c, id) - if err != nil { - c.JSON(http.StatusNotFound, gin.H{"error": err.Error()}) - return - } - c.JSON(http.StatusOK, cpl) -} - -type updateCPLReq struct { - KodeCPL *string `json:"kode_cpl"` - Deskripsi *string `json:"deskripsi"` -} - -func (h *Handler) updateCPL(c *gin.Context) { - id, _ := strconv.ParseUint(c.Param("id"), 10, 64) - - var req updateCPLReq - if err := c.ShouldBindJSON(&req); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - - if err := h.svc.UpdateCPL(c, id, req.KodeCPL, req.Deskripsi); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - c.Status(http.StatusNoContent) -} - -func (h *Handler) deleteCPL(c *gin.Context) { - id, _ := strconv.ParseUint(c.Param("id"), 10, 64) - - if err := h.svc.DeleteCPL(c, id); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - c.Status(http.StatusNoContent) -} - -// -// ========== MK HANDLERS ========== -// - -type createMKReq struct { - KodeMK string `json:"kode_mk" binding:"required"` - NamaMK string `json:"nama_mk" binding:"required"` - SKS *uint8 `json:"sks"` - Semester *uint8 `json:"semester"` -} - -func (h *Handler) createMK(c *gin.Context) { - var req createMKReq - if err := c.ShouldBindJSON(&req); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - - mk, err := h.svc.CreateMK(c, req.KodeMK, req.NamaMK, req.SKS, req.Semester) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - c.JSON(http.StatusCreated, mk) -} - -func (h *Handler) listMK(c *gin.Context) { - mks, err := h.svc.ListMK(c) - if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) - return - } - c.JSON(http.StatusOK, mks) -} - -func (h *Handler) getMK(c *gin.Context) { - id, _ := strconv.ParseUint(c.Param("id"), 10, 64) - - mkDetail, err := h.svc.GetMKDetail(c, id) - if err != nil { - c.JSON(http.StatusNotFound, gin.H{"error": err.Error()}) - return - } - c.JSON(http.StatusOK, mkDetail) -} - -// -// ========== CPMK HANDLERS ========== -// - -type createCPMKReq struct { - KodeCPMK string `json:"kode_cpmk" binding:"required"` - Deskripsi string `json:"deskripsi" binding:"required"` -} - -func (h *Handler) createCPMK(c *gin.Context) { - var req createCPMKReq - if err := c.ShouldBindJSON(&req); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - - cpmk, err := h.svc.CreateCPMK(c, CreateCPMKReq{ - KodeCPMK: req.KodeCPMK, - Deskripsi: req.Deskripsi, - }) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - c.JSON(http.StatusCreated, cpmk) -} - -func (h *Handler) listCPMK(c *gin.Context) { - cpmks, err := h.svc.ListCPMK(c) - if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) - return - } - c.JSON(http.StatusOK, cpmks) -} - -// -// ========== RELASI: CPL <-> MK ========== -// - -type assignCPLItem struct { - IDCPL uint64 `json:"id_cpl" binding:"required"` - Bobot *float64 `json:"bobot_pct"` // bisa null kalau belum diatur -} - -type assignCPLReq struct { - Items []assignCPLItem `json:"items" binding:"required"` -} - -func parseUintMust(s string) uint64 { - id, _ := strconv.ParseUint(s, 10, 64) - return id -} - -func (h *Handler) assignCPLToMK(c *gin.Context) { - idMK := parseUintMust(c.Param("id")) - - var req assignCPLReq - if err := c.ShouldBindJSON(&req); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - - in := AssignCPLToMKReq{ - IDMK: idMK, - } - for _, item := range req.Items { - it := item - in.Items = append(in.Items, struct { - IDCPL uint64 `json:"id_cpl"` - Bobot *float64 `json:"bobot_pct"` - }{ - IDCPL: it.IDCPL, - Bobot: it.Bobot, - }) - } - - if err := h.svc.AssignCPLToMK(c, in); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - c.Status(http.StatusNoContent) -} - -// -// ========== RELASI: MK <-> CPMK ========== -// - -type assignCPMKReq struct { - IDCPMKList []uint64 `json:"id_cpmk_list" binding:"required"` -} - -func (h *Handler) assignCPMKToMK(c *gin.Context) { - idMK := parseUintMust(c.Param("id")) - - var req assignCPMKReq - if err := c.ShouldBindJSON(&req); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - - if err := h.svc.AssignCPMKToMK(c, AssignCPMKToMKReq{ - IDMK: idMK, - IDCPMKs: req.IDCPMKList, - }); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - c.Status(http.StatusNoContent) -} diff --git a/internal/mk/models.go b/internal/mk/models.go deleted file mode 100644 index 3887ab5..0000000 --- a/internal/mk/models.go +++ /dev/null @@ -1,57 +0,0 @@ -package mk - -import "time" - -type CPL struct { - IDCPL uint64 `gorm:"column:id_cpl;primaryKey;autoIncrement" json:"id_cpl"` - KodeCPL string `gorm:"column:kode_cpl" json:"kode_cpl"` - Deskripsi string `gorm:"column:deskripsi" json:"deskripsi"` - CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` - UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` -} - -func (CPL) TableName() string { return "cpl" } - -type MK struct { - IDMK uint64 `gorm:"column:id_mk;primaryKey;autoIncrement" json:"id_mk"` - KodeMK string `gorm:"column:kode_mk" json:"kode_mk"` - NamaMK string `gorm:"column:nama_mk" json:"nama_mk"` - SKS *uint8 `gorm:"column:sks" json:"sks,omitempty"` - Semester *uint8 `gorm:"column:semester" json:"semester,omitempty"` - CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` - UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` -} - -func (MK) TableName() string { return "mk" } - -type CPLMK struct { - ID uint64 `gorm:"column:id_cpl_mk;primaryKey;autoIncrement" json:"id_cpl_mk"` - IDCPL uint64 `gorm:"column:id_cpl" json:"id_cpl"` - IDMK uint64 `gorm:"column:id_mk" json:"id_mk"` - Bobot *float64 `gorm:"column:bobot_pct" json:"bobot_pct,omitempty"` - CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` - UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` -} - -func (CPLMK) TableName() string { return "cpl_mk" } - -type CPMK struct { - IDCPMK uint64 `gorm:"column:id_cpmk;primaryKey;autoIncrement" json:"id_cpmk"` - KodeCPMK string `gorm:"column:kode_cpmk" json:"kode_cpmk"` - Deskripsi string `gorm:"column:deskripsi" json:"deskripsi"` - CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` - UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` -} - -func (CPMK) TableName() string { return "cpmk" } - -type MKCPMK struct { - ID uint64 `gorm:"column:id_mk_cpmk;primaryKey;autoIncrement" json:"id_mk_cpmk"` - IDMK uint64 `gorm:"column:id_mk" json:"id_mk"` - IDCPMK uint64 `gorm:"column:id_cpmk" json:"id_cpmk"` - Bobot *float64 `gorm:"column:bobot_pct" json:"bobot_pct,omitempty"` - CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` - UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` -} - -func (MKCPMK) TableName() string { return "mk_cpmk" } diff --git a/internal/mk/service.go b/internal/mk/service.go deleted file mode 100644 index 72d41c0..0000000 --- a/internal/mk/service.go +++ /dev/null @@ -1,259 +0,0 @@ -package mk - -import ( - "context" - "fmt" - - "gorm.io/gorm" -) - -type Service struct { - db *gorm.DB -} - -func NewService(db *gorm.DB) *Service { - return &Service{db: db} -} - -// Bagian CPMK -type CreateCPMKReq struct { - KodeCPMK string `json:"kode_cpmk"` - Deskripsi string `json:"deskripsi"` -} - -func (s *Service) CreateCPMK(ctx context.Context, req CreateCPMKReq) (*CPMK, error) { - // opsional: cek manual dulu - var count int64 - if err := s.db.WithContext(ctx). - Model(&CPMK{}). - Where("kode_cpmk = ?", req.KodeCPMK). - Count(&count).Error; err != nil { - return nil, err - } - if count > 0 { - return nil, fmt.Errorf("kode_cpmk sudah digunakan") - } - - c := CPMK{ - KodeCPMK: req.KodeCPMK, - Deskripsi: req.Deskripsi, - } - if err := s.db.WithContext(ctx).Create(&c).Error; err != nil { - return nil, err - } - return &c, nil -} - -type AssignCPMKToMKReq struct { - IDMK uint64 `json:"id_mk"` - IDCPMKs []uint64 `json:"id_cpmk_list"` - // bisa tambahkan bobot per CPMK kalau mau -} - -func (s *Service) AssignCPMKToMK(ctx context.Context, req AssignCPMKToMKReq) error { - if len(req.IDCPMKs) == 0 { - return fmt.Errorf("minimal 1 CPMK") - } - - return s.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error { - // hapus mapping lama untuk MK ini (kalau kamu mau mode replace) - if err := tx.Where("id_mk = ?", req.IDMK).Delete(&MKCPMK{}).Error; err != nil { - return err - } - - // insert mapping baru - var list []MKCPMK - for _, idCpmk := range req.IDCPMKs { - list = append(list, MKCPMK{ - IDMK: req.IDMK, - IDCPMK: idCpmk, - // Bobot bisa diisi manual atau dihitung otomatis nanti - }) - } - return tx.Create(&list).Error - }) -} - -type AssignCPLToMKReq struct { - IDMK uint64 `json:"id_mk"` - Items []struct { - IDCPL uint64 `json:"id_cpl"` - Bobot *float64 `json:"bobot_pct"` // opsional - } `json:"items"` -} - -func (s *Service) AssignCPLToMK(ctx context.Context, req AssignCPLToMKReq) error { - if len(req.Items) == 0 { - return fmt.Errorf("minimal 1 CPL") - } - - return s.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error { - if err := tx.Where("id_mk = ?", req.IDMK).Delete(&CPLMK{}).Error; err != nil { - return err - } - - var list []CPLMK - for _, item := range req.Items { - local := item - list = append(list, CPLMK{ - IDMK: req.IDMK, - IDCPL: local.IDCPL, - Bobot: local.Bobot, - }) - } - return tx.Create(&list).Error - }) -} - -//Crud CPL -// CPL - -func (s *Service) CreateCPL(ctx context.Context, kode, deskripsi string) (*CPL, error) { - // optional: cek unik kode_cpl - var cnt int64 - if err := s.db.WithContext(ctx).Model(&CPL{}). - Where("kode_cpl = ?", kode).Count(&cnt).Error; err != nil { - return nil, err - } - if cnt > 0 { - return nil, fmt.Errorf("kode_cpl sudah digunakan") - } - - cpl := CPL{ - KodeCPL: kode, - Deskripsi: deskripsi, - } - if err := s.db.WithContext(ctx).Create(&cpl).Error; err != nil { - return nil, err - } - return &cpl, nil -} - -func (s *Service) ListCPL(ctx context.Context) ([]CPL, error) { - var cpls []CPL - if err := s.db.WithContext(ctx).Order("kode_cpl").Find(&cpls).Error; err != nil { - return nil, err - } - return cpls, nil -} - -func (s *Service) GetCPL(ctx context.Context, id uint64) (*CPL, error) { - var cpl CPL - if err := s.db.WithContext(ctx).First(&cpl, "id_cpl = ?", id).Error; err != nil { - return nil, err - } - return &cpl, nil -} - -func (s *Service) UpdateCPL(ctx context.Context, id uint64, kode *string, deskripsi *string) error { - var cpl CPL - if err := s.db.WithContext(ctx).First(&cpl, "id_cpl = ?", id).Error; err != nil { - return err - } - if kode != nil { - cpl.KodeCPL = *kode - } - if deskripsi != nil { - cpl.Deskripsi = *deskripsi - } - return s.db.WithContext(ctx).Save(&cpl).Error -} - -func (s *Service) DeleteCPL(ctx context.Context, id uint64) error { - return s.db.WithContext(ctx).Delete(&CPL{}, "id_cpl = ?", id).Error -} - -//crud MK -// MK - -func (s *Service) CreateMK(ctx context.Context, kode, nama string, sks, semester *uint8) (*MK, error) { - var cnt int64 - if err := s.db.WithContext(ctx).Model(&MK{}). - Where("kode_mk = ?", kode).Count(&cnt).Error; err != nil { - return nil, err - } - if cnt > 0 { - return nil, fmt.Errorf("kode_mk sudah digunakan") - } - - mk := MK{ - KodeMK: kode, - NamaMK: nama, - SKS: sks, - Semester: semester, - } - if err := s.db.WithContext(ctx).Create(&mk).Error; err != nil { - return nil, err - } - return &mk, nil -} - -func (s *Service) ListMK(ctx context.Context) ([]MK, error) { - var mks []MK - if err := s.db.WithContext(ctx).Order("kode_mk").Find(&mks).Error; err != nil { - return nil, err - } - return mks, nil -} - -// detail MK + mapping CPL & CPMK -type MKDetail struct { - MK MK `json:"mk"` - CPLs []CPL `json:"cpls"` - CPMKs []CPMK `json:"cpmks"` -} - -func (s *Service) GetMKDetail(ctx context.Context, idMK uint64) (*MKDetail, error) { - var mk MK - if err := s.db.WithContext(ctx).First(&mk, "id_mk = ?", idMK).Error; err != nil { - return nil, err - } - - // ambil CPL terkait - var cplMK []CPLMK - if err := s.db.WithContext(ctx).Where("id_mk = ?", idMK).Find(&cplMK).Error; err != nil { - return nil, err - } - var cplIDs []uint64 - for _, cm := range cplMK { - cplIDs = append(cplIDs, cm.IDCPL) - } - - var cpls []CPL - if len(cplIDs) > 0 { - if err := s.db.WithContext(ctx).Where("id_cpl IN ?", cplIDs).Find(&cpls).Error; err != nil { - return nil, err - } - } - - // ambil CPMK terkait - var mkcpmk []MKCPMK - if err := s.db.WithContext(ctx).Where("id_mk = ?", idMK).Find(&mkcpmk).Error; err != nil { - return nil, err - } - var cpmkIDs []uint64 - for _, mc := range mkcpmk { - cpmkIDs = append(cpmkIDs, mc.IDCPMK) - } - var cpmks []CPMK - if len(cpmkIDs) > 0 { - if err := s.db.WithContext(ctx).Where("id_cpmk IN ?", cpmkIDs).Find(&cpmks).Error; err != nil { - return nil, err - } - } - - return &MKDetail{ - MK: mk, - CPLs: cpls, - CPMKs: cpmks, - }, nil -} - -// list -func (s *Service) ListCPMK(ctx context.Context) ([]CPMK, error) { - var items []CPMK - if err := s.db.WithContext(ctx).Order("kode_cpmk").Find(&items).Error; err != nil { - return nil, err - } - return items, nil -} diff --git a/internal/model/cpl.go b/internal/model/cpl.go new file mode 100644 index 0000000..984ec14 --- /dev/null +++ b/internal/model/cpl.go @@ -0,0 +1,10 @@ +package model + +type CPL struct { + IDCPL uint64 `gorm:"column:id_cpl;primaryKey;autoIncrement"` + IDProdi uint64 `gorm:"column:id_prodi;not null"` + KodeCPL string `gorm:"column:kode_cpl;size:20;not null"` + Deskripsi string `gorm:"column:deskripsi;type:text;not null"` +} + +func (CPL) TableName() string { return "cpl" } diff --git a/internal/model/cpl_mk.go b/internal/model/cpl_mk.go new file mode 100644 index 0000000..77e9446 --- /dev/null +++ b/internal/model/cpl_mk.go @@ -0,0 +1,11 @@ +package model + +type CPLMK struct { + IDCPLMK uint64 `gorm:"column:id_cpl_mk;primaryKey;autoIncrement"` + IDCPL uint64 `gorm:"column:id_cpl;not null"` + IDMK uint64 `gorm:"column:id_mk;not null"` + BobotFraction float64 `gorm:"column:bobot_fraction;not null"` + Sumber string `gorm:"column:sumber;size:20;not null"` +} + +func (CPLMK) TableName() string { return "cpl_mk" } diff --git a/internal/model/cpmk.go b/internal/model/cpmk.go new file mode 100644 index 0000000..9b02fb0 --- /dev/null +++ b/internal/model/cpmk.go @@ -0,0 +1,11 @@ +package model + +type CPMK struct { + IDCPMK uint64 `gorm:"column:id_cpmk;primaryKey;autoIncrement"` + IDMK uint64 `gorm:"column:id_mk;not null"` + KodeCPMK string `gorm:"column:kode_cpmk;size:20;not null"` + Deskripsi string `gorm:"column:deskripsi;type:text;not null"` + BobotCPMK *float64 `gorm:"column:bobot_cpmk"` // nullable +} + +func (CPMK) TableName() string { return "cpmk" } diff --git a/internal/model/mahasiswa.go b/internal/model/mahasiswa.go new file mode 100644 index 0000000..709873d --- /dev/null +++ b/internal/model/mahasiswa.go @@ -0,0 +1,12 @@ +package model + +type Mahasiswa struct { + IDMhs uint64 `gorm:"column:id_mhs;primaryKey;autoIncrement"` + IDProdi uint64 `gorm:"column:id_prodi;not null"` + NIM string `gorm:"column:nim;size:30;unique;not null"` + Nama string `gorm:"column:nama;size:200;not null"` + Angkatan int `gorm:"column:angkatan;not null"` + Status string `gorm:"column:status;size:20;not null"` +} + +func (Mahasiswa) TableName() string { return "mahasiswa" } diff --git a/internal/model/mk.go b/internal/model/mk.go new file mode 100644 index 0000000..2deb80b --- /dev/null +++ b/internal/model/mk.go @@ -0,0 +1,12 @@ +package model + +type MK struct { + IDMK uint64 `gorm:"column:id_mk;primaryKey;autoIncrement"` + IDProdi uint64 `gorm:"column:id_prodi;not null"` + KodeMK string `gorm:"column:kode_mk;size:30;unique;not null"` + NamaMK string `gorm:"column:nama_mk;size:255;not null"` + SKS uint8 `gorm:"column:sks;not null"` + Semester uint8 `gorm:"column:semester;not null"` +} + +func (MK) TableName() string { return "mk" } diff --git a/internal/model/nilai_cpl.go b/internal/model/nilai_cpl.go new file mode 100644 index 0000000..139d128 --- /dev/null +++ b/internal/model/nilai_cpl.go @@ -0,0 +1,14 @@ +package model + +import "time" + +type NilaiCPL struct { + IDNilaiCPL uint64 `gorm:"column:id_nilai_cpl;primaryKey;autoIncrement"` + IDMhs uint64 `gorm:"column:id_mhs;not null"` + IDCPL uint64 `gorm:"column:id_cpl;not null"` + SemesterEval uint8 `gorm:"column:semester_eval;not null"` + NilaiAngka float64 `gorm:"column:nilai_angka;not null"` + TanggalHitung time.Time `gorm:"column:tanggal_hitung;not null"` +} + +func (NilaiCPL) TableName() string { return "nilai_cpl" } diff --git a/internal/model/nilai_mk.go b/internal/model/nilai_mk.go new file mode 100644 index 0000000..50480a0 --- /dev/null +++ b/internal/model/nilai_mk.go @@ -0,0 +1,14 @@ +package model + +type NilaiMK struct { + IDNilaiMK uint64 `gorm:"column:id_nilai_mk;primaryKey;autoIncrement"` + IDMhs uint64 `gorm:"column:id_mhs;not null"` + IDMK uint64 `gorm:"column:id_mk;not null"` + SemesterTempuh uint8 `gorm:"column:semester_tempuh;not null"` + TahunAjaran string `gorm:"column:tahun_ajaran;size:20;not null"` + NilaiAngka float64 `gorm:"column:nilai_angka;not null"` + NilaiHuruf *string `gorm:"column:nilai_huruf;size:2"` + Sumber string `gorm:"column:sumber;size:20;not null"` +} + +func (NilaiMK) TableName() string { return "nilai_mk" } diff --git a/internal/model/prodi.go b/internal/model/prodi.go new file mode 100644 index 0000000..f0f6b7f --- /dev/null +++ b/internal/model/prodi.go @@ -0,0 +1,10 @@ +package model + +type Prodi struct { + IDProdi uint64 `gorm:"column:id_prodi;primaryKey;autoIncrement"` + KodeProdi string `gorm:"column:kode_prodi;size:20;unique;not null"` + NamaProdi string `gorm:"column:nama_prodi;size:200;not null"` + Jenjang string `gorm:"column:jenjang;size:10;not null"` +} + +func (Prodi) TableName() string { return "prodi" } diff --git a/note b/note new file mode 100644 index 0000000..8c1a2a2 --- /dev/null +++ b/note @@ -0,0 +1 @@ +semua data ditarik berdasarkan persemester dan permashasiswa From 8e281b23e821ec00c815f7dd1e9b134cd30c0c3f Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Thu, 27 Nov 2025 06:24:41 +0800 Subject: [PATCH 08/36] new1 --- readme.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/readme.md b/readme.md index 91af822..3fac03e 100644 --- a/readme.md +++ b/readme.md @@ -9,3 +9,9 @@ Mahasiswa → Nilai MK
Perhitungan CPL mahasiswa

IPK Berbasis CPL
+ + +## Endpoint +/health +/api/prodi : Dropdown daftar prodi +/api/prodi/:id_prodi/mk?semester=N \ No newline at end of file From 1d2e84661f54658053e2e9c93998eae4fcf168d0 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Thu, 27 Nov 2025 06:26:02 +0800 Subject: [PATCH 09/36] Readme v1.0 --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 3fac03e..03a7542 100644 --- a/readme.md +++ b/readme.md @@ -13,5 +13,5 @@ IPK Berbasis CPL
## Endpoint /health -/api/prodi : Dropdown daftar prodi -/api/prodi/:id_prodi/mk?semester=N \ No newline at end of file +
/api/prodi : Dropdown daftar prodi +
/api/prodi/:id_prodi/mk?semester=N \ No newline at end of file From 44bcee7128d23e0ddc1e481cf49ae8e397256be5 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Fri, 28 Nov 2025 22:03:30 +0800 Subject: [PATCH 10/36] Nov28 --- internal/http/handler_master.go | 12 ++++ internal/http/handler_nilai.go | 124 +++++++++++++++++++------------- internal/http/router.go | 2 +- 3 files changed, 89 insertions(+), 49 deletions(-) diff --git a/internal/http/handler_master.go b/internal/http/handler_master.go index a9e5ced..6c0bd92 100644 --- a/internal/http/handler_master.go +++ b/internal/http/handler_master.go @@ -34,6 +34,18 @@ func listCPLByProdiHandler(c *gin.Context) { c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) return } + //array nama prodi + var prodi [6]string = [6]string{ + "Elektro", + "Arsitektur", + "Informatika", + } + id -= 1 + if len(cpls) == 0 { + c.JSON(http.StatusNotFound, gin.H{"Empty": "404 Not Found for CPL by Prodi " + prodi[id]}) + return + } + c.JSON(http.StatusOK, cpls) } diff --git a/internal/http/handler_nilai.go b/internal/http/handler_nilai.go index 100329e..087a9fc 100644 --- a/internal/http/handler_nilai.go +++ b/internal/http/handler_nilai.go @@ -1,6 +1,7 @@ package http import ( + "errors" "net/http" "strconv" @@ -12,18 +13,6 @@ import ( "gorm.io/gorm" ) -// FORMAT XLSX (sederhana): -// Sheet1, mulai baris 2: -// A: NIM -// B: Nama -// C: Angkatan -// D: Kode MK -// E: Semester tempuh (angka) -// F: Tahun ajaran (string, mis "2024/2025") -// G: Nilai angka (float) -// -// Admin upload per prodi & per semester. - type importResponse struct { ImportedMahasiswa int `json:"imported_mahasiswa"` ImportedNilaiMK int `json:"imported_nilai_mk"` @@ -31,35 +20,54 @@ type importResponse struct { // POST /api/nilai-mk/import-xlsx func importNilaiMahasiswaXLSXHandler(c *gin.Context) { - file, err := c.FormFile("file") + fileHeader, err := c.FormFile("file") if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "file is required"}) + c.JSON(http.StatusBadRequest, gin.H{"error": "file is required (field name: file)"}) return } - fh, err := file.Open() + fh, err := fileHeader.Open() if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "cannot open file"}) + c.JSON(http.StatusInternalServerError, gin.H{"error": "cannot open uploaded file"}) return } defer fh.Close() f, err := excelize.OpenReader(fh) if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "invalid xlsx"}) + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid xlsx: " + err.Error()}) return } defer f.Close() - rows, err := f.GetRows("Sheet1") + // Ambil sheet pertama saja, jangan hardcode "Sheet1" + sheets := f.GetSheetList() + if len(sheets) == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "xlsx has no sheet"}) + return + } + sheetName := sheets[0] + + rows, err := f.GetRows(sheetName) if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "cannot read Sheet1"}) + c.JSON(http.StatusBadRequest, gin.H{"error": "cannot read rows: " + err.Error()}) + return + } + if len(rows) <= 1 { + c.JSON(http.StatusBadRequest, gin.H{"error": "no data rows (header only)"}) return } importedMhs := 0 importedNilai := 0 + idProdiStr := c.Param("id_prodi") + idProdi, err := strconv.ParseUint(idProdiStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) + return + } + err = db.DB.Transaction(func(tx *gorm.DB) error { mhsCache := map[string]model.Mahasiswa{} mkCache := map[string]model.MK{} @@ -69,9 +77,13 @@ func importNilaiMahasiswaXLSXHandler(c *gin.Context) { // header continue } + + // Minimal 7 kolom: NIM, Nama, Angkatan, Kode MK, Semester, Tahun Ajaran, Nilai if len(row) < 7 { + // baris kosong / tidak lengkap → skip continue } + nim := row[0] nama := row[1] angkatanStr := row[2] @@ -81,73 +93,89 @@ func importNilaiMahasiswaXLSXHandler(c *gin.Context) { nilaiStr := row[6] if nim == "" || kodeMK == "" { + // baris tidak valid → skip continue } - // angkatan angkatan, _ := strconv.Atoi(angkatanStr) semInt, _ := strconv.Atoi(semStr) semester := uint8(semInt) nilai, _ := strconv.ParseFloat(nilaiStr, 64) - // mahasiswa (cari / buat) + // --- MAHASISWA (cari / buat) --- mhs, ok := mhsCache[nim] if !ok { - if err := tx.Where("nim = ?", nim).First(&mhs).Error; err != nil { - // buat baru, tapi perlu id_prodi - sementara: 1 (hardcode dulu, nanti disesuaikan) - mhs = model.Mahasiswa{ - IDProdi: 1, - NIM: nim, - Nama: nama, - Angkatan: angkatan, - Status: "aktif", - } - if err := tx.Create(&mhs).Error; err != nil { + err := tx.Where("nim = ?", nim).First(&mhs).Error + if err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + // buat baru + mhs = model.Mahasiswa{ + IDProdi: idProdi, + NIM: nim, + Nama: nama, + Angkatan: angkatan, + Status: "aktif", + } + if err := tx.Create(&mhs).Error; err != nil { + return err + } + importedMhs++ + } else { + // error lain → batalkan transaksi return err } - importedMhs++ } mhsCache[nim] = mhs } - // mk (cari by kode_mk) + // --- MK (harus sudah ada di master mk) --- mk, ok2 := mkCache[kodeMK] if !ok2 { if err := tx.Where("kode_mk = ?", kodeMK).First(&mk).Error; err != nil { - // kalau MK tidak ketemu, skip baris - continue + // kalau mk tidak ditemukan, ini serius → stop & lapor + if errors.Is(err, gorm.ErrRecordNotFound) { + return errors.New("kode_mk " + kodeMK + " tidak ditemukan di tabel mk") + } + return err } mkCache[kodeMK] = mk } - // upsert nilai_mk + // --- UPSERT nilai_mk --- var existing model.NilaiMK err := tx.Where("id_mhs = ? AND id_mk = ? AND semester_tempuh = ?", mhs.IDMhs, mk.IDMK, semester).First(&existing).Error if err != nil { - nm := model.NilaiMK{ - IDMhs: mhs.IDMhs, - IDMK: mk.IDMK, - SemesterTempuh: semester, - TahunAjaran: tahunAjaran, - NilaiAngka: nilai, - Sumber: "import_xlsx", - } - if err := tx.Create(&nm).Error; err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + // insert baru + nm := model.NilaiMK{ + IDMhs: mhs.IDMhs, + IDMK: mk.IDMK, + SemesterTempuh: semester, + TahunAjaran: tahunAjaran, + NilaiAngka: nilai, + Sumber: "import_xlsx", + } + if err := tx.Create(&nm).Error; err != nil { + return err + } + importedNilai++ + } else { return err } } else { + // update nilai existing.NilaiAngka = nilai existing.TahunAjaran = tahunAjaran existing.Sumber = "import_xlsx" if err := tx.Save(&existing).Error; err != nil { return err } + importedNilai++ } - importedNilai++ - // Hitung CPL untuk mhs ini & semester ini + // Hitung CPL mahasiswa ini di semester tersebut if err := HitungCPLMahasiswa(mhs.IDMhs, semester); err != nil { return err } @@ -157,7 +185,7 @@ func importNilaiMahasiswaXLSXHandler(c *gin.Context) { }) if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } diff --git a/internal/http/router.go b/internal/http/router.go index f250e7a..8eec472 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -17,7 +17,7 @@ func NewRouter() *gin.Engine { api.GET("/prodi/:id_prodi/mk", listMKByProdiSemesterHandler) api.GET("/mk/:id_mk/cpmk", listCPMKByMKHandler) - api.POST("/nilai-mk/import-xlsx", importNilaiMahasiswaXLSXHandler) + api.POST("/prodi/:id_prodi/nilai-mk/import-xlsx", importNilaiMahasiswaXLSXHandler) api.GET("/mahasiswa/:nim/cpl", getCPLByMahasiswaHandler) } From a656341f4b5bbc51e4c7dfca628351cd46a3206f Mon Sep 17 00:00:00 2001 From: mamanwhide Date: Thu, 27 Nov 2025 07:25:27 +0800 Subject: [PATCH 11/36] feat: Implement CPL Management System --- FrontEnd/.gitignore | 33 + FrontEnd/MK_CODES.md | 505 ++ FrontEnd/PANDUAN-IMPORT-NILAI.md | 158 + FrontEnd/QUICK_START.md | 707 ++ FrontEnd/README.md | 602 ++ FrontEnd/TECHNICAL_DOC.md | 1657 +++++ FrontEnd/contoh-import-arsitektur-sem2.csv | 11 + FrontEnd/contoh-import-arsitektur-sem2.xlsx | Bin 0 -> 19243 bytes FrontEnd/contoh-import-informatika-sem1.csv | 11 + FrontEnd/contoh-import-informatika-sem1.xlsx | Bin 0 -> 18965 bytes FrontEnd/contoh-import-informatika-sem2.csv | 11 + FrontEnd/contoh-import-informatika-sem2.xlsx | Bin 0 -> 18698 bytes FrontEnd/next.config.mjs | 6 + FrontEnd/note.txt | 5 + FrontEnd/package-lock.json | 6105 +++++++++++++++++ FrontEnd/package.json | 29 + FrontEnd/postcss.config.mjs | 9 + .../src/app/dashboard/input-nilai/page.tsx | 375 + FrontEnd/src/app/dashboard/laporan/page.tsx | 838 +++ FrontEnd/src/app/dashboard/layout.tsx | 16 + FrontEnd/src/app/dashboard/manajemen/page.tsx | 1045 +++ FrontEnd/src/app/dashboard/page.tsx | 511 ++ FrontEnd/src/app/dashboard/settings/page.tsx | 125 + FrontEnd/src/app/globals.css | 59 + FrontEnd/src/app/layout.tsx | 22 + FrontEnd/src/app/login/page.tsx | 124 + FrontEnd/src/app/page.tsx | 546 ++ FrontEnd/src/components/Sidebar.tsx | 212 + FrontEnd/src/data/mockData.ts | 1127 +++ FrontEnd/src/utils/dataIntegration.ts | 360 + FrontEnd/src/utils/nilaiStorage.ts | 142 + FrontEnd/tailwind.config.js | 27 + FrontEnd/tsconfig.json | 28 + 33 files changed, 15406 insertions(+) create mode 100644 FrontEnd/.gitignore create mode 100644 FrontEnd/MK_CODES.md create mode 100644 FrontEnd/PANDUAN-IMPORT-NILAI.md create mode 100644 FrontEnd/QUICK_START.md create mode 100644 FrontEnd/README.md create mode 100644 FrontEnd/TECHNICAL_DOC.md create mode 100644 FrontEnd/contoh-import-arsitektur-sem2.csv create mode 100644 FrontEnd/contoh-import-arsitektur-sem2.xlsx create mode 100644 FrontEnd/contoh-import-informatika-sem1.csv create mode 100644 FrontEnd/contoh-import-informatika-sem1.xlsx create mode 100644 FrontEnd/contoh-import-informatika-sem2.csv create mode 100644 FrontEnd/contoh-import-informatika-sem2.xlsx create mode 100644 FrontEnd/next.config.mjs create mode 100644 FrontEnd/note.txt create mode 100644 FrontEnd/package-lock.json create mode 100644 FrontEnd/package.json create mode 100644 FrontEnd/postcss.config.mjs create mode 100644 FrontEnd/src/app/dashboard/input-nilai/page.tsx create mode 100644 FrontEnd/src/app/dashboard/laporan/page.tsx create mode 100644 FrontEnd/src/app/dashboard/layout.tsx create mode 100644 FrontEnd/src/app/dashboard/manajemen/page.tsx create mode 100644 FrontEnd/src/app/dashboard/page.tsx create mode 100644 FrontEnd/src/app/dashboard/settings/page.tsx create mode 100644 FrontEnd/src/app/globals.css create mode 100644 FrontEnd/src/app/layout.tsx create mode 100644 FrontEnd/src/app/login/page.tsx create mode 100644 FrontEnd/src/app/page.tsx create mode 100644 FrontEnd/src/components/Sidebar.tsx create mode 100644 FrontEnd/src/data/mockData.ts create mode 100644 FrontEnd/src/utils/dataIntegration.ts create mode 100644 FrontEnd/src/utils/nilaiStorage.ts create mode 100644 FrontEnd/tailwind.config.js create mode 100644 FrontEnd/tsconfig.json diff --git a/FrontEnd/.gitignore b/FrontEnd/.gitignore new file mode 100644 index 0000000..892067b --- /dev/null +++ b/FrontEnd/.gitignore @@ -0,0 +1,33 @@ +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/FrontEnd/MK_CODES.md b/FrontEnd/MK_CODES.md new file mode 100644 index 0000000..48cc0bd --- /dev/null +++ b/FrontEnd/MK_CODES.md @@ -0,0 +1,505 @@ +# 📚 Daftar Kode Mata Kuliah - Sistem CPL + +Dokumen ini berisi daftar lengkap kode mata kuliah untuk 5 Program Studi di Fakultas Teknik Universitas Muhammadiyah Makassar. + +--- + +## 📖 Daftar Isi + +1. [Teknik Informatika (INF)](#1-teknik-informatika-inf) +2. [Arsitektur (ARS)](#2-arsitektur-ars) +3. [Perencanaan Wilayah Kota (PWK)](#3-perencanaan-wilayah-kota-pwk) +4. [Teknik Sipil (SIP)](#4-teknik-sipil-sip) +5. [Teknik Elektro (ELK)](#5-teknik-elektro-elk) +6. [Mapping CPL](#6-mapping-cpl) + +--- + +## 1. Teknik Informatika (INF) + +**Total**: 69 Mata Kuliah | **Total SKS**: 144 SKS | **Durasi**: 8 Semester + +### Semester 1 (18 SKS, 9 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **INF101** | Pancasila | 2 | CPL1 | Drs. Hamzah, M.Pd | +| **INF102** | Bahasa Indonesia | 2 | CPL1 | Dr. Siti Nurhaliza, M.Hum | +| **INF103** | Pendidikan Agama Islam | 2 | CPL1 | Prof. Dr. Abdul Malik, M.Ag | +| **INF104** | Pengantar Teknologi Informasi | 3 | CPL2 | Dr. Ahmad Fauzi, S.Kom, M.T | +| **INF105** | Matematika Dasar | 3 | CPL2 | Dr. Nurul Hikmah, M.Si | +| **INF106** | Algoritma dan Pemrograman | 3 | CPL3, CPL5 | Muhammad Ridwan, S.Kom, M.Cs | +| **INF107** | Sistem Digital | 2 | CPL4, CPL5 | Ir. Fadli Hasan, M.T | +| **INF108** | Bahasa Inggris I | 2 | CPL8 | Dra. Nurjannah, M.Hum | + +### Semester 2 (19 SKS, 9 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **INF201** | Kewarganegaraan | 2 | CPL1 | Drs. Saleh Mahmud, M.Pd | +| **INF202** | Kewirausahaan | 2 | CPL7 | Dr. Andi Muh. Akbar, S.E, M.M | +| **INF203** | Sistem Operasi | 3 | CPL4, CPL5 | Andi Alief Utama Armyn, S.Si, M.Si | +| **INF204** | Matematika Diskrit | 3 | CPL2, CPL3 | Dr. Ichsan Nur, M.Kom | +| **INF205** | Struktur Data | 3 | CPL3, CPL5 | Nur Hidayat, S.Kom, M.Kom | +| **INF206** | Organisasi dan Arsitektur Komputer | 3 | CPL4 | Ir. Bambang Prayogo, M.T | +| **INF207** | Pemrograman Web | 3 | CPL6 | Abdul Rahman, S.Kom, M.T | +| **INF208** | Bahasa Inggris II | 2 | CPL8 | Dra. Nurjannah, M.Hum | + +**CPMK Detail untuk INF207 (Pemrograman Web):** +- CPMK-INF207-1 (25%): Memahami konsep dasar web → CPL6 +- CPMK-INF207-2 (20%): Menguasai HTML/CSS → CPL6 +- CPMK-INF207-3 (25%): Implementasi JavaScript → CPL6 +- CPMK-INF207-4 (20%): Framework modern → CPL6 +- CPMK-INF207-5 (10%): Web deployment → CPL6 + +### Semester 3 (18 SKS, 8 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **INF301** | Basis Data | 3 | CPL4, CPL6 | Andi Muh. Saad, S.Kom, M.Cs | +| **INF302** | Pemrograman Berorientasi Objek | 3 | CPL3, CPL5 | Akhmad Qashlim, S.T, M.T | +| **INF303** | Jaringan Komputer | 3 | CPL4, CPL5 | Ir. Wahyu Hidayat, M.Kom | +| **INF304** | Statistika dan Probabilitas | 3 | CPL2, CPL3 | Dr. Suryani, M.Si | +| **INF305** | Interaksi Manusia dan Komputer | 2 | CPL6, CPL8 | Rini Andriani, S.Kom, M.T | +| **INF306** | Rekayasa Perangkat Lunak | 3 | CPL3, CPL7 | Dr. Husain Abdullah, S.Kom, M.Kom | +| **INF307** | Analisis dan Desain Algoritma | 3 | CPL3, CPL5 | Muhammad Arsyad, S.Kom, M.Cs | + +### Semester 4 (18 SKS, 8 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **INF401** | Pemrograman Mobile | 3 | CPL6 | Faisal Rahman, S.Kom, M.T | +| **INF402** | Sistem Manajemen Basis Data | 3 | CPL4, CPL6 | Andi Muh. Saad, S.Kom, M.Cs | +| **INF403** | Kecerdasan Buatan | 3 | CPL3, CPL5 | Dr. Irwan Budiman, S.Kom, M.Kom | +| **INF404** | Grafika Komputer | 3 | CPL6 | Hendra Wijaya, S.Kom, M.Kom | +| **INF405** | Keamanan Informasi | 2 | CPL4, CPL7 | Dr. Rizal Bakri, S.Kom, M.Cs | +| **INF406** | Metode Penelitian | 2 | CPL8 | Prof. Dr. Zulkifli Hassan, M.Kom | +| **INF407** | Etika Profesi | 2 | CPL1, CPL8 | Drs. Abdul Kadir, M.Pd | + +### Semester 5 (18 SKS, 8 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **INF501** | Pemrograman Framework | 3 | CPL6 | Abdul Rahman, S.Kom, M.T | +| **INF502** | Machine Learning | 3 | CPL3, CPL5 | Dr. Irwan Budiman, S.Kom, M.Kom | +| **INF503** | Sistem Terdistribusi | 3 | CPL4, CPL5 | Andi Alief Utama Armyn, S.Si, M.Si | +| **INF504** | Internet of Things (IoT) | 3 | CPL4, CPL6 | Ir. Fadli Hasan, M.T | +| **INF505** | Pengolahan Citra Digital | 3 | CPL3, CPL6 | Hendra Wijaya, S.Kom, M.Kom | +| **INF506** | Manajemen Proyek TI | 2 | CPL7, CPL8 | Dr. Andi Muh. Akbar, S.E, M.M | +| **INF507** | Mata Kuliah Pilihan I | 3 | Varies | Various | + +### Semester 6 (18 SKS, 8 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **INF601** | Cloud Computing | 3 | CPL4, CPL6 | Andi Alief Utama Armyn, S.Si, M.Si | +| **INF602** | Big Data | 3 | CPL4, CPL5 | Dr. Husain Abdullah, S.Kom, M.Kom | +| **INF603** | Data Mining | 3 | CPL3, CPL5 | Dr. Suryani, M.Si | +| **INF604** | Keamanan Jaringan | 3 | CPL4, CPL7 | Dr. Rizal Bakri, S.Kom, M.Cs | +| **INF605** | Pemrograman Game | 3 | CPL6 | Faisal Rahman, S.Kom, M.T | +| **INF606** | Mata Kuliah Pilihan II | 3 | Varies | Various | +| **INF607** | Praktik Kerja Lapangan (PKL) | 2 | CPL7, CPL8 | Koordinator PKL | + +### Semester 7 (18 SKS, 8 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **INF701** | Blockchain Technology | 3 | CPL4, CPL6 | Dr. Rizal Bakri, S.Kom, M.Cs | +| **INF702** | Natural Language Processing | 3 | CPL3, CPL5 | Dr. Irwan Budiman, S.Kom, M.Kom | +| **INF703** | Computer Vision | 3 | CPL3, CPL6 | Hendra Wijaya, S.Kom, M.Kom | +| **INF704** | Cyber Security | 3 | CPL4, CPL7 | Dr. Rizal Bakri, S.Kom, M.Cs | +| **INF705** | DevOps | 3 | CPL4, CPL6, CPL7 | Abdul Rahman, S.Kom, M.T | +| **INF706** | Seminar Proposal | 2 | CPL8 | Pembimbing Tugas Akhir | +| **INF707** | Mata Kuliah Pilihan III | 3 | Varies | Various | + +### Semester 8 (19 SKS, 3 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **INF801** | Tugas Akhir | 6 | CPL1-CPL8 (All) | Pembimbing Tugas Akhir | +| **INF802** | Kuliah Kerja Nyata (KKN) | 3 | CPL1, CPL8 | Koordinator KKN | + +### Mata Kuliah Pilihan (Elective) + +**Pilihan Konsentrasi Software Engineering:** +- INF-P01: Advanced Web Development (3 SKS) +- INF-P02: Mobile App Architecture (3 SKS) +- INF-P03: Software Testing & QA (3 SKS) + +**Pilihan Konsentrasi Data Science:** +- INF-P04: Deep Learning (3 SKS) +- INF-P05: Text Mining (3 SKS) +- INF-P06: Analisis Big Data (3 SKS) + +**Pilihan Konsentrasi Cyber Security:** +- INF-P07: Ethical Hacking (3 SKS) +- INF-P08: Forensik Digital (3 SKS) +- INF-P09: Cryptography (3 SKS) + +**Pilihan Konsentrasi Multimedia:** +- INF-P10: Animasi 3D (3 SKS) +- INF-P11: Virtual Reality (3 SKS) +- INF-P12: Augmented Reality (3 SKS) + +--- + +## 2. Arsitektur (ARS) + +**Total**: 50+ Mata Kuliah | **Total SKS**: 145 SKS | **Durasi**: 8 Semester + +### Semester 1 (20 SKS, 10 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **ARS101** | Pancasila | 2 | CPL1 | Drs. Hamzah, M.Pd | +| **ARS102** | Bahasa Indonesia | 2 | CPL5, CPL8 | Dr. Siti Nurhaliza, M.Hum | +| **ARS103** | Pendidikan Agama Islam | 2 | CPL1 | Prof. Dr. Abdul Malik, M.Ag | +| **ARS104** | Pengantar Arsitektur | 3 | CPL2, CPL3 | Ir. Sudirman Amir, M.T | +| **ARS105** | Gambar Teknik | 3 | CPL3, CPL4 | Ahmad Hidayat, S.T, M.T | +| **ARS106** | Matematika Teknik | 3 | CPL2 | Dr. Aliyah Rahman, M.Si | +| **ARS107** | Fisika Bangunan | 2 | CPL2, CPL4 | Dr. Syarifuddin, M.T | +| **ARS108** | Estetika Bentuk | 3 | CPL3, CPL5 | Dra. Andi Tenri Abeng, M.Sn | + +### Semester 2 (21 SKS, 10 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **ARS201** | Kewarganegaraan | 2 | CPL1 | Drs. Saleh Mahmud, M.Pd | +| **ARS202** | Sejarah Arsitektur | 2 | CPL2, CPL5 | Dr. Muhammadiyah Amin, M.Hum | +| **ARS203** | Studio Perancangan Arsitektur I | 4 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | +| **ARS204** | Struktur dan Konstruksi I | 3 | CPL4, CPL6 | Ir. Mulyadi Hamzah, M.T | +| **ARS205** | Utilitas Bangunan | 2 | CPL4, CPL6 | Ir. Nur Rahma, M.T | +| **ARS206** | Metode Perancangan | 2 | CPL3, CPL5 | Ar. Syaiful Malang, M.T | +| **ARS207** | Pengetahuan Bahan Bangunan | 2 | CPL4, CPL6 | Dr. Fadliah Rahman, M.T | +| **ARS208** | Bahasa Inggris | 2 | CPL8 | Dra. Nurjannah, M.Hum | +| **ARS209** | Komputer Arsitektur I | 2 | CPL7 | Ahmad Hidayat, S.T, M.T | + +**CPMK Detail untuk ARS203 (Studio Perancangan I):** +- CPMK-ARS203-1 (25%): Analisis site → CPL3 +- CPMK-ARS203-2 (25%): Konsep desain → CPL5 +- CPMK-ARS203-3 (20%): Pengembangan desain → CPL4 +- CPMK-ARS203-4 (20%): Presentasi → CPL8 +- CPMK-ARS203-5 (10%): Portfolio → CPL5 + +### Semester 3 (19 SKS, 9 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **ARS301** | Studio Perancangan Arsitektur II | 4 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | +| **ARS302** | Struktur dan Konstruksi II | 3 | CPL4, CPL6 | Ir. Mulyadi Hamzah, M.T | +| **ARS303** | Arsitektur Tropis | 2 | CPL2, CPL5 | Ar. Syaiful Malang, M.T | +| **ARS304** | Teori Arsitektur | 2 | CPL2, CPL5 | Dr. Muhammadiyah Amin, M.Hum | +| **ARS305** | Arsitektur Lanskap | 2 | CPL3, CPL5 | Ir. Siti Aisyah, M.LA | +| **ARS306** | Kewirausahaan | 2 | CPL7 | Dr. Andi Muh. Akbar, S.E, M.M | +| **ARS307** | Komputer Arsitektur II (CAD) | 2 | CPL7 | Ahmad Hidayat, S.T, M.T | +| **ARS308** | Sosiologi Arsitektur | 2 | CPL1, CPL2 | Dr. Nurhayati, M.Si | + +### Semester 4 (18 SKS, 8 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **ARS401** | Studio Perancangan Arsitektur III | 4 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | +| **ARS402** | Struktur dan Konstruksi III | 3 | CPL4, CPL6 | Ir. Mulyadi Hamzah, M.T | +| **ARS403** | Sistem Bangunan Tinggi | 2 | CPL4, CPL6 | Ir. Nur Rahma, M.T | +| **ARS404** | Arsitektur Perilaku | 2 | CPL2, CPL5 | Dr. Nurhayati, M.Si | +| **ARS405** | Metode Penelitian | 2 | CPL8 | Prof. Dr. Zulkifli Hassan, M.T | +| **ARS406** | Manajemen Konstruksi | 2 | CPL6, CPL7 | Ir. Bambang Suryanto, M.M | +| **ARS407** | Komputer Arsitektur III (3D Modeling) | 2 | CPL7 | Ahmad Hidayat, S.T, M.T | +| **ARS408** | Arsitektur Vernakular | 2 | CPL2, CPL5 | Ar. Syaiful Malang, M.T | + +### Semester 5 (17 SKS, 8 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **ARS501** | Studio Perancangan Arsitektur IV | 4 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | +| **ARS502** | Perancangan Kota | 2 | CPL3, CPL5 | Ir. Fadillah Amin, M.T | +| **ARS503** | Arsitektur Berkelanjutan | 2 | CPL2, CPL5, CPL6 | Ar. Ahmad Yani, M.T | +| **ARS504** | Konservasi Bangunan | 2 | CPL2, CPL5, CPL6 | Dr. Muhammad Ridwan, M.T | +| **ARS505** | Building Information Modeling (BIM) | 2 | CPL7 | Ahmad Hidayat, S.T, M.T | +| **ARS506** | Estimasi Biaya | 2 | CPL6, CPL7 | Ir. Bambang Suryanto, M.M | +| **ARS507** | Mata Kuliah Pilihan I | 3 | Varies | Various | + +### Semester 6 (17 SKS, 7 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **ARS601** | Studio Perancangan Arsitektur V | 4 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | +| **ARS602** | Arsitektur Interior | 3 | CPL3, CPL5 | Dra. Andi Tenri Abeng, M.Sn | +| **ARS603** | Praktek Profesi | 2 | CPL7, CPL8 | Koordinator Praktek | +| **ARS604** | Etika Profesi | 2 | CPL1, CPL8 | Drs. Abdul Kadir, M.Pd | +| **ARS605** | Smart Building Technology | 2 | CPL4, CPL7 | Ir. Nur Rahma, M.T | +| **ARS606** | Mata Kuliah Pilihan II | 3 | Varies | Various | + +### Semester 7 (18 SKS, 7 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **ARS701** | Studio Perancangan Arsitektur VI | 6 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | +| **ARS702** | Seminar | 2 | CPL8 | Pembimbing | +| **ARS703** | Arsitektur Kontemporer | 2 | CPL2, CPL5 | Dr. Muhammadiyah Amin, M.Hum | +| **ARS704** | Urban Design | 2 | CPL3, CPL5 | Ir. Fadillah Amin, M.T | +| **ARS705** | Parametric Design | 3 | CPL3, CPL7 | Ahmad Hidayat, S.T, M.T | +| **ARS706** | Mata Kuliah Pilihan III | 3 | Varies | Various | + +### Semester 8 (10 SKS, 2 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | +|---------|------------------|-----|-------------|-------| +| **ARS801** | Tugas Akhir | 8 | CPL1-CPL8 (All) | Pembimbing Tugas Akhir | +| **ARS802** | Kuliah Kerja Nyata (KKN) | 2 | CPL1 | Koordinator KKN | + +### Mata Kuliah Pilihan (Elective) + +**Pilihan Konsentrasi Perancangan:** +- ARS-P01: Arsitektur Komersial (3 SKS) +- ARS-P02: Arsitektur Pendidikan (3 SKS) +- ARS-P03: Arsitektur Kesehatan (3 SKS) + +**Pilihan Konsentrasi Teknologi:** +- ARS-P04: Green Building Technology (3 SKS) +- ARS-P05: Advanced Structural System (3 SKS) +- ARS-P06: Building Physics (3 SKS) + +**Pilihan Konsentrasi Manajemen:** +- ARS-P07: Real Estate Development (3 SKS) +- ARS-P08: Project Management (3 SKS) +- ARS-P09: Contract Management (3 SKS) + +--- + +## 3. Perencanaan Wilayah Kota (PWK) + +**Total**: 50+ Mata Kuliah | **Total SKS**: 144 SKS | **Durasi**: 8 Semester + +### Semester 1 (19 SKS, 9 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | +|---------|------------------|-----|-------------| +| **PWK101** | Pancasila | 2 | CPL1 | +| **PWK102** | Bahasa Indonesia | 2 | CPL1, CPL8 | +| **PWK103** | Pendidikan Agama Islam | 2 | CPL1 | +| **PWK104** | Pengantar Perencanaan Wilayah dan Kota | 3 | CPL2, CPL3 | +| **PWK105** | Gambar Teknik PWK | 3 | CPL3, CPL4 | +| **PWK106** | Matematika dan Statistika | 3 | CPL2 | +| **PWK107** | Geografi Pembangunan | 2 | CPL2, CPL5 | +| **PWK108** | Bahasa Inggris I | 2 | CPL8 | + +### Semester 2 (20 SKS, 9 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | +|---------|------------------|-----|-------------| +| **PWK201** | Kewarganegaraan | 2 | CPL1 | +| **PWK202** | Kewirausahaan | 2 | CPL7 | +| **PWK203** | Studio Perencanaan I | 4 | CPL3, CPL4, CPL5 | +| **PWK204** | Tata Guna Lahan | 2 | CPL3, CPL5 | +| **PWK205** | Ekonomi Perkotaan | 2 | CPL2, CPL6 | +| **PWK206** | Sistem Informasi Geografis (SIG) | 3 | CPL4, CPL7 | +| **PWK207** | Sosiologi Perkotaan | 2 | CPL2, CPL5 | +| **PWK208** | Bahasa Inggris II | 2 | CPL8 | + +### Semester 3 - 8 +*[Detail MK Semester 3-8 tersedia di sistem. Total 144 SKS mencakup mata kuliah perencanaan tata ruang, infrastruktur, transportasi, dan lingkungan]* + +**Mata Kuliah Unggulan:** +- PWK301: Studio Perencanaan II +- PWK401: Studio Perencanaan III +- PWK501: Studio Perencanaan IV +- PWK601: Perencanaan Infrastruktur +- PWK701: Perencanaan Transportasi +- PWK801: Tugas Akhir (6 SKS) + +--- + +## 4. Teknik Sipil (SIP) + +**Total**: 50+ Mata Kuliah | **Total SKS**: 144 SKS | **Durasi**: 8 Semester + +### Semester 1 (19 SKS, 9 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | +|---------|------------------|-----|-------------| +| **SIP101** | Pancasila | 2 | CPL1 | +| **SIP102** | Bahasa Indonesia | 2 | CPL1, CPL8 | +| **SIP103** | Pendidikan Agama Islam | 2 | CPL1 | +| **SIP104** | Matematika Teknik I | 3 | CPL2 | +| **SIP105** | Fisika Teknik | 3 | CPL2, CPL4 | +| **SIP106** | Kimia Teknik | 2 | CPL2, CPL4 | +| **SIP107** | Gambar Teknik Sipil | 3 | CPL3, CPL4 | +| **SIP108** | Pengantar Teknik Sipil | 2 | CPL2, CPL3 | +| **SIP109** | Bahasa Inggris I | 2 | CPL8 | + +### Semester 2 (19 SKS, 9 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | +|---------|------------------|-----|-------------| +| **SIP201** | Kewarganegaraan | 2 | CPL1 | +| **SIP202** | Kewirausahaan | 2 | CPL7 | +| **SIP203** | Matematika Teknik II | 3 | CPL2 | +| **SIP204** | Mekanika Teknik I | 3 | CPL3, CPL4 | +| **SIP205** | Menggambar dengan Komputer (CAD) | 2 | CPL4, CPL7 | +| **SIP206** | Geologi Teknik | 2 | CPL2, CPL4 | +| **SIP207** | Bahan Bangunan | 2 | CPL4, CPL6 | +| **SIP208** | Surveying | 3 | CPL3, CPL4 | +| **SIP209** | Bahasa Inggris II | 2 | CPL8 | + +### Semester 3 - 8 +*[Detail MK Semester 3-8 tersedia di sistem. Mencakup mata kuliah struktur, hidrologi, jalan raya, manajemen konstruksi]* + +**Mata Kuliah Unggulan:** +- SIP301: Mekanika Teknik II +- SIP302: Struktur Beton I +- SIP401: Struktur Beton II +- SIP402: Struktur Baja +- SIP501: Rekayasa Jalan Raya +- SIP601: Manajemen Konstruksi +- SIP701: Rekayasa Gempa +- SIP801: Tugas Akhir (6 SKS) + +--- + +## 5. Teknik Elektro (ELK) + +**Total**: 50+ Mata Kuliah | **Total SKS**: 144 SKS | **Durasi**: 8 Semester + +### Semester 1 (19 SKS, 9 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | +|---------|------------------|-----|-------------| +| **ELK101** | Pancasila | 2 | CPL1 | +| **ELK102** | Bahasa Indonesia | 2 | CPL1, CPL8 | +| **ELK103** | Pendidikan Agama Islam | 2 | CPL1 | +| **ELK104** | Matematika Teknik I | 3 | CPL2 | +| **ELK105** | Fisika Listrik dan Magnet | 3 | CPL2, CPL4 | +| **ELK106** | Dasar Teknik Elektro | 3 | CPL2, CPL3 | +| **ELK107** | Gambar Teknik Elektro | 2 | CPL3, CPL4 | +| **ELK108** | Rangkaian Listrik I | 3 | CPL3, CPL4 | + +### Semester 2 (20 SKS, 9 MK) + +| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | +|---------|------------------|-----|-------------| +| **ELK201** | Kewarganegaraan | 2 | CPL1 | +| **ELK202** | Kewirausahaan | 2 | CPL7 | +| **ELK203** | Matematika Teknik II | 3 | CPL2 | +| **ELK204** | Rangkaian Listrik II | 3 | CPL3, CPL4 | +| **ELK205** | Elektronika Dasar | 3 | CPL3, CPL4 | +| **ELK206** | Sistem Digital | 3 | CPL4, CPL5 | +| **ELK207** | Pemrograman Komputer | 2 | CPL5, CPL7 | +| **ELK208** | Bahasa Inggris | 2 | CPL8 | + +### Semester 3 - 8 +*[Detail MK Semester 3-8 tersedia di sistem. Mencakup mata kuliah elektronika daya, sistem kontrol, telekomunikasi, energi terbarukan]* + +**Mata Kuliah Unggulan:** +- ELK301: Elektronika Analog +- ELK302: Sistem Mikroprosesor +- ELK401: Sistem Kontrol +- ELK402: Elektronika Daya +- ELK501: Sistem Tenaga Listrik +- ELK601: Telekomunikasi +- ELK701: Energi Terbarukan +- ELK801: Tugas Akhir (6 SKS) + +--- + +## 6. Mapping CPL + +### CPL Standard untuk Semua Prodi + +Setiap program studi memiliki **8 CPL** yang disesuaikan dengan kompetensi masing-masing: + +| Kode CPL | Kategori | Deskripsi Umum | +|----------|----------|----------------| +| **CPL1** | Sikap | Bertakwa, beretika, dan bertanggung jawab | +| **CPL2** | Pengetahuan | Menguasai konsep teoretis bidang ilmu | +| **CPL3** | Keterampilan Umum | Mampu menerapkan pemikiran logis dan analitis | +| **CPL4** | Keterampilan Khusus | Menguasai teknologi dan tools bidang | +| **CPL5** | Keterampilan Khusus | Mampu merancang dan mengimplementasikan solusi | +| **CPL6** | Keterampilan Khusus | Kemampuan teknis spesifik prodi | +| **CPL7** | Keterampilan Umum | Kemampuan manajemen dan kewirausahaan | +| **CPL8** | Sikap | Komunikasi efektif dan kerja sama tim | + +### Contoh Mapping Informatika + +**INF207 (Pemrograman Web) - 3 SKS → CPL6** + +| CPMK | Deskripsi | Bobot CPMK | Kontribusi ke CPL6 | +|------|-----------|------------|-------------------| +| CPMK-INF207-1 | Konsep dasar web | 25% | 25% | +| CPMK-INF207-2 | HTML/CSS | 20% | 20% | +| CPMK-INF207-3 | JavaScript | 25% | 25% | +| CPMK-INF207-4 | Framework modern | 20% | 20% | +| CPMK-INF207-5 | Web deployment | 10% | 10% | +| **Total** | | **100%** | **100%** | + +**Formula Kalkulasi:** +``` +Nilai MK = Σ (Nilai CPMK × Bobot CPMK) +Nilai CPL = Σ (Nilai CPMK × Bobot MK × Bobot CPMK) / Σ (Bobot MK × Bobot CPMK) + +Bobot MK = 100% / Jumlah MK yang berkontribusi ke CPL +``` + +### Contoh Mapping Arsitektur + +**ARS203 (Studio Perancangan I) - 4 SKS → CPL3, CPL4, CPL5** + +| CPMK | Deskripsi | Bobot CPMK | CPL Terkait | +|------|-----------|------------|-------------| +| CPMK-ARS203-1 | Analisis site | 25% | CPL3 | +| CPMK-ARS203-2 | Konsep desain | 25% | CPL5 | +| CPMK-ARS203-3 | Pengembangan desain | 20% | CPL4 | +| CPMK-ARS203-4 | Presentasi | 20% | CPL8 | +| CPMK-ARS203-5 | Portfolio | 10% | CPL5 | +| **Total** | | **100%** | | + +--- + +## 📊 Ringkasan + +| Program Studi | Kode | Total MK | Total SKS | Durasi | CPL | +|--------------|------|----------|-----------|--------|-----| +| Teknik Informatika | INF | 69 | 144 | 8 Semester | 8 | +| Arsitektur | ARS | 50+ | 145 | 8 Semester | 8 | +| Perencanaan Wilayah Kota | PWK | 50+ | 144 | 8 Semester | 8 | +| Teknik Sipil | SIP | 50+ | 144 | 8 Semester | 8 | +| Teknik Elektro | ELK | 50+ | 144 | 8 Semester | 8 | + +--- + +## 📝 Catatan + +- **Detail CPMK lengkap** tersedia untuk beberapa MK inti di sistem +- **MK Pilihan** disesuaikan dengan konsentrasi/peminatan mahasiswa +- **SKS Minimum kelulusan**: 144-145 SKS (tergantung prodi) +- **IPK Minimum kelulusan**: 2.75 +- **Masa studi**: Normal 4 tahun (8 semester), Maksimal 7 tahun (14 semester) + +--- + +## 🔄 Update & Maintenance + +Dokumen ini akan diperbarui seiring dengan: +- Perubahan kurikulum prodi +- Penambahan mata kuliah baru +- Penyesuaian SKS dan semester +- Update mapping CPL-MK-CPMK + +--- + +## 📞 Kontak + +Untuk informasi lebih lanjut atau pertanyaan terkait mata kuliah: + +- **Fakultas Teknik UNISMUH Makassar** +- **Website**: [https://unismuh.ac.id](https://unismuh.ac.id) +- **Email**: teknik@unismuh.ac.id + +--- + +**© 2025 Universitas Muhammadiyah Makassar** + +*Dokumen ini bersifat dinamis dan dapat berubah sesuai kebijakan akademik.* + +**Last Updated**: 27 November 2025 +**Version**: 1.0 diff --git a/FrontEnd/PANDUAN-IMPORT-NILAI.md b/FrontEnd/PANDUAN-IMPORT-NILAI.md new file mode 100644 index 0000000..a39afaa --- /dev/null +++ b/FrontEnd/PANDUAN-IMPORT-NILAI.md @@ -0,0 +1,158 @@ +# Panduan Import Nilai Mahasiswa + +## Format File yang Didukung + +Sistem mendukung import file dengan format berikut: +- **CSV** (Comma-Separated Values) - `.csv` +- **TSV** (Tab-Separated Values) - `.tsv` +- **Text file** dengan delimiter koma (,), semicolon (;), atau tab + +## Struktur File + +### Kolom Wajib +1. **NIM** - Nomor Induk Mahasiswa (kolom pertama) +2. **Nama** - Nama lengkap mahasiswa (kolom kedua) + +### Kolom Nilai Mata Kuliah +- Kolom ketiga dan seterusnya berisi **Kode MK** atau **Nama MK** sebagai header +- Nilai harus dalam rentang **0-100** +- Kolom MK harus sesuai dengan semester yang dipilih + +## Contoh Format File + +### Contoh 1: Format CSV dengan koma (,) +```csv +NIM,Nama,INF101,INF102,INF103,INF104,INF105,INF106,INF107,INF108 +2024001,Ahmad Fauzi,85,88,90,82,85,87,80,84 +2024002,Siti Aisyah,92,89,95,88,92,90,85,91 +2024003,Budi Santoso,78,82,85,75,80,83,78,80 +``` + +### Contoh 2: Format CSV dengan semicolon (;) +```csv +NIM;Nama;INF101;INF102;INF103;INF104;INF105;INF106;INF107;INF108 +2024001;Ahmad Fauzi;85;88;90;82;85;87;80;84 +2024002;Siti Aisyah;92;89;95;88;92;90;85;91 +``` + +### Contoh 3: Format TSV (Tab-separated) +``` +NIM Nama INF101 INF102 INF103 INF104 INF105 INF106 INF107 INF108 +2024001 Ahmad Fauzi 85 88 90 82 85 87 80 84 +2024002 Siti Aisyah 92 89 95 88 92 90 85 91 +``` + +## File Contoh yang Tersedia + +Di folder root project tersedia file contoh: + +### 1. `contoh-import-informatika-sem1.csv` +- Program Studi: **Teknik Informatika** +- Semester: **1** +- Mata Kuliah: INF101, INF102, INF103, INF104, INF105, INF106, INF107, INF108 +- Jumlah mahasiswa: 10 orang + +### 2. `contoh-import-informatika-sem2.csv` +- Program Studi: **Teknik Informatika** +- Semester: **2** +- Mata Kuliah: INF201, INF202, INF203, INF204, INF205, INF206, INF207 +- Jumlah mahasiswa: 10 orang + +### 3. `contoh-import-arsitektur-sem2.csv` +- Program Studi: **Arsitektur** +- Semester: **2** +- Mata Kuliah: ARS201, ARS202, ARS203, ARS204, ARS205, ARS206, ARS207, ARS208, ARS209 +- Jumlah mahasiswa: 10 orang + +### 4. `contoh-import-semicolon.csv` +- Contoh format dengan delimiter semicolon (;) +- Program Studi: **Teknik Informatika** +- Semester: **1** + +## Cara Import + +1. **Login ke sistem** sebagai Kaprodi +2. Pilih menu **"Manajemen Data"** di sidebar +3. Klik tab **"Import Nilai"** +4. **Pilih filter:** + - Program Studi (INF, ARS, PWK, SIP, ELK) + - Semester (1-8) +5. **Upload file:** + - Klik tombol "Pilih File" + - Pilih file CSV/TXT yang sudah disiapkan +6. **Preview data:** + - Klik tombol "Preview Data" + - Periksa apakah data sudah benar +7. **Import:** + - Jika sudah sesuai, klik "Import ke Sistem" + - Sistem akan otomatis: + - Menyimpan nilai ke database lokal + - Menghitung bobot CPMK + - Menghitung nilai CPL + - Menampilkan statistik import + +## Catatan Penting + +### Pencocokan Mata Kuliah +- Sistem akan mencocokkan header kolom dengan **kode MK** atau **nama MK** +- Pencocokan tidak case-sensitive (huruf besar/kecil diabaikan) +- Spasi dan karakter khusus diabaikan dalam pencocokan +- Contoh: "INF105", "inf105", "Algoritma & Pemrograman" akan cocok dengan MK INF105 + +### Validasi Data +- **NIM dan Nama** harus diisi (wajib) +- **Nilai** harus angka dalam rentang 0-100 +- Kolom nilai yang kosong atau tidak valid akan diabaikan +- Mahasiswa yang belum terdaftar akan otomatis dibuat ID-nya + +### Perhitungan Otomatis +Setelah import berhasil, sistem akan otomatis menghitung: + +1. **Bobot CPMK per MK:** + - Setiap MK memiliki beberapa CPMK + - Nilai MK dibagi rata ke semua CPMK + - Contoh: MK A (nilai 85) punya 4 CPMK → masing-masing CPMK dapat kontribusi dari nilai 85 + +2. **Bobot MK terhadap CPL:** + - Setiap CPL terkait dengan beberapa MK + - Bobot dibagi rata ke semua MK yang terkait + - Contoh: CPL1 terkait 5 MK → bobot per MK = 100%/5 = 20% + +3. **Nilai CPL:** + - Nilai CPL = rata-rata dari semua MK yang berkontribusi + - Hasil dapat dilihat di halaman **"Laporan CPL"** + +## Troubleshooting + +### File tidak bisa dibaca +- Pastikan file dalam format CSV atau text +- Coba buka file dengan text editor, pastikan ada delimiter (koma/semicolon/tab) +- Pastikan encoding file UTF-8 + +### Data tidak muncul di preview +- Periksa header kolom harus ada "NIM" dan "Nama" +- Pastikan minimal ada 1 baris data setelah header +- Periksa delimiter konsisten di semua baris + +### Import gagal atau nilai tidak masuk +- Pastikan Program Studi dan Semester sudah dipilih dengan benar +- Pastikan kode MK di file sesuai dengan MK yang ada di semester tersebut +- Nilai harus berupa angka 0-100 + +### Tidak ada mata kuliah yang ditampilkan +- Pastikan sudah memilih Program Studi dan Semester yang benar +- Periksa di data master apakah MK untuk prodi/semester tersebut sudah tersedia + +## Tips + +1. **Gunakan file contoh** sebagai template +2. **Copy-paste** dari Excel ke file contoh, lalu save as CSV +3. **Preview dulu** sebelum import untuk memastikan data benar +4. **Import bertahap** per semester untuk mempermudah tracking +5. **Backup data** sebelum import massal + +## Kontak Support + +Jika mengalami kendala dalam import data, hubungi: +- Tim IT: +- Admin Sistem CPL: diff --git a/FrontEnd/QUICK_START.md b/FrontEnd/QUICK_START.md new file mode 100644 index 0000000..97d2228 --- /dev/null +++ b/FrontEnd/QUICK_START.md @@ -0,0 +1,707 @@ +# 🚀 Quick Start Guide - Sistem CPL + +Panduan cepat untuk menggunakan Sistem Capaian Pembelajaran Lulusan (CPL) Universitas Muhammadiyah Makassar. + +--- + +## 📖 Daftar Isi + +1. [Login ke Sistem](#1-login-ke-sistem) +2. [Dashboard Overview](#2-dashboard-overview) +3. [Input Nilai Mahasiswa](#3-input-nilai-mahasiswa) +4. [Laporan CPL dengan CPMK Breakdown](#4-laporan-cpl-dengan-cpmk-breakdown) +5. [Manajemen Data & Import Nilai](#5-manajemen-data--import-nilai) +6. [CPL & Pemetaan Kurikulum](#6-cpl--pemetaan-kurikulum) +7. [Tips & Troubleshooting](#7-tips--troubleshooting) + +--- + +## 1. Login ke Sistem + +### Akses Landing Page + +1. Buka browser dan akses `http://localhost:3000` +2. Halaman landing akan menampilkan informasi sistem +3. Klik tombol **"Login"** di header + +### Kredensial Login (5 Program Studi) + +Sistem menyediakan akun demo untuk 5 Kaprodi: + +| Role | Email | Password | Program Studi | +|------|-------|----------|---------------| +| **Kaprodi Informatika** | kaprodi.informatika@unismuh.ac.id | kaprodi123 | S1 Teknik Informatika (INF) | +| **Kaprodi Arsitektur** | kaprodi.arsitektur@unismuh.ac.id | kaprodi123 | S1 Arsitektur (ARS) | +| **Kaprodi PWK** | kaprodi.pwk@unismuh.ac.id | kaprodi123 | S1 Perencanaan Wilayah Kota (PWK) | +| **Kaprodi Sipil** | kaprodi.sipil@unismuh.ac.id | kaprodi123 | S1 Teknik Sipil (SIP) | +| **Kaprodi Elektro** | kaprodi.elektro@unismuh.ac.id | kaprodi123 | S1 Teknik Elektro (ELK) | + +### Quick Login + +- Pilih role dari dropdown di halaman login +- Klik tombol **"Quick Login"** untuk login langsung +- Setelah login berhasil, Anda akan diarahkan ke dashboard prodi masing-masing + +--- + +## 2. Dashboard Overview + +### Tampilan Dashboard + +Dashboard menampilkan overview capaian pembelajaran dengan **Tree Diagram** hierarki: + +#### **Tree Diagram CPL-MK-CPMK** +- Visualisasi struktur: `CPL → Mata Kuliah → CPMK` +- Expandable nodes: Klik CPL untuk melihat MK terkait +- Color-coded: Biru (CPL), Hijau (MK), Ungu (CPMK) +- Menampilkan bobot setiap CPMK + +**Contoh Hierarki:** +``` +CPL1: Mampu menerapkan pemikiran logis + └── Pemrograman Web (MK001) - 3 SKS + ├── CPMK1-1: Memahami konsep dasar web (Bobot: 20%) + ├── CPMK1-2: Menguasai HTML/CSS (Bobot: 30%) + ├── CPMK1-3: Implementasi JavaScript (Bobot: 25%) + └── CPMK1-4: Framework modern (Bobot: 25%) +``` + +#### **Statistik Cepat** +- Total Mahasiswa +- Jumlah Mata Kuliah +- CPL Tercapai (rata-rata ≥75) +- Semester Aktif + +#### **Grafik Pencapaian** +- Radar Chart: Visualisasi 8 CPL per prodi +- Bar Chart: Trend CPL per semester +- Line Chart: Progress mahasiswa + +### Navigasi + +- **Navbar**: Logo, Program Studi, Profil user, Logout +- **Sidebar**: + - 🏠 Dashboard + - ✏️ Input Nilai + - 📊 Laporan + - 📁 Manajemen Data (NEW!) + - 🎯 CPL & Pemetaan + - ⚙️ Settings +- **Mobile**: Hamburger menu responsive + +--- + +## 3. Input Nilai Mahasiswa + +### Langkah Input Nilai (Manual) + +1. **Akses Menu Input** + - Klik **"Input Nilai"** di sidebar + - Pilih mahasiswa dari dropdown (tersaring per prodi) + +2. **Pilih Mata Kuliah** + - Dropdown menampilkan MK sesuai semester mahasiswa + - Contoh: "Pemrograman Web (INF101) - 3 SKS" + - Sistem menampilkan daftar CPMK untuk MK tersebut + +3. **Input Nilai CPMK** + - Masukkan nilai 0-100 untuk setiap CPMK + - Bobot otomatis ditampilkan di samping input + - Kalkulasi real-time ditampilkan + + **Contoh:** + ``` + Pemrograman Web (INF101) + + CPMK1-1: Konsep Dasar (Bobot: 20%) → Nilai: 85 + CPMK1-2: HTML/CSS (Bobot: 30%) → Nilai: 90 + CPMK1-3: JavaScript (Bobot: 25%) → Nilai: 78 + CPMK1-4: Framework (Bobot: 25%) → Nilai: 82 + + Nilai MK = (85×0.2) + (90×0.3) + (78×0.25) + (82×0.25) = 84.5 + ``` + +4. **Simpan Nilai** + - Klik tombol **"Simpan Nilai"** + - Sistem otomatis: + * Menghitung nilai MK + * Mendistribusikan ke CPL terkait + * Menyimpan ke localStorage + - Notifikasi sukses muncul + +### Kalkulasi Otomatis (Weighted Average) + +**Formula:** +1. **Nilai MK** = Σ (Nilai CPMK × Bobot CPMK) +2. **Nilai CPL** = Σ (Nilai CPMK terkait × Bobot CPMK) / Jumlah CPMK + +**Contoh Distribusi:** +``` +CPL3: Mampu menerapkan pemikiran logis +├── MK: Pemrograman Web (Bobot: 100% / 8 MK = 12.5%) +│ ├── CPMK1-1 → CPL3 (Kontribusi: 12.5% × 20% = 2.5%) +│ ├── CPMK1-2 → CPL3 (Kontribusi: 12.5% × 30% = 3.75%) +│ └── dst... +└── Nilai CPL3 = Rata-rata tertimbang dari semua CPMK +``` + +--- + +## 4. Laporan CPL dengan CPMK Breakdown + +### Akses Laporan + +1. Klik **"Laporan"** di sidebar +2. Filter laporan: + - **Mahasiswa**: Pilih dari dropdown (tersaring per prodi) + - **Semester**: Pilih semester 1-8 +3. Klik **"Generate Laporan"** + +### Fitur Laporan (NEW!) + +#### **1. Tabel CPL dengan Breakdown** +- Tabel utama menampilkan 8 CPL dengan nilai +- **Klik baris CPL** untuk membuka breakdown detail +- Expandable accordion menampilkan: + * **Mata Kuliah** yang berkontribusi ke CPL + * **CPMK** dalam setiap MK + * **Bobot** masing-masing CPMK + * **Nilai Tertimbang** (Nilai × Bobot) + * **Kontribusi ke CPL** (persentase) + +**Contoh Breakdown:** +``` +📘 CPL3: Mampu menerapkan pemikiran logis (Nilai: 82.5) [Klik untuk expand] + + 📗 Pemrograman Web (INF101) - 3 SKS + ┌─────────────┬───────┬───────────────┬─────────────┐ + │ CPMK │ Bobot │ Nilai │ Kontribusi │ + ├─────────────┼───────┼───────────────┼─────────────┤ + │ CPMK1-1 │ 20% │ 85 × 0.20 = 17│ 2.5% ke CPL │ + │ CPMK1-2 │ 30% │ 90 × 0.30 = 27│ 3.75% ke CPL│ + │ CPMK1-3 │ 25% │ 78 × 0.25 = 20│ 3.13% ke CPL│ + │ CPMK1-4 │ 25% │ 82 × 0.25 = 21│ 3.13% ke CPL│ + └─────────────┴───────┴───────────────┴─────────────┘ + + 📗 Struktur Data (INF102) - 3 SKS + [Daftar CPMK...] +``` + +#### **2. Visualisasi** +- **Radar Chart**: Overview 8 CPL +- **Bar Chart**: Perbandingan per CPL +- **Progress Indicator**: Status tercapai/cukup/belum + +#### **3. Export** +- **Export PDF**: Download laporan lengkap dengan breakdown +- **Export Excel**: Data tabular untuk analisis lanjut + +### Tips Membaca Laporan + +- **Status CPL:** + * 🟢 **Tercapai** (≥75): Target sudah tercapai + * 🟡 **Cukup** (60-74): Perlu peningkatan + * 🔴 **Belum Tercapai** (<60): Perlu perhatian khusus + +- **Interpretasi Bobot:** + * Bobot CPMK menunjukkan tingkat kepentingan dalam MK + * Kontribusi ke CPL = Bobot MK × Bobot CPMK + * CPL dengan banyak MK memiliki bobot terdistribusi + +--- + +## 5. Manajemen Data & Import Nilai + +### Overview Menu Manajemen Data (NEW!) + +Menu ini menyediakan 4 tab untuk mengelola data secara efisien: + +#### **Tab 1: Import Nilai** + +**Fungsi:** Import data nilai mahasiswa dari file Excel/CSV secara batch + +**Langkah-langkah:** +1. **Pilih Filter** + - Prodi: Informatika/Arsitektur/PWK/Sipil/Elektro + - Semester: 1-8 + +2. **Download Template** + - Klik **"Download Contoh File"** + - Tersedia format: `.xlsx` dan `.csv` + - Template berisi kolom: NIM, Nama, MK1, MK2, ...MKn + +3. **Upload File** + - Klik **"Pilih File"** atau drag & drop + - Format yang diterima: `.xlsx`, `.csv` + - Maksimal ukuran: 5MB + +4. **Preview Data** + - Sistem menampilkan preview tabel + - Validasi otomatis: NIM, Nilai (0-100) + - Tampilkan error jika ada data tidak valid + +5. **Import** + - Klik **"Import Data"** + - Sistem otomatis: + * Menyimpan nilai MK + * Menghitung nilai CPMK + * Mendistribusikan ke CPL + * Menyimpan ke localStorage + - Tampilkan hasil: Total, Berhasil, Gagal + +**Format Excel/CSV:** +```csv +NIM,Nama,INF101,INF102,INF103,INF104,INF105,INF106,INF107,INF108 +105841109601,Andi Miftah,85,90,78,82,88,75,92,80 +105841109602,Annisya Ariska,90,85,82,88,92,78,85,87 +... +``` + +**Contoh File Disediakan:** +- `contoh-import-informatika-sem1.xlsx` (10 mahasiswa, 8 MK) +- `contoh-import-informatika-sem2.xlsx` (10 mahasiswa, 7 MK) +- `contoh-import-arsitektur-sem2.xlsx` (10 mahasiswa, 9 MK) +- Format CSV juga tersedia + +#### **Tab 2: Mahasiswa** + +**Fungsi:** Monitoring mahasiswa yang sudah memiliki nilai + +**Fitur:** +- Tabel mahasiswa dengan data nilai +- Kolom: + * NIM + * Nama + * Prodi + * Angkatan + * Semester + * Total Nilai (jumlah MK yang sudah diinput) + * Dari Import (jumlah nilai hasil import) + * Status: 🟢 Terimport / 🔵 Mock Data / ⚪ Manual + +**Filter:** +- Prodi (dropdown) +- Refresh button untuk update real-time + +**Statistik Mahasiswa:** +- Total mahasiswa dengan nilai +- Rata-rata nilai per mahasiswa +- Mahasiswa dengan nilai lengkap + +#### **Tab 3: Mata Kuliah** + +**Fungsi:** Statistik nilai per mata kuliah + +**Tampilan:** Grid cards per MK + +**Informasi per MK:** +- Kode & Nama MK +- SKS +- Jumlah mahasiswa yang mengambil +- Statistik nilai: + * Rata-rata (dengan color coding) + * Nilai minimum + * Nilai maksimum + * Progress bar visual +- Data import: Jumlah nilai dari import batch + +**Filter:** +- Prodi (dropdown) +- Semester (dropdown) +- Refresh button + +**Color Coding:** +- 🟢 Hijau: Rata-rata ≥75 (Baik) +- 🟡 Kuning: Rata-rata 60-74 (Cukup) +- 🔴 Merah: Rata-rata <60 (Kurang) + +#### **Tab 4: CPL & CPMK** + +**Fungsi:** Overview pencapaian CPL dengan distribusi + +**Summary Cards:** +- 🟢 **CPL Tercapai**: Jumlah CPL dengan rata-rata ≥75 +- 🟡 **CPL Cukup**: Jumlah CPL dengan rata-rata 60-74 +- 🔴 **CPL Belum Tercapai**: Jumlah CPL dengan rata-rata <60 + +**Tabel CPL:** +- Kode CPL +- Deskripsi lengkap +- Jumlah mahasiswa +- Statistik: + * Rata-rata + * Minimum + * Maksimum +- Distribusi (badges): + * ✅ Tercapai (hijau) + * ⚠️ Cukup (kuning) + * ❌ Belum Tercapai (merah) + +**Info Box:** +- Penjelasan kalkulasi otomatis CPL dari CPMK +- Formula perhitungan weighted average + +**Filter:** +- Prodi (dropdown) +- Semester (dropdown) +- Refresh button + +### Integrasi Antar Tab + +**Workflow:** +``` +1. Tab Import Nilai + ↓ + [Upload Excel/CSV] → [Preview] → [Import] + ↓ + Data tersimpan di localStorage + ↓ +2. Tab Mahasiswa + ↓ + [Refresh] → Menampilkan mahasiswa dengan nilai baru + ↓ +3. Tab Mata Kuliah + ↓ + [Refresh] → Statistik MK terupdate + ↓ +4. Tab CPL & CPMK + ↓ + [Refresh] → CPL dihitung otomatis dari nilai MK +``` + +**Real-time Update:** +- Setiap import otomatis trigger refresh +- Tombol **"Refresh"** di setiap tab untuk manual update +- Integrasi penuh: localStorage → dataIntegration.ts → UI + +--- + +## 6. CPL & Pemetaan Kurikulum + +### Akses Menu CPL Mapping + +1. Klik **"CPL & Pemetaan"** di sidebar +2. Tampilan tabel matrix: CPL vs MK vs CPMK + +### Struktur Data (Per Prodi) + +#### **Informatika (INF) - 69 Mata Kuliah, 144 SKS** +- **8 CPL:** CPL1-CPL8 +- **69 MK:** INF101-INF169 +- **CPMK Detail:** 6 MK memiliki CPMK lengkap dengan bobot + +**Contoh MK Informatika:** +| Semester | Kode MK | Nama MK | SKS | CPL Terkait | +|----------|---------|---------|-----|-------------| +| 1 | INF101 | Pemrograman Web | 3 | CPL3, CPL6, CPL7 | +| 1 | INF102 | Struktur Data | 3 | CPL3, CPL5 | +| 1 | INF103 | Matematika Diskrit | 3 | CPL2, CPL3 | +| 2 | INF201 | Basis Data | 3 | CPL4, CPL6 | +| 2 | INF202 | Pemrograman Berorientasi Objek | 3 | CPL3, CPL5 | + +**Lihat daftar lengkap:** [MK_CODES.md](#mk-codes-reference) (akan dibuat) + +#### **Arsitektur (ARS) - 50+ Mata Kuliah, 145 SKS** +- **8 CPL:** CPL1-CPL8 +- **50+ MK:** ARS101-ARS5xx +- **CPMK Detail:** 7 MK memiliki CPMK lengkap + +**Contoh MK Arsitektur:** +| Semester | Kode MK | Nama MK | SKS | CPL Terkait | +|----------|---------|---------|-----|-------------| +| 1 | ARS101 | Pengantar Arsitektur | 2 | CPL1, CPL2 | +| 1 | ARS102 | Gambar Teknik | 3 | CPL3, CPL4 | +| 2 | ARS201 | Studio Perancangan 1 | 4 | CPL2, CPL3, CPL5 | + +#### **PWK, Sipil, Elektro** +- Masing-masing memiliki struktur CPL dan MK tersendiri +- Total ~50-70 MK per prodi +- Daftar lengkap tersedia di MK_CODES.md + +### Pemetaan CPMK ke CPL + +**Contoh Mapping (Pemrograman Web - INF101):** + +| CPMK | Deskripsi | Bobot CPMK | CPL Terkait | Bobot ke CPL | +|------|-----------|------------|-------------|--------------| +| CPMK1-1 | Konsep dasar web | 20% | CPL3 | 30% | +| CPMK1-2 | HTML/CSS | 30% | CPL6 | 40% | +| CPMK1-3 | JavaScript | 25% | CPL6 | 35% | +| CPMK1-4 | Framework | 25% | CPL7 | 45% | + +**Interpretasi:** +- CPMK1-1 berkontribusi 20% terhadap nilai MK +- CPMK1-1 berkontribusi 30% terhadap CPL3 dari MK ini +- Jika Nilai CPMK1-1 = 85, kontribusi ke MK = 85 × 0.20 = 17 +- Kontribusi ke CPL3 = 85 × (100%/jumlah MK) × 0.20 = ... + +--- + +## 7. Tips & Troubleshooting + +### Tips Penggunaan + +✅ **Gunakan Import untuk Batch Data** +- Lebih cepat untuk input banyak mahasiswa +- Download template untuk format yang benar +- Validasi data di Excel sebelum import + +✅ **Input Manual untuk Update Cepat** +- Gunakan untuk update nilai individual +- Real-time calculation + +✅ **Manfaatkan Tab Manajemen** +- Tab Mahasiswa: Cek kelengkapan nilai +- Tab Mata Kuliah: Monitoring performa MK +- Tab CPL: Monitoring pencapaian agregat + +✅ **Breakdown CPMK di Laporan** +- Klik CPL untuk melihat detail kontribusi +- Identifikasi CPMK yang lemah +- Fokus perbaikan pada CPMK dengan kontribusi besar + +✅ **Refresh Setelah Import** +- Klik refresh di setiap tab untuk update data +- Sistem otomatis refresh setelah import + +✅ **Export Laporan Berkala** +- Export PDF untuk dokumentasi +- Export Excel untuk analisis lanjut + +### Troubleshooting + +❌ **File Import Gagal** +- **Cek format:** Harus `.xlsx` atau `.csv` +- **Cek kolom:** NIM dan Nama harus ada +- **Cek nilai:** Harus angka 0-100 +- **Cek encoding CSV:** Gunakan UTF-8 + +❌ **Preview Tidak Muncul** +- File terlalu besar (>5MB) +- Format tidak didukung +- Coba download ulang template + +❌ **Data Tidak Terupdate di Tab Lain** +- Klik tombol **"Refresh"** manual +- Clear browser cache (Ctrl+Shift+Del) +- Reload halaman (F5) + +❌ **Nilai CPL Tidak Berubah Setelah Import** +- Pastikan MK yang diimport ter-mapping ke CPL +- Cek di Tab CPL apakah CPMK sudah ada bobot +- Refresh dashboard (F5) + +❌ **Breakdown CPMK Tidak Muncul** +- Pastikan laporan sudah di-generate +- Klik baris CPL untuk expand +- Pastikan ada data nilai untuk mahasiswa tersebut + +❌ **Export PDF/Excel Belum Berfungsi** +- Fitur masih mockup di development +- Akan diaktifkan di production + +### Keyboard Shortcuts + +- `Ctrl + R` atau `F5`: Refresh halaman +- `Tab`: Navigasi antar input field +- `Enter`: Submit form +- `Esc`: Tutup modal/dropdown + +### Command Cheat Sheet (Development) + +```bash +# Start development server +npm run dev + +# Build for production +npm run build + +# Run production build +npm start + +# Clear cache +rm -rf .next && npm run dev + +# Check errors +npm run lint +``` + +--- + +## 📱 Akses Mobile + +Sistem CPL responsive dan dapat diakses via smartphone: + +1. Buka browser mobile (Chrome, Safari, Firefox) +2. Akses URL: `http://localhost:3000` atau domain production +3. Fitur mobile: + - Sidebar → Hamburger menu + - Chart → Optimized untuk layar kecil + - Table → Horizontal scroll + - Cards → Stacked layout + - Touch-friendly buttons + +--- + +## 🔄 Update Data (Development Mode) + +### Data Mock + +File: `src/data/mockData.ts` + +**Struktur:** +```typescript +// 5 Prodi +export const prodiData = [...]; + +// 8 CPL per prodi +export const cplData = [...]; + +// Mahasiswa +export const mahasiswaData = [...]; + +// Mata Kuliah (69 untuk Informatika, 50+ untuk lainnya) +export const mkData = [...]; + +// CPMK dengan bobot +export const cpmkData = [...]; + +// Mapping CPMK → CPL +export const cpmkToCplMapping = [...]; +``` + +### Data Integration + +File: `src/utils/dataIntegration.ts` + +**Fungsi utama:** +- `getCombinedNilaiData()`: Merge localStorage + mockData +- `hitungNilaiCPLPerSemesterIntegrated()`: Kalkulasi CPL +- `hitungCPMKBreakdownPerCPL()`: Breakdown detail CPMK + +**Priority:** localStorage > mockData + +--- + +## 📚 MK Codes Reference + +### Informatika (69 MK, 144 SKS) + +**Semester 1 (8 MK, 20 SKS):** +- INF101: Pemrograman Web (3 SKS) → CPL3, CPL6, CPL7 +- INF102: Struktur Data (3 SKS) → CPL3, CPL5 +- INF103: Matematika Diskrit (3 SKS) → CPL2, CPL3 +- INF104: Algoritma Pemrograman (3 SKS) → CPL3, CPL5 +- INF105: Sistem Digital (2 SKS) → CPL4, CPL5 +- INF106: Bahasa Inggris Teknik (2 SKS) → CPL1, CPL8 +- INF107: Pancasila (2 SKS) → CPL1, CPL8 +- INF108: Pendidikan Agama (2 SKS) → CPL1, CPL8 + +**Semester 2 (7 MK, 18 SKS):** +- INF201: Basis Data (3 SKS) → CPL4, CPL6 +- INF202: Pemrograman Berorientasi Objek (3 SKS) → CPL3, CPL5 +- INF203: Sistem Operasi (3 SKS) → CPL4, CPL5 +- INF204: Jaringan Komputer (3 SKS) → CPL4, CPL5 +- INF205: Statistika (2 SKS) → CPL2, CPL3 +- INF206: Kewarganegaraan (2 SKS) → CPL1, CPL8 +- INF207: Bahasa Indonesia (2 SKS) → CPL1, CPL8 + +*[Untuk daftar lengkap semua semester, lihat MK_CODES.md]* + +### Arsitektur (50+ MK, 145 SKS) + +**Semester 1:** +- ARS101: Pengantar Arsitektur (2 SKS) → CPL1, CPL2 +- ARS102: Gambar Teknik (3 SKS) → CPL3, CPL4 +- ARS103: Matematika Teknik (3 SKS) → CPL2, CPL3 +- *[Lihat MK_CODES.md untuk lengkap]* + +### PWK, Sipil, Elektro + +Daftar lengkap MK untuk 3 prodi lainnya tersedia di **MK_CODES.md** + +--- + +## 🧪 Testing Checklist + +### Login Testing +- [ ] Login dengan 5 akun kaprodi berhasil +- [ ] Quick login berfungsi +- [ ] Redirect ke dashboard sesuai prodi +- [ ] Logout berhasil + +### Dashboard Testing +- [ ] Tree diagram tampil dan interactive +- [ ] Expand/collapse CPL-MK-CPMK works +- [ ] Statistik cards tampil benar +- [ ] Radar chart render dengan 8 CPL + +### Input Nilai Testing +- [ ] Dropdown mahasiswa tersaring per prodi +- [ ] Dropdown MK tersaring per semester +- [ ] Input nilai 0-100 dengan validasi +- [ ] Kalkulasi real-time berfungsi +- [ ] Simpan nilai berhasil +- [ ] localStorage update + +### Laporan Testing +- [ ] Generate laporan berhasil +- [ ] Tabel CPL tampil dengan 8 rows +- [ ] Klik CPL expand breakdown +- [ ] Breakdown menampilkan MK cards +- [ ] Breakdown menampilkan tabel CPMK +- [ ] Bobot dan nilai tertimbang benar +- [ ] Export button tampil (mockup) + +### Manajemen Data Testing +- [ ] Tab Import: Upload .xlsx berhasil +- [ ] Tab Import: Upload .csv berhasil +- [ ] Tab Import: Preview tampil benar +- [ ] Tab Import: Import data save ke localStorage +- [ ] Tab Mahasiswa: Tampilkan mahasiswa dengan nilai +- [ ] Tab Mahasiswa: Filter prodi works +- [ ] Tab Mata Kuliah: Statistik MK tampil +- [ ] Tab Mata Kuliah: Color coding benar +- [ ] Tab CPL: Summary cards update +- [ ] Tab CPL: Distribusi badges tampil +- [ ] Refresh button di semua tab works +- [ ] Integrasi antar tab berfungsi + +### CPL Mapping Testing +- [ ] Tabel matrix tampil +- [ ] 8 CPL untuk setiap prodi +- [ ] CPMK mapping ke CPL benar + +### Responsive Testing +- [ ] Mobile: Hamburger menu works +- [ ] Mobile: Sidebar collapse +- [ ] Mobile: Table horizontal scroll +- [ ] Mobile: Cards stack vertically +- [ ] Tablet: Layout adjust +- [ ] Desktop: Full layout + +--- + +## 🆘 Bantuan Lebih Lanjut + +### Dokumentasi +- **Quick Start**: `QUICK_START.md` (dokumen ini) +- **Technical Docs**: `TECHNICAL_DOC.md` +- **README**: `README.md` +- **Import Guide**: `PANDUAN-IMPORT-NILAI.md` +- **MK Codes**: `MK_CODES.md` + +### Kontak +- **Developer**: Lihat TECHNICAL_DOC.md +- **User Support**: Hubungi administrator sistem +- **Bug Report**: Catat error message dan langkah reproduksi +- **GitHub**: https://github.com/Nur-Hidayat-FTI22E/CPL_Sign.git + +--- + +**© 2025 Universitas Muhammadiyah Makassar** + +*Panduan ini untuk versi development. Fitur production mungkin berbeda.* + +**Version:** 2.0 (Updated with Import Feature & CPMK Breakdown) +**Last Updated:** Januari 2025 diff --git a/FrontEnd/README.md b/FrontEnd/README.md new file mode 100644 index 0000000..542ed53 --- /dev/null +++ b/FrontEnd/README.md @@ -0,0 +1,602 @@ +# 🎓 Sistem Capaian Pembelajaran Lulusan (CPL) + +**Universitas Muhammadiyah Makassar** + +Sistem terintegrasi untuk mengukur, memantau, dan mengelola Capaian Pembelajaran Lulusan (CPL) di 5 Program Studi Fakultas Teknik. + +[![Next.js](https://img.shields.io/badge/Next.js-14.2-black?logo=next.js)](https://nextjs.org/) +[![React](https://img.shields.io/badge/React-19.0-blue?logo=react)](https://reactjs.org/) +[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue?logo=typescript)](https://www.typescriptlang.org/) +[![Tailwind CSS](https://img.shields.io/badge/Tailwind-3.3-38bdf8?logo=tailwind-css)](https://tailwindcss.com/) +[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) + +--- + +## 📖 Daftar Isi + +- [Tentang Sistem](#-tentang-sistem) +- [Fitur Utama](#-fitur-utama) +- [Screenshot](#-screenshot) +- [Tech Stack](#️-tech-stack) +- [Quick Start](#-quick-start) +- [Struktur Project](#-struktur-project) +- [Dokumentasi](#-dokumentasi) +- [Akun Demo](#-akun-demo) +- [Deployment](#-deployment) +- [Kontribusi](#-kontribusi) +- [Lisensi](#-lisensi) + +--- + +## 🎯 Tentang Sistem + +Sistem CPL adalah aplikasi web modern untuk mengelola dan memantau Capaian Pembelajaran Lulusan (CPL) sesuai dengan standar SNPT (Standar Nasional Pendidikan Tinggi). Sistem ini dirancang untuk membantu: + +- **Kaprodi**: Monitoring pencapaian CPL mahasiswa di program studi +- **Dosen**: Input dan evaluasi nilai mata kuliah +- **Admin**: Manajemen data dan konfigurasi sistem +- **Mahasiswa**: Melihat progress pencapaian pembelajaran + +### 🏫 Program Studi yang Didukung + +1. **S1 Teknik Informatika (INF)** - 69 Mata Kuliah, 144 SKS +2. **S1 Arsitektur (ARS)** - 50+ Mata Kuliah, 145 SKS +3. **S1 Perencanaan Wilayah Kota (PWK)** - 50+ Mata Kuliah +4. **S1 Teknik Sipil (SIP)** - 50+ Mata Kuliah +5. **S1 Teknik Elektro (ELK)** - 50+ Mata Kuliah + +Setiap program studi memiliki **8 CPL** yang terstruktur sesuai kurikulum masing-masing. + +--- + +## ✨ Fitur Utama + +### 🏠 **Dashboard dengan Tree Diagram** +- Visualisasi hierarki **CPL → Mata Kuliah → CPMK** +- Expandable tree untuk eksplorasi detail +- Statistik cepat: Total mahasiswa, MK, CPL tercapai +- Grafik Radar Chart untuk overview 8 CPL + +### ✏️ **Input Nilai Manual** +- Form input nilai per CPMK dengan bobot otomatis +- Kalkulasi real-time nilai MK +- Auto-distribusi ke CPL terkait +- Validasi nilai 0-100 + +### 📊 **Laporan CPL dengan CPMK Breakdown** ⭐ NEW! +- Generate laporan per mahasiswa & semester +- **Tabel CPL expandable**: Klik untuk melihat detail +- **Breakdown lengkap**: CPL → MK → CPMK dengan bobot +- Menampilkan: + - Bobot setiap CPMK dalam MK + - Nilai tertimbang (Nilai × Bobot) + - Kontribusi ke CPL (persentase) +- Export PDF/Excel (mockup) + +### 📁 **Manajemen Data & Import Nilai** ⭐ NEW! + +**4 Tab Terintegrasi:** + +#### 1️⃣ **Tab Import Nilai** +- Upload file Excel (.xlsx) atau CSV +- Preview data sebelum import +- Validasi otomatis NIM dan nilai +- Auto-kalkulasi CPL dari nilai MK +- Statistik hasil import (Total, Sukses, Gagal) + +#### 2️⃣ **Tab Mahasiswa** +- Monitoring mahasiswa dengan nilai +- Filter per prodi +- Status: 🟢 Terimport / 🔵 Mock Data / ⚪ Manual +- Statistik: Total nilai, dari import, kelengkapan + +#### 3️⃣ **Tab Mata Kuliah** +- Grid cards dengan statistik per MK +- Rata-rata nilai dengan color coding: + - 🟢 Hijau (≥75): Baik + - 🟡 Kuning (60-74): Cukup + - 🔴 Merah (<60): Kurang +- Min-Max nilai, jumlah mahasiswa +- Progress bar visual + +#### 4️⃣ **Tab CPL & CPMK** +- Summary cards: Tercapai, Cukup, Belum Tercapai +- Tabel CPL dengan distribusi +- Info kalkulasi otomatis +- Filter prodi & semester + +**Integrasi Real-time:** +- Import → Auto refresh semua tab +- localStorage → Persist data +- Tombol refresh manual di setiap tab + +### 🎯 **CPL & Pemetaan Kurikulum** +- Matrix mapping CPL ↔ MK ↔ CPMK +- Visualisasi bobot kontribusi +- 8 CPL per prodi dengan deskripsi lengkap + +### 🎨 **UI/UX Modern** +- **Responsive Design**: Desktop, tablet, mobile +- **Dark Mode Compatible**: Siap untuk dark theme +- **Interactive Charts**: Recharts untuk visualisasi +- **Smooth Animations**: Tailwind CSS transitions +- **Accessible**: ARIA labels, keyboard navigation + +--- + +## 📸 Screenshot + +### Dashboard dengan Tree Diagram +``` +┌─────────────────────────────────────────────────────────┐ +│ 📊 Dashboard CPL - Teknik Informatika │ +├─────────────────────────────────────────────────────────┤ +│ 📘 CPL1: Mampu menerapkan pemikiran logis │ +│ └─ 📗 Pemrograman Web (INF101) - 3 SKS │ +│ ├─ 🟣 CPMK1-1: Konsep dasar (20%) │ +│ ├─ 🟣 CPMK1-2: HTML/CSS (30%) │ +│ ├─ 🟣 CPMK1-3: JavaScript (25%) │ +│ └─ 🟣 CPMK1-4: Framework (25%) │ +│ └─ 📗 Struktur Data (INF102) - 3 SKS │ +│ ├─ 🟣 CPMK2-1: Array & Linked List (25%) │ +│ └─ 🟣 CPMK2-2: Tree & Graph (25%) │ +└─────────────────────────────────────────────────────────┘ +``` + +### Laporan CPL dengan Breakdown +``` +┌─────────────────────────────────────────────────────────┐ +│ 📊 Laporan CPL - Andi Miftah (105841109601) │ +│ Semester 1 | 2023/2024 Ganjil │ +├─────────────────────────────────────────────────────────┤ +│ CPL3: Mampu menerapkan pemikiran logis [▼ Expand] │ +│ Nilai: 82.5 | Status: 🟢 Tercapai │ +│ │ +│ 📗 Pemrograman Web (INF101) - 3 SKS │ +│ ┌────────────┬───────┬──────────────┬─────────────┐ │ +│ │ CPMK │ Bobot │ Nilai │ Kontribusi │ │ +│ ├────────────┼───────┼──────────────┼─────────────┤ │ +│ │ CPMK1-1 │ 20% │ 85 → 17.0 │ 2.5% → CPL │ │ +│ │ CPMK1-2 │ 30% │ 90 → 27.0 │ 3.75% → CPL │ │ +│ │ CPMK1-3 │ 25% │ 78 → 19.5 │ 3.13% → CPL │ │ +│ │ CPMK1-4 │ 25% │ 82 → 20.5 │ 3.13% → CPL │ │ +│ └────────────┴───────┴──────────────┴─────────────┘ │ +│ Nilai MK: 84.0 | Kontribusi ke CPL3: 12.5% │ +└─────────────────────────────────────────────────────────┘ +``` + +### Manajemen Data - Import Tab +``` +┌─────────────────────────────────────────────────────────┐ +│ 📁 Manajemen Data - Import Nilai │ +├─────────────────────────────────────────────────────────┤ +│ Prodi: [Informatika ▼] Semester: [1 ▼] │ +│ │ +│ 📎 Upload File Excel/CSV │ +│ ┌─────────────────────────────────────────────────┐ │ +│ │ Drag & drop file atau klik untuk pilih │ │ +│ │ Format: .xlsx, .csv | Max: 5MB │ │ +│ └─────────────────────────────────────────────────┘ │ +│ │ +│ 📋 Preview Data (10 rows) │ +│ ┌────────┬─────────────┬───────┬───────┬───────┐ │ +│ │ NIM │ Nama │ INF101│ INF102│ ... │ │ +│ ├────────┼─────────────┼───────┼───────┼───────┤ │ +│ │ 105... │ Andi Miftah │ 85 │ 90 │ ... │ │ +│ │ 105... │ Annisya │ 90 │ 85 │ ... │ │ +│ └────────┴─────────────┴───────┴───────┴───────┘ │ +│ │ +│ [✅ Import Data] [📥 Download Template] │ +│ │ +│ ✓ Import berhasil: 10 data | 0 gagal │ +└─────────────────────────────────────────────────────────┘ +``` + +--- + +## 🛠️ Tech Stack + +### Frontend +- **Framework**: Next.js 14.2.33 (App Router) +- **UI Library**: React 19.0.0 +- **Language**: TypeScript 5.x + JavaScript +- **Styling**: Tailwind CSS 3.3 +- **Charts**: Recharts 2.10.x +- **Excel Parsing**: xlsx 0.18.5 + +### State & Data +- **State Management**: React Hooks (useState, useEffect, useCallback) +- **Data Storage**: localStorage (development) → PostgreSQL (production) +- **Data Integration**: Custom integration layer (`dataIntegration.ts`) + +### Development Tools +- **Linter**: ESLint 9.x +- **Formatter**: Prettier (recommended) +- **Package Manager**: npm (recommended) / yarn / pnpm + +--- + +## 🚀 Quick Start + +### Prerequisites + +```bash +Node.js: 18+ or 20+ +npm: 9+ (comes with Node.js) +``` + +### Installation + +```bash +# 1. Clone repository +git clone https://github.com/Nur-Hidayat-FTI22E/CPL_Sign.git +cd CPL_Sign + +# 2. Install dependencies +npm install + +# 3. Run development server +npm run dev + +# 4. Open browser +# Navigate to http://localhost:3000 +``` + +### Build for Production + +```bash +# Build +npm run build + +# Start production server +npm start + +# Server runs on http://localhost:3000 +``` + +--- + +## 📂 Struktur Project + +``` +kkp-plus-new/ +├── src/ +│ ├── app/ # Next.js App Router +│ │ ├── page.jsx # Landing page +│ │ ├── (auth)/login/ # Login page +│ │ ├── dashboard/ # Dashboard + Tree diagram +│ │ ├── input-nilai/ # Manual input form +│ │ ├── laporan/ # Laporan dengan breakdown +│ │ ├── manajemen/ # 4 tabs: Import, Mahasiswa, MK, CPL +│ │ ├── cpl-mapping/ # CPL mapping matrix +│ │ ├── penilaian/ # Penilaian module +│ │ └── pengumuman/ # Announcement +│ │ +│ ├── components/ # Reusable components +│ │ ├── Navbar.jsx +│ │ ├── Sidebar.jsx +│ │ ├── RadarCPL.jsx +│ │ ├── CpmkBreakdownDisplay.jsx +│ │ └── ... +│ │ +│ ├── data/ # Data layer +│ │ ├── mock.js # Informatika data +│ │ ├── mock-arsitektur.js # Arsitektur data +│ │ └── kurikulumArsitektur.js +│ │ +│ └── utils/ # Utilities +│ ├── dataIntegration.ts # Core integration +│ └── gradeCalculator.js +│ +├── public/ # Static assets +├── contoh-import-*.xlsx # Example files +├── QUICK_START.md # Quick guide +├── TECHNICAL_DOC.md # Technical docs +├── PANDUAN-IMPORT-NILAI.md # Import guide +├── package.json +└── README.md # This file +``` + +**Key Files:** +- `src/utils/dataIntegration.ts`: Core logic untuk merge data & kalkulasi CPL +- `src/app/dashboard/manajemen/page.tsx`: 4-tab management system +- `src/app/dashboard/laporan/page.tsx`: Laporan dengan CPMK breakdown +- `src/data/mock.js`: Static data Informatika (69 MK, 8 CPL) + +--- + +## 📚 Dokumentasi + +### 📖 Dokumentasi Lengkap + +| Dokumen | Deskripsi | Link | +|---------|-----------|------| +| **QUICK_START.md** | Panduan cepat untuk pengguna | [Buka](./QUICK_START.md) | +| **TECHNICAL_DOC.md** | Dokumentasi teknis untuk developer | [Buka](./TECHNICAL_DOC.md) | +| **PANDUAN-IMPORT-NILAI.md** | Cara import nilai dari Excel/CSV | [Buka](./PANDUAN-IMPORT-NILAI.md) | +| **MK_CODES.md** | Daftar kode mata kuliah semua prodi | [Akan dibuat] | + +### 🎓 Panduan Penggunaan + +1. **Login**: Gunakan akun kaprodi sesuai prodi +2. **Dashboard**: Lihat overview CPL dengan tree diagram +3. **Input Nilai**: Input manual atau import batch dari Excel +4. **Laporan**: Generate laporan dengan breakdown detail CPMK +5. **Manajemen**: Monitor data mahasiswa, MK, dan CPL + +### 📊 Cara Kerja Sistem + +**Alur Kalkulasi CPL:** +``` +Input Nilai MK (per CPMK) + ↓ +Nilai MK = Σ (Nilai CPMK × Bobot CPMK) + ↓ +Nilai CPL = Σ (Nilai CPMK × Bobot MK × Bobot CPMK) / Σ (Bobot MK × Bobot CPMK) + ↓ +Status: Tercapai (≥75) | Cukup (60-74) | Belum (<60) +``` + +**Contoh Perhitungan:** +``` +CPL3: Mampu menerapkan pemikiran logis +├── MK: Pemrograman Web (Bobot: 12.5% dari 8 MK) +│ ├── CPMK1-1 (20%): Nilai 85 → Kontribusi: 85 × 0.125 × 0.20 = 2.125 +│ ├── CPMK1-2 (30%): Nilai 90 → Kontribusi: 90 × 0.125 × 0.30 = 3.375 +│ └── ... +└── Nilai CPL3 = Σ Kontribusi / Σ Bobot +``` + +--- + +## 🔐 Akun Demo + +Sistem menyediakan 5 akun demo untuk testing: + +### Kaprodi (5 Program Studi) + +| Program Studi | Email | Password | Kode | +|--------------|-------|----------|------| +| **Teknik Informatika** | kaprodi.informatika@unismuh.ac.id | kaprodi123 | INF | +| **Arsitektur** | kaprodi.arsitektur@unismuh.ac.id | kaprodi123 | ARS | +| **Perencanaan Wilayah Kota** | kaprodi.pwk@unismuh.ac.id | kaprodi123 | PWK | +| **Teknik Sipil** | kaprodi.sipil@unismuh.ac.id | kaprodi123 | SIP | +| **Teknik Elektro** | kaprodi.elektro@unismuh.ac.id | kaprodi123 | ELK | + +**Cara Login:** +1. Buka http://localhost:3000/login +2. Pilih role dari dropdown +3. Klik **"Quick Login"** atau input manual +4. Redirect ke dashboard prodi + +--- + +## 📦 Dependencies + +### Production Dependencies + +```json +{ + "next": "14.2.33", + "react": "19.0.0", + "react-dom": "19.0.0", + "recharts": "^2.10.0", + "xlsx": "^0.18.5" +} +``` + +### Development Dependencies + +```json +{ + "@eslint/eslintrc": "^3.2.0", + "eslint": "^9.17.0", + "postcss": "^8.4.49", + "tailwindcss": "^3.3.0" +} +``` + +--- + +## 🚀 Deployment + +### Vercel (Recommended) + +```bash +# Install Vercel CLI +npm i -g vercel + +# Deploy +vercel --prod +``` + +### Docker + +```bash +# Build image +docker build -t cpl-system . + +# Run container +docker run -p 3000:3000 cpl-system +``` + +### Environment Variables + +```env +# .env.local (development) +NEXT_PUBLIC_APP_URL=http://localhost:3000 + +# .env.production +NEXT_PUBLIC_APP_URL=https://cpl.unismuh.ac.id +DATABASE_URL=postgresql://user:pass@host:5432/cpl +JWT_SECRET=your-secret-key +``` + +--- + +## 🧪 Testing + +```bash +# Run unit tests +npm run test + +# Run tests with coverage +npm run test:coverage + +# Run E2E tests +npm run test:e2e +``` + +--- + +## 🤝 Kontribusi + +Kami menyambut kontribusi dari komunitas! Berikut cara berkontribusi: + +### Workflow Git + +```bash +# 1. Fork repository +# 2. Clone fork Anda +git clone https://github.com/YOUR_USERNAME/CPL_Sign.git + +# 3. Buat branch baru +git checkout -b feature/nama-fitur + +# 4. Commit changes +git commit -m "feat: tambah fitur X" + +# 5. Push ke fork +git push origin feature/nama-fitur + +# 6. Buat Pull Request ke branch FR_branch +``` + +### Commit Convention + +Gunakan [Conventional Commits](https://www.conventionalcommits.org/): + +``` +feat: menambah fitur baru +fix: memperbaiki bug +docs: update dokumentasi +style: formatting, missing semicolons, etc +refactor: refactoring code +test: menambah test +chore: update build tasks, package manager configs, etc +``` + +### Coding Standards + +- **TypeScript**: Gunakan type-safe code +- **ESLint**: Follow linting rules +- **Prettier**: Format code sebelum commit +- **Comments**: Tulis komentar untuk logic kompleks +- **Tests**: Tambahkan tests untuk fitur baru + +--- + +## 📝 Roadmap + +### ✅ Completed (v2.0) +- [x] Dashboard dengan tree diagram CPL-MK-CPMK +- [x] Input nilai manual per CPMK +- [x] Laporan CPL dengan CPMK breakdown +- [x] Import nilai dari Excel/CSV +- [x] Manajemen data 4-tab terintegrasi +- [x] Real-time refresh mechanism +- [x] 5 prodi support (INF, ARS, PWK, SIP, ELK) +- [x] localStorage integration +- [x] Responsive design + +### 🚧 In Progress (v2.1) +- [ ] Export PDF implementasi (jsPDF) +- [ ] Export Excel implementasi (xlsx) +- [ ] MK_CODES.md lengkap semua prodi + +### 🔮 Future (v3.0) +- [ ] Backend API (Express/NestJS) +- [ ] Database integration (PostgreSQL) +- [ ] Real authentication (JWT) +- [ ] Email notifications +- [ ] Advanced analytics dashboard +- [ ] Mobile app (React Native) +- [ ] Real-time collaboration +- [ ] Audit trail & logging + +--- + +## 🐛 Known Issues + +- Export PDF/Excel masih mockup (belum terimplementasi) +- Data masih localStorage (belum database) +- Authentication masih session storage (demo mode) +- Beberapa MK belum ada data CPMK lengkap + +Lihat [Issues](https://github.com/Nur-Hidayat-FTI22E/CPL_Sign/issues) untuk daftar lengkap. + +--- + +## 📄 Lisensi + +Sistem ini dikembangkan untuk **Universitas Muhammadiyah Makassar** dan dilisensikan di bawah [MIT License](LICENSE). + +``` +MIT License + +Copyright (c) 2025 Universitas Muhammadiyah Makassar + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction... +``` + +--- + +## 👥 Tim Pengembang + +**Developer**: [Your Name] +**Institution**: Universitas Muhammadiyah Makassar +**Faculty**: Teknik +**Program**: Teknik Informatika + +--- + +## 🙏 Acknowledgments + +Terima kasih kepada: +- **Universitas Muhammadiyah Makassar** - Dukungan dan fasilitas +- **Fakultas Teknik** - Guidance dan requirements +- **Next.js Team** - Amazing framework +- **Recharts** - Beautiful charts library +- **SheetJS** - Excel parsing made easy +- **Open Source Community** - Inspirasi dan tools + +--- + +## 📞 Kontak & Support + +- **Email**: [contact@unismuh.ac.id] +- **Website**: [https://unismuh.ac.id](https://unismuh.ac.id) +- **GitHub Issues**: [Report Bug](https://github.com/Nur-Hidayat-FTI22E/CPL_Sign/issues) +- **GitHub Discussions**: [Ask Question](https://github.com/Nur-Hidayat-FTI22E/CPL_Sign/discussions) + +--- + +## 🌟 Star History + +Jika sistem ini bermanfaat, berikan ⭐ di GitHub! + +--- + +
+ +**Sistem CPL** adalah bagian dari transformasi digital pendidikan tinggi di Indonesia. + +Dikembangkan dengan ❤️ oleh **Universitas Muhammadiyah Makassar** + +**© 2025 Universitas Muhammadiyah Makassar** + +[Website](https://unismuh.ac.id) • [Documentation](./QUICK_START.md) • [GitHub](https://github.com/Nur-Hidayat-FTI22E/CPL_Sign) + +
diff --git a/FrontEnd/TECHNICAL_DOC.md b/FrontEnd/TECHNICAL_DOC.md new file mode 100644 index 0000000..2efbf15 --- /dev/null +++ b/FrontEnd/TECHNICAL_DOC.md @@ -0,0 +1,1657 @@ +# 📘 Technical Documentation - Sistem CPL + +**Sistem Capaian Pembelajaran Lulusan** +Universitas Muhammadiyah Makassar + +--- + +## 📋 Table of Contents + +1. [System Architecture](#1-system-architecture) +2. [Technology Stack](#2-technology-stack) +3. [Directory Structure](#3-directory-structure) +4. [Data Models](#4-data-models) +5. [Data Flow & Integration](#5-data-flow--integration) +6. [Calculation Algorithms](#6-calculation-algorithms) +7. [Component Architecture](#7-component-architecture) +8. [State Management](#8-state-management) +9. [API & Functions Reference](#9-api--functions-reference) +10. [Security](#10-security) +11. [Performance](#11-performance) +12. [Testing](#12-testing) +13. [Deployment](#13-deployment) + +--- + +## 1. System Architecture + +### High-Level Architecture + +``` +┌─────────────────────────────────────────────────────────────┐ +│ Frontend (Next.js 14) │ +├─────────────────────────────────────────────────────────────┤ +│ Landing Page │ Login │ Dashboard │ Input │ Laporan │ +│ │ Auth │ Overview │ Nilai │ CPL │ +├────────────────┴─────────┴─────────────┴─────────┴──────────┤ +│ Manajemen Data (NEW!) │ +│ ┌──────────┬──────────────┬──────────────┬───────────────┐ │ +│ │ Import │ Mahasiswa │ Mata Kuliah │ CPL & CPMK │ │ +│ │ Nilai │ Monitoring │ Statistics │ Overview │ │ +│ └──────────┴──────────────┴──────────────┴───────────────┘ │ +├─────────────────────────────────────────────────────────────┤ +│ Component Layer │ +│ Navbar │ Sidebar │ Charts │ Tables │ Forms │ Cards │ +├─────────────────────────────────────────────────────────────┤ +│ Data Integration Layer │ +│ getCombinedNilaiData() │ hitungNilaiCPLPerSemester() │ +│ hitungCPMKBreakdownPerCPL() │ Data Merge Logic │ +├─────────────────────────────────────────────────────────────┤ +│ Data Storage Layer │ +│ ┌─────────────────┐ ┌────────────────┐ │ +│ │ localStorage │ + │ mockData.ts │ │ +│ │ (User Input) │ │ (Static) │ │ +│ └─────────────────┘ └────────────────┘ │ +│ Priority: localStorage > mockData │ +└─────────────────────────────────────────────────────────────┘ +``` + +### System Flow Diagram + +``` +[User Login] → [Authentication] + ↓ +[Dashboard] → [Tree Diagram CPL-MK-CPMK] + ↓ +[Input Nilai Manual] ──┐ + ├──→ [localStorage] +[Import Excel/CSV] ────┘ ↓ + [Data Integration Layer] + ↓ + ┌─────────────┴─────────────┐ + ↓ ↓ + [Auto Calculate] [Merge with Mock] + CPL ← CPMK ← MK ↓ + ↓ [Refresh Trigger] + [Update All Tabs] ↓ + ↓ ┌──────┴──────┐ + ┌───────┴────────┐ ↓ ↓ + ↓ ↓ [Mahasiswa] [Mata Kuliah] + [Laporan CPL] [Dashboard] ↓ ↓ + (with Breakdown) (Updated) [CPL & CPMK] [Statistics] +``` + +--- + +## 2. Technology Stack + +### Frontend Framework +```yaml +Core: + - Next.js: 14.2.33 (App Router) + - React: 19.0.0 + - TypeScript: 5.x + +Styling: + - Tailwind CSS: 3.3 + - Custom CSS Variables + - Responsive Design (Mobile-first) + +Libraries: + - Recharts: 2.10.x (Charts & Visualizations) + - xlsx: 0.18.5 (Excel parsing) + - lucide-react: Icons (optional) + +State Management: + - React Hooks (useState, useEffect, useCallback) + - localStorage API + - Session Storage (auth) + +Build Tools: + - ESLint: 9.x + - PostCSS: 8.x + - Autoprefixer +``` + +### Development Environment +```bash +Node.js: 18+ or 20+ +Package Manager: npm (recommended) / yarn / pnpm +Port: 3000 (default) +Browser: Chrome, Firefox, Safari, Edge (latest versions) +``` + +--- + +## 3. Directory Structure + +### Complete Project Structure + +``` +kkp-plus-new/ +├── public/ # Static assets +│ ├── file.svg +│ ├── globe.svg +│ ├── next.svg +│ ├── vercel.svg +│ └── window.svg +│ +├── src/ +│ ├── app/ # Next.js App Router +│ │ ├── page.jsx # Landing page (/) +│ │ ├── layout.js # Root layout +│ │ ├── globals.css # Global styles + Tailwind +│ │ ├── favicon.ico # Site favicon +│ │ │ +│ │ ├── (auth)/ # Auth route group +│ │ │ ├── login/ +│ │ │ │ └── page.jsx # Login page +│ │ │ └── layout.jsx # Auth layout +│ │ │ +│ │ ├── dashboard/ # Dashboard route +│ │ │ ├── page.jsx # Main dashboard with tree diagram +│ │ │ └── layout.jsx # Dashboard layout +│ │ │ +│ │ ├── input-nilai/ +│ │ │ └── page.jsx # Manual input nilai form +│ │ │ +│ │ ├── laporan/ # Laporan CPL +│ │ │ └── page.tsx # Report with CPMK breakdown +│ │ │ +│ │ ├── manajemen/ # Manajemen Data (NEW!) +│ │ │ └── page.tsx # 4 tabs: Import, Mahasiswa, MK, CPL +│ │ │ +│ │ ├── cpl-mapping/ # CPL Pemetaan +│ │ │ └── page.tsx # CPL-MK-CPMK mapping matrix +│ │ │ +│ │ ├── penilaian/ +│ │ │ └── page.jsx # Penilaian module +│ │ │ +│ │ └── pengumuman/ +│ │ └── page.jsx # Announcement page +│ │ +│ ├── components/ # Reusable components +│ │ ├── Navbar.jsx # Top navigation bar +│ │ ├── Sidebar.jsx # Side navigation (6 menus) +│ │ ├── LayoutWrapper.jsx # Layout HOC +│ │ ├── BodyClassManager.jsx # Body class manager +│ │ ├── RadarCPL.jsx # Radar chart component +│ │ ├── CardCPL.jsx # CPL card display +│ │ ├── AdvancedCharts.jsx # Advanced chart components +│ │ ├── SemesterFilter.jsx # Semester filter dropdown +│ │ ├── ProdiSelector.jsx # Prodi selector +│ │ ├── MkGradeInput.jsx # MK grade input form +│ │ └── CpmkBreakdownDisplay.jsx # CPMK breakdown table +│ │ +│ ├── data/ # Data layer +│ │ ├── mock.js # Main mock data (Informatika) +│ │ ├── mock-arsitektur.js # Arsitektur data +│ │ └── kurikulumArsitektur.js # Arsitektur kurikulum +│ │ +│ └── utils/ # Utility functions +│ ├── dataIntegration.ts # Data integration layer (CORE) +│ └── gradeCalculator.js # Grade calculation utilities +│ +├── contoh-import-*.xlsx/csv # Example import files +├── PANDUAN-IMPORT-NILAI.md # Import guide +├── QUICK_START.md # Quick start guide +├── TECHNICAL_DOC.md # This file +├── README.md # Project overview +├── MK_CODES.md # MK codes reference (to be created) +│ +├── package.json # Dependencies +├── package-lock.json # Lock file +├── next.config.mjs # Next.js configuration +├── tailwind.config.js # Tailwind configuration +├── postcss.config.mjs # PostCSS configuration +├── eslint.config.mjs # ESLint configuration +├── jsconfig.json # JavaScript configuration +├── .gitignore # Git ignore rules +└── .next/ # Build output (generated) +``` + +### Key Files Explanation + +#### **src/utils/dataIntegration.ts** (350+ lines) +Core integration layer yang menggabungkan data dari localStorage dan mockData. + +**Key Functions:** +- `getCombinedNilaiData()`: Merge nilai dari localStorage + mockData +- `hitungNilaiCPLPerSemesterIntegrated()`: Kalkulasi CPL dengan weighted average +- `hitungCPMKBreakdownPerCPL()`: Breakdown detail CPMK per CPL +- Priority: localStorage > mockData + +#### **src/app/dashboard/manajemen/page.tsx** (1000+ lines) +Halaman manajemen data dengan 4 tab terintegrasi. + +**Features:** +- Tab Import: Upload Excel/CSV, preview, import +- Tab Mahasiswa: Monitoring mahasiswa dengan nilai +- Tab Mata Kuliah: Statistik per MK +- Tab CPL: Overview pencapaian CPL +- Real-time refresh mechanism + +#### **src/app/dashboard/laporan/page.tsx** (900+ lines) +Laporan CPL dengan expandable CPMK breakdown. + +**Features:** +- Generate laporan per mahasiswa + semester +- Expandable CPL rows +- Detail breakdown: MK → CPMK dengan bobot +- Export PDF/Excel (mockup) + +#### **src/data/mock.js** +Data statis untuk Informatika (69 MK, 8 CPL, 144 SKS). + +**Contains:** +- `prodiData`: 5 Program Studi +- `cplData`: 8 CPL per prodi +- `mahasiswaData`: Daftar mahasiswa +- `mkData`: 69 Mata Kuliah Informatika +- `cpmkData`: CPMK dengan bobot +- `cpmkToCplMapping`: Mapping CPMK → CPL + +--- + +## 4. Data Models + +### TypeScript Interfaces + +```typescript +// ============= CORE ENTITIES ============= + +interface Prodi { + kode: string; // 'INF', 'ARS', 'PWK', 'SIP', 'ELK' + nama: string; // 'S1 Teknik Informatika' + fakultas: string; // 'Teknik' + totalSKS: number; // 144, 145, etc. +} + +interface Mahasiswa { + id: string; + nim: string; // '105841109601' + nama: string; // 'Andi Miftah' + prodiKode: string; // 'INF' + angkatan: string; // '2021' + semester: number; // 1-8 + email?: string; + noHP?: string; +} + +interface CPL { + kode: string; // 'CPL1', 'CPL2', ... + prodiKode: string; // 'INF' + deskripsi: string; // 'Mampu menerapkan pemikiran logis...' + kategori: 'sikap' | 'pengetahuan' | 'keterampilan_umum' | 'keterampilan_khusus'; +} + +interface MataKuliah { + kode: string; // 'INF101', 'ARS201' + nama: string; // 'Pemrograman Web' + sks: number; // 2, 3, 4 + semester: number; // 1-8 + prodiKode: string; // 'INF' + jenis: 'wajib' | 'pilihan'; + prasyarat?: string[]; // ['INF100'] +} + +interface CPMK { + kode: string; // 'CPMK1-1' + mkKode: string; // 'INF101' + deskripsi: string; // 'Memahami konsep dasar web' + bobot: number; // 20 (dalam persen) + urutan: number; // 1, 2, 3, 4 +} + +interface CPMKtoCPLMapping { + cpmkKode: string; // 'CPMK1-1' + cplKode: string; // 'CPL3' + bobot: number; // 30 (kontribusi CPMK terhadap CPL ini) +} + +// ============= NILAI & TRANSACTIONS ============= + +interface NilaiMahasiswa { + id: string; + mahasiswaId: string; + mkKode: string; + semester: string; // '2023/2024 Ganjil' + tahunAjaran: string; // '2023/2024' + nilaiAkhir: number; // 0-100 + nilaiHuruf: string; // 'A', 'B+', 'B', etc. + nilaiCPMK: NilaiCPMK[]; + tanggalInput: string; // ISO date + inputBy: string; // user ID + source: 'manual' | 'import' | 'mock'; +} + +interface NilaiCPMK { + cpmkKode: string; + nilai: number; // 0-100 + bobot: number; // 20 (persen) +} + +interface CPLResult { + cplKode: string; + deskripsi: string; + nilai: number; // 0-100 + status: 'tercapai' | 'cukup' | 'belum_tercapai'; + jumlahCPMK: number; + jumlahMK: number; +} + +// ============= BREAKDOWN & ANALYTICS ============= + +interface CPMKBreakdown { + cplKode: string; + cplDeskripsi: string; + nilaiCPL: number; + mataKuliah: MKBreakdown[]; +} + +interface MKBreakdown { + mkKode: string; + mkNama: string; + mkSKS: number; + bobotMK: number; // 100% / jumlah MK + cpmkList: CPMKDetail[]; + nilaiMK: number; + kontribusiKeCPL: number; +} + +interface CPMKDetail { + cpmkKode: string; + cpmkDeskripsi: string; + bobot: number; // bobot dalam MK + nilai: number; + nilaiTertimbang: number; // nilai × bobot + kontribusiKeCPL: number; // bobotMK × bobot × nilai +} + +// ============= IMPORT DATA ============= + +interface ImportRecord { + nim: string; + nama: string; + [mkKode: string]: number | string; // Dynamic MK columns +} + +interface ImportResult { + total: number; + sukses: number; + gagal: number; + errors: ImportError[]; +} + +interface ImportError { + row: number; + nim: string; + field: string; + message: string; +} + +// ============= USER & AUTH ============= + +interface User { + id: string; + email: string; + nama: string; + role: 'admin' | 'kaprodi' | 'dosen' | 'mahasiswa'; + prodiKode?: string; // for kaprodi +} + +interface LoginCredentials { + email: string; + password: string; +} +``` + +### Database Schema (Future - PostgreSQL) + +```sql +-- Prodi +CREATE TABLE prodi ( + kode VARCHAR(3) PRIMARY KEY, + nama VARCHAR(100) NOT NULL, + fakultas VARCHAR(50), + total_sks INTEGER, + created_at TIMESTAMP DEFAULT NOW() +); + +-- Mahasiswa +CREATE TABLE mahasiswa ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + nim VARCHAR(20) UNIQUE NOT NULL, + nama VARCHAR(100) NOT NULL, + prodi_kode VARCHAR(3) REFERENCES prodi(kode), + angkatan VARCHAR(4), + semester INTEGER, + email VARCHAR(100), + created_at TIMESTAMP DEFAULT NOW(), + INDEX idx_mahasiswa_nim (nim), + INDEX idx_mahasiswa_prodi (prodi_kode) +); + +-- CPL +CREATE TABLE cpl ( + kode VARCHAR(10) PRIMARY KEY, + prodi_kode VARCHAR(3) REFERENCES prodi(kode), + deskripsi TEXT, + kategori VARCHAR(30), + created_at TIMESTAMP DEFAULT NOW() +); + +-- Mata Kuliah +CREATE TABLE mata_kuliah ( + kode VARCHAR(10) PRIMARY KEY, + nama VARCHAR(100) NOT NULL, + sks INTEGER, + semester INTEGER, + prodi_kode VARCHAR(3) REFERENCES prodi(kode), + jenis VARCHAR(10), + created_at TIMESTAMP DEFAULT NOW(), + INDEX idx_mk_prodi (prodi_kode), + INDEX idx_mk_semester (semester) +); + +-- CPMK +CREATE TABLE cpmk ( + kode VARCHAR(20) PRIMARY KEY, + mk_kode VARCHAR(10) REFERENCES mata_kuliah(kode), + deskripsi TEXT, + bobot INTEGER, + urutan INTEGER, + created_at TIMESTAMP DEFAULT NOW(), + INDEX idx_cpmk_mk (mk_kode) +); + +-- CPMK to CPL Mapping +CREATE TABLE cpmk_cpl_mapping ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + cpmk_kode VARCHAR(20) REFERENCES cpmk(kode), + cpl_kode VARCHAR(10) REFERENCES cpl(kode), + bobot INTEGER, + created_at TIMESTAMP DEFAULT NOW(), + INDEX idx_mapping_cpmk (cpmk_kode), + INDEX idx_mapping_cpl (cpl_kode) +); + +-- Nilai Mahasiswa +CREATE TABLE nilai_mahasiswa ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + mahasiswa_id UUID REFERENCES mahasiswa(id), + mk_kode VARCHAR(10) REFERENCES mata_kuliah(kode), + semester VARCHAR(20), + tahun_ajaran VARCHAR(10), + nilai_akhir DECIMAL(5,2), + nilai_huruf VARCHAR(2), + source VARCHAR(10), + input_by UUID, + created_at TIMESTAMP DEFAULT NOW(), + updated_at TIMESTAMP DEFAULT NOW(), + INDEX idx_nilai_mahasiswa (mahasiswa_id), + INDEX idx_nilai_mk (mk_kode), + INDEX idx_nilai_semester (semester) +); + +-- Nilai CPMK (detail) +CREATE TABLE nilai_cpmk ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + nilai_mahasiswa_id UUID REFERENCES nilai_mahasiswa(id) ON DELETE CASCADE, + cpmk_kode VARCHAR(20) REFERENCES cpmk(kode), + nilai DECIMAL(5,2), + bobot INTEGER, + created_at TIMESTAMP DEFAULT NOW(), + INDEX idx_nilai_cpmk_nilai_id (nilai_mahasiswa_id), + INDEX idx_nilai_cpmk_kode (cpmk_kode) +); +``` + +--- + +## 5. Data Flow & Integration + +### Data Integration Layer Architecture + +``` +┌─────────────────────────────────────────────────────────────┐ +│ dataIntegration.ts (Core Module) │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ ┌───────────────┐ ┌──────────────┐ │ +│ │ localStorage │ │ mockData.ts │ │ +│ │ (User Input) │ │ (Static) │ │ +│ └───────┬───────┘ └──────┬───────┘ │ +│ │ │ │ +│ └────────┬───────────────┘ │ +│ ↓ │ +│ getCombinedNilaiData() │ +│ ↓ │ +│ [Merge with Priority: localStorage > mock] │ +│ ↓ │ +│ ┌─────────────┴─────────────┐ │ +│ ↓ ↓ │ +│ hitungNilaiCPL hitungCPMKBreakdown │ +│ PerSemester PerCPL │ +│ ↓ ↓ │ +│ CPL Results Detailed Breakdown │ +│ (aggregated) (MK → CPMK → CPL) │ +│ │ +└─────────────────────────────────────────────────────────────┘ +``` + +### Integration Functions + +#### 1. **getCombinedNilaiData()** +Menggabungkan data nilai dari localStorage dan mockData. + +```typescript +export function getCombinedNilaiData(): NilaiMahasiswa[] { + // 1. Load dari localStorage + const localData = loadNilaiFromLocalStorage(); + + // 2. Load mockData + const mockData = nilaiMahasiswaData; + + // 3. Merge dengan priority localStorage + const combined = [...localData]; + + mockData.forEach(mock => { + const exists = combined.find( + c => c.mahasiswaId === mock.mahasiswaId && + c.mkKode === mock.mkKode + ); + if (!exists) { + combined.push({ ...mock, source: 'mock' }); + } + }); + + return combined; +} +``` + +#### 2. **hitungNilaiCPLPerSemesterIntegrated()** +Kalkulasi CPL menggunakan weighted average dari CPMK. + +```typescript +export function hitungNilaiCPLPerSemesterIntegrated( + mahasiswaId: string, + semester: number +): CPLResult[] { + // 1. Get combined data + const allNilai = getCombinedNilaiData(); + + // 2. Filter by mahasiswa & semester + const nilaiMhs = allNilai.filter( + n => n.mahasiswaId === mahasiswaId && + getMKSemester(n.mkKode) === semester + ); + + // 3. Initialize CPL accumulator + const cplScores: Map = new Map(); + + // 4. Process each nilai + nilaiMhs.forEach(nilai => { + // Get MK bobot (100% / jumlah MK per CPL) + const mkCount = getMKCountPerCPL(nilai.mkKode); + const bobotMK = 100 / mkCount; + + // Process each CPMK + nilai.nilaiCPMK.forEach(nc => { + // Get CPMK bobot dalam MK + const cpmk = getCPMK(nc.cpmkKode); + const bobotCPMK = cpmk.bobot; + + // Get CPL mappings + const mappings = getCPLMappings(nc.cpmkKode); + + mappings.forEach(mapping => { + if (!cplScores.has(mapping.cplKode)) { + cplScores.set(mapping.cplKode, { + totalNilai: 0, + totalBobot: 0, + jumlahCPMK: 0, + jumlahMK: 0 + }); + } + + const score = cplScores.get(mapping.cplKode)!; + + // Calculate weighted contribution + // Kontribusi = Nilai × (BobotMK / 100) × (BobotCPMK / 100) + const kontribusi = nc.nilai * (bobotMK / 100) * (bobotCPMK / 100); + + score.totalNilai += kontribusi; + score.totalBobot += (bobotMK / 100) * (bobotCPMK / 100); + score.jumlahCPMK++; + }); + }); + }); + + // 5. Calculate final CPL scores + return Array.from(cplScores.entries()).map(([cplKode, score]) => { + const nilai = score.totalBobot > 0 + ? Math.round(score.totalNilai / score.totalBobot) + : 0; + + return { + cplKode, + deskripsi: getCPLDescription(cplKode), + nilai, + status: getStatus(nilai), + jumlahCPMK: score.jumlahCPMK, + jumlahMK: score.jumlahMK + }; + }); +} +``` + +#### 3. **hitungCPMKBreakdownPerCPL()** +Breakdown detail kontribusi MK dan CPMK ke CPL. + +```typescript +export function hitungCPMKBreakdownPerCPL( + mahasiswaId: string, + semester: number +): CPMKBreakdown[] { + // Similar logic to hitungNilaiCPL but returns detailed breakdown + // Returns structure: CPL → MK → CPMK with all calculations + + const breakdowns: CPMKBreakdown[] = []; + + // Group by CPL + cplData.forEach(cpl => { + const mkList: MKBreakdown[] = []; + + // Get all MK that contribute to this CPL + const relevantMK = getMKForCPL(cpl.kode, semester); + + relevantMK.forEach(mk => { + const cpmkList: CPMKDetail[] = []; + + // Get CPMK for this MK + const cpmks = getCPMKForMK(mk.kode); + + cpmks.forEach(cpmk => { + // Get nilai for this CPMK + const nilaiCPMK = getNilaiCPMK(mahasiswaId, cpmk.kode); + + cpmkList.push({ + cpmkKode: cpmk.kode, + cpmkDeskripsi: cpmk.deskripsi, + bobot: cpmk.bobot, + nilai: nilaiCPMK, + nilaiTertimbang: nilaiCPMK * (cpmk.bobot / 100), + kontribusiKeCPL: calculateContribution(nilaiCPMK, cpmk, mk, cpl) + }); + }); + + mkList.push({ + mkKode: mk.kode, + mkNama: mk.nama, + mkSKS: mk.sks, + bobotMK: 100 / relevantMK.length, + cpmkList, + nilaiMK: calculateNilaiMK(cpmkList), + kontribusiKeCPL: calculateMKContribution(cpmkList) + }); + }); + + breakdowns.push({ + cplKode: cpl.kode, + cplDeskripsi: cpl.deskripsi, + nilaiCPL: calculateCPLFromMK(mkList), + mataKuliah: mkList + }); + }); + + return breakdowns; +} +``` + +### localStorage Structure + +```typescript +// Key: 'cpl_nilai_mahasiswa' +// Value: JSON string of NilaiMahasiswa[] + +interface LocalStorageNilai { + version: string; // '1.0' + lastUpdate: string; // ISO date + data: NilaiMahasiswa[]; +} + +// Example: +localStorage.setItem('cpl_nilai_mahasiswa', JSON.stringify({ + version: '1.0', + lastUpdate: '2025-11-27T10:30:00Z', + data: [ + { + id: 'uuid-1', + mahasiswaId: '1', + mkKode: 'INF101', + semester: '2023/2024 Ganjil', + tahunAjaran: '2023/2024', + nilaiAkhir: 85, + nilaiHuruf: 'A', + nilaiCPMK: [ + { cpmkKode: 'CPMK1-1', nilai: 85, bobot: 20 }, + { cpmkKode: 'CPMK1-2', nilai: 90, bobot: 30 } + ], + tanggalInput: '2025-11-27T10:30:00Z', + inputBy: 'user-1', + source: 'manual' + } + ] +})); +``` + +--- + +## 6. Calculation Algorithms + +### Weighted Average CPL Calculation + +**Formula:** + +``` +Nilai CPL = Σ (Nilai CPMK × Bobot MK × Bobot CPMK) / Σ (Bobot MK × Bobot CPMK) + +Where: +- Bobot MK = 100% / Jumlah MK yang berkontribusi ke CPL +- Bobot CPMK = Bobot CPMK dalam MK (%) +- Nilai CPMK = Nilai yang diinput (0-100) +``` + +**Example Calculation:** + +``` +CPL3: Mampu menerapkan pemikiran logis + +MK1: Pemrograman Web (INF101) + - Jumlah MK untuk CPL3 = 8 + - Bobot MK1 = 100% / 8 = 12.5% + + CPMK1-1: Nilai = 85, Bobot = 20% + - Kontribusi ke CPL3 = 85 × 0.125 × 0.20 = 2.125 + + CPMK1-2: Nilai = 90, Bobot = 30% + - Kontribusi ke CPL3 = 90 × 0.125 × 0.30 = 3.375 + +MK2: Struktur Data (INF102) + - Bobot MK2 = 12.5% + + CPMK2-1: Nilai = 78, Bobot = 25% + - Kontribusi ke CPL3 = 78 × 0.125 × 0.25 = 2.4375 + + ... (continue for all MK) + +Total Kontribusi = Σ semua kontribusi CPMK +Total Bobot = Σ (Bobot MK × Bobot CPMK) + +Nilai CPL3 = Total Kontribusi / Total Bobot +``` + +### Status Classification + +```typescript +function getStatus(nilai: number): 'tercapai' | 'cukup' | 'belum_tercapai' { + if (nilai >= 75) return 'tercapai'; + if (nilai >= 60) return 'cukup'; + return 'belum_tercapai'; +} + +// Color coding +const statusColors = { + tercapai: 'green', // #10b981 + cukup: 'yellow', // #f59e0b + belum_tercapai: 'red' // #ef4444 +}; +``` + +### Grade Conversion + +```typescript +function convertToGrade(nilai: number): string { + if (nilai >= 85) return 'A'; + if (nilai >= 80) return 'A-'; + if (nilai >= 75) return 'B+'; + if (nilai >= 70) return 'B'; + if (nilai >= 65) return 'B-'; + if (nilai >= 60) return 'C+'; + if (nilai >= 55) return 'C'; + if (nilai >= 50) return 'C-'; + if (nilai >= 45) return 'D'; + return 'E'; +} +``` + +--- + +## 7. Component Architecture + +### Component Hierarchy + +``` +App (layout.js) +├── Navbar +│ ├── Logo +│ ├── ProdiName +│ └── UserMenu +│ ├── Profile +│ └── Logout +│ +├── Sidebar +│ ├── MenuItem (Dashboard) +│ ├── MenuItem (Input Nilai) +│ ├── MenuItem (Laporan) +│ ├── MenuItem (Manajemen Data) ← NEW! +│ ├── MenuItem (CPL & Pemetaan) +│ └── MenuItem (Settings) +│ +└── Main Content + │ + ├── Page: Dashboard + │ ├── TreeDiagram (CPL-MK-CPMK) + │ ├── StatCards (4 cards) + │ ├── RadarCPL (8 CPL) + │ └── BarChart (Trend) + │ + ├── Page: Input Nilai + │ ├── MahasiswaSelector + │ ├── MKSelector + │ ├── MkGradeInput + │ │ └── CPMKInputTable + │ └── SaveButton + │ + ├── Page: Laporan + │ ├── FilterSection + │ │ ├── MahasiswaDropdown + │ │ └── SemesterFilter + │ ├── GenerateButton + │ ├── CPLTable (Expandable) + │ │ └── CpmkBreakdownDisplay + │ │ ├── MKCard (multiple) + │ │ └── CPMKTable (per MK) + │ ├── RadarCPL + │ └── ExportButtons + │ + ├── Page: Manajemen Data ← NEW! + │ ├── TabNavigation (4 tabs) + │ ├── Tab: Import Nilai + │ │ ├── FilterSection (Prodi, Semester) + │ │ ├── FileUpload (drag & drop) + │ │ ├── PreviewTable + │ │ ├── ImportButton + │ │ └── ResultStats + │ ├── Tab: Mahasiswa + │ │ ├── FilterSection (Prodi) + │ │ ├── RefreshButton + │ │ ├── StatCards (3 cards) + │ │ └── MahasiswaTable + │ ├── Tab: Mata Kuliah + │ │ ├── FilterSection (Prodi, Semester) + │ │ ├── RefreshButton + │ │ └── MKGrid + │ │ └── MKCard (multiple) + │ │ ├── MKInfo + │ │ ├── Statistics + │ │ └── ProgressBar + │ └── Tab: CPL & CPMK + │ ├── FilterSection (Prodi, Semester) + │ ├── RefreshButton + │ ├── SummaryCards (3 cards) + │ ├── InfoBox (Calculation explanation) + │ └── CPLTable + │ └── DistributionBadges + │ + ├── Page: CPL & Pemetaan + │ ├── MatrixView (CPL × MK × CPMK) + │ └── MappingTable + │ + └── Page: Pengumuman + └── AnnouncementList +``` + +### Key Component Props + +```typescript +// Navbar.jsx +interface NavbarProps { + user: User; + prodiName: string; + onLogout: () => void; +} + +// Sidebar.jsx +interface SidebarProps { + activeMenu: string; + onNavigate: (path: string) => void; +} + +// RadarCPL.jsx +interface RadarCPLProps { + data: CPLResult[]; + width?: number; + height?: number; + showLegend?: boolean; +} + +// CpmkBreakdownDisplay.jsx +interface CpmkBreakdownDisplayProps { + breakdown: CPMKBreakdown; + expanded: boolean; + onToggle: () => void; +} + +// MkGradeInput.jsx +interface MkGradeInputProps { + mkKode: string; + cpmkList: CPMK[]; + onSave: (nilai: NilaiCPMK[]) => void; +} +``` + +--- + +## 8. State Management + +### React State Patterns + +```typescript +// Dashboard Page State +const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); +const [cplResults, setCplResults] = useState([]); +const [expandedCPL, setExpandedCPL] = useState([]); + +// Manajemen Page State +const [activeTab, setActiveTab] = useState<'import' | 'mahasiswa' | 'mk' | 'cpl'>('import'); +const [selectedProdi, setSelectedProdi] = useState('INF'); +const [selectedSemester, setSelectedSemester] = useState(1); +const [refreshData, setRefreshData] = useState(0); +const [uploadedFile, setUploadedFile] = useState(null); +const [previewData, setPreviewData] = useState([]); + +// Laporan Page State +const [laporanData, setLaporanData] = useState(null); +const [expandedCPL, setExpandedCPL] = useState>(new Set()); +const [loading, setLoading] = useState(false); +``` + +### State Update Patterns + +```typescript +// Refresh mechanism +const handleRefresh = () => { + setRefreshData(prev => prev + 1); +}; + +useEffect(() => { + // Re-fetch data when refreshData changes + loadData(); +}, [refreshData]); + +// Toggle expansion +const toggleCPL = (cplKode: string) => { + setExpandedCPL(prev => { + const newSet = new Set(prev); + if (newSet.has(cplKode)) { + newSet.delete(cplKode); + } else { + newSet.add(cplKode); + } + return newSet; + }); +}; + +// File upload handling +const handleFileChange = (event: React.ChangeEvent) => { + const file = event.target.files?.[0]; + if (file) { + setUploadedFile(file); + parseAndPreview(file); + } +}; +``` + +--- + +## 9. API & Functions Reference + +### Data Integration Functions + +```typescript +// src/utils/dataIntegration.ts + +/** + * Get combined nilai data from localStorage and mockData + * Priority: localStorage > mockData + */ +export function getCombinedNilaiData(): NilaiMahasiswa[] + +/** + * Calculate CPL values for a mahasiswa in a specific semester + * Using weighted average of CPMK contributions + */ +export function hitungNilaiCPLPerSemesterIntegrated( + mahasiswaId: string, + semester: number +): CPLResult[] + +/** + * Get detailed CPMK breakdown per CPL + * Returns MK → CPMK hierarchy with all calculations + */ +export function hitungCPMKBreakdownPerCPL( + mahasiswaId: string, + semester: number +): CPMKBreakdown[] + +/** + * Save nilai to localStorage + */ +export function saveNilai(nilai: NilaiMahasiswa): void + +/** + * Load nilai from localStorage + */ +export function loadNilaiFromLocalStorage(): NilaiMahasiswa[] + +/** + * Clear all nilai from localStorage + */ +export function clearNilai(): void +``` + +### Mock Data Functions + +```typescript +// src/data/mock.js + +/** + * Get mahasiswa by prodi + */ +export function getMahasiswaByProdi(prodiKode: string): Mahasiswa[] + +/** + * Get MK by prodi and semester + */ +export function getMKByProdiSemester(prodiKode: string, semester: number): MataKuliah[] + +/** + * Get CPMK for a specific MK + */ +export function getCPMKForMK(mkKode: string): CPMK[] + +/** + * Get CPL mappings for a CPMK + */ +export function getCPLMappings(cpmkKode: string): CPMKtoCPLMapping[] + +/** + * Get CPL data for a prodi + */ +export function getCPLByProdi(prodiKode: string): CPL[] +``` + +### Excel/CSV Parsing Functions + +```typescript +// In manajemen/page.tsx + +/** + * Parse Excel file using xlsx library + */ +async function parseExcel(file: File): Promise + +/** + * Parse CSV file + */ +async function parseCSV(file: File): Promise + +/** + * Validate import data + */ +function validateImportData(data: ImportRecord[]): { + valid: ImportRecord[]; + errors: ImportError[]; +} + +/** + * Import data to localStorage + */ +async function importData( + data: ImportRecord[], + prodiKode: string, + semester: number +): Promise +``` + +--- + +## 10. Security + +### Current Implementation (Development) + +```typescript +// Authentication (Session Storage) +const loginUser = (credentials: LoginCredentials) => { + const user = validateCredentials(credentials); + if (user) { + sessionStorage.setItem('user', JSON.stringify(user)); + return true; + } + return false; +}; + +// Check auth +const checkAuth = () => { + const userStr = sessionStorage.getItem('user'); + return userStr ? JSON.parse(userStr) : null; +}; + +// Logout +const logout = () => { + sessionStorage.removeItem('user'); + window.location.href = '/login'; +}; +``` + +### Production Requirements + +```typescript +// 1. JWT Authentication +import jwt from 'jsonwebtoken'; + +const generateToken = (user: User) => { + return jwt.sign( + { id: user.id, email: user.email, role: user.role }, + process.env.JWT_SECRET!, + { expiresIn: '24h' } + ); +}; + +// 2. Password Hashing +import bcrypt from 'bcryptjs'; + +const hashPassword = async (password: string) => { + const salt = await bcrypt.genSalt(10); + return bcrypt.hash(password, salt); +}; + +const comparePassword = async (password: string, hash: string) => { + return bcrypt.compare(password, hash); +}; + +// 3. API Route Protection +// middleware.ts +export function middleware(request: NextRequest) { + const token = request.cookies.get('token')?.value; + + if (!token) { + return NextResponse.redirect(new URL('/login', request.url)); + } + + try { + jwt.verify(token, process.env.JWT_SECRET!); + return NextResponse.next(); + } catch { + return NextResponse.redirect(new URL('/login', request.url)); + } +} + +// 4. CORS Configuration +// next.config.mjs +const nextConfig = { + async headers() { + return [ + { + source: '/api/:path*', + headers: [ + { key: 'Access-Control-Allow-Credentials', value: 'true' }, + { key: 'Access-Control-Allow-Origin', value: process.env.ALLOWED_ORIGIN }, + { key: 'Access-Control-Allow-Methods', value: 'GET,POST,PUT,DELETE' }, + ], + }, + ]; + }, +}; + +// 5. Input Sanitization +import DOMPurify from 'isomorphic-dompurify'; + +const sanitizeInput = (input: string) => { + return DOMPurify.sanitize(input); +}; + +// 6. Rate Limiting (API Routes) +import rateLimit from 'express-rate-limit'; + +const limiter = rateLimit({ + windowMs: 15 * 60 * 1000, // 15 minutes + max: 100 // limit each IP to 100 requests per windowMs +}); +``` + +### Security Checklist + +- [ ] Implement JWT authentication +- [ ] Hash passwords with bcrypt +- [ ] Add CSRF protection +- [ ] Implement rate limiting +- [ ] Sanitize all user inputs +- [ ] Add XSS protection headers +- [ ] Use HTTPS in production +- [ ] Validate file uploads (type, size) +- [ ] Implement role-based access control (RBAC) +- [ ] Add audit logging +- [ ] Secure environment variables +- [ ] Add SQL injection prevention (prepared statements) + +--- + +## 11. Performance + +### Current Optimizations + +```typescript +// 1. React.memo for expensive components +import { memo } from 'react'; + +export const RadarCPL = memo(({ data }) => { + // Expensive chart rendering +}, (prevProps, nextProps) => { + return prevProps.data === nextProps.data; +}); + +// 2. useMemo for expensive calculations +const cplResults = useMemo(() => { + return hitungNilaiCPLPerSemesterIntegrated(mahasiswaId, semester); +}, [mahasiswaId, semester]); + +// 3. useCallback for event handlers +const handleRefresh = useCallback(() => { + setRefreshData(prev => prev + 1); +}, []); + +// 4. Lazy loading components +const LaporanPage = lazy(() => import('./app/dashboard/laporan/page')); + +// 5. Next.js automatic code splitting +// Already enabled by default + +// 6. Image optimization +import Image from 'next/image'; +Logo +``` + +### Future Optimizations + +```typescript +// 1. React Query for server state +import { useQuery, useMutation } from '@tanstack/react-query'; + +const { data, isLoading } = useQuery({ + queryKey: ['nilai', mahasiswaId], + queryFn: () => fetchNilai(mahasiswaId), + staleTime: 5 * 60 * 1000, // 5 minutes +}); + +// 2. Virtual scrolling for large tables +import { useVirtualizer } from '@tanstack/react-virtual'; + +const rowVirtualizer = useVirtualizer({ + count: data.length, + getScrollElement: () => parentRef.current, + estimateSize: () => 50, +}); + +// 3. Debounce search inputs +import { useDebouncedValue } from '@mantine/hooks'; + +const [search, setSearch] = useState(''); +const [debounced] = useDebouncedValue(search, 300); + +// 4. Pagination for large datasets +const [page, setPage] = useState(1); +const pageSize = 20; +const paginatedData = data.slice((page - 1) * pageSize, page * pageSize); + +// 5. Service Worker for offline support +// public/sw.js +self.addEventListener('install', (event) => { + event.waitUntil( + caches.open('cpl-v1').then((cache) => { + return cache.addAll([ + '/', + '/dashboard', + '/static/css/main.css', + ]); + }) + ); +}); +``` + +### Performance Metrics + +```bash +# Lighthouse scores (target) +Performance: > 90 +Accessibility: > 95 +Best Practices: > 90 +SEO: > 90 + +# Core Web Vitals (target) +LCP (Largest Contentful Paint): < 2.5s +FID (First Input Delay): < 100ms +CLS (Cumulative Layout Shift): < 0.1 +``` + +--- + +## 12. Testing + +### Unit Tests (Jest + React Testing Library) + +```typescript +// __tests__/utils/dataIntegration.test.ts +import { hitungNilaiCPLPerSemesterIntegrated } from '@/utils/dataIntegration'; + +describe('hitungNilaiCPLPerSemesterIntegrated', () => { + test('should calculate CPL correctly', () => { + const result = hitungNilaiCPLPerSemesterIntegrated('1', 1); + + expect(result).toHaveLength(8); + expect(result[0]).toHaveProperty('cplKode'); + expect(result[0]).toHaveProperty('nilai'); + expect(result[0].nilai).toBeGreaterThanOrEqual(0); + expect(result[0].nilai).toBeLessThanOrEqual(100); + }); + + test('should return correct status', () => { + const result = hitungNilaiCPLPerSemesterIntegrated('1', 1); + const cpl75 = result.find(r => r.nilai >= 75); + + expect(cpl75?.status).toBe('tercapai'); + }); +}); + +// __tests__/components/RadarCPL.test.tsx +import { render, screen } from '@testing-library/react'; +import RadarCPL from '@/components/RadarCPL'; + +describe('RadarCPL', () => { + const mockData = [ + { cplKode: 'CPL1', nilai: 80 }, + { cplKode: 'CPL2', nilai: 75 }, + ]; + + test('renders radar chart', () => { + render(); + expect(screen.getByRole('img')).toBeInTheDocument(); + }); +}); +``` + +### Integration Tests (Playwright) + +```typescript +// e2e/login.spec.ts +import { test, expect } from '@playwright/test'; + +test('user can login and view dashboard', async ({ page }) => { + await page.goto('http://localhost:3000/login'); + + // Fill login form + await page.fill('input[type="email"]', 'kaprodi.informatika@unismuh.ac.id'); + await page.fill('input[type="password"]', 'kaprodi123'); + await page.click('button[type="submit"]'); + + // Check redirect to dashboard + await expect(page).toHaveURL(/.*dashboard/); + + // Check dashboard content + await expect(page.locator('text=Dashboard CPL')).toBeVisible(); +}); + +// e2e/import.spec.ts +test('user can import nilai from Excel', async ({ page }) => { + await page.goto('http://localhost:3000/dashboard/manajemen'); + + // Go to Import tab + await page.click('text=Import Nilai'); + + // Upload file + await page.setInputFiles('input[type="file"]', 'contoh-import-informatika-sem1.xlsx'); + + // Wait for preview + await expect(page.locator('text=Preview Data')).toBeVisible(); + + // Click import + await page.click('button:has-text("Import Data")'); + + // Check success message + await expect(page.locator('text=Import berhasil')).toBeVisible(); +}); +``` + +### Test Commands + +```bash +# Run unit tests +npm run test + +# Run tests in watch mode +npm run test:watch + +# Run tests with coverage +npm run test:coverage + +# Run E2E tests +npm run test:e2e + +# Run E2E tests in UI mode +npm run test:e2e:ui +``` + +--- + +## 13. Deployment + +### Vercel Deployment (Recommended) + +```bash +# 1. Install Vercel CLI +npm i -g vercel + +# 2. Login +vercel login + +# 3. Deploy (preview) +vercel + +# 4. Deploy (production) +vercel --prod +``` + +### Environment Variables + +```bash +# .env.local (development) +NEXT_PUBLIC_APP_URL=http://localhost:3000 +NEXT_PUBLIC_API_URL=http://localhost:3000/api + +# .env.production (production) +NEXT_PUBLIC_APP_URL=https://cpl.unismuh.ac.id +NEXT_PUBLIC_API_URL=https://cpl.unismuh.ac.id/api +DATABASE_URL=postgresql://user:pass@host:5432/cpl +JWT_SECRET=your-production-secret +SMTP_HOST=smtp.gmail.com +SMTP_PORT=587 +SMTP_USER=no-reply@unismuh.ac.id +SMTP_PASS=your-smtp-password +``` + +### Docker Deployment + +```dockerfile +# Dockerfile +FROM node:18-alpine AS builder + +WORKDIR /app + +COPY package*.json ./ +RUN npm ci + +COPY . . +RUN npm run build + +FROM node:18-alpine AS runner + +WORKDIR /app + +ENV NODE_ENV production + +COPY --from=builder /app/public ./public +COPY --from=builder /app/.next/standalone ./ +COPY --from=builder /app/.next/static ./.next/static + +EXPOSE 3000 + +ENV PORT 3000 + +CMD ["node", "server.js"] +``` + +```yaml +# docker-compose.yml +version: '3.8' + +services: + app: + build: . + ports: + - "3000:3000" + environment: + - DATABASE_URL=postgresql://postgres:postgres@db:5432/cpl + - JWT_SECRET=your-secret + depends_on: + - db + + db: + image: postgres:15-alpine + environment: + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=postgres + - POSTGRES_DB=cpl + volumes: + - postgres_data:/var/lib/postgresql/data + ports: + - "5432:5432" + +volumes: + postgres_data: +``` + +```bash +# Build and run +docker-compose up -d + +# Stop +docker-compose down + +# Logs +docker-compose logs -f +``` + +### Production Checklist + +- [ ] Set all environment variables +- [ ] Enable HTTPS/SSL +- [ ] Configure database backups +- [ ] Set up monitoring (Sentry, LogRocket) +- [ ] Configure CDN for static assets +- [ ] Enable compression (gzip/brotli) +- [ ] Set up error logging +- [ ] Configure rate limiting +- [ ] Add health check endpoints +- [ ] Set up CI/CD pipeline +- [ ] Configure database migrations +- [ ] Add analytics (Google Analytics, Plausible) + +--- + +## 📚 Resources & References + +### Documentation +- [Next.js 14 Documentation](https://nextjs.org/docs) +- [React 19 Documentation](https://react.dev) +- [TypeScript Handbook](https://www.typescriptlang.org/docs/) +- [Tailwind CSS](https://tailwindcss.com/docs) +- [Recharts](https://recharts.org/en-US/) +- [SheetJS (xlsx)](https://docs.sheetjs.com/) + +### Tools +- [Next.js DevTools](https://nextjs.org/docs/app/building-your-application/optimizing/development-tools) +- [React DevTools](https://react.dev/learn/react-developer-tools) +- [Lighthouse](https://developers.google.com/web/tools/lighthouse) +- [Vercel Analytics](https://vercel.com/analytics) + +### GitHub Repository +- **Main Repository**: https://github.com/Nur-Hidayat-FTI22E/CPL_Sign.git +- **Branch**: FR_branch (Feature Release) +- **Contributors**: [See repository] + +--- + +## 🔄 Version History + +| Version | Date | Description | +|---------|------|-------------| +| 1.0 | Oktober 2024 | Initial release with basic CPL system | +| 1.5 | November 2024 | Added CPMK breakdown in Laporan | +| 2.0 | November 2025 | **Major update**: Import feature, Manajemen Data tabs, Full integration, 5 prodi support | + +--- + +## 👥 Development Team + +**Developer**: [Your Name] +**Institution**: Universitas Muhammadiyah Makassar +**Faculty**: Teknik +**Contact**: [Contact Info] + +--- + +## 📝 Notes + +### Known Issues +- Export PDF/Excel fitur masih mockup (belum terimplementasi) +- Data masih menggunakan localStorage (belum database) +- Autentikasi menggunakan session storage (demo mode) + +### Future Enhancements +- [ ] Backend API integration (Express/NestJS) +- [ ] Database integration (PostgreSQL) +- [ ] Real authentication (JWT) +- [ ] Email notifications +- [ ] Real-time collaboration +- [ ] Advanced analytics dashboard +- [ ] Mobile app (React Native) +- [ ] Export implementasi (jsPDF, xlsx) +- [ ] Bulk operations +- [ ] Audit trail + +--- + +**© 2025 Universitas Muhammadiyah Makassar** + +*Dokumentasi ini akan diperbarui seiring pengembangan sistem.* + +**Last Updated**: 27 November 2025 +**Version**: 2.0 diff --git a/FrontEnd/contoh-import-arsitektur-sem2.csv b/FrontEnd/contoh-import-arsitektur-sem2.csv new file mode 100644 index 0000000..83ede01 --- /dev/null +++ b/FrontEnd/contoh-import-arsitektur-sem2.csv @@ -0,0 +1,11 @@ +NIM,Nama,ARS201,ARS202,ARS203,ARS204,ARS205,ARS206,ARS207,ARS208,ARS209 +2023001,Budi Hartono,85,88,82,80,87,84,86,83,85 +2023002,Citra Maharani,90,92,88,85,91,89,90,87,89 +2023003,Dedi Sutrisno,78,80,75,77,79,76,78,74,77 +2023004,Eka Wulandari,88,90,86,84,89,87,88,85,87 +2023005,Fajar Nugroho,82,85,80,78,83,81,82,79,81 +2023006,Gina Puspita,92,94,90,88,93,91,92,89,91 +2023007,Hadi Wijaya,80,82,78,76,81,79,80,77,79 +2023008,Ika Suryani,86,89,84,82,87,85,86,83,85 +2023009,Joko Prasetyo,79,81,77,75,80,78,79,76,78 +2023010,Kartika Sari,94,96,92,90,95,93,94,91,93 diff --git a/FrontEnd/contoh-import-arsitektur-sem2.xlsx b/FrontEnd/contoh-import-arsitektur-sem2.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a2d3ae348a1338f421fb8513c567c2c67e12f8bb GIT binary patch literal 19243 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 Xdh~GrCx42Np2NQ{!YTfIhwlCxBti(# literal 0 HcmV?d00001 diff --git a/FrontEnd/contoh-import-informatika-sem1.csv b/FrontEnd/contoh-import-informatika-sem1.csv new file mode 100644 index 0000000..6ced58e --- /dev/null +++ b/FrontEnd/contoh-import-informatika-sem1.csv @@ -0,0 +1,11 @@ +NIM,Nama,INF101,INF102,INF103,INF104,INF105,INF106,INF107,INF108 +2024001,Ahmad Fauzi,85,88,90,82,85,87,80,84 +2024002,Siti Aisyah,92,89,95,88,92,90,85,91 +2024003,Budi Santoso,78,82,85,75,80,83,78,80 +2024004,Citra Dewi,88,90,92,85,89,88,82,87 +2024005,Dedi Prasetyo,75,78,80,72,76,79,74,77 +2024006,Eka Putri,90,92,94,88,91,89,86,90 +2024007,Fahri Rahman,82,85,88,80,84,86,79,83 +2024008,Gita Sari,86,88,90,83,87,85,81,86 +2024009,Hendra Wijaya,79,81,84,77,80,82,76,80 +2024010,Indah Permata,93,95,97,90,94,92,88,94 diff --git a/FrontEnd/contoh-import-informatika-sem1.xlsx b/FrontEnd/contoh-import-informatika-sem1.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..408f9996d46f13bb1c91912a54aa0730944d9613 GIT binary patch literal 18965 zcmeHP>u)T{Rritwp+!+x0TKd%nvuwt$R3a1cI;VsUVhx`yVkY$?j|S-HQhBceci8g z_t>5dNSjRrDm_<`t&)cPMtdE)T!4TKlsG+KR=iK{pE9Cd*}Nz$mx zK=9IOyl%JK?ly9M0)g2!S}J8J^IYj|G+G(Y5|S)V^KLJ$F0SbKCH~7(GH zi)1R0WN~E*e`9fNWp_!#7f2F+bqar_wcBp5Y4`$3;;&8N_trPpR&;!UH1gcwYzmt? zwAWMIbCf~o?N_320DWUop%+-NhTOWSia{8pvuw?0Ps6we1VW@39at%X@POH{;x_a9 zvCF6ew#8ZLjRe`r6o~4w5<7MyMBKxO!6OQOAHDlGAHDls>!Wwye(%liz4zwdzxUOz zzW3(eNnRS^J`09r!XJJ6kN)*9-mw1VyWjfJH~*v>AEB+N=!3ug`uqRz$JL1NpaSv3 zKYja$-+TMRKl_7!{;O|Rpzp@4Uq(N5eV$m4_=WX2^wBn<7+rGSk8ekDI%2Ly!A9U+ z!MdA{G{i>}=2hXfxURe>F@i@G;@q)pL4Aib1PMH>h?85Dv0)7AN?|^YBRc8)6LNns}*`xt?ux19TN`0M6x2? zId`#B?rCb=W8;+hRV+^#vYk@LJY?ypO30H*Y?tx6Ns68xaxb*H4o{LQnwMj=x5WDa zL%gc&_9JiN>zHxso>lRD$ilFU*$L0uBj!g{xF>EfD&rm`XE0G_9fwFZrk(UC)IEfr z(GM(`+1*cE$|Q@paeW|o#T{xQ6$V0Y#&LyMdpy+a_hjM?7#C3nAzh2qz8hQ>wmlbd zTh{P#*xsq_Vi2oxo_!-&&%*mL4AC7n4vsmzV%qvYj?f=R=-U7J2tCV}?>{aVp%_t` z5)zqfi_F`fnRpLe&pV+x`NKry-U$XErw1U>iDea@PsE}TisZ?tK*JlxOwd?yn7-h2BrH7&9SL40a5mk@*$AnI zVosY?v`h?cTG{ftVv4rirLqPIb>rF^LNpN+wc7F~lZwT>94gP724JpDWHuJ^A!vCG zOIuVmk}>9SEMjGI;H+Cnt6BM;yGXTKHe|#cF1ttrm$caseV3WgRQsrT(nfBl&0K3x z+Vw&RvzTo^H&k-QAXBX9B-5L`pzK>-U|sCgHdmKcYnIKTo!S61T@?KYot988$h;vI zMeQ_}R(q{43MVaEyjg8k4J=;Fa2U;vqc}-BEE&l@6t7fQc>&cV}0TcOOlL9uPcP$?bxSf_ey96QK$ww6l!*R;vlaX^_^}TWYn4$ZjQ)-XnCRnf# z4oweOT_bIaS9)w!k*2(+CGaGidC`ceXi2Lxna4?VVXCJSMWcko3ec*pOagol9Mj5#T*>9%*TtuNQ zJ#mrrf;<}|%MGCyMV7RZd4)FkZEmWn?kK`d2H?_IDcV^8i*B@v#4A4JEou&#dSOjOZJ?DZz;d0-Z2pmJLb{OLA<0r? zflXv&XgT3>)ucfuRQN3ZUvLez|qofC@%wJHYKA5(#wrgp%WK~}b!oGa6m z7d(r~ZXkTM$|`3*H&vOOC|=o7cTib+d9})vrl7oO!@~||%rNyj5%Cv;jrf7CcU9yZYv59g-;K%n_#w^xa@_T4L)Qf%9&M z8l2ERj>9N{hpsDmK}}*aHS5EAWMGHS&G%Qnk7$Sv_l8W0iXWTI7~nL z{yV?-!SBCSfB&7YHu=!LN*`cO@hX_s7Lw6Rs77OMx?xbP+tEa;?RN`Q1wvIbd$_`<3K z#e-Y`@*)B>w=oJK)em}jpuvsGq{5wAfWs}K2@>xbY>Zoz2BwXoUctCd6sWf!#tshC zlsiI#n%f>9kl7-u8_{8a**xFoWSFa5;-j{49f0>)){mg8w%YmwlMUgjoH1_)(8_0C-NA<0!74?)FqctTLN}YUo zM8w#d${F{^u7@jtVyD#flGenf#U)IO3{ACkoZXSn9IMC1 zue&*O!K+PN&zl=Y<2njlh$67N61=&nGwCU8qbv5RdG9N*p@{z6t>a)eFZi|K2S^yNe-u&Xj)m#wSraVDN`xzOPEtj$7#FBdaVw>Fx`ik z!hH-$IudO9NmqdlRrM4TQzr^+nA^Sr8&w`Cu)+IKfeUBTbh4J~1S#p1P7HxsI!*_J zv~?V_gr^hJRERH3#bD4;U_H5^S2=p29A|fw19yg>9-tfsJMy zDkg=1nx$;yD#0=IDN8BzD7{C=>9JAlT8|k9p}>eK#1{TzG{2+3hW&IE*s!0T0vD1C zA@&s5(BZxU8_hqE;B`Y;hYGuhK$=!IbFCm*ozjXSXG_P~b5n*$J7p-u6Dl#}>nO0n zvn#=-S@jflA+}VB0vp}6ufT@74;0uit3w4Y1k_a0pal<6+b)XJN--4NGLZIpfMeU% ztL{@A(KC!iutr!hSacM8!w|Ha!3_&QUMW<(Zm3}|!#50RKZ6@qdXVucG$Go3nBfDwBjVNREdj~88-00zM1~)X(%ixA6 zdl}r&=za#D(vYmz3|KS^5%Ls#q=w|h4>`ebhd4sVoo*b5F{U2nN1AG5R(p~X!fryx z?rA1sC0{b;IrTCXm=xDejA`O;zA^Wew>~j9N1sp0X=3^6!`)|x8JByT9A0`cmKBWo zp`RUzU9ho+A#dN*%|)-qdOddSk-Xp`7rri?>5CLM<>gGUNaWfq#u7}e`GRF_XKfX0 zVWou^yffaam4(+Hc6N^+*DS0Zos6Rh8+P1zlHY(*o4s}zO+@cTxL3hleUq1vH$GI9sfMzDdx)Ov`d6o7WKul{pG*@^uy=o=IEoGHe14Ywk76_%e^`6 zy{+hEk{!qJFNZ%8mzhpSZt|+SPe`j_V#Ov~t;rVgT#sR5hx<%$qS%7!1r{yykdth= zD2O|Lv@Dr1$Zshcia&h%;(tEGjYj(X45FpH()eR?jS(v&a;4dbp|`psnVV$Y#uzjo znNwZ5SMVeilZT>sK}A?qhT*Jc?m)YIv zcIn1%^Mtm+4o|l0W#INc_PTJron~R6O01Kv68?mdox+lhW{X3k4mKfKm{=&_z6TQ`~)hd2q~P z+TP9)mBcW|LSi9&4GwOrg(na#Ta-D|gL z+fTnx{GES%`o=H(^xPbM=tA*tw6Uv(YpY)*<4wNsY+WIE+bwl52L&F4$WRgPq~OOA2wqJQ(J^IBBuPQ=YKoydsH7lxH3j#p zDK6*fO*PHMOd5JqP4hIWZp+h%&uWZ#Rn`70Xwn%90DP8Y;#E~OSI|U`skO43(A#P) zU^f-Mt#xUcu)>a2jG#og_%)5sC`Wu5zwHsbxClU_oJ`#7W)5_#+6=GJru)iq$w_Ze zzZ~Mrzq)aMf>4ep_+KN3IDJz7(T!&jK`^_f!s0B_?K=5twTlBzSJj-Stywa0yV^4o zGo~Fksu9*JGVN#4Y(SG^Od~cKm`CCY2LELV28B_Yq~<}Eg7hoDE=Y4nEB}0s$;DjfEVz7U zS#T-$mPu@`w-m%*SkFbse$>b$HrEUa;vZ~iD+nf`Iqxe7AAELt7HCqNxqLzW{hbnZ i=8Pt}nSmDM&6g_k(c=d{`BQ}S0{(p&M)9>hdirm?oxkS* literal 0 HcmV?d00001 diff --git a/FrontEnd/contoh-import-informatika-sem2.csv b/FrontEnd/contoh-import-informatika-sem2.csv new file mode 100644 index 0000000..40c2642 --- /dev/null +++ b/FrontEnd/contoh-import-informatika-sem2.csv @@ -0,0 +1,11 @@ +NIM,Nama,INF201,INF202,INF203,INF204,INF205,INF206,INF207 +2024001,Ahmad Fauzi,86,90,88,84,82,85,89 +2024002,Siti Aisyah,93,95,92,90,88,91,94 +2024003,Budi Santoso,79,82,80,78,75,80,81 +2024004,Citra Dewi,89,91,90,87,85,88,90 +2024005,Dedi Prasetyo,76,80,78,75,73,77,79 +2024006,Eka Putri,91,94,93,89,87,90,92 +2024007,Fahri Rahman,83,87,85,82,80,84,86 +2024008,Gita Sari,87,90,88,85,83,86,89 +2024009,Hendra Wijaya,80,84,82,79,77,81,83 +2024010,Indah Permata,94,97,95,92,90,93,96 diff --git a/FrontEnd/contoh-import-informatika-sem2.xlsx b/FrontEnd/contoh-import-informatika-sem2.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b53d19ecb5d95bb80b916935ccdacd67265ce9ce GIT binary patch literal 18698 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 MK >> CPMK +5. Penggunaan AI untuk Mencari data penyesuaian materi terbaru dari berbagai sumber diff --git a/FrontEnd/package-lock.json b/FrontEnd/package-lock.json new file mode 100644 index 0000000..a348f2e --- /dev/null +++ b/FrontEnd/package-lock.json @@ -0,0 +1,6105 @@ +{ + "name": "sistem-cpl-unismuh", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "sistem-cpl-unismuh", + "version": "1.0.0", + "dependencies": { + "next": "^14.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "recharts": "^2.10.0", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0", + "autoprefixer": "^10.4.16", + "eslint": "^8.54.0", + "eslint-config-next": "^14.0.0", + "postcss": "^8.4.31", + "tailwindcss": "^3.3.5", + "typescript": "^5.0.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", + "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", + "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "dev": true, + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "dev": true, + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@next/env": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.33.tgz", + "integrity": "sha512-CgVHNZ1fRIlxkLhIX22flAZI/HmpDaZ8vwyJ/B0SDPTBuLZ1PJ+DWMjCHhqnExfmSQzA/PbZi8OAc7PAq2w9IA==" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.33.tgz", + "integrity": "sha512-DQTJFSvlB+9JilwqMKJ3VPByBNGxAGFTfJ7BuFj25cVcbBy7jm88KfUN+dngM4D3+UxZ8ER2ft+WH9JccMvxyg==", + "dev": true, + "dependencies": { + "glob": "10.3.10" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.33.tgz", + "integrity": "sha512-HqYnb6pxlsshoSTubdXKu15g3iivcbsMXg4bYpjL2iS/V6aQot+iyF4BUc2qA/J/n55YtvE4PHMKWBKGCF/+wA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.33.tgz", + "integrity": "sha512-8HGBeAE5rX3jzKvF593XTTFg3gxeU4f+UWnswa6JPhzaR6+zblO5+fjltJWIZc4aUalqTclvN2QtTC37LxvZAA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.33.tgz", + "integrity": "sha512-JXMBka6lNNmqbkvcTtaX8Gu5by9547bukHQvPoLe9VRBx1gHwzf5tdt4AaezW85HAB3pikcvyqBToRTDA4DeLw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.33.tgz", + "integrity": "sha512-Bm+QulsAItD/x6Ih8wGIMfRJy4G73tu1HJsrccPW6AfqdZd0Sfm5Imhgkgq2+kly065rYMnCOxTBvmvFY1BKfg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.33.tgz", + "integrity": "sha512-FnFn+ZBgsVMbGDsTqo8zsnRzydvsGV8vfiWwUo1LD8FTmPTdV+otGSWKc4LJec0oSexFnCYVO4hX8P8qQKaSlg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.33.tgz", + "integrity": "sha512-345tsIWMzoXaQndUTDv1qypDRiebFxGYx9pYkhwY4hBRaOLt8UGfiWKr9FSSHs25dFIf8ZqIFaPdy5MljdoawA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.33.tgz", + "integrity": "sha512-nscpt0G6UCTkrT2ppnJnFsYbPDQwmum4GNXYTeoTIdsmMydSKFz9Iny2jpaRupTb+Wl298+Rh82WKzt9LCcqSQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.33.tgz", + "integrity": "sha512-pc9LpGNKhJ0dXQhZ5QMmYxtARwwmWLpeocFmVG5Z0DzWq5Uf0izcI8tLc+qOpqxO1PWqZ5A7J1blrUIKrIFc7Q==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.33.tgz", + "integrity": "sha512-nOjfZMy8B94MdisuzZo9/57xuFVLHJaDj5e/xrduJp9CV2/HrfxTRH2fbyLe+K9QT41WBLUd4iXX3R7jBp0EUg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.15.0.tgz", + "integrity": "sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==", + "dev": true + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-shape": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", + "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.19.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.25.tgz", + "integrity": "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==", + "dev": true, + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.3.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz", + "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.47.0.tgz", + "integrity": "sha512-fe0rz9WJQ5t2iaLfdbDc9T80GJy0AeO453q8C3YCilnGozvOyCG5t+EZtg7j7D88+c3FipfP/x+wzGnh1xp8ZA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.47.0", + "@typescript-eslint/type-utils": "8.47.0", + "@typescript-eslint/utils": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.47.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.47.0.tgz", + "integrity": "sha512-lJi3PfxVmo0AkEY93ecfN+r8SofEqZNGByvHAI3GBLrvt1Cw6H5k1IM02nSzu0RfUafr2EvFSw0wAsZgubNplQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.47.0", + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/typescript-estree": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.47.0.tgz", + "integrity": "sha512-2X4BX8hUeB5JcA1TQJ7GjcgulXQ+5UkNb0DL8gHsHUHdFoiCTJoYLTpib3LtSDPZsRET5ygN4qqIWrHyYIKERA==", + "dev": true, + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.47.0", + "@typescript-eslint/types": "^8.47.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.47.0.tgz", + "integrity": "sha512-a0TTJk4HXMkfpFkL9/WaGTNuv7JWfFTQFJd6zS9dVAjKsojmv9HT55xzbEpnZoY+VUb+YXLMp+ihMLz/UlZfDg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.47.0.tgz", + "integrity": "sha512-ybUAvjy4ZCL11uryalkKxuT3w3sXJAuWhOoGS3T/Wu+iUu1tGJmk5ytSY8gbdACNARmcYEB0COksD2j6hfGK2g==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.47.0.tgz", + "integrity": "sha512-QC9RiCmZ2HmIdCEvhd1aJELBlD93ErziOXXlHEZyuBo3tBiAZieya0HLIxp+DoDWlsQqDawyKuNEhORyku+P8A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/typescript-estree": "8.47.0", + "@typescript-eslint/utils": "8.47.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.47.0.tgz", + "integrity": "sha512-nHAE6bMKsizhA2uuYZbEbmp5z2UpffNrPEqiKIeN7VsV6UY/roxanWfoRrf6x/k9+Obf+GQdkm0nPU+vnMXo9A==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.47.0.tgz", + "integrity": "sha512-k6ti9UepJf5NpzCjH31hQNLHQWupTRPhZ+KFF8WtTuTpy7uHPfeg2NM7cP27aCGajoEplxJDFVCEm9TGPYyiVg==", + "dev": true, + "dependencies": { + "@typescript-eslint/project-service": "8.47.0", + "@typescript-eslint/tsconfig-utils": "8.47.0", + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/visitor-keys": "8.47.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.47.0.tgz", + "integrity": "sha512-g7XrNf25iL4TJOiPqatNuaChyqt49a/onq5YsJ9+hXeugK+41LVg7AxikMfM02PC6jbNtZLCJj6AUcQXJS/jGQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.47.0", + "@typescript-eslint/types": "8.47.0", + "@typescript-eslint/typescript-estree": "8.47.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.47.0.tgz", + "integrity": "sha512-SIV3/6eftCy1bNzCQoPmbWsRLujS8t5iDIZ4spZOBHqrM+yfX2ogg8Tt3PDTAVKw3sSCiUgg30uOAvK2r9zGjQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.47.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.22", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.22.tgz", + "integrity": "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.27.0", + "caniuse-lite": "^1.0.30001754", + "fraction.js": "^5.3.4", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz", + "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.31", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.31.tgz", + "integrity": "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==", + "dev": true, + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", + "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "baseline-browser-mapping": "^2.8.25", + "caniuse-lite": "^1.0.30001754", + "electron-to-chromium": "^1.5.249", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.1.4" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001756", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001756.tgz", + "integrity": "sha512-4HnCNKbMLkLdhJz3TToeVWHSnfJvPaq6vu/eRP0Ahub/07n484XHhBF5AJoSGHdVrS8tKFauUQz8Bp9P7LVx7A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/codepage": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.5.259", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.259.tgz", + "integrity": "sha512-I+oLXgpEJzD6Cwuwt1gYjxsDmu/S/Kd41mmLA3O+/uH2pFRO/DvOjUyGozL8j3KeLV6WyZ7ssPwELMsXCcsJAQ==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-next": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.33.tgz", + "integrity": "sha512-e2W+waB+I5KuoALAtKZl3WVDU4Q1MS6gF/gdcwHh0WOAkHf4TZI6dPjd25wKhlZFAsFrVKy24Z7/IwOhn8dHBw==", + "dev": true, + "dependencies": { + "@next/eslint-plugin-next": "14.2.33", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0-canary-7118f5dd7-20230705", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", + "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-equals": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.3.3.tgz", + "integrity": "sha512-/boTcHZeIAQ2r/tL11voclBHDeP9WPxLt+tyAbVSyyXuUFyh0Tne7gJZTqGbxnvj79TjLdCXLOY7UIPhyG5MTw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", + "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/next": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.33.tgz", + "integrity": "sha512-GiKHLsD00t4ACm1p00VgrI0rUFAC9cRDGReKyERlM57aeEZkOQGcZTpIbsGn0b562FTPJWmYfKwplfO9EaT6ng==", + "dependencies": { + "@next/env": "14.2.33", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.2.33", + "@next/swc-darwin-x64": "14.2.33", + "@next/swc-linux-arm64-gnu": "14.2.33", + "@next/swc-linux-arm64-musl": "14.2.33", + "@next/swc-linux-x64-gnu": "14.2.33", + "@next/swc-linux-x64-musl": "14.2.33", + "@next/swc-win32-arm64-msvc": "14.2.33", + "@next/swc-win32-ia32-msvc": "14.2.33", + "@next/swc-win32-x64-msvc": "14.2.33" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-smooth": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.4.tgz", + "integrity": "sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==", + "dependencies": { + "fast-equals": "^5.0.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recharts": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.15.4.tgz", + "integrity": "sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw==", + "dependencies": { + "clsx": "^2.0.0", + "eventemitter3": "^4.0.1", + "lodash": "^4.17.21", + "react-is": "^18.3.1", + "react-smooth": "^4.0.4", + "recharts-scale": "^0.4.4", + "tiny-invariant": "^1.3.1", + "victory-vendor": "^36.6.8" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/recharts-scale": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", + "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", + "dependencies": { + "decimal.js-light": "^2.4.1" + } + }, + "node_modules/recharts/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.18.tgz", + "integrity": "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/victory-vendor": { + "version": "36.9.2", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", + "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xlsx": { + "version": "0.18.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz", + "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", + "dependencies": { + "adler-32": "~1.3.0", + "cfb": "~1.2.1", + "codepage": "~1.15.0", + "crc-32": "~1.2.1", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/FrontEnd/package.json b/FrontEnd/package.json new file mode 100644 index 0000000..2c664cc --- /dev/null +++ b/FrontEnd/package.json @@ -0,0 +1,29 @@ +{ + "name": "sistem-cpl-unismuh", + "version": "1.0.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "next": "^14.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "recharts": "^2.10.0", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "@types/node": "^20.0.0", + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.0", + "autoprefixer": "^10.4.16", + "eslint": "^8.54.0", + "eslint-config-next": "^14.0.0", + "postcss": "^8.4.31", + "tailwindcss": "^3.3.5", + "typescript": "^5.0.0" + } +} diff --git a/FrontEnd/postcss.config.mjs b/FrontEnd/postcss.config.mjs new file mode 100644 index 0000000..2ef30fc --- /dev/null +++ b/FrontEnd/postcss.config.mjs @@ -0,0 +1,9 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; + +export default config; diff --git a/FrontEnd/src/app/dashboard/input-nilai/page.tsx b/FrontEnd/src/app/dashboard/input-nilai/page.tsx new file mode 100644 index 0000000..2121a75 --- /dev/null +++ b/FrontEnd/src/app/dashboard/input-nilai/page.tsx @@ -0,0 +1,375 @@ +'use client'; + +import { useState, useEffect } from 'react'; +import { prodiData, mahasiswaData, mataKuliahData, cpmkData, cpmkToCplMapping } from '@/data/mockData'; +import { saveNilai, getNilaiByMahasiswaMK } from '@/utils/nilaiStorage'; +import { useRouter } from 'next/navigation'; + +export default function InputNilaiPage() { + const router = useRouter(); + const [selectedProdi, setSelectedProdi] = useState('ARS'); + const [selectedSemester, setSelectedSemester] = useState(3); + const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); + const [filteredMahasiswa, setFilteredMahasiswa] = useState([]); + const [mkList, setMkList] = useState([]); + const [selectedMK, setSelectedMK] = useState(null); + const [nilaiMK, setNilaiMK] = useState(''); + const [showResult, setShowResult] = useState(false); + const [calculatedCPMK, setCalculatedCPMK] = useState([]); + const [calculatedCPL, setCalculatedCPL] = useState([]); + const [saveSuccess, setSaveSuccess] = useState(false); + + // Filter mahasiswa by prodi + useEffect(() => { + const filtered = mahasiswaData.filter((m) => m.prodiKode === selectedProdi); + setFilteredMahasiswa(filtered); + if (filtered.length > 0 && !selectedMahasiswa) { + setSelectedMahasiswa(filtered[0].id); + } + }, [selectedProdi]); + + // Get MK list for selected prodi and semester + useEffect(() => { + const mkFiltered = mataKuliahData.filter( + (mk) => mk.prodiKode === selectedProdi && mk.semester === selectedSemester + ); + setMkList(mkFiltered); + }, [selectedProdi, selectedSemester]); + + // Check if nilai already exists when MK is selected + useEffect(() => { + if (selectedMK && selectedMahasiswa) { + const existingNilai = getNilaiByMahasiswaMK(selectedMahasiswa, selectedMK.kode); + if (existingNilai) { + setNilaiMK(existingNilai.nilaiAkhir.toString()); + } + } + }, [selectedMK, selectedMahasiswa]); + + // Calculate CPMK from nilai MK + const handleCalculate = () => { + if (!selectedMK || !nilaiMK) return; + + const nilai = parseFloat(nilaiMK); + if (isNaN(nilai) || nilai < 0 || nilai > 100) { + alert('Masukkan nilai antara 0-100'); + return; + } + + // Get CPMK for this MK + const cpmkList = cpmkData.filter((c) => c.mkKode === selectedMK.kode); + + // Calculate nilai CPMK (breakdown otomatis berdasarkan bobot) + const cpmkResults = cpmkList.map((cpmk) => { + const nilaiCPMK = nilai * (cpmk.bobot / 100); + return { + kode: cpmk.kode, + deskripsi: cpmk.deskripsi, + bobot: cpmk.bobot, + nilai: Math.round(nilaiCPMK * 10) / 10, + }; + }); + + setCalculatedCPMK(cpmkResults); + + // Calculate CPL contribution from this MK + const cplScoresMap: { [key: string]: { totalNilai: number; count: number } } = {}; + + cpmkResults.forEach((cpmk) => { + const mappings = cpmkToCplMapping.filter((m) => m.cpmkKode === cpmk.kode); + + mappings.forEach((mapping) => { + if (!cplScoresMap[mapping.cplKode]) { + cplScoresMap[mapping.cplKode] = { totalNilai: 0, count: 0 }; + } + cplScoresMap[mapping.cplKode].totalNilai += cpmk.nilai * (mapping.bobot / 100); + cplScoresMap[mapping.cplKode].count += 1; + }); + }); + + const cplResults = Object.entries(cplScoresMap).map(([cplKode, data]) => ({ + kode: cplKode, + nilai: Math.round((data.totalNilai / data.count) * 10) / 10, + })); + + setCalculatedCPL(cplResults); + setShowResult(true); + }; + + // Save nilai + const handleSave = () => { + if (!selectedMK || !selectedMahasiswa || !nilaiMK) return; + + const nilai = parseFloat(nilaiMK); + const success = saveNilai(selectedMahasiswa, selectedMK.kode, nilai); + + if (success) { + setSaveSuccess(true); + + // Show success message for 3 seconds + setTimeout(() => { + setSaveSuccess(false); + setSelectedMK(null); + setNilaiMK(''); + setShowResult(false); + setCalculatedCPMK([]); + setCalculatedCPL([]); + }, 2000); + } else { + alert('Gagal menyimpan nilai. Silakan coba lagi.'); + } + }; + + const selectedMhs = mahasiswaData.find((m) => m.id === selectedMahasiswa); + const selectedProdiData = prodiData.find((p) => p.kode === selectedProdi); + + return ( +
+ {/* Success Notification */} + {saveSuccess && ( +
+
+ + + +
+

Nilai Berhasil Disimpan!

+

Data akan ditampilkan di Dashboard & Laporan

+
+
+
+ )} + +
+

+ + + + Input Nilai Mahasiswa +

+

+ Input nilai mata kuliah, sistem otomatis menghitung CPMK dan CPL +

+
+ + {/* Filter Section */} +
+

+ + + + Filter Data +

+ +
+
+ + +
+ +
+ + +
+ +
+ + +
+
+ + {selectedMhs && ( +
+
+
+ Prodi: +

{selectedProdiData?.nama}

+
+
+ Nim: +

{selectedMhs.npm}

+
+
+ Nama: +

{selectedMhs.nama}

+
+
+ Semester Aktif: +

Semester {selectedMhs.semesterAktif}

+
+
+
+ )} +
+ + {/* MK List */} +
+

+ Pilih Mata Kuliah (Semester {selectedSemester}) +

+ + {mkList.length === 0 ? ( +
+

Tidak ada mata kuliah di semester ini

+
+ ) : ( +
+ {mkList.map((mk) => ( + + ))} +
+ )} +
+ + {/* Input Nilai Section */} + {selectedMK && ( +
+

+ Input Nilai: {selectedMK.nama} +

+ +
+ +
+ setNilaiMK(e.target.value)} + min="0" + max="100" + step="0.1" + placeholder="Masukkan nilai" + className="flex-1 px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500" + /> + +
+
+ + {/* Results */} + {showResult && ( +
+ {/* CPMK Results */} +
+

Breakdown Nilai CPMK (Otomatis)

+
+ {calculatedCPMK.map((cpmk) => ( +
+
+

{cpmk.deskripsi}

+

Bobot: {cpmk.bobot}%

+
+ + {cpmk.nilai} + +
+ ))} +
+
+ + {/* CPL Results */} +
+

Kontribusi ke CPL

+
+ {calculatedCPL.map((cpl) => ( +
+

{cpl.kode}

+

{cpl.nilai}

+
+ ))} +
+
+ + {/* Save Button */} +
+ + +
+
+ )} +
+ )} +
+ ); +} diff --git a/FrontEnd/src/app/dashboard/laporan/page.tsx b/FrontEnd/src/app/dashboard/laporan/page.tsx new file mode 100644 index 0000000..21ecc77 --- /dev/null +++ b/FrontEnd/src/app/dashboard/laporan/page.tsx @@ -0,0 +1,838 @@ +'use client'; + +import { useState, useEffect } from 'react'; +import { prodiData, mahasiswaData, cplData, mataKuliahData } from '@/data/mockData'; +import { hitungNilaiCPLPerSemesterIntegrated, getIntegratedNilaiByMahasiswa, getNilaiGroupedBySemester, hitungCPMKBreakdownPerCPL } from '@/utils/dataIntegration'; +import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, LineChart, Line, RadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Radar } from 'recharts'; + +type ViewMode = 'mahasiswa' | 'semester' | 'prodi'; + +export default function LaporanPage() { + const [selectedProdi, setSelectedProdi] = useState('ARS'); + const [selectedSemester, setSelectedSemester] = useState(2); + const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); + const [viewMode, setViewMode] = useState('mahasiswa'); + const [filteredMahasiswa, setFilteredMahasiswa] = useState([]); + const [laporanData, setLaporanData] = useState(null); + const [expandedCPL, setExpandedCPL] = useState(null); + + // Filter mahasiswa by prodi + useEffect(() => { + const filtered = mahasiswaData.filter((m) => m.prodiKode === selectedProdi); + setFilteredMahasiswa(filtered); + if (filtered.length > 0 && !selectedMahasiswa) { + setSelectedMahasiswa(filtered[0].id); + } + }, [selectedProdi]); + + // Generate laporan based on view mode + useEffect(() => { + if (viewMode === 'mahasiswa' && selectedMahasiswa) { + generateLaporanMahasiswa(); + } else if (viewMode === 'semester') { + generateLaporanSemester(); + } else if (viewMode === 'prodi') { + generateLaporanProdi(); + } + }, [viewMode, selectedMahasiswa, selectedProdi, selectedSemester]); + + const generateLaporanMahasiswa = () => { + const mhs = mahasiswaData.find((m) => m.id === selectedMahasiswa); + if (!mhs) return; + + const cplScores = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, selectedSemester, mhs.prodiKode); + const nilaiMhs = getIntegratedNilaiByMahasiswa(selectedMahasiswa); + + // Get CPMK breakdown with bobot + const cpmkBreakdown = hitungCPMKBreakdownPerCPL(selectedMahasiswa, selectedSemester, mhs.prodiKode); + + // Group nilai by semester using integrated data + const groupedData = getNilaiGroupedBySemester(selectedMahasiswa, mhs.prodiKode); + + // Convert to format expected by component + const nilaiPerSemester: { [key: number]: any[] } = {}; + Object.entries(groupedData).forEach(([sem, data]) => { + const semester = parseInt(sem); + nilaiPerSemester[semester] = data.nilai.map((nilai, idx) => ({ + ...nilai, + mk: data.mataKuliah[idx] + })); + }); + + // Calculate CPL trend across semesters + const trendData = []; + for (let sem = 1; sem <= mhs.semesterAktif; sem++) { + const cplSem = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, sem, mhs.prodiKode); + const avgCPL = cplSem.length > 0 + ? cplSem.reduce((sum, c) => sum + c.nilai, 0) / cplSem.length + : 0; + trendData.push({ + semester: `Sem ${sem}`, + 'Rata-rata CPL': Math.round(avgCPL * 10) / 10 + }); + } + + setLaporanData({ + mahasiswa: mhs, + cplScores, + cpmkBreakdown, + nilaiPerSemester, + trendData, + totalMK: nilaiMhs.length, + avgCPL: cplScores.length > 0 + ? Math.round((cplScores.reduce((sum, c) => sum + c.nilai, 0) / cplScores.length) * 10) / 10 + : 0, + }); + }; + + const generateLaporanSemester = () => { + const mahasiswaProdi = mahasiswaData.filter((m) => m.prodiKode === selectedProdi); + const mkSemester = mataKuliahData.filter( + (mk) => mk.prodiKode === selectedProdi && mk.semester === selectedSemester + ); + + // Calculate average CPL for all students in this semester + const allCPLScores: { [key: string]: number[] } = {}; + + mahasiswaProdi.forEach((mhs) => { + const cplScores = hitungNilaiCPLPerSemesterIntegrated(mhs.id, selectedSemester, selectedProdi); + cplScores.forEach((cpl) => { + if (!allCPLScores[cpl.cplKode]) { + allCPLScores[cpl.cplKode] = []; + } + allCPLScores[cpl.cplKode].push(cpl.nilai); + }); + }); + + const avgCPLBySemester = Object.entries(allCPLScores).map(([kode, values]) => ({ + kode, + avgNilai: values.length > 0 + ? Math.round((values.reduce((a, b) => a + b, 0) / values.length) * 10) / 10 + : 0, + jumlahMahasiswa: values.length, + deskripsi: cplData.find((c) => c.kode === kode && c.prodiKode === selectedProdi)?.deskripsi || '', + })); + + setLaporanData({ + semester: selectedSemester, + mataKuliah: mkSemester, + avgCPL: avgCPLBySemester, + totalMahasiswa: mahasiswaProdi.length, + totalSKS: mkSemester.reduce((sum, mk) => sum + mk.sks, 0), + }); + }; + + const generateLaporanProdi = () => { + const mahasiswaProdi = mahasiswaData.filter((m) => m.prodiKode === selectedProdi); + const mkProdi = mataKuliahData.filter((mk) => mk.prodiKode === selectedProdi); + + // Calculate overall statistics - count all nilai (integrated) + const allNilaiCount = mahasiswaProdi.reduce((count, mhs) => { + return count + getIntegratedNilaiByMahasiswa(mhs.id).length; + }, 0); + + // CPL achievement across all students + const cplAchievement: { [key: string]: { total: number; count: number } } = {}; + + mahasiswaProdi.forEach((mhs) => { + for (let sem = 1; sem <= mhs.semesterAktif; sem++) { + const cplScores = hitungNilaiCPLPerSemesterIntegrated(mhs.id, sem, selectedProdi); + cplScores.forEach((cpl) => { + if (!cplAchievement[cpl.cplKode]) { + cplAchievement[cpl.cplKode] = { total: 0, count: 0 }; + } + cplAchievement[cpl.cplKode].total += cpl.nilai; + cplAchievement[cpl.cplKode].count += 1; + }); + } + }); + + const avgCPLProdi = Object.entries(cplAchievement).map(([kode, data]) => ({ + kode, + avgNilai: data.count > 0 + ? Math.round((data.total / data.count) * 10) / 10 + : 0, + deskripsi: cplData.find((c) => c.kode === kode && c.prodiKode === selectedProdi)?.deskripsi || '', + })); + + // Distribution by semester + const distribusiSemester = Array.from({ length: 8 }, (_, i) => { + const sem = i + 1; + const count = mahasiswaProdi.filter((m) => m.semesterAktif === sem).length; + return { semester: `Sem ${sem}`, jumlah: count }; + }); + + setLaporanData({ + prodi: prodiData.find((p) => p.kode === selectedProdi), + totalMahasiswa: mahasiswaProdi.length, + totalMK: mkProdi.length, + avgCPL: avgCPLProdi, + distribusiSemester, + totalNilai: allNilaiCount, + }); + }; + + const handleExport = (format: 'pdf' | 'excel') => { + alert(`Export ke ${format.toUpperCase()} akan segera tersedia!`); + }; + + return ( +
+ {/* Header */} +
+

+ Laporan CPL +

+

+ Laporan lengkap capaian pembelajaran lulusan dengan visualisasi data +

+
+ + {/* View Mode Selector */} +
+
+ + + +
+ + +
+
+
+ + {/* Filters based on view mode */} +
+
+
+ + +
+ + {(viewMode === 'mahasiswa' || viewMode === 'semester') && ( +
+ + +
+ )} + + {viewMode === 'mahasiswa' && ( +
+ + +
+ )} +
+
+ + {/* Laporan Content */} + {viewMode === 'mahasiswa' && laporanData && ( +
+ {/* Student Info Card */} +
+
+
+

Nama Mahasiswa

+

{laporanData.mahasiswa.nama}

+
+
+

Nim

+

{laporanData.mahasiswa.npm}

+
+
+

Semester Aktif

+

Semester {laporanData.mahasiswa.semesterAktif}

+
+
+

Rata-rata CPL

+

{laporanData.avgCPL}

+
+
+
+ + {/* CPL Trend Chart */} +
+

+ Tren Capaian CPL Across Semesters +

+ + + + + + + + + + +
+ + {/* CPL Scores Table with CPMK Breakdown */} +
+
+

+ Detail CPL Semester {selectedSemester} +

+

+ Klik pada baris CPL untuk melihat breakdown CPMK dan bobot +

+
+
+ {laporanData.cpmkBreakdown && laporanData.cpmkBreakdown.length > 0 ? ( +
+ {laporanData.cpmkBreakdown.map((cpl: any, idx: number) => ( +
+ {/* CPL Header - Clickable */} +
setExpandedCPL(expandedCPL === cpl.cplKode ? null : cpl.cplKode)} + > +
+
+ + + + {cpl.cplKode} +
+ {cpl.cplDeskripsi} +
+
+ + {cpl.nilaiCPL} + + = 75 + ? 'bg-green-100 text-green-800' + : cpl.nilaiCPL >= 60 + ? 'bg-yellow-100 text-yellow-800' + : 'bg-red-100 text-red-800' + }`} + > + {cpl.nilaiCPL >= 75 ? 'Tercapai' : cpl.nilaiCPL >= 60 ? 'Cukup' : 'Belum Tercapai'} + +
+
+ + {/* CPMK Breakdown - Expandable */} + {expandedCPL === cpl.cplKode && ( +
+ {/* Header with CPL Info */} +
+
+
+
+

+ Breakdown Mata Kuliah & CPMK untuk {cpl.cplKode} +

+
+ + Total: {cpl.totalMKTerkait} MK Terkait + +
+
+

• Bobot per MK: {cpl.bobotMKPerCPL}% (100% ÷ {cpl.totalMKTerkait} MK)

+

• MK di semester ini: {cpl.mataKuliah.length}

+
+
+ + {cpl.mataKuliah.map((mk: any, mkIdx: number) => ( +
+ {/* MK Header */} +
+
+
+
+
+ {mk.mkKode} + - {mk.mkNama} +
+
+
+ {mk.sks} SKS + + Bobot: {mk.bobotMK}% + + + Nilai: {mk.nilaiMK} + +
+
+
+ + {/* CPMK List */} +
+
+ Perhitungan CPMK: {mk.bobotMK}% (bobot MK) ÷ {mk.cpmkList.length} CPMK = {mk.cpmkList[0]?.bobot}% per CPMK +
+ + + + + + + + + + + {mk.cpmkList.map((cpmk: any, cpmkIdx: number) => ( + + + + + + + ))} + +
CPMKDeskripsiBobot (%)Nilai Tertimbang
+
+
+ + {cpmk.cpmkKode.length > 20 + ? cpmk.cpmkKode.substring(0, 20) + '...' + : cpmk.cpmkKode} + +
+
+ {cpmk.deskripsi} + + + {cpmk.bobot}% + + + {cpmk.nilaiWeighted} +
+ + {/* Summary */} +
+
+ + Total Bobot CPMK: + + + {mk.cpmkList.reduce((sum: number, c: any) => sum + c.bobot, 0).toFixed(2)}% + +
+
+ + Kontribusi MK ke {cpl.cplKode}: + + + {mk.nilaiMK} × {mk.bobotMK}% = {Math.round(mk.nilaiMK * mk.bobotMK / 100 * 100) / 100} + +
+
+
+
+ ))} + + {/* CPL Summary */} +
+
+
+
+ + + + + Perhitungan Nilai {cpl.cplKode} + +
+ {cpl.nilaiCPL} +
+
+

• MK di semester ini: {cpl.mataKuliah.length} dari {cpl.totalMKTerkait} total MK

+

• Formula: Rata-rata nilai dari semua MK yang terkait

+

+ ({cpl.mataKuliah.map((mk: any) => mk.nilaiMK).join(' + ')}) ÷ {cpl.mataKuliah.length} = {cpl.nilaiCPL} +

+
+
+
+
+ )} +
+ ))} +
+ ) : ( +
+

Belum ada data CPMK untuk semester ini

+
+ )} +
+
+ + {/* MK yang sudah diambil */} +
+

+ Mata Kuliah yang Sudah Diselesaikan +

+
+ {Object.entries(laporanData.nilaiPerSemester).map(([sem, nilai]: [string, any]) => ( +
+

Semester {sem}

+
    + {nilai.map((n: any, idx: number) => ( +
  • + {n.mk.nama} + {n.nilaiAkhir} +
  • + ))} +
+
+ ))} +
+
+
+ )} + + {viewMode === 'semester' && laporanData && ( +
+ {/* Semester Overview */} +
+
+
+
+

Total Mahasiswa

+

{laporanData.totalMahasiswa}

+
+
+ + + +
+
+
+ +
+
+
+

Mata Kuliah

+

{laporanData?.mataKuliah?.length || 0}

+
+
+ + + +
+
+
+ +
+
+
+

Total SKS

+

{laporanData?.totalSKS || 0}

+
+
+ + + +
+
+
+
+ + {/* Average CPL Chart */} +
+

+ Rata-rata Capaian CPL Semester {selectedSemester} +

+ + + + + + + + + + +
+ + {/* Mata Kuliah List */} +
+
+

+ Daftar Mata Kuliah Semester {selectedSemester} +

+
+
+ + + + + + + + + + + + {laporanData?.mataKuliah?.map((mk: any, idx: number) => ( + + + + + + + + ))} + +
NoKode MKMata KuliahSKSCPL Terkait
{idx + 1}{mk.kode}{mk.nama} + + {mk.sks} + + + {mk.cplTerkait.join(', ')} +
+
+
+
+ )} + + {viewMode === 'prodi' && laporanData && ( +
+ {/* Prodi Overview */} +
+

{laporanData?.prodi?.nama || 'Program Studi'}

+
+
+

Total Mahasiswa

+

{laporanData?.totalMahasiswa || 0}

+
+
+

Total Mata Kuliah

+

{laporanData?.totalMK || 0}

+
+
+

Data Nilai Tersimpan

+

{laporanData?.totalNilai || 0}

+
+
+

Kaprodi

+

{laporanData?.prodi?.kaprodi || '-'}

+
+
+
+ + {/* Distribusi Mahasiswa per Semester */} +
+

+ Distribusi Mahasiswa per Semester +

+ + + + + + + + + + +
+ + {/* Average CPL Achievement */} +
+

+ Rata-rata Capaian CPL Keseluruhan +

+
+ + + + + + + + + + + + ({ + subject: cpl.kode, + value: cpl.avgNilai, + fullMark: 100, + })) : []}> + + + + + + + +
+
+ + {/* CPL Details Table */} +
+
+

+ Detail Capaian CPL {laporanData?.prodi?.nama || 'Program Studi'} +

+
+
+ + + + + + + + + + + {Array.isArray(laporanData?.avgCPL) && laporanData.avgCPL.map((cpl: any, idx: number) => ( + + + + + + + ))} + +
Kode CPLDeskripsiRata-rata NilaiStatus
{cpl.kode}{cpl.deskripsi} + + {cpl.avgNilai} + + + = 75 + ? 'bg-green-100 text-green-800' + : cpl.avgNilai >= 60 + ? 'bg-yellow-100 text-yellow-800' + : 'bg-red-100 text-red-800' + }`} + > + {cpl.avgNilai >= 75 ? 'Tercapai' : cpl.avgNilai >= 60 ? 'Cukup' : 'Belum Tercapai'} + +
+
+
+
+ )} +
+ ); +} diff --git a/FrontEnd/src/app/dashboard/layout.tsx b/FrontEnd/src/app/dashboard/layout.tsx new file mode 100644 index 0000000..0acdd63 --- /dev/null +++ b/FrontEnd/src/app/dashboard/layout.tsx @@ -0,0 +1,16 @@ +import Sidebar from '@/components/Sidebar'; + +export default function DashboardLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( +
+ +
+ {children} +
+
+ ); +} diff --git a/FrontEnd/src/app/dashboard/manajemen/page.tsx b/FrontEnd/src/app/dashboard/manajemen/page.tsx new file mode 100644 index 0000000..c8ce593 --- /dev/null +++ b/FrontEnd/src/app/dashboard/manajemen/page.tsx @@ -0,0 +1,1045 @@ +'use client'; + +import { useState, useEffect } from 'react'; +import { prodiData, mahasiswaData, mataKuliahData, cplData } from '@/data/mockData'; +import { saveNilai, getAllNilai } from '@/utils/nilaiStorage'; +import { getCombinedNilaiData, hitungNilaiCPLPerSemesterIntegrated } from '@/utils/dataIntegration'; +import * as XLSX from 'xlsx'; + +export default function ManajemenPage() { + const [activeTab, setActiveTab] = useState('import'); + const [selectedProdi, setSelectedProdi] = useState('INF'); + const [selectedSemester, setSelectedSemester] = useState(1); + const [selectedFile, setSelectedFile] = useState(null); + const [importData, setImportData] = useState([]); + const [importStatus, setImportStatus] = useState<'idle' | 'processing' | 'success' | 'error'>('idle'); + const [importMessage, setImportMessage] = useState(''); + const [importStats, setImportStats] = useState({ success: 0, failed: 0, total: 0 }); + const [refreshData, setRefreshData] = useState(0); // Trigger untuk refresh data + + // Get mahasiswa yang sudah punya nilai (dari localStorage + mockData) + const getMahasiswaWithNilai = () => { + const allNilai = getCombinedNilaiData(); + const uniqueMahasiswaIds = [...new Set(allNilai.map(n => n.mahasiswaId))]; + + return uniqueMahasiswaIds.map(id => { + const mhs = mahasiswaData.find(m => m.id === id); + const nilaiCount = allNilai.filter(n => n.mahasiswaId === id).length; + const localStorageCount = allNilai.filter(n => n.mahasiswaId === id && n.source === 'localStorage').length; + + return { + id, + npm: mhs?.npm || id.replace('MHS-', ''), + nama: mhs?.nama || 'Mahasiswa Baru', + prodiKode: mhs?.prodiKode || selectedProdi, + angkatan: mhs?.angkatan || '2024', + semesterAktif: mhs?.semesterAktif || selectedSemester, + totalNilai: nilaiCount, + nilaiDariImport: localStorageCount, + lastUpdate: allNilai.find(n => n.mahasiswaId === id && n.timestamp)?.timestamp + }; + }).filter(m => m.prodiKode === selectedProdi); + }; + + // Get statistik nilai per MK + const getMKStatistics = () => { + const allNilai = getCombinedNilaiData(); + const mkList = mataKuliahData.filter(mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester); + + return mkList.map(mk => { + const nilaiMK = allNilai.filter(n => n.mkKode === mk.kode); + const nilaiArray = nilaiMK.map(n => n.nilaiAkhir); + const avgNilai = nilaiArray.length > 0 + ? Math.round((nilaiArray.reduce((sum, val) => sum + val, 0) / nilaiArray.length) * 10) / 10 + : 0; + const minNilai = nilaiArray.length > 0 ? Math.min(...nilaiArray) : 0; + const maxNilai = nilaiArray.length > 0 ? Math.max(...nilaiArray) : 0; + + return { + ...mk, + jumlahMahasiswa: nilaiMK.length, + avgNilai, + minNilai, + maxNilai, + nilaiDariImport: nilaiMK.filter(n => n.source === 'localStorage').length + }; + }); + }; + + // Get statistik CPL + const getCPLStatistics = () => { + const mahasiswaList = getMahasiswaWithNilai(); + const cplList = cplData.filter(c => c.prodiKode === selectedProdi); + + return cplList.map(cpl => { + const nilaiCPL: number[] = []; + + mahasiswaList.forEach(mhs => { + const cplScores = hitungNilaiCPLPerSemesterIntegrated(mhs.id, selectedSemester, selectedProdi); + const cplScore = cplScores.find(c => c.cplKode === cpl.kode); + if (cplScore) { + nilaiCPL.push(cplScore.nilai); + } + }); + + const avgNilai = nilaiCPL.length > 0 + ? Math.round((nilaiCPL.reduce((sum, val) => sum + val, 0) / nilaiCPL.length) * 10) / 10 + : 0; + + return { + ...cpl, + jumlahMahasiswa: nilaiCPL.length, + avgNilai, + minNilai: nilaiCPL.length > 0 ? Math.min(...nilaiCPL) : 0, + maxNilai: nilaiCPL.length > 0 ? Math.max(...nilaiCPL) : 0, + tercapai: nilaiCPL.filter(n => n >= 75).length, + cukup: nilaiCPL.filter(n => n >= 60 && n < 75).length, + belumTercapai: nilaiCPL.filter(n => n < 60).length + }; + }); + }; + + // Handle file selection + const handleFileSelect = (e: React.ChangeEvent) => { + const file = e.target.files?.[0]; + if (file) { + // Validate file type + const validTypes = ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'text/csv', 'application/vnd.ms-excel']; + const validExtensions = ['.xlsx', '.csv']; + const fileExtension = file.name.substring(file.name.lastIndexOf('.')).toLowerCase(); + + if (!validTypes.includes(file.type) && !validExtensions.includes(fileExtension)) { + setImportStatus('error'); + setImportMessage('Format file tidak didukung. Hanya file .xlsx dan .csv yang diperbolehkan.'); + return; + } + + setSelectedFile(file); + setImportData([]); + setImportStatus('idle'); + setImportMessage(''); + } + }; + + // Parse CSV file + const parseCSV = (text: string): any[] => { + const lines = text.split('\n').filter(line => line.trim()); + if (lines.length < 2) return []; + + const headers = lines[0].split(',').map(h => h.trim().toLowerCase()); + const data: any[] = []; + + for (let i = 1; i < lines.length; i++) { + const values = lines[i].split(',').map(v => v.trim()); + const row: any = {}; + + headers.forEach((header, idx) => { + row[header] = values[idx] || ''; + }); + + // Validate required fields + if (row.nim && row.nama) { + data.push(row); + } + } + + return data; + }; + + // Parse Excel file using XLSX library + const parseExcel = (arrayBuffer: ArrayBuffer): any[] => { + try { + const workbook = XLSX.read(arrayBuffer, { type: 'array' }); + const firstSheet = workbook.Sheets[workbook.SheetNames[0]]; + const jsonData = XLSX.utils.sheet_to_json(firstSheet, { header: 1 }) as any[][]; + + if (jsonData.length < 2) return []; + + // Get headers (first row) + const headers = jsonData[0].map((h: any) => String(h).trim().toLowerCase()); + const data: any[] = []; + + // Process data rows + for (let i = 1; i < jsonData.length; i++) { + const row: any = {}; + headers.forEach((header, idx) => { + row[header] = jsonData[i][idx] ? String(jsonData[i][idx]).trim() : ''; + }); + + // Validate required fields + if (row.nim && row.nama) { + data.push(row); + } + } + + return data; + } catch (error) { + console.error('Error parsing Excel:', error); + return []; + } + }; + + // Preview imported data + const handlePreviewFile = async () => { + if (!selectedFile) return; + + setImportStatus('processing'); + setImportMessage('Memproses file...'); + + try { + let data: any[] = []; + + if (selectedFile.name.endsWith('.csv')) { + // Handle CSV files + const text = await selectedFile.text(); + data = parseCSV(text); + } else if (selectedFile.name.endsWith('.xlsx')) { + // Handle Excel files + const arrayBuffer = await selectedFile.arrayBuffer(); + data = parseExcel(arrayBuffer); + } + + if (data.length === 0) { + setImportStatus('error'); + setImportMessage('File tidak memiliki data yang valid. Pastikan format: NIM, Nama, dan nilai mata kuliah'); + return; + } + + setImportData(data); + setImportStatus('idle'); + setImportMessage(`Berhasil memuat ${data.length} baris data. Silakan review dan klik Import`); + } catch (error) { + setImportStatus('error'); + setImportMessage('Gagal membaca file. Pastikan format file benar (.xlsx atau .csv)'); + } + }; + + // Import data to localStorage + const handleImportData = () => { + if (importData.length === 0) return; + + setImportStatus('processing'); + setImportMessage('Mengimpor data...'); + + let successCount = 0; + let failedCount = 0; + + // Get MK for selected prodi and semester + const mkList = mataKuliahData.filter( + mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester + ); + + if (mkList.length === 0) { + setImportStatus('error'); + setImportMessage(`Tidak ada mata kuliah untuk ${prodiData.find(p => p.kode === selectedProdi)?.nama} Semester ${selectedSemester}`); + return; + } + + // Process each row + importData.forEach((row) => { + try { + // Find or create mahasiswa ID based on NIM + const mahasiswa = mahasiswaData.find(m => m.npm === row.nim); + const mahasiswaId = mahasiswa?.id || `MHS-${row.nim}`; + + // Import nilai for each MK column + mkList.forEach((mk) => { + const mkKodeClean = mk.kode.toLowerCase().replace(/[^a-z0-9]/g, ''); + const headerVariants = [ + mk.kode.toLowerCase(), + mkKodeClean, + mk.nama.toLowerCase(), + mk.nama.toLowerCase().replace(/\s+/g, '') + ]; + + // Find matching column + let nilaiAkhir: number | null = null; + for (const header of Object.keys(row)) { + if (headerVariants.some(variant => header.includes(variant) || variant.includes(header))) { + const nilai = parseFloat(row[header]); + if (!isNaN(nilai) && nilai >= 0 && nilai <= 100) { + nilaiAkhir = nilai; + break; + } + } + } + + // Save nilai if found + if (nilaiAkhir !== null) { + saveNilai(mahasiswaId, mk.kode, nilaiAkhir); + successCount++; + } + }); + } catch (error) { + failedCount++; + } + }); + + setImportStats({ + success: successCount, + failed: failedCount, + total: importData.length * mkList.length + }); + + setImportStatus('success'); + setImportMessage(`Import selesai! Berhasil: ${successCount} nilai, Gagal: ${failedCount}`); + + // Trigger refresh untuk update tab lain + setRefreshData(prev => prev + 1); + }; + + // Reset import + const handleReset = () => { + setSelectedFile(null); + setImportData([]); + setImportStatus('idle'); + setImportMessage(''); + setImportStats({ success: 0, failed: 0, total: 0 }); + }; + + return ( +
+ {/* Header */} +
+

Manajemen Data

+

+ Kelola data mahasiswa, mata kuliah, dan CPL +

+
+ + {/* Tabs */} +
+
+ + + + +
+ +
+ {activeTab === 'import' && ( +
+ {/* Filter Section */} +
+

+ + + + Filter Target Import +

+
+
+ + +
+
+ + +
+
+ + {/* MK Info */} +
+

+ Mata Kuliah di Semester {selectedSemester}: +

+
+ {mataKuliahData + .filter(mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester) + .map(mk => ( + + {mk.kode} - {mk.nama} + + ))} +
+
+
+ + {/* Upload Section */} +
+
+ + + +
+ +
+

+ Format file harus memiliki kolom: NIM, Nama, dan kolom untuk setiap kode/nama MK +

+
+ + {selectedFile && ( +
+ + +
+ )} +
+ + {/* Status Message */} + {importMessage && ( +
+
+ {importStatus === 'error' && ( + + + + )} + {importStatus === 'success' && ( + + + + )} + {importMessage} +
+ {importStatus === 'success' && ( +
+

Total data diproses: {importStats.total}

+

✓ Berhasil: {importStats.success}

+

✗ Gagal: {importStats.failed}

+
+ )} +
+ )} + + {/* Preview Table */} + {importData.length > 0 && ( +
+
+

+ Preview Data ({importData.length} mahasiswa) +

+ +
+
+ + + + + + + {Object.keys(importData[0]) + .filter(key => key !== 'nim' && key !== 'nama') + .map(key => ( + + ))} + + + + {importData.map((row, idx) => ( + + + + + {Object.keys(row) + .filter(key => key !== 'nim' && key !== 'nama') + .map(key => ( + + ))} + + ))} + +
NoNIMNama + {key} +
{idx + 1}{row.nim}{row.nama} + {row[key] && !isNaN(parseFloat(row[key])) ? ( + = 75 ? 'bg-green-100 text-green-800' : + parseFloat(row[key]) >= 60 ? 'bg-yellow-100 text-yellow-800' : + 'bg-red-100 text-red-800' + }`}> + {row[key]} + + ) : ( + - + )} +
+
+
+ )} + + {/* Instructions */} +
+

+ + + + Petunjuk Import Nilai +

+
    +
  1. Pilih Program Studi dan Semester target
  2. +
  3. Siapkan file CSV/TXT dengan format: +
      +
    • Kolom pertama: NIM (nomor induk mahasiswa)
    • +
    • Kolom kedua: Nama (nama mahasiswa)
    • +
    • Kolom selanjutnya: Kode atau Nama MK dengan nilai (0-100)
    • +
    +
  4. +
  5. Upload file dan klik "Preview Data" untuk melihat data yang akan diimpor
  6. +
  7. Jika data sudah sesuai, klik "Import ke Sistem"
  8. +
  9. Sistem akan otomatis menghitung CPL dan CPMK berdasarkan bobot yang sudah ditentukan
  10. +
+
+

Contoh format file:

+
+NIM,Nama,INF105,INF104,INF106
+2024001,Ahmad Fauzi,85,90,78
+2024002,Siti Aisyah,92,88,95
+                  
+
+
+
+ )} + + {activeTab === 'mahasiswa' && ( +
+
+
+

+ Data Mahasiswa yang Sudah Dinilai +

+

+ Menampilkan mahasiswa yang sudah memiliki nilai untuk Prodi {prodiData.find(p => p.kode === selectedProdi)?.nama} +

+
+
+ + +
+
+ + {getMahasiswaWithNilai().length > 0 ? ( +
+ + + + + + + + + + + + + + + + {getMahasiswaWithNilai().map((mhs, idx) => ( + + + + + + + + + + + + ))} + +
NoNIMNamaProdiAngkatanSemesterTotal NilaiDari ImportStatus
{idx + 1}{mhs.npm}{mhs.nama} + {prodiData.find(p => p.kode === mhs.prodiKode)?.nama} + {mhs.angkatan} + + Sem {mhs.semesterAktif} + + {mhs.totalNilai} + + {mhs.nilaiDariImport} + + + {mhs.nilaiDariImport > 0 ? ( + + + + + Terimport + + ) : ( + + Mock Data + + )} +
+
+ ) : ( +
+
+ + + +
+

Belum Ada Data Mahasiswa

+

+ Import file nilai untuk menambahkan data mahasiswa +

+ +
+ )} +
+ )} + + {activeTab === 'matakuliah' && ( +
+
+
+

+ Statistik Mata Kuliah +

+

+ Nilai rata-rata dan statistik per mata kuliah dari hasil import +

+
+
+ + + +
+
+ + {getMKStatistics().length > 0 ? ( +
+ {getMKStatistics().map((mk) => ( +
+
+
+ {mk.kode} +

{mk.nama}

+
+ {mk.sks} SKS +
+ +
+
+ Dosen: + {mk.dosen.split(',')[0]} +
+
+ Semester: + {mk.semester} +
+
+ +
+
+ Mahasiswa: + {mk.jumlahMahasiswa} orang +
+
+ Rata-rata: + = 75 ? 'text-green-600' : + mk.avgNilai >= 60 ? 'text-yellow-600' : + 'text-red-600' + }`}> + {mk.avgNilai > 0 ? mk.avgNilai : '-'} + +
+
+ Min - Max: + + {mk.minNilai > 0 ? `${mk.minNilai} - ${mk.maxNilai}` : '-'} + +
+
+ Data Import: + + {mk.nilaiDariImport} nilai + +
+
+ + {mk.jumlahMahasiswa > 0 && ( +
+
+
= 75 ? 'bg-green-500' : + mk.avgNilai >= 60 ? 'bg-yellow-500' : + 'bg-red-500' + }`} + style={{ width: `${(mk.avgNilai / 100) * 100}%` }} + >
+
+
+ )} +
+ ))} +
+ ) : ( +
+
+ + + +
+

Belum Ada Data Nilai

+

+ Import file nilai terlebih dahulu untuk melihat statistik mata kuliah +

+ +
+ )} +
+ )} + + {activeTab === 'cpl' && ( +
+
+
+

+ Capaian Pembelajaran Lulusan (CPL) +

+

+ Statistik capaian CPL hasil kalkulasi otomatis dari nilai yang diimport +

+
+
+ + + +
+
+ + {getCPLStatistics().filter(cpl => cpl.jumlahMahasiswa > 0).length > 0 ? ( +
+ {/* Summary Cards */} +
+
+
+
+

Tercapai (≥75)

+

+ {getCPLStatistics().reduce((sum, cpl) => sum + cpl.tercapai, 0)} +

+
+
+ + + +
+
+
+ +
+
+
+

Cukup (60-74)

+

+ {getCPLStatistics().reduce((sum, cpl) => sum + cpl.cukup, 0)} +

+
+
+ + + +
+
+
+ +
+
+
+

Belum Tercapai (<60)

+

+ {getCPLStatistics().reduce((sum, cpl) => sum + cpl.belumTercapai, 0)} +

+
+
+ + + +
+
+
+
+ + {/* CPL Details */} +
+
+ + + + + + + + + + + + + {getCPLStatistics().filter(cpl => cpl.jumlahMahasiswa > 0).map((cpl) => ( + + + + + + + + + ))} + +
Kode CPLDeskripsiMahasiswaRata-rataMin - MaxDistribusi
+ {cpl.kode} + + {cpl.deskripsi} + + + {cpl.jumlahMahasiswa} mhs + + + = 75 ? 'text-green-600' : + cpl.avgNilai >= 60 ? 'text-yellow-600' : + 'text-red-600' + }`}> + {cpl.avgNilai} + + + {cpl.minNilai} - {cpl.maxNilai} + +
+ + ✓ {cpl.tercapai} + + + ~ {cpl.cukup} + + + ✗ {cpl.belumTercapai} + +
+
+
+
+ + {/* Info */} +
+
+ + + +
+

Informasi Kalkulasi CPL:

+
    +
  • Nilai CPL dihitung otomatis dari rata-rata MK yang terkait dengan CPL tersebut
  • +
  • Setiap MK memiliki CPMK dengan bobot yang dibagi rata
  • +
  • Data diupdate real-time setelah import nilai berhasil
  • +
  • Klik tombol Refresh untuk memperbarui statistik terbaru
  • +
+
+
+
+
+ ) : ( +
+
+ + + +
+

Belum Ada Data CPL

+

+ Import file nilai terlebih dahulu untuk melihat capaian CPL +

+ +
+ )} +
+ )} +
+
+
+ ); +} diff --git a/FrontEnd/src/app/dashboard/page.tsx b/FrontEnd/src/app/dashboard/page.tsx new file mode 100644 index 0000000..9ce1e2d --- /dev/null +++ b/FrontEnd/src/app/dashboard/page.tsx @@ -0,0 +1,511 @@ +'use client'; + +import { useState, useEffect } from 'react'; +import { useRouter } from 'next/navigation'; +import { prodiData, mahasiswaData, cplData, mataKuliahData, cpmkData, cpmkToCplMapping } from '@/data/mockData'; +import { hitungNilaiCPLPerSemesterIntegrated, hasInputNilai } from '@/utils/dataIntegration'; +import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, RadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Radar } from 'recharts'; + +export default function DashboardPage() { + const router = useRouter(); + const [selectedProdi, setSelectedProdi] = useState('ARS'); + const [selectedSemester, setSelectedSemester] = useState(2); + const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); + const [filteredMahasiswa, setFilteredMahasiswa] = useState([]); + const [cplScores, setCplScores] = useState([]); + const [mappingData, setMappingData] = useState(null); + + // Check auth + useEffect(() => { + if (typeof window !== 'undefined') { + const userData = sessionStorage.getItem('user'); + if (!userData) { + router.push('/login'); + } + } + }, [router]); + + // Filter mahasiswa by prodi + useEffect(() => { + const filtered = mahasiswaData.filter(m => m.prodiKode === selectedProdi); + setFilteredMahasiswa(filtered); + if (filtered.length > 0) { + setSelectedMahasiswa(filtered[0].id); + } + }, [selectedProdi]); + + // Calculate CPL scores when mahasiswa or semester changes + useEffect(() => { + if (!selectedMahasiswa) return; + + const scores = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, selectedSemester, selectedProdi); + + // Get CPL details for selected prodi + const prodiCPL = cplData.filter(c => c.prodiKode === selectedProdi); + const detailedScores = prodiCPL.map(cpl => { + const score = scores.find(s => s.cplKode === cpl.kode); + const nilai = score ? score.nilai : 0; + const isRealData = score && score.source !== 'mockData'; + + return { + kode: cpl.kode, + deskripsi: cpl.deskripsi, + nilai: nilai, + jumlahMK: score ? score.jumlahMK : 0, + status: nilai >= 75 ? 'Tercapai' : nilai >= 60 ? 'Cukup' : 'Belum Tercapai', + source: score ? score.source : 'none', + isRealData: isRealData, + }; + }); + + setCplScores(detailedScores); + }, [selectedMahasiswa, selectedSemester, selectedProdi]); + + // Generate CPL-MK-CPMK Mapping Data + useEffect(() => { + // Get CPL for selected prodi + const prodiCPL = cplData.filter(c => c.prodiKode === selectedProdi); + + // Get MK for selected semester and prodi + const mkSemester = mataKuliahData.filter( + mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester + ); + + // Build mapping structure + const mapping = prodiCPL.map(cpl => { + // Find MK that are related to this CPL + const relatedMK = mkSemester.filter(mk => + mk.cplTerkait.includes(cpl.kode) + ); + + // For each MK, get its CPMK + const mkWithCPMK = relatedMK.map(mk => { + const mkCPMK = cpmkData.filter(c => c.mkKode === mk.kode); + + // Get CPMK that map to this CPL + const relevantCPMK = mkCPMK.filter(cpmk => + cpmkToCplMapping.some(m => + m.cpmkKode === cpmk.kode && m.cplKode === cpl.kode + ) + ); + + return { + ...mk, + cpmkCount: relevantCPMK.length, + cpmkList: relevantCPMK + }; + }); + + return { + cpl: cpl, + mkCount: mkWithCPMK.length, + mataKuliah: mkWithCPMK, + totalCPMK: mkWithCPMK.reduce((sum, mk) => sum + mk.cpmkCount, 0) + }; + }); + + setMappingData(mapping); + }, [selectedProdi, selectedSemester]); + + const selectedMhs = mahasiswaData.find(m => m.id === selectedMahasiswa); + const selectedProdiData = prodiData.find(p => p.kode === selectedProdi); + + // Summary statistics + const tercapai = cplScores.filter(c => c.nilai >= 75).length; + const rataRata = cplScores.length > 0 + ? Math.round((cplScores.reduce((sum, c) => sum + c.nilai, 0) / cplScores.length) * 10) / 10 + : 0; + + // Chart data + const barChartData = cplScores.map(c => ({ + name: c.kode, + Nilai: c.nilai, + })); + + const radarChartData = cplScores.map(c => ({ + subject: c.kode, + value: c.nilai, + fullMark: 100, + })); + + return ( +
+ {/* Header */} +
+

Dashboard Sistem CPL

+

+ Pantau capaian pembelajaran lulusan mahasiswa per semester +

+
+ + {/* Cascading Filters */} +
+
+ {/* Pilih Prodi */} +
+ + +
+ + {/* Pilih Semester */} +
+ + +
+ + {/* Pilih Mahasiswa */} +
+ + +
+
+ + {/* Selected Info */} + {selectedMhs && ( +
+
+
+ Prodi: +

{selectedProdiData?.nama}

+
+
+ Nim: +

{selectedMhs.npm}

+
+
+ Angkatan: +

{selectedMhs.angkatan}

+
+
+ Semester Aktif: +

Semester {selectedMhs.semesterAktif}

+
+
+
+ )} +
+ + {/* Summary Cards */} +
+
+
+
+

CPL Tercapai

+

{tercapai}/{cplScores.length}

+

≥ 75 poin

+
+
+ + + +
+
+
+ +
+
+
+

Rata-rata CPL

+

{rataRata}

+

dari 100 poin

+
+
+ + + +
+
+
+ +
+
+
+

Status Semester {selectedSemester}

+

+ {rataRata >= 75 ? 'Sangat Baik' : rataRata >= 60 ? 'Baik' : 'Perlu Perbaikan'} +

+

{cplScores.filter(c => c.nilai > 0).length} CPL terdata

+
+
+ + + +
+
+
+
+ + {/* Charts */} +
+ {/* CPL-MK-CPMK Tree Diagram */} +
+

+ + Hubungan (CPL - MK - CPMK) +

+

+ Semester {selectedSemester} • {selectedProdiData?.nama} +

+ +
+ {mappingData && mappingData.map((item: any, idx: number) => ( +
+ {/* CPL Node (Root) */} +
+
+
0 ? 'bg-blue-500' : 'bg-gray-300'}`}>
+ {item.mkCount > 0 &&
} +
+ +
+
+
+ {item.cpl.kode} +
+ + {item.mkCount} MK + + + {item.totalCPMK} CPMK + +
+
+

{item.cpl.deskripsi}

+
+ + {/* MK Nodes (Children) */} + {item.mataKuliah.length > 0 && ( +
+ {item.mataKuliah.map((mk: any, mkIdx: number) => ( +
+
+
0 ? 'bg-green-500' : 'bg-gray-300'}`}>
+ {mk.cpmkCount > 0 &&
} +
+ +
+
+
+ + {mk.kode} + +
+

{mk.nama}

+

{mk.sks} SKS • {mk.dosen}

+
+ {mk.cpmkCount > 0 && ( + + {mk.cpmkCount} CPMK + + )} +
+
+ + {/* CPMK Nodes (Grandchildren) */} + {mk.cpmkList.length > 0 && ( +
+ {mk.cpmkList.map((cpmk: any, cpmkIdx: number) => ( +
+
+
+
+ +
+
+
+ {cpmkIdx + 1} +
+

{cpmk.deskripsi}

+ + {cpmk.bobot}% + +
+
+
+ ))} +
+ )} +
+
+ ))} +
+ )} + + {item.mataKuliah.length === 0 && ( +
+ Tidak ada MK terkait di semester ini +
+ )} +
+
+
+ ))} +
+ + {/* Legend */} +
+

Legenda:

+
+
+
+ CPL +
+
+
+ Mata Kuliah +
+
+
+ CPMK +
+
+
+
+ + {/* Radar Chart */} +
+

+ + Profil CPL Mahasiswa +

+

Diagram visualisasi CPL mahasiswa berdasarkan data yang tersedia



+ + + + + + + + + +
+
+ + {/* CPL Table */} +
+
+

Detail Capaian Pembelajaran Lulusan

+

Semester {selectedSemester} - {selectedProdiData?.nama}

+
+
+ + + + + + + + + + + + {cplScores.map((cpl, idx) => ( + + + + + + + + ))} + +
+ Kode CPL + + Deskripsi + + Jumlah MK + + Nilai + + Status +
+ {cpl.kode} + + {cpl.deskripsi} + + + {cpl.jumlahMK} MK + + + + {cpl.nilai} + + + + {cpl.status} + +
+
+
+
+ ); +} diff --git a/FrontEnd/src/app/dashboard/settings/page.tsx b/FrontEnd/src/app/dashboard/settings/page.tsx new file mode 100644 index 0000000..15fef39 --- /dev/null +++ b/FrontEnd/src/app/dashboard/settings/page.tsx @@ -0,0 +1,125 @@ +'use client'; + +export default function SettingsPage() { + return ( +
+ {/* Header */} +
+

Pengaturan

+

+ Kelola pengaturan sistem dan profil +

+
+ + {/* Settings Grid */} +
+ {/* Profile Settings */} +
+

Profil Pengguna

+
+
+ + +
+
+ + +
+
+ + +
+ +
+
+ + {/* System Settings */} +
+

Pengaturan Sistem

+
+
+
+

Notifikasi Email

+

Terima pemberitahuan via email

+
+ +
+ +
+
+

Mode Gelap

+

Aktifkan tema gelap

+
+ +
+ +
+
+

Auto-Save

+

Simpan otomatis saat input

+
+ +
+
+
+ + {/* About System */} +
+

Tentang Sistem

+
+
+
5
+

Program Studi

+
+
+
11
+

Total Mahasiswa

+
+
+
8
+

CPL per Prodi

+
+
+
+

+ Sistem CPL v1.0 - Sistem Capaian Pembelajaran Lulusan +

+

+ © 2025 Fakultas Teknik, Universitas Muhammadiyah Makassar +

+
+
+
+
+ ); +} diff --git a/FrontEnd/src/app/globals.css b/FrontEnd/src/app/globals.css new file mode 100644 index 0000000..a202c8e --- /dev/null +++ b/FrontEnd/src/app/globals.css @@ -0,0 +1,59 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --foreground-rgb: 0, 0, 0; + --background-start-rgb: 214, 219, 220; + --background-end-rgb: 255, 255, 255; +} + +body { + color: rgb(var(--foreground-rgb)); + background: linear-gradient( + to bottom, + transparent, + rgb(var(--background-end-rgb)) + ) + rgb(var(--background-start-rgb)); +} + +@layer utilities { + .text-balance { + text-wrap: balance; + } +} + +@keyframes slide-in { + from { + transform: translateX(100%); + opacity: 0; + } + to { + transform: translateX(0); + opacity: 1; + } +} + +.animate-slide-in { + animation: slide-in 0.3s ease-out; +} + +/* Custom Scrollbar */ +.custom-scrollbar::-webkit-scrollbar { + width: 6px; +} + +.custom-scrollbar::-webkit-scrollbar-track { + background: #f1f5f9; + border-radius: 10px; +} + +.custom-scrollbar::-webkit-scrollbar-thumb { + background: #cbd5e1; + border-radius: 10px; +} + +.custom-scrollbar::-webkit-scrollbar-thumb:hover { + background: #94a3b8; +} diff --git a/FrontEnd/src/app/layout.tsx b/FrontEnd/src/app/layout.tsx new file mode 100644 index 0000000..d07bd5b --- /dev/null +++ b/FrontEnd/src/app/layout.tsx @@ -0,0 +1,22 @@ +import type { Metadata } from "next"; +import { Inter } from "next/font/google"; +import "./globals.css"; + +const inter = Inter({ subsets: ["latin"] }); + +export const metadata: Metadata = { + title: "Sistem CPL - Universitas Muhammadiyah Makassar", + description: "Sistem Capaian Pembelajaran Lulusan", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + {children} + + ); +} diff --git a/FrontEnd/src/app/login/page.tsx b/FrontEnd/src/app/login/page.tsx new file mode 100644 index 0000000..4270ead --- /dev/null +++ b/FrontEnd/src/app/login/page.tsx @@ -0,0 +1,124 @@ +'use client'; + +import { useState } from 'react'; +import { useRouter } from 'next/navigation'; +import Link from 'next/link'; + +export default function LoginPage() { + const router = useRouter(); + const [credentials, setCredentials] = useState({ username: '', password: '' }); + const [error, setError] = useState(''); + const [loading, setLoading] = useState(false); + + const handleLogin = async (e: React.FormEvent) => { + e.preventDefault(); + setError(''); + setLoading(true); + + // Static credentials + const validUsers = [ + { username: 'admin', password: 'admin123', role: 'admin', name: 'Administrator' }, + { username: 'dosen', password: 'dosen123', role: 'dosen', name: 'Dr. Ahmad' }, + { username: 'kaprodi', password: 'kaprodi123', role: 'kaprodi', name: 'Dr. Siti' }, + ]; + + const user = validUsers.find( + u => u.username === credentials.username && u.password === credentials.password + ); + + setTimeout(() => { + if (user) { + // Save to sessionStorage + if (typeof window !== 'undefined') { + sessionStorage.setItem('user', JSON.stringify(user)); + } + router.push('/dashboard'); + } else { + setError('Username atau password salah'); + } + setLoading(false); + }, 500); + }; + + return ( +
+
+ {/* Header */} +
+
+ UM +
+

Sistem CPL

+

Universitas Muhammadiyah Makassar

+
+ + {/* Form */} +
+

Login

+ +
+ {error && ( +
+ {error} +
+ )} + +
+ + setCredentials({ ...credentials, username: e.target.value })} + className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-gray-900" + placeholder="Masukkan username" + required + /> +
+ +
+ + setCredentials({ ...credentials, password: e.target.value })} + className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-gray-900" + placeholder="Masukkan password" + required + /> +
+ + +
+ + {/* Demo Credentials */} +
+

Demo Credentials:

+
+

• Admin: admin / admin123

+

• Dosen: dosen / dosen123

+

• Kaprodi: kaprodi / kaprodi123

+
+
+ +
+ + ← Kembali ke Beranda + +
+
+
+
+ ); +} diff --git a/FrontEnd/src/app/page.tsx b/FrontEnd/src/app/page.tsx new file mode 100644 index 0000000..0bd143b --- /dev/null +++ b/FrontEnd/src/app/page.tsx @@ -0,0 +1,546 @@ +import Link from 'next/link'; + +export default function HomePage() { + return ( +
+ {/* Header */} +
+
+
+
+ UM +
+
+

Universitas Muhammadiyah Makassar

+

Sistem CPL - Fakultas Teknik

+
+
+ + Login + +
+
+ + {/* Hero Section */} +
+
+
+
+ 🎓 Sistem Monitoring & Evaluasi CPL +
+

+ Sistem Capaian
+ + Pembelajaran Lulusan + +

+

+ Platform digital terintegrasi untuk mengelola, memantau, dan mengevaluasi Capaian Pembelajaran Lulusan (CPL) + di 5 Program Studi Fakultas Teknik Universitas Muhammadiyah Makassar +

+ +
+ + Mulai Sekarang + + + + + + Pelajari Lebih Lanjut + + + + +
+
+ + {/* Stats */} +
+
+
5
+
Program Studi
+
+
+
8
+
CPL per Prodi
+
+
+
144+
+
Total SKS
+
+
+
69
+
Mata Kuliah
+
+
+
+
+ + {/* Program Studi Section */} +
+
+
+
+

+ Program Studi yang Didukung +

+

+ Sistem CPL melayani 5 Program Studi di Fakultas Teknik +

+
+ +
+ {/* Informatika */} +
+
+ + + +
+

Teknik Informatika

+

S1 Teknik Informatika (INF)

+
+ 📚 69 MK + ⏱️ 144 SKS +
+
+ + {/* Arsitektur */} +
+
+ + + +
+

Arsitektur

+

S1 Arsitektur (ARS)

+
+ 📚 50+ MK + ⏱️ 145 SKS +
+
+ + {/* PWK */} +
+
+ + + +
+

PWK

+

S1 Perencanaan Wilayah Kota

+
+ 📚 50+ MK + ⏱️ 144 SKS +
+
+ + {/* Sipil */} +
+
+ + + +
+

Teknik Sipil

+

S1 Teknik Sipil (SIP)

+
+ 📚 50+ MK + ⏱️ 144 SKS +
+
+ + {/* Elektro */} +
+
+ + + +
+

Teknik Elektro

+

S1 Teknik Elektro (ELK)

+
+ 📚 50+ MK + ⏱️ 144 SKS +
+
+
+
+
+
+ + {/* Features Section */} +
+
+
+
+

+ Fitur Unggulan Sistem +

+

+ Solusi lengkap untuk pengelolaan CPL yang efisien dan terintegrasi +

+
+ +
+ {/* Feature 1 */} +
+
+ + + +
+

Dashboard Tree Diagram

+

Visualisasi hierarki CPL → Mata Kuliah → CPMK yang interaktif dan mudah dipahami

+
+ + {/* Feature 2 */} +
+
+ + + +
+

Import Excel/CSV

+

Upload nilai mahasiswa secara batch dari file Excel atau CSV dengan validasi otomatis

+
+ + {/* Feature 3 */} +
+
+ + + +
+

Input Nilai Manual

+

Form input nilai per CPMK dengan kalkulasi otomatis dan distribusi ke CPL terkait

+
+ + {/* Feature 4 */} +
+
+ + + +
+

Laporan CPMK Breakdown

+

Laporan detail dengan breakdown CPMK, bobot, dan kontribusi ke setiap CPL

+
+ + {/* Feature 5 */} +
+
+ + + +
+

Manajemen Data

+

4 tab terintegrasi: Import, Mahasiswa, Mata Kuliah, dan monitoring CPL & CPMK

+
+ + {/* Feature 6 */} +
+
+ + + +
+

Visualisasi Radar Chart

+

Grafik radar untuk overview 8 CPL dengan interpretasi status pencapaian

+
+
+
+
+
+ + {/* How It Works Section */} +
+
+
+
+

+ Cara Kerja Sistem +

+

+ Proses kalkulasi CPL yang akurat dengan metode weighted average +

+
+ +
+ {/* Step 1 */} +
+
+
01
+

Input Nilai CPMK

+

+ Input nilai per CPMK untuk setiap mata kuliah. Sistem otomatis menghitung nilai MK berdasarkan bobot CPMK. +

+
+
+ + + +
+
+ + {/* Step 2 */} +
+
+
02
+

Kalkulasi Otomatis

+

+ Sistem menghitung kontribusi setiap CPMK ke CPL menggunakan weighted average dengan bobot MK dan CPMK. +

+
+
+ + + +
+
+ + {/* Step 3 */} +
+
03
+

Laporan & Analisis

+

+ Dapatkan laporan lengkap dengan visualisasi, breakdown detail, dan status pencapaian CPL per mahasiswa. +

+
+
+ + {/* Formula */} +
+

📐 Formula Kalkulasi:

+
+
Nilai MK = Σ (Nilai CPMK × Bobot CPMK)
+
Bobot MK = 100% / Jumlah MK per CPL
+
Nilai CPL = Σ (Nilai CPMK × Bobot MK × Bobot CPMK) / Σ (Bobot MK × Bobot CPMK)
+
+
+
+
+
+ + {/* Benefits Section */} +
+
+
+
+

+ Keuntungan Menggunakan Sistem +

+

+ Solusi yang memberikan nilai tambah untuk semua stakeholder +

+
+ +
+ {/* Benefit 1 */} +
+
+
+ + + +
+
+

Efisiensi Waktu

+

Proses input dan kalkulasi nilai yang cepat, hemat waktu hingga 80% dibanding manual

+
+
+
+ + {/* Benefit 2 */} +
+
+
+ + + +
+
+

Akurasi Tinggi

+

Kalkulasi otomatis meminimalkan human error, hasil lebih akurat dan konsisten

+
+
+
+ + {/* Benefit 3 */} +
+
+
+ + + +
+
+

Monitoring Real-time

+

Pantau pencapaian CPL mahasiswa secara real-time dengan visualisasi yang jelas

+
+
+
+ + {/* Benefit 4 */} +
+
+
+ + + +
+
+

Compliance SNPT

+

Sesuai dengan Standar Nasional Pendidikan Tinggi dan sistem OBE (Outcome-Based Education)

+
+
+
+ + {/* Benefit 5 */} +
+
+
+ + + +
+
+

Kolaboratif

+

Mendukung kolaborasi antara kaprodi, dosen, dan admin dalam satu platform

+
+
+
+ + {/* Benefit 6 */} +
+
+
+ + + +
+
+

Export Laporan

+

Ekspor laporan ke format PDF atau Excel untuk dokumentasi dan presentasi

+
+
+
+
+
+
+
+ + {/* CTA Section */} +
+
+
+

+ Siap Memulai? +

+

+ Kelola CPL dengan lebih efisien menggunakan sistem terintegrasi kami +

+
+ + Login Sekarang + + + + + + + + + GitHub Repository + +
+
+
+
+ + {/* Footer */} +
+
+
+ {/* About */} +
+
+
+ UM +
+
+

Sistem CPL

+

UNISMUH Makassar

+
+
+

+ Platform digital terintegrasi untuk mengelola Capaian Pembelajaran Lulusan di 5 Program Studi Fakultas Teknik. +

+ +
+ + {/* Quick Links */} +
+

Quick Links

+ +
+ + {/* Program Studi */} +
+

Program Studi

+
    +
  • Teknik Informatika
  • +
  • Arsitektur
  • +
  • Perencanaan Wilayah Kota
  • +
  • Teknik Sipil
  • +
  • Teknik Elektro
  • +
+
+
+ +
+

+ © 2025 Universitas Muhammadiyah Makassar. All rights reserved. +

+

+ Sistem Capaian Pembelajaran Lulusan v2.0 | Dikembangkan dengan ❤️ untuk UNISMUH Makassar +

+
+
+
+
+ ); +} diff --git a/FrontEnd/src/components/Sidebar.tsx b/FrontEnd/src/components/Sidebar.tsx new file mode 100644 index 0000000..9d02348 --- /dev/null +++ b/FrontEnd/src/components/Sidebar.tsx @@ -0,0 +1,212 @@ +'use client'; + +import { useState } from 'react'; +import Link from 'next/link'; +import { usePathname } from 'next/navigation'; + +interface MenuItem { + icon: React.ReactNode; + label: string; + path: string; + badge?: number; +} + +export default function Sidebar() { + const [isCollapsed, setIsCollapsed] = useState(false); + const [isMobileOpen, setIsMobileOpen] = useState(false); + const pathname = usePathname(); + + const menuItems: MenuItem[] = [ + { + icon: ( + + + + ), + label: 'Dashboard', + path: '/dashboard', + }, + { + icon: ( + + + + ), + label: 'Input Nilai', + path: '/dashboard/input-nilai', + }, + { + icon: ( + + + + ), + label: 'Laporan', + path: '/dashboard/laporan', + }, + { + icon: ( + + + + ), + label: 'Manajemen Data', + path: '/dashboard/manajemen', + }, + { + icon: ( + + + + + ), + label: 'Settings', + path: '/dashboard/settings', + }, + ]; + + const isActive = (path: string) => { + return pathname === path || pathname.startsWith(path + '/'); + }; + + return ( + <> + {/* Mobile Hamburger Button */} + + + {/* Mobile Overlay */} + {isMobileOpen && ( +
setIsMobileOpen(false)} + className="lg:hidden fixed inset-0 bg-black bg-opacity-50 z-40" + /> + )} + + {/* Sidebar */} + + + {/* Main Content Spacer */} +
+ + ); +} diff --git a/FrontEnd/src/data/mockData.ts b/FrontEnd/src/data/mockData.ts new file mode 100644 index 0000000..041f482 --- /dev/null +++ b/FrontEnd/src/data/mockData.ts @@ -0,0 +1,1127 @@ +// ===== PRODI (PROGRAM STUDI) ===== +export interface Prodi { + kode: string; + nama: string; + fakultas: string; + kaprodi: string; +} + +export const prodiData: Prodi[] = [ + { kode: 'INF', nama: 'Teknik Informatika', fakultas: 'Teknik', kaprodi: 'Dr. Ahmad Informatika, M.Kom' }, + { kode: 'ARS', nama: 'Arsitektur', fakultas: 'Teknik', kaprodi: 'Dr. Budi Arsitektur, M.Arch' }, + { kode: 'PWK', nama: 'Perencanaan Wilayah dan Kota', fakultas: 'Teknik', kaprodi: 'Dr. Ir. Citra PWK, M.T' }, + { kode: 'SIP', nama: 'Teknik Sipil', fakultas: 'Teknik', kaprodi: 'Dr. Ir. Dedi Sipil, M.T' }, + { kode: 'ELK', nama: 'Teknik Elektro', fakultas: 'Teknik', kaprodi: 'Dr. Ir. Eka Elektro, M.T' }, +]; + +// ===== DATA MAHASISWA ===== +export interface Mahasiswa { + id: string; + npm: string; + nama: string; + prodiKode: string; + angkatan: string; + semesterAktif: number; +} + +export const mahasiswaData: Mahasiswa[] = [ + // Teknik Informatika + { id: '1', npm: '105231001001', nama: 'Ahmad Fauzi', prodiKode: 'INF', angkatan: '2021', semesterAktif: 7 }, + { id: '2', npm: '105231001002', nama: 'Siti Aisyah', prodiKode: 'INF', angkatan: '2022', semesterAktif: 5 }, + + // Arsitektur + { id: '3', npm: '105232101001', nama: 'Budi Santoso', prodiKode: 'ARS', angkatan: '2023', semesterAktif: 3 }, + { id: '4', npm: '105232101002', nama: 'Citra Dewi', prodiKode: 'ARS', angkatan: '2022', semesterAktif: 5 }, + { id: '5', npm: '105232101003', nama: 'Dedi Prasetyo', prodiKode: 'ARS', angkatan: '2022', semesterAktif: 6 }, + + // PWK + { id: '6', npm: '105233001001', nama: 'Eka Putri', prodiKode: 'PWK', angkatan: '2021', semesterAktif: 7 }, + { id: '7', npm: '105233001002', nama: 'Fahri Rahman', prodiKode: 'PWK', angkatan: '2022', semesterAktif: 5 }, + + // Teknik Sipil + { id: '8', npm: '105232201001', nama: 'Gita Sari', prodiKode: 'SIP', angkatan: '2021', semesterAktif: 7 }, + { id: '9', npm: '105232201002', nama: 'Hendra Wijaya', prodiKode: 'SIP', angkatan: '2022', semesterAktif: 5 }, + + // Teknik Elektro + { id: '10', npm: '105232301001', nama: 'Indah Permata', prodiKode: 'ELK', angkatan: '2021', semesterAktif: 7 }, + { id: '11', npm: '105232301002', nama: 'Joko Susilo', prodiKode: 'ELK', angkatan: '2022', semesterAktif: 5 }, +]; + +// ===== CPL (CAPAIAN PEMBELAJARAN LULUSAN) ===== +export interface CPL { + kode: string; + prodiKode: string; + deskripsi: string; + kategori: 'sikap' | 'pengetahuan' | 'keterampilan_umum' | 'keterampilan_khusus'; +} + +// CPL ARSITEKTUR (8 CPL) +export const cplData: CPL[] = [ + { + kode: 'CPL1', + prodiKode: 'ARS', + deskripsi: 'Lulusan mampu menunjukkan integritas, etika profesi, nilai-nilai keislaman, tanggung jawab sosial, dan komitmen terhadap keberlanjutan dalam setiap praktik arsitektur', + kategori: 'sikap' + }, + { + kode: 'CPL2', + prodiKode: 'ARS', + deskripsi: 'Lulusan mampu merancang bangunan, interior, tapak, dan ruang luar secara kreatif, humanis, inklusif, dan berkelanjutan, dengan mensintesis teori, konsep, konteks, nilai Islami, serta kebutuhan pengguna', + kategori: 'keterampilan_khusus' + }, + { + kode: 'CPL3', + prodiKode: 'ARS', + deskripsi: 'Lulusan mampu menganalisis dan mengevaluasi sistem struktur beton, baja, dan konstruksi bangunan lainnya, serta menghasilkan solusi struktur dan ruang melalui penerapan mekanika bangunan', + kategori: 'keterampilan_khusus' + }, + { + kode: 'CPL4', + prodiKode: 'ARS', + deskripsi: 'Lulusan mampu mengkaji dan mengevaluasi sejarah arsitektur dunia, arsitektur Islam, dan perkembangan arsitektur kontemporer, serta mengintegrasikan wawasan tersebut dalam desain', + kategori: 'pengetahuan' + }, + { + kode: 'CPL5', + prodiKode: 'ARS', + deskripsi: 'Lulusan mampu menghasilkan komunikasi visual arsitektur dalam bentuk gambar 2D, 3D, simulasi, dan presentasi profesional', + kategori: 'keterampilan_umum' + }, + { + kode: 'CPL6', + prodiKode: 'ARS', + deskripsi: 'Lulusan mampu merancang dan mengevaluasi struktur, konstruksi, material, dan detail bangunan berdasarkan kaidah teknis, aspek estetika, keamanan, topografi, dan teknologi', + kategori: 'keterampilan_khusus' + }, + { + kode: 'CPL7', + prodiKode: 'ARS', + deskripsi: 'Lulusan mampu merancang dan mengevaluasi sistem utilitas dan kenyamanan bangunan (termal, penghawaan, pencahayaan, akustik) dengan mempertimbangkan iklim tropis', + kategori: 'keterampilan_khusus' + }, + { + kode: 'CPL8', + prodiKode: 'ARS', + deskripsi: 'Lulusan mampu menghasilkan gambar kerja, laporan teknis-ilmiah, serta model digital berbasis BIM secara profesional', + kategori: 'keterampilan_khusus' + }, + + // CPL TEKNIK INFORMATIKA (8 CPL) + { + kode: 'CPL1', + prodiKode: 'INF', + deskripsi: 'Mampu menunjukkan integritas, etika profesi, nilai-nilai keislaman, tanggung jawab sosial dalam pengembangan sistem informasi', + kategori: 'sikap' + }, + { + kode: 'CPL2', + prodiKode: 'INF', + deskripsi: 'Mampu merancang, membangun, dan mengelola aplikasi berbasis komputer menggunakan metodologi rekayasa perangkat lunak', + kategori: 'keterampilan_khusus' + }, + { + kode: 'CPL3', + prodiKode: 'INF', + deskripsi: 'Mampu menganalisis, merancang, dan mengimplementasikan basis data serta sistem manajemen database', + kategori: 'keterampilan_khusus' + }, + { + kode: 'CPL4', + prodiKode: 'INF', + deskripsi: 'Mampu menguasai konsep algoritma, struktur data, dan pemrograman berorientasi objek', + kategori: 'pengetahuan' + }, + { + kode: 'CPL5', + prodiKode: 'INF', + deskripsi: 'Mampu merancang dan mengimplementasikan jaringan komputer serta infrastruktur sistem', + kategori: 'keterampilan_khusus' + }, + { + kode: 'CPL6', + prodiKode: 'INF', + deskripsi: 'Mampu mengembangkan aplikasi web dan mobile menggunakan framework modern', + kategori: 'keterampilan_khusus' + }, + { + kode: 'CPL7', + prodiKode: 'INF', + deskripsi: 'Mampu menerapkan keamanan siber, kriptografi, dan pengelolaan resiko sistem informasi', + kategori: 'keterampilan_khusus' + }, + { + kode: 'CPL8', + prodiKode: 'INF', + deskripsi: 'Mampu menggunakan teknologi AI/ML, Big Data, dan Cloud Computing dalam solusi sistem informasi', + kategori: 'keterampilan_umum' + }, + + // CPL TEKNIK SIPIL (contoh 8 CPL) + { kode: 'CPL1', prodiKode: 'SIP', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam praktik teknik sipil', kategori: 'sikap' }, + { kode: 'CPL2', prodiKode: 'SIP', deskripsi: 'Mampu merancang struktur bangunan sipil yang aman dan ekonomis', kategori: 'keterampilan_khusus' }, + { kode: 'CPL3', prodiKode: 'SIP', deskripsi: 'Mampu menganalisis dan merancang sistem transportasi', kategori: 'keterampilan_khusus' }, + { kode: 'CPL4', prodiKode: 'SIP', deskripsi: 'Mampu menguasai konsep mekanika tanah dan pondasi', kategori: 'pengetahuan' }, + { kode: 'CPL5', prodiKode: 'SIP', deskripsi: 'Mampu menggunakan software teknik sipil (AutoCAD, SAP2000, Civil3D)', kategori: 'keterampilan_umum' }, + { kode: 'CPL6', prodiKode: 'SIP', deskripsi: 'Mampu merencanakan dan mengelola proyek konstruksi', kategori: 'keterampilan_khusus' }, + { kode: 'CPL7', prodiKode: 'SIP', deskripsi: 'Mampu merancang sistem hidrologi dan sumber daya air', kategori: 'keterampilan_khusus' }, + { kode: 'CPL8', prodiKode: 'SIP', deskripsi: 'Mampu membuat laporan teknis dan dokumentasi proyek', kategori: 'keterampilan_umum' }, + // CPL TEKNIK ELEKTRO (contoh 8 CPL) + { kode: 'CPL1', prodiKode: 'ELK', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam bidang elektro', kategori: 'sikap' }, + { kode: 'CPL2', prodiKode: 'ELK', deskripsi: 'Mampu merancang sistem tenaga listrik', kategori: 'keterampilan_khusus' }, + { kode: 'CPL3', prodiKode: 'ELK', deskripsi: 'Mampu menganalisis dan merancang sistem kontrol', kategori: 'keterampilan_khusus' }, + { kode: 'CPL4', prodiKode: 'ELK', deskripsi: 'Mampu menguasai elektronika daya dan konversi energi', kategori: 'pengetahuan' }, + { kode: 'CPL5', prodiKode: 'ELK', deskripsi: 'Mampu menggunakan software simulasi (MATLAB, PSCAD)', kategori: 'keterampilan_umum' }, + { kode: 'CPL6', prodiKode: 'ELK', deskripsi: 'Mampu merancang sistem telekomunikasi dan jaringan', kategori: 'keterampilan_khusus' }, + { kode: 'CPL7', prodiKode: 'ELK', deskripsi: 'Mampu mengembangkan sistem embedded dan IoT', kategori: 'keterampilan_khusus' }, + { kode: 'CPL8', prodiKode: 'ELK', deskripsi: 'Mampu membuat dokumentasi teknis dan presentasi', kategori: 'keterampilan_umum' }, + // CPL TEKNIK MESIN (contoh 8 CPL) + { kode: 'CPL1', prodiKode: 'MES', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam teknik mesin', kategori: 'sikap' }, + { kode: 'CPL2', prodiKode: 'MES', deskripsi: 'Mampu merancang sistem mekanis dan termal', kategori: 'keterampilan_khusus' }, + { kode: 'CPL3', prodiKode: 'MES', deskripsi: 'Mampu menganalisis kekuatan material dan struktur mesin', kategori: 'keterampilan_khusus' }, + { kode: 'CPL4', prodiKode: 'MES', deskripsi: 'Mampu menguasai proses manufaktur dan produksi', kategori: 'pengetahuan' }, + { kode: 'CPL5', prodiKode: 'MES', deskripsi: 'Mampu menggunakan CAD/CAM (SolidWorks, CATIA)', kategori: 'keterampilan_umum' }, + { kode: 'CPL6', prodiKode: 'MES', deskripsi: 'Mampu merancang sistem konversi energi', kategori: 'keterampilan_khusus' }, + { kode: 'CPL7', prodiKode: 'MES', deskripsi: 'Mampu melakukan maintenance dan troubleshooting mesin', kategori: 'keterampilan_khusus' }, + { kode: 'CPL8', prodiKode: 'MES', deskripsi: 'Mampu membuat laporan teknis dan gambar teknik', kategori: 'keterampilan_umum' }, + // CPL TEKNIK INDUSTRI (contoh 8 CPL) + { kode: 'CPL1', prodiKode: 'IND', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam teknik industri', kategori: 'sikap' }, + { kode: 'CPL2', prodiKode: 'IND', deskripsi: 'Mampu merancang sistem produksi dan operasi', kategori: 'keterampilan_khusus' }, + { kode: 'CPL3', prodiKode: 'IND', deskripsi: 'Mampu menganalisis dan mengoptimalkan proses industri', kategori: 'keterampilan_khusus' }, + { kode: 'CPL4', prodiKode: 'IND', deskripsi: 'Mampu menguasai manajemen kualitas dan supply chain', kategori: 'pengetahuan' }, + { kode: 'CPL5', prodiKode: 'IND', deskripsi: 'Mampu menggunakan software simulasi (Arena, FlexSim)', kategori: 'keterampilan_umum' }, + { kode: 'CPL6', prodiKode: 'IND', deskripsi: 'Mampu merancang tata letak pabrik dan ergonomi', kategori: 'keterampilan_khusus' }, + { kode: 'CPL7', prodiKode: 'IND', deskripsi: 'Mampu melakukan analisis biaya dan kelayakan proyek', kategori: 'keterampilan_khusus' }, + { kode: 'CPL8', prodiKode: 'IND', deskripsi: 'Mampu membuat laporan analisis dan rekomendasi', kategori: 'keterampilan_umum' }, +]; + +// ===== CPMK (CAPAIAN PEMBELAJARAN MATA KULIAH) ===== +export interface CPMK { + kode: string; + mkKode: string; + deskripsi: string; + bobot: number; // dalam persen (total per MK = 100%) +} + +export const cpmkData: CPMK[] = [ + // SEMESTER I - Pancasila (ARS101) + { kode: 'CPMK-ARS101-1', mkKode: 'ARS101', deskripsi: 'Memahami nilai-nilai Pancasila', bobot: 20 }, + { kode: 'CPMK-ARS101-2', mkKode: 'ARS101', deskripsi: 'Menerapkan Pancasila dalam kehidupan', bobot: 20 }, + { kode: 'CPMK-ARS101-3', mkKode: 'ARS101', deskripsi: 'Menganalisis tantangan implementasi Pancasila', bobot: 30 }, + { kode: 'CPMK-ARS101-4', mkKode: 'ARS101', deskripsi: 'Mengevaluasi penerapan Pancasila di masyarakat', bobot: 20 }, + { kode: 'CPMK-ARS101-5', mkKode: 'ARS101', deskripsi: 'Mengintegrasikan nilai Pancasila dalam profesi', bobot: 10 }, + + // SEMESTER II - Studio Perancangan 1 (ARS205) - CONTOH LENGKAP + { kode: 'CPMK-ARS205-1', mkKode: 'ARS205', deskripsi: 'Memahami prinsip dasar perancangan arsitektur', bobot: 20 }, + { kode: 'CPMK-ARS205-2', mkKode: 'ARS205', deskripsi: 'Menganalisis kebutuhan dan konteks tapak', bobot: 20 }, + { kode: 'CPMK-ARS205-3', mkKode: 'ARS205', deskripsi: 'Mengembangkan konsep desain yang kreatif', bobot: 30 }, + { kode: 'CPMK-ARS205-4', mkKode: 'ARS205', deskripsi: 'Menghasilkan gambar presentasi 2D dan 3D', bobot: 20 }, + { kode: 'CPMK-ARS205-5', mkKode: 'ARS205', deskripsi: 'Mempresentasikan desain secara profesional', bobot: 10 }, + + // SEMESTER II - Struktur & Konstruksi 1 (ARS204) + { kode: 'CPMK-ARS204-1', mkKode: 'ARS204', deskripsi: 'Memahami prinsip dasar struktur beton', bobot: 20 }, + { kode: 'CPMK-ARS204-2', mkKode: 'ARS204', deskripsi: 'Menganalisis beban struktur bangunan', bobot: 25 }, + { kode: 'CPMK-ARS204-3', mkKode: 'ARS204', deskripsi: 'Merancang elemen struktur beton sederhana', bobot: 30 }, + { kode: 'CPMK-ARS204-4', mkKode: 'ARS204', deskripsi: 'Mengevaluasi kekuatan dan keamanan struktur', bobot: 15 }, + { kode: 'CPMK-ARS204-5', mkKode: 'ARS204', deskripsi: 'Menggambar detail konstruksi beton', bobot: 10 }, + + // SEMESTER III - Studio Perancangan 2 (ARS301) + { kode: 'CPMK-ARS301-1', mkKode: 'ARS301', deskripsi: 'Menganalisis konteks sosial-budaya desain', bobot: 20 }, + { kode: 'CPMK-ARS301-2', mkKode: 'ARS301', deskripsi: 'Merancang bangunan residensial kompleks', bobot: 25 }, + { kode: 'CPMK-ARS301-3', mkKode: 'ARS301', deskripsi: 'Mengintegrasikan aspek struktur dan utilitas', bobot: 25 }, + { kode: 'CPMK-ARS301-4', mkKode: 'ARS301', deskripsi: 'Menghasilkan visualisasi 3D yang menarik', bobot: 20 }, + { kode: 'CPMK-ARS301-5', mkKode: 'ARS301', deskripsi: 'Mempresentasikan portofolio desain', bobot: 10 }, + + // SEMESTER III - Struktur & Konstruksi 2 (ARS302) + { kode: 'CPMK-ARS302-1', mkKode: 'ARS302', deskripsi: 'Memahami sistem struktur rangka beton', bobot: 20 }, + { kode: 'CPMK-ARS302-2', mkKode: 'ARS302', deskripsi: 'Menganalisis struktur bangunan bertingkat', bobot: 25 }, + { kode: 'CPMK-ARS302-3', mkKode: 'ARS302', deskripsi: 'Merancang balok dan kolom beton bertulang', bobot: 30 }, + { kode: 'CPMK-ARS302-4', mkKode: 'ARS302', deskripsi: 'Menghitung kebutuhan tulangan beton', bobot: 15 }, + { kode: 'CPMK-ARS302-5', mkKode: 'ARS302', deskripsi: 'Membuat gambar detail struktur beton', bobot: 10 }, + + // SEMESTER V - Studio Perancangan 4 (ARS501) + { kode: 'CPMK-ARS501-1', mkKode: 'ARS501', deskripsi: 'Menganalisis isu urban dan konteks kota', bobot: 20 }, + { kode: 'CPMK-ARS501-2', mkKode: 'ARS501', deskripsi: 'Merancang bangunan komersial atau publik', bobot: 25 }, + { kode: 'CPMK-ARS501-3', mkKode: 'ARS501', deskripsi: 'Mengintegrasikan teknologi hijau', bobot: 25 }, + { kode: 'CPMK-ARS501-4', mkKode: 'ARS501', deskripsi: 'Menghasilkan model BIM dan render fotorealistik', bobot: 20 }, + { kode: 'CPMK-ARS501-5', mkKode: 'ARS501', deskripsi: 'Melakukan presentasi desain yang komprehensif', bobot: 10 }, + + // SEMESTER VI - Arsitektur Hijau (ARS603) + { kode: 'CPMK-ARS603-1', mkKode: 'ARS603', deskripsi: 'Memahami prinsip arsitektur berkelanjutan', bobot: 20 }, + { kode: 'CPMK-ARS603-2', mkKode: 'ARS603', deskripsi: 'Menganalisis dampak lingkungan bangunan', bobot: 20 }, + { kode: 'CPMK-ARS603-3', mkKode: 'ARS603', deskripsi: 'Merancang bangunan hemat energi', bobot: 30 }, + { kode: 'CPMK-ARS603-4', mkKode: 'ARS603', deskripsi: 'Menerapkan material ramah lingkungan', bobot: 20 }, + { kode: 'CPMK-ARS603-5', mkKode: 'ARS603', deskripsi: 'Mengevaluasi kinerja energi bangunan', bobot: 10 }, + + // SEMESTER VIII - Tugas Akhir (ARS801) + { kode: 'CPMK-ARS801-1', mkKode: 'ARS801', deskripsi: 'Merumuskan permasalahan desain secara komprehensif', bobot: 20 }, + { kode: 'CPMK-ARS801-2', mkKode: 'ARS801', deskripsi: 'Mengembangkan metodologi perancangan', bobot: 20 }, + { kode: 'CPMK-ARS801-3', mkKode: 'ARS801', deskripsi: 'Merancang bangunan dengan kompleksitas tinggi', bobot: 30 }, + { kode: 'CPMK-ARS801-4', mkKode: 'ARS801', deskripsi: 'Menghasilkan gambar kerja dan dokumen lengkap', bobot: 20 }, + { kode: 'CPMK-ARS801-5', mkKode: 'ARS801', deskripsi: 'Mempertahankan desain di hadapan dewan penguji', bobot: 10 }, + + // CPMK INFORMATIKA - SEMESTER I + // INF105 - Algoritma & Pemrograman + { kode: 'CPMK-INF105-1', mkKode: 'INF105', deskripsi: 'Memahami konsep algoritma dan flowchart', bobot: 20 }, + { kode: 'CPMK-INF105-2', mkKode: 'INF105', deskripsi: 'Menulis pseudocode untuk menyelesaikan masalah', bobot: 25 }, + { kode: 'CPMK-INF105-3', mkKode: 'INF105', deskripsi: 'Mengimplementasikan algoritma dalam bahasa pemrograman', bobot: 30 }, + { kode: 'CPMK-INF105-4', mkKode: 'INF105', deskripsi: 'Menganalisis kompleksitas algoritma', bobot: 15 }, + { kode: 'CPMK-INF105-5', mkKode: 'INF105', deskripsi: 'Menerapkan struktur kontrol dan perulangan', bobot: 10 }, + + // INF104 - Matematika Diskrit + { kode: 'CPMK-INF104-1', mkKode: 'INF104', deskripsi: 'Memahami logika proposisi dan predikat', bobot: 20 }, + { kode: 'CPMK-INF104-2', mkKode: 'INF104', deskripsi: 'Menerapkan teori himpunan dan relasi', bobot: 25 }, + { kode: 'CPMK-INF104-3', mkKode: 'INF104', deskripsi: 'Menganalisis graf dan pohon', bobot: 25 }, + { kode: 'CPMK-INF104-4', mkKode: 'INF104', deskripsi: 'Menyelesaikan masalah kombinatorik', bobot: 20 }, + { kode: 'CPMK-INF104-5', mkKode: 'INF104', deskripsi: 'Membuktikan teorema matematika diskrit', bobot: 10 }, + + // INF106 - Pengantar Teknologi Informasi + { kode: 'CPMK-INF106-1', mkKode: 'INF106', deskripsi: 'Memahami konsep sistem informasi', bobot: 20 }, + { kode: 'CPMK-INF106-2', mkKode: 'INF106', deskripsi: 'Mengidentifikasi komponen hardware dan software', bobot: 25 }, + { kode: 'CPMK-INF106-3', mkKode: 'INF106', deskripsi: 'Memahami arsitektur komputer dasar', bobot: 25 }, + { kode: 'CPMK-INF106-4', mkKode: 'INF106', deskripsi: 'Menggunakan sistem operasi dan aplikasi produktivitas', bobot: 20 }, + { kode: 'CPMK-INF106-5', mkKode: 'INF106', deskripsi: 'Memahami etika dan keamanan IT', bobot: 10 }, + + // CPMK INFORMATIKA - SEMESTER II + // INF202 - Struktur Data + { kode: 'CPMK-INF202-1', mkKode: 'INF202', deskripsi: 'Memahami konsep Array, Stack, Queue', bobot: 25 }, + { kode: 'CPMK-INF202-2', mkKode: 'INF202', deskripsi: 'Mengimplementasikan Linked List', bobot: 20 }, + { kode: 'CPMK-INF202-3', mkKode: 'INF202', deskripsi: 'Menerapkan Tree dan Graph', bobot: 25 }, + { kode: 'CPMK-INF202-4', mkKode: 'INF202', deskripsi: 'Menganalisis kompleksitas struktur data', bobot: 20 }, + { kode: 'CPMK-INF202-5', mkKode: 'INF202', deskripsi: 'Memilih struktur data yang efisien', bobot: 10 }, + + // INF203 - Pemrograman Berorientasi Objek + { kode: 'CPMK-INF203-1', mkKode: 'INF203', deskripsi: 'Memahami konsep OOP (Class, Object)', bobot: 20 }, + { kode: 'CPMK-INF203-2', mkKode: 'INF203', deskripsi: 'Menerapkan Encapsulation dan Abstraction', bobot: 25 }, + { kode: 'CPMK-INF203-3', mkKode: 'INF203', deskripsi: 'Mengimplementasikan Inheritance dan Polymorphism', bobot: 30 }, + { kode: 'CPMK-INF203-4', mkKode: 'INF203', deskripsi: 'Menggunakan Interface dan Abstract Class', bobot: 15 }, + { kode: 'CPMK-INF203-5', mkKode: 'INF203', deskripsi: 'Mendesain aplikasi berbasis OOP', bobot: 10 }, + + // INF207 - Pemrograman Web + { kode: 'CPMK-INF207-1', mkKode: 'INF207', deskripsi: 'Memahami HTML, CSS, JavaScript', bobot: 25 }, + { kode: 'CPMK-INF207-2', mkKode: 'INF207', deskripsi: 'Membuat halaman web responsif', bobot: 20 }, + { kode: 'CPMK-INF207-3', mkKode: 'INF207', deskripsi: 'Mengimplementasikan form dan validasi', bobot: 25 }, + { kode: 'CPMK-INF207-4', mkKode: 'INF207', deskripsi: 'Menggunakan framework CSS (Bootstrap/Tailwind)', bobot: 20 }, + { kode: 'CPMK-INF207-5', mkKode: 'INF207', deskripsi: 'Menghubungkan frontend dengan backend', bobot: 10 }, + + // Contoh CPMK untuk MK-MK lainnya (simplified untuk demo) + { kode: 'CPMK-ARS108-1', mkKode: 'ARS108', deskripsi: 'Memahami konsep gaya dan momen', bobot: 25 }, + { kode: 'CPMK-ARS108-2', mkKode: 'ARS108', deskripsi: 'Menganalisis struktur statis tertentu', bobot: 25 }, + { kode: 'CPMK-ARS108-3', mkKode: 'ARS108', deskripsi: 'Menghitung reaksi perletakan', bobot: 25 }, + { kode: 'CPMK-ARS108-4', mkKode: 'ARS108', deskripsi: 'Membuat diagram gaya normal, geser, momen', bobot: 15 }, + { kode: 'CPMK-ARS108-5', mkKode: 'ARS108', deskripsi: 'Mengaplikasikan mekanika teknik dalam desain', bobot: 10 }, +]; + +// ===== MAPPING CPMK KE CPL ===== +export interface CPMKtoCPLMapping { + cpmkKode: string; + cplKode: string; + bobot: number; // kontribusi CPMK terhadap CPL (dalam persen) +} + +export const cpmkToCplMapping: CPMKtoCPLMapping[] = [ + // Studio Perancangan 1 (ARS205) → CPL2 (Perancangan), CPL5 (Komunikasi Visual) + { cpmkKode: 'CPMK-ARS205-1', cplKode: 'CPL2', bobot: 25 }, + { cpmkKode: 'CPMK-ARS205-2', cplKode: 'CPL2', bobot: 20 }, + { cpmkKode: 'CPMK-ARS205-3', cplKode: 'CPL2', bobot: 30 }, + { cpmkKode: 'CPMK-ARS205-4', cplKode: 'CPL5', bobot: 40 }, + { cpmkKode: 'CPMK-ARS205-5', cplKode: 'CPL5', bobot: 35 }, + + // Struktur & Konstruksi 1 (ARS204) → CPL3 (Analisis Struktur), CPL6 (Konstruksi) + { cpmkKode: 'CPMK-ARS204-1', cplKode: 'CPL3', bobot: 30 }, + { cpmkKode: 'CPMK-ARS204-2', cplKode: 'CPL3', bobot: 35 }, + { cpmkKode: 'CPMK-ARS204-3', cplKode: 'CPL6', bobot: 40 }, + { cpmkKode: 'CPMK-ARS204-4', cplKode: 'CPL3', bobot: 20 }, + { cpmkKode: 'CPMK-ARS204-5', cplKode: 'CPL6', bobot: 25 }, + + // Studio Perancangan 2 (ARS301) → CPL2, CPL5 + { cpmkKode: 'CPMK-ARS301-1', cplKode: 'CPL2', bobot: 20 }, + { cpmkKode: 'CPMK-ARS301-2', cplKode: 'CPL2', bobot: 30 }, + { cpmkKode: 'CPMK-ARS301-3', cplKode: 'CPL2', bobot: 25 }, + { cpmkKode: 'CPMK-ARS301-4', cplKode: 'CPL5', bobot: 45 }, + { cpmkKode: 'CPMK-ARS301-5', cplKode: 'CPL5', bobot: 30 }, + + // Struktur & Konstruksi 2 (ARS302) → CPL3, CPL6 + { cpmkKode: 'CPMK-ARS302-1', cplKode: 'CPL3', bobot: 30 }, + { cpmkKode: 'CPMK-ARS302-2', cplKode: 'CPL3', bobot: 35 }, + { cpmkKode: 'CPMK-ARS302-3', cplKode: 'CPL6', bobot: 40 }, + { cpmkKode: 'CPMK-ARS302-4', cplKode: 'CPL6', bobot: 25 }, + { cpmkKode: 'CPMK-ARS302-5', cplKode: 'CPL6', bobot: 20 }, + + // Studio Perancangan 4 (ARS501) → CPL2, CPL5 + { cpmkKode: 'CPMK-ARS501-1', cplKode: 'CPL2', bobot: 20 }, + { cpmkKode: 'CPMK-ARS501-2', cplKode: 'CPL2', bobot: 35 }, + { cpmkKode: 'CPMK-ARS501-3', cplKode: 'CPL2', bobot: 25 }, + { cpmkKode: 'CPMK-ARS501-4', cplKode: 'CPL5', bobot: 40 }, + { cpmkKode: 'CPMK-ARS501-5', cplKode: 'CPL5', bobot: 35 }, + + // Arsitektur Hijau (ARS603) → CPL1 (Etika), CPL2 (Perancangan), CPL7 (Utilitas) + { cpmkKode: 'CPMK-ARS603-1', cplKode: 'CPL1', bobot: 30 }, + { cpmkKode: 'CPMK-ARS603-2', cplKode: 'CPL7', bobot: 25 }, + { cpmkKode: 'CPMK-ARS603-3', cplKode: 'CPL2', bobot: 35 }, + { cpmkKode: 'CPMK-ARS603-4', cplKode: 'CPL7', bobot: 30 }, + { cpmkKode: 'CPMK-ARS603-5', cplKode: 'CPL7', bobot: 25 }, + + // Tugas Akhir (ARS801) → Semua CPL (CPL1-8) + { cpmkKode: 'CPMK-ARS801-1', cplKode: 'CPL1', bobot: 15 }, + { cpmkKode: 'CPMK-ARS801-1', cplKode: 'CPL4', bobot: 20 }, + { cpmkKode: 'CPMK-ARS801-2', cplKode: 'CPL2', bobot: 25 }, + { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL2', bobot: 40 }, + { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL3', bobot: 30 }, + { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL6', bobot: 35 }, + { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL7', bobot: 25 }, + { cpmkKode: 'CPMK-ARS801-4', cplKode: 'CPL5', bobot: 40 }, + { cpmkKode: 'CPMK-ARS801-4', cplKode: 'CPL8', bobot: 50 }, + { cpmkKode: 'CPMK-ARS801-5', cplKode: 'CPL5', bobot: 35 }, + + // Mekanika Teknik (ARS108) → CPL3, CPL6 + { cpmkKode: 'CPMK-ARS108-1', cplKode: 'CPL3', bobot: 30 }, + { cpmkKode: 'CPMK-ARS108-2', cplKode: 'CPL3', bobot: 35 }, + { cpmkKode: 'CPMK-ARS108-3', cplKode: 'CPL3', bobot: 25 }, + { cpmkKode: 'CPMK-ARS108-4', cplKode: 'CPL6', bobot: 20 }, + { cpmkKode: 'CPMK-ARS108-5', cplKode: 'CPL6', bobot: 25 }, + + // Pancasila (ARS101) → CPL1 (Sikap dan Etika) + { cpmkKode: 'CPMK-ARS101-1', cplKode: 'CPL1', bobot: 25 }, + { cpmkKode: 'CPMK-ARS101-2', cplKode: 'CPL1', bobot: 30 }, + { cpmkKode: 'CPMK-ARS101-3', cplKode: 'CPL1', bobot: 20 }, + { cpmkKode: 'CPMK-ARS101-4', cplKode: 'CPL1', bobot: 15 }, + { cpmkKode: 'CPMK-ARS101-5', cplKode: 'CPL1', bobot: 10 }, + + // INFORMATIKA - Algoritma & Pemrograman (INF105) → CPL4 (Algoritma & Struktur Data) + { cpmkKode: 'CPMK-INF105-1', cplKode: 'CPL4', bobot: 20 }, + { cpmkKode: 'CPMK-INF105-2', cplKode: 'CPL4', bobot: 25 }, + { cpmkKode: 'CPMK-INF105-3', cplKode: 'CPL4', bobot: 30 }, + { cpmkKode: 'CPMK-INF105-4', cplKode: 'CPL4', bobot: 15 }, + { cpmkKode: 'CPMK-INF105-5', cplKode: 'CPL4', bobot: 10 }, + + // INFORMATIKA - Matematika Diskrit (INF104) → CPL4 + { cpmkKode: 'CPMK-INF104-1', cplKode: 'CPL4', bobot: 20 }, + { cpmkKode: 'CPMK-INF104-2', cplKode: 'CPL4', bobot: 25 }, + { cpmkKode: 'CPMK-INF104-3', cplKode: 'CPL4', bobot: 25 }, + { cpmkKode: 'CPMK-INF104-4', cplKode: 'CPL4', bobot: 20 }, + { cpmkKode: 'CPMK-INF104-5', cplKode: 'CPL4', bobot: 10 }, + + // INFORMATIKA - Pengantar Teknologi Informasi (INF106) → CPL2 (Pengembangan Sistem) + { cpmkKode: 'CPMK-INF106-1', cplKode: 'CPL2', bobot: 20 }, + { cpmkKode: 'CPMK-INF106-2', cplKode: 'CPL2', bobot: 25 }, + { cpmkKode: 'CPMK-INF106-3', cplKode: 'CPL2', bobot: 25 }, + { cpmkKode: 'CPMK-INF106-4', cplKode: 'CPL2', bobot: 20 }, + { cpmkKode: 'CPMK-INF106-5', cplKode: 'CPL1', bobot: 10 }, + + // INFORMATIKA - Struktur Data (INF202) → CPL4 + { cpmkKode: 'CPMK-INF202-1', cplKode: 'CPL4', bobot: 25 }, + { cpmkKode: 'CPMK-INF202-2', cplKode: 'CPL4', bobot: 20 }, + { cpmkKode: 'CPMK-INF202-3', cplKode: 'CPL4', bobot: 25 }, + { cpmkKode: 'CPMK-INF202-4', cplKode: 'CPL4', bobot: 20 }, + { cpmkKode: 'CPMK-INF202-5', cplKode: 'CPL4', bobot: 10 }, + + // INFORMATIKA - Pemrograman Berorientasi Objek (INF203) → CPL2, CPL4 + { cpmkKode: 'CPMK-INF203-1', cplKode: 'CPL4', bobot: 20 }, + { cpmkKode: 'CPMK-INF203-2', cplKode: 'CPL4', bobot: 25 }, + { cpmkKode: 'CPMK-INF203-3', cplKode: 'CPL2', bobot: 30 }, + { cpmkKode: 'CPMK-INF203-4', cplKode: 'CPL2', bobot: 15 }, + { cpmkKode: 'CPMK-INF203-5', cplKode: 'CPL2', bobot: 10 }, + + // INFORMATIKA - Pemrograman Web (INF207) → CPL6 (Web & Mobile Development) + { cpmkKode: 'CPMK-INF207-1', cplKode: 'CPL6', bobot: 25 }, + { cpmkKode: 'CPMK-INF207-2', cplKode: 'CPL6', bobot: 20 }, + { cpmkKode: 'CPMK-INF207-3', cplKode: 'CPL6', bobot: 25 }, + { cpmkKode: 'CPMK-INF207-4', cplKode: 'CPL6', bobot: 20 }, + { cpmkKode: 'CPMK-INF207-5', cplKode: 'CPL6', bobot: 10 }, +]; + +// ===== MATA KULIAH ===== +export interface MataKuliah { + kode: string; + nama: string; + sks: number; + semester: number; + prodiKode: string; + dosen: string; + cplTerkait: string[]; // Array kode CPL yang terkait +} + +// MATA KULIAH ARSITEKTUR (145 SKS total, 8 semester) +export const mataKuliahData: MataKuliah[] = [ + // ===== SEMESTER I (20 SKS, 10 MK) ===== + { kode: 'ARS101', nama: 'Pancasila', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Drs. Hamzah, M.Pd', cplTerkait: ['CPL1'] }, + { kode: 'ARS102', nama: 'Bahasa Indonesia', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Siti Nurhaliza, M.Hum', cplTerkait: ['CPL5', 'CPL8'] }, + { kode: 'ARS103', nama: 'Pendidikan Agama Islam', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Prof. Dr. Abdul Malik, M.Ag', cplTerkait: ['CPL1'] }, + { kode: 'ARS104', nama: 'Bahasa Inggris Teknik', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Fatimah Zahra, M.A', cplTerkait: ['CPL5'] }, + { kode: 'ARS105', nama: 'Teknik Presentasi', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Ir. Ridwan Hasan, M.Ds', cplTerkait: ['CPL5'] }, + { kode: 'ARS106', nama: 'Perkembangan Arsitektur 1', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL4'] }, + { kode: 'ARS107', nama: 'Pengantar Arsitektur 1', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Ir. Ahmad Kadir, M.Arch', cplTerkait: ['CPL2', 'CPL4'] }, + { kode: 'ARS108', nama: 'Mekanika Teknik', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, + { kode: 'ARS109', nama: 'Matematika Teknik', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Hendra Wijaya, M.Si', cplTerkait: ['CPL3'] }, + { kode: 'ARS110', nama: 'ISBD', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Aminah Rahman, M.Sos', cplTerkait: ['CPL1'] }, + + // ===== SEMESTER II (20 SKS, 9 MK) ===== + { kode: 'ARS201', nama: 'Pendidikan Kewarganegaraan', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Drs. Ibrahim Mahmud, M.Pd', cplTerkait: ['CPL1'] }, + { kode: 'ARS202', nama: 'Perkembangan Arsitektur 2', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL4'] }, + { kode: 'ARS203', nama: 'Pengantar Arsitektur 2', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Ahmad Kadir, M.Arch', cplTerkait: ['CPL2'] }, + { kode: 'ARS204', nama: 'Struktur & Konstruksi 1', sks: 3, semester: 2, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, + { kode: 'ARS205', nama: 'Studio Perancangan 1', sks: 4, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, + { kode: 'ARS206', nama: 'Utilitas Bangunan', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Rizki Ramadhan, M.T', cplTerkait: ['CPL7'] }, + { kode: 'ARS207', nama: 'Fisika Bangunan 1', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Dr. Ir. Suryani Hasan', cplTerkait: ['CPL7'] }, + { kode: 'ARS208', nama: 'Gambar Teknik', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Dewi Lestari, M.T', cplTerkait: ['CPL5', 'CPL8'] }, + { kode: 'ARS209', nama: 'Arsitektur Digital 1', sks: 1, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, + + // ===== SEMESTER III (24 SKS, 9 MK) ===== + { kode: 'ARS301', nama: 'Studio Perancangan 2', sks: 6, semester: 3, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, + { kode: 'ARS302', nama: 'Struktur & Konstruksi 2', sks: 3, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, + { kode: 'ARS303', nama: 'Arsitektur Vernakular', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, + { kode: 'ARS304', nama: 'Fisika Bangunan 2', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Ir. Suryani Hasan', cplTerkait: ['CPL7'] }, + { kode: 'ARS305', nama: 'Metode Perancangan', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL2'] }, + { kode: 'ARS306', nama: 'Arsitektur Digital 2', sks: 3, semester: 3, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, + { kode: 'ARS307', nama: 'Arsitektur Islam', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Prof. Dr. Abdul Malik, M.Arch', cplTerkait: ['CPL1', 'CPL4'] }, + { kode: 'ARS308', nama: 'Perumahan & Permukiman', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, + { kode: 'ARS309', nama: 'Estetika Bentuk & Ruang', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Ir. Siti Maryam, M.Ds', cplTerkait: ['CPL2'] }, + + // ===== SEMESTER IV (26 SKS, 10 MK) ===== + { kode: 'ARS401', nama: 'Studio Perancangan 3', sks: 6, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, + { kode: 'ARS402', nama: 'Struktur & Konstruksi 3', sks: 3, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, + { kode: 'ARS403', nama: 'Arsitektur Nusantara', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, + { kode: 'ARS404', nama: 'Manajemen Konstruksi', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Rahman Hidayat, M.M', cplTerkait: ['CPL6'] }, + { kode: 'ARS405', nama: 'Pengantar Perencanaan Tapak', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL2'] }, + { kode: 'ARS406', nama: 'Interior Arsitektur', sks: 3, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Siti Maryam, M.Ds', cplTerkait: ['CPL2'] }, + { kode: 'ARS407', nama: 'Arsitektur Digital 3', sks: 3, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, + { kode: 'ARS408', nama: 'Pengantar Perencanaan Kota', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, + { kode: 'ARS409', nama: 'Material & Teknologi Bangunan', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Rizki Ramadhan, M.T', cplTerkait: ['CPL6'] }, + { kode: 'ARS410', nama: 'Kewirausahaan', sks: 1, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Ahmad Fauzi, M.M', cplTerkait: ['CPL1'] }, + + // ===== SEMESTER V (23 SKS, 10 MK) ===== + { kode: 'ARS501', nama: 'Studio Perancangan 4', sks: 6, semester: 5, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, + { kode: 'ARS502', nama: 'Struktur Baja & Kayu', sks: 3, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, + { kode: 'ARS503', nama: 'Teori Arsitektur', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL4'] }, + { kode: 'ARS504', nama: 'Pemrograman Ruang & Bangunan', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Ir. Ahmad Kadir, M.Arch', cplTerkait: ['CPL2'] }, + { kode: 'ARS505', nama: 'Lanskap Arsitektur', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, + { kode: 'ARS506', nama: 'Arsitektur Digital 4', sks: 3, semester: 5, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, + { kode: 'ARS507', nama: 'Metode Penelitian', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL5'] }, + { kode: 'ARS508', nama: 'Arsitektur Kontemporer', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, + { kode: 'ARS509', nama: 'Praktik Kerja Profesi', sks: 1, semester: 5, prodiKode: 'ARS', dosen: 'Koordinator PKP', cplTerkait: ['CPL1', 'CPL6'] }, + + // ===== SEMESTER VI (17 SKS, 7 MK) ===== + { kode: 'ARS601', nama: 'Studio Perancangan 5', sks: 6, semester: 6, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, + { kode: 'ARS602', nama: 'Struktur Bentang Lebar', sks: 3, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, + { kode: 'ARS603', nama: 'Arsitektur Hijau', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL1', 'CPL2', 'CPL7'] }, + { kode: 'ARS604', nama: 'Seminar Proposal', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL5', 'CPL8'] }, + { kode: 'ARS605', nama: 'Kritik & Apresiasi Arsitektur', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, + { kode: 'ARS606', nama: 'Hukum & Etika Profesi', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Ir. Rahman Hidayat, M.M', cplTerkait: ['CPL1'] }, + + // ===== SEMESTER VII (10 SKS, 3 MK) ===== + { kode: 'ARS701', nama: 'Studio Perancangan 6', sks: 6, semester: 7, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5', 'CPL8'] }, + { kode: 'ARS702', nama: 'Konservasi Bangunan', sks: 2, semester: 7, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4', 'CPL6'] }, + { kode: 'ARS703', nama: 'Arsitektur Kota', sks: 2, semester: 7, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, + + // ===== SEMESTER VIII (10 SKS, 2 MK) ===== + { kode: 'ARS801', nama: 'Tugas Akhir', sks: 8, semester: 8, prodiKode: 'ARS', dosen: 'Pembimbing Tugas Akhir', cplTerkait: ['CPL1', 'CPL2', 'CPL3', 'CPL4', 'CPL5', 'CPL6', 'CPL7', 'CPL8'] }, + { kode: 'ARS802', nama: 'Kuliah Kerja Nyata (KKN)', sks: 2, semester: 8, prodiKode: 'ARS', dosen: 'Koordinator KKN', cplTerkait: ['CPL1'] }, + + // MATA KULIAH TEKNIK INFORMATIKA (144 SKS total, 8 semester) + // ===== SEMESTER I (18 SKS, 9 MK) ===== + { kode: 'INF101', nama: 'Pancasila', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Drs. Hamzah, M.Pd', cplTerkait: ['CPL1'] }, + { kode: 'INF102', nama: 'Bahasa Indonesia', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Dr. Siti Nurhaliza, M.Hum', cplTerkait: ['CPL1'] }, + { kode: 'INF103', nama: 'Pendidikan Agama Islam', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Prof. Dr. Abdul Malik, M.Ag', cplTerkait: ['CPL1'] }, + { kode: 'INF104', nama: 'Matematika Diskrit', sks: 3, semester: 1, prodiKode: 'INF', dosen: 'Dr. Ahmad Fauzi, M.Kom', cplTerkait: ['CPL4'] }, + { kode: 'INF105', nama: 'Algoritma & Pemrograman', sks: 3, semester: 1, prodiKode: 'INF', dosen: 'Dr. Budi Santoso, M.T', cplTerkait: ['CPL4'] }, + { kode: 'INF106', nama: 'Pengantar Teknologi Informasi', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Ir. Citra Dewi, M.Kom', cplTerkait: ['CPL2'] }, + { kode: 'INF107', nama: 'Logika Informatika', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Dr. Dedi Prasetyo, M.Sc', cplTerkait: ['CPL4'] }, + { kode: 'INF108', nama: 'Bahasa Inggris Teknik', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Dr. Fatimah Zahra, M.A', cplTerkait: ['CPL1'] }, + + // ===== SEMESTER II (18 SKS, 9 MK) ===== + { kode: 'INF201', nama: 'Pendidikan Kewarganegaraan', sks: 2, semester: 2, prodiKode: 'INF', dosen: 'Drs. Ibrahim Mahmud, M.Pd', cplTerkait: ['CPL1'] }, + { kode: 'INF202', nama: 'Struktur Data', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Dr. Eka Putri, M.Kom', cplTerkait: ['CPL4'] }, + { kode: 'INF203', nama: 'Pemrograman Berorientasi Objek', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Dr. Fahri Rahman, M.T', cplTerkait: ['CPL2', 'CPL4'] }, + { kode: 'INF204', nama: 'Sistem Digital', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Ir. Gita Sari, M.T', cplTerkait: ['CPL4'] }, + { kode: 'INF205', nama: 'Aljabar Linear', sks: 2, semester: 2, prodiKode: 'INF', dosen: 'Dr. Hendra Wijaya, M.Si', cplTerkait: ['CPL4'] }, + { kode: 'INF206', nama: 'Sistem Operasi', sks: 2, semester: 2, prodiKode: 'INF', dosen: 'Dr. Indah Permata, M.Kom', cplTerkait: ['CPL5'] }, + { kode: 'INF207', nama: 'Pemrograman Web', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Ir. Joko Susilo, M.T', cplTerkait: ['CPL6'] }, + + // ===== SEMESTER III (18 SKS, 9 MK) ===== + { kode: 'INF301', nama: 'Basis Data', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Karina Sari, M.Kom', cplTerkait: ['CPL3'] }, + { kode: 'INF302', nama: 'Analisis & Desain Sistem', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Lukman Hakim, M.T', cplTerkait: ['CPL2'] }, + { kode: 'INF303', nama: 'Jaringan Komputer', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Mira Handayani, M.Kom', cplTerkait: ['CPL5'] }, + { kode: 'INF304', nama: 'Rekayasa Perangkat Lunak', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Nurul Fikri, M.T', cplTerkait: ['CPL2'] }, + { kode: 'INF305', nama: 'Statistika & Probabilitas', sks: 2, semester: 3, prodiKode: 'INF', dosen: 'Dr. Omar Syarif, M.Si', cplTerkait: ['CPL4'] }, + { kode: 'INF306', nama: 'Manajemen Basis Data', sks: 2, semester: 3, prodiKode: 'INF', dosen: 'Ir. Putri Ayu, M.Kom', cplTerkait: ['CPL3'] }, + { kode: 'INF307', nama: 'Interaksi Manusia Komputer', sks: 2, semester: 3, prodiKode: 'INF', dosen: 'Dr. Qori Santosa, M.Ds', cplTerkait: ['CPL6'] }, + + // ===== SEMESTER IV (18 SKS, 9 MK) ===== + { kode: 'INF401', nama: 'Pemrograman Mobile', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Rina Wati, M.Kom', cplTerkait: ['CPL6'] }, + { kode: 'INF402', nama: 'Kecerdasan Buatan', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Satria Mandala, M.Kom', cplTerkait: ['CPL8'] }, + { kode: 'INF403', nama: 'Sistem Informasi Manajemen', sks: 2, semester: 4, prodiKode: 'INF', dosen: 'Dr. Tika Permata, M.M', cplTerkait: ['CPL2'] }, + { kode: 'INF404', nama: 'Arsitektur Komputer', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Umar Bakri, M.T', cplTerkait: ['CPL4'] }, + { kode: 'INF405', nama: 'Keamanan Sistem Informasi', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Vina Safitri, M.Kom', cplTerkait: ['CPL7'] }, + { kode: 'INF406', nama: 'Pemrograman Framework', sks: 2, semester: 4, prodiKode: 'INF', dosen: 'Ir. Wahyu Hidayat, M.Kom', cplTerkait: ['CPL6'] }, + { kode: 'INF407', nama: 'Metode Penelitian', sks: 2, semester: 4, prodiKode: 'INF', dosen: 'Prof. Dr. Yusuf Rahman, M.Kom', cplTerkait: ['CPL1'] }, + + // ===== SEMESTER V (18 SKS, 9 MK) ===== + { kode: 'INF501', nama: 'Pengolahan Citra Digital', sks: 3, semester: 5, prodiKode: 'INF', dosen: 'Dr. Zahra Amelia, M.Kom', cplTerkait: ['CPL8'] }, + { kode: 'INF502', nama: 'Data Mining', sks: 3, semester: 5, prodiKode: 'INF', dosen: 'Dr. Ahmad Fauzi, M.Kom', cplTerkait: ['CPL8'] }, + { kode: 'INF503', nama: 'Sistem Terdistribusi', sks: 3, semester: 5, prodiKode: 'INF', dosen: 'Dr. Budi Santoso, M.T', cplTerkait: ['CPL5'] }, + { kode: 'INF504', nama: 'E-Business', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Dr. Citra Dewi, M.M', cplTerkait: ['CPL2'] }, + { kode: 'INF505', nama: 'Komputer Grafik', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Ir. Dedi Prasetyo, M.Kom', cplTerkait: ['CPL6'] }, + { kode: 'INF506', nama: 'Manajemen Proyek SI', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Dr. Eka Putri, M.M', cplTerkait: ['CPL2'] }, + { kode: 'INF507', nama: 'Etika Profesi IT', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Prof. Dr. Abdul Malik, M.Ag', cplTerkait: ['CPL1'] }, + { kode: 'INF508', nama: 'Technopreneurship', sks: 1, semester: 5, prodiKode: 'INF', dosen: 'Dr. Fahri Rahman, M.M', cplTerkait: ['CPL1'] }, + + // ===== SEMESTER VI (18 SKS, 9 MK) ===== + { kode: 'INF601', nama: 'Machine Learning', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Gita Sari, M.Kom', cplTerkait: ['CPL8'] }, + { kode: 'INF602', nama: 'Cloud Computing', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Hendra Wijaya, M.Kom', cplTerkait: ['CPL8'] }, + { kode: 'INF603', nama: 'Internet of Things', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Indah Permata, M.T', cplTerkait: ['CPL6'] }, + { kode: 'INF604', nama: 'Big Data Analytics', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Joko Susilo, M.Kom', cplTerkait: ['CPL8'] }, + { kode: 'INF605', nama: 'Blockchain Technology', sks: 2, semester: 6, prodiKode: 'INF', dosen: 'Dr. Karina Sari, M.Kom', cplTerkait: ['CPL7'] }, + { kode: 'INF606', nama: 'DevOps & CI/CD', sks: 2, semester: 6, prodiKode: 'INF', dosen: 'Ir. Lukman Hakim, M.Kom', cplTerkait: ['CPL6'] }, + { kode: 'INF607', nama: 'Audit Sistem Informasi', sks: 2, semester: 6, prodiKode: 'INF', dosen: 'Dr. Mira Handayani, M.Ak', cplTerkait: ['CPL7'] }, + + // ===== SEMESTER VII (18 SKS) ===== + { kode: 'INF701', nama: 'Kerja Praktek', sks: 2, semester: 7, prodiKode: 'INF', dosen: 'Koordinator KP', cplTerkait: ['CPL1', 'CPL2'] }, + { kode: 'INF702', nama: 'Proyek Sistem Informasi', sks: 4, semester: 7, prodiKode: 'INF', dosen: 'Tim Pembimbing', cplTerkait: ['CPL2', 'CPL3', 'CPL6'] }, + { kode: 'INF703', nama: 'Deep Learning', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dr. Nurul Fikri, M.Kom', cplTerkait: ['CPL8'] }, + { kode: 'INF704', nama: 'Cyber Security', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dr. Omar Syarif, M.Kom', cplTerkait: ['CPL7'] }, + { kode: 'INF705', nama: 'Sistem Embedded', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dr. Putri Ayu, M.T', cplTerkait: ['CPL5'] }, + { kode: 'INF706', nama: 'Pilihan 1', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dosen Pilihan', cplTerkait: ['CPL6', 'CPL8'] }, + + // ===== SEMESTER VIII (18 SKS) ===== + { kode: 'INF801', nama: 'Tugas Akhir', sks: 6, semester: 8, prodiKode: 'INF', dosen: 'Pembimbing Tugas Akhir', cplTerkait: ['CPL1', 'CPL2', 'CPL3', 'CPL4', 'CPL5', 'CPL6', 'CPL7', 'CPL8'] }, + { kode: 'INF802', nama: 'Kuliah Kerja Nyata (KKN)', sks: 2, semester: 8, prodiKode: 'INF', dosen: 'Koordinator KKN', cplTerkait: ['CPL1'] }, + { kode: 'INF803', nama: 'Computer Vision', sks: 3, semester: 8, prodiKode: 'INF', dosen: 'Dr. Qori Santosa, M.Kom', cplTerkait: ['CPL8'] }, + { kode: 'INF804', nama: 'Natural Language Processing', sks: 3, semester: 8, prodiKode: 'INF', dosen: 'Dr. Rina Wati, M.Kom', cplTerkait: ['CPL8'] }, + { kode: 'INF805', nama: 'Pilihan 2', sks: 2, semester: 8, prodiKode: 'INF', dosen: 'Dosen Pilihan', cplTerkait: ['CPL6', 'CPL8'] }, + { kode: 'INF806', nama: 'Pilihan 3', sks: 2, semester: 8, prodiKode: 'INF', dosen: 'Dosen Pilihan', cplTerkait: ['CPL6', 'CPL8'] }, + + // Contoh MK prodi lain (simplified) + { kode: 'SIP101', nama: 'Mekanika Teknik', sks: 3, semester: 1, prodiKode: 'SIP', dosen: 'Dr. Ir. Gunawan, M.T', cplTerkait: ['CPL3'] }, + { kode: 'ELK101', nama: 'Rangkaian Listrik', sks: 3, semester: 1, prodiKode: 'ELK', dosen: 'Dr. Ir. Sulaiman, M.T', cplTerkait: ['CPL2'] }, + { kode: 'MES101', nama: 'Menggambar Mesin', sks: 3, semester: 1, prodiKode: 'MES', dosen: 'Ir. Harun, M.T', cplTerkait: ['CPL5'] }, + { kode: 'IND101', nama: 'Pengantar Teknik Industri', sks: 3, semester: 1, prodiKode: 'IND', dosen: 'Dr. Ir. Rahma, M.T', cplTerkait: ['CPL2'] }, +]; + +// ===== NILAI MAHASISWA ===== +export interface NilaiMahasiswa { + id: string; + mahasiswaId: string; + mkKode: string; + semester: string; + tahunAjaran: string; + nilaiAkhir: number; + grade: string; + nilaiCPMK: { cpmkKode: string; nilai: number }[]; +} + +export const nilaiMahasiswaData: NilaiMahasiswa[] = [ + // Mahasiswa Ahmad Fauzi (mahasiswaId: '1') - Informatika Semester 5 + // SEMESTER 1 + { + id: 'N001', + mahasiswaId: '1', + mkKode: 'INF105', + semester: 'Ganjil', + tahunAjaran: '2021/2022', + nilaiAkhir: 85.5, + grade: 'A', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF105-1', nilai: 84 }, + { cpmkKode: 'CPMK-INF105-2', nilai: 87 }, + { cpmkKode: 'CPMK-INF105-3', nilai: 85 }, + { cpmkKode: 'CPMK-INF105-4', nilai: 88 }, + { cpmkKode: 'CPMK-INF105-5', nilai: 83 }, + ] + }, + { + id: 'N002', + mahasiswaId: '1', + mkKode: 'INF104', + semester: 'Ganjil', + tahunAjaran: '2021/2022', + nilaiAkhir: 82.0, + grade: 'A-', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF104-1', nilai: 80 }, + { cpmkKode: 'CPMK-INF104-2', nilai: 83 }, + { cpmkKode: 'CPMK-INF104-3', nilai: 82 }, + { cpmkKode: 'CPMK-INF104-4', nilai: 84 }, + { cpmkKode: 'CPMK-INF104-5', nilai: 81 }, + ] + }, + { + id: 'N003', + mahasiswaId: '1', + mkKode: 'INF106', + semester: 'Ganjil', + tahunAjaran: '2021/2022', + nilaiAkhir: 88.0, + grade: 'A', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF106-1', nilai: 87 }, + { cpmkKode: 'CPMK-INF106-2', nilai: 89 }, + { cpmkKode: 'CPMK-INF106-3', nilai: 88 }, + { cpmkKode: 'CPMK-INF106-4', nilai: 87 }, + { cpmkKode: 'CPMK-INF106-5', nilai: 89 }, + ] + }, + // SEMESTER 2 + { + id: 'N004', + mahasiswaId: '1', + mkKode: 'INF202', + semester: 'Genap', + tahunAjaran: '2021/2022', + nilaiAkhir: 83.5, + grade: 'A-', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF202-1', nilai: 82 }, + { cpmkKode: 'CPMK-INF202-2', nilai: 85 }, + { cpmkKode: 'CPMK-INF202-3', nilai: 83 }, + { cpmkKode: 'CPMK-INF202-4', nilai: 84 }, + { cpmkKode: 'CPMK-INF202-5', nilai: 84 }, + ] + }, + { + id: 'N005', + mahasiswaId: '1', + mkKode: 'INF203', + semester: 'Genap', + tahunAjaran: '2021/2022', + nilaiAkhir: 86.0, + grade: 'A', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF203-1', nilai: 85 }, + { cpmkKode: 'CPMK-INF203-2', nilai: 87 }, + { cpmkKode: 'CPMK-INF203-3', nilai: 86 }, + { cpmkKode: 'CPMK-INF203-4', nilai: 85 }, + { cpmkKode: 'CPMK-INF203-5', nilai: 87 }, + ] + }, + { + id: 'N006', + mahasiswaId: '1', + mkKode: 'INF207', + semester: 'Genap', + tahunAjaran: '2021/2022', + nilaiAkhir: 89.0, + grade: 'A', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF207-1', nilai: 88 }, + { cpmkKode: 'CPMK-INF207-2', nilai: 90 }, + { cpmkKode: 'CPMK-INF207-3', nilai: 89 }, + { cpmkKode: 'CPMK-INF207-4', nilai: 88 }, + { cpmkKode: 'CPMK-INF207-5', nilai: 90 }, + ] + }, + + // Mahasiswa Siti Aisyah (mahasiswaId: '2') - Informatika Semester 5 + // SEMESTER 1 + { + id: 'N007', + mahasiswaId: '2', + mkKode: 'INF105', + semester: 'Ganjil', + tahunAjaran: '2022/2023', + nilaiAkhir: 80.0, + grade: 'A-', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF105-1', nilai: 78 }, + { cpmkKode: 'CPMK-INF105-2', nilai: 82 }, + { cpmkKode: 'CPMK-INF105-3', nilai: 80 }, + { cpmkKode: 'CPMK-INF105-4', nilai: 81 }, + { cpmkKode: 'CPMK-INF105-5', nilai: 79 }, + ] + }, + { + id: 'N008', + mahasiswaId: '2', + mkKode: 'INF104', + semester: 'Ganjil', + tahunAjaran: '2022/2023', + nilaiAkhir: 78.5, + grade: 'B+', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF104-1', nilai: 77 }, + { cpmkKode: 'CPMK-INF104-2', nilai: 80 }, + { cpmkKode: 'CPMK-INF104-3', nilai: 78 }, + { cpmkKode: 'CPMK-INF104-4', nilai: 79 }, + { cpmkKode: 'CPMK-INF104-5', nilai: 79 }, + ] + }, + { + id: 'N009', + mahasiswaId: '2', + mkKode: 'INF106', + semester: 'Ganjil', + tahunAjaran: '2022/2023', + nilaiAkhir: 84.0, + grade: 'A-', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF106-1', nilai: 83 }, + { cpmkKode: 'CPMK-INF106-2', nilai: 85 }, + { cpmkKode: 'CPMK-INF106-3', nilai: 84 }, + { cpmkKode: 'CPMK-INF106-4', nilai: 83 }, + { cpmkKode: 'CPMK-INF106-5', nilai: 85 }, + ] + }, + // SEMESTER 2 + { + id: 'N010', + mahasiswaId: '2', + mkKode: 'INF202', + semester: 'Genap', + tahunAjaran: '2022/2023', + nilaiAkhir: 79.0, + grade: 'B+', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF202-1', nilai: 77 }, + { cpmkKode: 'CPMK-INF202-2', nilai: 81 }, + { cpmkKode: 'CPMK-INF202-3', nilai: 79 }, + { cpmkKode: 'CPMK-INF202-4', nilai: 78 }, + { cpmkKode: 'CPMK-INF202-5', nilai: 80 }, + ] + }, + { + id: 'N011', + mahasiswaId: '2', + mkKode: 'INF203', + semester: 'Genap', + tahunAjaran: '2022/2023', + nilaiAkhir: 82.0, + grade: 'A-', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF203-1', nilai: 80 }, + { cpmkKode: 'CPMK-INF203-2', nilai: 83 }, + { cpmkKode: 'CPMK-INF203-3', nilai: 82 }, + { cpmkKode: 'CPMK-INF203-4', nilai: 82 }, + { cpmkKode: 'CPMK-INF203-5', nilai: 83 }, + ] + }, + { + id: 'N012', + mahasiswaId: '2', + mkKode: 'INF207', + semester: 'Genap', + tahunAjaran: '2022/2023', + nilaiAkhir: 85.5, + grade: 'A', + nilaiCPMK: [ + { cpmkKode: 'CPMK-INF207-1', nilai: 84 }, + { cpmkKode: 'CPMK-INF207-2', nilai: 87 }, + { cpmkKode: 'CPMK-INF207-3', nilai: 85 }, + { cpmkKode: 'CPMK-INF207-4', nilai: 86 }, + { cpmkKode: 'CPMK-INF207-5', nilai: 86 }, + ] + }, + + // Mahasiswa Budi Santoso (mahasiswaId: '3') - Arsitektur Semester 3 + // SEMESTER 2 + { + id: 'N004', + mahasiswaId: '2', + mkKode: 'ARS501', + semester: 'Ganjil', + tahunAjaran: '2024/2025', + nilaiAkhir: 88.6, + grade: 'A', + nilaiCPMK: [ + { cpmkKode: 'CPMK-ARS501-1', nilai: 86 }, + { cpmkKode: 'CPMK-ARS501-2', nilai: 90 }, + { cpmkKode: 'CPMK-ARS501-3', nilai: 88 }, + { cpmkKode: 'CPMK-ARS501-4', nilai: 89 }, + { cpmkKode: 'CPMK-ARS501-5', nilai: 90 }, + ] + }, + { + id: 'N005', + mahasiswaId: '2', + mkKode: 'ARS204', + semester: 'Genap', + tahunAjaran: '2021/2022', + nilaiAkhir: 82.5, + grade: 'A-', + nilaiCPMK: [ + { cpmkKode: 'CPMK-ARS204-1', nilai: 80 }, + { cpmkKode: 'CPMK-ARS204-2', nilai: 84 }, + { cpmkKode: 'CPMK-ARS204-3', nilai: 83 }, + { cpmkKode: 'CPMK-ARS204-4', nilai: 82 }, + { cpmkKode: 'CPMK-ARS204-5', nilai: 84 }, + ] + }, + { + id: 'N006', + mahasiswaId: '2', + mkKode: 'ARS205', + semester: 'Genap', + tahunAjaran: '2021/2022', + nilaiAkhir: 86.0, + grade: 'A', + nilaiCPMK: [ + { cpmkKode: 'CPMK-ARS205-1', nilai: 84 }, + { cpmkKode: 'CPMK-ARS205-2', nilai: 85 }, + { cpmkKode: 'CPMK-ARS205-3', nilai: 88 }, + { cpmkKode: 'CPMK-ARS205-4', nilai: 87 }, + { cpmkKode: 'CPMK-ARS205-5', nilai: 86 }, + ] + }, + + // ========== MAHASISWA BUDI SANTOSO (ID: 3) - Semester 3 Aktif ========== + // Data Semester 2 (sudah selesai) + { + id: 'N007', + mahasiswaId: '3', + mkKode: 'ARS201', // Kewarganegaraan + semester: 'Genap', + tahunAjaran: '2022/2023', + nilaiAkhir: 82, + grade: 'A-', + nilaiCPMK: [ + { cpmkKode: 'CPMK-ARS201-1', nilai: 82 * 0.2 }, + { cpmkKode: 'CPMK-ARS201-2', nilai: 82 * 0.2 }, + { cpmkKode: 'CPMK-ARS201-3', nilai: 82 * 0.3 }, + { cpmkKode: 'CPMK-ARS201-4', nilai: 82 * 0.2 }, + { cpmkKode: 'CPMK-ARS201-5', nilai: 82 * 0.1 }, + ] + }, + { + id: 'N008', + mahasiswaId: '3', + mkKode: 'CW6232014201', // Studio Perancangan 1 + semester: 'Genap', + tahunAjaran: '2022/2023', + nilaiAkhir: 85, + grade: 'A', + nilaiCPMK: [ + { cpmkKode: 'CPMK-SPA1-1', nilai: 85 * 0.2 }, + { cpmkKode: 'CPMK-SPA1-2', nilai: 85 * 0.2 }, + { cpmkKode: 'CPMK-SPA1-3', nilai: 85 * 0.3 }, + { cpmkKode: 'CPMK-SPA1-4', nilai: 85 * 0.2 }, + { cpmkKode: 'CPMK-SPA1-5', nilai: 85 * 0.1 }, + ] + }, + { + id: 'N009', + mahasiswaId: '3', + mkKode: 'CW6232012202', // Perkembangan Arsitektur 2 + semester: 'Genap', + tahunAjaran: '2022/2023', + nilaiAkhir: 78, + grade: 'B+', + nilaiCPMK: [ + { cpmkKode: 'CPMK-PA2-1', nilai: 78 * 0.2 }, + { cpmkKode: 'CPMK-PA2-2', nilai: 78 * 0.2 }, + { cpmkKode: 'CPMK-PA2-3', nilai: 78 * 0.3 }, + { cpmkKode: 'CPMK-PA2-4', nilai: 78 * 0.2 }, + { cpmkKode: 'CPMK-PA2-5', nilai: 78 * 0.1 }, + ] + }, + { + id: 'N010', + mahasiswaId: '3', + mkKode: 'CW6232012203', // Pengantar Arsitektur 2 + semester: 'Genap', + tahunAjaran: '2022/2023', + nilaiAkhir: 80, + grade: 'A-', + nilaiCPMK: [ + { cpmkKode: 'CPMK-PARS2-1', nilai: 80 * 0.2 }, + { cpmkKode: 'CPMK-PARS2-2', nilai: 80 * 0.2 }, + { cpmkKode: 'CPMK-PARS2-3', nilai: 80 * 0.3 }, + { cpmkKode: 'CPMK-PARS2-4', nilai: 80 * 0.2 }, + { cpmkKode: 'CPMK-PARS2-5', nilai: 80 * 0.1 }, + ] + }, + { + id: 'N011', + mahasiswaId: '3', + mkKode: 'CW6232012204', // Mekanika Bangunan + semester: 'Genap', + tahunAjaran: '2022/2023', + nilaiAkhir: 75, + grade: 'B+', + nilaiCPMK: [ + { cpmkKode: 'CPMK-MB-1', nilai: 75 * 0.2 }, + { cpmkKode: 'CPMK-MB-2', nilai: 75 * 0.2 }, + { cpmkKode: 'CPMK-MB-3', nilai: 75 * 0.3 }, + { cpmkKode: 'CPMK-MB-4', nilai: 75 * 0.2 }, + { cpmkKode: 'CPMK-MB-5', nilai: 75 * 0.1 }, + ] + }, + { + id: 'N012', + mahasiswaId: '3', + mkKode: 'CW6232012205', // Estetika Bentuk + semester: 'Genap', + tahunAjaran: '2022/2023', + nilaiAkhir: 83, + grade: 'A-', + nilaiCPMK: [ + { cpmkKode: 'CPMK-EB-1', nilai: 83 * 0.2 }, + { cpmkKode: 'CPMK-EB-2', nilai: 83 * 0.2 }, + { cpmkKode: 'CPMK-EB-3', nilai: 83 * 0.3 }, + { cpmkKode: 'CPMK-EB-4', nilai: 83 * 0.2 }, + { cpmkKode: 'CPMK-EB-5', nilai: 83 * 0.1 }, + ] + }, + { + id: 'N013', + mahasiswaId: '3', + mkKode: 'CW6232012206', // Pengantar Teknologi Bahan + semester: 'Genap', + tahunAjaran: '2022/2023', + nilaiAkhir: 77, + grade: 'B+', + nilaiCPMK: [ + { cpmkKode: 'CPMK-PTB-1', nilai: 77 * 0.2 }, + { cpmkKode: 'CPMK-PTB-2', nilai: 77 * 0.2 }, + { cpmkKode: 'CPMK-PTB-3', nilai: 77 * 0.3 }, + { cpmkKode: 'CPMK-PTB-4', nilai: 77 * 0.2 }, + { cpmkKode: 'CPMK-PTB-5', nilai: 77 * 0.1 }, + ] + }, + { + id: 'N014', + mahasiswaId: '3', + mkKode: 'CW6232012207', // Pengetahuan Lingkungan + semester: 'Genap', + tahunAjaran: '2022/2023', + nilaiAkhir: 81, + grade: 'A-', + nilaiCPMK: [ + { cpmkKode: 'CPMK-PL-1', nilai: 81 * 0.2 }, + { cpmkKode: 'CPMK-PL-2', nilai: 81 * 0.2 }, + { cpmkKode: 'CPMK-PL-3', nilai: 81 * 0.3 }, + { cpmkKode: 'CPMK-PL-4', nilai: 81 * 0.2 }, + { cpmkKode: 'CPMK-PL-5', nilai: 81 * 0.1 }, + ] + }, + + // Mahasiswa Dewi Lestari (mahasiswaId: '4') - Semester VI + { + id: 'N009', + mahasiswaId: '4', + mkKode: 'ARS603', + semester: 'Genap', + tahunAjaran: '2024/2025', + nilaiAkhir: 90.5, + grade: 'A', + nilaiCPMK: [ + { cpmkKode: 'CPMK-ARS603-1', nilai: 89 }, + { cpmkKode: 'CPMK-ARS603-2', nilai: 91 }, + { cpmkKode: 'CPMK-ARS603-3', nilai: 92 }, + { cpmkKode: 'CPMK-ARS603-4', nilai: 90 }, + { cpmkKode: 'CPMK-ARS603-5', nilai: 91 }, + ] + }, + { + id: 'N010', + mahasiswaId: '4', + mkKode: 'ARS501', + semester: 'Ganjil', + tahunAjaran: '2023/2024', + nilaiAkhir: 87.0, + grade: 'A', + nilaiCPMK: [ + { cpmkKode: 'CPMK-ARS501-1', nilai: 85 }, + { cpmkKode: 'CPMK-ARS501-2', nilai: 88 }, + { cpmkKode: 'CPMK-ARS501-3', nilai: 87 }, + { cpmkKode: 'CPMK-ARS501-4', nilai: 88 }, + { cpmkKode: 'CPMK-ARS501-5', nilai: 87 }, + ] + }, +]; + +// ===== HELPER FUNCTIONS ===== + +/** + * Menghitung nilai CPL per semester untuk mahasiswa + * Formula: Nilai CPL = Rata-rata nilai MK yang terkait dengan CPL tersebut di semester yang dipilih + * + * @param mahasiswaId - ID mahasiswa + * @param semester - Nomor semester (1-8) + * @param prodiKode - Kode prodi mahasiswa + * @returns Array of CPL dengan nilai per semester + */ +export function hitungNilaiCPLPerSemester( + mahasiswaId: string, + semester: number, + prodiKode: string +): { cplKode: string; nilai: number; jumlahMK: number }[] { + + // 1. Ambil semua nilai MK mahasiswa + const nilaiMhs = nilaiMahasiswaData.filter(n => n.mahasiswaId === mahasiswaId); + + // 2. Filter hanya MK di semester yang dipilih + const mkDiSemester = mataKuliahData.filter( + mk => mk.semester === semester && mk.prodiKode === prodiKode + ); + + // 3. Ambil nilai untuk MK di semester tersebut + const nilaiMKSemester = nilaiMhs.filter(n => + mkDiSemester.some(mk => mk.kode === n.mkKode) + ); + + // 4. Group nilai MK berdasarkan CPL yang terkait + const cplScores: { [cplKode: string]: number[] } = {}; + + nilaiMKSemester.forEach(nilaiMK => { + const mk = mkDiSemester.find(m => m.kode === nilaiMK.mkKode); + if (mk && mk.cplTerkait) { + mk.cplTerkait.forEach(cplKode => { + if (!cplScores[cplKode]) { + cplScores[cplKode] = []; + } + cplScores[cplKode].push(nilaiMK.nilaiAkhir); + }); + } + }); + + // 5. Hitung rata-rata nilai MK untuk setiap CPL + const result = Object.entries(cplScores).map(([cplKode, nilaiArray]) => { + const rata = nilaiArray.reduce((sum, n) => sum + n, 0) / nilaiArray.length; + return { + cplKode, + nilai: Math.round(rata * 10) / 10, // Round to 1 decimal + jumlahMK: nilaiArray.length + }; + }); + + return result; +} + +/** + * Menghitung nilai CPL keseluruhan (semua semester) untuk mahasiswa + * Untuk dashboard summary + */ +export function hitungNilaiCPLKeseluruhan(mahasiswaId: string, prodiKode: string): { cplKode: string; nilai: number }[] { + const mahasiswa = mahasiswaData.find(m => m.id === mahasiswaId); + if (!mahasiswa) return []; + + // Hitung CPL untuk setiap semester yang sudah dilalui + const allCPLScores: { [cplKode: string]: number[] } = {}; + + for (let sem = 1; sem <= mahasiswa.semesterAktif; sem++) { + const cplSemester = hitungNilaiCPLPerSemester(mahasiswaId, sem, prodiKode); + cplSemester.forEach(cpl => { + if (!allCPLScores[cpl.cplKode]) { + allCPLScores[cpl.cplKode] = []; + } + allCPLScores[cpl.cplKode].push(cpl.nilai); + }); + } + + // Rata-rata dari semua semester + return Object.entries(allCPLScores).map(([cplKode, nilaiArray]) => ({ + cplKode, + nilai: Math.round((nilaiArray.reduce((sum, n) => sum + n, 0) / nilaiArray.length) * 10) / 10 + })); +} + +/** + * Breakdown nilai MK ke CPMK berdasarkan bobot + * User input nilai MK, sistem otomatis breakdown ke CPMK + */ +export function breakdownNilaiMKtoCPMK(nilaiMK: number, mkKode: string): { cpmkKode: string; nilai: number }[] { + const cpmkList = cpmkData.filter(c => c.mkKode === mkKode); + + return cpmkList.map(cpmk => ({ + cpmkKode: cpmk.kode, + nilai: Math.round(nilaiMK * (cpmk.bobot / 100) * 10) / 10 + })); +} diff --git a/FrontEnd/src/utils/dataIntegration.ts b/FrontEnd/src/utils/dataIntegration.ts new file mode 100644 index 0000000..f9bf8bd --- /dev/null +++ b/FrontEnd/src/utils/dataIntegration.ts @@ -0,0 +1,360 @@ +/** + * Integration layer: Menggabungkan data dari mockData (dummy) dengan localStorage (real input) + * Prioritas: localStorage > mockData + */ + +import { nilaiMahasiswaData, mataKuliahData, cpmkData, cpmkToCplMapping, cplData } from '@/data/mockData'; +import { getAllNilai, type NilaiMahasiswaStorage } from './nilaiStorage'; + +export interface IntegratedNilai { + mahasiswaId: string; + mkKode: string; + nilaiAkhir: number; + source: 'localStorage' | 'mockData'; + timestamp?: string; +} + +/** + * Get combined nilai: localStorage + mockData + * localStorage data overrides mockData + */ +export function getCombinedNilaiData(): IntegratedNilai[] { + const localStorageNilai = getAllNilai(); + const combined: IntegratedNilai[] = []; + const processedKeys = new Set(); + + // First, add all localStorage data (highest priority) + localStorageNilai.forEach((nilai) => { + const key = `${nilai.mahasiswaId}-${nilai.mkKode}`; + combined.push({ + mahasiswaId: nilai.mahasiswaId, + mkKode: nilai.mkKode, + nilaiAkhir: nilai.nilaiAkhir, + source: 'localStorage', + timestamp: nilai.timestamp, + }); + processedKeys.add(key); + }); + + // Then add mockData that's not already in localStorage + nilaiMahasiswaData.forEach((nilai) => { + const key = `${nilai.mahasiswaId}-${nilai.mkKode}`; + if (!processedKeys.has(key)) { + combined.push({ + mahasiswaId: nilai.mahasiswaId, + mkKode: nilai.mkKode, + nilaiAkhir: nilai.nilaiAkhir, + source: 'mockData', + }); + } + }); + + return combined; +} + +/** + * Get nilai for specific mahasiswa with integration + */ +export function getIntegratedNilaiByMahasiswa(mahasiswaId: string): IntegratedNilai[] { + const allNilai = getCombinedNilaiData(); + return allNilai.filter((n) => n.mahasiswaId === mahasiswaId); +} + +/** + * Calculate CPL per semester with integrated data + */ +export function hitungNilaiCPLPerSemesterIntegrated( + mahasiswaId: string, + semester: number, + prodiKode: string +): { cplKode: string; nilai: number; jumlahMK: number; source: string }[] { + + // Get integrated nilai for this mahasiswa + const nilaiMhs = getIntegratedNilaiByMahasiswa(mahasiswaId); + + // Filter MK for this semester and prodi + const mkDiSemester = mataKuliahData.filter( + (mk) => mk.semester === semester && mk.prodiKode === prodiKode + ); + + // Get nilai for MK in this semester + const nilaiMKSemester = nilaiMhs.filter((n) => + mkDiSemester.some((mk) => mk.kode === n.mkKode) + ); + + if (nilaiMKSemester.length === 0) { + return []; + } + + // Group nilai by CPL + const cplScores: { + [cplKode: string]: { + values: number[]; + sources: string[]; + } + } = {}; + + nilaiMKSemester.forEach((nilaiMK) => { + const mk = mkDiSemester.find((m) => m.kode === nilaiMK.mkKode); + if (mk && mk.cplTerkait) { + mk.cplTerkait.forEach((cplKode) => { + if (!cplScores[cplKode]) { + cplScores[cplKode] = { values: [], sources: [] }; + } + cplScores[cplKode].values.push(nilaiMK.nilaiAkhir); + cplScores[cplKode].sources.push(nilaiMK.source); + }); + } + }); + + // Calculate average for each CPL + return Object.entries(cplScores).map(([cplKode, data]) => { + const avg = data.values.reduce((sum, val) => sum + val, 0) / data.values.length; + const hasLocalStorage = data.sources.includes('localStorage'); + + return { + cplKode, + nilai: Math.round(avg * 10) / 10, + jumlahMK: data.values.length, + source: hasLocalStorage ? 'mixed' : 'mockData', + }; + }); +} + +/** + * Get all nilai for a mahasiswa grouped by semester + */ +export function getNilaiGroupedBySemester(mahasiswaId: string, prodiKode: string) { + const nilaiMhs = getIntegratedNilaiByMahasiswa(mahasiswaId); + const grouped: { + [semester: number]: { + nilai: IntegratedNilai[]; + mataKuliah: any[]; + totalSKS: number; + avgNilai: number; + } + } = {}; + + nilaiMhs.forEach((nilai) => { + const mk = mataKuliahData.find((m) => m.kode === nilai.mkKode && m.prodiKode === prodiKode); + if (mk) { + if (!grouped[mk.semester]) { + grouped[mk.semester] = { + nilai: [], + mataKuliah: [], + totalSKS: 0, + avgNilai: 0, + }; + } + grouped[mk.semester].nilai.push(nilai); + grouped[mk.semester].mataKuliah.push(mk); + grouped[mk.semester].totalSKS += mk.sks; + } + }); + + // Calculate average for each semester + Object.keys(grouped).forEach((sem) => { + const semester = parseInt(sem); + const nilaiValues = grouped[semester].nilai.map((n) => n.nilaiAkhir); + grouped[semester].avgNilai = + nilaiValues.length > 0 + ? Math.round((nilaiValues.reduce((sum, val) => sum + val, 0) / nilaiValues.length) * 10) / 10 + : 0; + }); + + return grouped; +} + +/** + * Check if mahasiswa has any input nilai (from localStorage) + */ +export function hasInputNilai(mahasiswaId: string): boolean { + const localStorageNilai = getAllNilai(); + return localStorageNilai.some((n) => n.mahasiswaId === mahasiswaId); +} + +/** + * Get summary statistics for integrated data + */ +export function getIntegratedSummary() { + const allNilai = getCombinedNilaiData(); + const localStorageCount = allNilai.filter((n) => n.source === 'localStorage').length; + const mockDataCount = allNilai.filter((n) => n.source === 'mockData').length; + + return { + total: allNilai.length, + fromLocalStorage: localStorageCount, + fromMockData: mockDataCount, + percentageReal: allNilai.length > 0 + ? Math.round((localStorageCount / allNilai.length) * 100) + : 0, + }; +} + +/** + * Calculate CPMK breakdown with bobot for each CPL + * Bobot calculation: + * 1. CPL → MK: 100% / jumlah MK terkait CPL (across all semesters) + * 2. MK → CPMK: bobot MK / jumlah CPMK dalam MK tersebut + */ +export function hitungCPMKBreakdownPerCPL( + mahasiswaId: string, + semester: number, + prodiKode: string +): { + cplKode: string; + cplDeskripsi: string; + nilaiCPL: number; + totalMKTerkait: number; + bobotMKPerCPL: number; + mataKuliah: { + mkKode: string; + mkNama: string; + nilaiMK: number; + sks: number; + semester: number; + bobotMK: number; + cpmkList: { + cpmkKode: string; + deskripsi: string; + bobot: number; + nilaiWeighted: number; + }[]; + }[]; +}[] { + const nilaiMhs = getIntegratedNilaiByMahasiswa(mahasiswaId); + const mkDiSemester = mataKuliahData.filter( + (mk) => mk.semester === semester && mk.prodiKode === prodiKode + ); + + const nilaiMKSemester = nilaiMhs.filter((n) => + mkDiSemester.some((mk) => mk.kode === n.mkKode) + ); + + if (nilaiMKSemester.length === 0) { + return []; + } + + // Step 1: Calculate bobot CPL → MK + // Count total MK for each CPL across ALL semesters + const allMKProdi = mataKuliahData.filter((mk) => mk.prodiKode === prodiKode); + const cplToMKCount: { [cplKode: string]: number } = {}; + + allMKProdi.forEach((mk) => { + if (mk.cplTerkait) { + mk.cplTerkait.forEach((cplKode) => { + cplToMKCount[cplKode] = (cplToMKCount[cplKode] || 0) + 1; + }); + } + }); + + // Group by CPL + const cplBreakdown: { + [cplKode: string]: { + mataKuliah: { + mkKode: string; + mkNama: string; + nilaiMK: number; + sks: number; + semester: number; + bobotMK: number; + cpmkList: { + cpmkKode: string; + deskripsi: string; + bobot: number; + nilaiWeighted: number; + }[]; + }[]; + nilaiTotal: number[]; + totalMKTerkait: number; + }; + } = {}; + + nilaiMKSemester.forEach((nilaiMK) => { + const mk = mkDiSemester.find((m) => m.kode === nilaiMK.mkKode); + if (!mk || !mk.cplTerkait) return; + + // Find CPMK for this MK + const cpmkForMK = cpmkData.filter((c) => c.mkKode === mk.kode); + + // Process each CPL that this MK contributes to + mk.cplTerkait.forEach((cplKode) => { + if (!cplBreakdown[cplKode]) { + cplBreakdown[cplKode] = { + mataKuliah: [], + nilaiTotal: [], + totalMKTerkait: cplToMKCount[cplKode] || 1 + }; + } + + // Calculate bobot MK: 100% / total MK for this CPL + const bobotMK = 100 / (cplToMKCount[cplKode] || 1); + + if (cpmkForMK.length === 0) { + // If no CPMK defined, MK contributes directly + cplBreakdown[cplKode].mataKuliah.push({ + mkKode: mk.kode, + mkNama: mk.nama, + nilaiMK: nilaiMK.nilaiAkhir, + sks: mk.sks, + semester: mk.semester, + bobotMK: Math.round(bobotMK * 100) / 100, + cpmkList: [{ + cpmkKode: `${mk.kode}-Direct`, + deskripsi: 'Penilaian langsung dari MK (belum ada CPMK)', + bobot: Math.round(bobotMK * 100) / 100, + nilaiWeighted: Math.round((nilaiMK.nilaiAkhir * bobotMK / 100) * 100) / 100, + }], + }); + + cplBreakdown[cplKode].nilaiTotal.push(nilaiMK.nilaiAkhir); + } else { + // Step 2: Calculate bobot CPMK: bobotMK / jumlah CPMK + const bobotPerCPMK = bobotMK / cpmkForMK.length; + + const cpmkList = cpmkForMK.map((cpmk) => { + const nilaiWeighted = (nilaiMK.nilaiAkhir * bobotPerCPMK) / 100; + + return { + cpmkKode: cpmk.kode, + deskripsi: cpmk.deskripsi, + bobot: Math.round(bobotPerCPMK * 100) / 100, + nilaiWeighted: Math.round(nilaiWeighted * 100) / 100, + }; + }); + + cplBreakdown[cplKode].mataKuliah.push({ + mkKode: mk.kode, + mkNama: mk.nama, + nilaiMK: nilaiMK.nilaiAkhir, + sks: mk.sks, + semester: mk.semester, + bobotMK: Math.round(bobotMK * 100) / 100, + cpmkList, + }); + + // MK contributes its raw score to CPL (weighted average calculated later) + cplBreakdown[cplKode].nilaiTotal.push(nilaiMK.nilaiAkhir); + } + }); + }); + + // Build final result + const result = Object.entries(cplBreakdown).map(([cplKode, data]) => { + const cplInfo = cplData.find((c) => c.kode === cplKode && c.prodiKode === prodiKode); + const avgNilai = data.nilaiTotal.length > 0 + ? data.nilaiTotal.reduce((sum, n) => sum + n, 0) / data.nilaiTotal.length + : 0; + + return { + cplKode, + cplDeskripsi: cplInfo?.deskripsi || '', + nilaiCPL: Math.round(avgNilai * 10) / 10, + totalMKTerkait: data.totalMKTerkait, + bobotMKPerCPL: Math.round((100 / data.totalMKTerkait) * 100) / 100, + mataKuliah: data.mataKuliah, + }; + }); + + return result.sort((a, b) => a.cplKode.localeCompare(b.cplKode)); +} diff --git a/FrontEnd/src/utils/nilaiStorage.ts b/FrontEnd/src/utils/nilaiStorage.ts new file mode 100644 index 0000000..d31157d --- /dev/null +++ b/FrontEnd/src/utils/nilaiStorage.ts @@ -0,0 +1,142 @@ +/** + * Utility untuk manage penyimpanan nilai mahasiswa di localStorage + * Integrates dengan mockData dan menyediakan data real-time untuk dashboard & laporan + */ + +export interface NilaiMahasiswaStorage { + mahasiswaId: string; + mkKode: string; + nilaiAkhir: number; + timestamp: string; // ISO string +} + +const STORAGE_KEY = 'kkp_nilai_mahasiswa'; + +/** + * Get all nilai from localStorage + */ +export function getAllNilai(): NilaiMahasiswaStorage[] { + if (typeof window === 'undefined') return []; + + try { + const data = localStorage.getItem(STORAGE_KEY); + return data ? JSON.parse(data) : []; + } catch (error) { + console.error('Error reading nilai from localStorage:', error); + return []; + } +} + +/** + * Save or update nilai for a mahasiswa-MK combination + */ +export function saveNilai(mahasiswaId: string, mkKode: string, nilaiAkhir: number): boolean { + if (typeof window === 'undefined') return false; + + try { + const allNilai = getAllNilai(); + + // Check if nilai already exists for this mahasiswa-MK + const existingIndex = allNilai.findIndex( + (n) => n.mahasiswaId === mahasiswaId && n.mkKode === mkKode + ); + + const nilaiData: NilaiMahasiswaStorage = { + mahasiswaId, + mkKode, + nilaiAkhir, + timestamp: new Date().toISOString(), + }; + + if (existingIndex >= 0) { + // Update existing nilai + allNilai[existingIndex] = nilaiData; + } else { + // Add new nilai + allNilai.push(nilaiData); + } + + localStorage.setItem(STORAGE_KEY, JSON.stringify(allNilai)); + return true; + } catch (error) { + console.error('Error saving nilai to localStorage:', error); + return false; + } +} + +/** + * Get nilai for a specific mahasiswa + */ +export function getNilaiByMahasiswa(mahasiswaId: string): NilaiMahasiswaStorage[] { + const allNilai = getAllNilai(); + return allNilai.filter((n) => n.mahasiswaId === mahasiswaId); +} + +/** + * Get nilai for a specific mahasiswa and MK + */ +export function getNilaiByMahasiswaMK(mahasiswaId: string, mkKode: string): NilaiMahasiswaStorage | null { + const allNilai = getAllNilai(); + return allNilai.find((n) => n.mahasiswaId === mahasiswaId && n.mkKode === mkKode) || null; +} + +/** + * Delete nilai for a specific mahasiswa-MK combination + */ +export function deleteNilai(mahasiswaId: string, mkKode: string): boolean { + if (typeof window === 'undefined') return false; + + try { + const allNilai = getAllNilai(); + const filtered = allNilai.filter( + (n) => !(n.mahasiswaId === mahasiswaId && n.mkKode === mkKode) + ); + + localStorage.setItem(STORAGE_KEY, JSON.stringify(filtered)); + return true; + } catch (error) { + console.error('Error deleting nilai from localStorage:', error); + return false; + } +} + +/** + * Clear all nilai data + */ +export function clearAllNilai(): boolean { + if (typeof window === 'undefined') return false; + + try { + localStorage.removeItem(STORAGE_KEY); + return true; + } catch (error) { + console.error('Error clearing nilai from localStorage:', error); + return false; + } +} + +/** + * Get statistics for a mahasiswa + */ +export function getMahasiswaStatistics(mahasiswaId: string) { + const nilaiList = getNilaiByMahasiswa(mahasiswaId); + + if (nilaiList.length === 0) { + return { + totalMK: 0, + avgNilai: 0, + highestNilai: 0, + lowestNilai: 0, + }; + } + + const nilaiValues = nilaiList.map((n) => n.nilaiAkhir); + const total = nilaiValues.reduce((sum, val) => sum + val, 0); + + return { + totalMK: nilaiList.length, + avgNilai: Math.round((total / nilaiList.length) * 10) / 10, + highestNilai: Math.max(...nilaiValues), + lowestNilai: Math.min(...nilaiValues), + }; +} diff --git a/FrontEnd/tailwind.config.js b/FrontEnd/tailwind.config.js new file mode 100644 index 0000000..37e97d4 --- /dev/null +++ b/FrontEnd/tailwind.config.js @@ -0,0 +1,27 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + './src/pages/**/*.{js,ts,jsx,tsx,mdx}', + './src/components/**/*.{js,ts,jsx,tsx,mdx}', + './src/app/**/*.{js,ts,jsx,tsx,mdx}', + ], + theme: { + extend: { + colors: { + primary: { + 50: '#f0f9ff', + 100: '#e0f2fe', + 200: '#bae6fd', + 300: '#7dd3fc', + 400: '#38bdf8', + 500: '#0ea5e9', + 600: '#0284c7', + 700: '#0369a1', + 800: '#075985', + 900: '#0c4a6e', + }, + }, + }, + }, + plugins: [], +} diff --git a/FrontEnd/tsconfig.json b/FrontEnd/tsconfig.json new file mode 100644 index 0000000..404b4a5 --- /dev/null +++ b/FrontEnd/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "target": "ES2020", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} From 0d68c52ae22aa40d8ace6864b701183f64c92ec7 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Sat, 29 Nov 2025 01:03:47 +0800 Subject: [PATCH 12/36] Nov29 --- go.mod | 7 +- go.sum | 8 + internal/config/config.go | 2 +- internal/http/handler_mapping.go | 265 +++++++++++++++++++++++++++++++ internal/http/router.go | 16 ++ 5 files changed, 294 insertions(+), 4 deletions(-) create mode 100644 internal/http/handler_mapping.go diff --git a/go.mod b/go.mod index 888ed13..7971460 100644 --- a/go.mod +++ b/go.mod @@ -9,14 +9,15 @@ require ( github.com/bytedance/sonic v1.14.0 // indirect github.com/bytedance/sonic/loader v0.3.0 // indirect github.com/cloudwego/base64x v0.1.6 // indirect - github.com/gabriel-vasile/mimetype v1.4.8 // indirect + github.com/gabriel-vasile/mimetype v1.4.9 // indirect + github.com/gin-contrib/cors v1.7.6 // indirect github.com/gin-contrib/sse v1.1.0 // indirect github.com/gin-gonic/gin v1.11.0 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect github.com/go-playground/validator/v10 v10.27.0 // indirect github.com/go-sql-driver/mysql v1.8.1 // indirect - github.com/goccy/go-json v0.10.2 // indirect + github.com/goccy/go-json v0.10.5 // indirect github.com/goccy/go-yaml v1.18.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect @@ -24,7 +25,7 @@ require ( github.com/klauspost/cpuid/v2 v2.3.0 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/mattn/go-isatty v0.0.20 // indirect - github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/quic-go/qpack v0.5.1 // indirect diff --git a/go.sum b/go.sum index 2600de8..e599fc4 100644 --- a/go.sum +++ b/go.sum @@ -10,6 +10,10 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= +github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY= +github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= +github.com/gin-contrib/cors v1.7.6 h1:3gQ8GMzs1Ylpf70y8bMw4fVpycXIeX1ZemuSQIsnQQY= +github.com/gin-contrib/cors v1.7.6/go.mod h1:Ulcl+xN4jel9t1Ry8vqph23a60FwH9xVLd+3ykmTjOk= github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w= github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= github.com/gin-gonic/gin v1.11.0 h1:OW/6PLjyusp2PPXtyxKHU0RbX6I/l28FTdDlae5ueWk= @@ -24,6 +28,8 @@ github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpv github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= +github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -41,6 +47,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= diff --git a/internal/config/config.go b/internal/config/config.go index b874320..de1cc30 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -10,7 +10,7 @@ type Config struct { func Load() *Config { return &Config{ DBDSN: env("DB_DSN", "root:@tcp(127.0.0.1:3306)/cpl_unismuh?parseTime=true"), - Port: env("PORT", "8080"), + Port: env("PORT", "8001"), } } diff --git a/internal/http/handler_mapping.go b/internal/http/handler_mapping.go new file mode 100644 index 0000000..7f2972f --- /dev/null +++ b/internal/http/handler_mapping.go @@ -0,0 +1,265 @@ +package http + +import ( + "fmt" + "net/http" + "strconv" + "strings" + + "cpmk/internal/db" + "cpmk/internal/model" + + "github.com/gin-gonic/gin" + "github.com/xuri/excelize/v2" + "gorm.io/gorm" +) + +func normalizeHeader(s string) string { + s = strings.ToLower(strings.TrimSpace(s)) + s = strings.ReplaceAll(s, " ", "") + s = strings.ReplaceAll(s, "_", "") + return s +} + +// POST /api/prodi/:id_prodi/cpl-mk/import-xlsx +func importCPLMKMappingHandler(c *gin.Context) { + idProdiStr := c.Param("id_prodi") + idProdi, err := strconv.ParseUint(idProdiStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) + return + } + + fileHeader, err := c.FormFile("file") + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "file is required (field: file)"}) + return + } + + fh, err := fileHeader.Open() + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "cannot open uploaded file"}) + return + } + defer fh.Close() + + xf, err := excelize.OpenReader(fh) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid xlsx: " + err.Error()}) + return + } + defer xf.Close() + + // Pakai sheet "mk & cpl" kalau ada, kalau tidak pakai sheet pertama + sheets := xf.GetSheetList() + if len(sheets) == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "xlsx has no sheets"}) + return + } + sheetName := "mk & cpl" + found := false + for _, s := range sheets { + if strings.EqualFold(strings.TrimSpace(s), sheetName) { + sheetName = s + found = true + break + } + } + if !found { + sheetName = sheets[0] + } + + rows, err := xf.GetRows(sheetName) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "cannot read sheet: " + err.Error()}) + return + } + if len(rows) < 2 { + c.JSON(http.StatusBadRequest, gin.H{"error": "no data rows"}) + return + } + + header := rows[0] + if len(header) == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "header row is empty"}) + return + } + + // Identifikasi kolom "kode mk" dan kolom CPL + kodeMKIdx := -1 + cplCols := make(map[int]string) // colIndex -> kode_cpl (e.g. "CPL1") + + for idx, h := range header { + nh := normalizeHeader(h) + if nh == "kodemk" || nh == "kodemata kuliah" || nh == "kodemkobe" { + kodeMKIdx = idx + continue + } + if strings.HasPrefix(nh, "cpl") { + // misal header "CPL1" -> kode_cpl "CPL1" + // atau "cpl_1" -> "CPL1" + code := strings.ToUpper(strings.ReplaceAll(h, " ", "")) + code = strings.ToUpper(strings.ReplaceAll(code, "_", "")) + // kalau malah jadi "CPL1" "CPL2" dsb sudah oke + if !strings.HasPrefix(code, "CPL") { + // fallback from normalized name + code = "CPL" + strings.TrimPrefix(nh, "cpl") + code = strings.ToUpper(code) + } + cplCols[idx] = code + } + } + + if kodeMKIdx == -1 { + c.JSON(http.StatusBadRequest, gin.H{"error": "cannot find Kode MK column in header"}) + return + } + if len(cplCols) == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "no CPL columns detected in header"}) + return + } + + // Map: kode_cpl -> list of kode_mk + cplToMK := map[string][]string{} + + for i, row := range rows { + if i == 0 { + continue // header + } + if kodeMKIdx >= len(row) { + continue + } + kodeMK := strings.TrimSpace(row[kodeMKIdx]) + if kodeMK == "" { + continue + } + + // periksa tiap kolom CPL + for colIdx, kodeCPL := range cplCols { + if colIdx >= len(row) { + continue + } + val := strings.TrimSpace(row[colIdx]) + if val == "" { + continue // tidak memuat CPL ini + } + // ada isi -> MK ini memuat CPL tersebut + cplToMK[kodeCPL] = append(cplToMK[kodeCPL], kodeMK) + } + } + + if len(cplToMK) == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "no CPL-MK relationships found (all empty?)"}) + return + } + + type SummaryItem struct { + KodeCPL string `json:"kode_cpl"` + CountMK int `json:"count_mk"` + BobotPerMK float64 `json:"bobot_per_mk"` + KodeMKSample []string `json:"kode_mk_sample"` + } + + var summary []SummaryItem + + // Jalankan dalam transaksi + err = db.DB.Transaction(func(tx *gorm.DB) error { + // Optional: hapus mapping lama prodi ini dulu + // (kalau cpl_mk punya id_prodi, gunakan WHERE id_prodi = ?) + // kalau tidak, kita ambil cpl per prodi lalu delete by id_cpl + var cpls []model.CPL + if err := tx.Where("id_prodi = ?", idProdi).Find(&cpls).Error; err != nil { + return err + } + cplIDByKode := map[string]uint64{} + for _, c := range cpls { + cplIDByKode[strings.ToUpper(strings.TrimSpace(c.KodeCPL))] = c.IDCPL + } + + // Ambil semua MK prodi ini (lookup by kode_mk) + var mks []model.MK + if err := tx.Where("id_prodi = ?", idProdi).Find(&mks).Error; err != nil { + return err + } + mkIDByKode := map[string]uint64{} + for _, m := range mks { + mkIDByKode[strings.TrimSpace(m.KodeMK)] = m.IDMK + } + + // Hapus mapping lama untuk CPL prodi ini + var cplIDs []uint64 + for _, c := range cpls { + cplIDs = append(cplIDs, c.IDCPL) + } + if len(cplIDs) > 0 { + if err := tx.Where("id_cpl IN ?", cplIDs).Delete(&model.CPLMK{}).Error; err != nil { + return err + } + } + + // Insert mapping baru + for kodeCPL, mkCodes := range cplToMK { + kodeCPLNorm := strings.ToUpper(strings.TrimSpace(kodeCPL)) + idCPL, ok := cplIDByKode[kodeCPLNorm] + if !ok { + return fmt.Errorf("CPL %s (from header) not found in table cpl for prodi %d", kodeCPLNorm, idProdi) + } + + // filter MK yang benar-benar ada di tabel mk + var mkIDs []uint64 + var sampleMK []string + + for _, km := range mkCodes { + idMK, ok := mkIDByKode[km] + if !ok { + // kalau mau keras, bisa return error di sini + // return fmt.Errorf("kode_mk %s (from mapping) not found in table mk", km) + // untuk sekarang, skip yang tidak ada + continue + } + mkIDs = append(mkIDs, idMK) + if len(sampleMK) < 5 { + sampleMK = append(sampleMK, km) + } + } + + if len(mkIDs) == 0 { + continue + } + + bobot := 1.0 / float64(len(mkIDs)) + + for _, idMK := range mkIDs { + rec := model.CPLMK{ + IDCPL: idCPL, + IDMK: idMK, + BobotFraction: bobot, + Sumber: "import_xlsx", + } + if err := tx.Create(&rec).Error; err != nil { + return err + } + } + + summary = append(summary, SummaryItem{ + KodeCPL: kodeCPLNorm, + CountMK: len(mkIDs), + BobotPerMK: bobot, + KodeMKSample: sampleMK, + }) + } + + return nil + }) + + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) + return + } + + c.JSON(http.StatusOK, gin.H{ + "status": "ok", + "id_prodi": idProdi, + "cpl_mk_generated": summary, + }) +} diff --git a/internal/http/router.go b/internal/http/router.go index 8eec472..64fabc5 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -1,12 +1,23 @@ package http import ( + "time" + + "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" ) func NewRouter() *gin.Engine { r := gin.Default() + r.Use(cors.New(cors.Config{ + AllowOrigins: []string{"*"}, // Allow all origins + AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}, + AllowHeaders: []string{"Origin", "Content-Type", "Accept", "Authorization"}, + ExposeHeaders: []string{"Content-Length"}, + AllowCredentials: true, + MaxAge: 12 * time.Hour, // 12 hours + })) // health r.GET("/health", healthHandler) @@ -19,6 +30,11 @@ func NewRouter() *gin.Engine { api.POST("/prodi/:id_prodi/nilai-mk/import-xlsx", importNilaiMahasiswaXLSXHandler) api.GET("/mahasiswa/:nim/cpl", getCPLByMahasiswaHandler) + + // Prodi CPL-MK Mapping + api.POST("/prodi/:id_prodi/cpl-mk/import-xlsx", importCPLMKMappingHandler) + //api.GET("/prodi/:id_prodi/cpl-mk", listCPLMKByProdiHandler) + //api.GET("/prodi/:id_prodi/cpl-mk/summary", getCPLMKSummaryHandler) } return r From 06a4a54ee13af0c538601101cd1eff147546bd2e Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Mon, 1 Dec 2025 01:15:35 +0800 Subject: [PATCH 13/36] Dec1 --- internal/http/handler_nilai.go | 323 ++++++++++++++++++++------------- internal/http/router.go | 6 +- internal/model/mk.go | 12 +- internal/model/prodi.go | 8 +- 4 files changed, 208 insertions(+), 141 deletions(-) diff --git a/internal/http/handler_nilai.go b/internal/http/handler_nilai.go index 087a9fc..6129623 100644 --- a/internal/http/handler_nilai.go +++ b/internal/http/handler_nilai.go @@ -1,9 +1,12 @@ package http import ( - "errors" + "encoding/csv" + "fmt" "net/http" + "path/filepath" "strconv" + "strings" "cpmk/internal/db" "cpmk/internal/model" @@ -19,179 +22,243 @@ type importResponse struct { } // POST /api/nilai-mk/import-xlsx +// importNilaiMahasiswaXLSXHandler +// Endpoint: POST /api/prodi/:id_prodi/nilai-mk/import-xlsx +// Menerima file .xlsx atau .csv, membaca NIM, Nama, dan nilai MK, +// lalu menyimpannya ke tabel nilai. func importNilaiMahasiswaXLSXHandler(c *gin.Context) { - fileHeader, err := c.FormFile("file") - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "file is required (field name: file)"}) + // --- 1. Ambil id_prodi dari path --- + idProdiStr := c.Param("id_prodi") + if idProdiStr == "" { + c.JSON(http.StatusBadRequest, gin.H{"error": "id_prodi wajib diisi"}) return } - fh, err := fileHeader.Open() + idProdi, err := strconv.ParseUint(idProdiStr, 10, 64) if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "cannot open uploaded file"}) + c.JSON(http.StatusBadRequest, gin.H{"error": "id_prodi tidak valid"}) return } - defer fh.Close() - f, err := excelize.OpenReader(fh) + // --- 2. Ambil file dari form-data --- + fileHeader, err := c.FormFile("file") if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "invalid xlsx: " + err.Error()}) + c.JSON(http.StatusBadRequest, gin.H{"error": "file tidak ditemukan di form-data (key: file)"}) return } - defer f.Close() - // Ambil sheet pertama saja, jangan hardcode "Sheet1" - sheets := f.GetSheetList() - if len(sheets) == 0 { - c.JSON(http.StatusBadRequest, gin.H{"error": "xlsx has no sheet"}) + ext := strings.ToLower(filepath.Ext(fileHeader.Filename)) + file, err := fileHeader.Open() + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "gagal membuka file upload"}) return } - sheetName := sheets[0] + defer file.Close() - rows, err := f.GetRows(sheetName) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "cannot read rows: " + err.Error()}) + // --- 3. Baca file menjadi rows[][]string (Excel atau CSV) --- + var rows [][]string + + switch ext { + case ".xlsx", ".xlsm", ".xls": + // Baca Excel + xls, err := excelize.OpenReader(file) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "file excel tidak valid"}) + return + } + defer xls.Close() + + sheetName := xls.GetSheetName(0) + if sheetName == "" { + c.JSON(http.StatusBadRequest, gin.H{"error": "sheet excel kosong"}) + return + } + + rows, err = xls.GetRows(sheetName) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "gagal membaca sheet excel"}) + return + } + + case ".csv": + // Baca CSV + reader := csv.NewReader(file) + reader.TrimLeadingSpace = true + rows, err = reader.ReadAll() + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "gagal membaca file CSV"}) + return + } + + default: + c.JSON(http.StatusBadRequest, gin.H{ + "error": fmt.Sprintf("format file tidak didukung: %s (hanya .xlsx / .csv)", ext), + }) return } - if len(rows) <= 1 { - c.JSON(http.StatusBadRequest, gin.H{"error": "no data rows (header only)"}) + + if len(rows) < 2 { + c.JSON(http.StatusBadRequest, gin.H{"error": "file tidak memiliki data (minimal header + 1 baris data)"}) return } - importedMhs := 0 - importedNilai := 0 + // --- 4. Proses header: cari index nim, nama, dan kolom MK --- + headerRow := rows[0] + headers := make([]string, len(headerRow)) + for i, h := range headerRow { + headers[i] = strings.TrimSpace(strings.ToLower(h)) + } - idProdiStr := c.Param("id_prodi") - idProdi, err := strconv.ParseUint(idProdiStr, 10, 64) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) + nimIdx := -1 + namaIdx := -1 + mkCols := make(map[int]string) // idx kolom -> kode/nama MK (raw dari header) + + for i, h := range headers { + switch h { + case "nim", "npm": + nimIdx = i + case "nama", "nama mahasiswa": + namaIdx = i + default: + if h != "" { + // anggap header lain adalah kode/nama MK (ex: "inf105", "pancasila") + mkCols[i] = h + } + } + } + + if nimIdx == -1 { + c.JSON(http.StatusBadRequest, gin.H{"error": "kolom NIM/NPM tidak ditemukan di header"}) + return + } + if len(mkCols) == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "tidak ada kolom mata kuliah di header (selain nim/nama)"}) return } - err = db.DB.Transaction(func(tx *gorm.DB) error { - mhsCache := map[string]model.Mahasiswa{} - mkCache := map[string]model.MK{} + // --- 5. Proses tiap baris data --- + importedNilai := 0 + failedRows := 0 - for i, row := range rows { - if i == 0 { - // header - continue + for rowIdx := 1; rowIdx < len(rows); rowIdx++ { + row := rows[rowIdx] + if len(row) == 0 { + continue + } + + // jaga-jaga kalau ada baris pendek + getCell := func(idx int) string { + if idx < len(row) { + return strings.TrimSpace(row[idx]) } + return "" + } - // Minimal 7 kolom: NIM, Nama, Angkatan, Kode MK, Semester, Tahun Ajaran, Nilai - if len(row) < 7 { - // baris kosong / tidak lengkap → skip + nim := getCell(nimIdx) + if nim == "" { + failedRows++ + continue + } + nama := "" + if namaIdx >= 0 { + nama = getCell(namaIdx) + } + + // --- 5a. Ambil / buat Mahasiswa --- + var mhs model.Mahasiswa // SESUAIKAN dengan struct kamu + err := db.DB.Where("nim = ? AND id_prodi = ?", nim, idProdi).First(&mhs).Error + if err != nil { + if err == gorm.ErrRecordNotFound { + // buat mahasiswa baru + mhs = model.Mahasiswa{ + // SESUAIKAN field-nya dengan model kamu + NIM: nim, + Nama: nama, + IDProdi: idProdi, + } + if err := db.DB.Create(&mhs).Error; err != nil { + failedRows++ + continue + } + } else { + // error lain + failedRows++ continue } + } - nim := row[0] - nama := row[1] - angkatanStr := row[2] - kodeMK := row[3] - semStr := row[4] - tahunAjaran := row[5] - nilaiStr := row[6] - - if nim == "" || kodeMK == "" { - // baris tidak valid → skip + // --- 5b. Loop tiap kolom MK --- + for colIdx, mkKey := range mkCols { + rawVal := getCell(colIdx) + if rawVal == "" { continue } - angkatan, _ := strconv.Atoi(angkatanStr) - semInt, _ := strconv.Atoi(semStr) - semester := uint8(semInt) - nilai, _ := strconv.ParseFloat(nilaiStr, 64) - - // --- MAHASISWA (cari / buat) --- - mhs, ok := mhsCache[nim] - if !ok { - err := tx.Where("nim = ?", nim).First(&mhs).Error - if err != nil { - if errors.Is(err, gorm.ErrRecordNotFound) { - // buat baru - mhs = model.Mahasiswa{ - IDProdi: idProdi, - NIM: nim, - Nama: nama, - Angkatan: angkatan, - Status: "aktif", - } - if err := tx.Create(&mhs).Error; err != nil { - return err - } - importedMhs++ - } else { - // error lain → batalkan transaksi - return err - } - } - mhsCache[nim] = mhs + nilaiFloat, err := strconv.ParseFloat(strings.ReplaceAll(rawVal, ",", "."), 64) + if err != nil { + // nilai tidak valid -> skip kolom ini + continue } - // --- MK (harus sudah ada di master mk) --- - mk, ok2 := mkCache[kodeMK] - if !ok2 { - if err := tx.Where("kode_mk = ?", kodeMK).First(&mk).Error; err != nil { - // kalau mk tidak ditemukan, ini serius → stop & lapor - if errors.Is(err, gorm.ErrRecordNotFound) { - return errors.New("kode_mk " + kodeMK + " tidak ditemukan di tabel mk") - } - return err + // cari MK berdasarkan header (biasanya pakai kode_mk) + var mk model.MK // SESUAIKAN dengan struct kamu + err = db.DB. + Where("LOWER(kode_mk) = ? AND id_prodi = ?", strings.ToLower(mkKey), idProdi). + First(&mk).Error + if err != nil { + // kalau tidak ketemu coba pakai nama_mk + err2 := db.DB. + Where("LOWER(nama_mk) = ? AND id_prodi = ?", strings.ToLower(mkKey), idProdi). + First(&mk).Error + if err2 != nil { + // MK tidak ketemu di DB, skip saja kolom ini + continue } - mkCache[kodeMK] = mk } - // --- UPSERT nilai_mk --- - var existing model.NilaiMK - err := tx.Where("id_mhs = ? AND id_mk = ? AND semester_tempuh = ?", - mhs.IDMhs, mk.IDMK, semester).First(&existing).Error + // --- 5c. Simpan atau update nilai MK --- + var nilai model.NilaiMK // SESUAIKAN dengan struct kamu + err = db.DB. + Where("id_mahasiswa = ? AND id_mk = ?", mhs.IDMahasiswa, mk.IDMK). + First(&nilai).Error - if err != nil { - if errors.Is(err, gorm.ErrRecordNotFound) { - // insert baru - nm := model.NilaiMK{ - IDMhs: mhs.IDMhs, - IDMK: mk.IDMK, - SemesterTempuh: semester, - TahunAjaran: tahunAjaran, - NilaiAngka: nilai, - Sumber: "import_xlsx", - } - if err := tx.Create(&nm).Error; err != nil { - return err - } - importedNilai++ - } else { - return err + if err == gorm.ErrRecordNotFound { + nilai = model.NilaiMK{ + // Sesuaikan field: + IDMahasiswa: mhs.IDMahasiswa, + IDMK: mk.IDMK, + NilaiAkhir: nilaiFloat, + Semester: int(mk.Semester), // kalau ada + Sumber: "import_xlsx", // kalau ada field sumber } - } else { - // update nilai - existing.NilaiAngka = nilai - existing.TahunAjaran = tahunAjaran - existing.Sumber = "import_xlsx" - if err := tx.Save(&existing).Error; err != nil { - return err + if err := db.DB.Create(&nilai).Error; err != nil { + continue + } + } else if err == nil { + // update nilai lama + nilai.NilaiAkhir = nilaiFloat + // nilai.Semester = ... + // nilai.Sumber = "import_xlsx" + if err := db.DB.Save(&nilai).Error; err != nil { + continue } - importedNilai++ + } else { + continue } - // Hitung CPL mahasiswa ini di semester tersebut - if err := HitungCPLMahasiswa(mhs.IDMhs, semester); err != nil { - return err - } + importedNilai++ } - - return nil - }) - - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return } - c.JSON(http.StatusOK, importResponse{ - ImportedMahasiswa: importedMhs, - ImportedNilaiMK: importedNilai, + // --- 6. Response --- + c.JSON(http.StatusOK, gin.H{ + "status": "ok", + "id_prodi": idProdi, + "file_name": fileHeader.Filename, + "file_extension": ext, + "imported_nilai_mk": importedNilai, + "failed_rows": failedRows, + "total_data_barisan": len(rows) - 1, }) } diff --git a/internal/http/router.go b/internal/http/router.go index 64fabc5..0d7f79b 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -12,10 +12,10 @@ func NewRouter() *gin.Engine { r.Use(cors.New(cors.Config{ AllowOrigins: []string{"*"}, // Allow all origins - AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}, - AllowHeaders: []string{"Origin", "Content-Type", "Accept", "Authorization"}, + AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD"}, + AllowHeaders: []string{"Origin", "Content-Type", "Accept", "X-Requested-With"}, ExposeHeaders: []string{"Content-Length"}, - AllowCredentials: true, + AllowCredentials: false, MaxAge: 12 * time.Hour, // 12 hours })) // health diff --git a/internal/model/mk.go b/internal/model/mk.go index 2deb80b..a758648 100644 --- a/internal/model/mk.go +++ b/internal/model/mk.go @@ -1,12 +1,12 @@ package model type MK struct { - IDMK uint64 `gorm:"column:id_mk;primaryKey;autoIncrement"` - IDProdi uint64 `gorm:"column:id_prodi;not null"` - KodeMK string `gorm:"column:kode_mk;size:30;unique;not null"` - NamaMK string `gorm:"column:nama_mk;size:255;not null"` - SKS uint8 `gorm:"column:sks;not null"` - Semester uint8 `gorm:"column:semester;not null"` + IDMK uint64 `json:"id_mk" gorm:"column:id_mk;primaryKey;autoIncrement"` + IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;not null"` + KodeMK string `json:"kode_mk" gorm:"column:kode_mk;size:30;unique;not null"` + NamaMK string `json:"nama_mk" gorm:"column:nama_mk;size:255;not null"` + SKS uint8 `json:"sks" gorm:"column:sks;not null"` + Semester uint8 `json:"semester" gorm:"column:semester;not null"` } func (MK) TableName() string { return "mk" } diff --git a/internal/model/prodi.go b/internal/model/prodi.go index f0f6b7f..e6bcef0 100644 --- a/internal/model/prodi.go +++ b/internal/model/prodi.go @@ -1,10 +1,10 @@ package model type Prodi struct { - IDProdi uint64 `gorm:"column:id_prodi;primaryKey;autoIncrement"` - KodeProdi string `gorm:"column:kode_prodi;size:20;unique;not null"` - NamaProdi string `gorm:"column:nama_prodi;size:200;not null"` - Jenjang string `gorm:"column:jenjang;size:10;not null"` + IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;primaryKey;autoIncrement"` + KodeProdi string `json:"kode_prodi" gorm:"column:kode_prodi;size:20;unique;not null"` + NamaProdi string `json:"nama_prodi" gorm:"column:nama_prodi;size:200;not null"` + Jenjang string `json:"jenjang" gorm:"column:jenjang;size:10;not null"` } func (Prodi) TableName() string { return "prodi" } From f56778e106c053d9ce7a6071a45b2e74abe2fdd9 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Wed, 10 Dec 2025 00:01:58 +0800 Subject: [PATCH 14/36] Integration --- .gitignore | 26 - CLEAR_STORAGE.html | 155 - .../contoh-import-arsitektur-sem2.csv | 11 - .../contoh-import-arsitektur-sem2.xlsx | Bin 19243 -> 0 bytes .../contoh-import-informatika-sem1.csv | 11 - .../contoh-import-informatika-sem1.xlsx | Bin 18965 -> 0 bytes .../contoh-import-informatika-sem2.csv | 11 - .../contoh-import-informatika-sem2.xlsx | Bin 18698 -> 0 bytes FrontEnd/.gitignore | 33 - FrontEnd/MK_CODES.md | 505 -- FrontEnd/PANDUAN-IMPORT-NILAI.md | 158 - FrontEnd/QUICK_START.md | 707 -- FrontEnd/README.md | 602 -- FrontEnd/TECHNICAL_DOC.md | 1657 ----- FrontEnd/contoh-import-arsitektur-sem2.csv | 11 - FrontEnd/contoh-import-arsitektur-sem2.xlsx | Bin 19243 -> 0 bytes FrontEnd/contoh-import-informatika-sem1.csv | 11 - FrontEnd/contoh-import-informatika-sem1.xlsx | Bin 18965 -> 0 bytes FrontEnd/contoh-import-informatika-sem2.csv | 11 - FrontEnd/contoh-import-informatika-sem2.xlsx | Bin 18698 -> 0 bytes FrontEnd/next.config.mjs | 6 - FrontEnd/note.txt | 5 - FrontEnd/package-lock.json | 6105 ----------------- FrontEnd/package.json | 29 - FrontEnd/postcss.config.mjs | 9 - .../src/app/dashboard/input-nilai/page.tsx | 375 - FrontEnd/src/app/dashboard/laporan/page.tsx | 838 --- FrontEnd/src/app/dashboard/layout.tsx | 16 - FrontEnd/src/app/dashboard/manajemen/page.tsx | 1045 --- FrontEnd/src/app/dashboard/page.tsx | 511 -- FrontEnd/src/app/dashboard/settings/page.tsx | 125 - FrontEnd/src/app/globals.css | 59 - FrontEnd/src/app/layout.tsx | 22 - FrontEnd/src/app/login/page.tsx | 124 - FrontEnd/src/app/page.tsx | 546 -- FrontEnd/src/components/Sidebar.tsx | 212 - FrontEnd/src/data/mockData.ts | 1127 --- FrontEnd/src/utils/dataIntegration.ts | 360 - FrontEnd/src/utils/nilaiStorage.ts | 142 - FrontEnd/tailwind.config.js | 27 - FrontEnd/tsconfig.json | 28 - MK_CODES.md | 505 -- QUICK_START.md | 707 -- README.md | 559 -- clear_storage.js | 16 - internal/http/handler_nilai.go | 538 +- internal/http/router.go | 7 +- internal/model/nilai_cpl.go | 1 + next-env.d.ts | 5 - next.config.mjs | 6 - package-lock.json | 6105 ----------------- package.json | 29 - postcss.config.mjs | 9 - readme.md | 17 - src/app/clear-data/page.jsx | 151 - src/app/dashboard/input-nilai/page.tsx | 420 -- src/app/dashboard/laporan/page.tsx | 1141 --- src/app/dashboard/laporan/page.tsx.backup | 1128 --- src/app/dashboard/layout.tsx | 16 - src/app/dashboard/manajemen/page.tsx | 1194 ---- src/app/dashboard/page.tsx | 549 -- src/app/dashboard/settings/page.tsx | 125 - src/app/globals.css | 59 - src/app/layout.tsx | 22 - src/app/login/page.tsx | 124 - src/app/page.tsx | 546 -- src/components/Sidebar.tsx | 212 - src/data/mockData.ts | 1127 --- src/utils/dataIntegration.ts | 514 -- src/utils/nilaiStorage.ts | 421 -- tailwind.config.js | 27 - tsconfig.json | 28 - 72 files changed, 314 insertions(+), 31614 deletions(-) delete mode 100644 .gitignore delete mode 100644 CLEAR_STORAGE.html delete mode 100644 Data-Example/contoh-import-arsitektur-sem2.csv delete mode 100644 Data-Example/contoh-import-arsitektur-sem2.xlsx delete mode 100644 Data-Example/contoh-import-informatika-sem1.csv delete mode 100644 Data-Example/contoh-import-informatika-sem1.xlsx delete mode 100644 Data-Example/contoh-import-informatika-sem2.csv delete mode 100644 Data-Example/contoh-import-informatika-sem2.xlsx delete mode 100644 FrontEnd/.gitignore delete mode 100644 FrontEnd/MK_CODES.md delete mode 100644 FrontEnd/PANDUAN-IMPORT-NILAI.md delete mode 100644 FrontEnd/QUICK_START.md delete mode 100644 FrontEnd/README.md delete mode 100644 FrontEnd/TECHNICAL_DOC.md delete mode 100644 FrontEnd/contoh-import-arsitektur-sem2.csv delete mode 100644 FrontEnd/contoh-import-arsitektur-sem2.xlsx delete mode 100644 FrontEnd/contoh-import-informatika-sem1.csv delete mode 100644 FrontEnd/contoh-import-informatika-sem1.xlsx delete mode 100644 FrontEnd/contoh-import-informatika-sem2.csv delete mode 100644 FrontEnd/contoh-import-informatika-sem2.xlsx delete mode 100644 FrontEnd/next.config.mjs delete mode 100644 FrontEnd/note.txt delete mode 100644 FrontEnd/package-lock.json delete mode 100644 FrontEnd/package.json delete mode 100644 FrontEnd/postcss.config.mjs delete mode 100644 FrontEnd/src/app/dashboard/input-nilai/page.tsx delete mode 100644 FrontEnd/src/app/dashboard/laporan/page.tsx delete mode 100644 FrontEnd/src/app/dashboard/layout.tsx delete mode 100644 FrontEnd/src/app/dashboard/manajemen/page.tsx delete mode 100644 FrontEnd/src/app/dashboard/page.tsx delete mode 100644 FrontEnd/src/app/dashboard/settings/page.tsx delete mode 100644 FrontEnd/src/app/globals.css delete mode 100644 FrontEnd/src/app/layout.tsx delete mode 100644 FrontEnd/src/app/login/page.tsx delete mode 100644 FrontEnd/src/app/page.tsx delete mode 100644 FrontEnd/src/components/Sidebar.tsx delete mode 100644 FrontEnd/src/data/mockData.ts delete mode 100644 FrontEnd/src/utils/dataIntegration.ts delete mode 100644 FrontEnd/src/utils/nilaiStorage.ts delete mode 100644 FrontEnd/tailwind.config.js delete mode 100644 FrontEnd/tsconfig.json delete mode 100644 MK_CODES.md delete mode 100644 QUICK_START.md delete mode 100644 README.md delete mode 100644 clear_storage.js delete mode 100644 next-env.d.ts delete mode 100644 next.config.mjs delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100644 postcss.config.mjs delete mode 100644 readme.md delete mode 100644 src/app/clear-data/page.jsx delete mode 100644 src/app/dashboard/input-nilai/page.tsx delete mode 100644 src/app/dashboard/laporan/page.tsx delete mode 100644 src/app/dashboard/laporan/page.tsx.backup delete mode 100644 src/app/dashboard/layout.tsx delete mode 100644 src/app/dashboard/manajemen/page.tsx delete mode 100644 src/app/dashboard/page.tsx delete mode 100644 src/app/dashboard/settings/page.tsx delete mode 100644 src/app/globals.css delete mode 100644 src/app/layout.tsx delete mode 100644 src/app/login/page.tsx delete mode 100644 src/app/page.tsx delete mode 100644 src/components/Sidebar.tsx delete mode 100644 src/data/mockData.ts delete mode 100644 src/utils/dataIntegration.ts delete mode 100644 src/utils/nilaiStorage.ts delete mode 100644 tailwind.config.js delete mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4260511..0000000 --- a/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -# Dependencies -node_modules/ -.pnp -.pnp.js - -# Next.js -.next/ -out/ -build/ -dist/ - -# Production -*.log - -# Local env -.env*.local - -# Vercel -.vercel - -# IDEs -.vscode/ -.idea/ - -# OS -.DS_Store diff --git a/CLEAR_STORAGE.html b/CLEAR_STORAGE.html deleted file mode 100644 index 836ab3a..0000000 --- a/CLEAR_STORAGE.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - Clear CPL Storage - - - -
-

🧹 Clear CPL System Storage

- -
-

📦 Current Storage:

-
-
- - - - - - -
- -
-

ℹ️ Info:

-
    -
  • kkp_nilai_mahasiswa: Data nilai yang diimport
  • -
  • kkp_mahasiswa_import: Data mahasiswa yang diimport
  • -
-
-
- - - - diff --git a/Data-Example/contoh-import-arsitektur-sem2.csv b/Data-Example/contoh-import-arsitektur-sem2.csv deleted file mode 100644 index 83ede01..0000000 --- a/Data-Example/contoh-import-arsitektur-sem2.csv +++ /dev/null @@ -1,11 +0,0 @@ -NIM,Nama,ARS201,ARS202,ARS203,ARS204,ARS205,ARS206,ARS207,ARS208,ARS209 -2023001,Budi Hartono,85,88,82,80,87,84,86,83,85 -2023002,Citra Maharani,90,92,88,85,91,89,90,87,89 -2023003,Dedi Sutrisno,78,80,75,77,79,76,78,74,77 -2023004,Eka Wulandari,88,90,86,84,89,87,88,85,87 -2023005,Fajar Nugroho,82,85,80,78,83,81,82,79,81 -2023006,Gina Puspita,92,94,90,88,93,91,92,89,91 -2023007,Hadi Wijaya,80,82,78,76,81,79,80,77,79 -2023008,Ika Suryani,86,89,84,82,87,85,86,83,85 -2023009,Joko Prasetyo,79,81,77,75,80,78,79,76,78 -2023010,Kartika Sari,94,96,92,90,95,93,94,91,93 diff --git a/Data-Example/contoh-import-arsitektur-sem2.xlsx b/Data-Example/contoh-import-arsitektur-sem2.xlsx deleted file mode 100644 index a2d3ae348a1338f421fb8513c567c2c67e12f8bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19243 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 Xdh~GrCx42Np2NQ{!YTfIhwlCxBti(# diff --git a/Data-Example/contoh-import-informatika-sem1.csv b/Data-Example/contoh-import-informatika-sem1.csv deleted file mode 100644 index 6ced58e..0000000 --- a/Data-Example/contoh-import-informatika-sem1.csv +++ /dev/null @@ -1,11 +0,0 @@ -NIM,Nama,INF101,INF102,INF103,INF104,INF105,INF106,INF107,INF108 -2024001,Ahmad Fauzi,85,88,90,82,85,87,80,84 -2024002,Siti Aisyah,92,89,95,88,92,90,85,91 -2024003,Budi Santoso,78,82,85,75,80,83,78,80 -2024004,Citra Dewi,88,90,92,85,89,88,82,87 -2024005,Dedi Prasetyo,75,78,80,72,76,79,74,77 -2024006,Eka Putri,90,92,94,88,91,89,86,90 -2024007,Fahri Rahman,82,85,88,80,84,86,79,83 -2024008,Gita Sari,86,88,90,83,87,85,81,86 -2024009,Hendra Wijaya,79,81,84,77,80,82,76,80 -2024010,Indah Permata,93,95,97,90,94,92,88,94 diff --git a/Data-Example/contoh-import-informatika-sem1.xlsx b/Data-Example/contoh-import-informatika-sem1.xlsx deleted file mode 100644 index 408f9996d46f13bb1c91912a54aa0730944d9613..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18965 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 diff --git a/Data-Example/contoh-import-informatika-sem2.csv b/Data-Example/contoh-import-informatika-sem2.csv deleted file mode 100644 index 40c2642..0000000 --- a/Data-Example/contoh-import-informatika-sem2.csv +++ /dev/null @@ -1,11 +0,0 @@ -NIM,Nama,INF201,INF202,INF203,INF204,INF205,INF206,INF207 -2024001,Ahmad Fauzi,86,90,88,84,82,85,89 -2024002,Siti Aisyah,93,95,92,90,88,91,94 -2024003,Budi Santoso,79,82,80,78,75,80,81 -2024004,Citra Dewi,89,91,90,87,85,88,90 -2024005,Dedi Prasetyo,76,80,78,75,73,77,79 -2024006,Eka Putri,91,94,93,89,87,90,92 -2024007,Fahri Rahman,83,87,85,82,80,84,86 -2024008,Gita Sari,87,90,88,85,83,86,89 -2024009,Hendra Wijaya,80,84,82,79,77,81,83 -2024010,Indah Permata,94,97,95,92,90,93,96 diff --git a/Data-Example/contoh-import-informatika-sem2.xlsx b/Data-Example/contoh-import-informatika-sem2.xlsx deleted file mode 100644 index b53d19ecb5d95bb80b916935ccdacd67265ce9ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18698 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 -- Format tidak didukung -- Coba download ulang template - -❌ **Data Tidak Terupdate di Tab Lain** -- Klik tombol **"Refresh"** manual -- Clear browser cache (Ctrl+Shift+Del) -- Reload halaman (F5) - -❌ **Nilai CPL Tidak Berubah Setelah Import** -- Pastikan MK yang diimport ter-mapping ke CPL -- Cek di Tab CPL apakah CPMK sudah ada bobot -- Refresh dashboard (F5) - -❌ **Breakdown CPMK Tidak Muncul** -- Pastikan laporan sudah di-generate -- Klik baris CPL untuk expand -- Pastikan ada data nilai untuk mahasiswa tersebut - -❌ **Export PDF/Excel Belum Berfungsi** -- Fitur masih mockup di development -- Akan diaktifkan di production - -### Keyboard Shortcuts - -- `Ctrl + R` atau `F5`: Refresh halaman -- `Tab`: Navigasi antar input field -- `Enter`: Submit form -- `Esc`: Tutup modal/dropdown - -### Command Cheat Sheet (Development) - -```bash -# Start development server -npm run dev - -# Build for production -npm run build - -# Run production build -npm start - -# Clear cache -rm -rf .next && npm run dev - -# Check errors -npm run lint -``` - ---- - -## 📱 Akses Mobile - -Sistem CPL responsive dan dapat diakses via smartphone: - -1. Buka browser mobile (Chrome, Safari, Firefox) -2. Akses URL: `http://localhost:3000` atau domain production -3. Fitur mobile: - - Sidebar → Hamburger menu - - Chart → Optimized untuk layar kecil - - Table → Horizontal scroll - - Cards → Stacked layout - - Touch-friendly buttons - ---- - -## 🔄 Update Data (Development Mode) - -### Data Mock - -File: `src/data/mockData.ts` - -**Struktur:** -```typescript -// 5 Prodi -export const prodiData = [...]; - -// 8 CPL per prodi -export const cplData = [...]; - -// Mahasiswa -export const mahasiswaData = [...]; - -// Mata Kuliah (69 untuk Informatika, 50+ untuk lainnya) -export const mkData = [...]; - -// CPMK dengan bobot -export const cpmkData = [...]; - -// Mapping CPMK → CPL -export const cpmkToCplMapping = [...]; -``` - -### Data Integration - -File: `src/utils/dataIntegration.ts` - -**Fungsi utama:** -- `getCombinedNilaiData()`: Merge localStorage + mockData -- `hitungNilaiCPLPerSemesterIntegrated()`: Kalkulasi CPL -- `hitungCPMKBreakdownPerCPL()`: Breakdown detail CPMK - -**Priority:** localStorage > mockData - ---- - -## 📚 MK Codes Reference - -### Informatika (69 MK, 144 SKS) - -**Semester 1 (8 MK, 20 SKS):** -- INF101: Pemrograman Web (3 SKS) → CPL3, CPL6, CPL7 -- INF102: Struktur Data (3 SKS) → CPL3, CPL5 -- INF103: Matematika Diskrit (3 SKS) → CPL2, CPL3 -- INF104: Algoritma Pemrograman (3 SKS) → CPL3, CPL5 -- INF105: Sistem Digital (2 SKS) → CPL4, CPL5 -- INF106: Bahasa Inggris Teknik (2 SKS) → CPL1, CPL8 -- INF107: Pancasila (2 SKS) → CPL1, CPL8 -- INF108: Pendidikan Agama (2 SKS) → CPL1, CPL8 - -**Semester 2 (7 MK, 18 SKS):** -- INF201: Basis Data (3 SKS) → CPL4, CPL6 -- INF202: Pemrograman Berorientasi Objek (3 SKS) → CPL3, CPL5 -- INF203: Sistem Operasi (3 SKS) → CPL4, CPL5 -- INF204: Jaringan Komputer (3 SKS) → CPL4, CPL5 -- INF205: Statistika (2 SKS) → CPL2, CPL3 -- INF206: Kewarganegaraan (2 SKS) → CPL1, CPL8 -- INF207: Bahasa Indonesia (2 SKS) → CPL1, CPL8 - -*[Untuk daftar lengkap semua semester, lihat MK_CODES.md]* - -### Arsitektur (50+ MK, 145 SKS) - -**Semester 1:** -- ARS101: Pengantar Arsitektur (2 SKS) → CPL1, CPL2 -- ARS102: Gambar Teknik (3 SKS) → CPL3, CPL4 -- ARS103: Matematika Teknik (3 SKS) → CPL2, CPL3 -- *[Lihat MK_CODES.md untuk lengkap]* - -### PWK, Sipil, Elektro - -Daftar lengkap MK untuk 3 prodi lainnya tersedia di **MK_CODES.md** - ---- - -## 🧪 Testing Checklist - -### Login Testing -- [ ] Login dengan 5 akun kaprodi berhasil -- [ ] Quick login berfungsi -- [ ] Redirect ke dashboard sesuai prodi -- [ ] Logout berhasil - -### Dashboard Testing -- [ ] Tree diagram tampil dan interactive -- [ ] Expand/collapse CPL-MK-CPMK works -- [ ] Statistik cards tampil benar -- [ ] Radar chart render dengan 8 CPL - -### Input Nilai Testing -- [ ] Dropdown mahasiswa tersaring per prodi -- [ ] Dropdown MK tersaring per semester -- [ ] Input nilai 0-100 dengan validasi -- [ ] Kalkulasi real-time berfungsi -- [ ] Simpan nilai berhasil -- [ ] localStorage update - -### Laporan Testing -- [ ] Generate laporan berhasil -- [ ] Tabel CPL tampil dengan 8 rows -- [ ] Klik CPL expand breakdown -- [ ] Breakdown menampilkan MK cards -- [ ] Breakdown menampilkan tabel CPMK -- [ ] Bobot dan nilai tertimbang benar -- [ ] Export button tampil (mockup) - -### Manajemen Data Testing -- [ ] Tab Import: Upload .xlsx berhasil -- [ ] Tab Import: Upload .csv berhasil -- [ ] Tab Import: Preview tampil benar -- [ ] Tab Import: Import data save ke localStorage -- [ ] Tab Mahasiswa: Tampilkan mahasiswa dengan nilai -- [ ] Tab Mahasiswa: Filter prodi works -- [ ] Tab Mata Kuliah: Statistik MK tampil -- [ ] Tab Mata Kuliah: Color coding benar -- [ ] Tab CPL: Summary cards update -- [ ] Tab CPL: Distribusi badges tampil -- [ ] Refresh button di semua tab works -- [ ] Integrasi antar tab berfungsi - -### CPL Mapping Testing -- [ ] Tabel matrix tampil -- [ ] 8 CPL untuk setiap prodi -- [ ] CPMK mapping ke CPL benar - -### Responsive Testing -- [ ] Mobile: Hamburger menu works -- [ ] Mobile: Sidebar collapse -- [ ] Mobile: Table horizontal scroll -- [ ] Mobile: Cards stack vertically -- [ ] Tablet: Layout adjust -- [ ] Desktop: Full layout - ---- - -## 🆘 Bantuan Lebih Lanjut - -### Dokumentasi -- **Quick Start**: `QUICK_START.md` (dokumen ini) -- **Technical Docs**: `TECHNICAL_DOC.md` -- **README**: `README.md` -- **Import Guide**: `PANDUAN-IMPORT-NILAI.md` -- **MK Codes**: `MK_CODES.md` - -### Kontak -- **Developer**: Lihat TECHNICAL_DOC.md -- **User Support**: Hubungi administrator sistem -- **Bug Report**: Catat error message dan langkah reproduksi -- **GitHub**: https://github.com/Nur-Hidayat-FTI22E/CPL_Sign.git - ---- - -**© 2025 Universitas Muhammadiyah Makassar** - -*Panduan ini untuk versi development. Fitur production mungkin berbeda.* - -**Version:** 2.0 (Updated with Import Feature & CPMK Breakdown) -**Last Updated:** Januari 2025 diff --git a/FrontEnd/README.md b/FrontEnd/README.md deleted file mode 100644 index 542ed53..0000000 --- a/FrontEnd/README.md +++ /dev/null @@ -1,602 +0,0 @@ -# 🎓 Sistem Capaian Pembelajaran Lulusan (CPL) - -**Universitas Muhammadiyah Makassar** - -Sistem terintegrasi untuk mengukur, memantau, dan mengelola Capaian Pembelajaran Lulusan (CPL) di 5 Program Studi Fakultas Teknik. - -[![Next.js](https://img.shields.io/badge/Next.js-14.2-black?logo=next.js)](https://nextjs.org/) -[![React](https://img.shields.io/badge/React-19.0-blue?logo=react)](https://reactjs.org/) -[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue?logo=typescript)](https://www.typescriptlang.org/) -[![Tailwind CSS](https://img.shields.io/badge/Tailwind-3.3-38bdf8?logo=tailwind-css)](https://tailwindcss.com/) -[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) - ---- - -## 📖 Daftar Isi - -- [Tentang Sistem](#-tentang-sistem) -- [Fitur Utama](#-fitur-utama) -- [Screenshot](#-screenshot) -- [Tech Stack](#️-tech-stack) -- [Quick Start](#-quick-start) -- [Struktur Project](#-struktur-project) -- [Dokumentasi](#-dokumentasi) -- [Akun Demo](#-akun-demo) -- [Deployment](#-deployment) -- [Kontribusi](#-kontribusi) -- [Lisensi](#-lisensi) - ---- - -## 🎯 Tentang Sistem - -Sistem CPL adalah aplikasi web modern untuk mengelola dan memantau Capaian Pembelajaran Lulusan (CPL) sesuai dengan standar SNPT (Standar Nasional Pendidikan Tinggi). Sistem ini dirancang untuk membantu: - -- **Kaprodi**: Monitoring pencapaian CPL mahasiswa di program studi -- **Dosen**: Input dan evaluasi nilai mata kuliah -- **Admin**: Manajemen data dan konfigurasi sistem -- **Mahasiswa**: Melihat progress pencapaian pembelajaran - -### 🏫 Program Studi yang Didukung - -1. **S1 Teknik Informatika (INF)** - 69 Mata Kuliah, 144 SKS -2. **S1 Arsitektur (ARS)** - 50+ Mata Kuliah, 145 SKS -3. **S1 Perencanaan Wilayah Kota (PWK)** - 50+ Mata Kuliah -4. **S1 Teknik Sipil (SIP)** - 50+ Mata Kuliah -5. **S1 Teknik Elektro (ELK)** - 50+ Mata Kuliah - -Setiap program studi memiliki **8 CPL** yang terstruktur sesuai kurikulum masing-masing. - ---- - -## ✨ Fitur Utama - -### 🏠 **Dashboard dengan Tree Diagram** -- Visualisasi hierarki **CPL → Mata Kuliah → CPMK** -- Expandable tree untuk eksplorasi detail -- Statistik cepat: Total mahasiswa, MK, CPL tercapai -- Grafik Radar Chart untuk overview 8 CPL - -### ✏️ **Input Nilai Manual** -- Form input nilai per CPMK dengan bobot otomatis -- Kalkulasi real-time nilai MK -- Auto-distribusi ke CPL terkait -- Validasi nilai 0-100 - -### 📊 **Laporan CPL dengan CPMK Breakdown** ⭐ NEW! -- Generate laporan per mahasiswa & semester -- **Tabel CPL expandable**: Klik untuk melihat detail -- **Breakdown lengkap**: CPL → MK → CPMK dengan bobot -- Menampilkan: - - Bobot setiap CPMK dalam MK - - Nilai tertimbang (Nilai × Bobot) - - Kontribusi ke CPL (persentase) -- Export PDF/Excel (mockup) - -### 📁 **Manajemen Data & Import Nilai** ⭐ NEW! - -**4 Tab Terintegrasi:** - -#### 1️⃣ **Tab Import Nilai** -- Upload file Excel (.xlsx) atau CSV -- Preview data sebelum import -- Validasi otomatis NIM dan nilai -- Auto-kalkulasi CPL dari nilai MK -- Statistik hasil import (Total, Sukses, Gagal) - -#### 2️⃣ **Tab Mahasiswa** -- Monitoring mahasiswa dengan nilai -- Filter per prodi -- Status: 🟢 Terimport / 🔵 Mock Data / ⚪ Manual -- Statistik: Total nilai, dari import, kelengkapan - -#### 3️⃣ **Tab Mata Kuliah** -- Grid cards dengan statistik per MK -- Rata-rata nilai dengan color coding: - - 🟢 Hijau (≥75): Baik - - 🟡 Kuning (60-74): Cukup - - 🔴 Merah (<60): Kurang -- Min-Max nilai, jumlah mahasiswa -- Progress bar visual - -#### 4️⃣ **Tab CPL & CPMK** -- Summary cards: Tercapai, Cukup, Belum Tercapai -- Tabel CPL dengan distribusi -- Info kalkulasi otomatis -- Filter prodi & semester - -**Integrasi Real-time:** -- Import → Auto refresh semua tab -- localStorage → Persist data -- Tombol refresh manual di setiap tab - -### 🎯 **CPL & Pemetaan Kurikulum** -- Matrix mapping CPL ↔ MK ↔ CPMK -- Visualisasi bobot kontribusi -- 8 CPL per prodi dengan deskripsi lengkap - -### 🎨 **UI/UX Modern** -- **Responsive Design**: Desktop, tablet, mobile -- **Dark Mode Compatible**: Siap untuk dark theme -- **Interactive Charts**: Recharts untuk visualisasi -- **Smooth Animations**: Tailwind CSS transitions -- **Accessible**: ARIA labels, keyboard navigation - ---- - -## 📸 Screenshot - -### Dashboard dengan Tree Diagram -``` -┌─────────────────────────────────────────────────────────┐ -│ 📊 Dashboard CPL - Teknik Informatika │ -├─────────────────────────────────────────────────────────┤ -│ 📘 CPL1: Mampu menerapkan pemikiran logis │ -│ └─ 📗 Pemrograman Web (INF101) - 3 SKS │ -│ ├─ 🟣 CPMK1-1: Konsep dasar (20%) │ -│ ├─ 🟣 CPMK1-2: HTML/CSS (30%) │ -│ ├─ 🟣 CPMK1-3: JavaScript (25%) │ -│ └─ 🟣 CPMK1-4: Framework (25%) │ -│ └─ 📗 Struktur Data (INF102) - 3 SKS │ -│ ├─ 🟣 CPMK2-1: Array & Linked List (25%) │ -│ └─ 🟣 CPMK2-2: Tree & Graph (25%) │ -└─────────────────────────────────────────────────────────┘ -``` - -### Laporan CPL dengan Breakdown -``` -┌─────────────────────────────────────────────────────────┐ -│ 📊 Laporan CPL - Andi Miftah (105841109601) │ -│ Semester 1 | 2023/2024 Ganjil │ -├─────────────────────────────────────────────────────────┤ -│ CPL3: Mampu menerapkan pemikiran logis [▼ Expand] │ -│ Nilai: 82.5 | Status: 🟢 Tercapai │ -│ │ -│ 📗 Pemrograman Web (INF101) - 3 SKS │ -│ ┌────────────┬───────┬──────────────┬─────────────┐ │ -│ │ CPMK │ Bobot │ Nilai │ Kontribusi │ │ -│ ├────────────┼───────┼──────────────┼─────────────┤ │ -│ │ CPMK1-1 │ 20% │ 85 → 17.0 │ 2.5% → CPL │ │ -│ │ CPMK1-2 │ 30% │ 90 → 27.0 │ 3.75% → CPL │ │ -│ │ CPMK1-3 │ 25% │ 78 → 19.5 │ 3.13% → CPL │ │ -│ │ CPMK1-4 │ 25% │ 82 → 20.5 │ 3.13% → CPL │ │ -│ └────────────┴───────┴──────────────┴─────────────┘ │ -│ Nilai MK: 84.0 | Kontribusi ke CPL3: 12.5% │ -└─────────────────────────────────────────────────────────┘ -``` - -### Manajemen Data - Import Tab -``` -┌─────────────────────────────────────────────────────────┐ -│ 📁 Manajemen Data - Import Nilai │ -├─────────────────────────────────────────────────────────┤ -│ Prodi: [Informatika ▼] Semester: [1 ▼] │ -│ │ -│ 📎 Upload File Excel/CSV │ -│ ┌─────────────────────────────────────────────────┐ │ -│ │ Drag & drop file atau klik untuk pilih │ │ -│ │ Format: .xlsx, .csv | Max: 5MB │ │ -│ └─────────────────────────────────────────────────┘ │ -│ │ -│ 📋 Preview Data (10 rows) │ -│ ┌────────┬─────────────┬───────┬───────┬───────┐ │ -│ │ NIM │ Nama │ INF101│ INF102│ ... │ │ -│ ├────────┼─────────────┼───────┼───────┼───────┤ │ -│ │ 105... │ Andi Miftah │ 85 │ 90 │ ... │ │ -│ │ 105... │ Annisya │ 90 │ 85 │ ... │ │ -│ └────────┴─────────────┴───────┴───────┴───────┘ │ -│ │ -│ [✅ Import Data] [📥 Download Template] │ -│ │ -│ ✓ Import berhasil: 10 data | 0 gagal │ -└─────────────────────────────────────────────────────────┘ -``` - ---- - -## 🛠️ Tech Stack - -### Frontend -- **Framework**: Next.js 14.2.33 (App Router) -- **UI Library**: React 19.0.0 -- **Language**: TypeScript 5.x + JavaScript -- **Styling**: Tailwind CSS 3.3 -- **Charts**: Recharts 2.10.x -- **Excel Parsing**: xlsx 0.18.5 - -### State & Data -- **State Management**: React Hooks (useState, useEffect, useCallback) -- **Data Storage**: localStorage (development) → PostgreSQL (production) -- **Data Integration**: Custom integration layer (`dataIntegration.ts`) - -### Development Tools -- **Linter**: ESLint 9.x -- **Formatter**: Prettier (recommended) -- **Package Manager**: npm (recommended) / yarn / pnpm - ---- - -## 🚀 Quick Start - -### Prerequisites - -```bash -Node.js: 18+ or 20+ -npm: 9+ (comes with Node.js) -``` - -### Installation - -```bash -# 1. Clone repository -git clone https://github.com/Nur-Hidayat-FTI22E/CPL_Sign.git -cd CPL_Sign - -# 2. Install dependencies -npm install - -# 3. Run development server -npm run dev - -# 4. Open browser -# Navigate to http://localhost:3000 -``` - -### Build for Production - -```bash -# Build -npm run build - -# Start production server -npm start - -# Server runs on http://localhost:3000 -``` - ---- - -## 📂 Struktur Project - -``` -kkp-plus-new/ -├── src/ -│ ├── app/ # Next.js App Router -│ │ ├── page.jsx # Landing page -│ │ ├── (auth)/login/ # Login page -│ │ ├── dashboard/ # Dashboard + Tree diagram -│ │ ├── input-nilai/ # Manual input form -│ │ ├── laporan/ # Laporan dengan breakdown -│ │ ├── manajemen/ # 4 tabs: Import, Mahasiswa, MK, CPL -│ │ ├── cpl-mapping/ # CPL mapping matrix -│ │ ├── penilaian/ # Penilaian module -│ │ └── pengumuman/ # Announcement -│ │ -│ ├── components/ # Reusable components -│ │ ├── Navbar.jsx -│ │ ├── Sidebar.jsx -│ │ ├── RadarCPL.jsx -│ │ ├── CpmkBreakdownDisplay.jsx -│ │ └── ... -│ │ -│ ├── data/ # Data layer -│ │ ├── mock.js # Informatika data -│ │ ├── mock-arsitektur.js # Arsitektur data -│ │ └── kurikulumArsitektur.js -│ │ -│ └── utils/ # Utilities -│ ├── dataIntegration.ts # Core integration -│ └── gradeCalculator.js -│ -├── public/ # Static assets -├── contoh-import-*.xlsx # Example files -├── QUICK_START.md # Quick guide -├── TECHNICAL_DOC.md # Technical docs -├── PANDUAN-IMPORT-NILAI.md # Import guide -├── package.json -└── README.md # This file -``` - -**Key Files:** -- `src/utils/dataIntegration.ts`: Core logic untuk merge data & kalkulasi CPL -- `src/app/dashboard/manajemen/page.tsx`: 4-tab management system -- `src/app/dashboard/laporan/page.tsx`: Laporan dengan CPMK breakdown -- `src/data/mock.js`: Static data Informatika (69 MK, 8 CPL) - ---- - -## 📚 Dokumentasi - -### 📖 Dokumentasi Lengkap - -| Dokumen | Deskripsi | Link | -|---------|-----------|------| -| **QUICK_START.md** | Panduan cepat untuk pengguna | [Buka](./QUICK_START.md) | -| **TECHNICAL_DOC.md** | Dokumentasi teknis untuk developer | [Buka](./TECHNICAL_DOC.md) | -| **PANDUAN-IMPORT-NILAI.md** | Cara import nilai dari Excel/CSV | [Buka](./PANDUAN-IMPORT-NILAI.md) | -| **MK_CODES.md** | Daftar kode mata kuliah semua prodi | [Akan dibuat] | - -### 🎓 Panduan Penggunaan - -1. **Login**: Gunakan akun kaprodi sesuai prodi -2. **Dashboard**: Lihat overview CPL dengan tree diagram -3. **Input Nilai**: Input manual atau import batch dari Excel -4. **Laporan**: Generate laporan dengan breakdown detail CPMK -5. **Manajemen**: Monitor data mahasiswa, MK, dan CPL - -### 📊 Cara Kerja Sistem - -**Alur Kalkulasi CPL:** -``` -Input Nilai MK (per CPMK) - ↓ -Nilai MK = Σ (Nilai CPMK × Bobot CPMK) - ↓ -Nilai CPL = Σ (Nilai CPMK × Bobot MK × Bobot CPMK) / Σ (Bobot MK × Bobot CPMK) - ↓ -Status: Tercapai (≥75) | Cukup (60-74) | Belum (<60) -``` - -**Contoh Perhitungan:** -``` -CPL3: Mampu menerapkan pemikiran logis -├── MK: Pemrograman Web (Bobot: 12.5% dari 8 MK) -│ ├── CPMK1-1 (20%): Nilai 85 → Kontribusi: 85 × 0.125 × 0.20 = 2.125 -│ ├── CPMK1-2 (30%): Nilai 90 → Kontribusi: 90 × 0.125 × 0.30 = 3.375 -│ └── ... -└── Nilai CPL3 = Σ Kontribusi / Σ Bobot -``` - ---- - -## 🔐 Akun Demo - -Sistem menyediakan 5 akun demo untuk testing: - -### Kaprodi (5 Program Studi) - -| Program Studi | Email | Password | Kode | -|--------------|-------|----------|------| -| **Teknik Informatika** | kaprodi.informatika@unismuh.ac.id | kaprodi123 | INF | -| **Arsitektur** | kaprodi.arsitektur@unismuh.ac.id | kaprodi123 | ARS | -| **Perencanaan Wilayah Kota** | kaprodi.pwk@unismuh.ac.id | kaprodi123 | PWK | -| **Teknik Sipil** | kaprodi.sipil@unismuh.ac.id | kaprodi123 | SIP | -| **Teknik Elektro** | kaprodi.elektro@unismuh.ac.id | kaprodi123 | ELK | - -**Cara Login:** -1. Buka http://localhost:3000/login -2. Pilih role dari dropdown -3. Klik **"Quick Login"** atau input manual -4. Redirect ke dashboard prodi - ---- - -## 📦 Dependencies - -### Production Dependencies - -```json -{ - "next": "14.2.33", - "react": "19.0.0", - "react-dom": "19.0.0", - "recharts": "^2.10.0", - "xlsx": "^0.18.5" -} -``` - -### Development Dependencies - -```json -{ - "@eslint/eslintrc": "^3.2.0", - "eslint": "^9.17.0", - "postcss": "^8.4.49", - "tailwindcss": "^3.3.0" -} -``` - ---- - -## 🚀 Deployment - -### Vercel (Recommended) - -```bash -# Install Vercel CLI -npm i -g vercel - -# Deploy -vercel --prod -``` - -### Docker - -```bash -# Build image -docker build -t cpl-system . - -# Run container -docker run -p 3000:3000 cpl-system -``` - -### Environment Variables - -```env -# .env.local (development) -NEXT_PUBLIC_APP_URL=http://localhost:3000 - -# .env.production -NEXT_PUBLIC_APP_URL=https://cpl.unismuh.ac.id -DATABASE_URL=postgresql://user:pass@host:5432/cpl -JWT_SECRET=your-secret-key -``` - ---- - -## 🧪 Testing - -```bash -# Run unit tests -npm run test - -# Run tests with coverage -npm run test:coverage - -# Run E2E tests -npm run test:e2e -``` - ---- - -## 🤝 Kontribusi - -Kami menyambut kontribusi dari komunitas! Berikut cara berkontribusi: - -### Workflow Git - -```bash -# 1. Fork repository -# 2. Clone fork Anda -git clone https://github.com/YOUR_USERNAME/CPL_Sign.git - -# 3. Buat branch baru -git checkout -b feature/nama-fitur - -# 4. Commit changes -git commit -m "feat: tambah fitur X" - -# 5. Push ke fork -git push origin feature/nama-fitur - -# 6. Buat Pull Request ke branch FR_branch -``` - -### Commit Convention - -Gunakan [Conventional Commits](https://www.conventionalcommits.org/): - -``` -feat: menambah fitur baru -fix: memperbaiki bug -docs: update dokumentasi -style: formatting, missing semicolons, etc -refactor: refactoring code -test: menambah test -chore: update build tasks, package manager configs, etc -``` - -### Coding Standards - -- **TypeScript**: Gunakan type-safe code -- **ESLint**: Follow linting rules -- **Prettier**: Format code sebelum commit -- **Comments**: Tulis komentar untuk logic kompleks -- **Tests**: Tambahkan tests untuk fitur baru - ---- - -## 📝 Roadmap - -### ✅ Completed (v2.0) -- [x] Dashboard dengan tree diagram CPL-MK-CPMK -- [x] Input nilai manual per CPMK -- [x] Laporan CPL dengan CPMK breakdown -- [x] Import nilai dari Excel/CSV -- [x] Manajemen data 4-tab terintegrasi -- [x] Real-time refresh mechanism -- [x] 5 prodi support (INF, ARS, PWK, SIP, ELK) -- [x] localStorage integration -- [x] Responsive design - -### 🚧 In Progress (v2.1) -- [ ] Export PDF implementasi (jsPDF) -- [ ] Export Excel implementasi (xlsx) -- [ ] MK_CODES.md lengkap semua prodi - -### 🔮 Future (v3.0) -- [ ] Backend API (Express/NestJS) -- [ ] Database integration (PostgreSQL) -- [ ] Real authentication (JWT) -- [ ] Email notifications -- [ ] Advanced analytics dashboard -- [ ] Mobile app (React Native) -- [ ] Real-time collaboration -- [ ] Audit trail & logging - ---- - -## 🐛 Known Issues - -- Export PDF/Excel masih mockup (belum terimplementasi) -- Data masih localStorage (belum database) -- Authentication masih session storage (demo mode) -- Beberapa MK belum ada data CPMK lengkap - -Lihat [Issues](https://github.com/Nur-Hidayat-FTI22E/CPL_Sign/issues) untuk daftar lengkap. - ---- - -## 📄 Lisensi - -Sistem ini dikembangkan untuk **Universitas Muhammadiyah Makassar** dan dilisensikan di bawah [MIT License](LICENSE). - -``` -MIT License - -Copyright (c) 2025 Universitas Muhammadiyah Makassar - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction... -``` - ---- - -## 👥 Tim Pengembang - -**Developer**: [Your Name] -**Institution**: Universitas Muhammadiyah Makassar -**Faculty**: Teknik -**Program**: Teknik Informatika - ---- - -## 🙏 Acknowledgments - -Terima kasih kepada: -- **Universitas Muhammadiyah Makassar** - Dukungan dan fasilitas -- **Fakultas Teknik** - Guidance dan requirements -- **Next.js Team** - Amazing framework -- **Recharts** - Beautiful charts library -- **SheetJS** - Excel parsing made easy -- **Open Source Community** - Inspirasi dan tools - ---- - -## 📞 Kontak & Support - -- **Email**: [contact@unismuh.ac.id] -- **Website**: [https://unismuh.ac.id](https://unismuh.ac.id) -- **GitHub Issues**: [Report Bug](https://github.com/Nur-Hidayat-FTI22E/CPL_Sign/issues) -- **GitHub Discussions**: [Ask Question](https://github.com/Nur-Hidayat-FTI22E/CPL_Sign/discussions) - ---- - -## 🌟 Star History - -Jika sistem ini bermanfaat, berikan ⭐ di GitHub! - ---- - -
- -**Sistem CPL** adalah bagian dari transformasi digital pendidikan tinggi di Indonesia. - -Dikembangkan dengan ❤️ oleh **Universitas Muhammadiyah Makassar** - -**© 2025 Universitas Muhammadiyah Makassar** - -[Website](https://unismuh.ac.id) • [Documentation](./QUICK_START.md) • [GitHub](https://github.com/Nur-Hidayat-FTI22E/CPL_Sign) - -
diff --git a/FrontEnd/TECHNICAL_DOC.md b/FrontEnd/TECHNICAL_DOC.md deleted file mode 100644 index 2efbf15..0000000 --- a/FrontEnd/TECHNICAL_DOC.md +++ /dev/null @@ -1,1657 +0,0 @@ -# 📘 Technical Documentation - Sistem CPL - -**Sistem Capaian Pembelajaran Lulusan** -Universitas Muhammadiyah Makassar - ---- - -## 📋 Table of Contents - -1. [System Architecture](#1-system-architecture) -2. [Technology Stack](#2-technology-stack) -3. [Directory Structure](#3-directory-structure) -4. [Data Models](#4-data-models) -5. [Data Flow & Integration](#5-data-flow--integration) -6. [Calculation Algorithms](#6-calculation-algorithms) -7. [Component Architecture](#7-component-architecture) -8. [State Management](#8-state-management) -9. [API & Functions Reference](#9-api--functions-reference) -10. [Security](#10-security) -11. [Performance](#11-performance) -12. [Testing](#12-testing) -13. [Deployment](#13-deployment) - ---- - -## 1. System Architecture - -### High-Level Architecture - -``` -┌─────────────────────────────────────────────────────────────┐ -│ Frontend (Next.js 14) │ -├─────────────────────────────────────────────────────────────┤ -│ Landing Page │ Login │ Dashboard │ Input │ Laporan │ -│ │ Auth │ Overview │ Nilai │ CPL │ -├────────────────┴─────────┴─────────────┴─────────┴──────────┤ -│ Manajemen Data (NEW!) │ -│ ┌──────────┬──────────────┬──────────────┬───────────────┐ │ -│ │ Import │ Mahasiswa │ Mata Kuliah │ CPL & CPMK │ │ -│ │ Nilai │ Monitoring │ Statistics │ Overview │ │ -│ └──────────┴──────────────┴──────────────┴───────────────┘ │ -├─────────────────────────────────────────────────────────────┤ -│ Component Layer │ -│ Navbar │ Sidebar │ Charts │ Tables │ Forms │ Cards │ -├─────────────────────────────────────────────────────────────┤ -│ Data Integration Layer │ -│ getCombinedNilaiData() │ hitungNilaiCPLPerSemester() │ -│ hitungCPMKBreakdownPerCPL() │ Data Merge Logic │ -├─────────────────────────────────────────────────────────────┤ -│ Data Storage Layer │ -│ ┌─────────────────┐ ┌────────────────┐ │ -│ │ localStorage │ + │ mockData.ts │ │ -│ │ (User Input) │ │ (Static) │ │ -│ └─────────────────┘ └────────────────┘ │ -│ Priority: localStorage > mockData │ -└─────────────────────────────────────────────────────────────┘ -``` - -### System Flow Diagram - -``` -[User Login] → [Authentication] - ↓ -[Dashboard] → [Tree Diagram CPL-MK-CPMK] - ↓ -[Input Nilai Manual] ──┐ - ├──→ [localStorage] -[Import Excel/CSV] ────┘ ↓ - [Data Integration Layer] - ↓ - ┌─────────────┴─────────────┐ - ↓ ↓ - [Auto Calculate] [Merge with Mock] - CPL ← CPMK ← MK ↓ - ↓ [Refresh Trigger] - [Update All Tabs] ↓ - ↓ ┌──────┴──────┐ - ┌───────┴────────┐ ↓ ↓ - ↓ ↓ [Mahasiswa] [Mata Kuliah] - [Laporan CPL] [Dashboard] ↓ ↓ - (with Breakdown) (Updated) [CPL & CPMK] [Statistics] -``` - ---- - -## 2. Technology Stack - -### Frontend Framework -```yaml -Core: - - Next.js: 14.2.33 (App Router) - - React: 19.0.0 - - TypeScript: 5.x - -Styling: - - Tailwind CSS: 3.3 - - Custom CSS Variables - - Responsive Design (Mobile-first) - -Libraries: - - Recharts: 2.10.x (Charts & Visualizations) - - xlsx: 0.18.5 (Excel parsing) - - lucide-react: Icons (optional) - -State Management: - - React Hooks (useState, useEffect, useCallback) - - localStorage API - - Session Storage (auth) - -Build Tools: - - ESLint: 9.x - - PostCSS: 8.x - - Autoprefixer -``` - -### Development Environment -```bash -Node.js: 18+ or 20+ -Package Manager: npm (recommended) / yarn / pnpm -Port: 3000 (default) -Browser: Chrome, Firefox, Safari, Edge (latest versions) -``` - ---- - -## 3. Directory Structure - -### Complete Project Structure - -``` -kkp-plus-new/ -├── public/ # Static assets -│ ├── file.svg -│ ├── globe.svg -│ ├── next.svg -│ ├── vercel.svg -│ └── window.svg -│ -├── src/ -│ ├── app/ # Next.js App Router -│ │ ├── page.jsx # Landing page (/) -│ │ ├── layout.js # Root layout -│ │ ├── globals.css # Global styles + Tailwind -│ │ ├── favicon.ico # Site favicon -│ │ │ -│ │ ├── (auth)/ # Auth route group -│ │ │ ├── login/ -│ │ │ │ └── page.jsx # Login page -│ │ │ └── layout.jsx # Auth layout -│ │ │ -│ │ ├── dashboard/ # Dashboard route -│ │ │ ├── page.jsx # Main dashboard with tree diagram -│ │ │ └── layout.jsx # Dashboard layout -│ │ │ -│ │ ├── input-nilai/ -│ │ │ └── page.jsx # Manual input nilai form -│ │ │ -│ │ ├── laporan/ # Laporan CPL -│ │ │ └── page.tsx # Report with CPMK breakdown -│ │ │ -│ │ ├── manajemen/ # Manajemen Data (NEW!) -│ │ │ └── page.tsx # 4 tabs: Import, Mahasiswa, MK, CPL -│ │ │ -│ │ ├── cpl-mapping/ # CPL Pemetaan -│ │ │ └── page.tsx # CPL-MK-CPMK mapping matrix -│ │ │ -│ │ ├── penilaian/ -│ │ │ └── page.jsx # Penilaian module -│ │ │ -│ │ └── pengumuman/ -│ │ └── page.jsx # Announcement page -│ │ -│ ├── components/ # Reusable components -│ │ ├── Navbar.jsx # Top navigation bar -│ │ ├── Sidebar.jsx # Side navigation (6 menus) -│ │ ├── LayoutWrapper.jsx # Layout HOC -│ │ ├── BodyClassManager.jsx # Body class manager -│ │ ├── RadarCPL.jsx # Radar chart component -│ │ ├── CardCPL.jsx # CPL card display -│ │ ├── AdvancedCharts.jsx # Advanced chart components -│ │ ├── SemesterFilter.jsx # Semester filter dropdown -│ │ ├── ProdiSelector.jsx # Prodi selector -│ │ ├── MkGradeInput.jsx # MK grade input form -│ │ └── CpmkBreakdownDisplay.jsx # CPMK breakdown table -│ │ -│ ├── data/ # Data layer -│ │ ├── mock.js # Main mock data (Informatika) -│ │ ├── mock-arsitektur.js # Arsitektur data -│ │ └── kurikulumArsitektur.js # Arsitektur kurikulum -│ │ -│ └── utils/ # Utility functions -│ ├── dataIntegration.ts # Data integration layer (CORE) -│ └── gradeCalculator.js # Grade calculation utilities -│ -├── contoh-import-*.xlsx/csv # Example import files -├── PANDUAN-IMPORT-NILAI.md # Import guide -├── QUICK_START.md # Quick start guide -├── TECHNICAL_DOC.md # This file -├── README.md # Project overview -├── MK_CODES.md # MK codes reference (to be created) -│ -├── package.json # Dependencies -├── package-lock.json # Lock file -├── next.config.mjs # Next.js configuration -├── tailwind.config.js # Tailwind configuration -├── postcss.config.mjs # PostCSS configuration -├── eslint.config.mjs # ESLint configuration -├── jsconfig.json # JavaScript configuration -├── .gitignore # Git ignore rules -└── .next/ # Build output (generated) -``` - -### Key Files Explanation - -#### **src/utils/dataIntegration.ts** (350+ lines) -Core integration layer yang menggabungkan data dari localStorage dan mockData. - -**Key Functions:** -- `getCombinedNilaiData()`: Merge nilai dari localStorage + mockData -- `hitungNilaiCPLPerSemesterIntegrated()`: Kalkulasi CPL dengan weighted average -- `hitungCPMKBreakdownPerCPL()`: Breakdown detail CPMK per CPL -- Priority: localStorage > mockData - -#### **src/app/dashboard/manajemen/page.tsx** (1000+ lines) -Halaman manajemen data dengan 4 tab terintegrasi. - -**Features:** -- Tab Import: Upload Excel/CSV, preview, import -- Tab Mahasiswa: Monitoring mahasiswa dengan nilai -- Tab Mata Kuliah: Statistik per MK -- Tab CPL: Overview pencapaian CPL -- Real-time refresh mechanism - -#### **src/app/dashboard/laporan/page.tsx** (900+ lines) -Laporan CPL dengan expandable CPMK breakdown. - -**Features:** -- Generate laporan per mahasiswa + semester -- Expandable CPL rows -- Detail breakdown: MK → CPMK dengan bobot -- Export PDF/Excel (mockup) - -#### **src/data/mock.js** -Data statis untuk Informatika (69 MK, 8 CPL, 144 SKS). - -**Contains:** -- `prodiData`: 5 Program Studi -- `cplData`: 8 CPL per prodi -- `mahasiswaData`: Daftar mahasiswa -- `mkData`: 69 Mata Kuliah Informatika -- `cpmkData`: CPMK dengan bobot -- `cpmkToCplMapping`: Mapping CPMK → CPL - ---- - -## 4. Data Models - -### TypeScript Interfaces - -```typescript -// ============= CORE ENTITIES ============= - -interface Prodi { - kode: string; // 'INF', 'ARS', 'PWK', 'SIP', 'ELK' - nama: string; // 'S1 Teknik Informatika' - fakultas: string; // 'Teknik' - totalSKS: number; // 144, 145, etc. -} - -interface Mahasiswa { - id: string; - nim: string; // '105841109601' - nama: string; // 'Andi Miftah' - prodiKode: string; // 'INF' - angkatan: string; // '2021' - semester: number; // 1-8 - email?: string; - noHP?: string; -} - -interface CPL { - kode: string; // 'CPL1', 'CPL2', ... - prodiKode: string; // 'INF' - deskripsi: string; // 'Mampu menerapkan pemikiran logis...' - kategori: 'sikap' | 'pengetahuan' | 'keterampilan_umum' | 'keterampilan_khusus'; -} - -interface MataKuliah { - kode: string; // 'INF101', 'ARS201' - nama: string; // 'Pemrograman Web' - sks: number; // 2, 3, 4 - semester: number; // 1-8 - prodiKode: string; // 'INF' - jenis: 'wajib' | 'pilihan'; - prasyarat?: string[]; // ['INF100'] -} - -interface CPMK { - kode: string; // 'CPMK1-1' - mkKode: string; // 'INF101' - deskripsi: string; // 'Memahami konsep dasar web' - bobot: number; // 20 (dalam persen) - urutan: number; // 1, 2, 3, 4 -} - -interface CPMKtoCPLMapping { - cpmkKode: string; // 'CPMK1-1' - cplKode: string; // 'CPL3' - bobot: number; // 30 (kontribusi CPMK terhadap CPL ini) -} - -// ============= NILAI & TRANSACTIONS ============= - -interface NilaiMahasiswa { - id: string; - mahasiswaId: string; - mkKode: string; - semester: string; // '2023/2024 Ganjil' - tahunAjaran: string; // '2023/2024' - nilaiAkhir: number; // 0-100 - nilaiHuruf: string; // 'A', 'B+', 'B', etc. - nilaiCPMK: NilaiCPMK[]; - tanggalInput: string; // ISO date - inputBy: string; // user ID - source: 'manual' | 'import' | 'mock'; -} - -interface NilaiCPMK { - cpmkKode: string; - nilai: number; // 0-100 - bobot: number; // 20 (persen) -} - -interface CPLResult { - cplKode: string; - deskripsi: string; - nilai: number; // 0-100 - status: 'tercapai' | 'cukup' | 'belum_tercapai'; - jumlahCPMK: number; - jumlahMK: number; -} - -// ============= BREAKDOWN & ANALYTICS ============= - -interface CPMKBreakdown { - cplKode: string; - cplDeskripsi: string; - nilaiCPL: number; - mataKuliah: MKBreakdown[]; -} - -interface MKBreakdown { - mkKode: string; - mkNama: string; - mkSKS: number; - bobotMK: number; // 100% / jumlah MK - cpmkList: CPMKDetail[]; - nilaiMK: number; - kontribusiKeCPL: number; -} - -interface CPMKDetail { - cpmkKode: string; - cpmkDeskripsi: string; - bobot: number; // bobot dalam MK - nilai: number; - nilaiTertimbang: number; // nilai × bobot - kontribusiKeCPL: number; // bobotMK × bobot × nilai -} - -// ============= IMPORT DATA ============= - -interface ImportRecord { - nim: string; - nama: string; - [mkKode: string]: number | string; // Dynamic MK columns -} - -interface ImportResult { - total: number; - sukses: number; - gagal: number; - errors: ImportError[]; -} - -interface ImportError { - row: number; - nim: string; - field: string; - message: string; -} - -// ============= USER & AUTH ============= - -interface User { - id: string; - email: string; - nama: string; - role: 'admin' | 'kaprodi' | 'dosen' | 'mahasiswa'; - prodiKode?: string; // for kaprodi -} - -interface LoginCredentials { - email: string; - password: string; -} -``` - -### Database Schema (Future - PostgreSQL) - -```sql --- Prodi -CREATE TABLE prodi ( - kode VARCHAR(3) PRIMARY KEY, - nama VARCHAR(100) NOT NULL, - fakultas VARCHAR(50), - total_sks INTEGER, - created_at TIMESTAMP DEFAULT NOW() -); - --- Mahasiswa -CREATE TABLE mahasiswa ( - id UUID PRIMARY KEY DEFAULT gen_random_uuid(), - nim VARCHAR(20) UNIQUE NOT NULL, - nama VARCHAR(100) NOT NULL, - prodi_kode VARCHAR(3) REFERENCES prodi(kode), - angkatan VARCHAR(4), - semester INTEGER, - email VARCHAR(100), - created_at TIMESTAMP DEFAULT NOW(), - INDEX idx_mahasiswa_nim (nim), - INDEX idx_mahasiswa_prodi (prodi_kode) -); - --- CPL -CREATE TABLE cpl ( - kode VARCHAR(10) PRIMARY KEY, - prodi_kode VARCHAR(3) REFERENCES prodi(kode), - deskripsi TEXT, - kategori VARCHAR(30), - created_at TIMESTAMP DEFAULT NOW() -); - --- Mata Kuliah -CREATE TABLE mata_kuliah ( - kode VARCHAR(10) PRIMARY KEY, - nama VARCHAR(100) NOT NULL, - sks INTEGER, - semester INTEGER, - prodi_kode VARCHAR(3) REFERENCES prodi(kode), - jenis VARCHAR(10), - created_at TIMESTAMP DEFAULT NOW(), - INDEX idx_mk_prodi (prodi_kode), - INDEX idx_mk_semester (semester) -); - --- CPMK -CREATE TABLE cpmk ( - kode VARCHAR(20) PRIMARY KEY, - mk_kode VARCHAR(10) REFERENCES mata_kuliah(kode), - deskripsi TEXT, - bobot INTEGER, - urutan INTEGER, - created_at TIMESTAMP DEFAULT NOW(), - INDEX idx_cpmk_mk (mk_kode) -); - --- CPMK to CPL Mapping -CREATE TABLE cpmk_cpl_mapping ( - id UUID PRIMARY KEY DEFAULT gen_random_uuid(), - cpmk_kode VARCHAR(20) REFERENCES cpmk(kode), - cpl_kode VARCHAR(10) REFERENCES cpl(kode), - bobot INTEGER, - created_at TIMESTAMP DEFAULT NOW(), - INDEX idx_mapping_cpmk (cpmk_kode), - INDEX idx_mapping_cpl (cpl_kode) -); - --- Nilai Mahasiswa -CREATE TABLE nilai_mahasiswa ( - id UUID PRIMARY KEY DEFAULT gen_random_uuid(), - mahasiswa_id UUID REFERENCES mahasiswa(id), - mk_kode VARCHAR(10) REFERENCES mata_kuliah(kode), - semester VARCHAR(20), - tahun_ajaran VARCHAR(10), - nilai_akhir DECIMAL(5,2), - nilai_huruf VARCHAR(2), - source VARCHAR(10), - input_by UUID, - created_at TIMESTAMP DEFAULT NOW(), - updated_at TIMESTAMP DEFAULT NOW(), - INDEX idx_nilai_mahasiswa (mahasiswa_id), - INDEX idx_nilai_mk (mk_kode), - INDEX idx_nilai_semester (semester) -); - --- Nilai CPMK (detail) -CREATE TABLE nilai_cpmk ( - id UUID PRIMARY KEY DEFAULT gen_random_uuid(), - nilai_mahasiswa_id UUID REFERENCES nilai_mahasiswa(id) ON DELETE CASCADE, - cpmk_kode VARCHAR(20) REFERENCES cpmk(kode), - nilai DECIMAL(5,2), - bobot INTEGER, - created_at TIMESTAMP DEFAULT NOW(), - INDEX idx_nilai_cpmk_nilai_id (nilai_mahasiswa_id), - INDEX idx_nilai_cpmk_kode (cpmk_kode) -); -``` - ---- - -## 5. Data Flow & Integration - -### Data Integration Layer Architecture - -``` -┌─────────────────────────────────────────────────────────────┐ -│ dataIntegration.ts (Core Module) │ -├─────────────────────────────────────────────────────────────┤ -│ │ -│ ┌───────────────┐ ┌──────────────┐ │ -│ │ localStorage │ │ mockData.ts │ │ -│ │ (User Input) │ │ (Static) │ │ -│ └───────┬───────┘ └──────┬───────┘ │ -│ │ │ │ -│ └────────┬───────────────┘ │ -│ ↓ │ -│ getCombinedNilaiData() │ -│ ↓ │ -│ [Merge with Priority: localStorage > mock] │ -│ ↓ │ -│ ┌─────────────┴─────────────┐ │ -│ ↓ ↓ │ -│ hitungNilaiCPL hitungCPMKBreakdown │ -│ PerSemester PerCPL │ -│ ↓ ↓ │ -│ CPL Results Detailed Breakdown │ -│ (aggregated) (MK → CPMK → CPL) │ -│ │ -└─────────────────────────────────────────────────────────────┘ -``` - -### Integration Functions - -#### 1. **getCombinedNilaiData()** -Menggabungkan data nilai dari localStorage dan mockData. - -```typescript -export function getCombinedNilaiData(): NilaiMahasiswa[] { - // 1. Load dari localStorage - const localData = loadNilaiFromLocalStorage(); - - // 2. Load mockData - const mockData = nilaiMahasiswaData; - - // 3. Merge dengan priority localStorage - const combined = [...localData]; - - mockData.forEach(mock => { - const exists = combined.find( - c => c.mahasiswaId === mock.mahasiswaId && - c.mkKode === mock.mkKode - ); - if (!exists) { - combined.push({ ...mock, source: 'mock' }); - } - }); - - return combined; -} -``` - -#### 2. **hitungNilaiCPLPerSemesterIntegrated()** -Kalkulasi CPL menggunakan weighted average dari CPMK. - -```typescript -export function hitungNilaiCPLPerSemesterIntegrated( - mahasiswaId: string, - semester: number -): CPLResult[] { - // 1. Get combined data - const allNilai = getCombinedNilaiData(); - - // 2. Filter by mahasiswa & semester - const nilaiMhs = allNilai.filter( - n => n.mahasiswaId === mahasiswaId && - getMKSemester(n.mkKode) === semester - ); - - // 3. Initialize CPL accumulator - const cplScores: Map = new Map(); - - // 4. Process each nilai - nilaiMhs.forEach(nilai => { - // Get MK bobot (100% / jumlah MK per CPL) - const mkCount = getMKCountPerCPL(nilai.mkKode); - const bobotMK = 100 / mkCount; - - // Process each CPMK - nilai.nilaiCPMK.forEach(nc => { - // Get CPMK bobot dalam MK - const cpmk = getCPMK(nc.cpmkKode); - const bobotCPMK = cpmk.bobot; - - // Get CPL mappings - const mappings = getCPLMappings(nc.cpmkKode); - - mappings.forEach(mapping => { - if (!cplScores.has(mapping.cplKode)) { - cplScores.set(mapping.cplKode, { - totalNilai: 0, - totalBobot: 0, - jumlahCPMK: 0, - jumlahMK: 0 - }); - } - - const score = cplScores.get(mapping.cplKode)!; - - // Calculate weighted contribution - // Kontribusi = Nilai × (BobotMK / 100) × (BobotCPMK / 100) - const kontribusi = nc.nilai * (bobotMK / 100) * (bobotCPMK / 100); - - score.totalNilai += kontribusi; - score.totalBobot += (bobotMK / 100) * (bobotCPMK / 100); - score.jumlahCPMK++; - }); - }); - }); - - // 5. Calculate final CPL scores - return Array.from(cplScores.entries()).map(([cplKode, score]) => { - const nilai = score.totalBobot > 0 - ? Math.round(score.totalNilai / score.totalBobot) - : 0; - - return { - cplKode, - deskripsi: getCPLDescription(cplKode), - nilai, - status: getStatus(nilai), - jumlahCPMK: score.jumlahCPMK, - jumlahMK: score.jumlahMK - }; - }); -} -``` - -#### 3. **hitungCPMKBreakdownPerCPL()** -Breakdown detail kontribusi MK dan CPMK ke CPL. - -```typescript -export function hitungCPMKBreakdownPerCPL( - mahasiswaId: string, - semester: number -): CPMKBreakdown[] { - // Similar logic to hitungNilaiCPL but returns detailed breakdown - // Returns structure: CPL → MK → CPMK with all calculations - - const breakdowns: CPMKBreakdown[] = []; - - // Group by CPL - cplData.forEach(cpl => { - const mkList: MKBreakdown[] = []; - - // Get all MK that contribute to this CPL - const relevantMK = getMKForCPL(cpl.kode, semester); - - relevantMK.forEach(mk => { - const cpmkList: CPMKDetail[] = []; - - // Get CPMK for this MK - const cpmks = getCPMKForMK(mk.kode); - - cpmks.forEach(cpmk => { - // Get nilai for this CPMK - const nilaiCPMK = getNilaiCPMK(mahasiswaId, cpmk.kode); - - cpmkList.push({ - cpmkKode: cpmk.kode, - cpmkDeskripsi: cpmk.deskripsi, - bobot: cpmk.bobot, - nilai: nilaiCPMK, - nilaiTertimbang: nilaiCPMK * (cpmk.bobot / 100), - kontribusiKeCPL: calculateContribution(nilaiCPMK, cpmk, mk, cpl) - }); - }); - - mkList.push({ - mkKode: mk.kode, - mkNama: mk.nama, - mkSKS: mk.sks, - bobotMK: 100 / relevantMK.length, - cpmkList, - nilaiMK: calculateNilaiMK(cpmkList), - kontribusiKeCPL: calculateMKContribution(cpmkList) - }); - }); - - breakdowns.push({ - cplKode: cpl.kode, - cplDeskripsi: cpl.deskripsi, - nilaiCPL: calculateCPLFromMK(mkList), - mataKuliah: mkList - }); - }); - - return breakdowns; -} -``` - -### localStorage Structure - -```typescript -// Key: 'cpl_nilai_mahasiswa' -// Value: JSON string of NilaiMahasiswa[] - -interface LocalStorageNilai { - version: string; // '1.0' - lastUpdate: string; // ISO date - data: NilaiMahasiswa[]; -} - -// Example: -localStorage.setItem('cpl_nilai_mahasiswa', JSON.stringify({ - version: '1.0', - lastUpdate: '2025-11-27T10:30:00Z', - data: [ - { - id: 'uuid-1', - mahasiswaId: '1', - mkKode: 'INF101', - semester: '2023/2024 Ganjil', - tahunAjaran: '2023/2024', - nilaiAkhir: 85, - nilaiHuruf: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK1-1', nilai: 85, bobot: 20 }, - { cpmkKode: 'CPMK1-2', nilai: 90, bobot: 30 } - ], - tanggalInput: '2025-11-27T10:30:00Z', - inputBy: 'user-1', - source: 'manual' - } - ] -})); -``` - ---- - -## 6. Calculation Algorithms - -### Weighted Average CPL Calculation - -**Formula:** - -``` -Nilai CPL = Σ (Nilai CPMK × Bobot MK × Bobot CPMK) / Σ (Bobot MK × Bobot CPMK) - -Where: -- Bobot MK = 100% / Jumlah MK yang berkontribusi ke CPL -- Bobot CPMK = Bobot CPMK dalam MK (%) -- Nilai CPMK = Nilai yang diinput (0-100) -``` - -**Example Calculation:** - -``` -CPL3: Mampu menerapkan pemikiran logis - -MK1: Pemrograman Web (INF101) - - Jumlah MK untuk CPL3 = 8 - - Bobot MK1 = 100% / 8 = 12.5% - - CPMK1-1: Nilai = 85, Bobot = 20% - - Kontribusi ke CPL3 = 85 × 0.125 × 0.20 = 2.125 - - CPMK1-2: Nilai = 90, Bobot = 30% - - Kontribusi ke CPL3 = 90 × 0.125 × 0.30 = 3.375 - -MK2: Struktur Data (INF102) - - Bobot MK2 = 12.5% - - CPMK2-1: Nilai = 78, Bobot = 25% - - Kontribusi ke CPL3 = 78 × 0.125 × 0.25 = 2.4375 - - ... (continue for all MK) - -Total Kontribusi = Σ semua kontribusi CPMK -Total Bobot = Σ (Bobot MK × Bobot CPMK) - -Nilai CPL3 = Total Kontribusi / Total Bobot -``` - -### Status Classification - -```typescript -function getStatus(nilai: number): 'tercapai' | 'cukup' | 'belum_tercapai' { - if (nilai >= 75) return 'tercapai'; - if (nilai >= 60) return 'cukup'; - return 'belum_tercapai'; -} - -// Color coding -const statusColors = { - tercapai: 'green', // #10b981 - cukup: 'yellow', // #f59e0b - belum_tercapai: 'red' // #ef4444 -}; -``` - -### Grade Conversion - -```typescript -function convertToGrade(nilai: number): string { - if (nilai >= 85) return 'A'; - if (nilai >= 80) return 'A-'; - if (nilai >= 75) return 'B+'; - if (nilai >= 70) return 'B'; - if (nilai >= 65) return 'B-'; - if (nilai >= 60) return 'C+'; - if (nilai >= 55) return 'C'; - if (nilai >= 50) return 'C-'; - if (nilai >= 45) return 'D'; - return 'E'; -} -``` - ---- - -## 7. Component Architecture - -### Component Hierarchy - -``` -App (layout.js) -├── Navbar -│ ├── Logo -│ ├── ProdiName -│ └── UserMenu -│ ├── Profile -│ └── Logout -│ -├── Sidebar -│ ├── MenuItem (Dashboard) -│ ├── MenuItem (Input Nilai) -│ ├── MenuItem (Laporan) -│ ├── MenuItem (Manajemen Data) ← NEW! -│ ├── MenuItem (CPL & Pemetaan) -│ └── MenuItem (Settings) -│ -└── Main Content - │ - ├── Page: Dashboard - │ ├── TreeDiagram (CPL-MK-CPMK) - │ ├── StatCards (4 cards) - │ ├── RadarCPL (8 CPL) - │ └── BarChart (Trend) - │ - ├── Page: Input Nilai - │ ├── MahasiswaSelector - │ ├── MKSelector - │ ├── MkGradeInput - │ │ └── CPMKInputTable - │ └── SaveButton - │ - ├── Page: Laporan - │ ├── FilterSection - │ │ ├── MahasiswaDropdown - │ │ └── SemesterFilter - │ ├── GenerateButton - │ ├── CPLTable (Expandable) - │ │ └── CpmkBreakdownDisplay - │ │ ├── MKCard (multiple) - │ │ └── CPMKTable (per MK) - │ ├── RadarCPL - │ └── ExportButtons - │ - ├── Page: Manajemen Data ← NEW! - │ ├── TabNavigation (4 tabs) - │ ├── Tab: Import Nilai - │ │ ├── FilterSection (Prodi, Semester) - │ │ ├── FileUpload (drag & drop) - │ │ ├── PreviewTable - │ │ ├── ImportButton - │ │ └── ResultStats - │ ├── Tab: Mahasiswa - │ │ ├── FilterSection (Prodi) - │ │ ├── RefreshButton - │ │ ├── StatCards (3 cards) - │ │ └── MahasiswaTable - │ ├── Tab: Mata Kuliah - │ │ ├── FilterSection (Prodi, Semester) - │ │ ├── RefreshButton - │ │ └── MKGrid - │ │ └── MKCard (multiple) - │ │ ├── MKInfo - │ │ ├── Statistics - │ │ └── ProgressBar - │ └── Tab: CPL & CPMK - │ ├── FilterSection (Prodi, Semester) - │ ├── RefreshButton - │ ├── SummaryCards (3 cards) - │ ├── InfoBox (Calculation explanation) - │ └── CPLTable - │ └── DistributionBadges - │ - ├── Page: CPL & Pemetaan - │ ├── MatrixView (CPL × MK × CPMK) - │ └── MappingTable - │ - └── Page: Pengumuman - └── AnnouncementList -``` - -### Key Component Props - -```typescript -// Navbar.jsx -interface NavbarProps { - user: User; - prodiName: string; - onLogout: () => void; -} - -// Sidebar.jsx -interface SidebarProps { - activeMenu: string; - onNavigate: (path: string) => void; -} - -// RadarCPL.jsx -interface RadarCPLProps { - data: CPLResult[]; - width?: number; - height?: number; - showLegend?: boolean; -} - -// CpmkBreakdownDisplay.jsx -interface CpmkBreakdownDisplayProps { - breakdown: CPMKBreakdown; - expanded: boolean; - onToggle: () => void; -} - -// MkGradeInput.jsx -interface MkGradeInputProps { - mkKode: string; - cpmkList: CPMK[]; - onSave: (nilai: NilaiCPMK[]) => void; -} -``` - ---- - -## 8. State Management - -### React State Patterns - -```typescript -// Dashboard Page State -const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); -const [cplResults, setCplResults] = useState([]); -const [expandedCPL, setExpandedCPL] = useState([]); - -// Manajemen Page State -const [activeTab, setActiveTab] = useState<'import' | 'mahasiswa' | 'mk' | 'cpl'>('import'); -const [selectedProdi, setSelectedProdi] = useState('INF'); -const [selectedSemester, setSelectedSemester] = useState(1); -const [refreshData, setRefreshData] = useState(0); -const [uploadedFile, setUploadedFile] = useState(null); -const [previewData, setPreviewData] = useState([]); - -// Laporan Page State -const [laporanData, setLaporanData] = useState(null); -const [expandedCPL, setExpandedCPL] = useState>(new Set()); -const [loading, setLoading] = useState(false); -``` - -### State Update Patterns - -```typescript -// Refresh mechanism -const handleRefresh = () => { - setRefreshData(prev => prev + 1); -}; - -useEffect(() => { - // Re-fetch data when refreshData changes - loadData(); -}, [refreshData]); - -// Toggle expansion -const toggleCPL = (cplKode: string) => { - setExpandedCPL(prev => { - const newSet = new Set(prev); - if (newSet.has(cplKode)) { - newSet.delete(cplKode); - } else { - newSet.add(cplKode); - } - return newSet; - }); -}; - -// File upload handling -const handleFileChange = (event: React.ChangeEvent) => { - const file = event.target.files?.[0]; - if (file) { - setUploadedFile(file); - parseAndPreview(file); - } -}; -``` - ---- - -## 9. API & Functions Reference - -### Data Integration Functions - -```typescript -// src/utils/dataIntegration.ts - -/** - * Get combined nilai data from localStorage and mockData - * Priority: localStorage > mockData - */ -export function getCombinedNilaiData(): NilaiMahasiswa[] - -/** - * Calculate CPL values for a mahasiswa in a specific semester - * Using weighted average of CPMK contributions - */ -export function hitungNilaiCPLPerSemesterIntegrated( - mahasiswaId: string, - semester: number -): CPLResult[] - -/** - * Get detailed CPMK breakdown per CPL - * Returns MK → CPMK hierarchy with all calculations - */ -export function hitungCPMKBreakdownPerCPL( - mahasiswaId: string, - semester: number -): CPMKBreakdown[] - -/** - * Save nilai to localStorage - */ -export function saveNilai(nilai: NilaiMahasiswa): void - -/** - * Load nilai from localStorage - */ -export function loadNilaiFromLocalStorage(): NilaiMahasiswa[] - -/** - * Clear all nilai from localStorage - */ -export function clearNilai(): void -``` - -### Mock Data Functions - -```typescript -// src/data/mock.js - -/** - * Get mahasiswa by prodi - */ -export function getMahasiswaByProdi(prodiKode: string): Mahasiswa[] - -/** - * Get MK by prodi and semester - */ -export function getMKByProdiSemester(prodiKode: string, semester: number): MataKuliah[] - -/** - * Get CPMK for a specific MK - */ -export function getCPMKForMK(mkKode: string): CPMK[] - -/** - * Get CPL mappings for a CPMK - */ -export function getCPLMappings(cpmkKode: string): CPMKtoCPLMapping[] - -/** - * Get CPL data for a prodi - */ -export function getCPLByProdi(prodiKode: string): CPL[] -``` - -### Excel/CSV Parsing Functions - -```typescript -// In manajemen/page.tsx - -/** - * Parse Excel file using xlsx library - */ -async function parseExcel(file: File): Promise - -/** - * Parse CSV file - */ -async function parseCSV(file: File): Promise - -/** - * Validate import data - */ -function validateImportData(data: ImportRecord[]): { - valid: ImportRecord[]; - errors: ImportError[]; -} - -/** - * Import data to localStorage - */ -async function importData( - data: ImportRecord[], - prodiKode: string, - semester: number -): Promise -``` - ---- - -## 10. Security - -### Current Implementation (Development) - -```typescript -// Authentication (Session Storage) -const loginUser = (credentials: LoginCredentials) => { - const user = validateCredentials(credentials); - if (user) { - sessionStorage.setItem('user', JSON.stringify(user)); - return true; - } - return false; -}; - -// Check auth -const checkAuth = () => { - const userStr = sessionStorage.getItem('user'); - return userStr ? JSON.parse(userStr) : null; -}; - -// Logout -const logout = () => { - sessionStorage.removeItem('user'); - window.location.href = '/login'; -}; -``` - -### Production Requirements - -```typescript -// 1. JWT Authentication -import jwt from 'jsonwebtoken'; - -const generateToken = (user: User) => { - return jwt.sign( - { id: user.id, email: user.email, role: user.role }, - process.env.JWT_SECRET!, - { expiresIn: '24h' } - ); -}; - -// 2. Password Hashing -import bcrypt from 'bcryptjs'; - -const hashPassword = async (password: string) => { - const salt = await bcrypt.genSalt(10); - return bcrypt.hash(password, salt); -}; - -const comparePassword = async (password: string, hash: string) => { - return bcrypt.compare(password, hash); -}; - -// 3. API Route Protection -// middleware.ts -export function middleware(request: NextRequest) { - const token = request.cookies.get('token')?.value; - - if (!token) { - return NextResponse.redirect(new URL('/login', request.url)); - } - - try { - jwt.verify(token, process.env.JWT_SECRET!); - return NextResponse.next(); - } catch { - return NextResponse.redirect(new URL('/login', request.url)); - } -} - -// 4. CORS Configuration -// next.config.mjs -const nextConfig = { - async headers() { - return [ - { - source: '/api/:path*', - headers: [ - { key: 'Access-Control-Allow-Credentials', value: 'true' }, - { key: 'Access-Control-Allow-Origin', value: process.env.ALLOWED_ORIGIN }, - { key: 'Access-Control-Allow-Methods', value: 'GET,POST,PUT,DELETE' }, - ], - }, - ]; - }, -}; - -// 5. Input Sanitization -import DOMPurify from 'isomorphic-dompurify'; - -const sanitizeInput = (input: string) => { - return DOMPurify.sanitize(input); -}; - -// 6. Rate Limiting (API Routes) -import rateLimit from 'express-rate-limit'; - -const limiter = rateLimit({ - windowMs: 15 * 60 * 1000, // 15 minutes - max: 100 // limit each IP to 100 requests per windowMs -}); -``` - -### Security Checklist - -- [ ] Implement JWT authentication -- [ ] Hash passwords with bcrypt -- [ ] Add CSRF protection -- [ ] Implement rate limiting -- [ ] Sanitize all user inputs -- [ ] Add XSS protection headers -- [ ] Use HTTPS in production -- [ ] Validate file uploads (type, size) -- [ ] Implement role-based access control (RBAC) -- [ ] Add audit logging -- [ ] Secure environment variables -- [ ] Add SQL injection prevention (prepared statements) - ---- - -## 11. Performance - -### Current Optimizations - -```typescript -// 1. React.memo for expensive components -import { memo } from 'react'; - -export const RadarCPL = memo(({ data }) => { - // Expensive chart rendering -}, (prevProps, nextProps) => { - return prevProps.data === nextProps.data; -}); - -// 2. useMemo for expensive calculations -const cplResults = useMemo(() => { - return hitungNilaiCPLPerSemesterIntegrated(mahasiswaId, semester); -}, [mahasiswaId, semester]); - -// 3. useCallback for event handlers -const handleRefresh = useCallback(() => { - setRefreshData(prev => prev + 1); -}, []); - -// 4. Lazy loading components -const LaporanPage = lazy(() => import('./app/dashboard/laporan/page')); - -// 5. Next.js automatic code splitting -// Already enabled by default - -// 6. Image optimization -import Image from 'next/image'; -Logo -``` - -### Future Optimizations - -```typescript -// 1. React Query for server state -import { useQuery, useMutation } from '@tanstack/react-query'; - -const { data, isLoading } = useQuery({ - queryKey: ['nilai', mahasiswaId], - queryFn: () => fetchNilai(mahasiswaId), - staleTime: 5 * 60 * 1000, // 5 minutes -}); - -// 2. Virtual scrolling for large tables -import { useVirtualizer } from '@tanstack/react-virtual'; - -const rowVirtualizer = useVirtualizer({ - count: data.length, - getScrollElement: () => parentRef.current, - estimateSize: () => 50, -}); - -// 3. Debounce search inputs -import { useDebouncedValue } from '@mantine/hooks'; - -const [search, setSearch] = useState(''); -const [debounced] = useDebouncedValue(search, 300); - -// 4. Pagination for large datasets -const [page, setPage] = useState(1); -const pageSize = 20; -const paginatedData = data.slice((page - 1) * pageSize, page * pageSize); - -// 5. Service Worker for offline support -// public/sw.js -self.addEventListener('install', (event) => { - event.waitUntil( - caches.open('cpl-v1').then((cache) => { - return cache.addAll([ - '/', - '/dashboard', - '/static/css/main.css', - ]); - }) - ); -}); -``` - -### Performance Metrics - -```bash -# Lighthouse scores (target) -Performance: > 90 -Accessibility: > 95 -Best Practices: > 90 -SEO: > 90 - -# Core Web Vitals (target) -LCP (Largest Contentful Paint): < 2.5s -FID (First Input Delay): < 100ms -CLS (Cumulative Layout Shift): < 0.1 -``` - ---- - -## 12. Testing - -### Unit Tests (Jest + React Testing Library) - -```typescript -// __tests__/utils/dataIntegration.test.ts -import { hitungNilaiCPLPerSemesterIntegrated } from '@/utils/dataIntegration'; - -describe('hitungNilaiCPLPerSemesterIntegrated', () => { - test('should calculate CPL correctly', () => { - const result = hitungNilaiCPLPerSemesterIntegrated('1', 1); - - expect(result).toHaveLength(8); - expect(result[0]).toHaveProperty('cplKode'); - expect(result[0]).toHaveProperty('nilai'); - expect(result[0].nilai).toBeGreaterThanOrEqual(0); - expect(result[0].nilai).toBeLessThanOrEqual(100); - }); - - test('should return correct status', () => { - const result = hitungNilaiCPLPerSemesterIntegrated('1', 1); - const cpl75 = result.find(r => r.nilai >= 75); - - expect(cpl75?.status).toBe('tercapai'); - }); -}); - -// __tests__/components/RadarCPL.test.tsx -import { render, screen } from '@testing-library/react'; -import RadarCPL from '@/components/RadarCPL'; - -describe('RadarCPL', () => { - const mockData = [ - { cplKode: 'CPL1', nilai: 80 }, - { cplKode: 'CPL2', nilai: 75 }, - ]; - - test('renders radar chart', () => { - render(); - expect(screen.getByRole('img')).toBeInTheDocument(); - }); -}); -``` - -### Integration Tests (Playwright) - -```typescript -// e2e/login.spec.ts -import { test, expect } from '@playwright/test'; - -test('user can login and view dashboard', async ({ page }) => { - await page.goto('http://localhost:3000/login'); - - // Fill login form - await page.fill('input[type="email"]', 'kaprodi.informatika@unismuh.ac.id'); - await page.fill('input[type="password"]', 'kaprodi123'); - await page.click('button[type="submit"]'); - - // Check redirect to dashboard - await expect(page).toHaveURL(/.*dashboard/); - - // Check dashboard content - await expect(page.locator('text=Dashboard CPL')).toBeVisible(); -}); - -// e2e/import.spec.ts -test('user can import nilai from Excel', async ({ page }) => { - await page.goto('http://localhost:3000/dashboard/manajemen'); - - // Go to Import tab - await page.click('text=Import Nilai'); - - // Upload file - await page.setInputFiles('input[type="file"]', 'contoh-import-informatika-sem1.xlsx'); - - // Wait for preview - await expect(page.locator('text=Preview Data')).toBeVisible(); - - // Click import - await page.click('button:has-text("Import Data")'); - - // Check success message - await expect(page.locator('text=Import berhasil')).toBeVisible(); -}); -``` - -### Test Commands - -```bash -# Run unit tests -npm run test - -# Run tests in watch mode -npm run test:watch - -# Run tests with coverage -npm run test:coverage - -# Run E2E tests -npm run test:e2e - -# Run E2E tests in UI mode -npm run test:e2e:ui -``` - ---- - -## 13. Deployment - -### Vercel Deployment (Recommended) - -```bash -# 1. Install Vercel CLI -npm i -g vercel - -# 2. Login -vercel login - -# 3. Deploy (preview) -vercel - -# 4. Deploy (production) -vercel --prod -``` - -### Environment Variables - -```bash -# .env.local (development) -NEXT_PUBLIC_APP_URL=http://localhost:3000 -NEXT_PUBLIC_API_URL=http://localhost:3000/api - -# .env.production (production) -NEXT_PUBLIC_APP_URL=https://cpl.unismuh.ac.id -NEXT_PUBLIC_API_URL=https://cpl.unismuh.ac.id/api -DATABASE_URL=postgresql://user:pass@host:5432/cpl -JWT_SECRET=your-production-secret -SMTP_HOST=smtp.gmail.com -SMTP_PORT=587 -SMTP_USER=no-reply@unismuh.ac.id -SMTP_PASS=your-smtp-password -``` - -### Docker Deployment - -```dockerfile -# Dockerfile -FROM node:18-alpine AS builder - -WORKDIR /app - -COPY package*.json ./ -RUN npm ci - -COPY . . -RUN npm run build - -FROM node:18-alpine AS runner - -WORKDIR /app - -ENV NODE_ENV production - -COPY --from=builder /app/public ./public -COPY --from=builder /app/.next/standalone ./ -COPY --from=builder /app/.next/static ./.next/static - -EXPOSE 3000 - -ENV PORT 3000 - -CMD ["node", "server.js"] -``` - -```yaml -# docker-compose.yml -version: '3.8' - -services: - app: - build: . - ports: - - "3000:3000" - environment: - - DATABASE_URL=postgresql://postgres:postgres@db:5432/cpl - - JWT_SECRET=your-secret - depends_on: - - db - - db: - image: postgres:15-alpine - environment: - - POSTGRES_USER=postgres - - POSTGRES_PASSWORD=postgres - - POSTGRES_DB=cpl - volumes: - - postgres_data:/var/lib/postgresql/data - ports: - - "5432:5432" - -volumes: - postgres_data: -``` - -```bash -# Build and run -docker-compose up -d - -# Stop -docker-compose down - -# Logs -docker-compose logs -f -``` - -### Production Checklist - -- [ ] Set all environment variables -- [ ] Enable HTTPS/SSL -- [ ] Configure database backups -- [ ] Set up monitoring (Sentry, LogRocket) -- [ ] Configure CDN for static assets -- [ ] Enable compression (gzip/brotli) -- [ ] Set up error logging -- [ ] Configure rate limiting -- [ ] Add health check endpoints -- [ ] Set up CI/CD pipeline -- [ ] Configure database migrations -- [ ] Add analytics (Google Analytics, Plausible) - ---- - -## 📚 Resources & References - -### Documentation -- [Next.js 14 Documentation](https://nextjs.org/docs) -- [React 19 Documentation](https://react.dev) -- [TypeScript Handbook](https://www.typescriptlang.org/docs/) -- [Tailwind CSS](https://tailwindcss.com/docs) -- [Recharts](https://recharts.org/en-US/) -- [SheetJS (xlsx)](https://docs.sheetjs.com/) - -### Tools -- [Next.js DevTools](https://nextjs.org/docs/app/building-your-application/optimizing/development-tools) -- [React DevTools](https://react.dev/learn/react-developer-tools) -- [Lighthouse](https://developers.google.com/web/tools/lighthouse) -- [Vercel Analytics](https://vercel.com/analytics) - -### GitHub Repository -- **Main Repository**: https://github.com/Nur-Hidayat-FTI22E/CPL_Sign.git -- **Branch**: FR_branch (Feature Release) -- **Contributors**: [See repository] - ---- - -## 🔄 Version History - -| Version | Date | Description | -|---------|------|-------------| -| 1.0 | Oktober 2024 | Initial release with basic CPL system | -| 1.5 | November 2024 | Added CPMK breakdown in Laporan | -| 2.0 | November 2025 | **Major update**: Import feature, Manajemen Data tabs, Full integration, 5 prodi support | - ---- - -## 👥 Development Team - -**Developer**: [Your Name] -**Institution**: Universitas Muhammadiyah Makassar -**Faculty**: Teknik -**Contact**: [Contact Info] - ---- - -## 📝 Notes - -### Known Issues -- Export PDF/Excel fitur masih mockup (belum terimplementasi) -- Data masih menggunakan localStorage (belum database) -- Autentikasi menggunakan session storage (demo mode) - -### Future Enhancements -- [ ] Backend API integration (Express/NestJS) -- [ ] Database integration (PostgreSQL) -- [ ] Real authentication (JWT) -- [ ] Email notifications -- [ ] Real-time collaboration -- [ ] Advanced analytics dashboard -- [ ] Mobile app (React Native) -- [ ] Export implementasi (jsPDF, xlsx) -- [ ] Bulk operations -- [ ] Audit trail - ---- - -**© 2025 Universitas Muhammadiyah Makassar** - -*Dokumentasi ini akan diperbarui seiring pengembangan sistem.* - -**Last Updated**: 27 November 2025 -**Version**: 2.0 diff --git a/FrontEnd/contoh-import-arsitektur-sem2.csv b/FrontEnd/contoh-import-arsitektur-sem2.csv deleted file mode 100644 index 83ede01..0000000 --- a/FrontEnd/contoh-import-arsitektur-sem2.csv +++ /dev/null @@ -1,11 +0,0 @@ -NIM,Nama,ARS201,ARS202,ARS203,ARS204,ARS205,ARS206,ARS207,ARS208,ARS209 -2023001,Budi Hartono,85,88,82,80,87,84,86,83,85 -2023002,Citra Maharani,90,92,88,85,91,89,90,87,89 -2023003,Dedi Sutrisno,78,80,75,77,79,76,78,74,77 -2023004,Eka Wulandari,88,90,86,84,89,87,88,85,87 -2023005,Fajar Nugroho,82,85,80,78,83,81,82,79,81 -2023006,Gina Puspita,92,94,90,88,93,91,92,89,91 -2023007,Hadi Wijaya,80,82,78,76,81,79,80,77,79 -2023008,Ika Suryani,86,89,84,82,87,85,86,83,85 -2023009,Joko Prasetyo,79,81,77,75,80,78,79,76,78 -2023010,Kartika Sari,94,96,92,90,95,93,94,91,93 diff --git a/FrontEnd/contoh-import-arsitektur-sem2.xlsx b/FrontEnd/contoh-import-arsitektur-sem2.xlsx deleted file mode 100644 index a2d3ae348a1338f421fb8513c567c2c67e12f8bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19243 zcmeHP+ix_^4$aCP02lf&{g7$?MBp&#ks_IMCw6C89 z3amfPH{GYtId#sdb55PA>YBs-k3IWyQ`z5NKJ&Y8|LspqP0{BU0le_)uf*I->gQp6 z+7H9inG4^WA;|h?aAlqGIB~;Zqt=+2tyw&ea%`J)|%xjKm8;#BE*tf2|Dj4=F>EUV7-!+#2%!Iuk5BX!Fz; z2RvmCOIaa>uOOKmbdB=kv1ZhG5+lzY?JY1tdXs|Wsv_W6VWwPbP z)*18QyKdlw=g0g4{_L?N#eD=q{`- zw{!ji!AmFcI-Sl|r;+m$2+X#jsg$M6bD_J^Xk|Q0Nb+)$_txyyUVLf3p&0)8hLJT zI)P0c+U+XtIm#gPb}G?VfW9)T& z-u?2I-+ldWBrlC{hXunj;Say@hd=s@*Q|g0&ewnV<{ww%BefL`z5mx=eedu8s2ULw zR3LuvCvW}WyKjB)r+@IT-+Z$IeKThLGWxOW^Tc}0&#j}-hi<|!y5zhc-;LsU#9WPn zjljEtbtfHZh>tIsSB2N&y78XGNFG&)+v5{W*4`){r*1{d`y*dNJP1Rt6~>hY*r&Ei z7Cs&a!|KN4aT)K3v9qeSw^*QcZD$-IYi3TV*?w!pH8Br87NjUa0-jp*EIj4BLc7np zu4dN**N(#^9HiD~U8}|1N|PMBea(>yq8-;qzg$-7jIP#fbMVA!gA|RM3 zR%AHmA$H6?&5YY@oHD@P70*X349l49@N{d${HO}I=LVxP?rw4l7iHFAh+<(QM2Q6g&Z1Ot%M1(4{(vI@^9V$lef6v=2n!yCp-&{%Pp zzT~E(-iXlxN<&N|hlyf6Ospuxn$4^LSMsJtQTwNIwz)|25Scj=mL7zT1kV#Vn{MQ6 zgj7Q@r_CCgCkD4|Y<^iWg>Lt0tU*HEy0wN7O(aFFwOnN~v6z>`H_=w)Md@$g4TJG!;gls2oRVEC_DUW+2=iKUh)Fg}f|6D|2 zExmA&^nyGaBg=}=gQ7}W$f80U{8m?0Q}-0%HUn^Jtd$vSLgTr`OgQx7q{aZ|^-P3y zAdCLP_~*v9$AufyfO;GrA-7uCevtOF;MLQV)!;#tAmvpbb&mu}XChY8w5m8It7U`r z16M(LyN0nzvfK3c9gUqAQF?P)EIy>Mm4!81OW2jBM$eid3eX^%hlq|58(rnSsIY&6 zj&5Vsf9%QKsU*Ukh=b@b7T(nlolAA;C33)(UPp5n!t{b8KCoQpBAb8YmXIMNcSy1l zSzr?xIa*FQUo~ma2^Bt(%F!|>p1YYirw}b8W#`0VL9L1b_QzD>rl}q9Ws;RzQ*dRL z@`9%^*)4>xHd*D&=e8!36UA#g>K-ObFRnM4vJ{Lr>3G=Tj2Wh0J&}Jg=txf&E^BND zzxW@|zWKRlr>5xhak(9wh)r(VOuqj{u;9_7?dsdV>ySh-XO4KQK;I1(Z%eG5A#vXC zr3NRo592UOo*ZLSE`fgrW54UCiDif509>g9CCHLr^e)BXQq7WYVr+#DmIHqE3*#{T zwfEls%KN|nM*Y3FzltwQ!bT(c{lTBTE-!pve!u_5@5zfKk>5Y~#@7^$hz2D_bDe@h zlZF7z_2g9<^bN7KYKLAJTcQuuB$;-}CB_!E3e;lt02>$Hr34E)>6j8A1C+c$wjjQ+ z>OlD*7l5LO0L^ubLMZivE^cUWqiZtZMlHb0EkXr}cLO%Yt;+_cjiOz_xK0#kw;#q1 zUZyE`gakF$Jw70}MO8PV?=+0?e?Lsq(8q=2vSAo750~|fLS2BZ%~f^v@<8K#F(`E~ z#$Pf5^)+2WAayDE$s6Kd<|cVRHCyXqpc-RQ zZ$3OGVr)(2jQeBPLzz{f26#Fbg<-@HpR&HkMM0Xk0;4!`Fgwm4Zq$nF1MawEe>KNC zbk9OLq;1rSYl*cW`o2gCMiTn|x4-gBKmCcRDf;|^OhT3K8Qni0_enGkzs=jgEf+RENZqX$Lj=Fc0%SFhrz?J841W)^YQM%di{)CTs?0Y&zaA3ge@Im^QbpB+t5+k6)1B$3f^-miy^qo z>nPm{lm#7Sy8>lVN7<=BS<+E20%bKvsiPnA&Y<)vJ7Z3>!rbf} zN@K&AEgh#dc3f+R#c3FXId{Qqi`bquR}2HR71$8BqrgVLbQO43=e@1KhFNwL*yxsB z1vc!wr@%%(?<;U2w`MG=Wu>w39$(3GrLhe0TRP5`iz>)EU?YaDcUM=4wVH}Rk#6^5zEhFUG z3T*K0D6rvjT?sZFbX#E?j=!V8Mu6@rup!Bw;%%6Ge}ai-t>xTW%N5o#I=iLgY`X#8 zx)~>to0`Kfu|?W4L~JXt;Vc~mHjO30rhjfLY|~f@Y#K{}4N3MCZ_`*4Of+My=`9^+7fGu(#%pF1!y$2ntqe8W3T)`pQDDQ}x(aMq zc3XiBHFp%)2=HA6HYC|oV8c20CzxoqYS6llEFW+=X)QyqmVvYvo`%+8%o3hnnpsP* z#*k>RXe;=N;TfF_->^bAgBxbp&iEKUvyUoeXYx&~64d zfA-_imE=K8&q5H=G!j6m}U6!z@#{gV@#eu|Ju}--uT$m6n!v%rqfI110naHGiO{LY|4D$#aL`HX3c)~qVSB3 zl^uB|sctR>HkRwLYmely7r7jG;Y=Pcxh*f}5=&>U&0;J})tb*))_SI^SRpJeN8y?A zRIRtX{HVQocvQ2nqShNn5wM1^4zrRij7e`z^rjA^m-$AAbkYeN=&U1NlF3O3Vm@NM(|=u0>2TLcF1Eo ze*i|bSag6xLUdCX`sOYo6c(VtI335F(8$b&n#D?~v`GJyXoPX#!L+TZZec9|ta0pa z)V|nv`u!E#v8M;D!KW8im-sYWSzMl;x911*v-a%Vsy+YPq5~u^5TjeyRQGIB_t3&E zM>4^Qfk9h#n^0*0%XlnG=#3#-!77@sqy6l5oo;gJuv93-#_Ff0D`AT@!(91m)QxRQ zbTF#gjTQ|ToHJ9C4V%xc=XN%N_SKo+`TV12rl#nlf;L;&dAf!7jLU-s?SrjzWs)7n zh%bjf7Dv2}M{e?xI%P>~gkl{lTf@qhHeHWlW{Oi@2%^}+iip6X#V-nyH5V7+yw6pPxmxlm|V3Ob&NKb-Dg-E~GH`tdJAgR!a>y_UqRdLy&akJBZLh?A6+;>PzmIBMcJLW$OB_w2Y7A)dMqGOl z*0-CKRb(>2v@l(hKyg{dEnm9}O)B=%HC*V31eAi{fiB{)o8m<93xh*cycH6|9Sezt z3{qYx&SN99O-L$~N1H|~^`hI2^!ATm`>p3chcSgd&zC)oV*Tkx7CTxaCPmY7h*`7o zD(D^aQC4kDW+3Tuj-9iN#<3?(!aH`ItCPR=#!RD*tu8u5zvkE&6#U{aeVIT!DPj6< zT0R?JMs;lYFvq?~P{Am@&d<+h&gX>~sO%c`mk%C^t#vl-26Worrp-|OnDt-%)5&W; z|1(ol^r2(czp;hAMjYmSg`79}&8O=M!Q=KLy!Imkwv=O(lA*E9uSxXU0#a`30)584>(5 zAYk$3jL&c!u@lfnCQ#^%c{TsDYvm&TdP1F+$rK4){D{H~=-cu@`xOnyDa^GRT;GC^ z+R6L0U{kF^-;WFv;iL|JLW1Dc6cN3=t%)Ql2wqJwbO)6b1h1yxel^9#G(D-NIlq#I zo>bGEMAf>SMEojc#G@+xuc1k=FaY3JNhTguHFFJ38Y(cWTXu8g06-0+)jH7VXO+zWiGx4<`uK zc!K{8a)@_w%0ET&G$IIQH#Athp>?-TzTWKOwXf@1&db)Un7CW(nTr|Ij$5?|?-iBy z(^$5m#=Wj>V;${ox?XST^3S+rBGkp8jw<3AOcJjCZ6cHsr9a4c#V-|^e9WJHDVY2_ z+5;cciA@IPi-HA%|FQ&w!YNHs^YxyB^h>`YNb^7||EQ43#a!nsxctMy#Hy!BY_7Ky z#K}r7LiSTnCb79@P!RuURa-$Y3C($5LCDr8XMrZQS<4sH-)okrvtTsI%?h+2KmPT~ Xdh~GrCx42Np2NQ{!YTfIhwlCxBti(# diff --git a/FrontEnd/contoh-import-informatika-sem1.csv b/FrontEnd/contoh-import-informatika-sem1.csv deleted file mode 100644 index 6ced58e..0000000 --- a/FrontEnd/contoh-import-informatika-sem1.csv +++ /dev/null @@ -1,11 +0,0 @@ -NIM,Nama,INF101,INF102,INF103,INF104,INF105,INF106,INF107,INF108 -2024001,Ahmad Fauzi,85,88,90,82,85,87,80,84 -2024002,Siti Aisyah,92,89,95,88,92,90,85,91 -2024003,Budi Santoso,78,82,85,75,80,83,78,80 -2024004,Citra Dewi,88,90,92,85,89,88,82,87 -2024005,Dedi Prasetyo,75,78,80,72,76,79,74,77 -2024006,Eka Putri,90,92,94,88,91,89,86,90 -2024007,Fahri Rahman,82,85,88,80,84,86,79,83 -2024008,Gita Sari,86,88,90,83,87,85,81,86 -2024009,Hendra Wijaya,79,81,84,77,80,82,76,80 -2024010,Indah Permata,93,95,97,90,94,92,88,94 diff --git a/FrontEnd/contoh-import-informatika-sem1.xlsx b/FrontEnd/contoh-import-informatika-sem1.xlsx deleted file mode 100644 index 408f9996d46f13bb1c91912a54aa0730944d9613..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18965 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 diff --git a/FrontEnd/contoh-import-informatika-sem2.csv b/FrontEnd/contoh-import-informatika-sem2.csv deleted file mode 100644 index 40c2642..0000000 --- a/FrontEnd/contoh-import-informatika-sem2.csv +++ /dev/null @@ -1,11 +0,0 @@ -NIM,Nama,INF201,INF202,INF203,INF204,INF205,INF206,INF207 -2024001,Ahmad Fauzi,86,90,88,84,82,85,89 -2024002,Siti Aisyah,93,95,92,90,88,91,94 -2024003,Budi Santoso,79,82,80,78,75,80,81 -2024004,Citra Dewi,89,91,90,87,85,88,90 -2024005,Dedi Prasetyo,76,80,78,75,73,77,79 -2024006,Eka Putri,91,94,93,89,87,90,92 -2024007,Fahri Rahman,83,87,85,82,80,84,86 -2024008,Gita Sari,87,90,88,85,83,86,89 -2024009,Hendra Wijaya,80,84,82,79,77,81,83 -2024010,Indah Permata,94,97,95,92,90,93,96 diff --git a/FrontEnd/contoh-import-informatika-sem2.xlsx b/FrontEnd/contoh-import-informatika-sem2.xlsx deleted file mode 100644 index b53d19ecb5d95bb80b916935ccdacd67265ce9ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18698 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 MK >> CPMK -5. Penggunaan AI untuk Mencari data penyesuaian materi terbaru dari berbagai sumber diff --git a/FrontEnd/package-lock.json b/FrontEnd/package-lock.json deleted file mode 100644 index a348f2e..0000000 --- a/FrontEnd/package-lock.json +++ /dev/null @@ -1,6105 +0,0 @@ -{ - "name": "sistem-cpl-unismuh", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "sistem-cpl-unismuh", - "version": "1.0.0", - "dependencies": { - "next": "^14.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "recharts": "^2.10.0", - "xlsx": "^0.18.5" - }, - "devDependencies": { - "@types/node": "^20.0.0", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", - "autoprefixer": "^10.4.16", - "eslint": "^8.54.0", - "eslint-config-next": "^14.0.0", - "postcss": "^8.4.31", - "tailwindcss": "^3.3.5", - "typescript": "^5.0.0" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@babel/runtime": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", - "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@emnapi/core": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", - "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", - "dev": true, - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", - "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", - "dev": true, - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", - "dev": true, - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", - "dev": true, - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" - } - }, - "node_modules/@next/env": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.33.tgz", - "integrity": "sha512-CgVHNZ1fRIlxkLhIX22flAZI/HmpDaZ8vwyJ/B0SDPTBuLZ1PJ+DWMjCHhqnExfmSQzA/PbZi8OAc7PAq2w9IA==" - }, - "node_modules/@next/eslint-plugin-next": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.33.tgz", - "integrity": "sha512-DQTJFSvlB+9JilwqMKJ3VPByBNGxAGFTfJ7BuFj25cVcbBy7jm88KfUN+dngM4D3+UxZ8ER2ft+WH9JccMvxyg==", - "dev": true, - "dependencies": { - "glob": "10.3.10" - } - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.33.tgz", - "integrity": "sha512-HqYnb6pxlsshoSTubdXKu15g3iivcbsMXg4bYpjL2iS/V6aQot+iyF4BUc2qA/J/n55YtvE4PHMKWBKGCF/+wA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.33.tgz", - "integrity": "sha512-8HGBeAE5rX3jzKvF593XTTFg3gxeU4f+UWnswa6JPhzaR6+zblO5+fjltJWIZc4aUalqTclvN2QtTC37LxvZAA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.33.tgz", - "integrity": "sha512-JXMBka6lNNmqbkvcTtaX8Gu5by9547bukHQvPoLe9VRBx1gHwzf5tdt4AaezW85HAB3pikcvyqBToRTDA4DeLw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.33.tgz", - "integrity": "sha512-Bm+QulsAItD/x6Ih8wGIMfRJy4G73tu1HJsrccPW6AfqdZd0Sfm5Imhgkgq2+kly065rYMnCOxTBvmvFY1BKfg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.33.tgz", - "integrity": "sha512-FnFn+ZBgsVMbGDsTqo8zsnRzydvsGV8vfiWwUo1LD8FTmPTdV+otGSWKc4LJec0oSexFnCYVO4hX8P8qQKaSlg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.33.tgz", - "integrity": "sha512-345tsIWMzoXaQndUTDv1qypDRiebFxGYx9pYkhwY4hBRaOLt8UGfiWKr9FSSHs25dFIf8ZqIFaPdy5MljdoawA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.33.tgz", - "integrity": "sha512-nscpt0G6UCTkrT2ppnJnFsYbPDQwmum4GNXYTeoTIdsmMydSKFz9Iny2jpaRupTb+Wl298+Rh82WKzt9LCcqSQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.33.tgz", - "integrity": "sha512-pc9LpGNKhJ0dXQhZ5QMmYxtARwwmWLpeocFmVG5Z0DzWq5Uf0izcI8tLc+qOpqxO1PWqZ5A7J1blrUIKrIFc7Q==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.33.tgz", - "integrity": "sha512-nOjfZMy8B94MdisuzZo9/57xuFVLHJaDj5e/xrduJp9CV2/HrfxTRH2fbyLe+K9QT41WBLUd4iXX3R7jBp0EUg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", - "dev": true, - "engines": { - "node": ">=12.4.0" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.15.0.tgz", - "integrity": "sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==", - "dev": true - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" - }, - "node_modules/@swc/helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", - "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", - "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/d3-array": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", - "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==" - }, - "node_modules/@types/d3-color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", - "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" - }, - "node_modules/@types/d3-ease": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", - "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" - }, - "node_modules/@types/d3-interpolate": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", - "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", - "dependencies": { - "@types/d3-color": "*" - } - }, - "node_modules/@types/d3-path": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", - "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==" - }, - "node_modules/@types/d3-scale": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", - "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", - "dependencies": { - "@types/d3-time": "*" - } - }, - "node_modules/@types/d3-shape": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", - "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", - "dependencies": { - "@types/d3-path": "*" - } - }, - "node_modules/@types/d3-time": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", - "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==" - }, - "node_modules/@types/d3-timer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", - "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.19.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.25.tgz", - "integrity": "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==", - "dev": true, - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.15", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", - "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", - "dev": true - }, - "node_modules/@types/react": { - "version": "18.3.27", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz", - "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.3.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", - "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", - "dev": true, - "peerDependencies": { - "@types/react": "^18.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.47.0.tgz", - "integrity": "sha512-fe0rz9WJQ5t2iaLfdbDc9T80GJy0AeO453q8C3YCilnGozvOyCG5t+EZtg7j7D88+c3FipfP/x+wzGnh1xp8ZA==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/type-utils": "8.47.0", - "@typescript-eslint/utils": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", - "graphemer": "^1.4.0", - "ignore": "^7.0.0", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.47.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.47.0.tgz", - "integrity": "sha512-lJi3PfxVmo0AkEY93ecfN+r8SofEqZNGByvHAI3GBLrvt1Cw6H5k1IM02nSzu0RfUafr2EvFSw0wAsZgubNplQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.47.0.tgz", - "integrity": "sha512-2X4BX8hUeB5JcA1TQJ7GjcgulXQ+5UkNb0DL8gHsHUHdFoiCTJoYLTpib3LtSDPZsRET5ygN4qqIWrHyYIKERA==", - "dev": true, - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.47.0", - "@typescript-eslint/types": "^8.47.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.47.0.tgz", - "integrity": "sha512-a0TTJk4HXMkfpFkL9/WaGTNuv7JWfFTQFJd6zS9dVAjKsojmv9HT55xzbEpnZoY+VUb+YXLMp+ihMLz/UlZfDg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.47.0.tgz", - "integrity": "sha512-ybUAvjy4ZCL11uryalkKxuT3w3sXJAuWhOoGS3T/Wu+iUu1tGJmk5ytSY8gbdACNARmcYEB0COksD2j6hfGK2g==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.47.0.tgz", - "integrity": "sha512-QC9RiCmZ2HmIdCEvhd1aJELBlD93ErziOXXlHEZyuBo3tBiAZieya0HLIxp+DoDWlsQqDawyKuNEhORyku+P8A==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0", - "@typescript-eslint/utils": "8.47.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.47.0.tgz", - "integrity": "sha512-nHAE6bMKsizhA2uuYZbEbmp5z2UpffNrPEqiKIeN7VsV6UY/roxanWfoRrf6x/k9+Obf+GQdkm0nPU+vnMXo9A==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.47.0.tgz", - "integrity": "sha512-k6ti9UepJf5NpzCjH31hQNLHQWupTRPhZ+KFF8WtTuTpy7uHPfeg2NM7cP27aCGajoEplxJDFVCEm9TGPYyiVg==", - "dev": true, - "dependencies": { - "@typescript-eslint/project-service": "8.47.0", - "@typescript-eslint/tsconfig-utils": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.47.0.tgz", - "integrity": "sha512-g7XrNf25iL4TJOiPqatNuaChyqt49a/onq5YsJ9+hXeugK+41LVg7AxikMfM02PC6jbNtZLCJj6AUcQXJS/jGQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.47.0.tgz", - "integrity": "sha512-SIV3/6eftCy1bNzCQoPmbWsRLujS8t5iDIZ4spZOBHqrM+yfX2ogg8Tt3PDTAVKw3sSCiUgg30uOAvK2r9zGjQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.47.0", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true - }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], - "dev": true, - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/adler-32": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", - "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "dev": true - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.22", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.22.tgz", - "integrity": "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.27.0", - "caniuse-lite": "^1.0.30001754", - "fraction.js": "^5.3.4", - "normalize-range": "^0.1.2", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz", - "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/baseline-browser-mapping": { - "version": "2.8.31", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.31.tgz", - "integrity": "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==", - "dev": true, - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", - "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "baseline-browser-mapping": "^2.8.25", - "caniuse-lite": "^1.0.30001754", - "electron-to-chromium": "^1.5.249", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.1.4" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001756", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001756.tgz", - "integrity": "sha512-4HnCNKbMLkLdhJz3TToeVWHSnfJvPaq6vu/eRP0Ahub/07n484XHhBF5AJoSGHdVrS8tKFauUQz8Bp9P7LVx7A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/cfb": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", - "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", - "dependencies": { - "adler-32": "~1.3.0", - "crc-32": "~1.2.0" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/codepage": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", - "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" - }, - "node_modules/d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "dependencies": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "dependencies": { - "d3-path": "^3.1.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "dependencies": { - "d3-array": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "dependencies": { - "d3-time": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js-light": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", - "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.5.259", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.259.tgz", - "integrity": "sha512-I+oLXgpEJzD6Cwuwt1gYjxsDmu/S/Kd41mmLA3O+/uH2pFRO/DvOjUyGozL8j3KeLV6WyZ7ssPwELMsXCcsJAQ==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/es-abstract": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-next": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.33.tgz", - "integrity": "sha512-e2W+waB+I5KuoALAtKZl3WVDU4Q1MS6gF/gdcwHh0WOAkHf4TZI6dPjd25wKhlZFAsFrVKy24Z7/IwOhn8dHBw==", - "dev": true, - "dependencies": { - "@next/eslint-plugin-next": "14.2.33", - "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" - }, - "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", - "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", - "dev": true, - "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.4.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^2.0.0", - "stable-hash": "^0.0.5", - "tinyglobby": "^0.2.13", - "unrs-resolver": "^1.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", - "dev": true, - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", - "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", - "dev": true, - "dependencies": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.0.0-canary-7118f5dd7-20230705", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", - "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-equals": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.3.3.tgz", - "integrity": "sha512-/boTcHZeIAQ2r/tL11voclBHDeP9WPxLt+tyAbVSyyXuUFyh0Tne7gJZTqGbxnvj79TjLdCXLOY7UIPhyG5MTw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/frac": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", - "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/fraction.js": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", - "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generator-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", - "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", - "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", - "dev": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bun-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", - "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", - "dev": true, - "dependencies": { - "semver": "^7.7.1" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", - "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "dev": true, - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", - "dev": true - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "dev": true, - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-postinstall": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", - "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", - "dev": true, - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/next": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.33.tgz", - "integrity": "sha512-GiKHLsD00t4ACm1p00VgrI0rUFAC9cRDGReKyERlM57aeEZkOQGcZTpIbsGn0b562FTPJWmYfKwplfO9EaT6ng==", - "dependencies": { - "@next/env": "14.2.33", - "@swc/helpers": "0.5.5", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001579", - "graceful-fs": "^4.2.11", - "postcss": "8.4.31", - "styled-jsx": "5.1.1" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=18.17.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.33", - "@next/swc-darwin-x64": "14.2.33", - "@next/swc-linux-arm64-gnu": "14.2.33", - "@next/swc-linux-arm64-musl": "14.2.33", - "@next/swc-linux-x64-gnu": "14.2.33", - "@next/swc-linux-x64-musl": "14.2.33", - "@next/swc-win32-arm64-msvc": "14.2.33", - "@next/swc-win32-ia32-msvc": "14.2.33", - "@next/swc-win32-x64-msvc": "14.2.33" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.41.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", - "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", - "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "lilconfig": "^3.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "jiti": ">=1.21.0", - "postcss": ">=8.0.9", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - }, - "postcss": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/postcss-nested": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-smooth": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.4.tgz", - "integrity": "sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==", - "dependencies": { - "fast-equals": "^5.0.1", - "prop-types": "^15.8.1", - "react-transition-group": "^4.4.5" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recharts": { - "version": "2.15.4", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.15.4.tgz", - "integrity": "sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw==", - "dependencies": { - "clsx": "^2.0.0", - "eventemitter3": "^4.0.1", - "lodash": "^4.17.21", - "react-is": "^18.3.1", - "react-smooth": "^4.0.4", - "recharts-scale": "^0.4.4", - "tiny-invariant": "^1.3.1", - "victory-vendor": "^36.6.8" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/recharts-scale": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", - "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", - "dependencies": { - "decimal.js-light": "^2.4.1" - } - }, - "node_modules/recharts/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssf": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", - "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", - "dependencies": { - "frac": "~1.1.2" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/stable-hash": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", - "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", - "dev": true - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/string.prototype.includes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", - "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/styled-jsx": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", - "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/sucrase": { - "version": "3.35.1", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", - "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "tinyglobby": "^0.2.11", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tailwindcss": { - "version": "3.4.18", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.18.tgz", - "integrity": "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==", - "dev": true, - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.6.0", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.2", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.7", - "lilconfig": "^3.1.3", - "micromatch": "^4.0.8", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.47", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", - "postcss-nested": "^6.2.0", - "postcss-selector-parser": "^6.1.2", - "resolve": "^1.22.8", - "sucrase": "^3.35.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", - "dev": true, - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true - }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "napi-postinstall": "^0.3.0" - }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" - }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", - "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/victory-vendor": { - "version": "36.9.2", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", - "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", - "dependencies": { - "@types/d3-array": "^3.0.3", - "@types/d3-ease": "^3.0.0", - "@types/d3-interpolate": "^3.0.1", - "@types/d3-scale": "^4.0.2", - "@types/d3-shape": "^3.1.0", - "@types/d3-time": "^3.0.0", - "@types/d3-timer": "^3.0.0", - "d3-array": "^3.1.6", - "d3-ease": "^3.0.1", - "d3-interpolate": "^3.0.1", - "d3-scale": "^4.0.2", - "d3-shape": "^3.1.0", - "d3-time": "^3.0.0", - "d3-timer": "^3.0.1" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wmf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", - "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/word": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", - "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/xlsx": { - "version": "0.18.5", - "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz", - "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", - "dependencies": { - "adler-32": "~1.3.0", - "cfb": "~1.2.1", - "codepage": "~1.15.0", - "crc-32": "~1.2.1", - "ssf": "~0.11.2", - "wmf": "~1.0.1", - "word": "~0.3.0" - }, - "bin": { - "xlsx": "bin/xlsx.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/FrontEnd/package.json b/FrontEnd/package.json deleted file mode 100644 index 2c664cc..0000000 --- a/FrontEnd/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "sistem-cpl-unismuh", - "version": "1.0.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "next": "^14.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "recharts": "^2.10.0", - "xlsx": "^0.18.5" - }, - "devDependencies": { - "@types/node": "^20.0.0", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", - "autoprefixer": "^10.4.16", - "eslint": "^8.54.0", - "eslint-config-next": "^14.0.0", - "postcss": "^8.4.31", - "tailwindcss": "^3.3.5", - "typescript": "^5.0.0" - } -} diff --git a/FrontEnd/postcss.config.mjs b/FrontEnd/postcss.config.mjs deleted file mode 100644 index 2ef30fc..0000000 --- a/FrontEnd/postcss.config.mjs +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import('postcss-load-config').Config} */ -const config = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -}; - -export default config; diff --git a/FrontEnd/src/app/dashboard/input-nilai/page.tsx b/FrontEnd/src/app/dashboard/input-nilai/page.tsx deleted file mode 100644 index 2121a75..0000000 --- a/FrontEnd/src/app/dashboard/input-nilai/page.tsx +++ /dev/null @@ -1,375 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; -import { prodiData, mahasiswaData, mataKuliahData, cpmkData, cpmkToCplMapping } from '@/data/mockData'; -import { saveNilai, getNilaiByMahasiswaMK } from '@/utils/nilaiStorage'; -import { useRouter } from 'next/navigation'; - -export default function InputNilaiPage() { - const router = useRouter(); - const [selectedProdi, setSelectedProdi] = useState('ARS'); - const [selectedSemester, setSelectedSemester] = useState(3); - const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); - const [filteredMahasiswa, setFilteredMahasiswa] = useState([]); - const [mkList, setMkList] = useState([]); - const [selectedMK, setSelectedMK] = useState(null); - const [nilaiMK, setNilaiMK] = useState(''); - const [showResult, setShowResult] = useState(false); - const [calculatedCPMK, setCalculatedCPMK] = useState([]); - const [calculatedCPL, setCalculatedCPL] = useState([]); - const [saveSuccess, setSaveSuccess] = useState(false); - - // Filter mahasiswa by prodi - useEffect(() => { - const filtered = mahasiswaData.filter((m) => m.prodiKode === selectedProdi); - setFilteredMahasiswa(filtered); - if (filtered.length > 0 && !selectedMahasiswa) { - setSelectedMahasiswa(filtered[0].id); - } - }, [selectedProdi]); - - // Get MK list for selected prodi and semester - useEffect(() => { - const mkFiltered = mataKuliahData.filter( - (mk) => mk.prodiKode === selectedProdi && mk.semester === selectedSemester - ); - setMkList(mkFiltered); - }, [selectedProdi, selectedSemester]); - - // Check if nilai already exists when MK is selected - useEffect(() => { - if (selectedMK && selectedMahasiswa) { - const existingNilai = getNilaiByMahasiswaMK(selectedMahasiswa, selectedMK.kode); - if (existingNilai) { - setNilaiMK(existingNilai.nilaiAkhir.toString()); - } - } - }, [selectedMK, selectedMahasiswa]); - - // Calculate CPMK from nilai MK - const handleCalculate = () => { - if (!selectedMK || !nilaiMK) return; - - const nilai = parseFloat(nilaiMK); - if (isNaN(nilai) || nilai < 0 || nilai > 100) { - alert('Masukkan nilai antara 0-100'); - return; - } - - // Get CPMK for this MK - const cpmkList = cpmkData.filter((c) => c.mkKode === selectedMK.kode); - - // Calculate nilai CPMK (breakdown otomatis berdasarkan bobot) - const cpmkResults = cpmkList.map((cpmk) => { - const nilaiCPMK = nilai * (cpmk.bobot / 100); - return { - kode: cpmk.kode, - deskripsi: cpmk.deskripsi, - bobot: cpmk.bobot, - nilai: Math.round(nilaiCPMK * 10) / 10, - }; - }); - - setCalculatedCPMK(cpmkResults); - - // Calculate CPL contribution from this MK - const cplScoresMap: { [key: string]: { totalNilai: number; count: number } } = {}; - - cpmkResults.forEach((cpmk) => { - const mappings = cpmkToCplMapping.filter((m) => m.cpmkKode === cpmk.kode); - - mappings.forEach((mapping) => { - if (!cplScoresMap[mapping.cplKode]) { - cplScoresMap[mapping.cplKode] = { totalNilai: 0, count: 0 }; - } - cplScoresMap[mapping.cplKode].totalNilai += cpmk.nilai * (mapping.bobot / 100); - cplScoresMap[mapping.cplKode].count += 1; - }); - }); - - const cplResults = Object.entries(cplScoresMap).map(([cplKode, data]) => ({ - kode: cplKode, - nilai: Math.round((data.totalNilai / data.count) * 10) / 10, - })); - - setCalculatedCPL(cplResults); - setShowResult(true); - }; - - // Save nilai - const handleSave = () => { - if (!selectedMK || !selectedMahasiswa || !nilaiMK) return; - - const nilai = parseFloat(nilaiMK); - const success = saveNilai(selectedMahasiswa, selectedMK.kode, nilai); - - if (success) { - setSaveSuccess(true); - - // Show success message for 3 seconds - setTimeout(() => { - setSaveSuccess(false); - setSelectedMK(null); - setNilaiMK(''); - setShowResult(false); - setCalculatedCPMK([]); - setCalculatedCPL([]); - }, 2000); - } else { - alert('Gagal menyimpan nilai. Silakan coba lagi.'); - } - }; - - const selectedMhs = mahasiswaData.find((m) => m.id === selectedMahasiswa); - const selectedProdiData = prodiData.find((p) => p.kode === selectedProdi); - - return ( -
- {/* Success Notification */} - {saveSuccess && ( -
-
- - - -
-

Nilai Berhasil Disimpan!

-

Data akan ditampilkan di Dashboard & Laporan

-
-
-
- )} - -
-

- - - - Input Nilai Mahasiswa -

-

- Input nilai mata kuliah, sistem otomatis menghitung CPMK dan CPL -

-
- - {/* Filter Section */} -
-

- - - - Filter Data -

- -
-
- - -
- -
- - -
- -
- - -
-
- - {selectedMhs && ( -
-
-
- Prodi: -

{selectedProdiData?.nama}

-
-
- Nim: -

{selectedMhs.npm}

-
-
- Nama: -

{selectedMhs.nama}

-
-
- Semester Aktif: -

Semester {selectedMhs.semesterAktif}

-
-
-
- )} -
- - {/* MK List */} -
-

- Pilih Mata Kuliah (Semester {selectedSemester}) -

- - {mkList.length === 0 ? ( -
-

Tidak ada mata kuliah di semester ini

-
- ) : ( -
- {mkList.map((mk) => ( - - ))} -
- )} -
- - {/* Input Nilai Section */} - {selectedMK && ( -
-

- Input Nilai: {selectedMK.nama} -

- -
- -
- setNilaiMK(e.target.value)} - min="0" - max="100" - step="0.1" - placeholder="Masukkan nilai" - className="flex-1 px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500" - /> - -
-
- - {/* Results */} - {showResult && ( -
- {/* CPMK Results */} -
-

Breakdown Nilai CPMK (Otomatis)

-
- {calculatedCPMK.map((cpmk) => ( -
-
-

{cpmk.deskripsi}

-

Bobot: {cpmk.bobot}%

-
- - {cpmk.nilai} - -
- ))} -
-
- - {/* CPL Results */} -
-

Kontribusi ke CPL

-
- {calculatedCPL.map((cpl) => ( -
-

{cpl.kode}

-

{cpl.nilai}

-
- ))} -
-
- - {/* Save Button */} -
- - -
-
- )} -
- )} -
- ); -} diff --git a/FrontEnd/src/app/dashboard/laporan/page.tsx b/FrontEnd/src/app/dashboard/laporan/page.tsx deleted file mode 100644 index 21ecc77..0000000 --- a/FrontEnd/src/app/dashboard/laporan/page.tsx +++ /dev/null @@ -1,838 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; -import { prodiData, mahasiswaData, cplData, mataKuliahData } from '@/data/mockData'; -import { hitungNilaiCPLPerSemesterIntegrated, getIntegratedNilaiByMahasiswa, getNilaiGroupedBySemester, hitungCPMKBreakdownPerCPL } from '@/utils/dataIntegration'; -import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, LineChart, Line, RadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Radar } from 'recharts'; - -type ViewMode = 'mahasiswa' | 'semester' | 'prodi'; - -export default function LaporanPage() { - const [selectedProdi, setSelectedProdi] = useState('ARS'); - const [selectedSemester, setSelectedSemester] = useState(2); - const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); - const [viewMode, setViewMode] = useState('mahasiswa'); - const [filteredMahasiswa, setFilteredMahasiswa] = useState([]); - const [laporanData, setLaporanData] = useState(null); - const [expandedCPL, setExpandedCPL] = useState(null); - - // Filter mahasiswa by prodi - useEffect(() => { - const filtered = mahasiswaData.filter((m) => m.prodiKode === selectedProdi); - setFilteredMahasiswa(filtered); - if (filtered.length > 0 && !selectedMahasiswa) { - setSelectedMahasiswa(filtered[0].id); - } - }, [selectedProdi]); - - // Generate laporan based on view mode - useEffect(() => { - if (viewMode === 'mahasiswa' && selectedMahasiswa) { - generateLaporanMahasiswa(); - } else if (viewMode === 'semester') { - generateLaporanSemester(); - } else if (viewMode === 'prodi') { - generateLaporanProdi(); - } - }, [viewMode, selectedMahasiswa, selectedProdi, selectedSemester]); - - const generateLaporanMahasiswa = () => { - const mhs = mahasiswaData.find((m) => m.id === selectedMahasiswa); - if (!mhs) return; - - const cplScores = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, selectedSemester, mhs.prodiKode); - const nilaiMhs = getIntegratedNilaiByMahasiswa(selectedMahasiswa); - - // Get CPMK breakdown with bobot - const cpmkBreakdown = hitungCPMKBreakdownPerCPL(selectedMahasiswa, selectedSemester, mhs.prodiKode); - - // Group nilai by semester using integrated data - const groupedData = getNilaiGroupedBySemester(selectedMahasiswa, mhs.prodiKode); - - // Convert to format expected by component - const nilaiPerSemester: { [key: number]: any[] } = {}; - Object.entries(groupedData).forEach(([sem, data]) => { - const semester = parseInt(sem); - nilaiPerSemester[semester] = data.nilai.map((nilai, idx) => ({ - ...nilai, - mk: data.mataKuliah[idx] - })); - }); - - // Calculate CPL trend across semesters - const trendData = []; - for (let sem = 1; sem <= mhs.semesterAktif; sem++) { - const cplSem = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, sem, mhs.prodiKode); - const avgCPL = cplSem.length > 0 - ? cplSem.reduce((sum, c) => sum + c.nilai, 0) / cplSem.length - : 0; - trendData.push({ - semester: `Sem ${sem}`, - 'Rata-rata CPL': Math.round(avgCPL * 10) / 10 - }); - } - - setLaporanData({ - mahasiswa: mhs, - cplScores, - cpmkBreakdown, - nilaiPerSemester, - trendData, - totalMK: nilaiMhs.length, - avgCPL: cplScores.length > 0 - ? Math.round((cplScores.reduce((sum, c) => sum + c.nilai, 0) / cplScores.length) * 10) / 10 - : 0, - }); - }; - - const generateLaporanSemester = () => { - const mahasiswaProdi = mahasiswaData.filter((m) => m.prodiKode === selectedProdi); - const mkSemester = mataKuliahData.filter( - (mk) => mk.prodiKode === selectedProdi && mk.semester === selectedSemester - ); - - // Calculate average CPL for all students in this semester - const allCPLScores: { [key: string]: number[] } = {}; - - mahasiswaProdi.forEach((mhs) => { - const cplScores = hitungNilaiCPLPerSemesterIntegrated(mhs.id, selectedSemester, selectedProdi); - cplScores.forEach((cpl) => { - if (!allCPLScores[cpl.cplKode]) { - allCPLScores[cpl.cplKode] = []; - } - allCPLScores[cpl.cplKode].push(cpl.nilai); - }); - }); - - const avgCPLBySemester = Object.entries(allCPLScores).map(([kode, values]) => ({ - kode, - avgNilai: values.length > 0 - ? Math.round((values.reduce((a, b) => a + b, 0) / values.length) * 10) / 10 - : 0, - jumlahMahasiswa: values.length, - deskripsi: cplData.find((c) => c.kode === kode && c.prodiKode === selectedProdi)?.deskripsi || '', - })); - - setLaporanData({ - semester: selectedSemester, - mataKuliah: mkSemester, - avgCPL: avgCPLBySemester, - totalMahasiswa: mahasiswaProdi.length, - totalSKS: mkSemester.reduce((sum, mk) => sum + mk.sks, 0), - }); - }; - - const generateLaporanProdi = () => { - const mahasiswaProdi = mahasiswaData.filter((m) => m.prodiKode === selectedProdi); - const mkProdi = mataKuliahData.filter((mk) => mk.prodiKode === selectedProdi); - - // Calculate overall statistics - count all nilai (integrated) - const allNilaiCount = mahasiswaProdi.reduce((count, mhs) => { - return count + getIntegratedNilaiByMahasiswa(mhs.id).length; - }, 0); - - // CPL achievement across all students - const cplAchievement: { [key: string]: { total: number; count: number } } = {}; - - mahasiswaProdi.forEach((mhs) => { - for (let sem = 1; sem <= mhs.semesterAktif; sem++) { - const cplScores = hitungNilaiCPLPerSemesterIntegrated(mhs.id, sem, selectedProdi); - cplScores.forEach((cpl) => { - if (!cplAchievement[cpl.cplKode]) { - cplAchievement[cpl.cplKode] = { total: 0, count: 0 }; - } - cplAchievement[cpl.cplKode].total += cpl.nilai; - cplAchievement[cpl.cplKode].count += 1; - }); - } - }); - - const avgCPLProdi = Object.entries(cplAchievement).map(([kode, data]) => ({ - kode, - avgNilai: data.count > 0 - ? Math.round((data.total / data.count) * 10) / 10 - : 0, - deskripsi: cplData.find((c) => c.kode === kode && c.prodiKode === selectedProdi)?.deskripsi || '', - })); - - // Distribution by semester - const distribusiSemester = Array.from({ length: 8 }, (_, i) => { - const sem = i + 1; - const count = mahasiswaProdi.filter((m) => m.semesterAktif === sem).length; - return { semester: `Sem ${sem}`, jumlah: count }; - }); - - setLaporanData({ - prodi: prodiData.find((p) => p.kode === selectedProdi), - totalMahasiswa: mahasiswaProdi.length, - totalMK: mkProdi.length, - avgCPL: avgCPLProdi, - distribusiSemester, - totalNilai: allNilaiCount, - }); - }; - - const handleExport = (format: 'pdf' | 'excel') => { - alert(`Export ke ${format.toUpperCase()} akan segera tersedia!`); - }; - - return ( -
- {/* Header */} -
-

- Laporan CPL -

-

- Laporan lengkap capaian pembelajaran lulusan dengan visualisasi data -

-
- - {/* View Mode Selector */} -
-
- - - -
- - -
-
-
- - {/* Filters based on view mode */} -
-
-
- - -
- - {(viewMode === 'mahasiswa' || viewMode === 'semester') && ( -
- - -
- )} - - {viewMode === 'mahasiswa' && ( -
- - -
- )} -
-
- - {/* Laporan Content */} - {viewMode === 'mahasiswa' && laporanData && ( -
- {/* Student Info Card */} -
-
-
-

Nama Mahasiswa

-

{laporanData.mahasiswa.nama}

-
-
-

Nim

-

{laporanData.mahasiswa.npm}

-
-
-

Semester Aktif

-

Semester {laporanData.mahasiswa.semesterAktif}

-
-
-

Rata-rata CPL

-

{laporanData.avgCPL}

-
-
-
- - {/* CPL Trend Chart */} -
-

- Tren Capaian CPL Across Semesters -

- - - - - - - - - - -
- - {/* CPL Scores Table with CPMK Breakdown */} -
-
-

- Detail CPL Semester {selectedSemester} -

-

- Klik pada baris CPL untuk melihat breakdown CPMK dan bobot -

-
-
- {laporanData.cpmkBreakdown && laporanData.cpmkBreakdown.length > 0 ? ( -
- {laporanData.cpmkBreakdown.map((cpl: any, idx: number) => ( -
- {/* CPL Header - Clickable */} -
setExpandedCPL(expandedCPL === cpl.cplKode ? null : cpl.cplKode)} - > -
-
- - - - {cpl.cplKode} -
- {cpl.cplDeskripsi} -
-
- - {cpl.nilaiCPL} - - = 75 - ? 'bg-green-100 text-green-800' - : cpl.nilaiCPL >= 60 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - {cpl.nilaiCPL >= 75 ? 'Tercapai' : cpl.nilaiCPL >= 60 ? 'Cukup' : 'Belum Tercapai'} - -
-
- - {/* CPMK Breakdown - Expandable */} - {expandedCPL === cpl.cplKode && ( -
- {/* Header with CPL Info */} -
-
-
-
-

- Breakdown Mata Kuliah & CPMK untuk {cpl.cplKode} -

-
- - Total: {cpl.totalMKTerkait} MK Terkait - -
-
-

• Bobot per MK: {cpl.bobotMKPerCPL}% (100% ÷ {cpl.totalMKTerkait} MK)

-

• MK di semester ini: {cpl.mataKuliah.length}

-
-
- - {cpl.mataKuliah.map((mk: any, mkIdx: number) => ( -
- {/* MK Header */} -
-
-
-
-
- {mk.mkKode} - - {mk.mkNama} -
-
-
- {mk.sks} SKS - - Bobot: {mk.bobotMK}% - - - Nilai: {mk.nilaiMK} - -
-
-
- - {/* CPMK List */} -
-
- Perhitungan CPMK: {mk.bobotMK}% (bobot MK) ÷ {mk.cpmkList.length} CPMK = {mk.cpmkList[0]?.bobot}% per CPMK -
- - - - - - - - - - - {mk.cpmkList.map((cpmk: any, cpmkIdx: number) => ( - - - - - - - ))} - -
CPMKDeskripsiBobot (%)Nilai Tertimbang
-
-
- - {cpmk.cpmkKode.length > 20 - ? cpmk.cpmkKode.substring(0, 20) + '...' - : cpmk.cpmkKode} - -
-
- {cpmk.deskripsi} - - - {cpmk.bobot}% - - - {cpmk.nilaiWeighted} -
- - {/* Summary */} -
-
- - Total Bobot CPMK: - - - {mk.cpmkList.reduce((sum: number, c: any) => sum + c.bobot, 0).toFixed(2)}% - -
-
- - Kontribusi MK ke {cpl.cplKode}: - - - {mk.nilaiMK} × {mk.bobotMK}% = {Math.round(mk.nilaiMK * mk.bobotMK / 100 * 100) / 100} - -
-
-
-
- ))} - - {/* CPL Summary */} -
-
-
-
- - - - - Perhitungan Nilai {cpl.cplKode} - -
- {cpl.nilaiCPL} -
-
-

• MK di semester ini: {cpl.mataKuliah.length} dari {cpl.totalMKTerkait} total MK

-

• Formula: Rata-rata nilai dari semua MK yang terkait

-

- ({cpl.mataKuliah.map((mk: any) => mk.nilaiMK).join(' + ')}) ÷ {cpl.mataKuliah.length} = {cpl.nilaiCPL} -

-
-
-
-
- )} -
- ))} -
- ) : ( -
-

Belum ada data CPMK untuk semester ini

-
- )} -
-
- - {/* MK yang sudah diambil */} -
-

- Mata Kuliah yang Sudah Diselesaikan -

-
- {Object.entries(laporanData.nilaiPerSemester).map(([sem, nilai]: [string, any]) => ( -
-

Semester {sem}

-
    - {nilai.map((n: any, idx: number) => ( -
  • - {n.mk.nama} - {n.nilaiAkhir} -
  • - ))} -
-
- ))} -
-
-
- )} - - {viewMode === 'semester' && laporanData && ( -
- {/* Semester Overview */} -
-
-
-
-

Total Mahasiswa

-

{laporanData.totalMahasiswa}

-
-
- - - -
-
-
- -
-
-
-

Mata Kuliah

-

{laporanData?.mataKuliah?.length || 0}

-
-
- - - -
-
-
- -
-
-
-

Total SKS

-

{laporanData?.totalSKS || 0}

-
-
- - - -
-
-
-
- - {/* Average CPL Chart */} -
-

- Rata-rata Capaian CPL Semester {selectedSemester} -

- - - - - - - - - - -
- - {/* Mata Kuliah List */} -
-
-

- Daftar Mata Kuliah Semester {selectedSemester} -

-
-
- - - - - - - - - - - - {laporanData?.mataKuliah?.map((mk: any, idx: number) => ( - - - - - - - - ))} - -
NoKode MKMata KuliahSKSCPL Terkait
{idx + 1}{mk.kode}{mk.nama} - - {mk.sks} - - - {mk.cplTerkait.join(', ')} -
-
-
-
- )} - - {viewMode === 'prodi' && laporanData && ( -
- {/* Prodi Overview */} -
-

{laporanData?.prodi?.nama || 'Program Studi'}

-
-
-

Total Mahasiswa

-

{laporanData?.totalMahasiswa || 0}

-
-
-

Total Mata Kuliah

-

{laporanData?.totalMK || 0}

-
-
-

Data Nilai Tersimpan

-

{laporanData?.totalNilai || 0}

-
-
-

Kaprodi

-

{laporanData?.prodi?.kaprodi || '-'}

-
-
-
- - {/* Distribusi Mahasiswa per Semester */} -
-

- Distribusi Mahasiswa per Semester -

- - - - - - - - - - -
- - {/* Average CPL Achievement */} -
-

- Rata-rata Capaian CPL Keseluruhan -

-
- - - - - - - - - - - - ({ - subject: cpl.kode, - value: cpl.avgNilai, - fullMark: 100, - })) : []}> - - - - - - - -
-
- - {/* CPL Details Table */} -
-
-

- Detail Capaian CPL {laporanData?.prodi?.nama || 'Program Studi'} -

-
-
- - - - - - - - - - - {Array.isArray(laporanData?.avgCPL) && laporanData.avgCPL.map((cpl: any, idx: number) => ( - - - - - - - ))} - -
Kode CPLDeskripsiRata-rata NilaiStatus
{cpl.kode}{cpl.deskripsi} - - {cpl.avgNilai} - - - = 75 - ? 'bg-green-100 text-green-800' - : cpl.avgNilai >= 60 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - {cpl.avgNilai >= 75 ? 'Tercapai' : cpl.avgNilai >= 60 ? 'Cukup' : 'Belum Tercapai'} - -
-
-
-
- )} -
- ); -} diff --git a/FrontEnd/src/app/dashboard/layout.tsx b/FrontEnd/src/app/dashboard/layout.tsx deleted file mode 100644 index 0acdd63..0000000 --- a/FrontEnd/src/app/dashboard/layout.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import Sidebar from '@/components/Sidebar'; - -export default function DashboardLayout({ - children, -}: { - children: React.ReactNode; -}) { - return ( -
- -
- {children} -
-
- ); -} diff --git a/FrontEnd/src/app/dashboard/manajemen/page.tsx b/FrontEnd/src/app/dashboard/manajemen/page.tsx deleted file mode 100644 index c8ce593..0000000 --- a/FrontEnd/src/app/dashboard/manajemen/page.tsx +++ /dev/null @@ -1,1045 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; -import { prodiData, mahasiswaData, mataKuliahData, cplData } from '@/data/mockData'; -import { saveNilai, getAllNilai } from '@/utils/nilaiStorage'; -import { getCombinedNilaiData, hitungNilaiCPLPerSemesterIntegrated } from '@/utils/dataIntegration'; -import * as XLSX from 'xlsx'; - -export default function ManajemenPage() { - const [activeTab, setActiveTab] = useState('import'); - const [selectedProdi, setSelectedProdi] = useState('INF'); - const [selectedSemester, setSelectedSemester] = useState(1); - const [selectedFile, setSelectedFile] = useState(null); - const [importData, setImportData] = useState([]); - const [importStatus, setImportStatus] = useState<'idle' | 'processing' | 'success' | 'error'>('idle'); - const [importMessage, setImportMessage] = useState(''); - const [importStats, setImportStats] = useState({ success: 0, failed: 0, total: 0 }); - const [refreshData, setRefreshData] = useState(0); // Trigger untuk refresh data - - // Get mahasiswa yang sudah punya nilai (dari localStorage + mockData) - const getMahasiswaWithNilai = () => { - const allNilai = getCombinedNilaiData(); - const uniqueMahasiswaIds = [...new Set(allNilai.map(n => n.mahasiswaId))]; - - return uniqueMahasiswaIds.map(id => { - const mhs = mahasiswaData.find(m => m.id === id); - const nilaiCount = allNilai.filter(n => n.mahasiswaId === id).length; - const localStorageCount = allNilai.filter(n => n.mahasiswaId === id && n.source === 'localStorage').length; - - return { - id, - npm: mhs?.npm || id.replace('MHS-', ''), - nama: mhs?.nama || 'Mahasiswa Baru', - prodiKode: mhs?.prodiKode || selectedProdi, - angkatan: mhs?.angkatan || '2024', - semesterAktif: mhs?.semesterAktif || selectedSemester, - totalNilai: nilaiCount, - nilaiDariImport: localStorageCount, - lastUpdate: allNilai.find(n => n.mahasiswaId === id && n.timestamp)?.timestamp - }; - }).filter(m => m.prodiKode === selectedProdi); - }; - - // Get statistik nilai per MK - const getMKStatistics = () => { - const allNilai = getCombinedNilaiData(); - const mkList = mataKuliahData.filter(mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester); - - return mkList.map(mk => { - const nilaiMK = allNilai.filter(n => n.mkKode === mk.kode); - const nilaiArray = nilaiMK.map(n => n.nilaiAkhir); - const avgNilai = nilaiArray.length > 0 - ? Math.round((nilaiArray.reduce((sum, val) => sum + val, 0) / nilaiArray.length) * 10) / 10 - : 0; - const minNilai = nilaiArray.length > 0 ? Math.min(...nilaiArray) : 0; - const maxNilai = nilaiArray.length > 0 ? Math.max(...nilaiArray) : 0; - - return { - ...mk, - jumlahMahasiswa: nilaiMK.length, - avgNilai, - minNilai, - maxNilai, - nilaiDariImport: nilaiMK.filter(n => n.source === 'localStorage').length - }; - }); - }; - - // Get statistik CPL - const getCPLStatistics = () => { - const mahasiswaList = getMahasiswaWithNilai(); - const cplList = cplData.filter(c => c.prodiKode === selectedProdi); - - return cplList.map(cpl => { - const nilaiCPL: number[] = []; - - mahasiswaList.forEach(mhs => { - const cplScores = hitungNilaiCPLPerSemesterIntegrated(mhs.id, selectedSemester, selectedProdi); - const cplScore = cplScores.find(c => c.cplKode === cpl.kode); - if (cplScore) { - nilaiCPL.push(cplScore.nilai); - } - }); - - const avgNilai = nilaiCPL.length > 0 - ? Math.round((nilaiCPL.reduce((sum, val) => sum + val, 0) / nilaiCPL.length) * 10) / 10 - : 0; - - return { - ...cpl, - jumlahMahasiswa: nilaiCPL.length, - avgNilai, - minNilai: nilaiCPL.length > 0 ? Math.min(...nilaiCPL) : 0, - maxNilai: nilaiCPL.length > 0 ? Math.max(...nilaiCPL) : 0, - tercapai: nilaiCPL.filter(n => n >= 75).length, - cukup: nilaiCPL.filter(n => n >= 60 && n < 75).length, - belumTercapai: nilaiCPL.filter(n => n < 60).length - }; - }); - }; - - // Handle file selection - const handleFileSelect = (e: React.ChangeEvent) => { - const file = e.target.files?.[0]; - if (file) { - // Validate file type - const validTypes = ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'text/csv', 'application/vnd.ms-excel']; - const validExtensions = ['.xlsx', '.csv']; - const fileExtension = file.name.substring(file.name.lastIndexOf('.')).toLowerCase(); - - if (!validTypes.includes(file.type) && !validExtensions.includes(fileExtension)) { - setImportStatus('error'); - setImportMessage('Format file tidak didukung. Hanya file .xlsx dan .csv yang diperbolehkan.'); - return; - } - - setSelectedFile(file); - setImportData([]); - setImportStatus('idle'); - setImportMessage(''); - } - }; - - // Parse CSV file - const parseCSV = (text: string): any[] => { - const lines = text.split('\n').filter(line => line.trim()); - if (lines.length < 2) return []; - - const headers = lines[0].split(',').map(h => h.trim().toLowerCase()); - const data: any[] = []; - - for (let i = 1; i < lines.length; i++) { - const values = lines[i].split(',').map(v => v.trim()); - const row: any = {}; - - headers.forEach((header, idx) => { - row[header] = values[idx] || ''; - }); - - // Validate required fields - if (row.nim && row.nama) { - data.push(row); - } - } - - return data; - }; - - // Parse Excel file using XLSX library - const parseExcel = (arrayBuffer: ArrayBuffer): any[] => { - try { - const workbook = XLSX.read(arrayBuffer, { type: 'array' }); - const firstSheet = workbook.Sheets[workbook.SheetNames[0]]; - const jsonData = XLSX.utils.sheet_to_json(firstSheet, { header: 1 }) as any[][]; - - if (jsonData.length < 2) return []; - - // Get headers (first row) - const headers = jsonData[0].map((h: any) => String(h).trim().toLowerCase()); - const data: any[] = []; - - // Process data rows - for (let i = 1; i < jsonData.length; i++) { - const row: any = {}; - headers.forEach((header, idx) => { - row[header] = jsonData[i][idx] ? String(jsonData[i][idx]).trim() : ''; - }); - - // Validate required fields - if (row.nim && row.nama) { - data.push(row); - } - } - - return data; - } catch (error) { - console.error('Error parsing Excel:', error); - return []; - } - }; - - // Preview imported data - const handlePreviewFile = async () => { - if (!selectedFile) return; - - setImportStatus('processing'); - setImportMessage('Memproses file...'); - - try { - let data: any[] = []; - - if (selectedFile.name.endsWith('.csv')) { - // Handle CSV files - const text = await selectedFile.text(); - data = parseCSV(text); - } else if (selectedFile.name.endsWith('.xlsx')) { - // Handle Excel files - const arrayBuffer = await selectedFile.arrayBuffer(); - data = parseExcel(arrayBuffer); - } - - if (data.length === 0) { - setImportStatus('error'); - setImportMessage('File tidak memiliki data yang valid. Pastikan format: NIM, Nama, dan nilai mata kuliah'); - return; - } - - setImportData(data); - setImportStatus('idle'); - setImportMessage(`Berhasil memuat ${data.length} baris data. Silakan review dan klik Import`); - } catch (error) { - setImportStatus('error'); - setImportMessage('Gagal membaca file. Pastikan format file benar (.xlsx atau .csv)'); - } - }; - - // Import data to localStorage - const handleImportData = () => { - if (importData.length === 0) return; - - setImportStatus('processing'); - setImportMessage('Mengimpor data...'); - - let successCount = 0; - let failedCount = 0; - - // Get MK for selected prodi and semester - const mkList = mataKuliahData.filter( - mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester - ); - - if (mkList.length === 0) { - setImportStatus('error'); - setImportMessage(`Tidak ada mata kuliah untuk ${prodiData.find(p => p.kode === selectedProdi)?.nama} Semester ${selectedSemester}`); - return; - } - - // Process each row - importData.forEach((row) => { - try { - // Find or create mahasiswa ID based on NIM - const mahasiswa = mahasiswaData.find(m => m.npm === row.nim); - const mahasiswaId = mahasiswa?.id || `MHS-${row.nim}`; - - // Import nilai for each MK column - mkList.forEach((mk) => { - const mkKodeClean = mk.kode.toLowerCase().replace(/[^a-z0-9]/g, ''); - const headerVariants = [ - mk.kode.toLowerCase(), - mkKodeClean, - mk.nama.toLowerCase(), - mk.nama.toLowerCase().replace(/\s+/g, '') - ]; - - // Find matching column - let nilaiAkhir: number | null = null; - for (const header of Object.keys(row)) { - if (headerVariants.some(variant => header.includes(variant) || variant.includes(header))) { - const nilai = parseFloat(row[header]); - if (!isNaN(nilai) && nilai >= 0 && nilai <= 100) { - nilaiAkhir = nilai; - break; - } - } - } - - // Save nilai if found - if (nilaiAkhir !== null) { - saveNilai(mahasiswaId, mk.kode, nilaiAkhir); - successCount++; - } - }); - } catch (error) { - failedCount++; - } - }); - - setImportStats({ - success: successCount, - failed: failedCount, - total: importData.length * mkList.length - }); - - setImportStatus('success'); - setImportMessage(`Import selesai! Berhasil: ${successCount} nilai, Gagal: ${failedCount}`); - - // Trigger refresh untuk update tab lain - setRefreshData(prev => prev + 1); - }; - - // Reset import - const handleReset = () => { - setSelectedFile(null); - setImportData([]); - setImportStatus('idle'); - setImportMessage(''); - setImportStats({ success: 0, failed: 0, total: 0 }); - }; - - return ( -
- {/* Header */} -
-

Manajemen Data

-

- Kelola data mahasiswa, mata kuliah, dan CPL -

-
- - {/* Tabs */} -
-
- - - - -
- -
- {activeTab === 'import' && ( -
- {/* Filter Section */} -
-

- - - - Filter Target Import -

-
-
- - -
-
- - -
-
- - {/* MK Info */} -
-

- Mata Kuliah di Semester {selectedSemester}: -

-
- {mataKuliahData - .filter(mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester) - .map(mk => ( - - {mk.kode} - {mk.nama} - - ))} -
-
-
- - {/* Upload Section */} -
-
- - - -
- -
-

- Format file harus memiliki kolom: NIM, Nama, dan kolom untuk setiap kode/nama MK -

-
- - {selectedFile && ( -
- - -
- )} -
- - {/* Status Message */} - {importMessage && ( -
-
- {importStatus === 'error' && ( - - - - )} - {importStatus === 'success' && ( - - - - )} - {importMessage} -
- {importStatus === 'success' && ( -
-

Total data diproses: {importStats.total}

-

✓ Berhasil: {importStats.success}

-

✗ Gagal: {importStats.failed}

-
- )} -
- )} - - {/* Preview Table */} - {importData.length > 0 && ( -
-
-

- Preview Data ({importData.length} mahasiswa) -

- -
-
- - - - - - - {Object.keys(importData[0]) - .filter(key => key !== 'nim' && key !== 'nama') - .map(key => ( - - ))} - - - - {importData.map((row, idx) => ( - - - - - {Object.keys(row) - .filter(key => key !== 'nim' && key !== 'nama') - .map(key => ( - - ))} - - ))} - -
NoNIMNama - {key} -
{idx + 1}{row.nim}{row.nama} - {row[key] && !isNaN(parseFloat(row[key])) ? ( - = 75 ? 'bg-green-100 text-green-800' : - parseFloat(row[key]) >= 60 ? 'bg-yellow-100 text-yellow-800' : - 'bg-red-100 text-red-800' - }`}> - {row[key]} - - ) : ( - - - )} -
-
-
- )} - - {/* Instructions */} -
-

- - - - Petunjuk Import Nilai -

-
    -
  1. Pilih Program Studi dan Semester target
  2. -
  3. Siapkan file CSV/TXT dengan format: -
      -
    • Kolom pertama: NIM (nomor induk mahasiswa)
    • -
    • Kolom kedua: Nama (nama mahasiswa)
    • -
    • Kolom selanjutnya: Kode atau Nama MK dengan nilai (0-100)
    • -
    -
  4. -
  5. Upload file dan klik "Preview Data" untuk melihat data yang akan diimpor
  6. -
  7. Jika data sudah sesuai, klik "Import ke Sistem"
  8. -
  9. Sistem akan otomatis menghitung CPL dan CPMK berdasarkan bobot yang sudah ditentukan
  10. -
-
-

Contoh format file:

-
-NIM,Nama,INF105,INF104,INF106
-2024001,Ahmad Fauzi,85,90,78
-2024002,Siti Aisyah,92,88,95
-                  
-
-
-
- )} - - {activeTab === 'mahasiswa' && ( -
-
-
-

- Data Mahasiswa yang Sudah Dinilai -

-

- Menampilkan mahasiswa yang sudah memiliki nilai untuk Prodi {prodiData.find(p => p.kode === selectedProdi)?.nama} -

-
-
- - -
-
- - {getMahasiswaWithNilai().length > 0 ? ( -
- - - - - - - - - - - - - - - - {getMahasiswaWithNilai().map((mhs, idx) => ( - - - - - - - - - - - - ))} - -
NoNIMNamaProdiAngkatanSemesterTotal NilaiDari ImportStatus
{idx + 1}{mhs.npm}{mhs.nama} - {prodiData.find(p => p.kode === mhs.prodiKode)?.nama} - {mhs.angkatan} - - Sem {mhs.semesterAktif} - - {mhs.totalNilai} - - {mhs.nilaiDariImport} - - - {mhs.nilaiDariImport > 0 ? ( - - - - - Terimport - - ) : ( - - Mock Data - - )} -
-
- ) : ( -
-
- - - -
-

Belum Ada Data Mahasiswa

-

- Import file nilai untuk menambahkan data mahasiswa -

- -
- )} -
- )} - - {activeTab === 'matakuliah' && ( -
-
-
-

- Statistik Mata Kuliah -

-

- Nilai rata-rata dan statistik per mata kuliah dari hasil import -

-
-
- - - -
-
- - {getMKStatistics().length > 0 ? ( -
- {getMKStatistics().map((mk) => ( -
-
-
- {mk.kode} -

{mk.nama}

-
- {mk.sks} SKS -
- -
-
- Dosen: - {mk.dosen.split(',')[0]} -
-
- Semester: - {mk.semester} -
-
- -
-
- Mahasiswa: - {mk.jumlahMahasiswa} orang -
-
- Rata-rata: - = 75 ? 'text-green-600' : - mk.avgNilai >= 60 ? 'text-yellow-600' : - 'text-red-600' - }`}> - {mk.avgNilai > 0 ? mk.avgNilai : '-'} - -
-
- Min - Max: - - {mk.minNilai > 0 ? `${mk.minNilai} - ${mk.maxNilai}` : '-'} - -
-
- Data Import: - - {mk.nilaiDariImport} nilai - -
-
- - {mk.jumlahMahasiswa > 0 && ( -
-
-
= 75 ? 'bg-green-500' : - mk.avgNilai >= 60 ? 'bg-yellow-500' : - 'bg-red-500' - }`} - style={{ width: `${(mk.avgNilai / 100) * 100}%` }} - >
-
-
- )} -
- ))} -
- ) : ( -
-
- - - -
-

Belum Ada Data Nilai

-

- Import file nilai terlebih dahulu untuk melihat statistik mata kuliah -

- -
- )} -
- )} - - {activeTab === 'cpl' && ( -
-
-
-

- Capaian Pembelajaran Lulusan (CPL) -

-

- Statistik capaian CPL hasil kalkulasi otomatis dari nilai yang diimport -

-
-
- - - -
-
- - {getCPLStatistics().filter(cpl => cpl.jumlahMahasiswa > 0).length > 0 ? ( -
- {/* Summary Cards */} -
-
-
-
-

Tercapai (≥75)

-

- {getCPLStatistics().reduce((sum, cpl) => sum + cpl.tercapai, 0)} -

-
-
- - - -
-
-
- -
-
-
-

Cukup (60-74)

-

- {getCPLStatistics().reduce((sum, cpl) => sum + cpl.cukup, 0)} -

-
-
- - - -
-
-
- -
-
-
-

Belum Tercapai (<60)

-

- {getCPLStatistics().reduce((sum, cpl) => sum + cpl.belumTercapai, 0)} -

-
-
- - - -
-
-
-
- - {/* CPL Details */} -
-
- - - - - - - - - - - - - {getCPLStatistics().filter(cpl => cpl.jumlahMahasiswa > 0).map((cpl) => ( - - - - - - - - - ))} - -
Kode CPLDeskripsiMahasiswaRata-rataMin - MaxDistribusi
- {cpl.kode} - - {cpl.deskripsi} - - - {cpl.jumlahMahasiswa} mhs - - - = 75 ? 'text-green-600' : - cpl.avgNilai >= 60 ? 'text-yellow-600' : - 'text-red-600' - }`}> - {cpl.avgNilai} - - - {cpl.minNilai} - {cpl.maxNilai} - -
- - ✓ {cpl.tercapai} - - - ~ {cpl.cukup} - - - ✗ {cpl.belumTercapai} - -
-
-
-
- - {/* Info */} -
-
- - - -
-

Informasi Kalkulasi CPL:

-
    -
  • Nilai CPL dihitung otomatis dari rata-rata MK yang terkait dengan CPL tersebut
  • -
  • Setiap MK memiliki CPMK dengan bobot yang dibagi rata
  • -
  • Data diupdate real-time setelah import nilai berhasil
  • -
  • Klik tombol Refresh untuk memperbarui statistik terbaru
  • -
-
-
-
-
- ) : ( -
-
- - - -
-

Belum Ada Data CPL

-

- Import file nilai terlebih dahulu untuk melihat capaian CPL -

- -
- )} -
- )} -
-
-
- ); -} diff --git a/FrontEnd/src/app/dashboard/page.tsx b/FrontEnd/src/app/dashboard/page.tsx deleted file mode 100644 index 9ce1e2d..0000000 --- a/FrontEnd/src/app/dashboard/page.tsx +++ /dev/null @@ -1,511 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; -import { useRouter } from 'next/navigation'; -import { prodiData, mahasiswaData, cplData, mataKuliahData, cpmkData, cpmkToCplMapping } from '@/data/mockData'; -import { hitungNilaiCPLPerSemesterIntegrated, hasInputNilai } from '@/utils/dataIntegration'; -import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, RadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Radar } from 'recharts'; - -export default function DashboardPage() { - const router = useRouter(); - const [selectedProdi, setSelectedProdi] = useState('ARS'); - const [selectedSemester, setSelectedSemester] = useState(2); - const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); - const [filteredMahasiswa, setFilteredMahasiswa] = useState([]); - const [cplScores, setCplScores] = useState([]); - const [mappingData, setMappingData] = useState(null); - - // Check auth - useEffect(() => { - if (typeof window !== 'undefined') { - const userData = sessionStorage.getItem('user'); - if (!userData) { - router.push('/login'); - } - } - }, [router]); - - // Filter mahasiswa by prodi - useEffect(() => { - const filtered = mahasiswaData.filter(m => m.prodiKode === selectedProdi); - setFilteredMahasiswa(filtered); - if (filtered.length > 0) { - setSelectedMahasiswa(filtered[0].id); - } - }, [selectedProdi]); - - // Calculate CPL scores when mahasiswa or semester changes - useEffect(() => { - if (!selectedMahasiswa) return; - - const scores = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, selectedSemester, selectedProdi); - - // Get CPL details for selected prodi - const prodiCPL = cplData.filter(c => c.prodiKode === selectedProdi); - const detailedScores = prodiCPL.map(cpl => { - const score = scores.find(s => s.cplKode === cpl.kode); - const nilai = score ? score.nilai : 0; - const isRealData = score && score.source !== 'mockData'; - - return { - kode: cpl.kode, - deskripsi: cpl.deskripsi, - nilai: nilai, - jumlahMK: score ? score.jumlahMK : 0, - status: nilai >= 75 ? 'Tercapai' : nilai >= 60 ? 'Cukup' : 'Belum Tercapai', - source: score ? score.source : 'none', - isRealData: isRealData, - }; - }); - - setCplScores(detailedScores); - }, [selectedMahasiswa, selectedSemester, selectedProdi]); - - // Generate CPL-MK-CPMK Mapping Data - useEffect(() => { - // Get CPL for selected prodi - const prodiCPL = cplData.filter(c => c.prodiKode === selectedProdi); - - // Get MK for selected semester and prodi - const mkSemester = mataKuliahData.filter( - mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester - ); - - // Build mapping structure - const mapping = prodiCPL.map(cpl => { - // Find MK that are related to this CPL - const relatedMK = mkSemester.filter(mk => - mk.cplTerkait.includes(cpl.kode) - ); - - // For each MK, get its CPMK - const mkWithCPMK = relatedMK.map(mk => { - const mkCPMK = cpmkData.filter(c => c.mkKode === mk.kode); - - // Get CPMK that map to this CPL - const relevantCPMK = mkCPMK.filter(cpmk => - cpmkToCplMapping.some(m => - m.cpmkKode === cpmk.kode && m.cplKode === cpl.kode - ) - ); - - return { - ...mk, - cpmkCount: relevantCPMK.length, - cpmkList: relevantCPMK - }; - }); - - return { - cpl: cpl, - mkCount: mkWithCPMK.length, - mataKuliah: mkWithCPMK, - totalCPMK: mkWithCPMK.reduce((sum, mk) => sum + mk.cpmkCount, 0) - }; - }); - - setMappingData(mapping); - }, [selectedProdi, selectedSemester]); - - const selectedMhs = mahasiswaData.find(m => m.id === selectedMahasiswa); - const selectedProdiData = prodiData.find(p => p.kode === selectedProdi); - - // Summary statistics - const tercapai = cplScores.filter(c => c.nilai >= 75).length; - const rataRata = cplScores.length > 0 - ? Math.round((cplScores.reduce((sum, c) => sum + c.nilai, 0) / cplScores.length) * 10) / 10 - : 0; - - // Chart data - const barChartData = cplScores.map(c => ({ - name: c.kode, - Nilai: c.nilai, - })); - - const radarChartData = cplScores.map(c => ({ - subject: c.kode, - value: c.nilai, - fullMark: 100, - })); - - return ( -
- {/* Header */} -
-

Dashboard Sistem CPL

-

- Pantau capaian pembelajaran lulusan mahasiswa per semester -

-
- - {/* Cascading Filters */} -
-
- {/* Pilih Prodi */} -
- - -
- - {/* Pilih Semester */} -
- - -
- - {/* Pilih Mahasiswa */} -
- - -
-
- - {/* Selected Info */} - {selectedMhs && ( -
-
-
- Prodi: -

{selectedProdiData?.nama}

-
-
- Nim: -

{selectedMhs.npm}

-
-
- Angkatan: -

{selectedMhs.angkatan}

-
-
- Semester Aktif: -

Semester {selectedMhs.semesterAktif}

-
-
-
- )} -
- - {/* Summary Cards */} -
-
-
-
-

CPL Tercapai

-

{tercapai}/{cplScores.length}

-

≥ 75 poin

-
-
- - - -
-
-
- -
-
-
-

Rata-rata CPL

-

{rataRata}

-

dari 100 poin

-
-
- - - -
-
-
- -
-
-
-

Status Semester {selectedSemester}

-

- {rataRata >= 75 ? 'Sangat Baik' : rataRata >= 60 ? 'Baik' : 'Perlu Perbaikan'} -

-

{cplScores.filter(c => c.nilai > 0).length} CPL terdata

-
-
- - - -
-
-
-
- - {/* Charts */} -
- {/* CPL-MK-CPMK Tree Diagram */} -
-

- - Hubungan (CPL - MK - CPMK) -

-

- Semester {selectedSemester} • {selectedProdiData?.nama} -

- -
- {mappingData && mappingData.map((item: any, idx: number) => ( -
- {/* CPL Node (Root) */} -
-
-
0 ? 'bg-blue-500' : 'bg-gray-300'}`}>
- {item.mkCount > 0 &&
} -
- -
-
-
- {item.cpl.kode} -
- - {item.mkCount} MK - - - {item.totalCPMK} CPMK - -
-
-

{item.cpl.deskripsi}

-
- - {/* MK Nodes (Children) */} - {item.mataKuliah.length > 0 && ( -
- {item.mataKuliah.map((mk: any, mkIdx: number) => ( -
-
-
0 ? 'bg-green-500' : 'bg-gray-300'}`}>
- {mk.cpmkCount > 0 &&
} -
- -
-
-
- - {mk.kode} - -
-

{mk.nama}

-

{mk.sks} SKS • {mk.dosen}

-
- {mk.cpmkCount > 0 && ( - - {mk.cpmkCount} CPMK - - )} -
-
- - {/* CPMK Nodes (Grandchildren) */} - {mk.cpmkList.length > 0 && ( -
- {mk.cpmkList.map((cpmk: any, cpmkIdx: number) => ( -
-
-
-
- -
-
-
- {cpmkIdx + 1} -
-

{cpmk.deskripsi}

- - {cpmk.bobot}% - -
-
-
- ))} -
- )} -
-
- ))} -
- )} - - {item.mataKuliah.length === 0 && ( -
- Tidak ada MK terkait di semester ini -
- )} -
-
-
- ))} -
- - {/* Legend */} -
-

Legenda:

-
-
-
- CPL -
-
-
- Mata Kuliah -
-
-
- CPMK -
-
-
-
- - {/* Radar Chart */} -
-

- - Profil CPL Mahasiswa -

-

Diagram visualisasi CPL mahasiswa berdasarkan data yang tersedia



- - - - - - - - - -
-
- - {/* CPL Table */} -
-
-

Detail Capaian Pembelajaran Lulusan

-

Semester {selectedSemester} - {selectedProdiData?.nama}

-
-
- - - - - - - - - - - - {cplScores.map((cpl, idx) => ( - - - - - - - - ))} - -
- Kode CPL - - Deskripsi - - Jumlah MK - - Nilai - - Status -
- {cpl.kode} - - {cpl.deskripsi} - - - {cpl.jumlahMK} MK - - - - {cpl.nilai} - - - - {cpl.status} - -
-
-
-
- ); -} diff --git a/FrontEnd/src/app/dashboard/settings/page.tsx b/FrontEnd/src/app/dashboard/settings/page.tsx deleted file mode 100644 index 15fef39..0000000 --- a/FrontEnd/src/app/dashboard/settings/page.tsx +++ /dev/null @@ -1,125 +0,0 @@ -'use client'; - -export default function SettingsPage() { - return ( -
- {/* Header */} -
-

Pengaturan

-

- Kelola pengaturan sistem dan profil -

-
- - {/* Settings Grid */} -
- {/* Profile Settings */} -
-

Profil Pengguna

-
-
- - -
-
- - -
-
- - -
- -
-
- - {/* System Settings */} -
-

Pengaturan Sistem

-
-
-
-

Notifikasi Email

-

Terima pemberitahuan via email

-
- -
- -
-
-

Mode Gelap

-

Aktifkan tema gelap

-
- -
- -
-
-

Auto-Save

-

Simpan otomatis saat input

-
- -
-
-
- - {/* About System */} -
-

Tentang Sistem

-
-
-
5
-

Program Studi

-
-
-
11
-

Total Mahasiswa

-
-
-
8
-

CPL per Prodi

-
-
-
-

- Sistem CPL v1.0 - Sistem Capaian Pembelajaran Lulusan -

-

- © 2025 Fakultas Teknik, Universitas Muhammadiyah Makassar -

-
-
-
-
- ); -} diff --git a/FrontEnd/src/app/globals.css b/FrontEnd/src/app/globals.css deleted file mode 100644 index a202c8e..0000000 --- a/FrontEnd/src/app/globals.css +++ /dev/null @@ -1,59 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -:root { - --foreground-rgb: 0, 0, 0; - --background-start-rgb: 214, 219, 220; - --background-end-rgb: 255, 255, 255; -} - -body { - color: rgb(var(--foreground-rgb)); - background: linear-gradient( - to bottom, - transparent, - rgb(var(--background-end-rgb)) - ) - rgb(var(--background-start-rgb)); -} - -@layer utilities { - .text-balance { - text-wrap: balance; - } -} - -@keyframes slide-in { - from { - transform: translateX(100%); - opacity: 0; - } - to { - transform: translateX(0); - opacity: 1; - } -} - -.animate-slide-in { - animation: slide-in 0.3s ease-out; -} - -/* Custom Scrollbar */ -.custom-scrollbar::-webkit-scrollbar { - width: 6px; -} - -.custom-scrollbar::-webkit-scrollbar-track { - background: #f1f5f9; - border-radius: 10px; -} - -.custom-scrollbar::-webkit-scrollbar-thumb { - background: #cbd5e1; - border-radius: 10px; -} - -.custom-scrollbar::-webkit-scrollbar-thumb:hover { - background: #94a3b8; -} diff --git a/FrontEnd/src/app/layout.tsx b/FrontEnd/src/app/layout.tsx deleted file mode 100644 index d07bd5b..0000000 --- a/FrontEnd/src/app/layout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import type { Metadata } from "next"; -import { Inter } from "next/font/google"; -import "./globals.css"; - -const inter = Inter({ subsets: ["latin"] }); - -export const metadata: Metadata = { - title: "Sistem CPL - Universitas Muhammadiyah Makassar", - description: "Sistem Capaian Pembelajaran Lulusan", -}; - -export default function RootLayout({ - children, -}: Readonly<{ - children: React.ReactNode; -}>) { - return ( - - {children} - - ); -} diff --git a/FrontEnd/src/app/login/page.tsx b/FrontEnd/src/app/login/page.tsx deleted file mode 100644 index 4270ead..0000000 --- a/FrontEnd/src/app/login/page.tsx +++ /dev/null @@ -1,124 +0,0 @@ -'use client'; - -import { useState } from 'react'; -import { useRouter } from 'next/navigation'; -import Link from 'next/link'; - -export default function LoginPage() { - const router = useRouter(); - const [credentials, setCredentials] = useState({ username: '', password: '' }); - const [error, setError] = useState(''); - const [loading, setLoading] = useState(false); - - const handleLogin = async (e: React.FormEvent) => { - e.preventDefault(); - setError(''); - setLoading(true); - - // Static credentials - const validUsers = [ - { username: 'admin', password: 'admin123', role: 'admin', name: 'Administrator' }, - { username: 'dosen', password: 'dosen123', role: 'dosen', name: 'Dr. Ahmad' }, - { username: 'kaprodi', password: 'kaprodi123', role: 'kaprodi', name: 'Dr. Siti' }, - ]; - - const user = validUsers.find( - u => u.username === credentials.username && u.password === credentials.password - ); - - setTimeout(() => { - if (user) { - // Save to sessionStorage - if (typeof window !== 'undefined') { - sessionStorage.setItem('user', JSON.stringify(user)); - } - router.push('/dashboard'); - } else { - setError('Username atau password salah'); - } - setLoading(false); - }, 500); - }; - - return ( -
-
- {/* Header */} -
-
- UM -
-

Sistem CPL

-

Universitas Muhammadiyah Makassar

-
- - {/* Form */} -
-

Login

- -
- {error && ( -
- {error} -
- )} - -
- - setCredentials({ ...credentials, username: e.target.value })} - className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-gray-900" - placeholder="Masukkan username" - required - /> -
- -
- - setCredentials({ ...credentials, password: e.target.value })} - className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-gray-900" - placeholder="Masukkan password" - required - /> -
- - -
- - {/* Demo Credentials */} -
-

Demo Credentials:

-
-

• Admin: admin / admin123

-

• Dosen: dosen / dosen123

-

• Kaprodi: kaprodi / kaprodi123

-
-
- -
- - ← Kembali ke Beranda - -
-
-
-
- ); -} diff --git a/FrontEnd/src/app/page.tsx b/FrontEnd/src/app/page.tsx deleted file mode 100644 index 0bd143b..0000000 --- a/FrontEnd/src/app/page.tsx +++ /dev/null @@ -1,546 +0,0 @@ -import Link from 'next/link'; - -export default function HomePage() { - return ( -
- {/* Header */} -
-
-
-
- UM -
-
-

Universitas Muhammadiyah Makassar

-

Sistem CPL - Fakultas Teknik

-
-
- - Login - -
-
- - {/* Hero Section */} -
-
-
-
- 🎓 Sistem Monitoring & Evaluasi CPL -
-

- Sistem Capaian
- - Pembelajaran Lulusan - -

-

- Platform digital terintegrasi untuk mengelola, memantau, dan mengevaluasi Capaian Pembelajaran Lulusan (CPL) - di 5 Program Studi Fakultas Teknik Universitas Muhammadiyah Makassar -

- -
- - Mulai Sekarang - - - - - - Pelajari Lebih Lanjut - - - - -
-
- - {/* Stats */} -
-
-
5
-
Program Studi
-
-
-
8
-
CPL per Prodi
-
-
-
144+
-
Total SKS
-
-
-
69
-
Mata Kuliah
-
-
-
-
- - {/* Program Studi Section */} -
-
-
-
-

- Program Studi yang Didukung -

-

- Sistem CPL melayani 5 Program Studi di Fakultas Teknik -

-
- -
- {/* Informatika */} -
-
- - - -
-

Teknik Informatika

-

S1 Teknik Informatika (INF)

-
- 📚 69 MK - ⏱️ 144 SKS -
-
- - {/* Arsitektur */} -
-
- - - -
-

Arsitektur

-

S1 Arsitektur (ARS)

-
- 📚 50+ MK - ⏱️ 145 SKS -
-
- - {/* PWK */} -
-
- - - -
-

PWK

-

S1 Perencanaan Wilayah Kota

-
- 📚 50+ MK - ⏱️ 144 SKS -
-
- - {/* Sipil */} -
-
- - - -
-

Teknik Sipil

-

S1 Teknik Sipil (SIP)

-
- 📚 50+ MK - ⏱️ 144 SKS -
-
- - {/* Elektro */} -
-
- - - -
-

Teknik Elektro

-

S1 Teknik Elektro (ELK)

-
- 📚 50+ MK - ⏱️ 144 SKS -
-
-
-
-
-
- - {/* Features Section */} -
-
-
-
-

- Fitur Unggulan Sistem -

-

- Solusi lengkap untuk pengelolaan CPL yang efisien dan terintegrasi -

-
- -
- {/* Feature 1 */} -
-
- - - -
-

Dashboard Tree Diagram

-

Visualisasi hierarki CPL → Mata Kuliah → CPMK yang interaktif dan mudah dipahami

-
- - {/* Feature 2 */} -
-
- - - -
-

Import Excel/CSV

-

Upload nilai mahasiswa secara batch dari file Excel atau CSV dengan validasi otomatis

-
- - {/* Feature 3 */} -
-
- - - -
-

Input Nilai Manual

-

Form input nilai per CPMK dengan kalkulasi otomatis dan distribusi ke CPL terkait

-
- - {/* Feature 4 */} -
-
- - - -
-

Laporan CPMK Breakdown

-

Laporan detail dengan breakdown CPMK, bobot, dan kontribusi ke setiap CPL

-
- - {/* Feature 5 */} -
-
- - - -
-

Manajemen Data

-

4 tab terintegrasi: Import, Mahasiswa, Mata Kuliah, dan monitoring CPL & CPMK

-
- - {/* Feature 6 */} -
-
- - - -
-

Visualisasi Radar Chart

-

Grafik radar untuk overview 8 CPL dengan interpretasi status pencapaian

-
-
-
-
-
- - {/* How It Works Section */} -
-
-
-
-

- Cara Kerja Sistem -

-

- Proses kalkulasi CPL yang akurat dengan metode weighted average -

-
- -
- {/* Step 1 */} -
-
-
01
-

Input Nilai CPMK

-

- Input nilai per CPMK untuk setiap mata kuliah. Sistem otomatis menghitung nilai MK berdasarkan bobot CPMK. -

-
-
- - - -
-
- - {/* Step 2 */} -
-
-
02
-

Kalkulasi Otomatis

-

- Sistem menghitung kontribusi setiap CPMK ke CPL menggunakan weighted average dengan bobot MK dan CPMK. -

-
-
- - - -
-
- - {/* Step 3 */} -
-
03
-

Laporan & Analisis

-

- Dapatkan laporan lengkap dengan visualisasi, breakdown detail, dan status pencapaian CPL per mahasiswa. -

-
-
- - {/* Formula */} -
-

📐 Formula Kalkulasi:

-
-
Nilai MK = Σ (Nilai CPMK × Bobot CPMK)
-
Bobot MK = 100% / Jumlah MK per CPL
-
Nilai CPL = Σ (Nilai CPMK × Bobot MK × Bobot CPMK) / Σ (Bobot MK × Bobot CPMK)
-
-
-
-
-
- - {/* Benefits Section */} -
-
-
-
-

- Keuntungan Menggunakan Sistem -

-

- Solusi yang memberikan nilai tambah untuk semua stakeholder -

-
- -
- {/* Benefit 1 */} -
-
-
- - - -
-
-

Efisiensi Waktu

-

Proses input dan kalkulasi nilai yang cepat, hemat waktu hingga 80% dibanding manual

-
-
-
- - {/* Benefit 2 */} -
-
-
- - - -
-
-

Akurasi Tinggi

-

Kalkulasi otomatis meminimalkan human error, hasil lebih akurat dan konsisten

-
-
-
- - {/* Benefit 3 */} -
-
-
- - - -
-
-

Monitoring Real-time

-

Pantau pencapaian CPL mahasiswa secara real-time dengan visualisasi yang jelas

-
-
-
- - {/* Benefit 4 */} -
-
-
- - - -
-
-

Compliance SNPT

-

Sesuai dengan Standar Nasional Pendidikan Tinggi dan sistem OBE (Outcome-Based Education)

-
-
-
- - {/* Benefit 5 */} -
-
-
- - - -
-
-

Kolaboratif

-

Mendukung kolaborasi antara kaprodi, dosen, dan admin dalam satu platform

-
-
-
- - {/* Benefit 6 */} -
-
-
- - - -
-
-

Export Laporan

-

Ekspor laporan ke format PDF atau Excel untuk dokumentasi dan presentasi

-
-
-
-
-
-
-
- - {/* CTA Section */} -
-
-
-

- Siap Memulai? -

-

- Kelola CPL dengan lebih efisien menggunakan sistem terintegrasi kami -

-
- - Login Sekarang - - - - - - - - - GitHub Repository - -
-
-
-
- - {/* Footer */} -
-
-
- {/* About */} -
-
-
- UM -
-
-

Sistem CPL

-

UNISMUH Makassar

-
-
-

- Platform digital terintegrasi untuk mengelola Capaian Pembelajaran Lulusan di 5 Program Studi Fakultas Teknik. -

- -
- - {/* Quick Links */} -
-

Quick Links

- -
- - {/* Program Studi */} -
-

Program Studi

-
    -
  • Teknik Informatika
  • -
  • Arsitektur
  • -
  • Perencanaan Wilayah Kota
  • -
  • Teknik Sipil
  • -
  • Teknik Elektro
  • -
-
-
- -
-

- © 2025 Universitas Muhammadiyah Makassar. All rights reserved. -

-

- Sistem Capaian Pembelajaran Lulusan v2.0 | Dikembangkan dengan ❤️ untuk UNISMUH Makassar -

-
-
-
-
- ); -} diff --git a/FrontEnd/src/components/Sidebar.tsx b/FrontEnd/src/components/Sidebar.tsx deleted file mode 100644 index 9d02348..0000000 --- a/FrontEnd/src/components/Sidebar.tsx +++ /dev/null @@ -1,212 +0,0 @@ -'use client'; - -import { useState } from 'react'; -import Link from 'next/link'; -import { usePathname } from 'next/navigation'; - -interface MenuItem { - icon: React.ReactNode; - label: string; - path: string; - badge?: number; -} - -export default function Sidebar() { - const [isCollapsed, setIsCollapsed] = useState(false); - const [isMobileOpen, setIsMobileOpen] = useState(false); - const pathname = usePathname(); - - const menuItems: MenuItem[] = [ - { - icon: ( - - - - ), - label: 'Dashboard', - path: '/dashboard', - }, - { - icon: ( - - - - ), - label: 'Input Nilai', - path: '/dashboard/input-nilai', - }, - { - icon: ( - - - - ), - label: 'Laporan', - path: '/dashboard/laporan', - }, - { - icon: ( - - - - ), - label: 'Manajemen Data', - path: '/dashboard/manajemen', - }, - { - icon: ( - - - - - ), - label: 'Settings', - path: '/dashboard/settings', - }, - ]; - - const isActive = (path: string) => { - return pathname === path || pathname.startsWith(path + '/'); - }; - - return ( - <> - {/* Mobile Hamburger Button */} - - - {/* Mobile Overlay */} - {isMobileOpen && ( -
setIsMobileOpen(false)} - className="lg:hidden fixed inset-0 bg-black bg-opacity-50 z-40" - /> - )} - - {/* Sidebar */} - - - {/* Main Content Spacer */} -
- - ); -} diff --git a/FrontEnd/src/data/mockData.ts b/FrontEnd/src/data/mockData.ts deleted file mode 100644 index 041f482..0000000 --- a/FrontEnd/src/data/mockData.ts +++ /dev/null @@ -1,1127 +0,0 @@ -// ===== PRODI (PROGRAM STUDI) ===== -export interface Prodi { - kode: string; - nama: string; - fakultas: string; - kaprodi: string; -} - -export const prodiData: Prodi[] = [ - { kode: 'INF', nama: 'Teknik Informatika', fakultas: 'Teknik', kaprodi: 'Dr. Ahmad Informatika, M.Kom' }, - { kode: 'ARS', nama: 'Arsitektur', fakultas: 'Teknik', kaprodi: 'Dr. Budi Arsitektur, M.Arch' }, - { kode: 'PWK', nama: 'Perencanaan Wilayah dan Kota', fakultas: 'Teknik', kaprodi: 'Dr. Ir. Citra PWK, M.T' }, - { kode: 'SIP', nama: 'Teknik Sipil', fakultas: 'Teknik', kaprodi: 'Dr. Ir. Dedi Sipil, M.T' }, - { kode: 'ELK', nama: 'Teknik Elektro', fakultas: 'Teknik', kaprodi: 'Dr. Ir. Eka Elektro, M.T' }, -]; - -// ===== DATA MAHASISWA ===== -export interface Mahasiswa { - id: string; - npm: string; - nama: string; - prodiKode: string; - angkatan: string; - semesterAktif: number; -} - -export const mahasiswaData: Mahasiswa[] = [ - // Teknik Informatika - { id: '1', npm: '105231001001', nama: 'Ahmad Fauzi', prodiKode: 'INF', angkatan: '2021', semesterAktif: 7 }, - { id: '2', npm: '105231001002', nama: 'Siti Aisyah', prodiKode: 'INF', angkatan: '2022', semesterAktif: 5 }, - - // Arsitektur - { id: '3', npm: '105232101001', nama: 'Budi Santoso', prodiKode: 'ARS', angkatan: '2023', semesterAktif: 3 }, - { id: '4', npm: '105232101002', nama: 'Citra Dewi', prodiKode: 'ARS', angkatan: '2022', semesterAktif: 5 }, - { id: '5', npm: '105232101003', nama: 'Dedi Prasetyo', prodiKode: 'ARS', angkatan: '2022', semesterAktif: 6 }, - - // PWK - { id: '6', npm: '105233001001', nama: 'Eka Putri', prodiKode: 'PWK', angkatan: '2021', semesterAktif: 7 }, - { id: '7', npm: '105233001002', nama: 'Fahri Rahman', prodiKode: 'PWK', angkatan: '2022', semesterAktif: 5 }, - - // Teknik Sipil - { id: '8', npm: '105232201001', nama: 'Gita Sari', prodiKode: 'SIP', angkatan: '2021', semesterAktif: 7 }, - { id: '9', npm: '105232201002', nama: 'Hendra Wijaya', prodiKode: 'SIP', angkatan: '2022', semesterAktif: 5 }, - - // Teknik Elektro - { id: '10', npm: '105232301001', nama: 'Indah Permata', prodiKode: 'ELK', angkatan: '2021', semesterAktif: 7 }, - { id: '11', npm: '105232301002', nama: 'Joko Susilo', prodiKode: 'ELK', angkatan: '2022', semesterAktif: 5 }, -]; - -// ===== CPL (CAPAIAN PEMBELAJARAN LULUSAN) ===== -export interface CPL { - kode: string; - prodiKode: string; - deskripsi: string; - kategori: 'sikap' | 'pengetahuan' | 'keterampilan_umum' | 'keterampilan_khusus'; -} - -// CPL ARSITEKTUR (8 CPL) -export const cplData: CPL[] = [ - { - kode: 'CPL1', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu menunjukkan integritas, etika profesi, nilai-nilai keislaman, tanggung jawab sosial, dan komitmen terhadap keberlanjutan dalam setiap praktik arsitektur', - kategori: 'sikap' - }, - { - kode: 'CPL2', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu merancang bangunan, interior, tapak, dan ruang luar secara kreatif, humanis, inklusif, dan berkelanjutan, dengan mensintesis teori, konsep, konteks, nilai Islami, serta kebutuhan pengguna', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL3', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu menganalisis dan mengevaluasi sistem struktur beton, baja, dan konstruksi bangunan lainnya, serta menghasilkan solusi struktur dan ruang melalui penerapan mekanika bangunan', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL4', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu mengkaji dan mengevaluasi sejarah arsitektur dunia, arsitektur Islam, dan perkembangan arsitektur kontemporer, serta mengintegrasikan wawasan tersebut dalam desain', - kategori: 'pengetahuan' - }, - { - kode: 'CPL5', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu menghasilkan komunikasi visual arsitektur dalam bentuk gambar 2D, 3D, simulasi, dan presentasi profesional', - kategori: 'keterampilan_umum' - }, - { - kode: 'CPL6', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu merancang dan mengevaluasi struktur, konstruksi, material, dan detail bangunan berdasarkan kaidah teknis, aspek estetika, keamanan, topografi, dan teknologi', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL7', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu merancang dan mengevaluasi sistem utilitas dan kenyamanan bangunan (termal, penghawaan, pencahayaan, akustik) dengan mempertimbangkan iklim tropis', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL8', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu menghasilkan gambar kerja, laporan teknis-ilmiah, serta model digital berbasis BIM secara profesional', - kategori: 'keterampilan_khusus' - }, - - // CPL TEKNIK INFORMATIKA (8 CPL) - { - kode: 'CPL1', - prodiKode: 'INF', - deskripsi: 'Mampu menunjukkan integritas, etika profesi, nilai-nilai keislaman, tanggung jawab sosial dalam pengembangan sistem informasi', - kategori: 'sikap' - }, - { - kode: 'CPL2', - prodiKode: 'INF', - deskripsi: 'Mampu merancang, membangun, dan mengelola aplikasi berbasis komputer menggunakan metodologi rekayasa perangkat lunak', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL3', - prodiKode: 'INF', - deskripsi: 'Mampu menganalisis, merancang, dan mengimplementasikan basis data serta sistem manajemen database', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL4', - prodiKode: 'INF', - deskripsi: 'Mampu menguasai konsep algoritma, struktur data, dan pemrograman berorientasi objek', - kategori: 'pengetahuan' - }, - { - kode: 'CPL5', - prodiKode: 'INF', - deskripsi: 'Mampu merancang dan mengimplementasikan jaringan komputer serta infrastruktur sistem', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL6', - prodiKode: 'INF', - deskripsi: 'Mampu mengembangkan aplikasi web dan mobile menggunakan framework modern', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL7', - prodiKode: 'INF', - deskripsi: 'Mampu menerapkan keamanan siber, kriptografi, dan pengelolaan resiko sistem informasi', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL8', - prodiKode: 'INF', - deskripsi: 'Mampu menggunakan teknologi AI/ML, Big Data, dan Cloud Computing dalam solusi sistem informasi', - kategori: 'keterampilan_umum' - }, - - // CPL TEKNIK SIPIL (contoh 8 CPL) - { kode: 'CPL1', prodiKode: 'SIP', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam praktik teknik sipil', kategori: 'sikap' }, - { kode: 'CPL2', prodiKode: 'SIP', deskripsi: 'Mampu merancang struktur bangunan sipil yang aman dan ekonomis', kategori: 'keterampilan_khusus' }, - { kode: 'CPL3', prodiKode: 'SIP', deskripsi: 'Mampu menganalisis dan merancang sistem transportasi', kategori: 'keterampilan_khusus' }, - { kode: 'CPL4', prodiKode: 'SIP', deskripsi: 'Mampu menguasai konsep mekanika tanah dan pondasi', kategori: 'pengetahuan' }, - { kode: 'CPL5', prodiKode: 'SIP', deskripsi: 'Mampu menggunakan software teknik sipil (AutoCAD, SAP2000, Civil3D)', kategori: 'keterampilan_umum' }, - { kode: 'CPL6', prodiKode: 'SIP', deskripsi: 'Mampu merencanakan dan mengelola proyek konstruksi', kategori: 'keterampilan_khusus' }, - { kode: 'CPL7', prodiKode: 'SIP', deskripsi: 'Mampu merancang sistem hidrologi dan sumber daya air', kategori: 'keterampilan_khusus' }, - { kode: 'CPL8', prodiKode: 'SIP', deskripsi: 'Mampu membuat laporan teknis dan dokumentasi proyek', kategori: 'keterampilan_umum' }, - // CPL TEKNIK ELEKTRO (contoh 8 CPL) - { kode: 'CPL1', prodiKode: 'ELK', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam bidang elektro', kategori: 'sikap' }, - { kode: 'CPL2', prodiKode: 'ELK', deskripsi: 'Mampu merancang sistem tenaga listrik', kategori: 'keterampilan_khusus' }, - { kode: 'CPL3', prodiKode: 'ELK', deskripsi: 'Mampu menganalisis dan merancang sistem kontrol', kategori: 'keterampilan_khusus' }, - { kode: 'CPL4', prodiKode: 'ELK', deskripsi: 'Mampu menguasai elektronika daya dan konversi energi', kategori: 'pengetahuan' }, - { kode: 'CPL5', prodiKode: 'ELK', deskripsi: 'Mampu menggunakan software simulasi (MATLAB, PSCAD)', kategori: 'keterampilan_umum' }, - { kode: 'CPL6', prodiKode: 'ELK', deskripsi: 'Mampu merancang sistem telekomunikasi dan jaringan', kategori: 'keterampilan_khusus' }, - { kode: 'CPL7', prodiKode: 'ELK', deskripsi: 'Mampu mengembangkan sistem embedded dan IoT', kategori: 'keterampilan_khusus' }, - { kode: 'CPL8', prodiKode: 'ELK', deskripsi: 'Mampu membuat dokumentasi teknis dan presentasi', kategori: 'keterampilan_umum' }, - // CPL TEKNIK MESIN (contoh 8 CPL) - { kode: 'CPL1', prodiKode: 'MES', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam teknik mesin', kategori: 'sikap' }, - { kode: 'CPL2', prodiKode: 'MES', deskripsi: 'Mampu merancang sistem mekanis dan termal', kategori: 'keterampilan_khusus' }, - { kode: 'CPL3', prodiKode: 'MES', deskripsi: 'Mampu menganalisis kekuatan material dan struktur mesin', kategori: 'keterampilan_khusus' }, - { kode: 'CPL4', prodiKode: 'MES', deskripsi: 'Mampu menguasai proses manufaktur dan produksi', kategori: 'pengetahuan' }, - { kode: 'CPL5', prodiKode: 'MES', deskripsi: 'Mampu menggunakan CAD/CAM (SolidWorks, CATIA)', kategori: 'keterampilan_umum' }, - { kode: 'CPL6', prodiKode: 'MES', deskripsi: 'Mampu merancang sistem konversi energi', kategori: 'keterampilan_khusus' }, - { kode: 'CPL7', prodiKode: 'MES', deskripsi: 'Mampu melakukan maintenance dan troubleshooting mesin', kategori: 'keterampilan_khusus' }, - { kode: 'CPL8', prodiKode: 'MES', deskripsi: 'Mampu membuat laporan teknis dan gambar teknik', kategori: 'keterampilan_umum' }, - // CPL TEKNIK INDUSTRI (contoh 8 CPL) - { kode: 'CPL1', prodiKode: 'IND', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam teknik industri', kategori: 'sikap' }, - { kode: 'CPL2', prodiKode: 'IND', deskripsi: 'Mampu merancang sistem produksi dan operasi', kategori: 'keterampilan_khusus' }, - { kode: 'CPL3', prodiKode: 'IND', deskripsi: 'Mampu menganalisis dan mengoptimalkan proses industri', kategori: 'keterampilan_khusus' }, - { kode: 'CPL4', prodiKode: 'IND', deskripsi: 'Mampu menguasai manajemen kualitas dan supply chain', kategori: 'pengetahuan' }, - { kode: 'CPL5', prodiKode: 'IND', deskripsi: 'Mampu menggunakan software simulasi (Arena, FlexSim)', kategori: 'keterampilan_umum' }, - { kode: 'CPL6', prodiKode: 'IND', deskripsi: 'Mampu merancang tata letak pabrik dan ergonomi', kategori: 'keterampilan_khusus' }, - { kode: 'CPL7', prodiKode: 'IND', deskripsi: 'Mampu melakukan analisis biaya dan kelayakan proyek', kategori: 'keterampilan_khusus' }, - { kode: 'CPL8', prodiKode: 'IND', deskripsi: 'Mampu membuat laporan analisis dan rekomendasi', kategori: 'keterampilan_umum' }, -]; - -// ===== CPMK (CAPAIAN PEMBELAJARAN MATA KULIAH) ===== -export interface CPMK { - kode: string; - mkKode: string; - deskripsi: string; - bobot: number; // dalam persen (total per MK = 100%) -} - -export const cpmkData: CPMK[] = [ - // SEMESTER I - Pancasila (ARS101) - { kode: 'CPMK-ARS101-1', mkKode: 'ARS101', deskripsi: 'Memahami nilai-nilai Pancasila', bobot: 20 }, - { kode: 'CPMK-ARS101-2', mkKode: 'ARS101', deskripsi: 'Menerapkan Pancasila dalam kehidupan', bobot: 20 }, - { kode: 'CPMK-ARS101-3', mkKode: 'ARS101', deskripsi: 'Menganalisis tantangan implementasi Pancasila', bobot: 30 }, - { kode: 'CPMK-ARS101-4', mkKode: 'ARS101', deskripsi: 'Mengevaluasi penerapan Pancasila di masyarakat', bobot: 20 }, - { kode: 'CPMK-ARS101-5', mkKode: 'ARS101', deskripsi: 'Mengintegrasikan nilai Pancasila dalam profesi', bobot: 10 }, - - // SEMESTER II - Studio Perancangan 1 (ARS205) - CONTOH LENGKAP - { kode: 'CPMK-ARS205-1', mkKode: 'ARS205', deskripsi: 'Memahami prinsip dasar perancangan arsitektur', bobot: 20 }, - { kode: 'CPMK-ARS205-2', mkKode: 'ARS205', deskripsi: 'Menganalisis kebutuhan dan konteks tapak', bobot: 20 }, - { kode: 'CPMK-ARS205-3', mkKode: 'ARS205', deskripsi: 'Mengembangkan konsep desain yang kreatif', bobot: 30 }, - { kode: 'CPMK-ARS205-4', mkKode: 'ARS205', deskripsi: 'Menghasilkan gambar presentasi 2D dan 3D', bobot: 20 }, - { kode: 'CPMK-ARS205-5', mkKode: 'ARS205', deskripsi: 'Mempresentasikan desain secara profesional', bobot: 10 }, - - // SEMESTER II - Struktur & Konstruksi 1 (ARS204) - { kode: 'CPMK-ARS204-1', mkKode: 'ARS204', deskripsi: 'Memahami prinsip dasar struktur beton', bobot: 20 }, - { kode: 'CPMK-ARS204-2', mkKode: 'ARS204', deskripsi: 'Menganalisis beban struktur bangunan', bobot: 25 }, - { kode: 'CPMK-ARS204-3', mkKode: 'ARS204', deskripsi: 'Merancang elemen struktur beton sederhana', bobot: 30 }, - { kode: 'CPMK-ARS204-4', mkKode: 'ARS204', deskripsi: 'Mengevaluasi kekuatan dan keamanan struktur', bobot: 15 }, - { kode: 'CPMK-ARS204-5', mkKode: 'ARS204', deskripsi: 'Menggambar detail konstruksi beton', bobot: 10 }, - - // SEMESTER III - Studio Perancangan 2 (ARS301) - { kode: 'CPMK-ARS301-1', mkKode: 'ARS301', deskripsi: 'Menganalisis konteks sosial-budaya desain', bobot: 20 }, - { kode: 'CPMK-ARS301-2', mkKode: 'ARS301', deskripsi: 'Merancang bangunan residensial kompleks', bobot: 25 }, - { kode: 'CPMK-ARS301-3', mkKode: 'ARS301', deskripsi: 'Mengintegrasikan aspek struktur dan utilitas', bobot: 25 }, - { kode: 'CPMK-ARS301-4', mkKode: 'ARS301', deskripsi: 'Menghasilkan visualisasi 3D yang menarik', bobot: 20 }, - { kode: 'CPMK-ARS301-5', mkKode: 'ARS301', deskripsi: 'Mempresentasikan portofolio desain', bobot: 10 }, - - // SEMESTER III - Struktur & Konstruksi 2 (ARS302) - { kode: 'CPMK-ARS302-1', mkKode: 'ARS302', deskripsi: 'Memahami sistem struktur rangka beton', bobot: 20 }, - { kode: 'CPMK-ARS302-2', mkKode: 'ARS302', deskripsi: 'Menganalisis struktur bangunan bertingkat', bobot: 25 }, - { kode: 'CPMK-ARS302-3', mkKode: 'ARS302', deskripsi: 'Merancang balok dan kolom beton bertulang', bobot: 30 }, - { kode: 'CPMK-ARS302-4', mkKode: 'ARS302', deskripsi: 'Menghitung kebutuhan tulangan beton', bobot: 15 }, - { kode: 'CPMK-ARS302-5', mkKode: 'ARS302', deskripsi: 'Membuat gambar detail struktur beton', bobot: 10 }, - - // SEMESTER V - Studio Perancangan 4 (ARS501) - { kode: 'CPMK-ARS501-1', mkKode: 'ARS501', deskripsi: 'Menganalisis isu urban dan konteks kota', bobot: 20 }, - { kode: 'CPMK-ARS501-2', mkKode: 'ARS501', deskripsi: 'Merancang bangunan komersial atau publik', bobot: 25 }, - { kode: 'CPMK-ARS501-3', mkKode: 'ARS501', deskripsi: 'Mengintegrasikan teknologi hijau', bobot: 25 }, - { kode: 'CPMK-ARS501-4', mkKode: 'ARS501', deskripsi: 'Menghasilkan model BIM dan render fotorealistik', bobot: 20 }, - { kode: 'CPMK-ARS501-5', mkKode: 'ARS501', deskripsi: 'Melakukan presentasi desain yang komprehensif', bobot: 10 }, - - // SEMESTER VI - Arsitektur Hijau (ARS603) - { kode: 'CPMK-ARS603-1', mkKode: 'ARS603', deskripsi: 'Memahami prinsip arsitektur berkelanjutan', bobot: 20 }, - { kode: 'CPMK-ARS603-2', mkKode: 'ARS603', deskripsi: 'Menganalisis dampak lingkungan bangunan', bobot: 20 }, - { kode: 'CPMK-ARS603-3', mkKode: 'ARS603', deskripsi: 'Merancang bangunan hemat energi', bobot: 30 }, - { kode: 'CPMK-ARS603-4', mkKode: 'ARS603', deskripsi: 'Menerapkan material ramah lingkungan', bobot: 20 }, - { kode: 'CPMK-ARS603-5', mkKode: 'ARS603', deskripsi: 'Mengevaluasi kinerja energi bangunan', bobot: 10 }, - - // SEMESTER VIII - Tugas Akhir (ARS801) - { kode: 'CPMK-ARS801-1', mkKode: 'ARS801', deskripsi: 'Merumuskan permasalahan desain secara komprehensif', bobot: 20 }, - { kode: 'CPMK-ARS801-2', mkKode: 'ARS801', deskripsi: 'Mengembangkan metodologi perancangan', bobot: 20 }, - { kode: 'CPMK-ARS801-3', mkKode: 'ARS801', deskripsi: 'Merancang bangunan dengan kompleksitas tinggi', bobot: 30 }, - { kode: 'CPMK-ARS801-4', mkKode: 'ARS801', deskripsi: 'Menghasilkan gambar kerja dan dokumen lengkap', bobot: 20 }, - { kode: 'CPMK-ARS801-5', mkKode: 'ARS801', deskripsi: 'Mempertahankan desain di hadapan dewan penguji', bobot: 10 }, - - // CPMK INFORMATIKA - SEMESTER I - // INF105 - Algoritma & Pemrograman - { kode: 'CPMK-INF105-1', mkKode: 'INF105', deskripsi: 'Memahami konsep algoritma dan flowchart', bobot: 20 }, - { kode: 'CPMK-INF105-2', mkKode: 'INF105', deskripsi: 'Menulis pseudocode untuk menyelesaikan masalah', bobot: 25 }, - { kode: 'CPMK-INF105-3', mkKode: 'INF105', deskripsi: 'Mengimplementasikan algoritma dalam bahasa pemrograman', bobot: 30 }, - { kode: 'CPMK-INF105-4', mkKode: 'INF105', deskripsi: 'Menganalisis kompleksitas algoritma', bobot: 15 }, - { kode: 'CPMK-INF105-5', mkKode: 'INF105', deskripsi: 'Menerapkan struktur kontrol dan perulangan', bobot: 10 }, - - // INF104 - Matematika Diskrit - { kode: 'CPMK-INF104-1', mkKode: 'INF104', deskripsi: 'Memahami logika proposisi dan predikat', bobot: 20 }, - { kode: 'CPMK-INF104-2', mkKode: 'INF104', deskripsi: 'Menerapkan teori himpunan dan relasi', bobot: 25 }, - { kode: 'CPMK-INF104-3', mkKode: 'INF104', deskripsi: 'Menganalisis graf dan pohon', bobot: 25 }, - { kode: 'CPMK-INF104-4', mkKode: 'INF104', deskripsi: 'Menyelesaikan masalah kombinatorik', bobot: 20 }, - { kode: 'CPMK-INF104-5', mkKode: 'INF104', deskripsi: 'Membuktikan teorema matematika diskrit', bobot: 10 }, - - // INF106 - Pengantar Teknologi Informasi - { kode: 'CPMK-INF106-1', mkKode: 'INF106', deskripsi: 'Memahami konsep sistem informasi', bobot: 20 }, - { kode: 'CPMK-INF106-2', mkKode: 'INF106', deskripsi: 'Mengidentifikasi komponen hardware dan software', bobot: 25 }, - { kode: 'CPMK-INF106-3', mkKode: 'INF106', deskripsi: 'Memahami arsitektur komputer dasar', bobot: 25 }, - { kode: 'CPMK-INF106-4', mkKode: 'INF106', deskripsi: 'Menggunakan sistem operasi dan aplikasi produktivitas', bobot: 20 }, - { kode: 'CPMK-INF106-5', mkKode: 'INF106', deskripsi: 'Memahami etika dan keamanan IT', bobot: 10 }, - - // CPMK INFORMATIKA - SEMESTER II - // INF202 - Struktur Data - { kode: 'CPMK-INF202-1', mkKode: 'INF202', deskripsi: 'Memahami konsep Array, Stack, Queue', bobot: 25 }, - { kode: 'CPMK-INF202-2', mkKode: 'INF202', deskripsi: 'Mengimplementasikan Linked List', bobot: 20 }, - { kode: 'CPMK-INF202-3', mkKode: 'INF202', deskripsi: 'Menerapkan Tree dan Graph', bobot: 25 }, - { kode: 'CPMK-INF202-4', mkKode: 'INF202', deskripsi: 'Menganalisis kompleksitas struktur data', bobot: 20 }, - { kode: 'CPMK-INF202-5', mkKode: 'INF202', deskripsi: 'Memilih struktur data yang efisien', bobot: 10 }, - - // INF203 - Pemrograman Berorientasi Objek - { kode: 'CPMK-INF203-1', mkKode: 'INF203', deskripsi: 'Memahami konsep OOP (Class, Object)', bobot: 20 }, - { kode: 'CPMK-INF203-2', mkKode: 'INF203', deskripsi: 'Menerapkan Encapsulation dan Abstraction', bobot: 25 }, - { kode: 'CPMK-INF203-3', mkKode: 'INF203', deskripsi: 'Mengimplementasikan Inheritance dan Polymorphism', bobot: 30 }, - { kode: 'CPMK-INF203-4', mkKode: 'INF203', deskripsi: 'Menggunakan Interface dan Abstract Class', bobot: 15 }, - { kode: 'CPMK-INF203-5', mkKode: 'INF203', deskripsi: 'Mendesain aplikasi berbasis OOP', bobot: 10 }, - - // INF207 - Pemrograman Web - { kode: 'CPMK-INF207-1', mkKode: 'INF207', deskripsi: 'Memahami HTML, CSS, JavaScript', bobot: 25 }, - { kode: 'CPMK-INF207-2', mkKode: 'INF207', deskripsi: 'Membuat halaman web responsif', bobot: 20 }, - { kode: 'CPMK-INF207-3', mkKode: 'INF207', deskripsi: 'Mengimplementasikan form dan validasi', bobot: 25 }, - { kode: 'CPMK-INF207-4', mkKode: 'INF207', deskripsi: 'Menggunakan framework CSS (Bootstrap/Tailwind)', bobot: 20 }, - { kode: 'CPMK-INF207-5', mkKode: 'INF207', deskripsi: 'Menghubungkan frontend dengan backend', bobot: 10 }, - - // Contoh CPMK untuk MK-MK lainnya (simplified untuk demo) - { kode: 'CPMK-ARS108-1', mkKode: 'ARS108', deskripsi: 'Memahami konsep gaya dan momen', bobot: 25 }, - { kode: 'CPMK-ARS108-2', mkKode: 'ARS108', deskripsi: 'Menganalisis struktur statis tertentu', bobot: 25 }, - { kode: 'CPMK-ARS108-3', mkKode: 'ARS108', deskripsi: 'Menghitung reaksi perletakan', bobot: 25 }, - { kode: 'CPMK-ARS108-4', mkKode: 'ARS108', deskripsi: 'Membuat diagram gaya normal, geser, momen', bobot: 15 }, - { kode: 'CPMK-ARS108-5', mkKode: 'ARS108', deskripsi: 'Mengaplikasikan mekanika teknik dalam desain', bobot: 10 }, -]; - -// ===== MAPPING CPMK KE CPL ===== -export interface CPMKtoCPLMapping { - cpmkKode: string; - cplKode: string; - bobot: number; // kontribusi CPMK terhadap CPL (dalam persen) -} - -export const cpmkToCplMapping: CPMKtoCPLMapping[] = [ - // Studio Perancangan 1 (ARS205) → CPL2 (Perancangan), CPL5 (Komunikasi Visual) - { cpmkKode: 'CPMK-ARS205-1', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-ARS205-2', cplKode: 'CPL2', bobot: 20 }, - { cpmkKode: 'CPMK-ARS205-3', cplKode: 'CPL2', bobot: 30 }, - { cpmkKode: 'CPMK-ARS205-4', cplKode: 'CPL5', bobot: 40 }, - { cpmkKode: 'CPMK-ARS205-5', cplKode: 'CPL5', bobot: 35 }, - - // Struktur & Konstruksi 1 (ARS204) → CPL3 (Analisis Struktur), CPL6 (Konstruksi) - { cpmkKode: 'CPMK-ARS204-1', cplKode: 'CPL3', bobot: 30 }, - { cpmkKode: 'CPMK-ARS204-2', cplKode: 'CPL3', bobot: 35 }, - { cpmkKode: 'CPMK-ARS204-3', cplKode: 'CPL6', bobot: 40 }, - { cpmkKode: 'CPMK-ARS204-4', cplKode: 'CPL3', bobot: 20 }, - { cpmkKode: 'CPMK-ARS204-5', cplKode: 'CPL6', bobot: 25 }, - - // Studio Perancangan 2 (ARS301) → CPL2, CPL5 - { cpmkKode: 'CPMK-ARS301-1', cplKode: 'CPL2', bobot: 20 }, - { cpmkKode: 'CPMK-ARS301-2', cplKode: 'CPL2', bobot: 30 }, - { cpmkKode: 'CPMK-ARS301-3', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-ARS301-4', cplKode: 'CPL5', bobot: 45 }, - { cpmkKode: 'CPMK-ARS301-5', cplKode: 'CPL5', bobot: 30 }, - - // Struktur & Konstruksi 2 (ARS302) → CPL3, CPL6 - { cpmkKode: 'CPMK-ARS302-1', cplKode: 'CPL3', bobot: 30 }, - { cpmkKode: 'CPMK-ARS302-2', cplKode: 'CPL3', bobot: 35 }, - { cpmkKode: 'CPMK-ARS302-3', cplKode: 'CPL6', bobot: 40 }, - { cpmkKode: 'CPMK-ARS302-4', cplKode: 'CPL6', bobot: 25 }, - { cpmkKode: 'CPMK-ARS302-5', cplKode: 'CPL6', bobot: 20 }, - - // Studio Perancangan 4 (ARS501) → CPL2, CPL5 - { cpmkKode: 'CPMK-ARS501-1', cplKode: 'CPL2', bobot: 20 }, - { cpmkKode: 'CPMK-ARS501-2', cplKode: 'CPL2', bobot: 35 }, - { cpmkKode: 'CPMK-ARS501-3', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-ARS501-4', cplKode: 'CPL5', bobot: 40 }, - { cpmkKode: 'CPMK-ARS501-5', cplKode: 'CPL5', bobot: 35 }, - - // Arsitektur Hijau (ARS603) → CPL1 (Etika), CPL2 (Perancangan), CPL7 (Utilitas) - { cpmkKode: 'CPMK-ARS603-1', cplKode: 'CPL1', bobot: 30 }, - { cpmkKode: 'CPMK-ARS603-2', cplKode: 'CPL7', bobot: 25 }, - { cpmkKode: 'CPMK-ARS603-3', cplKode: 'CPL2', bobot: 35 }, - { cpmkKode: 'CPMK-ARS603-4', cplKode: 'CPL7', bobot: 30 }, - { cpmkKode: 'CPMK-ARS603-5', cplKode: 'CPL7', bobot: 25 }, - - // Tugas Akhir (ARS801) → Semua CPL (CPL1-8) - { cpmkKode: 'CPMK-ARS801-1', cplKode: 'CPL1', bobot: 15 }, - { cpmkKode: 'CPMK-ARS801-1', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-ARS801-2', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL2', bobot: 40 }, - { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL3', bobot: 30 }, - { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL6', bobot: 35 }, - { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL7', bobot: 25 }, - { cpmkKode: 'CPMK-ARS801-4', cplKode: 'CPL5', bobot: 40 }, - { cpmkKode: 'CPMK-ARS801-4', cplKode: 'CPL8', bobot: 50 }, - { cpmkKode: 'CPMK-ARS801-5', cplKode: 'CPL5', bobot: 35 }, - - // Mekanika Teknik (ARS108) → CPL3, CPL6 - { cpmkKode: 'CPMK-ARS108-1', cplKode: 'CPL3', bobot: 30 }, - { cpmkKode: 'CPMK-ARS108-2', cplKode: 'CPL3', bobot: 35 }, - { cpmkKode: 'CPMK-ARS108-3', cplKode: 'CPL3', bobot: 25 }, - { cpmkKode: 'CPMK-ARS108-4', cplKode: 'CPL6', bobot: 20 }, - { cpmkKode: 'CPMK-ARS108-5', cplKode: 'CPL6', bobot: 25 }, - - // Pancasila (ARS101) → CPL1 (Sikap dan Etika) - { cpmkKode: 'CPMK-ARS101-1', cplKode: 'CPL1', bobot: 25 }, - { cpmkKode: 'CPMK-ARS101-2', cplKode: 'CPL1', bobot: 30 }, - { cpmkKode: 'CPMK-ARS101-3', cplKode: 'CPL1', bobot: 20 }, - { cpmkKode: 'CPMK-ARS101-4', cplKode: 'CPL1', bobot: 15 }, - { cpmkKode: 'CPMK-ARS101-5', cplKode: 'CPL1', bobot: 10 }, - - // INFORMATIKA - Algoritma & Pemrograman (INF105) → CPL4 (Algoritma & Struktur Data) - { cpmkKode: 'CPMK-INF105-1', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF105-2', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF105-3', cplKode: 'CPL4', bobot: 30 }, - { cpmkKode: 'CPMK-INF105-4', cplKode: 'CPL4', bobot: 15 }, - { cpmkKode: 'CPMK-INF105-5', cplKode: 'CPL4', bobot: 10 }, - - // INFORMATIKA - Matematika Diskrit (INF104) → CPL4 - { cpmkKode: 'CPMK-INF104-1', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF104-2', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF104-3', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF104-4', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF104-5', cplKode: 'CPL4', bobot: 10 }, - - // INFORMATIKA - Pengantar Teknologi Informasi (INF106) → CPL2 (Pengembangan Sistem) - { cpmkKode: 'CPMK-INF106-1', cplKode: 'CPL2', bobot: 20 }, - { cpmkKode: 'CPMK-INF106-2', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-INF106-3', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-INF106-4', cplKode: 'CPL2', bobot: 20 }, - { cpmkKode: 'CPMK-INF106-5', cplKode: 'CPL1', bobot: 10 }, - - // INFORMATIKA - Struktur Data (INF202) → CPL4 - { cpmkKode: 'CPMK-INF202-1', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF202-2', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF202-3', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF202-4', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF202-5', cplKode: 'CPL4', bobot: 10 }, - - // INFORMATIKA - Pemrograman Berorientasi Objek (INF203) → CPL2, CPL4 - { cpmkKode: 'CPMK-INF203-1', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF203-2', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF203-3', cplKode: 'CPL2', bobot: 30 }, - { cpmkKode: 'CPMK-INF203-4', cplKode: 'CPL2', bobot: 15 }, - { cpmkKode: 'CPMK-INF203-5', cplKode: 'CPL2', bobot: 10 }, - - // INFORMATIKA - Pemrograman Web (INF207) → CPL6 (Web & Mobile Development) - { cpmkKode: 'CPMK-INF207-1', cplKode: 'CPL6', bobot: 25 }, - { cpmkKode: 'CPMK-INF207-2', cplKode: 'CPL6', bobot: 20 }, - { cpmkKode: 'CPMK-INF207-3', cplKode: 'CPL6', bobot: 25 }, - { cpmkKode: 'CPMK-INF207-4', cplKode: 'CPL6', bobot: 20 }, - { cpmkKode: 'CPMK-INF207-5', cplKode: 'CPL6', bobot: 10 }, -]; - -// ===== MATA KULIAH ===== -export interface MataKuliah { - kode: string; - nama: string; - sks: number; - semester: number; - prodiKode: string; - dosen: string; - cplTerkait: string[]; // Array kode CPL yang terkait -} - -// MATA KULIAH ARSITEKTUR (145 SKS total, 8 semester) -export const mataKuliahData: MataKuliah[] = [ - // ===== SEMESTER I (20 SKS, 10 MK) ===== - { kode: 'ARS101', nama: 'Pancasila', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Drs. Hamzah, M.Pd', cplTerkait: ['CPL1'] }, - { kode: 'ARS102', nama: 'Bahasa Indonesia', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Siti Nurhaliza, M.Hum', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS103', nama: 'Pendidikan Agama Islam', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Prof. Dr. Abdul Malik, M.Ag', cplTerkait: ['CPL1'] }, - { kode: 'ARS104', nama: 'Bahasa Inggris Teknik', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Fatimah Zahra, M.A', cplTerkait: ['CPL5'] }, - { kode: 'ARS105', nama: 'Teknik Presentasi', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Ir. Ridwan Hasan, M.Ds', cplTerkait: ['CPL5'] }, - { kode: 'ARS106', nama: 'Perkembangan Arsitektur 1', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS107', nama: 'Pengantar Arsitektur 1', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Ir. Ahmad Kadir, M.Arch', cplTerkait: ['CPL2', 'CPL4'] }, - { kode: 'ARS108', nama: 'Mekanika Teknik', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS109', nama: 'Matematika Teknik', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Hendra Wijaya, M.Si', cplTerkait: ['CPL3'] }, - { kode: 'ARS110', nama: 'ISBD', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Aminah Rahman, M.Sos', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER II (20 SKS, 9 MK) ===== - { kode: 'ARS201', nama: 'Pendidikan Kewarganegaraan', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Drs. Ibrahim Mahmud, M.Pd', cplTerkait: ['CPL1'] }, - { kode: 'ARS202', nama: 'Perkembangan Arsitektur 2', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS203', nama: 'Pengantar Arsitektur 2', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Ahmad Kadir, M.Arch', cplTerkait: ['CPL2'] }, - { kode: 'ARS204', nama: 'Struktur & Konstruksi 1', sks: 3, semester: 2, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS205', nama: 'Studio Perancangan 1', sks: 4, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, - { kode: 'ARS206', nama: 'Utilitas Bangunan', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Rizki Ramadhan, M.T', cplTerkait: ['CPL7'] }, - { kode: 'ARS207', nama: 'Fisika Bangunan 1', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Dr. Ir. Suryani Hasan', cplTerkait: ['CPL7'] }, - { kode: 'ARS208', nama: 'Gambar Teknik', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Dewi Lestari, M.T', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS209', nama: 'Arsitektur Digital 1', sks: 1, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, - - // ===== SEMESTER III (24 SKS, 9 MK) ===== - { kode: 'ARS301', nama: 'Studio Perancangan 2', sks: 6, semester: 3, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, - { kode: 'ARS302', nama: 'Struktur & Konstruksi 2', sks: 3, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS303', nama: 'Arsitektur Vernakular', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS304', nama: 'Fisika Bangunan 2', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Ir. Suryani Hasan', cplTerkait: ['CPL7'] }, - { kode: 'ARS305', nama: 'Metode Perancangan', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL2'] }, - { kode: 'ARS306', nama: 'Arsitektur Digital 2', sks: 3, semester: 3, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS307', nama: 'Arsitektur Islam', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Prof. Dr. Abdul Malik, M.Arch', cplTerkait: ['CPL1', 'CPL4'] }, - { kode: 'ARS308', nama: 'Perumahan & Permukiman', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, - { kode: 'ARS309', nama: 'Estetika Bentuk & Ruang', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Ir. Siti Maryam, M.Ds', cplTerkait: ['CPL2'] }, - - // ===== SEMESTER IV (26 SKS, 10 MK) ===== - { kode: 'ARS401', nama: 'Studio Perancangan 3', sks: 6, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, - { kode: 'ARS402', nama: 'Struktur & Konstruksi 3', sks: 3, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS403', nama: 'Arsitektur Nusantara', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS404', nama: 'Manajemen Konstruksi', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Rahman Hidayat, M.M', cplTerkait: ['CPL6'] }, - { kode: 'ARS405', nama: 'Pengantar Perencanaan Tapak', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL2'] }, - { kode: 'ARS406', nama: 'Interior Arsitektur', sks: 3, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Siti Maryam, M.Ds', cplTerkait: ['CPL2'] }, - { kode: 'ARS407', nama: 'Arsitektur Digital 3', sks: 3, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS408', nama: 'Pengantar Perencanaan Kota', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, - { kode: 'ARS409', nama: 'Material & Teknologi Bangunan', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Rizki Ramadhan, M.T', cplTerkait: ['CPL6'] }, - { kode: 'ARS410', nama: 'Kewirausahaan', sks: 1, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Ahmad Fauzi, M.M', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER V (23 SKS, 10 MK) ===== - { kode: 'ARS501', nama: 'Studio Perancangan 4', sks: 6, semester: 5, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, - { kode: 'ARS502', nama: 'Struktur Baja & Kayu', sks: 3, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS503', nama: 'Teori Arsitektur', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS504', nama: 'Pemrograman Ruang & Bangunan', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Ir. Ahmad Kadir, M.Arch', cplTerkait: ['CPL2'] }, - { kode: 'ARS505', nama: 'Lanskap Arsitektur', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, - { kode: 'ARS506', nama: 'Arsitektur Digital 4', sks: 3, semester: 5, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS507', nama: 'Metode Penelitian', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL5'] }, - { kode: 'ARS508', nama: 'Arsitektur Kontemporer', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS509', nama: 'Praktik Kerja Profesi', sks: 1, semester: 5, prodiKode: 'ARS', dosen: 'Koordinator PKP', cplTerkait: ['CPL1', 'CPL6'] }, - - // ===== SEMESTER VI (17 SKS, 7 MK) ===== - { kode: 'ARS601', nama: 'Studio Perancangan 5', sks: 6, semester: 6, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, - { kode: 'ARS602', nama: 'Struktur Bentang Lebar', sks: 3, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS603', nama: 'Arsitektur Hijau', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL1', 'CPL2', 'CPL7'] }, - { kode: 'ARS604', nama: 'Seminar Proposal', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS605', nama: 'Kritik & Apresiasi Arsitektur', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS606', nama: 'Hukum & Etika Profesi', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Ir. Rahman Hidayat, M.M', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER VII (10 SKS, 3 MK) ===== - { kode: 'ARS701', nama: 'Studio Perancangan 6', sks: 6, semester: 7, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5', 'CPL8'] }, - { kode: 'ARS702', nama: 'Konservasi Bangunan', sks: 2, semester: 7, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4', 'CPL6'] }, - { kode: 'ARS703', nama: 'Arsitektur Kota', sks: 2, semester: 7, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, - - // ===== SEMESTER VIII (10 SKS, 2 MK) ===== - { kode: 'ARS801', nama: 'Tugas Akhir', sks: 8, semester: 8, prodiKode: 'ARS', dosen: 'Pembimbing Tugas Akhir', cplTerkait: ['CPL1', 'CPL2', 'CPL3', 'CPL4', 'CPL5', 'CPL6', 'CPL7', 'CPL8'] }, - { kode: 'ARS802', nama: 'Kuliah Kerja Nyata (KKN)', sks: 2, semester: 8, prodiKode: 'ARS', dosen: 'Koordinator KKN', cplTerkait: ['CPL1'] }, - - // MATA KULIAH TEKNIK INFORMATIKA (144 SKS total, 8 semester) - // ===== SEMESTER I (18 SKS, 9 MK) ===== - { kode: 'INF101', nama: 'Pancasila', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Drs. Hamzah, M.Pd', cplTerkait: ['CPL1'] }, - { kode: 'INF102', nama: 'Bahasa Indonesia', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Dr. Siti Nurhaliza, M.Hum', cplTerkait: ['CPL1'] }, - { kode: 'INF103', nama: 'Pendidikan Agama Islam', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Prof. Dr. Abdul Malik, M.Ag', cplTerkait: ['CPL1'] }, - { kode: 'INF104', nama: 'Matematika Diskrit', sks: 3, semester: 1, prodiKode: 'INF', dosen: 'Dr. Ahmad Fauzi, M.Kom', cplTerkait: ['CPL4'] }, - { kode: 'INF105', nama: 'Algoritma & Pemrograman', sks: 3, semester: 1, prodiKode: 'INF', dosen: 'Dr. Budi Santoso, M.T', cplTerkait: ['CPL4'] }, - { kode: 'INF106', nama: 'Pengantar Teknologi Informasi', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Ir. Citra Dewi, M.Kom', cplTerkait: ['CPL2'] }, - { kode: 'INF107', nama: 'Logika Informatika', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Dr. Dedi Prasetyo, M.Sc', cplTerkait: ['CPL4'] }, - { kode: 'INF108', nama: 'Bahasa Inggris Teknik', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Dr. Fatimah Zahra, M.A', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER II (18 SKS, 9 MK) ===== - { kode: 'INF201', nama: 'Pendidikan Kewarganegaraan', sks: 2, semester: 2, prodiKode: 'INF', dosen: 'Drs. Ibrahim Mahmud, M.Pd', cplTerkait: ['CPL1'] }, - { kode: 'INF202', nama: 'Struktur Data', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Dr. Eka Putri, M.Kom', cplTerkait: ['CPL4'] }, - { kode: 'INF203', nama: 'Pemrograman Berorientasi Objek', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Dr. Fahri Rahman, M.T', cplTerkait: ['CPL2', 'CPL4'] }, - { kode: 'INF204', nama: 'Sistem Digital', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Ir. Gita Sari, M.T', cplTerkait: ['CPL4'] }, - { kode: 'INF205', nama: 'Aljabar Linear', sks: 2, semester: 2, prodiKode: 'INF', dosen: 'Dr. Hendra Wijaya, M.Si', cplTerkait: ['CPL4'] }, - { kode: 'INF206', nama: 'Sistem Operasi', sks: 2, semester: 2, prodiKode: 'INF', dosen: 'Dr. Indah Permata, M.Kom', cplTerkait: ['CPL5'] }, - { kode: 'INF207', nama: 'Pemrograman Web', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Ir. Joko Susilo, M.T', cplTerkait: ['CPL6'] }, - - // ===== SEMESTER III (18 SKS, 9 MK) ===== - { kode: 'INF301', nama: 'Basis Data', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Karina Sari, M.Kom', cplTerkait: ['CPL3'] }, - { kode: 'INF302', nama: 'Analisis & Desain Sistem', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Lukman Hakim, M.T', cplTerkait: ['CPL2'] }, - { kode: 'INF303', nama: 'Jaringan Komputer', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Mira Handayani, M.Kom', cplTerkait: ['CPL5'] }, - { kode: 'INF304', nama: 'Rekayasa Perangkat Lunak', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Nurul Fikri, M.T', cplTerkait: ['CPL2'] }, - { kode: 'INF305', nama: 'Statistika & Probabilitas', sks: 2, semester: 3, prodiKode: 'INF', dosen: 'Dr. Omar Syarif, M.Si', cplTerkait: ['CPL4'] }, - { kode: 'INF306', nama: 'Manajemen Basis Data', sks: 2, semester: 3, prodiKode: 'INF', dosen: 'Ir. Putri Ayu, M.Kom', cplTerkait: ['CPL3'] }, - { kode: 'INF307', nama: 'Interaksi Manusia Komputer', sks: 2, semester: 3, prodiKode: 'INF', dosen: 'Dr. Qori Santosa, M.Ds', cplTerkait: ['CPL6'] }, - - // ===== SEMESTER IV (18 SKS, 9 MK) ===== - { kode: 'INF401', nama: 'Pemrograman Mobile', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Rina Wati, M.Kom', cplTerkait: ['CPL6'] }, - { kode: 'INF402', nama: 'Kecerdasan Buatan', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Satria Mandala, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF403', nama: 'Sistem Informasi Manajemen', sks: 2, semester: 4, prodiKode: 'INF', dosen: 'Dr. Tika Permata, M.M', cplTerkait: ['CPL2'] }, - { kode: 'INF404', nama: 'Arsitektur Komputer', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Umar Bakri, M.T', cplTerkait: ['CPL4'] }, - { kode: 'INF405', nama: 'Keamanan Sistem Informasi', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Vina Safitri, M.Kom', cplTerkait: ['CPL7'] }, - { kode: 'INF406', nama: 'Pemrograman Framework', sks: 2, semester: 4, prodiKode: 'INF', dosen: 'Ir. Wahyu Hidayat, M.Kom', cplTerkait: ['CPL6'] }, - { kode: 'INF407', nama: 'Metode Penelitian', sks: 2, semester: 4, prodiKode: 'INF', dosen: 'Prof. Dr. Yusuf Rahman, M.Kom', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER V (18 SKS, 9 MK) ===== - { kode: 'INF501', nama: 'Pengolahan Citra Digital', sks: 3, semester: 5, prodiKode: 'INF', dosen: 'Dr. Zahra Amelia, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF502', nama: 'Data Mining', sks: 3, semester: 5, prodiKode: 'INF', dosen: 'Dr. Ahmad Fauzi, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF503', nama: 'Sistem Terdistribusi', sks: 3, semester: 5, prodiKode: 'INF', dosen: 'Dr. Budi Santoso, M.T', cplTerkait: ['CPL5'] }, - { kode: 'INF504', nama: 'E-Business', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Dr. Citra Dewi, M.M', cplTerkait: ['CPL2'] }, - { kode: 'INF505', nama: 'Komputer Grafik', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Ir. Dedi Prasetyo, M.Kom', cplTerkait: ['CPL6'] }, - { kode: 'INF506', nama: 'Manajemen Proyek SI', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Dr. Eka Putri, M.M', cplTerkait: ['CPL2'] }, - { kode: 'INF507', nama: 'Etika Profesi IT', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Prof. Dr. Abdul Malik, M.Ag', cplTerkait: ['CPL1'] }, - { kode: 'INF508', nama: 'Technopreneurship', sks: 1, semester: 5, prodiKode: 'INF', dosen: 'Dr. Fahri Rahman, M.M', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER VI (18 SKS, 9 MK) ===== - { kode: 'INF601', nama: 'Machine Learning', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Gita Sari, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF602', nama: 'Cloud Computing', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Hendra Wijaya, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF603', nama: 'Internet of Things', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Indah Permata, M.T', cplTerkait: ['CPL6'] }, - { kode: 'INF604', nama: 'Big Data Analytics', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Joko Susilo, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF605', nama: 'Blockchain Technology', sks: 2, semester: 6, prodiKode: 'INF', dosen: 'Dr. Karina Sari, M.Kom', cplTerkait: ['CPL7'] }, - { kode: 'INF606', nama: 'DevOps & CI/CD', sks: 2, semester: 6, prodiKode: 'INF', dosen: 'Ir. Lukman Hakim, M.Kom', cplTerkait: ['CPL6'] }, - { kode: 'INF607', nama: 'Audit Sistem Informasi', sks: 2, semester: 6, prodiKode: 'INF', dosen: 'Dr. Mira Handayani, M.Ak', cplTerkait: ['CPL7'] }, - - // ===== SEMESTER VII (18 SKS) ===== - { kode: 'INF701', nama: 'Kerja Praktek', sks: 2, semester: 7, prodiKode: 'INF', dosen: 'Koordinator KP', cplTerkait: ['CPL1', 'CPL2'] }, - { kode: 'INF702', nama: 'Proyek Sistem Informasi', sks: 4, semester: 7, prodiKode: 'INF', dosen: 'Tim Pembimbing', cplTerkait: ['CPL2', 'CPL3', 'CPL6'] }, - { kode: 'INF703', nama: 'Deep Learning', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dr. Nurul Fikri, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF704', nama: 'Cyber Security', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dr. Omar Syarif, M.Kom', cplTerkait: ['CPL7'] }, - { kode: 'INF705', nama: 'Sistem Embedded', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dr. Putri Ayu, M.T', cplTerkait: ['CPL5'] }, - { kode: 'INF706', nama: 'Pilihan 1', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dosen Pilihan', cplTerkait: ['CPL6', 'CPL8'] }, - - // ===== SEMESTER VIII (18 SKS) ===== - { kode: 'INF801', nama: 'Tugas Akhir', sks: 6, semester: 8, prodiKode: 'INF', dosen: 'Pembimbing Tugas Akhir', cplTerkait: ['CPL1', 'CPL2', 'CPL3', 'CPL4', 'CPL5', 'CPL6', 'CPL7', 'CPL8'] }, - { kode: 'INF802', nama: 'Kuliah Kerja Nyata (KKN)', sks: 2, semester: 8, prodiKode: 'INF', dosen: 'Koordinator KKN', cplTerkait: ['CPL1'] }, - { kode: 'INF803', nama: 'Computer Vision', sks: 3, semester: 8, prodiKode: 'INF', dosen: 'Dr. Qori Santosa, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF804', nama: 'Natural Language Processing', sks: 3, semester: 8, prodiKode: 'INF', dosen: 'Dr. Rina Wati, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF805', nama: 'Pilihan 2', sks: 2, semester: 8, prodiKode: 'INF', dosen: 'Dosen Pilihan', cplTerkait: ['CPL6', 'CPL8'] }, - { kode: 'INF806', nama: 'Pilihan 3', sks: 2, semester: 8, prodiKode: 'INF', dosen: 'Dosen Pilihan', cplTerkait: ['CPL6', 'CPL8'] }, - - // Contoh MK prodi lain (simplified) - { kode: 'SIP101', nama: 'Mekanika Teknik', sks: 3, semester: 1, prodiKode: 'SIP', dosen: 'Dr. Ir. Gunawan, M.T', cplTerkait: ['CPL3'] }, - { kode: 'ELK101', nama: 'Rangkaian Listrik', sks: 3, semester: 1, prodiKode: 'ELK', dosen: 'Dr. Ir. Sulaiman, M.T', cplTerkait: ['CPL2'] }, - { kode: 'MES101', nama: 'Menggambar Mesin', sks: 3, semester: 1, prodiKode: 'MES', dosen: 'Ir. Harun, M.T', cplTerkait: ['CPL5'] }, - { kode: 'IND101', nama: 'Pengantar Teknik Industri', sks: 3, semester: 1, prodiKode: 'IND', dosen: 'Dr. Ir. Rahma, M.T', cplTerkait: ['CPL2'] }, -]; - -// ===== NILAI MAHASISWA ===== -export interface NilaiMahasiswa { - id: string; - mahasiswaId: string; - mkKode: string; - semester: string; - tahunAjaran: string; - nilaiAkhir: number; - grade: string; - nilaiCPMK: { cpmkKode: string; nilai: number }[]; -} - -export const nilaiMahasiswaData: NilaiMahasiswa[] = [ - // Mahasiswa Ahmad Fauzi (mahasiswaId: '1') - Informatika Semester 5 - // SEMESTER 1 - { - id: 'N001', - mahasiswaId: '1', - mkKode: 'INF105', - semester: 'Ganjil', - tahunAjaran: '2021/2022', - nilaiAkhir: 85.5, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF105-1', nilai: 84 }, - { cpmkKode: 'CPMK-INF105-2', nilai: 87 }, - { cpmkKode: 'CPMK-INF105-3', nilai: 85 }, - { cpmkKode: 'CPMK-INF105-4', nilai: 88 }, - { cpmkKode: 'CPMK-INF105-5', nilai: 83 }, - ] - }, - { - id: 'N002', - mahasiswaId: '1', - mkKode: 'INF104', - semester: 'Ganjil', - tahunAjaran: '2021/2022', - nilaiAkhir: 82.0, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF104-1', nilai: 80 }, - { cpmkKode: 'CPMK-INF104-2', nilai: 83 }, - { cpmkKode: 'CPMK-INF104-3', nilai: 82 }, - { cpmkKode: 'CPMK-INF104-4', nilai: 84 }, - { cpmkKode: 'CPMK-INF104-5', nilai: 81 }, - ] - }, - { - id: 'N003', - mahasiswaId: '1', - mkKode: 'INF106', - semester: 'Ganjil', - tahunAjaran: '2021/2022', - nilaiAkhir: 88.0, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF106-1', nilai: 87 }, - { cpmkKode: 'CPMK-INF106-2', nilai: 89 }, - { cpmkKode: 'CPMK-INF106-3', nilai: 88 }, - { cpmkKode: 'CPMK-INF106-4', nilai: 87 }, - { cpmkKode: 'CPMK-INF106-5', nilai: 89 }, - ] - }, - // SEMESTER 2 - { - id: 'N004', - mahasiswaId: '1', - mkKode: 'INF202', - semester: 'Genap', - tahunAjaran: '2021/2022', - nilaiAkhir: 83.5, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF202-1', nilai: 82 }, - { cpmkKode: 'CPMK-INF202-2', nilai: 85 }, - { cpmkKode: 'CPMK-INF202-3', nilai: 83 }, - { cpmkKode: 'CPMK-INF202-4', nilai: 84 }, - { cpmkKode: 'CPMK-INF202-5', nilai: 84 }, - ] - }, - { - id: 'N005', - mahasiswaId: '1', - mkKode: 'INF203', - semester: 'Genap', - tahunAjaran: '2021/2022', - nilaiAkhir: 86.0, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF203-1', nilai: 85 }, - { cpmkKode: 'CPMK-INF203-2', nilai: 87 }, - { cpmkKode: 'CPMK-INF203-3', nilai: 86 }, - { cpmkKode: 'CPMK-INF203-4', nilai: 85 }, - { cpmkKode: 'CPMK-INF203-5', nilai: 87 }, - ] - }, - { - id: 'N006', - mahasiswaId: '1', - mkKode: 'INF207', - semester: 'Genap', - tahunAjaran: '2021/2022', - nilaiAkhir: 89.0, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF207-1', nilai: 88 }, - { cpmkKode: 'CPMK-INF207-2', nilai: 90 }, - { cpmkKode: 'CPMK-INF207-3', nilai: 89 }, - { cpmkKode: 'CPMK-INF207-4', nilai: 88 }, - { cpmkKode: 'CPMK-INF207-5', nilai: 90 }, - ] - }, - - // Mahasiswa Siti Aisyah (mahasiswaId: '2') - Informatika Semester 5 - // SEMESTER 1 - { - id: 'N007', - mahasiswaId: '2', - mkKode: 'INF105', - semester: 'Ganjil', - tahunAjaran: '2022/2023', - nilaiAkhir: 80.0, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF105-1', nilai: 78 }, - { cpmkKode: 'CPMK-INF105-2', nilai: 82 }, - { cpmkKode: 'CPMK-INF105-3', nilai: 80 }, - { cpmkKode: 'CPMK-INF105-4', nilai: 81 }, - { cpmkKode: 'CPMK-INF105-5', nilai: 79 }, - ] - }, - { - id: 'N008', - mahasiswaId: '2', - mkKode: 'INF104', - semester: 'Ganjil', - tahunAjaran: '2022/2023', - nilaiAkhir: 78.5, - grade: 'B+', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF104-1', nilai: 77 }, - { cpmkKode: 'CPMK-INF104-2', nilai: 80 }, - { cpmkKode: 'CPMK-INF104-3', nilai: 78 }, - { cpmkKode: 'CPMK-INF104-4', nilai: 79 }, - { cpmkKode: 'CPMK-INF104-5', nilai: 79 }, - ] - }, - { - id: 'N009', - mahasiswaId: '2', - mkKode: 'INF106', - semester: 'Ganjil', - tahunAjaran: '2022/2023', - nilaiAkhir: 84.0, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF106-1', nilai: 83 }, - { cpmkKode: 'CPMK-INF106-2', nilai: 85 }, - { cpmkKode: 'CPMK-INF106-3', nilai: 84 }, - { cpmkKode: 'CPMK-INF106-4', nilai: 83 }, - { cpmkKode: 'CPMK-INF106-5', nilai: 85 }, - ] - }, - // SEMESTER 2 - { - id: 'N010', - mahasiswaId: '2', - mkKode: 'INF202', - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 79.0, - grade: 'B+', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF202-1', nilai: 77 }, - { cpmkKode: 'CPMK-INF202-2', nilai: 81 }, - { cpmkKode: 'CPMK-INF202-3', nilai: 79 }, - { cpmkKode: 'CPMK-INF202-4', nilai: 78 }, - { cpmkKode: 'CPMK-INF202-5', nilai: 80 }, - ] - }, - { - id: 'N011', - mahasiswaId: '2', - mkKode: 'INF203', - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 82.0, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF203-1', nilai: 80 }, - { cpmkKode: 'CPMK-INF203-2', nilai: 83 }, - { cpmkKode: 'CPMK-INF203-3', nilai: 82 }, - { cpmkKode: 'CPMK-INF203-4', nilai: 82 }, - { cpmkKode: 'CPMK-INF203-5', nilai: 83 }, - ] - }, - { - id: 'N012', - mahasiswaId: '2', - mkKode: 'INF207', - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 85.5, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF207-1', nilai: 84 }, - { cpmkKode: 'CPMK-INF207-2', nilai: 87 }, - { cpmkKode: 'CPMK-INF207-3', nilai: 85 }, - { cpmkKode: 'CPMK-INF207-4', nilai: 86 }, - { cpmkKode: 'CPMK-INF207-5', nilai: 86 }, - ] - }, - - // Mahasiswa Budi Santoso (mahasiswaId: '3') - Arsitektur Semester 3 - // SEMESTER 2 - { - id: 'N004', - mahasiswaId: '2', - mkKode: 'ARS501', - semester: 'Ganjil', - tahunAjaran: '2024/2025', - nilaiAkhir: 88.6, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS501-1', nilai: 86 }, - { cpmkKode: 'CPMK-ARS501-2', nilai: 90 }, - { cpmkKode: 'CPMK-ARS501-3', nilai: 88 }, - { cpmkKode: 'CPMK-ARS501-4', nilai: 89 }, - { cpmkKode: 'CPMK-ARS501-5', nilai: 90 }, - ] - }, - { - id: 'N005', - mahasiswaId: '2', - mkKode: 'ARS204', - semester: 'Genap', - tahunAjaran: '2021/2022', - nilaiAkhir: 82.5, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS204-1', nilai: 80 }, - { cpmkKode: 'CPMK-ARS204-2', nilai: 84 }, - { cpmkKode: 'CPMK-ARS204-3', nilai: 83 }, - { cpmkKode: 'CPMK-ARS204-4', nilai: 82 }, - { cpmkKode: 'CPMK-ARS204-5', nilai: 84 }, - ] - }, - { - id: 'N006', - mahasiswaId: '2', - mkKode: 'ARS205', - semester: 'Genap', - tahunAjaran: '2021/2022', - nilaiAkhir: 86.0, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS205-1', nilai: 84 }, - { cpmkKode: 'CPMK-ARS205-2', nilai: 85 }, - { cpmkKode: 'CPMK-ARS205-3', nilai: 88 }, - { cpmkKode: 'CPMK-ARS205-4', nilai: 87 }, - { cpmkKode: 'CPMK-ARS205-5', nilai: 86 }, - ] - }, - - // ========== MAHASISWA BUDI SANTOSO (ID: 3) - Semester 3 Aktif ========== - // Data Semester 2 (sudah selesai) - { - id: 'N007', - mahasiswaId: '3', - mkKode: 'ARS201', // Kewarganegaraan - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 82, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS201-1', nilai: 82 * 0.2 }, - { cpmkKode: 'CPMK-ARS201-2', nilai: 82 * 0.2 }, - { cpmkKode: 'CPMK-ARS201-3', nilai: 82 * 0.3 }, - { cpmkKode: 'CPMK-ARS201-4', nilai: 82 * 0.2 }, - { cpmkKode: 'CPMK-ARS201-5', nilai: 82 * 0.1 }, - ] - }, - { - id: 'N008', - mahasiswaId: '3', - mkKode: 'CW6232014201', // Studio Perancangan 1 - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 85, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-SPA1-1', nilai: 85 * 0.2 }, - { cpmkKode: 'CPMK-SPA1-2', nilai: 85 * 0.2 }, - { cpmkKode: 'CPMK-SPA1-3', nilai: 85 * 0.3 }, - { cpmkKode: 'CPMK-SPA1-4', nilai: 85 * 0.2 }, - { cpmkKode: 'CPMK-SPA1-5', nilai: 85 * 0.1 }, - ] - }, - { - id: 'N009', - mahasiswaId: '3', - mkKode: 'CW6232012202', // Perkembangan Arsitektur 2 - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 78, - grade: 'B+', - nilaiCPMK: [ - { cpmkKode: 'CPMK-PA2-1', nilai: 78 * 0.2 }, - { cpmkKode: 'CPMK-PA2-2', nilai: 78 * 0.2 }, - { cpmkKode: 'CPMK-PA2-3', nilai: 78 * 0.3 }, - { cpmkKode: 'CPMK-PA2-4', nilai: 78 * 0.2 }, - { cpmkKode: 'CPMK-PA2-5', nilai: 78 * 0.1 }, - ] - }, - { - id: 'N010', - mahasiswaId: '3', - mkKode: 'CW6232012203', // Pengantar Arsitektur 2 - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 80, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-PARS2-1', nilai: 80 * 0.2 }, - { cpmkKode: 'CPMK-PARS2-2', nilai: 80 * 0.2 }, - { cpmkKode: 'CPMK-PARS2-3', nilai: 80 * 0.3 }, - { cpmkKode: 'CPMK-PARS2-4', nilai: 80 * 0.2 }, - { cpmkKode: 'CPMK-PARS2-5', nilai: 80 * 0.1 }, - ] - }, - { - id: 'N011', - mahasiswaId: '3', - mkKode: 'CW6232012204', // Mekanika Bangunan - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 75, - grade: 'B+', - nilaiCPMK: [ - { cpmkKode: 'CPMK-MB-1', nilai: 75 * 0.2 }, - { cpmkKode: 'CPMK-MB-2', nilai: 75 * 0.2 }, - { cpmkKode: 'CPMK-MB-3', nilai: 75 * 0.3 }, - { cpmkKode: 'CPMK-MB-4', nilai: 75 * 0.2 }, - { cpmkKode: 'CPMK-MB-5', nilai: 75 * 0.1 }, - ] - }, - { - id: 'N012', - mahasiswaId: '3', - mkKode: 'CW6232012205', // Estetika Bentuk - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 83, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-EB-1', nilai: 83 * 0.2 }, - { cpmkKode: 'CPMK-EB-2', nilai: 83 * 0.2 }, - { cpmkKode: 'CPMK-EB-3', nilai: 83 * 0.3 }, - { cpmkKode: 'CPMK-EB-4', nilai: 83 * 0.2 }, - { cpmkKode: 'CPMK-EB-5', nilai: 83 * 0.1 }, - ] - }, - { - id: 'N013', - mahasiswaId: '3', - mkKode: 'CW6232012206', // Pengantar Teknologi Bahan - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 77, - grade: 'B+', - nilaiCPMK: [ - { cpmkKode: 'CPMK-PTB-1', nilai: 77 * 0.2 }, - { cpmkKode: 'CPMK-PTB-2', nilai: 77 * 0.2 }, - { cpmkKode: 'CPMK-PTB-3', nilai: 77 * 0.3 }, - { cpmkKode: 'CPMK-PTB-4', nilai: 77 * 0.2 }, - { cpmkKode: 'CPMK-PTB-5', nilai: 77 * 0.1 }, - ] - }, - { - id: 'N014', - mahasiswaId: '3', - mkKode: 'CW6232012207', // Pengetahuan Lingkungan - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 81, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-PL-1', nilai: 81 * 0.2 }, - { cpmkKode: 'CPMK-PL-2', nilai: 81 * 0.2 }, - { cpmkKode: 'CPMK-PL-3', nilai: 81 * 0.3 }, - { cpmkKode: 'CPMK-PL-4', nilai: 81 * 0.2 }, - { cpmkKode: 'CPMK-PL-5', nilai: 81 * 0.1 }, - ] - }, - - // Mahasiswa Dewi Lestari (mahasiswaId: '4') - Semester VI - { - id: 'N009', - mahasiswaId: '4', - mkKode: 'ARS603', - semester: 'Genap', - tahunAjaran: '2024/2025', - nilaiAkhir: 90.5, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS603-1', nilai: 89 }, - { cpmkKode: 'CPMK-ARS603-2', nilai: 91 }, - { cpmkKode: 'CPMK-ARS603-3', nilai: 92 }, - { cpmkKode: 'CPMK-ARS603-4', nilai: 90 }, - { cpmkKode: 'CPMK-ARS603-5', nilai: 91 }, - ] - }, - { - id: 'N010', - mahasiswaId: '4', - mkKode: 'ARS501', - semester: 'Ganjil', - tahunAjaran: '2023/2024', - nilaiAkhir: 87.0, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS501-1', nilai: 85 }, - { cpmkKode: 'CPMK-ARS501-2', nilai: 88 }, - { cpmkKode: 'CPMK-ARS501-3', nilai: 87 }, - { cpmkKode: 'CPMK-ARS501-4', nilai: 88 }, - { cpmkKode: 'CPMK-ARS501-5', nilai: 87 }, - ] - }, -]; - -// ===== HELPER FUNCTIONS ===== - -/** - * Menghitung nilai CPL per semester untuk mahasiswa - * Formula: Nilai CPL = Rata-rata nilai MK yang terkait dengan CPL tersebut di semester yang dipilih - * - * @param mahasiswaId - ID mahasiswa - * @param semester - Nomor semester (1-8) - * @param prodiKode - Kode prodi mahasiswa - * @returns Array of CPL dengan nilai per semester - */ -export function hitungNilaiCPLPerSemester( - mahasiswaId: string, - semester: number, - prodiKode: string -): { cplKode: string; nilai: number; jumlahMK: number }[] { - - // 1. Ambil semua nilai MK mahasiswa - const nilaiMhs = nilaiMahasiswaData.filter(n => n.mahasiswaId === mahasiswaId); - - // 2. Filter hanya MK di semester yang dipilih - const mkDiSemester = mataKuliahData.filter( - mk => mk.semester === semester && mk.prodiKode === prodiKode - ); - - // 3. Ambil nilai untuk MK di semester tersebut - const nilaiMKSemester = nilaiMhs.filter(n => - mkDiSemester.some(mk => mk.kode === n.mkKode) - ); - - // 4. Group nilai MK berdasarkan CPL yang terkait - const cplScores: { [cplKode: string]: number[] } = {}; - - nilaiMKSemester.forEach(nilaiMK => { - const mk = mkDiSemester.find(m => m.kode === nilaiMK.mkKode); - if (mk && mk.cplTerkait) { - mk.cplTerkait.forEach(cplKode => { - if (!cplScores[cplKode]) { - cplScores[cplKode] = []; - } - cplScores[cplKode].push(nilaiMK.nilaiAkhir); - }); - } - }); - - // 5. Hitung rata-rata nilai MK untuk setiap CPL - const result = Object.entries(cplScores).map(([cplKode, nilaiArray]) => { - const rata = nilaiArray.reduce((sum, n) => sum + n, 0) / nilaiArray.length; - return { - cplKode, - nilai: Math.round(rata * 10) / 10, // Round to 1 decimal - jumlahMK: nilaiArray.length - }; - }); - - return result; -} - -/** - * Menghitung nilai CPL keseluruhan (semua semester) untuk mahasiswa - * Untuk dashboard summary - */ -export function hitungNilaiCPLKeseluruhan(mahasiswaId: string, prodiKode: string): { cplKode: string; nilai: number }[] { - const mahasiswa = mahasiswaData.find(m => m.id === mahasiswaId); - if (!mahasiswa) return []; - - // Hitung CPL untuk setiap semester yang sudah dilalui - const allCPLScores: { [cplKode: string]: number[] } = {}; - - for (let sem = 1; sem <= mahasiswa.semesterAktif; sem++) { - const cplSemester = hitungNilaiCPLPerSemester(mahasiswaId, sem, prodiKode); - cplSemester.forEach(cpl => { - if (!allCPLScores[cpl.cplKode]) { - allCPLScores[cpl.cplKode] = []; - } - allCPLScores[cpl.cplKode].push(cpl.nilai); - }); - } - - // Rata-rata dari semua semester - return Object.entries(allCPLScores).map(([cplKode, nilaiArray]) => ({ - cplKode, - nilai: Math.round((nilaiArray.reduce((sum, n) => sum + n, 0) / nilaiArray.length) * 10) / 10 - })); -} - -/** - * Breakdown nilai MK ke CPMK berdasarkan bobot - * User input nilai MK, sistem otomatis breakdown ke CPMK - */ -export function breakdownNilaiMKtoCPMK(nilaiMK: number, mkKode: string): { cpmkKode: string; nilai: number }[] { - const cpmkList = cpmkData.filter(c => c.mkKode === mkKode); - - return cpmkList.map(cpmk => ({ - cpmkKode: cpmk.kode, - nilai: Math.round(nilaiMK * (cpmk.bobot / 100) * 10) / 10 - })); -} diff --git a/FrontEnd/src/utils/dataIntegration.ts b/FrontEnd/src/utils/dataIntegration.ts deleted file mode 100644 index f9bf8bd..0000000 --- a/FrontEnd/src/utils/dataIntegration.ts +++ /dev/null @@ -1,360 +0,0 @@ -/** - * Integration layer: Menggabungkan data dari mockData (dummy) dengan localStorage (real input) - * Prioritas: localStorage > mockData - */ - -import { nilaiMahasiswaData, mataKuliahData, cpmkData, cpmkToCplMapping, cplData } from '@/data/mockData'; -import { getAllNilai, type NilaiMahasiswaStorage } from './nilaiStorage'; - -export interface IntegratedNilai { - mahasiswaId: string; - mkKode: string; - nilaiAkhir: number; - source: 'localStorage' | 'mockData'; - timestamp?: string; -} - -/** - * Get combined nilai: localStorage + mockData - * localStorage data overrides mockData - */ -export function getCombinedNilaiData(): IntegratedNilai[] { - const localStorageNilai = getAllNilai(); - const combined: IntegratedNilai[] = []; - const processedKeys = new Set(); - - // First, add all localStorage data (highest priority) - localStorageNilai.forEach((nilai) => { - const key = `${nilai.mahasiswaId}-${nilai.mkKode}`; - combined.push({ - mahasiswaId: nilai.mahasiswaId, - mkKode: nilai.mkKode, - nilaiAkhir: nilai.nilaiAkhir, - source: 'localStorage', - timestamp: nilai.timestamp, - }); - processedKeys.add(key); - }); - - // Then add mockData that's not already in localStorage - nilaiMahasiswaData.forEach((nilai) => { - const key = `${nilai.mahasiswaId}-${nilai.mkKode}`; - if (!processedKeys.has(key)) { - combined.push({ - mahasiswaId: nilai.mahasiswaId, - mkKode: nilai.mkKode, - nilaiAkhir: nilai.nilaiAkhir, - source: 'mockData', - }); - } - }); - - return combined; -} - -/** - * Get nilai for specific mahasiswa with integration - */ -export function getIntegratedNilaiByMahasiswa(mahasiswaId: string): IntegratedNilai[] { - const allNilai = getCombinedNilaiData(); - return allNilai.filter((n) => n.mahasiswaId === mahasiswaId); -} - -/** - * Calculate CPL per semester with integrated data - */ -export function hitungNilaiCPLPerSemesterIntegrated( - mahasiswaId: string, - semester: number, - prodiKode: string -): { cplKode: string; nilai: number; jumlahMK: number; source: string }[] { - - // Get integrated nilai for this mahasiswa - const nilaiMhs = getIntegratedNilaiByMahasiswa(mahasiswaId); - - // Filter MK for this semester and prodi - const mkDiSemester = mataKuliahData.filter( - (mk) => mk.semester === semester && mk.prodiKode === prodiKode - ); - - // Get nilai for MK in this semester - const nilaiMKSemester = nilaiMhs.filter((n) => - mkDiSemester.some((mk) => mk.kode === n.mkKode) - ); - - if (nilaiMKSemester.length === 0) { - return []; - } - - // Group nilai by CPL - const cplScores: { - [cplKode: string]: { - values: number[]; - sources: string[]; - } - } = {}; - - nilaiMKSemester.forEach((nilaiMK) => { - const mk = mkDiSemester.find((m) => m.kode === nilaiMK.mkKode); - if (mk && mk.cplTerkait) { - mk.cplTerkait.forEach((cplKode) => { - if (!cplScores[cplKode]) { - cplScores[cplKode] = { values: [], sources: [] }; - } - cplScores[cplKode].values.push(nilaiMK.nilaiAkhir); - cplScores[cplKode].sources.push(nilaiMK.source); - }); - } - }); - - // Calculate average for each CPL - return Object.entries(cplScores).map(([cplKode, data]) => { - const avg = data.values.reduce((sum, val) => sum + val, 0) / data.values.length; - const hasLocalStorage = data.sources.includes('localStorage'); - - return { - cplKode, - nilai: Math.round(avg * 10) / 10, - jumlahMK: data.values.length, - source: hasLocalStorage ? 'mixed' : 'mockData', - }; - }); -} - -/** - * Get all nilai for a mahasiswa grouped by semester - */ -export function getNilaiGroupedBySemester(mahasiswaId: string, prodiKode: string) { - const nilaiMhs = getIntegratedNilaiByMahasiswa(mahasiswaId); - const grouped: { - [semester: number]: { - nilai: IntegratedNilai[]; - mataKuliah: any[]; - totalSKS: number; - avgNilai: number; - } - } = {}; - - nilaiMhs.forEach((nilai) => { - const mk = mataKuliahData.find((m) => m.kode === nilai.mkKode && m.prodiKode === prodiKode); - if (mk) { - if (!grouped[mk.semester]) { - grouped[mk.semester] = { - nilai: [], - mataKuliah: [], - totalSKS: 0, - avgNilai: 0, - }; - } - grouped[mk.semester].nilai.push(nilai); - grouped[mk.semester].mataKuliah.push(mk); - grouped[mk.semester].totalSKS += mk.sks; - } - }); - - // Calculate average for each semester - Object.keys(grouped).forEach((sem) => { - const semester = parseInt(sem); - const nilaiValues = grouped[semester].nilai.map((n) => n.nilaiAkhir); - grouped[semester].avgNilai = - nilaiValues.length > 0 - ? Math.round((nilaiValues.reduce((sum, val) => sum + val, 0) / nilaiValues.length) * 10) / 10 - : 0; - }); - - return grouped; -} - -/** - * Check if mahasiswa has any input nilai (from localStorage) - */ -export function hasInputNilai(mahasiswaId: string): boolean { - const localStorageNilai = getAllNilai(); - return localStorageNilai.some((n) => n.mahasiswaId === mahasiswaId); -} - -/** - * Get summary statistics for integrated data - */ -export function getIntegratedSummary() { - const allNilai = getCombinedNilaiData(); - const localStorageCount = allNilai.filter((n) => n.source === 'localStorage').length; - const mockDataCount = allNilai.filter((n) => n.source === 'mockData').length; - - return { - total: allNilai.length, - fromLocalStorage: localStorageCount, - fromMockData: mockDataCount, - percentageReal: allNilai.length > 0 - ? Math.round((localStorageCount / allNilai.length) * 100) - : 0, - }; -} - -/** - * Calculate CPMK breakdown with bobot for each CPL - * Bobot calculation: - * 1. CPL → MK: 100% / jumlah MK terkait CPL (across all semesters) - * 2. MK → CPMK: bobot MK / jumlah CPMK dalam MK tersebut - */ -export function hitungCPMKBreakdownPerCPL( - mahasiswaId: string, - semester: number, - prodiKode: string -): { - cplKode: string; - cplDeskripsi: string; - nilaiCPL: number; - totalMKTerkait: number; - bobotMKPerCPL: number; - mataKuliah: { - mkKode: string; - mkNama: string; - nilaiMK: number; - sks: number; - semester: number; - bobotMK: number; - cpmkList: { - cpmkKode: string; - deskripsi: string; - bobot: number; - nilaiWeighted: number; - }[]; - }[]; -}[] { - const nilaiMhs = getIntegratedNilaiByMahasiswa(mahasiswaId); - const mkDiSemester = mataKuliahData.filter( - (mk) => mk.semester === semester && mk.prodiKode === prodiKode - ); - - const nilaiMKSemester = nilaiMhs.filter((n) => - mkDiSemester.some((mk) => mk.kode === n.mkKode) - ); - - if (nilaiMKSemester.length === 0) { - return []; - } - - // Step 1: Calculate bobot CPL → MK - // Count total MK for each CPL across ALL semesters - const allMKProdi = mataKuliahData.filter((mk) => mk.prodiKode === prodiKode); - const cplToMKCount: { [cplKode: string]: number } = {}; - - allMKProdi.forEach((mk) => { - if (mk.cplTerkait) { - mk.cplTerkait.forEach((cplKode) => { - cplToMKCount[cplKode] = (cplToMKCount[cplKode] || 0) + 1; - }); - } - }); - - // Group by CPL - const cplBreakdown: { - [cplKode: string]: { - mataKuliah: { - mkKode: string; - mkNama: string; - nilaiMK: number; - sks: number; - semester: number; - bobotMK: number; - cpmkList: { - cpmkKode: string; - deskripsi: string; - bobot: number; - nilaiWeighted: number; - }[]; - }[]; - nilaiTotal: number[]; - totalMKTerkait: number; - }; - } = {}; - - nilaiMKSemester.forEach((nilaiMK) => { - const mk = mkDiSemester.find((m) => m.kode === nilaiMK.mkKode); - if (!mk || !mk.cplTerkait) return; - - // Find CPMK for this MK - const cpmkForMK = cpmkData.filter((c) => c.mkKode === mk.kode); - - // Process each CPL that this MK contributes to - mk.cplTerkait.forEach((cplKode) => { - if (!cplBreakdown[cplKode]) { - cplBreakdown[cplKode] = { - mataKuliah: [], - nilaiTotal: [], - totalMKTerkait: cplToMKCount[cplKode] || 1 - }; - } - - // Calculate bobot MK: 100% / total MK for this CPL - const bobotMK = 100 / (cplToMKCount[cplKode] || 1); - - if (cpmkForMK.length === 0) { - // If no CPMK defined, MK contributes directly - cplBreakdown[cplKode].mataKuliah.push({ - mkKode: mk.kode, - mkNama: mk.nama, - nilaiMK: nilaiMK.nilaiAkhir, - sks: mk.sks, - semester: mk.semester, - bobotMK: Math.round(bobotMK * 100) / 100, - cpmkList: [{ - cpmkKode: `${mk.kode}-Direct`, - deskripsi: 'Penilaian langsung dari MK (belum ada CPMK)', - bobot: Math.round(bobotMK * 100) / 100, - nilaiWeighted: Math.round((nilaiMK.nilaiAkhir * bobotMK / 100) * 100) / 100, - }], - }); - - cplBreakdown[cplKode].nilaiTotal.push(nilaiMK.nilaiAkhir); - } else { - // Step 2: Calculate bobot CPMK: bobotMK / jumlah CPMK - const bobotPerCPMK = bobotMK / cpmkForMK.length; - - const cpmkList = cpmkForMK.map((cpmk) => { - const nilaiWeighted = (nilaiMK.nilaiAkhir * bobotPerCPMK) / 100; - - return { - cpmkKode: cpmk.kode, - deskripsi: cpmk.deskripsi, - bobot: Math.round(bobotPerCPMK * 100) / 100, - nilaiWeighted: Math.round(nilaiWeighted * 100) / 100, - }; - }); - - cplBreakdown[cplKode].mataKuliah.push({ - mkKode: mk.kode, - mkNama: mk.nama, - nilaiMK: nilaiMK.nilaiAkhir, - sks: mk.sks, - semester: mk.semester, - bobotMK: Math.round(bobotMK * 100) / 100, - cpmkList, - }); - - // MK contributes its raw score to CPL (weighted average calculated later) - cplBreakdown[cplKode].nilaiTotal.push(nilaiMK.nilaiAkhir); - } - }); - }); - - // Build final result - const result = Object.entries(cplBreakdown).map(([cplKode, data]) => { - const cplInfo = cplData.find((c) => c.kode === cplKode && c.prodiKode === prodiKode); - const avgNilai = data.nilaiTotal.length > 0 - ? data.nilaiTotal.reduce((sum, n) => sum + n, 0) / data.nilaiTotal.length - : 0; - - return { - cplKode, - cplDeskripsi: cplInfo?.deskripsi || '', - nilaiCPL: Math.round(avgNilai * 10) / 10, - totalMKTerkait: data.totalMKTerkait, - bobotMKPerCPL: Math.round((100 / data.totalMKTerkait) * 100) / 100, - mataKuliah: data.mataKuliah, - }; - }); - - return result.sort((a, b) => a.cplKode.localeCompare(b.cplKode)); -} diff --git a/FrontEnd/src/utils/nilaiStorage.ts b/FrontEnd/src/utils/nilaiStorage.ts deleted file mode 100644 index d31157d..0000000 --- a/FrontEnd/src/utils/nilaiStorage.ts +++ /dev/null @@ -1,142 +0,0 @@ -/** - * Utility untuk manage penyimpanan nilai mahasiswa di localStorage - * Integrates dengan mockData dan menyediakan data real-time untuk dashboard & laporan - */ - -export interface NilaiMahasiswaStorage { - mahasiswaId: string; - mkKode: string; - nilaiAkhir: number; - timestamp: string; // ISO string -} - -const STORAGE_KEY = 'kkp_nilai_mahasiswa'; - -/** - * Get all nilai from localStorage - */ -export function getAllNilai(): NilaiMahasiswaStorage[] { - if (typeof window === 'undefined') return []; - - try { - const data = localStorage.getItem(STORAGE_KEY); - return data ? JSON.parse(data) : []; - } catch (error) { - console.error('Error reading nilai from localStorage:', error); - return []; - } -} - -/** - * Save or update nilai for a mahasiswa-MK combination - */ -export function saveNilai(mahasiswaId: string, mkKode: string, nilaiAkhir: number): boolean { - if (typeof window === 'undefined') return false; - - try { - const allNilai = getAllNilai(); - - // Check if nilai already exists for this mahasiswa-MK - const existingIndex = allNilai.findIndex( - (n) => n.mahasiswaId === mahasiswaId && n.mkKode === mkKode - ); - - const nilaiData: NilaiMahasiswaStorage = { - mahasiswaId, - mkKode, - nilaiAkhir, - timestamp: new Date().toISOString(), - }; - - if (existingIndex >= 0) { - // Update existing nilai - allNilai[existingIndex] = nilaiData; - } else { - // Add new nilai - allNilai.push(nilaiData); - } - - localStorage.setItem(STORAGE_KEY, JSON.stringify(allNilai)); - return true; - } catch (error) { - console.error('Error saving nilai to localStorage:', error); - return false; - } -} - -/** - * Get nilai for a specific mahasiswa - */ -export function getNilaiByMahasiswa(mahasiswaId: string): NilaiMahasiswaStorage[] { - const allNilai = getAllNilai(); - return allNilai.filter((n) => n.mahasiswaId === mahasiswaId); -} - -/** - * Get nilai for a specific mahasiswa and MK - */ -export function getNilaiByMahasiswaMK(mahasiswaId: string, mkKode: string): NilaiMahasiswaStorage | null { - const allNilai = getAllNilai(); - return allNilai.find((n) => n.mahasiswaId === mahasiswaId && n.mkKode === mkKode) || null; -} - -/** - * Delete nilai for a specific mahasiswa-MK combination - */ -export function deleteNilai(mahasiswaId: string, mkKode: string): boolean { - if (typeof window === 'undefined') return false; - - try { - const allNilai = getAllNilai(); - const filtered = allNilai.filter( - (n) => !(n.mahasiswaId === mahasiswaId && n.mkKode === mkKode) - ); - - localStorage.setItem(STORAGE_KEY, JSON.stringify(filtered)); - return true; - } catch (error) { - console.error('Error deleting nilai from localStorage:', error); - return false; - } -} - -/** - * Clear all nilai data - */ -export function clearAllNilai(): boolean { - if (typeof window === 'undefined') return false; - - try { - localStorage.removeItem(STORAGE_KEY); - return true; - } catch (error) { - console.error('Error clearing nilai from localStorage:', error); - return false; - } -} - -/** - * Get statistics for a mahasiswa - */ -export function getMahasiswaStatistics(mahasiswaId: string) { - const nilaiList = getNilaiByMahasiswa(mahasiswaId); - - if (nilaiList.length === 0) { - return { - totalMK: 0, - avgNilai: 0, - highestNilai: 0, - lowestNilai: 0, - }; - } - - const nilaiValues = nilaiList.map((n) => n.nilaiAkhir); - const total = nilaiValues.reduce((sum, val) => sum + val, 0); - - return { - totalMK: nilaiList.length, - avgNilai: Math.round((total / nilaiList.length) * 10) / 10, - highestNilai: Math.max(...nilaiValues), - lowestNilai: Math.min(...nilaiValues), - }; -} diff --git a/FrontEnd/tailwind.config.js b/FrontEnd/tailwind.config.js deleted file mode 100644 index 37e97d4..0000000 --- a/FrontEnd/tailwind.config.js +++ /dev/null @@ -1,27 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -module.exports = { - content: [ - './src/pages/**/*.{js,ts,jsx,tsx,mdx}', - './src/components/**/*.{js,ts,jsx,tsx,mdx}', - './src/app/**/*.{js,ts,jsx,tsx,mdx}', - ], - theme: { - extend: { - colors: { - primary: { - 50: '#f0f9ff', - 100: '#e0f2fe', - 200: '#bae6fd', - 300: '#7dd3fc', - 400: '#38bdf8', - 500: '#0ea5e9', - 600: '#0284c7', - 700: '#0369a1', - 800: '#075985', - 900: '#0c4a6e', - }, - }, - }, - }, - plugins: [], -} diff --git a/FrontEnd/tsconfig.json b/FrontEnd/tsconfig.json deleted file mode 100644 index 404b4a5..0000000 --- a/FrontEnd/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], - "paths": { - "@/*": ["./src/*"] - } - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] -} diff --git a/MK_CODES.md b/MK_CODES.md deleted file mode 100644 index 48cc0bd..0000000 --- a/MK_CODES.md +++ /dev/null @@ -1,505 +0,0 @@ -# 📚 Daftar Kode Mata Kuliah - Sistem CPL - -Dokumen ini berisi daftar lengkap kode mata kuliah untuk 5 Program Studi di Fakultas Teknik Universitas Muhammadiyah Makassar. - ---- - -## 📖 Daftar Isi - -1. [Teknik Informatika (INF)](#1-teknik-informatika-inf) -2. [Arsitektur (ARS)](#2-arsitektur-ars) -3. [Perencanaan Wilayah Kota (PWK)](#3-perencanaan-wilayah-kota-pwk) -4. [Teknik Sipil (SIP)](#4-teknik-sipil-sip) -5. [Teknik Elektro (ELK)](#5-teknik-elektro-elk) -6. [Mapping CPL](#6-mapping-cpl) - ---- - -## 1. Teknik Informatika (INF) - -**Total**: 69 Mata Kuliah | **Total SKS**: 144 SKS | **Durasi**: 8 Semester - -### Semester 1 (18 SKS, 9 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **INF101** | Pancasila | 2 | CPL1 | Drs. Hamzah, M.Pd | -| **INF102** | Bahasa Indonesia | 2 | CPL1 | Dr. Siti Nurhaliza, M.Hum | -| **INF103** | Pendidikan Agama Islam | 2 | CPL1 | Prof. Dr. Abdul Malik, M.Ag | -| **INF104** | Pengantar Teknologi Informasi | 3 | CPL2 | Dr. Ahmad Fauzi, S.Kom, M.T | -| **INF105** | Matematika Dasar | 3 | CPL2 | Dr. Nurul Hikmah, M.Si | -| **INF106** | Algoritma dan Pemrograman | 3 | CPL3, CPL5 | Muhammad Ridwan, S.Kom, M.Cs | -| **INF107** | Sistem Digital | 2 | CPL4, CPL5 | Ir. Fadli Hasan, M.T | -| **INF108** | Bahasa Inggris I | 2 | CPL8 | Dra. Nurjannah, M.Hum | - -### Semester 2 (19 SKS, 9 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **INF201** | Kewarganegaraan | 2 | CPL1 | Drs. Saleh Mahmud, M.Pd | -| **INF202** | Kewirausahaan | 2 | CPL7 | Dr. Andi Muh. Akbar, S.E, M.M | -| **INF203** | Sistem Operasi | 3 | CPL4, CPL5 | Andi Alief Utama Armyn, S.Si, M.Si | -| **INF204** | Matematika Diskrit | 3 | CPL2, CPL3 | Dr. Ichsan Nur, M.Kom | -| **INF205** | Struktur Data | 3 | CPL3, CPL5 | Nur Hidayat, S.Kom, M.Kom | -| **INF206** | Organisasi dan Arsitektur Komputer | 3 | CPL4 | Ir. Bambang Prayogo, M.T | -| **INF207** | Pemrograman Web | 3 | CPL6 | Abdul Rahman, S.Kom, M.T | -| **INF208** | Bahasa Inggris II | 2 | CPL8 | Dra. Nurjannah, M.Hum | - -**CPMK Detail untuk INF207 (Pemrograman Web):** -- CPMK-INF207-1 (25%): Memahami konsep dasar web → CPL6 -- CPMK-INF207-2 (20%): Menguasai HTML/CSS → CPL6 -- CPMK-INF207-3 (25%): Implementasi JavaScript → CPL6 -- CPMK-INF207-4 (20%): Framework modern → CPL6 -- CPMK-INF207-5 (10%): Web deployment → CPL6 - -### Semester 3 (18 SKS, 8 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **INF301** | Basis Data | 3 | CPL4, CPL6 | Andi Muh. Saad, S.Kom, M.Cs | -| **INF302** | Pemrograman Berorientasi Objek | 3 | CPL3, CPL5 | Akhmad Qashlim, S.T, M.T | -| **INF303** | Jaringan Komputer | 3 | CPL4, CPL5 | Ir. Wahyu Hidayat, M.Kom | -| **INF304** | Statistika dan Probabilitas | 3 | CPL2, CPL3 | Dr. Suryani, M.Si | -| **INF305** | Interaksi Manusia dan Komputer | 2 | CPL6, CPL8 | Rini Andriani, S.Kom, M.T | -| **INF306** | Rekayasa Perangkat Lunak | 3 | CPL3, CPL7 | Dr. Husain Abdullah, S.Kom, M.Kom | -| **INF307** | Analisis dan Desain Algoritma | 3 | CPL3, CPL5 | Muhammad Arsyad, S.Kom, M.Cs | - -### Semester 4 (18 SKS, 8 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **INF401** | Pemrograman Mobile | 3 | CPL6 | Faisal Rahman, S.Kom, M.T | -| **INF402** | Sistem Manajemen Basis Data | 3 | CPL4, CPL6 | Andi Muh. Saad, S.Kom, M.Cs | -| **INF403** | Kecerdasan Buatan | 3 | CPL3, CPL5 | Dr. Irwan Budiman, S.Kom, M.Kom | -| **INF404** | Grafika Komputer | 3 | CPL6 | Hendra Wijaya, S.Kom, M.Kom | -| **INF405** | Keamanan Informasi | 2 | CPL4, CPL7 | Dr. Rizal Bakri, S.Kom, M.Cs | -| **INF406** | Metode Penelitian | 2 | CPL8 | Prof. Dr. Zulkifli Hassan, M.Kom | -| **INF407** | Etika Profesi | 2 | CPL1, CPL8 | Drs. Abdul Kadir, M.Pd | - -### Semester 5 (18 SKS, 8 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **INF501** | Pemrograman Framework | 3 | CPL6 | Abdul Rahman, S.Kom, M.T | -| **INF502** | Machine Learning | 3 | CPL3, CPL5 | Dr. Irwan Budiman, S.Kom, M.Kom | -| **INF503** | Sistem Terdistribusi | 3 | CPL4, CPL5 | Andi Alief Utama Armyn, S.Si, M.Si | -| **INF504** | Internet of Things (IoT) | 3 | CPL4, CPL6 | Ir. Fadli Hasan, M.T | -| **INF505** | Pengolahan Citra Digital | 3 | CPL3, CPL6 | Hendra Wijaya, S.Kom, M.Kom | -| **INF506** | Manajemen Proyek TI | 2 | CPL7, CPL8 | Dr. Andi Muh. Akbar, S.E, M.M | -| **INF507** | Mata Kuliah Pilihan I | 3 | Varies | Various | - -### Semester 6 (18 SKS, 8 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **INF601** | Cloud Computing | 3 | CPL4, CPL6 | Andi Alief Utama Armyn, S.Si, M.Si | -| **INF602** | Big Data | 3 | CPL4, CPL5 | Dr. Husain Abdullah, S.Kom, M.Kom | -| **INF603** | Data Mining | 3 | CPL3, CPL5 | Dr. Suryani, M.Si | -| **INF604** | Keamanan Jaringan | 3 | CPL4, CPL7 | Dr. Rizal Bakri, S.Kom, M.Cs | -| **INF605** | Pemrograman Game | 3 | CPL6 | Faisal Rahman, S.Kom, M.T | -| **INF606** | Mata Kuliah Pilihan II | 3 | Varies | Various | -| **INF607** | Praktik Kerja Lapangan (PKL) | 2 | CPL7, CPL8 | Koordinator PKL | - -### Semester 7 (18 SKS, 8 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **INF701** | Blockchain Technology | 3 | CPL4, CPL6 | Dr. Rizal Bakri, S.Kom, M.Cs | -| **INF702** | Natural Language Processing | 3 | CPL3, CPL5 | Dr. Irwan Budiman, S.Kom, M.Kom | -| **INF703** | Computer Vision | 3 | CPL3, CPL6 | Hendra Wijaya, S.Kom, M.Kom | -| **INF704** | Cyber Security | 3 | CPL4, CPL7 | Dr. Rizal Bakri, S.Kom, M.Cs | -| **INF705** | DevOps | 3 | CPL4, CPL6, CPL7 | Abdul Rahman, S.Kom, M.T | -| **INF706** | Seminar Proposal | 2 | CPL8 | Pembimbing Tugas Akhir | -| **INF707** | Mata Kuliah Pilihan III | 3 | Varies | Various | - -### Semester 8 (19 SKS, 3 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **INF801** | Tugas Akhir | 6 | CPL1-CPL8 (All) | Pembimbing Tugas Akhir | -| **INF802** | Kuliah Kerja Nyata (KKN) | 3 | CPL1, CPL8 | Koordinator KKN | - -### Mata Kuliah Pilihan (Elective) - -**Pilihan Konsentrasi Software Engineering:** -- INF-P01: Advanced Web Development (3 SKS) -- INF-P02: Mobile App Architecture (3 SKS) -- INF-P03: Software Testing & QA (3 SKS) - -**Pilihan Konsentrasi Data Science:** -- INF-P04: Deep Learning (3 SKS) -- INF-P05: Text Mining (3 SKS) -- INF-P06: Analisis Big Data (3 SKS) - -**Pilihan Konsentrasi Cyber Security:** -- INF-P07: Ethical Hacking (3 SKS) -- INF-P08: Forensik Digital (3 SKS) -- INF-P09: Cryptography (3 SKS) - -**Pilihan Konsentrasi Multimedia:** -- INF-P10: Animasi 3D (3 SKS) -- INF-P11: Virtual Reality (3 SKS) -- INF-P12: Augmented Reality (3 SKS) - ---- - -## 2. Arsitektur (ARS) - -**Total**: 50+ Mata Kuliah | **Total SKS**: 145 SKS | **Durasi**: 8 Semester - -### Semester 1 (20 SKS, 10 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **ARS101** | Pancasila | 2 | CPL1 | Drs. Hamzah, M.Pd | -| **ARS102** | Bahasa Indonesia | 2 | CPL5, CPL8 | Dr. Siti Nurhaliza, M.Hum | -| **ARS103** | Pendidikan Agama Islam | 2 | CPL1 | Prof. Dr. Abdul Malik, M.Ag | -| **ARS104** | Pengantar Arsitektur | 3 | CPL2, CPL3 | Ir. Sudirman Amir, M.T | -| **ARS105** | Gambar Teknik | 3 | CPL3, CPL4 | Ahmad Hidayat, S.T, M.T | -| **ARS106** | Matematika Teknik | 3 | CPL2 | Dr. Aliyah Rahman, M.Si | -| **ARS107** | Fisika Bangunan | 2 | CPL2, CPL4 | Dr. Syarifuddin, M.T | -| **ARS108** | Estetika Bentuk | 3 | CPL3, CPL5 | Dra. Andi Tenri Abeng, M.Sn | - -### Semester 2 (21 SKS, 10 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **ARS201** | Kewarganegaraan | 2 | CPL1 | Drs. Saleh Mahmud, M.Pd | -| **ARS202** | Sejarah Arsitektur | 2 | CPL2, CPL5 | Dr. Muhammadiyah Amin, M.Hum | -| **ARS203** | Studio Perancangan Arsitektur I | 4 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | -| **ARS204** | Struktur dan Konstruksi I | 3 | CPL4, CPL6 | Ir. Mulyadi Hamzah, M.T | -| **ARS205** | Utilitas Bangunan | 2 | CPL4, CPL6 | Ir. Nur Rahma, M.T | -| **ARS206** | Metode Perancangan | 2 | CPL3, CPL5 | Ar. Syaiful Malang, M.T | -| **ARS207** | Pengetahuan Bahan Bangunan | 2 | CPL4, CPL6 | Dr. Fadliah Rahman, M.T | -| **ARS208** | Bahasa Inggris | 2 | CPL8 | Dra. Nurjannah, M.Hum | -| **ARS209** | Komputer Arsitektur I | 2 | CPL7 | Ahmad Hidayat, S.T, M.T | - -**CPMK Detail untuk ARS203 (Studio Perancangan I):** -- CPMK-ARS203-1 (25%): Analisis site → CPL3 -- CPMK-ARS203-2 (25%): Konsep desain → CPL5 -- CPMK-ARS203-3 (20%): Pengembangan desain → CPL4 -- CPMK-ARS203-4 (20%): Presentasi → CPL8 -- CPMK-ARS203-5 (10%): Portfolio → CPL5 - -### Semester 3 (19 SKS, 9 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **ARS301** | Studio Perancangan Arsitektur II | 4 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | -| **ARS302** | Struktur dan Konstruksi II | 3 | CPL4, CPL6 | Ir. Mulyadi Hamzah, M.T | -| **ARS303** | Arsitektur Tropis | 2 | CPL2, CPL5 | Ar. Syaiful Malang, M.T | -| **ARS304** | Teori Arsitektur | 2 | CPL2, CPL5 | Dr. Muhammadiyah Amin, M.Hum | -| **ARS305** | Arsitektur Lanskap | 2 | CPL3, CPL5 | Ir. Siti Aisyah, M.LA | -| **ARS306** | Kewirausahaan | 2 | CPL7 | Dr. Andi Muh. Akbar, S.E, M.M | -| **ARS307** | Komputer Arsitektur II (CAD) | 2 | CPL7 | Ahmad Hidayat, S.T, M.T | -| **ARS308** | Sosiologi Arsitektur | 2 | CPL1, CPL2 | Dr. Nurhayati, M.Si | - -### Semester 4 (18 SKS, 8 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **ARS401** | Studio Perancangan Arsitektur III | 4 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | -| **ARS402** | Struktur dan Konstruksi III | 3 | CPL4, CPL6 | Ir. Mulyadi Hamzah, M.T | -| **ARS403** | Sistem Bangunan Tinggi | 2 | CPL4, CPL6 | Ir. Nur Rahma, M.T | -| **ARS404** | Arsitektur Perilaku | 2 | CPL2, CPL5 | Dr. Nurhayati, M.Si | -| **ARS405** | Metode Penelitian | 2 | CPL8 | Prof. Dr. Zulkifli Hassan, M.T | -| **ARS406** | Manajemen Konstruksi | 2 | CPL6, CPL7 | Ir. Bambang Suryanto, M.M | -| **ARS407** | Komputer Arsitektur III (3D Modeling) | 2 | CPL7 | Ahmad Hidayat, S.T, M.T | -| **ARS408** | Arsitektur Vernakular | 2 | CPL2, CPL5 | Ar. Syaiful Malang, M.T | - -### Semester 5 (17 SKS, 8 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **ARS501** | Studio Perancangan Arsitektur IV | 4 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | -| **ARS502** | Perancangan Kota | 2 | CPL3, CPL5 | Ir. Fadillah Amin, M.T | -| **ARS503** | Arsitektur Berkelanjutan | 2 | CPL2, CPL5, CPL6 | Ar. Ahmad Yani, M.T | -| **ARS504** | Konservasi Bangunan | 2 | CPL2, CPL5, CPL6 | Dr. Muhammad Ridwan, M.T | -| **ARS505** | Building Information Modeling (BIM) | 2 | CPL7 | Ahmad Hidayat, S.T, M.T | -| **ARS506** | Estimasi Biaya | 2 | CPL6, CPL7 | Ir. Bambang Suryanto, M.M | -| **ARS507** | Mata Kuliah Pilihan I | 3 | Varies | Various | - -### Semester 6 (17 SKS, 7 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **ARS601** | Studio Perancangan Arsitektur V | 4 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | -| **ARS602** | Arsitektur Interior | 3 | CPL3, CPL5 | Dra. Andi Tenri Abeng, M.Sn | -| **ARS603** | Praktek Profesi | 2 | CPL7, CPL8 | Koordinator Praktek | -| **ARS604** | Etika Profesi | 2 | CPL1, CPL8 | Drs. Abdul Kadir, M.Pd | -| **ARS605** | Smart Building Technology | 2 | CPL4, CPL7 | Ir. Nur Rahma, M.T | -| **ARS606** | Mata Kuliah Pilihan II | 3 | Varies | Various | - -### Semester 7 (18 SKS, 7 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **ARS701** | Studio Perancangan Arsitektur VI | 6 | CPL3, CPL4, CPL5 | Ir. Sudirman Amir, M.T | -| **ARS702** | Seminar | 2 | CPL8 | Pembimbing | -| **ARS703** | Arsitektur Kontemporer | 2 | CPL2, CPL5 | Dr. Muhammadiyah Amin, M.Hum | -| **ARS704** | Urban Design | 2 | CPL3, CPL5 | Ir. Fadillah Amin, M.T | -| **ARS705** | Parametric Design | 3 | CPL3, CPL7 | Ahmad Hidayat, S.T, M.T | -| **ARS706** | Mata Kuliah Pilihan III | 3 | Varies | Various | - -### Semester 8 (10 SKS, 2 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | Dosen | -|---------|------------------|-----|-------------|-------| -| **ARS801** | Tugas Akhir | 8 | CPL1-CPL8 (All) | Pembimbing Tugas Akhir | -| **ARS802** | Kuliah Kerja Nyata (KKN) | 2 | CPL1 | Koordinator KKN | - -### Mata Kuliah Pilihan (Elective) - -**Pilihan Konsentrasi Perancangan:** -- ARS-P01: Arsitektur Komersial (3 SKS) -- ARS-P02: Arsitektur Pendidikan (3 SKS) -- ARS-P03: Arsitektur Kesehatan (3 SKS) - -**Pilihan Konsentrasi Teknologi:** -- ARS-P04: Green Building Technology (3 SKS) -- ARS-P05: Advanced Structural System (3 SKS) -- ARS-P06: Building Physics (3 SKS) - -**Pilihan Konsentrasi Manajemen:** -- ARS-P07: Real Estate Development (3 SKS) -- ARS-P08: Project Management (3 SKS) -- ARS-P09: Contract Management (3 SKS) - ---- - -## 3. Perencanaan Wilayah Kota (PWK) - -**Total**: 50+ Mata Kuliah | **Total SKS**: 144 SKS | **Durasi**: 8 Semester - -### Semester 1 (19 SKS, 9 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | -|---------|------------------|-----|-------------| -| **PWK101** | Pancasila | 2 | CPL1 | -| **PWK102** | Bahasa Indonesia | 2 | CPL1, CPL8 | -| **PWK103** | Pendidikan Agama Islam | 2 | CPL1 | -| **PWK104** | Pengantar Perencanaan Wilayah dan Kota | 3 | CPL2, CPL3 | -| **PWK105** | Gambar Teknik PWK | 3 | CPL3, CPL4 | -| **PWK106** | Matematika dan Statistika | 3 | CPL2 | -| **PWK107** | Geografi Pembangunan | 2 | CPL2, CPL5 | -| **PWK108** | Bahasa Inggris I | 2 | CPL8 | - -### Semester 2 (20 SKS, 9 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | -|---------|------------------|-----|-------------| -| **PWK201** | Kewarganegaraan | 2 | CPL1 | -| **PWK202** | Kewirausahaan | 2 | CPL7 | -| **PWK203** | Studio Perencanaan I | 4 | CPL3, CPL4, CPL5 | -| **PWK204** | Tata Guna Lahan | 2 | CPL3, CPL5 | -| **PWK205** | Ekonomi Perkotaan | 2 | CPL2, CPL6 | -| **PWK206** | Sistem Informasi Geografis (SIG) | 3 | CPL4, CPL7 | -| **PWK207** | Sosiologi Perkotaan | 2 | CPL2, CPL5 | -| **PWK208** | Bahasa Inggris II | 2 | CPL8 | - -### Semester 3 - 8 -*[Detail MK Semester 3-8 tersedia di sistem. Total 144 SKS mencakup mata kuliah perencanaan tata ruang, infrastruktur, transportasi, dan lingkungan]* - -**Mata Kuliah Unggulan:** -- PWK301: Studio Perencanaan II -- PWK401: Studio Perencanaan III -- PWK501: Studio Perencanaan IV -- PWK601: Perencanaan Infrastruktur -- PWK701: Perencanaan Transportasi -- PWK801: Tugas Akhir (6 SKS) - ---- - -## 4. Teknik Sipil (SIP) - -**Total**: 50+ Mata Kuliah | **Total SKS**: 144 SKS | **Durasi**: 8 Semester - -### Semester 1 (19 SKS, 9 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | -|---------|------------------|-----|-------------| -| **SIP101** | Pancasila | 2 | CPL1 | -| **SIP102** | Bahasa Indonesia | 2 | CPL1, CPL8 | -| **SIP103** | Pendidikan Agama Islam | 2 | CPL1 | -| **SIP104** | Matematika Teknik I | 3 | CPL2 | -| **SIP105** | Fisika Teknik | 3 | CPL2, CPL4 | -| **SIP106** | Kimia Teknik | 2 | CPL2, CPL4 | -| **SIP107** | Gambar Teknik Sipil | 3 | CPL3, CPL4 | -| **SIP108** | Pengantar Teknik Sipil | 2 | CPL2, CPL3 | -| **SIP109** | Bahasa Inggris I | 2 | CPL8 | - -### Semester 2 (19 SKS, 9 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | -|---------|------------------|-----|-------------| -| **SIP201** | Kewarganegaraan | 2 | CPL1 | -| **SIP202** | Kewirausahaan | 2 | CPL7 | -| **SIP203** | Matematika Teknik II | 3 | CPL2 | -| **SIP204** | Mekanika Teknik I | 3 | CPL3, CPL4 | -| **SIP205** | Menggambar dengan Komputer (CAD) | 2 | CPL4, CPL7 | -| **SIP206** | Geologi Teknik | 2 | CPL2, CPL4 | -| **SIP207** | Bahan Bangunan | 2 | CPL4, CPL6 | -| **SIP208** | Surveying | 3 | CPL3, CPL4 | -| **SIP209** | Bahasa Inggris II | 2 | CPL8 | - -### Semester 3 - 8 -*[Detail MK Semester 3-8 tersedia di sistem. Mencakup mata kuliah struktur, hidrologi, jalan raya, manajemen konstruksi]* - -**Mata Kuliah Unggulan:** -- SIP301: Mekanika Teknik II -- SIP302: Struktur Beton I -- SIP401: Struktur Beton II -- SIP402: Struktur Baja -- SIP501: Rekayasa Jalan Raya -- SIP601: Manajemen Konstruksi -- SIP701: Rekayasa Gempa -- SIP801: Tugas Akhir (6 SKS) - ---- - -## 5. Teknik Elektro (ELK) - -**Total**: 50+ Mata Kuliah | **Total SKS**: 144 SKS | **Durasi**: 8 Semester - -### Semester 1 (19 SKS, 9 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | -|---------|------------------|-----|-------------| -| **ELK101** | Pancasila | 2 | CPL1 | -| **ELK102** | Bahasa Indonesia | 2 | CPL1, CPL8 | -| **ELK103** | Pendidikan Agama Islam | 2 | CPL1 | -| **ELK104** | Matematika Teknik I | 3 | CPL2 | -| **ELK105** | Fisika Listrik dan Magnet | 3 | CPL2, CPL4 | -| **ELK106** | Dasar Teknik Elektro | 3 | CPL2, CPL3 | -| **ELK107** | Gambar Teknik Elektro | 2 | CPL3, CPL4 | -| **ELK108** | Rangkaian Listrik I | 3 | CPL3, CPL4 | - -### Semester 2 (20 SKS, 9 MK) - -| Kode MK | Nama Mata Kuliah | SKS | CPL Terkait | -|---------|------------------|-----|-------------| -| **ELK201** | Kewarganegaraan | 2 | CPL1 | -| **ELK202** | Kewirausahaan | 2 | CPL7 | -| **ELK203** | Matematika Teknik II | 3 | CPL2 | -| **ELK204** | Rangkaian Listrik II | 3 | CPL3, CPL4 | -| **ELK205** | Elektronika Dasar | 3 | CPL3, CPL4 | -| **ELK206** | Sistem Digital | 3 | CPL4, CPL5 | -| **ELK207** | Pemrograman Komputer | 2 | CPL5, CPL7 | -| **ELK208** | Bahasa Inggris | 2 | CPL8 | - -### Semester 3 - 8 -*[Detail MK Semester 3-8 tersedia di sistem. Mencakup mata kuliah elektronika daya, sistem kontrol, telekomunikasi, energi terbarukan]* - -**Mata Kuliah Unggulan:** -- ELK301: Elektronika Analog -- ELK302: Sistem Mikroprosesor -- ELK401: Sistem Kontrol -- ELK402: Elektronika Daya -- ELK501: Sistem Tenaga Listrik -- ELK601: Telekomunikasi -- ELK701: Energi Terbarukan -- ELK801: Tugas Akhir (6 SKS) - ---- - -## 6. Mapping CPL - -### CPL Standard untuk Semua Prodi - -Setiap program studi memiliki **8 CPL** yang disesuaikan dengan kompetensi masing-masing: - -| Kode CPL | Kategori | Deskripsi Umum | -|----------|----------|----------------| -| **CPL1** | Sikap | Bertakwa, beretika, dan bertanggung jawab | -| **CPL2** | Pengetahuan | Menguasai konsep teoretis bidang ilmu | -| **CPL3** | Keterampilan Umum | Mampu menerapkan pemikiran logis dan analitis | -| **CPL4** | Keterampilan Khusus | Menguasai teknologi dan tools bidang | -| **CPL5** | Keterampilan Khusus | Mampu merancang dan mengimplementasikan solusi | -| **CPL6** | Keterampilan Khusus | Kemampuan teknis spesifik prodi | -| **CPL7** | Keterampilan Umum | Kemampuan manajemen dan kewirausahaan | -| **CPL8** | Sikap | Komunikasi efektif dan kerja sama tim | - -### Contoh Mapping Informatika - -**INF207 (Pemrograman Web) - 3 SKS → CPL6** - -| CPMK | Deskripsi | Bobot CPMK | Kontribusi ke CPL6 | -|------|-----------|------------|-------------------| -| CPMK-INF207-1 | Konsep dasar web | 25% | 25% | -| CPMK-INF207-2 | HTML/CSS | 20% | 20% | -| CPMK-INF207-3 | JavaScript | 25% | 25% | -| CPMK-INF207-4 | Framework modern | 20% | 20% | -| CPMK-INF207-5 | Web deployment | 10% | 10% | -| **Total** | | **100%** | **100%** | - -**Formula Kalkulasi:** -``` -Nilai MK = Σ (Nilai CPMK × Bobot CPMK) -Nilai CPL = Σ (Nilai CPMK × Bobot MK × Bobot CPMK) / Σ (Bobot MK × Bobot CPMK) - -Bobot MK = 100% / Jumlah MK yang berkontribusi ke CPL -``` - -### Contoh Mapping Arsitektur - -**ARS203 (Studio Perancangan I) - 4 SKS → CPL3, CPL4, CPL5** - -| CPMK | Deskripsi | Bobot CPMK | CPL Terkait | -|------|-----------|------------|-------------| -| CPMK-ARS203-1 | Analisis site | 25% | CPL3 | -| CPMK-ARS203-2 | Konsep desain | 25% | CPL5 | -| CPMK-ARS203-3 | Pengembangan desain | 20% | CPL4 | -| CPMK-ARS203-4 | Presentasi | 20% | CPL8 | -| CPMK-ARS203-5 | Portfolio | 10% | CPL5 | -| **Total** | | **100%** | | - ---- - -## 📊 Ringkasan - -| Program Studi | Kode | Total MK | Total SKS | Durasi | CPL | -|--------------|------|----------|-----------|--------|-----| -| Teknik Informatika | INF | 69 | 144 | 8 Semester | 8 | -| Arsitektur | ARS | 50+ | 145 | 8 Semester | 8 | -| Perencanaan Wilayah Kota | PWK | 50+ | 144 | 8 Semester | 8 | -| Teknik Sipil | SIP | 50+ | 144 | 8 Semester | 8 | -| Teknik Elektro | ELK | 50+ | 144 | 8 Semester | 8 | - ---- - -## 📝 Catatan - -- **Detail CPMK lengkap** tersedia untuk beberapa MK inti di sistem -- **MK Pilihan** disesuaikan dengan konsentrasi/peminatan mahasiswa -- **SKS Minimum kelulusan**: 144-145 SKS (tergantung prodi) -- **IPK Minimum kelulusan**: 2.75 -- **Masa studi**: Normal 4 tahun (8 semester), Maksimal 7 tahun (14 semester) - ---- - -## 🔄 Update & Maintenance - -Dokumen ini akan diperbarui seiring dengan: -- Perubahan kurikulum prodi -- Penambahan mata kuliah baru -- Penyesuaian SKS dan semester -- Update mapping CPL-MK-CPMK - ---- - -## 📞 Kontak - -Untuk informasi lebih lanjut atau pertanyaan terkait mata kuliah: - -- **Fakultas Teknik UNISMUH Makassar** -- **Website**: [https://unismuh.ac.id](https://unismuh.ac.id) -- **Email**: teknik@unismuh.ac.id - ---- - -**© 2025 Universitas Muhammadiyah Makassar** - -*Dokumen ini bersifat dinamis dan dapat berubah sesuai kebijakan akademik.* - -**Last Updated**: 27 November 2025 -**Version**: 1.0 diff --git a/QUICK_START.md b/QUICK_START.md deleted file mode 100644 index 97d2228..0000000 --- a/QUICK_START.md +++ /dev/null @@ -1,707 +0,0 @@ -# 🚀 Quick Start Guide - Sistem CPL - -Panduan cepat untuk menggunakan Sistem Capaian Pembelajaran Lulusan (CPL) Universitas Muhammadiyah Makassar. - ---- - -## 📖 Daftar Isi - -1. [Login ke Sistem](#1-login-ke-sistem) -2. [Dashboard Overview](#2-dashboard-overview) -3. [Input Nilai Mahasiswa](#3-input-nilai-mahasiswa) -4. [Laporan CPL dengan CPMK Breakdown](#4-laporan-cpl-dengan-cpmk-breakdown) -5. [Manajemen Data & Import Nilai](#5-manajemen-data--import-nilai) -6. [CPL & Pemetaan Kurikulum](#6-cpl--pemetaan-kurikulum) -7. [Tips & Troubleshooting](#7-tips--troubleshooting) - ---- - -## 1. Login ke Sistem - -### Akses Landing Page - -1. Buka browser dan akses `http://localhost:3000` -2. Halaman landing akan menampilkan informasi sistem -3. Klik tombol **"Login"** di header - -### Kredensial Login (5 Program Studi) - -Sistem menyediakan akun demo untuk 5 Kaprodi: - -| Role | Email | Password | Program Studi | -|------|-------|----------|---------------| -| **Kaprodi Informatika** | kaprodi.informatika@unismuh.ac.id | kaprodi123 | S1 Teknik Informatika (INF) | -| **Kaprodi Arsitektur** | kaprodi.arsitektur@unismuh.ac.id | kaprodi123 | S1 Arsitektur (ARS) | -| **Kaprodi PWK** | kaprodi.pwk@unismuh.ac.id | kaprodi123 | S1 Perencanaan Wilayah Kota (PWK) | -| **Kaprodi Sipil** | kaprodi.sipil@unismuh.ac.id | kaprodi123 | S1 Teknik Sipil (SIP) | -| **Kaprodi Elektro** | kaprodi.elektro@unismuh.ac.id | kaprodi123 | S1 Teknik Elektro (ELK) | - -### Quick Login - -- Pilih role dari dropdown di halaman login -- Klik tombol **"Quick Login"** untuk login langsung -- Setelah login berhasil, Anda akan diarahkan ke dashboard prodi masing-masing - ---- - -## 2. Dashboard Overview - -### Tampilan Dashboard - -Dashboard menampilkan overview capaian pembelajaran dengan **Tree Diagram** hierarki: - -#### **Tree Diagram CPL-MK-CPMK** -- Visualisasi struktur: `CPL → Mata Kuliah → CPMK` -- Expandable nodes: Klik CPL untuk melihat MK terkait -- Color-coded: Biru (CPL), Hijau (MK), Ungu (CPMK) -- Menampilkan bobot setiap CPMK - -**Contoh Hierarki:** -``` -CPL1: Mampu menerapkan pemikiran logis - └── Pemrograman Web (MK001) - 3 SKS - ├── CPMK1-1: Memahami konsep dasar web (Bobot: 20%) - ├── CPMK1-2: Menguasai HTML/CSS (Bobot: 30%) - ├── CPMK1-3: Implementasi JavaScript (Bobot: 25%) - └── CPMK1-4: Framework modern (Bobot: 25%) -``` - -#### **Statistik Cepat** -- Total Mahasiswa -- Jumlah Mata Kuliah -- CPL Tercapai (rata-rata ≥75) -- Semester Aktif - -#### **Grafik Pencapaian** -- Radar Chart: Visualisasi 8 CPL per prodi -- Bar Chart: Trend CPL per semester -- Line Chart: Progress mahasiswa - -### Navigasi - -- **Navbar**: Logo, Program Studi, Profil user, Logout -- **Sidebar**: - - 🏠 Dashboard - - ✏️ Input Nilai - - 📊 Laporan - - 📁 Manajemen Data (NEW!) - - 🎯 CPL & Pemetaan - - ⚙️ Settings -- **Mobile**: Hamburger menu responsive - ---- - -## 3. Input Nilai Mahasiswa - -### Langkah Input Nilai (Manual) - -1. **Akses Menu Input** - - Klik **"Input Nilai"** di sidebar - - Pilih mahasiswa dari dropdown (tersaring per prodi) - -2. **Pilih Mata Kuliah** - - Dropdown menampilkan MK sesuai semester mahasiswa - - Contoh: "Pemrograman Web (INF101) - 3 SKS" - - Sistem menampilkan daftar CPMK untuk MK tersebut - -3. **Input Nilai CPMK** - - Masukkan nilai 0-100 untuk setiap CPMK - - Bobot otomatis ditampilkan di samping input - - Kalkulasi real-time ditampilkan - - **Contoh:** - ``` - Pemrograman Web (INF101) - - CPMK1-1: Konsep Dasar (Bobot: 20%) → Nilai: 85 - CPMK1-2: HTML/CSS (Bobot: 30%) → Nilai: 90 - CPMK1-3: JavaScript (Bobot: 25%) → Nilai: 78 - CPMK1-4: Framework (Bobot: 25%) → Nilai: 82 - - Nilai MK = (85×0.2) + (90×0.3) + (78×0.25) + (82×0.25) = 84.5 - ``` - -4. **Simpan Nilai** - - Klik tombol **"Simpan Nilai"** - - Sistem otomatis: - * Menghitung nilai MK - * Mendistribusikan ke CPL terkait - * Menyimpan ke localStorage - - Notifikasi sukses muncul - -### Kalkulasi Otomatis (Weighted Average) - -**Formula:** -1. **Nilai MK** = Σ (Nilai CPMK × Bobot CPMK) -2. **Nilai CPL** = Σ (Nilai CPMK terkait × Bobot CPMK) / Jumlah CPMK - -**Contoh Distribusi:** -``` -CPL3: Mampu menerapkan pemikiran logis -├── MK: Pemrograman Web (Bobot: 100% / 8 MK = 12.5%) -│ ├── CPMK1-1 → CPL3 (Kontribusi: 12.5% × 20% = 2.5%) -│ ├── CPMK1-2 → CPL3 (Kontribusi: 12.5% × 30% = 3.75%) -│ └── dst... -└── Nilai CPL3 = Rata-rata tertimbang dari semua CPMK -``` - ---- - -## 4. Laporan CPL dengan CPMK Breakdown - -### Akses Laporan - -1. Klik **"Laporan"** di sidebar -2. Filter laporan: - - **Mahasiswa**: Pilih dari dropdown (tersaring per prodi) - - **Semester**: Pilih semester 1-8 -3. Klik **"Generate Laporan"** - -### Fitur Laporan (NEW!) - -#### **1. Tabel CPL dengan Breakdown** -- Tabel utama menampilkan 8 CPL dengan nilai -- **Klik baris CPL** untuk membuka breakdown detail -- Expandable accordion menampilkan: - * **Mata Kuliah** yang berkontribusi ke CPL - * **CPMK** dalam setiap MK - * **Bobot** masing-masing CPMK - * **Nilai Tertimbang** (Nilai × Bobot) - * **Kontribusi ke CPL** (persentase) - -**Contoh Breakdown:** -``` -📘 CPL3: Mampu menerapkan pemikiran logis (Nilai: 82.5) [Klik untuk expand] - - 📗 Pemrograman Web (INF101) - 3 SKS - ┌─────────────┬───────┬───────────────┬─────────────┐ - │ CPMK │ Bobot │ Nilai │ Kontribusi │ - ├─────────────┼───────┼───────────────┼─────────────┤ - │ CPMK1-1 │ 20% │ 85 × 0.20 = 17│ 2.5% ke CPL │ - │ CPMK1-2 │ 30% │ 90 × 0.30 = 27│ 3.75% ke CPL│ - │ CPMK1-3 │ 25% │ 78 × 0.25 = 20│ 3.13% ke CPL│ - │ CPMK1-4 │ 25% │ 82 × 0.25 = 21│ 3.13% ke CPL│ - └─────────────┴───────┴───────────────┴─────────────┘ - - 📗 Struktur Data (INF102) - 3 SKS - [Daftar CPMK...] -``` - -#### **2. Visualisasi** -- **Radar Chart**: Overview 8 CPL -- **Bar Chart**: Perbandingan per CPL -- **Progress Indicator**: Status tercapai/cukup/belum - -#### **3. Export** -- **Export PDF**: Download laporan lengkap dengan breakdown -- **Export Excel**: Data tabular untuk analisis lanjut - -### Tips Membaca Laporan - -- **Status CPL:** - * 🟢 **Tercapai** (≥75): Target sudah tercapai - * 🟡 **Cukup** (60-74): Perlu peningkatan - * 🔴 **Belum Tercapai** (<60): Perlu perhatian khusus - -- **Interpretasi Bobot:** - * Bobot CPMK menunjukkan tingkat kepentingan dalam MK - * Kontribusi ke CPL = Bobot MK × Bobot CPMK - * CPL dengan banyak MK memiliki bobot terdistribusi - ---- - -## 5. Manajemen Data & Import Nilai - -### Overview Menu Manajemen Data (NEW!) - -Menu ini menyediakan 4 tab untuk mengelola data secara efisien: - -#### **Tab 1: Import Nilai** - -**Fungsi:** Import data nilai mahasiswa dari file Excel/CSV secara batch - -**Langkah-langkah:** -1. **Pilih Filter** - - Prodi: Informatika/Arsitektur/PWK/Sipil/Elektro - - Semester: 1-8 - -2. **Download Template** - - Klik **"Download Contoh File"** - - Tersedia format: `.xlsx` dan `.csv` - - Template berisi kolom: NIM, Nama, MK1, MK2, ...MKn - -3. **Upload File** - - Klik **"Pilih File"** atau drag & drop - - Format yang diterima: `.xlsx`, `.csv` - - Maksimal ukuran: 5MB - -4. **Preview Data** - - Sistem menampilkan preview tabel - - Validasi otomatis: NIM, Nilai (0-100) - - Tampilkan error jika ada data tidak valid - -5. **Import** - - Klik **"Import Data"** - - Sistem otomatis: - * Menyimpan nilai MK - * Menghitung nilai CPMK - * Mendistribusikan ke CPL - * Menyimpan ke localStorage - - Tampilkan hasil: Total, Berhasil, Gagal - -**Format Excel/CSV:** -```csv -NIM,Nama,INF101,INF102,INF103,INF104,INF105,INF106,INF107,INF108 -105841109601,Andi Miftah,85,90,78,82,88,75,92,80 -105841109602,Annisya Ariska,90,85,82,88,92,78,85,87 -... -``` - -**Contoh File Disediakan:** -- `contoh-import-informatika-sem1.xlsx` (10 mahasiswa, 8 MK) -- `contoh-import-informatika-sem2.xlsx` (10 mahasiswa, 7 MK) -- `contoh-import-arsitektur-sem2.xlsx` (10 mahasiswa, 9 MK) -- Format CSV juga tersedia - -#### **Tab 2: Mahasiswa** - -**Fungsi:** Monitoring mahasiswa yang sudah memiliki nilai - -**Fitur:** -- Tabel mahasiswa dengan data nilai -- Kolom: - * NIM - * Nama - * Prodi - * Angkatan - * Semester - * Total Nilai (jumlah MK yang sudah diinput) - * Dari Import (jumlah nilai hasil import) - * Status: 🟢 Terimport / 🔵 Mock Data / ⚪ Manual - -**Filter:** -- Prodi (dropdown) -- Refresh button untuk update real-time - -**Statistik Mahasiswa:** -- Total mahasiswa dengan nilai -- Rata-rata nilai per mahasiswa -- Mahasiswa dengan nilai lengkap - -#### **Tab 3: Mata Kuliah** - -**Fungsi:** Statistik nilai per mata kuliah - -**Tampilan:** Grid cards per MK - -**Informasi per MK:** -- Kode & Nama MK -- SKS -- Jumlah mahasiswa yang mengambil -- Statistik nilai: - * Rata-rata (dengan color coding) - * Nilai minimum - * Nilai maksimum - * Progress bar visual -- Data import: Jumlah nilai dari import batch - -**Filter:** -- Prodi (dropdown) -- Semester (dropdown) -- Refresh button - -**Color Coding:** -- 🟢 Hijau: Rata-rata ≥75 (Baik) -- 🟡 Kuning: Rata-rata 60-74 (Cukup) -- 🔴 Merah: Rata-rata <60 (Kurang) - -#### **Tab 4: CPL & CPMK** - -**Fungsi:** Overview pencapaian CPL dengan distribusi - -**Summary Cards:** -- 🟢 **CPL Tercapai**: Jumlah CPL dengan rata-rata ≥75 -- 🟡 **CPL Cukup**: Jumlah CPL dengan rata-rata 60-74 -- 🔴 **CPL Belum Tercapai**: Jumlah CPL dengan rata-rata <60 - -**Tabel CPL:** -- Kode CPL -- Deskripsi lengkap -- Jumlah mahasiswa -- Statistik: - * Rata-rata - * Minimum - * Maksimum -- Distribusi (badges): - * ✅ Tercapai (hijau) - * ⚠️ Cukup (kuning) - * ❌ Belum Tercapai (merah) - -**Info Box:** -- Penjelasan kalkulasi otomatis CPL dari CPMK -- Formula perhitungan weighted average - -**Filter:** -- Prodi (dropdown) -- Semester (dropdown) -- Refresh button - -### Integrasi Antar Tab - -**Workflow:** -``` -1. Tab Import Nilai - ↓ - [Upload Excel/CSV] → [Preview] → [Import] - ↓ - Data tersimpan di localStorage - ↓ -2. Tab Mahasiswa - ↓ - [Refresh] → Menampilkan mahasiswa dengan nilai baru - ↓ -3. Tab Mata Kuliah - ↓ - [Refresh] → Statistik MK terupdate - ↓ -4. Tab CPL & CPMK - ↓ - [Refresh] → CPL dihitung otomatis dari nilai MK -``` - -**Real-time Update:** -- Setiap import otomatis trigger refresh -- Tombol **"Refresh"** di setiap tab untuk manual update -- Integrasi penuh: localStorage → dataIntegration.ts → UI - ---- - -## 6. CPL & Pemetaan Kurikulum - -### Akses Menu CPL Mapping - -1. Klik **"CPL & Pemetaan"** di sidebar -2. Tampilan tabel matrix: CPL vs MK vs CPMK - -### Struktur Data (Per Prodi) - -#### **Informatika (INF) - 69 Mata Kuliah, 144 SKS** -- **8 CPL:** CPL1-CPL8 -- **69 MK:** INF101-INF169 -- **CPMK Detail:** 6 MK memiliki CPMK lengkap dengan bobot - -**Contoh MK Informatika:** -| Semester | Kode MK | Nama MK | SKS | CPL Terkait | -|----------|---------|---------|-----|-------------| -| 1 | INF101 | Pemrograman Web | 3 | CPL3, CPL6, CPL7 | -| 1 | INF102 | Struktur Data | 3 | CPL3, CPL5 | -| 1 | INF103 | Matematika Diskrit | 3 | CPL2, CPL3 | -| 2 | INF201 | Basis Data | 3 | CPL4, CPL6 | -| 2 | INF202 | Pemrograman Berorientasi Objek | 3 | CPL3, CPL5 | - -**Lihat daftar lengkap:** [MK_CODES.md](#mk-codes-reference) (akan dibuat) - -#### **Arsitektur (ARS) - 50+ Mata Kuliah, 145 SKS** -- **8 CPL:** CPL1-CPL8 -- **50+ MK:** ARS101-ARS5xx -- **CPMK Detail:** 7 MK memiliki CPMK lengkap - -**Contoh MK Arsitektur:** -| Semester | Kode MK | Nama MK | SKS | CPL Terkait | -|----------|---------|---------|-----|-------------| -| 1 | ARS101 | Pengantar Arsitektur | 2 | CPL1, CPL2 | -| 1 | ARS102 | Gambar Teknik | 3 | CPL3, CPL4 | -| 2 | ARS201 | Studio Perancangan 1 | 4 | CPL2, CPL3, CPL5 | - -#### **PWK, Sipil, Elektro** -- Masing-masing memiliki struktur CPL dan MK tersendiri -- Total ~50-70 MK per prodi -- Daftar lengkap tersedia di MK_CODES.md - -### Pemetaan CPMK ke CPL - -**Contoh Mapping (Pemrograman Web - INF101):** - -| CPMK | Deskripsi | Bobot CPMK | CPL Terkait | Bobot ke CPL | -|------|-----------|------------|-------------|--------------| -| CPMK1-1 | Konsep dasar web | 20% | CPL3 | 30% | -| CPMK1-2 | HTML/CSS | 30% | CPL6 | 40% | -| CPMK1-3 | JavaScript | 25% | CPL6 | 35% | -| CPMK1-4 | Framework | 25% | CPL7 | 45% | - -**Interpretasi:** -- CPMK1-1 berkontribusi 20% terhadap nilai MK -- CPMK1-1 berkontribusi 30% terhadap CPL3 dari MK ini -- Jika Nilai CPMK1-1 = 85, kontribusi ke MK = 85 × 0.20 = 17 -- Kontribusi ke CPL3 = 85 × (100%/jumlah MK) × 0.20 = ... - ---- - -## 7. Tips & Troubleshooting - -### Tips Penggunaan - -✅ **Gunakan Import untuk Batch Data** -- Lebih cepat untuk input banyak mahasiswa -- Download template untuk format yang benar -- Validasi data di Excel sebelum import - -✅ **Input Manual untuk Update Cepat** -- Gunakan untuk update nilai individual -- Real-time calculation - -✅ **Manfaatkan Tab Manajemen** -- Tab Mahasiswa: Cek kelengkapan nilai -- Tab Mata Kuliah: Monitoring performa MK -- Tab CPL: Monitoring pencapaian agregat - -✅ **Breakdown CPMK di Laporan** -- Klik CPL untuk melihat detail kontribusi -- Identifikasi CPMK yang lemah -- Fokus perbaikan pada CPMK dengan kontribusi besar - -✅ **Refresh Setelah Import** -- Klik refresh di setiap tab untuk update data -- Sistem otomatis refresh setelah import - -✅ **Export Laporan Berkala** -- Export PDF untuk dokumentasi -- Export Excel untuk analisis lanjut - -### Troubleshooting - -❌ **File Import Gagal** -- **Cek format:** Harus `.xlsx` atau `.csv` -- **Cek kolom:** NIM dan Nama harus ada -- **Cek nilai:** Harus angka 0-100 -- **Cek encoding CSV:** Gunakan UTF-8 - -❌ **Preview Tidak Muncul** -- File terlalu besar (>5MB) -- Format tidak didukung -- Coba download ulang template - -❌ **Data Tidak Terupdate di Tab Lain** -- Klik tombol **"Refresh"** manual -- Clear browser cache (Ctrl+Shift+Del) -- Reload halaman (F5) - -❌ **Nilai CPL Tidak Berubah Setelah Import** -- Pastikan MK yang diimport ter-mapping ke CPL -- Cek di Tab CPL apakah CPMK sudah ada bobot -- Refresh dashboard (F5) - -❌ **Breakdown CPMK Tidak Muncul** -- Pastikan laporan sudah di-generate -- Klik baris CPL untuk expand -- Pastikan ada data nilai untuk mahasiswa tersebut - -❌ **Export PDF/Excel Belum Berfungsi** -- Fitur masih mockup di development -- Akan diaktifkan di production - -### Keyboard Shortcuts - -- `Ctrl + R` atau `F5`: Refresh halaman -- `Tab`: Navigasi antar input field -- `Enter`: Submit form -- `Esc`: Tutup modal/dropdown - -### Command Cheat Sheet (Development) - -```bash -# Start development server -npm run dev - -# Build for production -npm run build - -# Run production build -npm start - -# Clear cache -rm -rf .next && npm run dev - -# Check errors -npm run lint -``` - ---- - -## 📱 Akses Mobile - -Sistem CPL responsive dan dapat diakses via smartphone: - -1. Buka browser mobile (Chrome, Safari, Firefox) -2. Akses URL: `http://localhost:3000` atau domain production -3. Fitur mobile: - - Sidebar → Hamburger menu - - Chart → Optimized untuk layar kecil - - Table → Horizontal scroll - - Cards → Stacked layout - - Touch-friendly buttons - ---- - -## 🔄 Update Data (Development Mode) - -### Data Mock - -File: `src/data/mockData.ts` - -**Struktur:** -```typescript -// 5 Prodi -export const prodiData = [...]; - -// 8 CPL per prodi -export const cplData = [...]; - -// Mahasiswa -export const mahasiswaData = [...]; - -// Mata Kuliah (69 untuk Informatika, 50+ untuk lainnya) -export const mkData = [...]; - -// CPMK dengan bobot -export const cpmkData = [...]; - -// Mapping CPMK → CPL -export const cpmkToCplMapping = [...]; -``` - -### Data Integration - -File: `src/utils/dataIntegration.ts` - -**Fungsi utama:** -- `getCombinedNilaiData()`: Merge localStorage + mockData -- `hitungNilaiCPLPerSemesterIntegrated()`: Kalkulasi CPL -- `hitungCPMKBreakdownPerCPL()`: Breakdown detail CPMK - -**Priority:** localStorage > mockData - ---- - -## 📚 MK Codes Reference - -### Informatika (69 MK, 144 SKS) - -**Semester 1 (8 MK, 20 SKS):** -- INF101: Pemrograman Web (3 SKS) → CPL3, CPL6, CPL7 -- INF102: Struktur Data (3 SKS) → CPL3, CPL5 -- INF103: Matematika Diskrit (3 SKS) → CPL2, CPL3 -- INF104: Algoritma Pemrograman (3 SKS) → CPL3, CPL5 -- INF105: Sistem Digital (2 SKS) → CPL4, CPL5 -- INF106: Bahasa Inggris Teknik (2 SKS) → CPL1, CPL8 -- INF107: Pancasila (2 SKS) → CPL1, CPL8 -- INF108: Pendidikan Agama (2 SKS) → CPL1, CPL8 - -**Semester 2 (7 MK, 18 SKS):** -- INF201: Basis Data (3 SKS) → CPL4, CPL6 -- INF202: Pemrograman Berorientasi Objek (3 SKS) → CPL3, CPL5 -- INF203: Sistem Operasi (3 SKS) → CPL4, CPL5 -- INF204: Jaringan Komputer (3 SKS) → CPL4, CPL5 -- INF205: Statistika (2 SKS) → CPL2, CPL3 -- INF206: Kewarganegaraan (2 SKS) → CPL1, CPL8 -- INF207: Bahasa Indonesia (2 SKS) → CPL1, CPL8 - -*[Untuk daftar lengkap semua semester, lihat MK_CODES.md]* - -### Arsitektur (50+ MK, 145 SKS) - -**Semester 1:** -- ARS101: Pengantar Arsitektur (2 SKS) → CPL1, CPL2 -- ARS102: Gambar Teknik (3 SKS) → CPL3, CPL4 -- ARS103: Matematika Teknik (3 SKS) → CPL2, CPL3 -- *[Lihat MK_CODES.md untuk lengkap]* - -### PWK, Sipil, Elektro - -Daftar lengkap MK untuk 3 prodi lainnya tersedia di **MK_CODES.md** - ---- - -## 🧪 Testing Checklist - -### Login Testing -- [ ] Login dengan 5 akun kaprodi berhasil -- [ ] Quick login berfungsi -- [ ] Redirect ke dashboard sesuai prodi -- [ ] Logout berhasil - -### Dashboard Testing -- [ ] Tree diagram tampil dan interactive -- [ ] Expand/collapse CPL-MK-CPMK works -- [ ] Statistik cards tampil benar -- [ ] Radar chart render dengan 8 CPL - -### Input Nilai Testing -- [ ] Dropdown mahasiswa tersaring per prodi -- [ ] Dropdown MK tersaring per semester -- [ ] Input nilai 0-100 dengan validasi -- [ ] Kalkulasi real-time berfungsi -- [ ] Simpan nilai berhasil -- [ ] localStorage update - -### Laporan Testing -- [ ] Generate laporan berhasil -- [ ] Tabel CPL tampil dengan 8 rows -- [ ] Klik CPL expand breakdown -- [ ] Breakdown menampilkan MK cards -- [ ] Breakdown menampilkan tabel CPMK -- [ ] Bobot dan nilai tertimbang benar -- [ ] Export button tampil (mockup) - -### Manajemen Data Testing -- [ ] Tab Import: Upload .xlsx berhasil -- [ ] Tab Import: Upload .csv berhasil -- [ ] Tab Import: Preview tampil benar -- [ ] Tab Import: Import data save ke localStorage -- [ ] Tab Mahasiswa: Tampilkan mahasiswa dengan nilai -- [ ] Tab Mahasiswa: Filter prodi works -- [ ] Tab Mata Kuliah: Statistik MK tampil -- [ ] Tab Mata Kuliah: Color coding benar -- [ ] Tab CPL: Summary cards update -- [ ] Tab CPL: Distribusi badges tampil -- [ ] Refresh button di semua tab works -- [ ] Integrasi antar tab berfungsi - -### CPL Mapping Testing -- [ ] Tabel matrix tampil -- [ ] 8 CPL untuk setiap prodi -- [ ] CPMK mapping ke CPL benar - -### Responsive Testing -- [ ] Mobile: Hamburger menu works -- [ ] Mobile: Sidebar collapse -- [ ] Mobile: Table horizontal scroll -- [ ] Mobile: Cards stack vertically -- [ ] Tablet: Layout adjust -- [ ] Desktop: Full layout - ---- - -## 🆘 Bantuan Lebih Lanjut - -### Dokumentasi -- **Quick Start**: `QUICK_START.md` (dokumen ini) -- **Technical Docs**: `TECHNICAL_DOC.md` -- **README**: `README.md` -- **Import Guide**: `PANDUAN-IMPORT-NILAI.md` -- **MK Codes**: `MK_CODES.md` - -### Kontak -- **Developer**: Lihat TECHNICAL_DOC.md -- **User Support**: Hubungi administrator sistem -- **Bug Report**: Catat error message dan langkah reproduksi -- **GitHub**: https://github.com/Nur-Hidayat-FTI22E/CPL_Sign.git - ---- - -**© 2025 Universitas Muhammadiyah Makassar** - -*Panduan ini untuk versi development. Fitur production mungkin berbeda.* - -**Version:** 2.0 (Updated with Import Feature & CPMK Breakdown) -**Last Updated:** Januari 2025 diff --git a/README.md b/README.md deleted file mode 100644 index cd1807a..0000000 --- a/README.md +++ /dev/null @@ -1,559 +0,0 @@ -# Sistem Capaian Pembelajaran Lulusan (CPL) - -**Universitas Muhammadiyah Makassar** - -Sistem terintegrasi untuk mengukur, memantau, dan mengelola Capaian Pembelajaran Lulusan (CPL) di 5 Program Studi Fakultas Teknik. - -[![Next.js](https://img.shields.io/badge/Next.js-14.2-black?logo=next.js)](https://nextjs.org/) -[![React](https://img.shields.io/badge/React-19.0-blue?logo=react)](https://reactjs.org/) -[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue?logo=typescript)](https://www.typescriptlang.org/) -[![Tailwind CSS](https://img.shields.io/badge/Tailwind-3.3-38bdf8?logo=tailwind-css)](https://tailwindcss.com/) -[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) - ---- - -## Daftar Isi - -- [Tentang Sistem](#-tentang-sistem) -- [Fitur Utama](#-fitur-utama) -- [Screenshot](#-screenshot) -- [Tech Stack](#️-tech-stack) -- [Quick Start](#-quick-start) -- [Struktur Project](#-struktur-project) -- [Dokumentasi](#-dokumentasi) -- [Akun Demo](#-akun-demo) -- [Deployment](#-deployment) -- [Kontribusi](#-kontribusi) -- [Lisensi](#-lisensi) - ---- - -## Tentang Sistem - -Sistem CPL adalah aplikasi web modern untuk mengelola dan memantau Capaian Pembelajaran Lulusan (CPL) sesuai dengan standar SNPT (Standar Nasional Pendidikan Tinggi). Sistem ini dirancang untuk membantu: - -- **Kaprodi**: Monitoring pencapaian CPL mahasiswa di program studi -- **Dosen**: Input dan evaluasi nilai mata kuliah -- **Admin**: Manajemen data dan konfigurasi sistem -- **Mahasiswa**: Melihat progress pencapaian pembelajaran - -### Program Studi yang Didukung - -1. **S1 Teknik Informatika (INF)** - 69 Mata Kuliah, 144 SKS -2. **S1 Arsitektur (ARS)** - 50+ Mata Kuliah, 145 SKS -3. **S1 Perencanaan Wilayah Kota (PWK)** - 50+ Mata Kuliah -4. **S1 Teknik Sipil (SIP)** - 50+ Mata Kuliah -5. **S1 Teknik Elektro (ELK)** - 50+ Mata Kuliah - -Setiap program studi memiliki **8 CPL** yang terstruktur sesuai kurikulum masing-masing. - ---- - -## Fitur Utama - -### **Dashboard dengan Tree Diagram** -- Visualisasi hierarki **CPL → Mata Kuliah → CPMK** -- Expandable tree untuk eksplorasi detail -- Statistik cepat: Total mahasiswa, MK, CPL tercapai -- Grafik Radar Chart untuk overview 8 CPL - -### **Input Nilai Manual** -- Form input nilai per CPMK dengan bobot otomatis -- Kalkulasi real-time nilai MK -- Auto-distribusi ke CPL terkait -- Validasi nilai 0-100 - -### **Laporan CPL dengan CPMK Breakdown** ⭐ NEW! -- Generate laporan per mahasiswa & semester -- **Tabel CPL expandable**: Klik untuk melihat detail -- **Breakdown lengkap**: CPL → MK → CPMK dengan bobot -- Menampilkan: - - Bobot setiap CPMK dalam MK - - Nilai tertimbang (Nilai × Bobot) - - Kontribusi ke CPL (persentase) -- Export PDF/Excel (mockup) - -### **Manajemen Data & Import Nilai** ⭐ NEW! - -**4 Tab Terintegrasi:** - -#### 1️⃣ **Tab Import Nilai** -- Upload file Excel (.xlsx) atau CSV -- Preview data sebelum import -- Validasi otomatis NIM dan nilai -- Auto-kalkulasi CPL dari nilai MK -- Statistik hasil import (Total, Sukses, Gagal) - -#### **Tab Mahasiswa** -- Monitoring mahasiswa dengan nilai -- Filter per prodi -- Status: 🟢 Terimport / 🔵 Mock Data / ⚪ Manual -- Statistik: Total nilai, dari import, kelengkapan - -#### **Tab Mata Kuliah** -- Grid cards dengan statistik per MK -- Rata-rata nilai dengan color coding: - - 🟢 Hijau (≥75): Baik - - 🟡 Kuning (60-74): Cukup - - 🔴 Merah (<60): Kurang -- Min-Max nilai, jumlah mahasiswa -- Progress bar visual - -#### 4️⃣ **Tab CPL & CPMK** -- Summary cards: Tercapai, Cukup, Belum Tercapai -- Tabel CPL dengan distribusi -- Info kalkulasi otomatis -- Filter prodi & semester - -**Integrasi Real-time:** -- Import → Auto refresh semua tab -- localStorage → Persist data -- Tombol refresh manual di setiap tab - -### **CPL & Pemetaan Kurikulum** -- Matrix mapping CPL ↔ MK ↔ CPMK -- Visualisasi bobot kontribusi -- 8 CPL per prodi dengan deskripsi lengkap - -### **UI/UX Modern** -- **Responsive Design**: Desktop, tablet, mobile -- **Dark Mode Compatible**: Siap untuk dark theme -- **Interactive Charts**: Recharts untuk visualisasi -- **Smooth Animations**: Tailwind CSS transitions -- **Accessible**: ARIA labels, keyboard navigation - ---- - -## 📸 Screenshot - -### Dashboard dengan Tree Diagram -``` -┌─────────────────────────────────────────────────────────┐ -│ Dashboard CPL - Teknik Informatika │ -├─────────────────────────────────────────────────────────┤ -│ 📘 CPL1: Mampu menerapkan pemikiran logis │ -│ └─ 📗 Pemrograman Web (INF101) - 3 SKS │ -│ ├─ 🟣 CPMK1-1: Konsep dasar (20%) │ -│ ├─ 🟣 CPMK1-2: HTML/CSS (30%) │ -│ ├─ 🟣 CPMK1-3: JavaScript (25%) │ -│ └─ 🟣 CPMK1-4: Framework (25%) │ -│ └─ 📗 Struktur Data (INF102) - 3 SKS │ -│ ├─ 🟣 CPMK2-1: Array & Linked List (25%) │ -│ └─ 🟣 CPMK2-2: Tree & Graph (25%) │ -└─────────────────────────────────────────────────────────┘ -``` - -### Laporan CPL dengan Breakdown -``` -┌─────────────────────────────────────────────────────────┐ -│ Laporan CPL - Andi Miftah (105841109601) │ -│ Semester 1 | 2023/2024 Ganjil │ -├─────────────────────────────────────────────────────────┤ -│ CPL3: Mampu menerapkan pemikiran logis [▼ Expand] │ -│ Nilai: 82.5 | Status: 🟢 Tercapai │ -│ │ -│ 📗 Pemrograman Web (INF101) - 3 SKS │ -│ ┌────────────┬───────┬──────────────┬─────────────┐ │ -│ │ CPMK │ Bobot │ Nilai │ Kontribusi │ │ -│ ├────────────┼───────┼──────────────┼─────────────┤ │ -│ │ CPMK1-1 │ 20% │ 85 → 17.0 │ 2.5% → CPL │ │ -│ │ CPMK1-2 │ 30% │ 90 → 27.0 │ 3.75% → CPL │ │ -│ │ CPMK1-3 │ 25% │ 78 → 19.5 │ 3.13% → CPL │ │ -│ │ CPMK1-4 │ 25% │ 82 → 20.5 │ 3.13% → CPL │ │ -│ └────────────┴───────┴──────────────┴─────────────┘ │ -│ Nilai MK: 84.0 | Kontribusi ke CPL3: 12.5% │ -└─────────────────────────────────────────────────────────┘ -``` - -### Manajemen Data - Import Tab -``` -┌─────────────────────────────────────────────────────────┐ -│ Manajemen Data - Import Nilai │ -├─────────────────────────────────────────────────────────┤ -│ Prodi: [Informatika ▼] Semester: [1 ▼] │ -│ │ -│ pload File Excel/CSV │ -│ ┌─────────────────────────────────────────────────┐ │ -│ │ Drag & drop file atau klik untuk pilih │ │ -│ │ Format: .xlsx, .csv | Max: 5MB │ │ -│ └─────────────────────────────────────────────────┘ │ -│ │ -│ Preview Data (10 rows) │ -│ ┌────────┬─────────────┬───────┬───────┬───────┐ │ -│ │ NIM │ Nama │ INF101│ INF102│ ... │ │ -│ ├────────┼─────────────┼───────┼───────┼───────┤ │ -│ │ 105... │ Andi Miftah │ 85 │ 90 │ ... │ │ -│ │ 105... │ Annisya │ 90 │ 85 │ ... │ │ -│ └────────┴─────────────┴───────┴───────┴───────┘ │ -│ │ -│ [Import Data] [📥 Download Template] │ -│ │ -│ ✓ Import berhasil: 10 data | 0 gagal │ -└─────────────────────────────────────────────────────────┘ -``` - ---- - -## Tech Stack - -### Frontend -- **Framework**: Next.js 14.2.33 (App Router) -- **UI Library**: React 19.0.0 -- **Language**: TypeScript 5.x + JavaScript -- **Styling**: Tailwind CSS 3.3 -- **Charts**: Recharts 2.10.x -- **Excel Parsing**: xlsx 0.18.5 - -### State & Data -- **State Management**: React Hooks (useState, useEffect, useCallback) -- **Data Storage**: localStorage (development) → PostgreSQL (production) -- **Data Integration**: Custom integration layer (`dataIntegration.ts`) - -### Development Tools -- **Linter**: ESLint 9.x -- **Formatter**: Prettier (recommended) -- **Package Manager**: npm (recommended) / yarn / pnpm - ---- - -## Quick Start - -### Prerequisites - -```bash -Node.js: 18+ or 20+ -npm: 9+ (comes with Node.js) -``` - -### Installation - -```bash -# 1. Clone repository -git clone https://github.com/Nur-Hidayat-FTI22E/CPL_Sign.git -cd CPL_Sign - -# 2. Install dependencies -npm install - -# 3. Run development server -npm run dev - -# 4. Open browser -# Navigate to http://localhost:3000 -``` - -### Build for Production - -```bash -# Build -npm run build - -# Start production server -npm start - -# Server runs on http://localhost:3000 -``` - ---- - -## Struktur Project - -``` -kkp-plus-new/ -├── src/ -│ ├── app/ # Next.js App Router -│ │ ├── page.jsx # Landing page -│ │ ├── (auth)/login/ # Login page -│ │ ├── dashboard/ # Dashboard + Tree diagram -│ │ ├── input-nilai/ # Manual input form -│ │ ├── laporan/ # Laporan dengan breakdown -│ │ ├── manajemen/ # 4 tabs: Import, Mahasiswa, MK, CPL -│ │ ├── cpl-mapping/ # CPL mapping matrix -│ │ ├── penilaian/ # Penilaian module -│ │ └── pengumuman/ # Announcement -│ │ -│ ├── components/ # Reusable components -│ │ ├── Navbar.jsx -│ │ ├── Sidebar.jsx -│ │ ├── RadarCPL.jsx -│ │ ├── CpmkBreakdownDisplay.jsx -│ │ └── ... -│ │ -│ ├── data/ # Data layer -│ │ ├── mock.js # Informatika data -│ │ ├── mock-arsitektur.js # Arsitektur data -│ │ └── kurikulumArsitektur.js -│ │ -│ └── utils/ # Utilities -│ ├── dataIntegration.ts # Core integration -│ └── gradeCalculator.js -│ -├── public/ # Static assets -├── contoh-import-*.xlsx # Example files -├── QUICK_START.md # Quick guide -├── TECHNICAL_DOC.md # Technical docs -├── PANDUAN-IMPORT-NILAI.md # Import guide -├── package.json -└── README.md # This file -``` - -**Key Files:** -- `src/utils/dataIntegration.ts`: Core logic untuk merge data & kalkulasi CPL -- `src/app/dashboard/manajemen/page.tsx`: 4-tab management system -- `src/app/dashboard/laporan/page.tsx`: Laporan dengan CPMK breakdown -- `src/data/mock.js`: Static data Informatika (69 MK, 8 CPL) - ---- - -## Dokumentasi - -### Dokumentasi Lengkap - -| Dokumen | Deskripsi | Link | -|---------|-----------|------| -| **QUICK_START.md** | Panduan cepat untuk pengguna | [Buka](./QUICK_START.md) | -| **TECHNICAL_DOC.md** | Dokumentasi teknis untuk developer | [Buka](./TECHNICAL_DOC.md) | -| **PANDUAN-IMPORT-NILAI.md** | Cara import nilai dari Excel/CSV | [Buka](./PANDUAN-IMPORT-NILAI.md) | -| **MK_CODES.md** | Daftar kode mata kuliah semua prodi | [Akan dibuat] | - -### Panduan Penggunaan - -1. **Login**: Gunakan akun kaprodi sesuai prodi -2. **Dashboard**: Lihat overview CPL dengan tree diagram -3. **Input Nilai**: Input manual atau import batch dari Excel -4. **Laporan**: Generate laporan dengan breakdown detail CPMK -5. **Manajemen**: Monitor data mahasiswa, MK, dan CPL - -### Cara Kerja Sistem - -**Alur Kalkulasi CPL:** -``` -Input Nilai MK (per CPMK) - ↓ -Nilai MK = Σ (Nilai CPMK × Bobot CPMK) - ↓ -Nilai CPL = Σ (Nilai CPMK × Bobot MK × Bobot CPMK) / Σ (Bobot MK × Bobot CPMK) - ↓ -Status: Tercapai (≥75) | Cukup (60-74) | Belum (<60) -``` - -**Contoh Perhitungan:** -``` -CPL3: Mampu menerapkan pemikiran logis -├── MK: Pemrograman Web (Bobot: 12.5% dari 8 MK) -│ ├── CPMK1-1 (20%): Nilai 85 → Kontribusi: 85 × 0.125 × 0.20 = 2.125 -│ ├── CPMK1-2 (30%): Nilai 90 → Kontribusi: 90 × 0.125 × 0.30 = 3.375 -│ └── ... -└── Nilai CPL3 = Σ Kontribusi / Σ Bobot -``` - ---- - -## Akun Demo - -Sistem menyediakan 5 akun demo untuk testing: - -### Kaprodi (5 Program Studi) - -| Program Studi | Email | Password | Kode | -|--------------|-------|----------|------| -| **Teknik Informatika** | kaprodi.informatika@unismuh.ac.id | kaprodi123 | INF | -| **Arsitektur** | kaprodi.arsitektur@unismuh.ac.id | kaprodi123 | ARS | -| **Perencanaan Wilayah Kota** | kaprodi.pwk@unismuh.ac.id | kaprodi123 | PWK | -| **Teknik Sipil** | kaprodi.sipil@unismuh.ac.id | kaprodi123 | SIP | -| **Teknik Elektro** | kaprodi.elektro@unismuh.ac.id | kaprodi123 | ELK | - -**Cara Login:** -1. Buka http://localhost:3000/login -2. Pilih role dari dropdown -3. Klik **"Quick Login"** atau input manual -4. Redirect ke dashboard prodi - ---- - -## Dependencies - -### Production Dependencies - -```json -{ - "next": "14.2.33", - "react": "19.0.0", - "react-dom": "19.0.0", - "recharts": "^2.10.0", - "xlsx": "^0.18.5" -} -``` - -### Development Dependencies - -```json -{ - "@eslint/eslintrc": "^3.2.0", - "eslint": "^9.17.0", - "postcss": "^8.4.49", - "tailwindcss": "^3.3.0" -} -``` - ---- - -## Deployment - -### Vercel (Recommended) - -```bash -# Install Vercel CLI -npm i -g vercel - -# Deploy -vercel --prod -``` - -### Docker - -```bash -# Build image -docker build -t cpl-system . - -# Run container -docker run -p 3000:3000 cpl-system -``` - -### Environment Variables - -```env -# .env.local (development) -NEXT_PUBLIC_APP_URL=http://localhost:3000 - -# .env.production -NEXT_PUBLIC_APP_URL=https://cpl.unismuh.ac.id -DATABASE_URL=postgresql://user:pass@host:5432/cpl -JWT_SECRET=your-secret-key -``` - ---- - -## Testing - -```bash -# Run unit tests -npm run test - -# Run tests with coverage -npm run test:coverage - -# Run E2E tests -npm run test:e2e -``` - ---- - -## Kontribusi - -Kami menyambut kontribusi dari komunitas! Berikut cara berkontribusi: - -### Workflow Git - -```bash -# 1. Fork repository -# 2. Clone fork Anda -git clone https://github.com/YOUR_USERNAME/CPL_Sign.git - -# 3. Buat branch baru -git checkout -b feature/nama-fitur - -# 4. Commit changes -git commit -m "feat: tambah fitur X" - -# 5. Push ke fork -git push origin feature/nama-fitur - -# 6. Buat Pull Request ke branch FR_branch -``` - -### Commit Convention - -Gunakan [Conventional Commits](https://www.conventionalcommits.org/): - -``` -feat: menambah fitur baru -fix: memperbaiki bug -docs: update dokumentasi -style: formatting, missing semicolons, etc -refactor: refactoring code -test: menambah test -chore: update build tasks, package manager configs, etc -``` - -### Coding Standards - -- **TypeScript**: Gunakan type-safe code -- **ESLint**: Follow linting rules -- **Prettier**: Format code sebelum commit -- **Comments**: Tulis komentar untuk logic kompleks -- **Tests**: Tambahkan tests untuk fitur baru - ---- - -## Lisensi - -Sistem ini dikembangkan untuk **Universitas Muhammadiyah Makassar** dan dilisensikan di bawah [MIT License](LICENSE). - -``` -MIT License - -Copyright (c) 2025 Universitas Muhammadiyah Makassar - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction... -``` - ---- - -## Tim Pengembang - -**Developer**: [hacklab](https://github.com/COCONUT-hacklab) -**Organization**: COCONUT Computer Club - ---- - -## Acknowledgments - -Terima kasih kepada: -- **Universitas Muhammadiyah Makassar** - Dukungan dan fasilitas -- **Fakultas Teknik** - Guidance dan requirements -- **Next.js Team** - Amazing framework -- **Recharts** - Beautiful charts library -- **SheetJS** - Excel parsing made easy -- **Open Source Community** - Inspirasi dan tools - ---- - -## Kontak & Support - -- **Email**: [contact@unismuh.ac.id] -- **Website**: [https://unismuh.ac.id](https://unismuh.ac.id) -- **GitHub Issues**: [Report Bug](https://github.com/COCONUT-hacklab/SIM-CPL/issues) -- **GitHub Discussions**: [Ask Question](https://github.com/COCONUT-hacklab/SIM-CPL/discussions) - ---- - -## Star History - -Jika sistem ini bermanfaat, berikan ⭐ di GitHub! - ---- - -
- -**Sistem CPL** adalah bagian dari transformasi digital pendidikan tinggi di Indonesia. - -Crafted with ❤️ by [hacklab](https://coconut.or.id/) - -**© 2025 Universitas Muhammadiyah Makassar** - -[Website](https://unismuh.ac.id) • [Documentation](./QUICK_START.md) • [GitHub](https://github.com/COCONUT-hacklab/SIM-CPL) - -
diff --git a/clear_storage.js b/clear_storage.js deleted file mode 100644 index 7b3bee1..0000000 --- a/clear_storage.js +++ /dev/null @@ -1,16 +0,0 @@ -// Script untuk membersihkan localStorage -const localStorage = { - clear() { - console.log('Simulating localStorage clear...'); - } -}; - -console.log('\n🗑️ CLEARING LOCALSTORAGE DATA...\n'); -console.log('Keys to remove:'); -console.log(' - kkp_nilai_mahasiswa'); -console.log(' - kkp_mahasiswa_import'); -console.log('\n✅ To clear in browser console, run:'); -console.log('localStorage.removeItem("kkp_nilai_mahasiswa");'); -console.log('localStorage.removeItem("kkp_mahasiswa_import");'); -console.log('localStorage.clear();'); -console.log('\nOr open DevTools (F12) and paste the commands above.\n'); diff --git a/internal/http/handler_nilai.go b/internal/http/handler_nilai.go index 6129623..b85cf2a 100644 --- a/internal/http/handler_nilai.go +++ b/internal/http/handler_nilai.go @@ -1,319 +1,397 @@ package http import ( - "encoding/csv" + "database/sql" "fmt" "net/http" - "path/filepath" "strconv" "strings" + "time" "cpmk/internal/db" "cpmk/internal/model" "github.com/gin-gonic/gin" - "github.com/xuri/excelize/v2" "gorm.io/gorm" + "gorm.io/gorm/clause" ) -type importResponse struct { - ImportedMahasiswa int `json:"imported_mahasiswa"` - ImportedNilaiMK int `json:"imported_nilai_mk"` -} - -// POST /api/nilai-mk/import-xlsx -// importNilaiMahasiswaXLSXHandler -// Endpoint: POST /api/prodi/:id_prodi/nilai-mk/import-xlsx -// Menerima file .xlsx atau .csv, membaca NIM, Nama, dan nilai MK, -// lalu menyimpannya ke tabel nilai. -func importNilaiMahasiswaXLSXHandler(c *gin.Context) { - // --- 1. Ambil id_prodi dari path --- - idProdiStr := c.Param("id_prodi") - if idProdiStr == "" { - c.JSON(http.StatusBadRequest, gin.H{"error": "id_prodi wajib diisi"}) - return - } +// --------------------------- +// STRUCT PAYLOAD IMPORT JSON +// --------------------------- - idProdi, err := strconv.ParseUint(idProdiStr, 10, 64) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "id_prodi tidak valid"}) - return - } +type ImportMatkulItem struct { + Kode string `json:"kode"` + Nama string `json:"nama"` + SKS uint8 `json:"sks"` +} - // --- 2. Ambil file dari form-data --- - fileHeader, err := c.FormFile("file") - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "file tidak ditemukan di form-data (key: file)"}) - return - } +type ImportMahasiswaItem struct { + NIM string `json:"nim"` + Nama string `json:"nama"` + NilaiMap map[string]float64 `json:"nilaiMap"` +} - ext := strings.ToLower(filepath.Ext(fileHeader.Filename)) - file, err := fileHeader.Open() - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "gagal membuka file upload"}) - return - } - defer file.Close() - - // --- 3. Baca file menjadi rows[][]string (Excel atau CSV) --- - var rows [][]string - - switch ext { - case ".xlsx", ".xlsm", ".xls": - // Baca Excel - xls, err := excelize.OpenReader(file) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "file excel tidak valid"}) - return - } - defer xls.Close() +type ImportNilaiRequest struct { + ProdiKode string `json:"prodiKode"` + Semester uint8 `json:"semester"` + MatkulList []ImportMatkulItem `json:"matkulList"` + ImportData []ImportMahasiswaItem `json:"importData"` +} - sheetName := xls.GetSheetName(0) - if sheetName == "" { - c.JSON(http.StatusBadRequest, gin.H{"error": "sheet excel kosong"}) - return - } +// row mentah hasil join nilai_mk + mk + cpl_mk +type cplCalcRow struct { + IDMhs uint64 `gorm:"column:id_mhs"` + IDCPL uint64 `gorm:"column:id_cpl"` + NilaiAngka float64 `gorm:"column:nilai_angka"` + BobotFraction sql.NullFloat64 `gorm:"column:bobot_fraction"` +} - rows, err = xls.GetRows(sheetName) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "gagal membaca sheet excel"}) - return - } +// aggregator per (mhs, cpl) +type cplAgg struct { + SumWeighted float64 + SumWeight float64 + SumPlain float64 + CountPlain int + HasBobot bool +} - case ".csv": - // Baca CSV - reader := csv.NewReader(file) - reader.TrimLeadingSpace = true - rows, err = reader.ReadAll() - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "gagal membaca file CSV"}) - return - } +// --------------------------- +// POST /api/nilai-mk/import-json +// --------------------------- - default: +func importNilaiJSONHandler(c *gin.Context) { + var req ImportNilaiRequest + if err := c.ShouldBindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{ - "error": fmt.Sprintf("format file tidak didukung: %s (hanya .xlsx / .csv)", ext), + "error": "payload tidak valid: " + err.Error(), }) return } - if len(rows) < 2 { - c.JSON(http.StatusBadRequest, gin.H{"error": "file tidak memiliki data (minimal header + 1 baris data)"}) + // Validasi dasar + if req.ProdiKode == "" { + c.JSON(http.StatusBadRequest, gin.H{"error": "prodiKode wajib diisi"}) return } - - // --- 4. Proses header: cari index nim, nama, dan kolom MK --- - headerRow := rows[0] - headers := make([]string, len(headerRow)) - for i, h := range headerRow { - headers[i] = strings.TrimSpace(strings.ToLower(h)) + if req.Semester == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "semester wajib > 0"}) + return } - - nimIdx := -1 - namaIdx := -1 - mkCols := make(map[int]string) // idx kolom -> kode/nama MK (raw dari header) - - for i, h := range headers { - switch h { - case "nim", "npm": - nimIdx = i - case "nama", "nama mahasiswa": - namaIdx = i - default: - if h != "" { - // anggap header lain adalah kode/nama MK (ex: "inf105", "pancasila") - mkCols[i] = h - } - } + if len(req.MatkulList) == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "matkulList tidak boleh kosong"}) + return } - - if nimIdx == -1 { - c.JSON(http.StatusBadRequest, gin.H{"error": "kolom NIM/NPM tidak ditemukan di header"}) + if len(req.ImportData) == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "importData tidak boleh kosong"}) return } - if len(mkCols) == 0 { - c.JSON(http.StatusBadRequest, gin.H{"error": "tidak ada kolom mata kuliah di header (selain nim/nama)"}) + + // Ambil prodi + var prodi model.Prodi + if err := db.DB.Where("kode_prodi = ?", req.ProdiKode).First(&prodi).Error; err != nil { + if err == gorm.ErrRecordNotFound { + c.JSON(http.StatusBadRequest, gin.H{"error": "prodi tidak ditemukan"}) + } else { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error prodi"}) + } return } - // --- 5. Proses tiap baris data --- - importedNilai := 0 - failedRows := 0 + // Jalankan dalam transaksi + err := db.DB.Transaction(func(tx *gorm.DB) error { - for rowIdx := 1; rowIdx < len(rows); rowIdx++ { - row := rows[rowIdx] - if len(row) == 0 { - continue - } + // ======================== + // 1. Pastikan semua MK ada + // ======================== - // jaga-jaga kalau ada baris pendek - getCell := func(idx int) string { - if idx < len(row) { - return strings.TrimSpace(row[idx]) - } - return "" - } + mkMap := make(map[string]*model.MK) - nim := getCell(nimIdx) - if nim == "" { - failedRows++ - continue + kodeList := make([]string, 0) + for _, m := range req.MatkulList { + kodeList = append(kodeList, strings.TrimSpace(m.Kode)) } - nama := "" - if namaIdx >= 0 { - nama = getCell(namaIdx) + + var existingMK []model.MK + tx.Where("kode_mk IN ? AND id_prodi = ?", kodeList, prodi.IDProdi).Find(&existingMK) + for i := range existingMK { + mk := &existingMK[i] + mkMap[strings.ToLower(mk.KodeMK)] = mk } - // --- 5a. Ambil / buat Mahasiswa --- - var mhs model.Mahasiswa // SESUAIKAN dengan struct kamu - err := db.DB.Where("nim = ? AND id_prodi = ?", nim, idProdi).First(&mhs).Error - if err != nil { - if err == gorm.ErrRecordNotFound { - // buat mahasiswa baru - mhs = model.Mahasiswa{ - // SESUAIKAN field-nya dengan model kamu - NIM: nim, - Nama: nama, - IDProdi: idProdi, - } - if err := db.DB.Create(&mhs).Error; err != nil { - failedRows++ - continue - } - } else { - // error lain - failedRows++ + createdMK := 0 + for _, item := range req.MatkulList { + key := strings.ToLower(item.Kode) + + if _, ok := mkMap[key]; ok { continue } + + mk := model.MK{ + IDProdi: prodi.IDProdi, + KodeMK: item.Kode, + NamaMK: item.Nama, + SKS: item.SKS, + Semester: req.Semester, + } + + if err := tx.Create(&mk).Error; err != nil { + return err + } + + mkMap[key] = &mk + createdMK++ + } + + // ========================== + // 2. Pastikan Mahasiswa ada + // ========================== + + mhsMap := make(map[string]*model.Mahasiswa) + + nimList := make([]string, 0) + for _, d := range req.ImportData { + nimList = append(nimList, d.NIM) + } + + var existingMhs []model.Mahasiswa + tx.Where("nim IN ? AND id_prodi = ?", nimList, prodi.IDProdi).Find(&existingMhs) + for i := range existingMhs { + m := &existingMhs[i] + mhsMap[m.NIM] = m } - // --- 5b. Loop tiap kolom MK --- - for colIdx, mkKey := range mkCols { - rawVal := getCell(colIdx) - if rawVal == "" { + createdMhs := 0 + for _, d := range req.ImportData { + if _, ok := mhsMap[d.NIM]; ok { continue } - nilaiFloat, err := strconv.ParseFloat(strings.ReplaceAll(rawVal, ",", "."), 64) - if err != nil { - // nilai tidak valid -> skip kolom ini - continue + m := model.Mahasiswa{ + NIM: d.NIM, + Nama: d.Nama, + IDProdi: prodi.IDProdi, } - // cari MK berdasarkan header (biasanya pakai kode_mk) - var mk model.MK // SESUAIKAN dengan struct kamu - err = db.DB. - Where("LOWER(kode_mk) = ? AND id_prodi = ?", strings.ToLower(mkKey), idProdi). - First(&mk).Error - if err != nil { - // kalau tidak ketemu coba pakai nama_mk - err2 := db.DB. - Where("LOWER(nama_mk) = ? AND id_prodi = ?", strings.ToLower(mkKey), idProdi). - First(&mk).Error - if err2 != nil { - // MK tidak ketemu di DB, skip saja kolom ini - continue - } + if err := tx.Create(&m).Error; err != nil { + return err } - // --- 5c. Simpan atau update nilai MK --- - var nilai model.NilaiMK // SESUAIKAN dengan struct kamu - err = db.DB. - Where("id_mahasiswa = ? AND id_mk = ?", mhs.IDMahasiswa, mk.IDMK). - First(&nilai).Error - - if err == gorm.ErrRecordNotFound { - nilai = model.NilaiMK{ - // Sesuaikan field: - IDMahasiswa: mhs.IDMahasiswa, - IDMK: mk.IDMK, - NilaiAkhir: nilaiFloat, - Semester: int(mk.Semester), // kalau ada - Sumber: "import_xlsx", // kalau ada field sumber - } - if err := db.DB.Create(&nilai).Error; err != nil { + mhsMap[d.NIM] = &m + createdMhs++ + } + + // ====================== + // 3. Simpan nilai MK + // ====================== + + insertedNilai := 0 + updatedNilai := 0 + skipped := 0 + + for _, d := range req.ImportData { + mhs := mhsMap[d.NIM] + + for kodeMK, nilai := range d.NilaiMap { + key := strings.ToLower(kodeMK) + + mk, ok := mkMap[key] + if !ok { + skipped++ continue } - } else if err == nil { - // update nilai lama - nilai.NilaiAkhir = nilaiFloat - // nilai.Semester = ... - // nilai.Sumber = "import_xlsx" - if err := db.DB.Save(&nilai).Error; err != nil { - continue + + var nilaiMK model.NilaiMK + err := tx.Where("id_mhs = ? AND id_mk = ?", mhs.IDMhs, mk.IDMK).First(&nilaiMK).Error + + if err == gorm.ErrRecordNotFound { + nilaiMK = model.NilaiMK{ + IDMhs: mhs.IDMhs, + IDMK: mk.IDMK, + NilaiAngka: nilai, + Sumber: "import_json", + } + tx.Create(&nilaiMK) + insertedNilai++ + } else if err == nil { + nilaiMK.NilaiAngka = nilai + nilaiMK.Sumber = "import_json" + tx.Save(&nilaiMK) + updatedNilai++ + } else { + skipped++ } - } else { - continue } - - importedNilai++ } + + // simpan summary + c.Set("summary", gin.H{ + "prodi": prodi.KodeProdi, + "semester": req.Semester, + "mk_baru": createdMK, + "mhs_baru": createdMhs, + "nilai_inserted": insertedNilai, + "nilai_updated": updatedNilai, + "nilai_dilewati": skipped, + }) + + return nil + }) + + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{ + "error": "gagal import: " + err.Error(), + }) + return } - // --- 6. Response --- + summary, _ := c.Get("summary") c.JSON(http.StatusOK, gin.H{ - "status": "ok", - "id_prodi": idProdi, - "file_name": fileHeader.Filename, - "file_extension": ext, - "imported_nilai_mk": importedNilai, - "failed_rows": failedRows, - "total_data_barisan": len(rows) - 1, + "status": "ok", + "summary": summary, }) } +// ======================================= // GET /api/mahasiswa/:nim/cpl?semester=1 +// ======================================= + func getCPLByMahasiswaHandler(c *gin.Context) { nim := c.Param("nim") semStr := c.Query("semester") - if semStr == "" { - c.JSON(http.StatusBadRequest, gin.H{"error": "semester is required"}) - return - } + semInt, err := strconv.Atoi(semStr) if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "invalid semester"}) + c.JSON(http.StatusBadRequest, gin.H{"error": "semester invalid"}) return } - semester := uint8(semInt) - // cari mahasiswa var mhs model.Mahasiswa if err := db.DB.Where("nim = ?", nim).First(&mhs).Error; err != nil { - c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa not found"}) + c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa tidak ditemukan"}) return } - // ambil nilai_cpl var list []model.NilaiCPL - if err := db.DB.Where("id_mhs = ? AND semester_eval = ?", mhs.IDMhs, semester). - Find(&list).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) - return - } + db.DB.Where("id_mhs = ? AND semester_eval = ?", mhs.IDMhs, uint8(semInt)).Find(&list) - // join manual ke tabel cpl buat dapetin kode_cpl - type CPLItem struct { - KodeCPL string `json:"kode_cpl"` - NilaiAngka float64 `json:"nilai_angka"` - } - var result []CPLItem - - for _, n := range list { + response := []gin.H{} + for _, item := range list { var cpl model.CPL - if err := db.DB.First(&cpl, n.IDCPL).Error; err != nil { - continue + if err := db.DB.First(&cpl, item.IDCPL).Error; err == nil { + response = append(response, gin.H{ + "kode_cpl": cpl.KodeCPL, + "nilai_angka": item.NilaiAngka, + }) } - result = append(result, CPLItem{ - KodeCPL: cpl.KodeCPL, - NilaiAngka: n.NilaiAngka, - }) } c.JSON(http.StatusOK, gin.H{ "nim": mhs.NIM, "nama": mhs.Nama, - "cpl": result, - "semester": semester, + "semester": semInt, + "cpl": response, }) } + +func recalculateCPLForProdiSemester(idProdi uint64, semester uint8) error { + // 1. Ambil data (Query tetap sama) + var rows []cplCalcRow + query := ` + SELECT + n.id_mhs, + cm.id_cpl, + n.nilai_angka, + cm.bobot_fraction + FROM nilai_mk n + JOIN mk m ON n.id_mk = m.id_mk + JOIN cpl_mk cm ON cm.id_mk = m.id_mk + WHERE m.id_prodi = ? AND n.semester_tempuh = ? + ` + if err := db.DB.Raw(query, idProdi, semester).Scan(&rows).Error; err != nil { + return fmt.Errorf("gagal mengambil data hitung CPL: %w", err) + } + + if len(rows) == 0 { + return nil + } + + // 2. Definisi Struct Key untuk Map (Pengganti string "id-id") + type aggKey struct { + IDMhs uint64 + IDCPL uint64 + } + + // Gunakan struct sebagai key map + aggMap := make(map[aggKey]*cplAgg) + + for _, r := range rows { + // Langsung buat key tanpa fmt.Sprintf + key := aggKey{IDMhs: r.IDMhs, IDCPL: r.IDCPL} + + a, ok := aggMap[key] + if !ok { + a = &cplAgg{} + aggMap[key] = a + } + + if r.BobotFraction.Valid && r.BobotFraction.Float64 > 0 { + a.SumWeighted += r.NilaiAngka * r.BobotFraction.Float64 + a.SumWeight += r.BobotFraction.Float64 + a.HasBobot = true + } else { + a.SumPlain += r.NilaiAngka + a.CountPlain++ + } + } + + // 3. Konversi ke slice + upserts := make([]model.NilaiCPL, 0, len(aggMap)) + now := time.Now() + + for key, a := range aggMap { + var nilaiCPL float64 + if a.HasBobot && a.SumWeight > 0 { + nilaiCPL = a.SumWeighted / a.SumWeight + } else if a.CountPlain > 0 { + nilaiCPL = a.SumPlain / float64(a.CountPlain) + } else { + continue + } + + upserts = append(upserts, model.NilaiCPL{ + IDMhs: key.IDMhs, // Tidak perlu fmt.Sscanf lagi + IDCPL: key.IDCPL, + SemesterEval: semester, + NilaiAngka: nilaiCPL, + Sumber: "recalc_import", + TanggalHitung: now, + }) + } + + if len(upserts) == 0 { + return nil + } + + // 4. Batch Upsert (Lebih aman menggunakan CreateInBatches) + // Batch size 100-500 biasanya aman untuk semua DB + err := db.DB.Clauses(clause.OnConflict{ + Columns: []clause.Column{ + {Name: "id_mhs"}, + {Name: "id_cpl"}, + {Name: "semester_eval"}, + }, + DoUpdates: clause.AssignmentColumns([]string{ + "nilai_angka", + "sumber", + "tanggal_hitung", + }), + }). + CreateInBatches(&upserts, 100).Error // <-- Perubahan penting di sini + + if err != nil { + return fmt.Errorf("gagal upsert nilai_cpl: %w", err) + } + + return nil +} diff --git a/internal/http/router.go b/internal/http/router.go index 0d7f79b..c624be1 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -28,12 +28,15 @@ func NewRouter() *gin.Engine { api.GET("/prodi/:id_prodi/mk", listMKByProdiSemesterHandler) api.GET("/mk/:id_mk/cpmk", listCPMKByMKHandler) - api.POST("/prodi/:id_prodi/nilai-mk/import-xlsx", importNilaiMahasiswaXLSXHandler) + //IMPORT Nilai + api.POST("/nilai-mk/import", importNilaiJSONHandler) + api.GET("/mahasiswa/:nim/cpl", getCPLByMahasiswaHandler) // Prodi CPL-MK Mapping api.POST("/prodi/:id_prodi/cpl-mk/import-xlsx", importCPLMKMappingHandler) - //api.GET("/prodi/:id_prodi/cpl-mk", listCPLMKByProdiHandler) + + //api.GET("/prodi/:id_prodi/cpl-mk", lis tCPLMKByProdiHandler) //api.GET("/prodi/:id_prodi/cpl-mk/summary", getCPLMKSummaryHandler) } diff --git a/internal/model/nilai_cpl.go b/internal/model/nilai_cpl.go index 139d128..903b601 100644 --- a/internal/model/nilai_cpl.go +++ b/internal/model/nilai_cpl.go @@ -8,6 +8,7 @@ type NilaiCPL struct { IDCPL uint64 `gorm:"column:id_cpl;not null"` SemesterEval uint8 `gorm:"column:semester_eval;not null"` NilaiAngka float64 `gorm:"column:nilai_angka;not null"` + Sumber string `gorm:"column:sumber;type:varchar(50);not null"` TanggalHitung time.Time `gorm:"column:tanggal_hitung;not null"` } diff --git a/next-env.d.ts b/next-env.d.ts deleted file mode 100644 index 40c3d68..0000000 --- a/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. diff --git a/next.config.mjs b/next.config.mjs deleted file mode 100644 index d5456a1..0000000 --- a/next.config.mjs +++ /dev/null @@ -1,6 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = { - reactStrictMode: true, -}; - -export default nextConfig; diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index a348f2e..0000000 --- a/package-lock.json +++ /dev/null @@ -1,6105 +0,0 @@ -{ - "name": "sistem-cpl-unismuh", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "sistem-cpl-unismuh", - "version": "1.0.0", - "dependencies": { - "next": "^14.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "recharts": "^2.10.0", - "xlsx": "^0.18.5" - }, - "devDependencies": { - "@types/node": "^20.0.0", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", - "autoprefixer": "^10.4.16", - "eslint": "^8.54.0", - "eslint-config-next": "^14.0.0", - "postcss": "^8.4.31", - "tailwindcss": "^3.3.5", - "typescript": "^5.0.0" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@babel/runtime": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", - "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@emnapi/core": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", - "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", - "dev": true, - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", - "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", - "dev": true, - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", - "dev": true, - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", - "dev": true, - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" - } - }, - "node_modules/@next/env": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.33.tgz", - "integrity": "sha512-CgVHNZ1fRIlxkLhIX22flAZI/HmpDaZ8vwyJ/B0SDPTBuLZ1PJ+DWMjCHhqnExfmSQzA/PbZi8OAc7PAq2w9IA==" - }, - "node_modules/@next/eslint-plugin-next": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.33.tgz", - "integrity": "sha512-DQTJFSvlB+9JilwqMKJ3VPByBNGxAGFTfJ7BuFj25cVcbBy7jm88KfUN+dngM4D3+UxZ8ER2ft+WH9JccMvxyg==", - "dev": true, - "dependencies": { - "glob": "10.3.10" - } - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.33.tgz", - "integrity": "sha512-HqYnb6pxlsshoSTubdXKu15g3iivcbsMXg4bYpjL2iS/V6aQot+iyF4BUc2qA/J/n55YtvE4PHMKWBKGCF/+wA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.33.tgz", - "integrity": "sha512-8HGBeAE5rX3jzKvF593XTTFg3gxeU4f+UWnswa6JPhzaR6+zblO5+fjltJWIZc4aUalqTclvN2QtTC37LxvZAA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.33.tgz", - "integrity": "sha512-JXMBka6lNNmqbkvcTtaX8Gu5by9547bukHQvPoLe9VRBx1gHwzf5tdt4AaezW85HAB3pikcvyqBToRTDA4DeLw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.33.tgz", - "integrity": "sha512-Bm+QulsAItD/x6Ih8wGIMfRJy4G73tu1HJsrccPW6AfqdZd0Sfm5Imhgkgq2+kly065rYMnCOxTBvmvFY1BKfg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.33.tgz", - "integrity": "sha512-FnFn+ZBgsVMbGDsTqo8zsnRzydvsGV8vfiWwUo1LD8FTmPTdV+otGSWKc4LJec0oSexFnCYVO4hX8P8qQKaSlg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.33.tgz", - "integrity": "sha512-345tsIWMzoXaQndUTDv1qypDRiebFxGYx9pYkhwY4hBRaOLt8UGfiWKr9FSSHs25dFIf8ZqIFaPdy5MljdoawA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.33.tgz", - "integrity": "sha512-nscpt0G6UCTkrT2ppnJnFsYbPDQwmum4GNXYTeoTIdsmMydSKFz9Iny2jpaRupTb+Wl298+Rh82WKzt9LCcqSQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.33.tgz", - "integrity": "sha512-pc9LpGNKhJ0dXQhZ5QMmYxtARwwmWLpeocFmVG5Z0DzWq5Uf0izcI8tLc+qOpqxO1PWqZ5A7J1blrUIKrIFc7Q==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.33.tgz", - "integrity": "sha512-nOjfZMy8B94MdisuzZo9/57xuFVLHJaDj5e/xrduJp9CV2/HrfxTRH2fbyLe+K9QT41WBLUd4iXX3R7jBp0EUg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", - "dev": true, - "engines": { - "node": ">=12.4.0" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.15.0.tgz", - "integrity": "sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==", - "dev": true - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" - }, - "node_modules/@swc/helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", - "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", - "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/d3-array": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", - "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==" - }, - "node_modules/@types/d3-color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", - "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" - }, - "node_modules/@types/d3-ease": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", - "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" - }, - "node_modules/@types/d3-interpolate": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", - "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", - "dependencies": { - "@types/d3-color": "*" - } - }, - "node_modules/@types/d3-path": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", - "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==" - }, - "node_modules/@types/d3-scale": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", - "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", - "dependencies": { - "@types/d3-time": "*" - } - }, - "node_modules/@types/d3-shape": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", - "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", - "dependencies": { - "@types/d3-path": "*" - } - }, - "node_modules/@types/d3-time": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", - "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==" - }, - "node_modules/@types/d3-timer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", - "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.19.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.25.tgz", - "integrity": "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==", - "dev": true, - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.15", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", - "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", - "dev": true - }, - "node_modules/@types/react": { - "version": "18.3.27", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz", - "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.3.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", - "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", - "dev": true, - "peerDependencies": { - "@types/react": "^18.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.47.0.tgz", - "integrity": "sha512-fe0rz9WJQ5t2iaLfdbDc9T80GJy0AeO453q8C3YCilnGozvOyCG5t+EZtg7j7D88+c3FipfP/x+wzGnh1xp8ZA==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/type-utils": "8.47.0", - "@typescript-eslint/utils": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", - "graphemer": "^1.4.0", - "ignore": "^7.0.0", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.47.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.47.0.tgz", - "integrity": "sha512-lJi3PfxVmo0AkEY93ecfN+r8SofEqZNGByvHAI3GBLrvt1Cw6H5k1IM02nSzu0RfUafr2EvFSw0wAsZgubNplQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.47.0.tgz", - "integrity": "sha512-2X4BX8hUeB5JcA1TQJ7GjcgulXQ+5UkNb0DL8gHsHUHdFoiCTJoYLTpib3LtSDPZsRET5ygN4qqIWrHyYIKERA==", - "dev": true, - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.47.0", - "@typescript-eslint/types": "^8.47.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.47.0.tgz", - "integrity": "sha512-a0TTJk4HXMkfpFkL9/WaGTNuv7JWfFTQFJd6zS9dVAjKsojmv9HT55xzbEpnZoY+VUb+YXLMp+ihMLz/UlZfDg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.47.0.tgz", - "integrity": "sha512-ybUAvjy4ZCL11uryalkKxuT3w3sXJAuWhOoGS3T/Wu+iUu1tGJmk5ytSY8gbdACNARmcYEB0COksD2j6hfGK2g==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.47.0.tgz", - "integrity": "sha512-QC9RiCmZ2HmIdCEvhd1aJELBlD93ErziOXXlHEZyuBo3tBiAZieya0HLIxp+DoDWlsQqDawyKuNEhORyku+P8A==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0", - "@typescript-eslint/utils": "8.47.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.47.0.tgz", - "integrity": "sha512-nHAE6bMKsizhA2uuYZbEbmp5z2UpffNrPEqiKIeN7VsV6UY/roxanWfoRrf6x/k9+Obf+GQdkm0nPU+vnMXo9A==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.47.0.tgz", - "integrity": "sha512-k6ti9UepJf5NpzCjH31hQNLHQWupTRPhZ+KFF8WtTuTpy7uHPfeg2NM7cP27aCGajoEplxJDFVCEm9TGPYyiVg==", - "dev": true, - "dependencies": { - "@typescript-eslint/project-service": "8.47.0", - "@typescript-eslint/tsconfig-utils": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/visitor-keys": "8.47.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.47.0.tgz", - "integrity": "sha512-g7XrNf25iL4TJOiPqatNuaChyqt49a/onq5YsJ9+hXeugK+41LVg7AxikMfM02PC6jbNtZLCJj6AUcQXJS/jGQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.47.0", - "@typescript-eslint/types": "8.47.0", - "@typescript-eslint/typescript-estree": "8.47.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.47.0.tgz", - "integrity": "sha512-SIV3/6eftCy1bNzCQoPmbWsRLujS8t5iDIZ4spZOBHqrM+yfX2ogg8Tt3PDTAVKw3sSCiUgg30uOAvK2r9zGjQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.47.0", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true - }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], - "dev": true, - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/adler-32": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", - "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "dev": true - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.22", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.22.tgz", - "integrity": "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.27.0", - "caniuse-lite": "^1.0.30001754", - "fraction.js": "^5.3.4", - "normalize-range": "^0.1.2", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz", - "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/baseline-browser-mapping": { - "version": "2.8.31", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.31.tgz", - "integrity": "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==", - "dev": true, - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", - "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "baseline-browser-mapping": "^2.8.25", - "caniuse-lite": "^1.0.30001754", - "electron-to-chromium": "^1.5.249", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.1.4" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001756", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001756.tgz", - "integrity": "sha512-4HnCNKbMLkLdhJz3TToeVWHSnfJvPaq6vu/eRP0Ahub/07n484XHhBF5AJoSGHdVrS8tKFauUQz8Bp9P7LVx7A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/cfb": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", - "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", - "dependencies": { - "adler-32": "~1.3.0", - "crc-32": "~1.2.0" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/codepage": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", - "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" - }, - "node_modules/d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "dependencies": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "dependencies": { - "d3-path": "^3.1.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "dependencies": { - "d3-array": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "dependencies": { - "d3-time": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js-light": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", - "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.5.259", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.259.tgz", - "integrity": "sha512-I+oLXgpEJzD6Cwuwt1gYjxsDmu/S/Kd41mmLA3O+/uH2pFRO/DvOjUyGozL8j3KeLV6WyZ7ssPwELMsXCcsJAQ==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/es-abstract": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-next": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.33.tgz", - "integrity": "sha512-e2W+waB+I5KuoALAtKZl3WVDU4Q1MS6gF/gdcwHh0WOAkHf4TZI6dPjd25wKhlZFAsFrVKy24Z7/IwOhn8dHBw==", - "dev": true, - "dependencies": { - "@next/eslint-plugin-next": "14.2.33", - "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" - }, - "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", - "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", - "dev": true, - "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.4.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^2.0.0", - "stable-hash": "^0.0.5", - "tinyglobby": "^0.2.13", - "unrs-resolver": "^1.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", - "dev": true, - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", - "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", - "dev": true, - "dependencies": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.0.0-canary-7118f5dd7-20230705", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", - "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-equals": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.3.3.tgz", - "integrity": "sha512-/boTcHZeIAQ2r/tL11voclBHDeP9WPxLt+tyAbVSyyXuUFyh0Tne7gJZTqGbxnvj79TjLdCXLOY7UIPhyG5MTw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/frac": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", - "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/fraction.js": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", - "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generator-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", - "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", - "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", - "dev": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bun-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", - "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", - "dev": true, - "dependencies": { - "semver": "^7.7.1" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", - "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "dev": true, - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", - "dev": true - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "dev": true, - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-postinstall": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", - "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", - "dev": true, - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/next": { - "version": "14.2.33", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.33.tgz", - "integrity": "sha512-GiKHLsD00t4ACm1p00VgrI0rUFAC9cRDGReKyERlM57aeEZkOQGcZTpIbsGn0b562FTPJWmYfKwplfO9EaT6ng==", - "dependencies": { - "@next/env": "14.2.33", - "@swc/helpers": "0.5.5", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001579", - "graceful-fs": "^4.2.11", - "postcss": "8.4.31", - "styled-jsx": "5.1.1" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=18.17.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.33", - "@next/swc-darwin-x64": "14.2.33", - "@next/swc-linux-arm64-gnu": "14.2.33", - "@next/swc-linux-arm64-musl": "14.2.33", - "@next/swc-linux-x64-gnu": "14.2.33", - "@next/swc-linux-x64-musl": "14.2.33", - "@next/swc-win32-arm64-msvc": "14.2.33", - "@next/swc-win32-ia32-msvc": "14.2.33", - "@next/swc-win32-x64-msvc": "14.2.33" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.41.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", - "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", - "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "lilconfig": "^3.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "jiti": ">=1.21.0", - "postcss": ">=8.0.9", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - }, - "postcss": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/postcss-nested": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-smooth": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.4.tgz", - "integrity": "sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==", - "dependencies": { - "fast-equals": "^5.0.1", - "prop-types": "^15.8.1", - "react-transition-group": "^4.4.5" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recharts": { - "version": "2.15.4", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.15.4.tgz", - "integrity": "sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw==", - "dependencies": { - "clsx": "^2.0.0", - "eventemitter3": "^4.0.1", - "lodash": "^4.17.21", - "react-is": "^18.3.1", - "react-smooth": "^4.0.4", - "recharts-scale": "^0.4.4", - "tiny-invariant": "^1.3.1", - "victory-vendor": "^36.6.8" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/recharts-scale": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", - "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", - "dependencies": { - "decimal.js-light": "^2.4.1" - } - }, - "node_modules/recharts/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssf": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", - "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", - "dependencies": { - "frac": "~1.1.2" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/stable-hash": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", - "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", - "dev": true - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/string.prototype.includes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", - "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/styled-jsx": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", - "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/sucrase": { - "version": "3.35.1", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", - "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "tinyglobby": "^0.2.11", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tailwindcss": { - "version": "3.4.18", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.18.tgz", - "integrity": "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==", - "dev": true, - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.6.0", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.2", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.7", - "lilconfig": "^3.1.3", - "micromatch": "^4.0.8", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.47", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", - "postcss-nested": "^6.2.0", - "postcss-selector-parser": "^6.1.2", - "resolve": "^1.22.8", - "sucrase": "^3.35.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", - "dev": true, - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true - }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "napi-postinstall": "^0.3.0" - }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" - }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", - "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/victory-vendor": { - "version": "36.9.2", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", - "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", - "dependencies": { - "@types/d3-array": "^3.0.3", - "@types/d3-ease": "^3.0.0", - "@types/d3-interpolate": "^3.0.1", - "@types/d3-scale": "^4.0.2", - "@types/d3-shape": "^3.1.0", - "@types/d3-time": "^3.0.0", - "@types/d3-timer": "^3.0.0", - "d3-array": "^3.1.6", - "d3-ease": "^3.0.1", - "d3-interpolate": "^3.0.1", - "d3-scale": "^4.0.2", - "d3-shape": "^3.1.0", - "d3-time": "^3.0.0", - "d3-timer": "^3.0.1" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wmf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", - "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/word": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", - "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/xlsx": { - "version": "0.18.5", - "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz", - "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", - "dependencies": { - "adler-32": "~1.3.0", - "cfb": "~1.2.1", - "codepage": "~1.15.0", - "crc-32": "~1.2.1", - "ssf": "~0.11.2", - "wmf": "~1.0.1", - "word": "~0.3.0" - }, - "bin": { - "xlsx": "bin/xlsx.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 2c664cc..0000000 --- a/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "sistem-cpl-unismuh", - "version": "1.0.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "next": "^14.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "recharts": "^2.10.0", - "xlsx": "^0.18.5" - }, - "devDependencies": { - "@types/node": "^20.0.0", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", - "autoprefixer": "^10.4.16", - "eslint": "^8.54.0", - "eslint-config-next": "^14.0.0", - "postcss": "^8.4.31", - "tailwindcss": "^3.3.5", - "typescript": "^5.0.0" - } -} diff --git a/postcss.config.mjs b/postcss.config.mjs deleted file mode 100644 index 2ef30fc..0000000 --- a/postcss.config.mjs +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import('postcss-load-config').Config} */ -const config = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -}; - -export default config; diff --git a/readme.md b/readme.md deleted file mode 100644 index 03a7542..0000000 --- a/readme.md +++ /dev/null @@ -1,17 +0,0 @@ -Definisi CPL (global)
- ↓
-Definisi MK
- ↓
-Mapping bobot CPL per MK (muatan CPL seperti tabel warna-warni)
- ↓
-Mahasiswa → Nilai MK
- ↓
-Perhitungan CPL mahasiswa
- ↓
-IPK Berbasis CPL
- - -## Endpoint -/health -
/api/prodi : Dropdown daftar prodi -
/api/prodi/:id_prodi/mk?semester=N \ No newline at end of file diff --git a/src/app/clear-data/page.jsx b/src/app/clear-data/page.jsx deleted file mode 100644 index 120121f..0000000 --- a/src/app/clear-data/page.jsx +++ /dev/null @@ -1,151 +0,0 @@ -'use client'; - -import { useEffect, useState } from 'react'; -import { useRouter } from 'next/navigation'; - -export default function ClearDataPage() { - const router = useRouter(); - const [status, setStatus] = useState(''); - const [data, setData] = useState({ nilai: null, mahasiswa: null }); - - useEffect(() => { - // Load current data - const nilaiData = localStorage.getItem('kkp_nilai_mahasiswa'); - const mahasiswaData = localStorage.getItem('kkp_mahasiswa_import'); - - setData({ - nilai: nilaiData ? JSON.parse(nilaiData) : null, - mahasiswa: mahasiswaData ? JSON.parse(mahasiswaData) : null - }); - }, []); - - const clearAll = () => { - localStorage.removeItem('kkp_nilai_mahasiswa'); - localStorage.removeItem('kkp_mahasiswa_import'); - localStorage.clear(); - - setStatus('✅ Semua data berhasil dihapus!'); - setData({ nilai: null, mahasiswa: null }); - - // Dispatch storage event - window.dispatchEvent(new Event('storage')); - - setTimeout(() => { - router.push('/dashboard'); - }, 2000); - }; - - const clearNilai = () => { - localStorage.removeItem('kkp_nilai_mahasiswa'); - setStatus('✅ Data nilai berhasil dihapus!'); - - const mahasiswaData = localStorage.getItem('kkp_mahasiswa_import'); - setData({ - nilai: null, - mahasiswa: mahasiswaData ? JSON.parse(mahasiswaData) : null - }); - - window.dispatchEvent(new Event('storage')); - }; - - const clearMahasiswa = () => { - localStorage.removeItem('kkp_mahasiswa_import'); - setStatus('✅ Data mahasiswa berhasil dihapus!'); - - const nilaiData = localStorage.getItem('kkp_nilai_mahasiswa'); - setData({ - nilai: nilaiData ? JSON.parse(nilaiData) : null, - mahasiswa: null - }); - - window.dispatchEvent(new Event('storage')); - }; - - return ( -
-
-
-

- 🗑️ Bersihkan Data localStorage -

- - {status && ( -
-

{status}

-
- )} - -
- - - - - - - -
- -
-

📊 Data Saat Ini

- -
-
-

📊 NILAI (kkp_nilai_mahasiswa):

- {data.nilai ? ( -
-

- Total: {data.nilai.length} records -

-
-                      {JSON.stringify(data.nilai.slice(0, 2), null, 2)}
-                      {data.nilai.length > 2 && '\n... dan ' + (data.nilai.length - 2) + ' lainnya'}
-                    
-
- ) : ( -

Empty

- )} -
- -
-

👥 MAHASISWA (kkp_mahasiswa_import):

- {data.mahasiswa ? ( -
-

- Total: {data.mahasiswa.length} records -

-
-                      {JSON.stringify(data.mahasiswa.slice(0, 2), null, 2)}
-                      {data.mahasiswa.length > 2 && '\n... dan ' + (data.mahasiswa.length - 2) + ' lainnya'}
-                    
-
- ) : ( -

Empty

- )} -
-
-
-
-
-
- ); -} diff --git a/src/app/dashboard/input-nilai/page.tsx b/src/app/dashboard/input-nilai/page.tsx deleted file mode 100644 index 0da08b9..0000000 --- a/src/app/dashboard/input-nilai/page.tsx +++ /dev/null @@ -1,420 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; -import { prodiData, mahasiswaData, mataKuliahData, cpmkData, cpmkToCplMapping } from '@/data/mockData'; -import { saveNilai, getNilaiByMahasiswaMK } from '@/utils/nilaiStorage'; -import { getIntegratedMahasiswaList } from '@/utils/dataIntegration'; -import { useRouter } from 'next/navigation'; - -export default function InputNilaiPage() { - const router = useRouter(); - const [selectedProdi, setSelectedProdi] = useState('ARS'); - const [selectedSemester, setSelectedSemester] = useState(3); - const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); - const [filteredMahasiswa, setFilteredMahasiswa] = useState([]); - const [mkList, setMkList] = useState([]); - const [selectedMK, setSelectedMK] = useState(null); - const [nilaiMK, setNilaiMK] = useState(''); - const [showResult, setShowResult] = useState(false); - const [calculatedCPMK, setCalculatedCPMK] = useState([]); - const [calculatedCPL, setCalculatedCPL] = useState([]); - const [saveSuccess, setSaveSuccess] = useState(false); - const [refreshKey, setRefreshKey] = useState(0); // Key untuk force refresh - - // Listen to nilai updates from import - useEffect(() => { - const handleNilaiUpdate = (event: any) => { - console.log('📝 Input Nilai: Data nilai diupdate', event.detail); - setRefreshKey(prev => prev + 1); - }; - - const handleStorageChange = () => { - console.log('💾 Input Nilai: LocalStorage berubah'); - setRefreshKey(prev => prev + 1); - }; - - window.addEventListener('nilaiUpdated', handleNilaiUpdate); - window.addEventListener('storage', handleStorageChange); - - return () => { - window.removeEventListener('nilaiUpdated', handleNilaiUpdate); - window.removeEventListener('storage', handleStorageChange); - }; - }, []); - - // Filter mahasiswa by prodi (integrated: mockData + localStorage) - useEffect(() => { - const integratedMahasiswa = getIntegratedMahasiswaList(selectedProdi); - setFilteredMahasiswa(integratedMahasiswa); - - if (integratedMahasiswa.length > 0) { - // Keep current selection if still valid, otherwise select first - const currentExists = integratedMahasiswa.find(m => m.id === selectedMahasiswa); - if (!currentExists || !selectedMahasiswa) { - setSelectedMahasiswa(integratedMahasiswa[0].id); - } - } - }, [selectedProdi, refreshKey]); // Add refreshKey to refresh mahasiswa list on import - - // Get MK list for selected prodi and semester - useEffect(() => { - const mkFiltered = mataKuliahData.filter( - (mk) => mk.prodiKode === selectedProdi && mk.semester === selectedSemester - ); - setMkList(mkFiltered); - }, [selectedProdi, selectedSemester]); - - // Check if nilai already exists when MK is selected - useEffect(() => { - if (selectedMK && selectedMahasiswa) { - const existingNilai = getNilaiByMahasiswaMK(selectedMahasiswa, selectedMK.kode); - if (existingNilai) { - setNilaiMK(existingNilai.nilaiAkhir.toString()); - } - } - }, [selectedMK, selectedMahasiswa]); - - // Calculate CPMK from nilai MK - const handleCalculate = () => { - if (!selectedMK || !nilaiMK) return; - - const nilai = parseFloat(nilaiMK); - if (isNaN(nilai) || nilai < 0 || nilai > 100) { - alert('Masukkan nilai antara 0-100'); - return; - } - - // Get CPMK for this MK - const cpmkList = cpmkData.filter((c) => c.mkKode === selectedMK.kode); - - // Calculate nilai CPMK (breakdown otomatis berdasarkan bobot) - const cpmkResults = cpmkList.map((cpmk) => { - const nilaiCPMK = nilai * (cpmk.bobot / 100); - return { - kode: cpmk.kode, - deskripsi: cpmk.deskripsi, - bobot: cpmk.bobot, - nilai: Math.round(nilaiCPMK * 10) / 10, - }; - }); - - setCalculatedCPMK(cpmkResults); - - // Calculate CPL contribution from this MK - const cplScoresMap: { [key: string]: { totalNilai: number; count: number } } = {}; - - cpmkResults.forEach((cpmk) => { - const mappings = cpmkToCplMapping.filter((m) => m.cpmkKode === cpmk.kode); - - mappings.forEach((mapping) => { - if (!cplScoresMap[mapping.cplKode]) { - cplScoresMap[mapping.cplKode] = { totalNilai: 0, count: 0 }; - } - cplScoresMap[mapping.cplKode].totalNilai += cpmk.nilai * (mapping.bobot / 100); - cplScoresMap[mapping.cplKode].count += 1; - }); - }); - - const cplResults = Object.entries(cplScoresMap).map(([cplKode, data]) => ({ - kode: cplKode, - nilai: Math.round((data.totalNilai / data.count) * 10) / 10, - })); - - setCalculatedCPL(cplResults); - setShowResult(true); - }; - - // Save nilai - const handleSave = () => { - if (!selectedMK || !selectedMahasiswa || !nilaiMK) return; - - const nilai = parseFloat(nilaiMK); - const success = saveNilai(selectedMahasiswa, selectedMK.kode, nilai); - - if (success) { - setSaveSuccess(true); - - // Dispatch custom event untuk notify komponen lain (Dashboard, Laporan, Manajemen) - window.dispatchEvent(new CustomEvent('nilaiUpdated', { - detail: { - mahasiswaId: selectedMahasiswa, - mkKode: selectedMK.kode, - nilaiAkhir: nilai, - source: 'input-nilai', - timestamp: new Date().toISOString() - } - })); - - console.log('✅ Nilai saved and event dispatched:', { - mahasiswa: selectedMahasiswa, - mk: selectedMK.kode, - nilai: nilai - }); - - // Show success message for 2 seconds - setTimeout(() => { - setSaveSuccess(false); - setSelectedMK(null); - setNilaiMK(''); - setShowResult(false); - setCalculatedCPMK([]); - setCalculatedCPL([]); - }, 2000); - } else { - alert('Gagal menyimpan nilai. Silakan coba lagi.'); - } - }; - - const selectedMhs = filteredMahasiswa.find((m) => m.id === selectedMahasiswa); - const selectedProdiData = prodiData.find((p) => p.kode === selectedProdi); - - return ( -
- {/* Success Notification */} - {saveSuccess && ( -
-
- - - -
-

Nilai Berhasil Disimpan!

-

Data akan ditampilkan di Dashboard & Laporan

-
-
-
- )} - -
-

- - - - Input Nilai Mahasiswa -

-

- Input nilai mata kuliah, sistem otomatis menghitung CPMK dan CPL -

-
- - {/* Filter Section */} -
-

- - - - Filter Data -

- -
-
- - -
- -
- - -
- -
- - -
-
- - {selectedMhs && ( -
-
-
- Prodi: -

{selectedProdiData?.nama}

-
-
- Nim: -

{selectedMhs.npm}

-
-
- Nama: -

{selectedMhs.nama}

-
-
- Semester Aktif: -

Semester {selectedMhs.semesterAktif}

-
-
-
- )} -
- - {/* MK List */} -
-

- Pilih Mata Kuliah (Semester {selectedSemester}) -

- - {mkList.length === 0 ? ( -
-

Tidak ada mata kuliah di semester ini

-
- ) : ( -
- {mkList.map((mk) => ( - - ))} -
- )} -
- - {/* Input Nilai Section */} - {selectedMK && ( -
-

- Input Nilai: {selectedMK.nama} -

- -
- -
- setNilaiMK(e.target.value)} - min="0" - max="100" - step="0.1" - placeholder="Masukkan nilai" - className="flex-1 px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500" - /> - -
-
- - {/* Results */} - {showResult && ( -
- {/* CPMK Results */} -
-

Breakdown Nilai CPMK (Otomatis)

-
- {calculatedCPMK.map((cpmk) => ( -
-
-

{cpmk.deskripsi}

-

Bobot: {cpmk.bobot}%

-
- - {cpmk.nilai} - -
- ))} -
-
- - {/* CPL Results */} -
-

Kontribusi ke CPL

-
- {calculatedCPL.map((cpl) => ( -
-

{cpl.kode}

-

{cpl.nilai}

-
- ))} -
-
- - {/* Save Button */} -
- - -
-
- )} -
- )} -
- ); -} diff --git a/src/app/dashboard/laporan/page.tsx b/src/app/dashboard/laporan/page.tsx deleted file mode 100644 index 69a9174..0000000 --- a/src/app/dashboard/laporan/page.tsx +++ /dev/null @@ -1,1141 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; -import { prodiData, mahasiswaData, cplData, mataKuliahData } from '@/data/mockData'; -import { hitungNilaiCPLPerSemesterIntegrated, getIntegratedNilaiByMahasiswa, getNilaiGroupedBySemester, hitungCPMKBreakdownPerCPL, getIntegratedMahasiswaList } from '@/utils/dataIntegration'; -import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, LineChart, Line, RadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Radar } from 'recharts'; - -type ViewMode = 'mahasiswa' | 'semester' | 'prodi'; -type MahasiswaViewTab = 'keseluruhan' | 'persemester'; - -export default function LaporanPage() { - const [selectedProdi, setSelectedProdi] = useState('ARS'); - const [selectedSemester, setSelectedSemester] = useState(2); - const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); - const [viewMode, setViewMode] = useState('mahasiswa'); - const [mahasiswaViewTab, setMahasiswaViewTab] = useState('keseluruhan'); - const [filteredMahasiswa, setFilteredMahasiswa] = useState([]); - const [laporanData, setLaporanData] = useState(null); - const [expandedCPL, setExpandedCPL] = useState(null); - const [refreshKey, setRefreshKey] = useState(0); // Key untuk force refresh - - // Listen to nilai updates from import - useEffect(() => { - const handleNilaiUpdate = (event: any) => { - console.log('📋 Laporan: Data nilai diupdate', event.detail); - setRefreshKey(prev => prev + 1); - }; - - const handleStorageChange = () => { - console.log('💾 Laporan: LocalStorage berubah'); - setRefreshKey(prev => prev + 1); - }; - - window.addEventListener('nilaiUpdated', handleNilaiUpdate); - window.addEventListener('storage', handleStorageChange); - - return () => { - window.removeEventListener('nilaiUpdated', handleNilaiUpdate); - window.removeEventListener('storage', handleStorageChange); - }; - }, []); - - // Filter mahasiswa by prodi (integrated: mockData + localStorage) - useEffect(() => { - const integratedMahasiswa = getIntegratedMahasiswaList(selectedProdi); - setFilteredMahasiswa(integratedMahasiswa); - - if (integratedMahasiswa.length > 0) { - // Keep current selection if still valid, otherwise select first - const currentExists = integratedMahasiswa.find(m => m.id === selectedMahasiswa); - if (!currentExists || !selectedMahasiswa) { - setSelectedMahasiswa(integratedMahasiswa[0].id); - } - } - }, [selectedProdi, refreshKey]); // Add refreshKey to refresh mahasiswa list on import - - // Generate laporan based on view mode - useEffect(() => { - if (viewMode === 'mahasiswa' && selectedMahasiswa) { - generateLaporanMahasiswa(); - } else if (viewMode === 'semester') { - generateLaporanSemester(); - } else if (viewMode === 'prodi') { - generateLaporanProdi(); - } - }, [viewMode, selectedMahasiswa, selectedProdi, selectedSemester, refreshKey]); // Add refreshKey - - const generateLaporanMahasiswa = () => { - const mhs = filteredMahasiswa.find((m) => m.id === selectedMahasiswa); - if (!mhs) return; - - const cplScores = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, selectedSemester, mhs.prodiKode); - const nilaiMhs = getIntegratedNilaiByMahasiswa(selectedMahasiswa); - - // Get CPMK breakdown with bobot - const cpmkBreakdown = hitungCPMKBreakdownPerCPL(selectedMahasiswa, selectedSemester, mhs.prodiKode); - - // Group nilai by semester using integrated data - const groupedData = getNilaiGroupedBySemester(selectedMahasiswa, mhs.prodiKode); - - // Convert to format expected by component - const nilaiPerSemester: { [key: number]: any[] } = {}; - Object.entries(groupedData).forEach(([sem, data]) => { - const semester = parseInt(sem); - nilaiPerSemester[semester] = data.nilai.map((nilai, idx) => ({ - ...nilai, - mk: data.mataKuliah[idx] - })); - }); - - // Calculate CPL trend across semesters - // Get all semesters that have nilai for this mahasiswa - const semestersWithNilai = new Set(); - Object.keys(groupedData).forEach(sem => { - semestersWithNilai.add(parseInt(sem)); - }); - - const trendData = []; - const maxSemester = mhs.semesterAktif || Math.max(...Array.from(semestersWithNilai), selectedSemester); - - for (let sem = 1; sem <= maxSemester; sem++) { - const cplSem = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, sem, mhs.prodiKode); - if (cplSem.length > 0) { - const avgCPL = cplSem.reduce((sum, c) => sum + c.nilai, 0) / cplSem.length; - trendData.push({ - semester: `Sem ${sem}`, - 'Rata-rata CPL': Math.round(avgCPL * 10) / 10 - }); - } - } - - // Calculate overall CPL achievement across all semesters - const overallCPLAchievement: { [key: string]: { total: number; count: number } } = {}; - - for (let sem = 1; sem <= maxSemester; sem++) { - const cplSem = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, sem, mhs.prodiKode); - cplSem.forEach((cpl) => { - if (!overallCPLAchievement[cpl.cplKode]) { - overallCPLAchievement[cpl.cplKode] = { total: 0, count: 0 }; - } - overallCPLAchievement[cpl.cplKode].total += cpl.nilai; - overallCPLAchievement[cpl.cplKode].count += 1; - }); - } - - const cplOverallData = Object.entries(overallCPLAchievement).map(([kode, data]) => { - const cplInfo = cplData.find((c) => c.kode === kode && c.prodiKode === mhs.prodiKode); - return { - kode, - avgNilai: data.count > 0 ? Math.round((data.total / data.count) * 10) / 10 : 0, - deskripsi: cplInfo?.deskripsi || '', - jumlahSemester: data.count, - }; - }); - - // Prepare radar chart data - const radarData = cplOverallData.map((cpl) => ({ - subject: cpl.kode, - value: cpl.avgNilai, - fullMark: 100, - })); - - setLaporanData({ - mahasiswa: mhs, - cplScores, - cpmkBreakdown, - nilaiPerSemester, - trendData, - cplOverallData, - radarData, - totalMK: nilaiMhs.length, - avgCPL: cplScores.length > 0 - ? Math.round((cplScores.reduce((sum, c) => sum + c.nilai, 0) / cplScores.length) * 10) / 10 - : 0, - }); - }; - - const generateLaporanSemester = () => { - const mahasiswaProdi = getIntegratedMahasiswaList(selectedProdi); - const mkSemester = mataKuliahData.filter( - (mk) => mk.prodiKode === selectedProdi && mk.semester === selectedSemester - ); - - // Calculate average CPL for all students in this semester - const allCPLScores: { [key: string]: number[] } = {}; - - mahasiswaProdi.forEach((mhs) => { - const cplScores = hitungNilaiCPLPerSemesterIntegrated(mhs.id, selectedSemester, selectedProdi); - cplScores.forEach((cpl) => { - if (!allCPLScores[cpl.cplKode]) { - allCPLScores[cpl.cplKode] = []; - } - allCPLScores[cpl.cplKode].push(cpl.nilai); - }); - }); - - const avgCPLBySemester = Object.entries(allCPLScores).map(([kode, values]) => ({ - kode, - avgNilai: values.length > 0 - ? Math.round((values.reduce((a, b) => a + b, 0) / values.length) * 10) / 10 - : 0, - jumlahMahasiswa: values.length, - deskripsi: cplData.find((c) => c.kode === kode && c.prodiKode === selectedProdi)?.deskripsi || '', - })); - - setLaporanData({ - semester: selectedSemester, - mataKuliah: mkSemester, - avgCPL: avgCPLBySemester, - totalMahasiswa: mahasiswaProdi.length, - totalSKS: mkSemester.reduce((sum, mk) => sum + mk.sks, 0), - }); - }; - - const generateLaporanProdi = () => { - const mahasiswaProdi = getIntegratedMahasiswaList(selectedProdi); - const mkProdi = mataKuliahData.filter((mk) => mk.prodiKode === selectedProdi); - - // Calculate overall statistics - count all nilai (integrated) - const allNilaiCount = mahasiswaProdi.reduce((count, mhs) => { - return count + getIntegratedNilaiByMahasiswa(mhs.id).length; - }, 0); - - // CPL achievement across all students - const cplAchievement: { [key: string]: { total: number; count: number } } = {}; - - mahasiswaProdi.forEach((mhs) => { - // For integrated mahasiswa, calculate all available semesters (1-8) - for (let sem = 1; sem <= 8; sem++) { - const cplScores = hitungNilaiCPLPerSemesterIntegrated(mhs.id, sem, selectedProdi); - cplScores.forEach((cpl) => { - if (!cplAchievement[cpl.cplKode]) { - cplAchievement[cpl.cplKode] = { total: 0, count: 0 }; - } - cplAchievement[cpl.cplKode].total += cpl.nilai; - cplAchievement[cpl.cplKode].count += 1; - }); - } - }); - - const avgCPLProdi = Object.entries(cplAchievement).map(([kode, data]) => ({ - kode, - avgNilai: data.count > 0 - ? Math.round((data.total / data.count) * 10) / 10 - : 0, - deskripsi: cplData.find((c) => c.kode === kode && c.prodiKode === selectedProdi)?.deskripsi || '', - })); - - // Distribution by semester - const distribusiSemester = Array.from({ length: 8 }, (_, i) => { - const sem = i + 1; - const count = mahasiswaProdi.filter((m) => m.semesterAktif === sem || !m.semesterAktif).length; - return { semester: `Sem ${sem}`, jumlah: count }; - }); - - setLaporanData({ - prodi: prodiData.find((p) => p.kode === selectedProdi), - totalMahasiswa: mahasiswaProdi.length, - totalMK: mkProdi.length, - avgCPL: avgCPLProdi, - distribusiSemester, - totalNilai: allNilaiCount, - }); - }; - - const handleExport = (format: 'pdf' | 'excel') => { - alert(`Export ke ${format.toUpperCase()} akan segera tersedia!`); - }; - - return ( -
- {/* Header */} -
-

- Laporan CPL -

-

- Laporan lengkap capaian pembelajaran lulusan dengan visualisasi data -

-
- - {/* View Mode Selector */} -
-
- - - -
- - -
-
-
- - {/* Filters based on view mode */} -
-
-
- - -
- - {(viewMode === 'mahasiswa' || viewMode === 'semester') && ( -
- - -
- )} - - {viewMode === 'mahasiswa' && ( -
- - -
- )} -
-
- - {/* Laporan Content */} - {viewMode === 'mahasiswa' && laporanData && laporanData.mahasiswa && ( -
- {/* Student Info Card */} -
-
-
-

Nama Mahasiswa

-

{laporanData.mahasiswa.nama}

-
-
-

NIM

-

{laporanData.mahasiswa.npm}

-
-
-

Angkatan

-

{laporanData.mahasiswa.angkatan || 'N/A'}

-
-
-

Rata-rata CPL Keseluruhan

-

- {laporanData.cplOverallData && laporanData.cplOverallData.length > 0 - ? Math.round( - (laporanData.cplOverallData.reduce((sum: number, c: any) => sum + c.avgNilai, 0) / - laporanData.cplOverallData.length) * - 10 - ) / 10 - : laporanData.avgCPL} -

-
-
-
- - {/* Tab Navigation */} -
-
- - -
-
- - {/* Content based on tab selection */} - {mahasiswaViewTab === 'keseluruhan' ? ( -
- {/* CPL Trend Chart */} - {laporanData.trendData && laporanData.trendData.length > 0 && ( -
-

- 📈 Tren Capaian CPL Lintas Semester -

-

- Grafik perkembangan rata-rata CPL dari semester 1 hingga semester aktif -

- - - - - - - - - - -
- )} - - {/* Overall CPL Achievement - New Chart */} - {laporanData.cplOverallData && laporanData.cplOverallData.length > 0 && ( -
-
-

- Capaian CPL Keseluruhan (Semua Semester) -

-

- Visualisasi pencapaian rata-rata untuk setiap CPL dari seluruh semester yang telah diselesaikan -

-
- -
-
- {/* Radar Chart */} -
-

- Radar Chart - Profil CPL -

- - - - - - - - - - -
- - {/* Bar Chart */} -
-

- Bar Chart - Perbandingan CPL -

- - - - - - [`${value}`, 'Nilai']} - /> - - - - -
-
- - {/* CPL Details Table */} -
-

- Detail Capaian Per CPL -

-
- - - - - - - - - - - - {laporanData.cplOverallData.map((cpl: any, idx: number) => ( - - - - - - - - ))} - -
Kode CPLDeskripsiRata-rata NilaiSemester TerkaitStatus
- {cpl.kode} - - {cpl.deskripsi} - - - {cpl.avgNilai} - - - - {cpl.jumlahSemester} semester - - - = 75 - ? 'bg-green-100 text-green-800' - : cpl.avgNilai >= 60 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - {cpl.avgNilai >= 75 ? '✓ Tercapai' : cpl.avgNilai >= 60 ? '~ Cukup' : '✗ Belum Tercapai'} - -
-
- - {/* Summary Info */} -
-
- - - -
-

Catatan Perhitungan:

-
    -
  • Nilai CPL dihitung dari rata-rata seluruh semester yang telah diselesaikan
  • -
  • CPL yang muncul di beberapa semester akan dirata-ratakan untuk mendapatkan nilai keseluruhan
  • -
  • Status Tercapai: ≥75 | Cukup: 60-74 | Belum Tercapai: <60
  • -
-
-
-
-
-
-
- )} -
- ) : ( -
- {/* Per Semester Content */} -
-
- - - -

- Semester {selectedSemester} Terpilih - Menampilkan detail CPL dan CPMK untuk semester ini -

-
-
- - {/* CPL Scores Table with CPMK Breakdown */} -
-
-

- Detail CPL Semester {selectedSemester} -

-

- Klik pada baris CPL untuk melihat breakdown CPMK dan bobot -

-
-
- {laporanData.cpmkBreakdown && laporanData.cpmkBreakdown.length > 0 ? ( -
- {laporanData.cpmkBreakdown.map((cpl: any, idx: number) => ( -
- {/* CPL Header - Clickable */} -
setExpandedCPL(expandedCPL === cpl.cplKode ? null : cpl.cplKode)} - > -
-
- - - - {cpl.cplKode} -
- {cpl.cplDeskripsi} -
-
- - {cpl.nilaiCPL} - - = 75 - ? 'bg-green-100 text-green-800' - : cpl.nilaiCPL >= 60 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - {cpl.nilaiCPL >= 75 ? 'Tercapai' : cpl.nilaiCPL >= 60 ? 'Cukup' : 'Belum Tercapai'} - -
-
- - {/* CPMK Breakdown - Expandable */} - {expandedCPL === cpl.cplKode && ( -
- {/* Header with CPL Info */} -
-
-
-
-

- Breakdown Mata Kuliah & CPMK untuk {cpl.cplKode} -

-
- - Total: {cpl.totalMKTerkait} MK Terkait - -
-
-

• Bobot per MK: {cpl.bobotMKPerCPL}% (100% ÷ {cpl.totalMKTerkait} MK)

-

• MK di semester ini: {cpl.mataKuliah.length}

-
-
- - {cpl.mataKuliah.map((mk: any, mkIdx: number) => ( -
- {/* MK Header */} -
-
-
-
-
- {mk.mkKode} - - {mk.mkNama} -
-
-
- {mk.sks} SKS - - Bobot: {mk.bobotMK}% - - - Nilai: {mk.nilaiMK} - -
-
-
- - {/* CPMK List */} -
-
- Perhitungan CPMK: {mk.bobotMK}% (bobot MK) ÷ {mk.cpmkList.length} CPMK = {mk.cpmkList[0]?.bobot}% per CPMK -
- - - - - - - - - - - {mk.cpmkList.map((cpmk: any, cpmkIdx: number) => ( - - - - - - - ))} - -
CPMKDeskripsiBobot (%)Nilai Tertimbang
-
-
- - {cpmk.cpmkKode.length > 20 - ? cpmk.cpmkKode.substring(0, 20) + '...' - : cpmk.cpmkKode} - -
-
- {cpmk.deskripsi} - - - {cpmk.bobot}% - - - {cpmk.nilaiWeighted} -
- - {/* Summary */} -
-
- - Total Bobot CPMK: - - - {mk.cpmkList.reduce((sum: number, c: any) => sum + c.bobot, 0).toFixed(2)}% - -
-
- - Kontribusi MK ke {cpl.cplKode}: - - - {mk.nilaiMK} × {mk.bobotMK}% = {Math.round(mk.nilaiMK * mk.bobotMK / 100 * 100) / 100} - -
-
-
-
- ))} - - {/* CPL Summary */} -
-
-
-
- - - - - Perhitungan Nilai {cpl.cplKode} - -
- {cpl.nilaiCPL} -
-
-

• MK di semester ini: {cpl.mataKuliah.length} dari {cpl.totalMKTerkait} total MK

-

• Formula: Rata-rata nilai dari semua MK yang terkait

-

- ({cpl.mataKuliah.map((mk: any) => mk.nilaiMK).join(' + ')}) ÷ {cpl.mataKuliah.length} = {cpl.nilaiCPL} -

-
-
-
-
- )} -
- ))} -
- ) : ( -
-

Belum ada data CPMK untuk semester ini

-
- )} -
-
- - {/* MK yang sudah diambil */} -
-

- Mata Kuliah yang Sudah Diselesaikan -

-
- {Object.entries(laporanData.nilaiPerSemester).map(([sem, nilai]: [string, any]) => ( -
-

Semester {sem}

-
    - {nilai.map((n: any, idx: number) => ( -
  • - {n.mk.nama} - {n.nilaiAkhir} -
  • - ))} -
-
- ))} -
-
-
- )} -
- )} - - {viewMode === 'semester' && laporanData && ( -
- {/* Semester Overview */} -
-
-
-
-

Total Mahasiswa

-

{laporanData.totalMahasiswa}

-
-
- - - -
-
-
- -
-
-
-

Mata Kuliah

-

{laporanData?.mataKuliah?.length || 0}

-
-
- - - -
-
-
- -
-
-
-

Total SKS

-

{laporanData?.totalSKS || 0}

-
-
- - - -
-
-
-
- - {/* Average CPL Chart */} -
-

- Rata-rata Capaian CPL Semester {selectedSemester} -

- - - - - - - - - - -
- - {/* Mata Kuliah List */} -
-
-

- Daftar Mata Kuliah Semester {selectedSemester} -

-
-
- - - - - - - - - - - - {laporanData?.mataKuliah?.map((mk: any, idx: number) => ( - - - - - - - - ))} - -
NoKode MKMata KuliahSKSCPL Terkait
{idx + 1}{mk.kode}{mk.nama} - - {mk.sks} - - - {mk.cplTerkait.join(', ')} -
-
-
-
- )} - - {viewMode === 'prodi' && laporanData && ( -
- {/* Prodi Overview */} -
-

{laporanData?.prodi?.nama || 'Program Studi'}

-
-
-

Total Mahasiswa

-

{laporanData?.totalMahasiswa || 0}

-
-
-

Total Mata Kuliah

-

{laporanData?.totalMK || 0}

-
-
-

Data Nilai Tersimpan

-

{laporanData?.totalNilai || 0}

-
-
-

Kaprodi

-

{laporanData?.prodi?.kaprodi || '-'}

-
-
-
- - {/* Distribusi Mahasiswa per Semester */} -
-

- Distribusi Mahasiswa per Semester -

- - - - - - - - - - -
- - {/* Average CPL Achievement */} -
-

- Rata-rata Capaian CPL Keseluruhan -

-
- - - - - - - - - - - - ({ - subject: cpl.kode, - value: cpl.avgNilai, - fullMark: 100, - })) : []}> - - - - - - - -
-
- - {/* CPL Details Table */} -
-
-

- Detail Capaian CPL {laporanData?.prodi?.nama || 'Program Studi'} -

-
-
- - - - - - - - - - - {Array.isArray(laporanData?.avgCPL) && laporanData.avgCPL.map((cpl: any, idx: number) => ( - - - - - - - ))} - -
Kode CPLDeskripsiRata-rata NilaiStatus
{cpl.kode}{cpl.deskripsi} - - {cpl.avgNilai} - - - = 75 - ? 'bg-green-100 text-green-800' - : cpl.avgNilai >= 60 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - {cpl.avgNilai >= 75 ? 'Tercapai' : cpl.avgNilai >= 60 ? 'Cukup' : 'Belum Tercapai'} - -
-
-
-
- )} -
- ); -} diff --git a/src/app/dashboard/laporan/page.tsx.backup b/src/app/dashboard/laporan/page.tsx.backup deleted file mode 100644 index fb34ab9..0000000 --- a/src/app/dashboard/laporan/page.tsx.backup +++ /dev/null @@ -1,1128 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; -import { prodiData, mahasiswaData, cplData, mataKuliahData } from '@/data/mockData'; -import { hitungNilaiCPLPerSemesterIntegrated, getIntegratedNilaiByMahasiswa, getNilaiGroupedBySemester, hitungCPMKBreakdownPerCPL, getIntegratedMahasiswaList } from '@/utils/dataIntegration'; -import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, LineChart, Line, RadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Radar } from 'recharts'; - -type ViewMode = 'mahasiswa' | 'semester' | 'prodi'; -type MahasiswaViewMode = 'per-semester' | 'keseluruhan'; - -export default function LaporanPage() { - const [selectedProdi, setSelectedProdi] = useState('ARS'); - const [selectedSemester, setSelectedSemester] = useState(2); - const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); - const [viewMode, setViewMode] = useState('mahasiswa'); - const [mahasiswaViewMode, setMahasiswaViewMode] = useState('keseluruhan'); - const [filteredMahasiswa, setFilteredMahasiswa] = useState([]); - const [laporanData, setLaporanData] = useState(null); - const [expandedCPL, setExpandedCPL] = useState(null); - const [refreshKey, setRefreshKey] = useState(0); // Key untuk force refresh - - // Listen to nilai updates from import - useEffect(() => { - const handleNilaiUpdate = (event: any) => { - console.log('📋 Laporan: Data nilai diupdate', event.detail); - setRefreshKey(prev => prev + 1); - }; - - const handleStorageChange = () => { - console.log('💾 Laporan: LocalStorage berubah'); - setRefreshKey(prev => prev + 1); - }; - - window.addEventListener('nilaiUpdated', handleNilaiUpdate); - window.addEventListener('storage', handleStorageChange); - - return () => { - window.removeEventListener('nilaiUpdated', handleNilaiUpdate); - window.removeEventListener('storage', handleStorageChange); - }; - }, []); - - // Filter mahasiswa by prodi (integrated: mockData + localStorage) - useEffect(() => { - const integratedMahasiswa = getIntegratedMahasiswaList(selectedProdi); - setFilteredMahasiswa(integratedMahasiswa); - - if (integratedMahasiswa.length > 0) { - // Keep current selection if still valid, otherwise select first - const currentExists = integratedMahasiswa.find(m => m.id === selectedMahasiswa); - if (!currentExists || !selectedMahasiswa) { - setSelectedMahasiswa(integratedMahasiswa[0].id); - } - } - }, [selectedProdi, refreshKey]); // Add refreshKey to refresh mahasiswa list on import - - // Generate laporan based on view mode - useEffect(() => { - if (viewMode === 'mahasiswa' && selectedMahasiswa) { - generateLaporanMahasiswa(); - } else if (viewMode === 'semester') { - generateLaporanSemester(); - } else if (viewMode === 'prodi') { - generateLaporanProdi(); - } - }, [viewMode, selectedMahasiswa, selectedProdi, selectedSemester, refreshKey]); // Add refreshKey - - const generateLaporanMahasiswa = () => { - const mhs = filteredMahasiswa.find((m) => m.id === selectedMahasiswa); - if (!mhs) return; - - const cplScores = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, selectedSemester, mhs.prodiKode); - const nilaiMhs = getIntegratedNilaiByMahasiswa(selectedMahasiswa); - - // Get CPMK breakdown with bobot - const cpmkBreakdown = hitungCPMKBreakdownPerCPL(selectedMahasiswa, selectedSemester, mhs.prodiKode); - - // Group nilai by semester using integrated data - const groupedData = getNilaiGroupedBySemester(selectedMahasiswa, mhs.prodiKode); - - // Convert to format expected by component - const nilaiPerSemester: { [key: number]: any[] } = {}; - Object.entries(groupedData).forEach(([sem, data]) => { - const semester = parseInt(sem); - nilaiPerSemester[semester] = data.nilai.map((nilai, idx) => ({ - ...nilai, - mk: data.mataKuliah[idx] - })); - }); - - // Calculate CPL trend across semesters - // Get all semesters that have nilai for this mahasiswa - const semestersWithNilai = new Set(); - Object.keys(groupedData).forEach(sem => { - semestersWithNilai.add(parseInt(sem)); - }); - - const trendData = []; - const maxSemester = mhs.semesterAktif || Math.max(...Array.from(semestersWithNilai), selectedSemester); - - for (let sem = 1; sem <= maxSemester; sem++) { - const cplSem = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, sem, mhs.prodiKode); - if (cplSem.length > 0) { - const avgCPL = cplSem.reduce((sum, c) => sum + c.nilai, 0) / cplSem.length; - trendData.push({ - semester: `Sem ${sem}`, - 'Rata-rata CPL': Math.round(avgCPL * 10) / 10 - }); - } - } - - // Calculate overall CPL achievement across all semesters - const overallCPLAchievement: { [key: string]: { total: number; count: number } } = {}; - - for (let sem = 1; sem <= maxSemester; sem++) { - const cplSem = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, sem, mhs.prodiKode); - cplSem.forEach((cpl) => { - if (!overallCPLAchievement[cpl.cplKode]) { - overallCPLAchievement[cpl.cplKode] = { total: 0, count: 0 }; - } - overallCPLAchievement[cpl.cplKode].total += cpl.nilai; - overallCPLAchievement[cpl.cplKode].count += 1; - }); - } - - const cplOverallData = Object.entries(overallCPLAchievement).map(([kode, data]) => { - const cplInfo = cplData.find((c) => c.kode === kode && c.prodiKode === mhs.prodiKode); - return { - kode, - avgNilai: data.count > 0 ? Math.round((data.total / data.count) * 10) / 10 : 0, - deskripsi: cplInfo?.deskripsi || '', - jumlahSemester: data.count, - }; - }); - - // Prepare radar chart data - const radarData = cplOverallData.map((cpl) => ({ - subject: cpl.kode, - value: cpl.avgNilai, - fullMark: 100, - })); - - setLaporanData({ - mahasiswa: mhs, - cplScores, - cpmkBreakdown, - nilaiPerSemester, - trendData, - cplOverallData, - radarData, - totalMK: nilaiMhs.length, - avgCPL: cplScores.length > 0 - ? Math.round((cplScores.reduce((sum, c) => sum + c.nilai, 0) / cplScores.length) * 10) / 10 - : 0, - }); - }; - - const generateLaporanSemester = () => { - const mahasiswaProdi = getIntegratedMahasiswaList(selectedProdi); - const mkSemester = mataKuliahData.filter( - (mk) => mk.prodiKode === selectedProdi && mk.semester === selectedSemester - ); - - // Calculate average CPL for all students in this semester - const allCPLScores: { [key: string]: number[] } = {}; - - mahasiswaProdi.forEach((mhs) => { - const cplScores = hitungNilaiCPLPerSemesterIntegrated(mhs.id, selectedSemester, selectedProdi); - cplScores.forEach((cpl) => { - if (!allCPLScores[cpl.cplKode]) { - allCPLScores[cpl.cplKode] = []; - } - allCPLScores[cpl.cplKode].push(cpl.nilai); - }); - }); - - const avgCPLBySemester = Object.entries(allCPLScores).map(([kode, values]) => ({ - kode, - avgNilai: values.length > 0 - ? Math.round((values.reduce((a, b) => a + b, 0) / values.length) * 10) / 10 - : 0, - jumlahMahasiswa: values.length, - deskripsi: cplData.find((c) => c.kode === kode && c.prodiKode === selectedProdi)?.deskripsi || '', - })); - - setLaporanData({ - semester: selectedSemester, - mataKuliah: mkSemester, - avgCPL: avgCPLBySemester, - totalMahasiswa: mahasiswaProdi.length, - totalSKS: mkSemester.reduce((sum, mk) => sum + mk.sks, 0), - }); - }; - - const generateLaporanProdi = () => { - const mahasiswaProdi = getIntegratedMahasiswaList(selectedProdi); - const mkProdi = mataKuliahData.filter((mk) => mk.prodiKode === selectedProdi); - - // Calculate overall statistics - count all nilai (integrated) - const allNilaiCount = mahasiswaProdi.reduce((count, mhs) => { - return count + getIntegratedNilaiByMahasiswa(mhs.id).length; - }, 0); - - // CPL achievement across all students - const cplAchievement: { [key: string]: { total: number; count: number } } = {}; - - mahasiswaProdi.forEach((mhs) => { - // For integrated mahasiswa, calculate all available semesters (1-8) - for (let sem = 1; sem <= 8; sem++) { - const cplScores = hitungNilaiCPLPerSemesterIntegrated(mhs.id, sem, selectedProdi); - cplScores.forEach((cpl) => { - if (!cplAchievement[cpl.cplKode]) { - cplAchievement[cpl.cplKode] = { total: 0, count: 0 }; - } - cplAchievement[cpl.cplKode].total += cpl.nilai; - cplAchievement[cpl.cplKode].count += 1; - }); - } - }); - - const avgCPLProdi = Object.entries(cplAchievement).map(([kode, data]) => ({ - kode, - avgNilai: data.count > 0 - ? Math.round((data.total / data.count) * 10) / 10 - : 0, - deskripsi: cplData.find((c) => c.kode === kode && c.prodiKode === selectedProdi)?.deskripsi || '', - })); - - // Distribution by semester - const distribusiSemester = Array.from({ length: 8 }, (_, i) => { - const sem = i + 1; - const count = mahasiswaProdi.filter((m) => m.semesterAktif === sem || !m.semesterAktif).length; - return { semester: `Sem ${sem}`, jumlah: count }; - }); - - setLaporanData({ - prodi: prodiData.find((p) => p.kode === selectedProdi), - totalMahasiswa: mahasiswaProdi.length, - totalMK: mkProdi.length, - avgCPL: avgCPLProdi, - distribusiSemester, - totalNilai: allNilaiCount, - }); - }; - - const handleExport = (format: 'pdf' | 'excel') => { - alert(`Export ke ${format.toUpperCase()} akan segera tersedia!`); - }; - - return ( -
- {/* Header */} -
-

- Laporan CPL -

-

- Laporan lengkap capaian pembelajaran lulusan dengan visualisasi data -

-
- - {/* View Mode Selector */} -
-
- - - -
- - -
-
-
- - {/* Filters based on view mode */} -
-
-
- - -
- - {viewMode === 'mahasiswa' && ( -
- - -
- )} - - {viewMode === 'mahasiswa' && ( -
- - -
- )} - - {viewMode === 'mahasiswa' && mahasiswaViewMode === 'per-semester' && ( -
- - -
- )} - - {viewMode === 'semester' && ( -
- - -
- )} -
-
- - {/* Laporan Content */} - {viewMode === 'mahasiswa' && laporanData && laporanData.mahasiswa && ( -
- {/* Student Info Card */} -
-
-
-

Nama Mahasiswa

-

{laporanData.mahasiswa.nama}

-
-
-

NIM

-

{laporanData.mahasiswa.npm}

-
-
-

Angkatan

-

{laporanData.mahasiswa.angkatan || 'N/A'}

-
-
-

Mode Tampilan

-

- {mahasiswaViewMode === 'keseluruhan' ? '🎯 Keseluruhan' : `📚 Semester ${selectedSemester}`} -

-
-
-
- - {/* Mode Keseluruhan - Show all semesters data */} - {mahasiswaViewMode === 'keseluruhan' && ( - <> - {/* CPL Trend Chart */} - {laporanData.trendData && laporanData.trendData.length > 0 && ( -
-

- 📈 Tren Capaian CPL Across Semesters -

- - - - - - - - - - -
- )} - - {/* Overall CPL Achievement - New Chart */} - {laporanData.cplOverallData && laporanData.cplOverallData.length > 0 && ( -
-
-

- 🎯 Capaian CPL Keseluruhan (Semester 1-8) -

-

- Visualisasi pencapaian rata-rata untuk setiap CPL dari seluruh semester yang telah diselesaikan -

-
- -
-
- {/* Radar Chart */} -
-

- Radar Chart - Profil CPL -

- - - - - - - - - - -
- - {/* Bar Chart */} -
-

- Bar Chart - Perbandingan CPL -

- - - - - - [`${value}`, 'Nilai']} - /> - - - - -
-
- - {/* CPL Details Table */} -
-

- Detail Capaian Per CPL -

-
- - - - - - - - - - - - {laporanData.cplOverallData.map((cpl: any, idx: number) => ( - - - - - - - - ))} - -
Kode CPLDeskripsiRata-rata NilaiSemester TerkaitStatus
- {cpl.kode} - - {cpl.deskripsi} - - - {cpl.avgNilai} - - - - {cpl.jumlahSemester} semester - - - = 75 - ? 'bg-green-100 text-green-800' - : cpl.avgNilai >= 60 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - {cpl.avgNilai >= 75 ? '✓ Tercapai' : cpl.avgNilai >= 60 ? '~ Cukup' : '✗ Belum Tercapai'} - -
-
- - {/* Summary Info */} -
-
- - - -
-

Catatan Perhitungan:

-
    -
  • Nilai CPL dihitung dari rata-rata seluruh semester yang telah diselesaikan
  • -
  • CPL yang muncul di beberapa semester akan dirata-ratakan untuk mendapatkan nilai keseluruhan
  • -
  • Status Tercapai: ≥75 | Cukup: 60-74 | Belum Tercapai: <60
  • -
-
-
-
-
-
-
- )} - - {/* CPL Scores Table with CPMK Breakdown - Shown in Per-Semester Mode */} - {mahasiswaViewMode === 'per-semester' && ( -
-
-

- 📋 Detail CPL Semester {selectedSemester} -

-

- Klik pada baris CPL untuk melihat breakdown CPMK dan bobot -

-
-
- {laporanData.cpmkBreakdown && laporanData.cpmkBreakdown.length > 0 ? ( -
- {laporanData.cpmkBreakdown.map((cpl: any, idx: number) => ( -
- {/* CPL Header - Clickable */} -
setExpandedCPL(expandedCPL === cpl.cplKode ? null : cpl.cplKode)} - > -
-
- - - - {cpl.cplKode} -
- {cpl.cplDeskripsi} -
-
- - {cpl.nilaiCPL} - - = 75 - ? 'bg-green-100 text-green-800' - : cpl.nilaiCPL >= 60 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - {cpl.nilaiCPL >= 75 ? 'Tercapai' : cpl.nilaiCPL >= 60 ? 'Cukup' : 'Belum Tercapai'} - -
-
- - {/* CPMK Breakdown - Expandable */} - {expandedCPL === cpl.cplKode && ( -
- {/* Header with CPL Info */} -
-
-
-
-

- Breakdown Mata Kuliah & CPMK untuk {cpl.cplKode} -

-
- - Total: {cpl.totalMKTerkait} MK Terkait - -
-
-

• Bobot per MK: {cpl.bobotMKPerCPL}% (100% ÷ {cpl.totalMKTerkait} MK)

-

• MK di semester ini: {cpl.mataKuliah.length}

-
-
- - {cpl.mataKuliah.map((mk: any, mkIdx: number) => ( -
- {/* MK Header */} -
-
-
-
-
- {mk.mkKode} - - {mk.mkNama} -
-
-
- {mk.sks} SKS - - Bobot: {mk.bobotMK}% - - - Nilai: {mk.nilaiMK} - -
-
-
- - {/* CPMK List */} -
-
- Perhitungan CPMK: {mk.bobotMK}% (bobot MK) ÷ {mk.cpmkList.length} CPMK = {mk.cpmkList[0]?.bobot}% per CPMK -
- - - - - - - - - - - {mk.cpmkList.map((cpmk: any, cpmkIdx: number) => ( - - - - - - - ))} - -
CPMKDeskripsiBobot (%)Nilai Tertimbang
-
-
- - {cpmk.cpmkKode.length > 20 - ? cpmk.cpmkKode.substring(0, 20) + '...' - : cpmk.cpmkKode} - -
-
- {cpmk.deskripsi} - - - {cpmk.bobot}% - - - {cpmk.nilaiWeighted} -
- - {/* Summary */} -
-
- - Total Bobot CPMK: - - - {mk.cpmkList.reduce((sum: number, c: any) => sum + c.bobot, 0).toFixed(2)}% - -
-
- - Kontribusi MK ke {cpl.cplKode}: - - - {mk.nilaiMK} × {mk.bobotMK}% = {Math.round(mk.nilaiMK * mk.bobotMK / 100 * 100) / 100} - -
-
-
-
- ))} - - {/* CPL Summary */} -
-
-
-
- - - - - Perhitungan Nilai {cpl.cplKode} - -
- {cpl.nilaiCPL} -
-
-

• MK di semester ini: {cpl.mataKuliah.length} dari {cpl.totalMKTerkait} total MK

-

• Formula: Rata-rata nilai dari semua MK yang terkait

-

- ({cpl.mataKuliah.map((mk: any) => mk.nilaiMK).join(' + ')}) ÷ {cpl.mataKuliah.length} = {cpl.nilaiCPL} -

-
-
-
-
- )} -
- ))} -
- ) : ( -
-

Belum ada data CPMK untuk semester ini

-
- )} -
-
- - {/* MK yang sudah diambil */} -
-

- Mata Kuliah yang Sudah Diselesaikan -

-
- {Object.entries(laporanData.nilaiPerSemester).map(([sem, nilai]: [string, any]) => ( -
-

Semester {sem}

-
    - {nilai.map((n: any, idx: number) => ( -
  • - {n.mk.nama} - {n.nilaiAkhir} -
  • - ))} -
-
- ))} -
-
- - )} - - {/* Mode Per-Semester - Show specific semester data */} - {mahasiswaViewMode === 'per-semester' && ( - <> - {/* CPL Scores Table with CPMK Breakdown */} -
-
-

- 📋 Detail CPL Semester {selectedSemester} -

-

- Klik pada baris CPL untuk melihat breakdown CPMK dan bobot -

-
-
- {/* Semester Overview */} -
-
-
-
-

Total Mahasiswa

-

{laporanData.totalMahasiswa}

-
-
- - - -
-
-
- -
-
-
-

Mata Kuliah

-

{laporanData?.mataKuliah?.length || 0}

-
-
- - - -
-
-
- -
-
-
-

Total SKS

-

{laporanData?.totalSKS || 0}

-
-
- - - -
-
-
-
- - {/* Average CPL Chart */} -
-

- Rata-rata Capaian CPL Semester {selectedSemester} -

- - - - - - - - - - -
- - {/* Mata Kuliah List */} -
-
-

- Daftar Mata Kuliah Semester {selectedSemester} -

-
-
- - - - - - - - - - - - {laporanData?.mataKuliah?.map((mk: any, idx: number) => ( - - - - - - - - ))} - -
NoKode MKMata KuliahSKSCPL Terkait
{idx + 1}{mk.kode}{mk.nama} - - {mk.sks} - - - {mk.cplTerkait.join(', ')} -
-
-
-
- )} - - {viewMode === 'prodi' && laporanData && ( -
- {/* Prodi Overview */} -
-

{laporanData?.prodi?.nama || 'Program Studi'}

-
-
-

Total Mahasiswa

-

{laporanData?.totalMahasiswa || 0}

-
-
-

Total Mata Kuliah

-

{laporanData?.totalMK || 0}

-
-
-

Data Nilai Tersimpan

-

{laporanData?.totalNilai || 0}

-
-
-

Kaprodi

-

{laporanData?.prodi?.kaprodi || '-'}

-
-
-
- - {/* Distribusi Mahasiswa per Semester */} -
-

- Distribusi Mahasiswa per Semester -

- - - - - - - - - - -
- - {/* Average CPL Achievement */} -
-

- Rata-rata Capaian CPL Keseluruhan -

-
- - - - - - - - - - - - ({ - subject: cpl.kode, - value: cpl.avgNilai, - fullMark: 100, - })) : []}> - - - - - - - -
-
- - {/* CPL Details Table */} -
-
-

- Detail Capaian CPL {laporanData?.prodi?.nama || 'Program Studi'} -

-
-
- - - - - - - - - - - {Array.isArray(laporanData?.avgCPL) && laporanData.avgCPL.map((cpl: any, idx: number) => ( - - - - - - - ))} - -
Kode CPLDeskripsiRata-rata NilaiStatus
{cpl.kode}{cpl.deskripsi} - - {cpl.avgNilai} - - - = 75 - ? 'bg-green-100 text-green-800' - : cpl.avgNilai >= 60 - ? 'bg-yellow-100 text-yellow-800' - : 'bg-red-100 text-red-800' - }`} - > - {cpl.avgNilai >= 75 ? 'Tercapai' : cpl.avgNilai >= 60 ? 'Cukup' : 'Belum Tercapai'} - -
-
-
-
- )} -
- ); -} diff --git a/src/app/dashboard/layout.tsx b/src/app/dashboard/layout.tsx deleted file mode 100644 index 0acdd63..0000000 --- a/src/app/dashboard/layout.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import Sidebar from '@/components/Sidebar'; - -export default function DashboardLayout({ - children, -}: { - children: React.ReactNode; -}) { - return ( -
- -
- {children} -
-
- ); -} diff --git a/src/app/dashboard/manajemen/page.tsx b/src/app/dashboard/manajemen/page.tsx deleted file mode 100644 index 0bf416e..0000000 --- a/src/app/dashboard/manajemen/page.tsx +++ /dev/null @@ -1,1194 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; -import { prodiData, mahasiswaData, mataKuliahData, cplData } from '@/data/mockData'; -import { saveNilai, getAllNilai, batchSaveNilai, batchSaveMahasiswa, type NilaiMahasiswaStorage, type MahasiswaImportStorage, getAllImportedMahasiswa } from '@/utils/nilaiStorage'; -import { getCombinedNilaiData, hitungNilaiCPLPerSemesterIntegrated, getIntegratedMahasiswaList } from '@/utils/dataIntegration'; -import * as XLSX from 'xlsx'; - -export default function ManajemenPage() { - const [activeTab, setActiveTab] = useState('import'); - const [selectedProdi, setSelectedProdi] = useState('INF'); - const [selectedSemester, setSelectedSemester] = useState(1); - const [selectedFile, setSelectedFile] = useState(null); - const [importData, setImportData] = useState([]); - const [importStatus, setImportStatus] = useState<'idle' | 'processing' | 'success' | 'error'>('idle'); - const [importMessage, setImportMessage] = useState(''); - const [importStats, setImportStats] = useState({ success: 0, failed: 0, total: 0 }); - const [refreshKey, setRefreshKey] = useState(0); // Key untuk force refresh (konsisten dengan Dashboard & Laporan) - - // Listen to nilai updates and storage changes - useEffect(() => { - const handleNilaiUpdate = (event: any) => { - console.log('📋 Manajemen: Data nilai diupdate', event.detail); - setRefreshKey(prev => prev + 1); - }; - - const handleStorageChange = () => { - console.log('💾 Manajemen: LocalStorage berubah'); - setRefreshKey(prev => prev + 1); - }; - - window.addEventListener('nilaiUpdated', handleNilaiUpdate); - window.addEventListener('storage', handleStorageChange); - - return () => { - window.removeEventListener('nilaiUpdated', handleNilaiUpdate); - window.removeEventListener('storage', handleStorageChange); - }; - }, []); - - // Get mahasiswa yang sudah punya nilai (dari localStorage + mockData) - const getMahasiswaWithNilai = () => { - const allNilai = getCombinedNilaiData(); - const uniqueMahasiswaIds = [...new Set(allNilai.map(n => n.mahasiswaId))]; - const integratedMahasiswa = getIntegratedMahasiswaList(selectedProdi); - const importedMahasiswa = getAllImportedMahasiswa(); - - return uniqueMahasiswaIds.map(id => { - // Try to find from integrated list first, then imported, then mockData - const mhs = integratedMahasiswa.find(m => m.id === id) || - importedMahasiswa.find(m => m.mahasiswaId === id) || - mahasiswaData.find(m => m.id === id); - - const nilaiCount = allNilai.filter(n => n.mahasiswaId === id).length; - const localStorageCount = allNilai.filter(n => n.mahasiswaId === id && n.source === 'localStorage').length; - - // Extract info from ID if mahasiswa not found - let npm = id.replace('MHS-', '').replace(`${selectedProdi}-`, ''); - let nama = 'Mahasiswa Import'; - let angkatan = 'Unknown'; - - if (mhs) { - npm = 'npm' in mhs ? mhs.npm : npm; - nama = mhs.nama; - angkatan = ('angkatan' in mhs && mhs.angkatan) ? mhs.angkatan : angkatan; - } else { - // Extract angkatan from NIM - const angkatanMatch = npm.match(/10(\d{2})/); - if (angkatanMatch) { - angkatan = '20' + angkatanMatch[1]; - } - } - - return { - id, - npm, - nama, - prodiKode: mhs ? ('prodiKode' in mhs ? mhs.prodiKode : selectedProdi) : selectedProdi, - angkatan, - semesterAktif: 'semesterAktif' in (mhs || {}) ? (mhs as any).semesterAktif : selectedSemester, - totalNilai: nilaiCount, - nilaiDariImport: localStorageCount, - lastUpdate: allNilai.find(n => n.mahasiswaId === id && n.timestamp)?.timestamp - }; - }).filter(m => m.prodiKode === selectedProdi); - }; - - // Get statistik nilai per MK - const getMKStatistics = () => { - const allNilai = getCombinedNilaiData(); - const mkList = mataKuliahData.filter(mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester); - - return mkList.map(mk => { - const nilaiMK = allNilai.filter(n => n.mkKode === mk.kode); - const nilaiArray = nilaiMK.map(n => n.nilaiAkhir); - const avgNilai = nilaiArray.length > 0 - ? Math.round((nilaiArray.reduce((sum, val) => sum + val, 0) / nilaiArray.length) * 10) / 10 - : 0; - const minNilai = nilaiArray.length > 0 ? Math.min(...nilaiArray) : 0; - const maxNilai = nilaiArray.length > 0 ? Math.max(...nilaiArray) : 0; - - return { - ...mk, - jumlahMahasiswa: nilaiMK.length, - avgNilai, - minNilai, - maxNilai, - nilaiDariImport: nilaiMK.filter(n => n.source === 'localStorage').length - }; - }); - }; - - // Get statistik CPL - const getCPLStatistics = () => { - const mahasiswaList = getMahasiswaWithNilai(); - const cplList = cplData.filter(c => c.prodiKode === selectedProdi); - - return cplList.map(cpl => { - const nilaiCPL: number[] = []; - - mahasiswaList.forEach(mhs => { - const cplScores = hitungNilaiCPLPerSemesterIntegrated(mhs.id, selectedSemester, selectedProdi); - const cplScore = cplScores.find(c => c.cplKode === cpl.kode); - if (cplScore) { - nilaiCPL.push(cplScore.nilai); - } - }); - - const avgNilai = nilaiCPL.length > 0 - ? Math.round((nilaiCPL.reduce((sum, val) => sum + val, 0) / nilaiCPL.length) * 10) / 10 - : 0; - - return { - ...cpl, - jumlahMahasiswa: nilaiCPL.length, - avgNilai, - minNilai: nilaiCPL.length > 0 ? Math.min(...nilaiCPL) : 0, - maxNilai: nilaiCPL.length > 0 ? Math.max(...nilaiCPL) : 0, - tercapai: nilaiCPL.filter(n => n >= 75).length, - cukup: nilaiCPL.filter(n => n >= 60 && n < 75).length, - belumTercapai: nilaiCPL.filter(n => n < 60).length - }; - }); - }; - - // Handle file selection - const handleFileSelect = (e: React.ChangeEvent) => { - const file = e.target.files?.[0]; - if (file) { - // Validate file type - const validTypes = ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'text/csv', 'application/vnd.ms-excel']; - const validExtensions = ['.xlsx', '.csv']; - const fileExtension = file.name.substring(file.name.lastIndexOf('.')).toLowerCase(); - - if (!validTypes.includes(file.type) && !validExtensions.includes(fileExtension)) { - setImportStatus('error'); - setImportMessage('Format file tidak didukung. Hanya file .xlsx dan .csv yang diperbolehkan.'); - return; - } - - setSelectedFile(file); - setImportData([]); - setImportStatus('idle'); - setImportMessage(''); - } - }; - - // Parse CSV file - const parseCSV = (text: string): any[] => { - const lines = text.split('\n').filter(line => line.trim()); - if (lines.length < 2) return []; - - const headers = lines[0].split(',').map(h => h.trim().toLowerCase()); - const data: any[] = []; - - for (let i = 1; i < lines.length; i++) { - const values = lines[i].split(',').map(v => v.trim()); - const row: any = {}; - - headers.forEach((header, idx) => { - row[header] = values[idx] || ''; - }); - - // Validate required fields - if (row.nim && row.nama) { - data.push(row); - } - } - - return data; - }; - - // Parse Excel file using XLSX library - const parseExcel = (arrayBuffer: ArrayBuffer): any[] => { - try { - const workbook = XLSX.read(arrayBuffer, { type: 'array' }); - const firstSheet = workbook.Sheets[workbook.SheetNames[0]]; - const jsonData = XLSX.utils.sheet_to_json(firstSheet, { header: 1 }) as any[][]; - - if (jsonData.length < 2) return []; - - // Get headers (first row) - const headers = jsonData[0].map((h: any) => String(h).trim().toLowerCase()); - const data: any[] = []; - - // Process data rows - for (let i = 1; i < jsonData.length; i++) { - const row: any = {}; - headers.forEach((header, idx) => { - row[header] = jsonData[i][idx] ? String(jsonData[i][idx]).trim() : ''; - }); - - // Validate required fields - if (row.nim && row.nama) { - data.push(row); - } - } - - return data; - } catch (error) { - console.error('Error parsing Excel:', error); - return []; - } - }; - - // Preview imported data - const handlePreviewFile = async () => { - if (!selectedFile) return; - - setImportStatus('processing'); - setImportMessage('Memproses file...'); - - try { - let data: any[] = []; - - if (selectedFile.name.endsWith('.csv')) { - // Handle CSV files - const text = await selectedFile.text(); - data = parseCSV(text); - } else if (selectedFile.name.endsWith('.xlsx')) { - // Handle Excel files - const arrayBuffer = await selectedFile.arrayBuffer(); - data = parseExcel(arrayBuffer); - } - - if (data.length === 0) { - setImportStatus('error'); - setImportMessage('File tidak memiliki data yang valid. Pastikan format: NIM, Nama, dan nilai mata kuliah'); - return; - } - - setImportData(data); - setImportStatus('idle'); - setImportMessage(`Berhasil memuat ${data.length} baris data. Silakan review dan klik Import`); - } catch (error) { - setImportStatus('error'); - setImportMessage('Gagal membaca file. Pastikan format file benar (.xlsx atau .csv)'); - } - }; - - // Import data to localStorage dengan batch save (lebih efisien) - const handleImportData = () => { - if (importData.length === 0) return; - - setImportStatus('processing'); - setImportMessage('Mengimpor data...'); - - // Get MK for selected prodi and semester - const mkList = mataKuliahData.filter( - mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester - ); - - if (mkList.length === 0) { - setImportStatus('error'); - setImportMessage(`Tidak ada mata kuliah untuk ${prodiData.find(p => p.kode === selectedProdi)?.nama} Semester ${selectedSemester}`); - return; - } - - // Prepare batch data for nilai and mahasiswa - const batchNilaiData: NilaiMahasiswaStorage[] = []; - const batchMahasiswaData: MahasiswaImportStorage[] = []; - const mahasiswaSet = new Set(); // Track unique mahasiswa - let processedRows = 0; - - // Process each row - importData.forEach((row) => { - try { - // Extract NIM and Nama with case-insensitive matching - let nim = ''; - let nama = ''; - - // Find NIM column (case-insensitive) - for (const key of Object.keys(row)) { - const keyLower = key.toLowerCase(); - if (keyLower === 'nim' || keyLower === 'npm' || keyLower === 'no' || keyLower === 'nomor') { - nim = row[key]; - break; - } - } - - // Find Nama column (case-insensitive) - for (const key of Object.keys(row)) { - const keyLower = key.toLowerCase(); - if (keyLower === 'nama' || keyLower === 'name' || keyLower === 'mahasiswa' || keyLower === 'student') { - nama = row[key]; - break; - } - } - - // Skip if NIM or Nama not found - if (!nim || !nama) { - console.warn('Skipping row: missing NIM or Nama', row); - return; - } - - // Find or create mahasiswa ID based on NIM - const mahasiswa = mahasiswaData.find(m => m.npm === nim); - const mahasiswaId = mahasiswa?.id || `MHS-${selectedProdi}-${nim}`; - - // Collect mahasiswa data for batch save (only once per mahasiswa) - if (!mahasiswaSet.has(mahasiswaId)) { - mahasiswaSet.add(mahasiswaId); - - // Extract angkatan from NIM (format: 105231001001 where 23 = 2023) - let angkatan = 'Unknown'; - const angkatanMatch = nim?.match(/10(\d{2})/); - if (angkatanMatch) { - angkatan = '20' + angkatanMatch[1]; - } - - console.log('💾 Saving mahasiswa:', { mahasiswaId, npm: nim, nama, prodiKode: selectedProdi, angkatan }); - - batchMahasiswaData.push({ - mahasiswaId, - npm: nim, - nama: nama, // ✅ NAMA DARI EXCEL/CSV - prodiKode: selectedProdi, - angkatan, - timestamp: new Date().toISOString(), - }); - } - - // Import nilai for each MK column - mkList.forEach((mk) => { - const mkKodeClean = mk.kode.toLowerCase().replace(/[^a-z0-9]/g, ''); - const headerVariants = [ - mk.kode.toLowerCase(), - mkKodeClean, - mk.nama.toLowerCase(), - mk.nama.toLowerCase().replace(/\s+/g, ''), - `mk${mk.semester}` - ]; - - // Find matching column - let nilaiAkhir: number | null = null; - for (const header of Object.keys(row)) { - const headerLower = header.toLowerCase(); - if (headerVariants.some(variant => - headerLower.includes(variant) || - variant.includes(headerLower) || - headerLower === mk.kode.toLowerCase() - )) { - const nilai = parseFloat(row[header]); - if (!isNaN(nilai) && nilai >= 0 && nilai <= 100) { - nilaiAkhir = nilai; - break; - } - } - } - - // Add to batch if found - if (nilaiAkhir !== null) { - batchNilaiData.push({ - mahasiswaId, - mkKode: mk.kode, - nilaiAkhir, - timestamp: new Date().toISOString() - }); - } - }); - - processedRows++; - } catch (error) { - console.error('Error processing row:', error); - } - }); - - // Batch save mahasiswa data first - console.log('📝 Batch mahasiswa data to save:', batchMahasiswaData.length, 'mahasiswa'); - const mahasiswaStats = batchSaveMahasiswa(batchMahasiswaData); - console.log('✅ Mahasiswa save stats:', mahasiswaStats); - console.log('💾 Mahasiswa saved:', batchMahasiswaData.map(m => ({ id: m.mahasiswaId, nama: m.nama }))); - - // Batch save all nilai data - const stats = batchSaveNilai(batchNilaiData); - console.log('✅ Nilai save stats:', stats); - - setImportStats({ - success: stats.success, - failed: stats.failed, - total: stats.total - }); - - if (stats.success > 0) { - setImportStatus('success'); - setImportMessage( - `✅ Import berhasil!\n` + - `📊 ${stats.success} nilai berhasil disimpan\n` + - `📁 ${processedRows} mahasiswa diproses\n` + - `${stats.failed > 0 ? `⚠️ ${stats.failed} nilai gagal (lihat console)` : ''}` - ); - - // Log errors if any - if (stats.errors.length > 0) { - console.error('Import errors:', stats.errors); - } - - // Trigger refresh untuk update semua tab dan komponen lain - setRefreshKey(prev => prev + 1); - - // Dispatch custom event untuk update dashboard dan laporan - window.dispatchEvent(new CustomEvent('nilaiUpdated', { - detail: { - count: stats.success, - prodi: selectedProdi, - semester: selectedSemester, - timestamp: new Date().toISOString() - } - })); - } else { - setImportStatus('error'); - setImportMessage( - `❌ Import gagal!\n` + - `Tidak ada data yang berhasil disimpan.\n` + - `Pastikan format file sudah benar dan sesuai dengan template.` - ); - } - }; - - // Reset import - const handleReset = () => { - setSelectedFile(null); - setImportData([]); - setImportStatus('idle'); - setImportMessage(''); - setImportStats({ success: 0, failed: 0, total: 0 }); - }; - - return ( -
- {/* Header */} -
-

Manajemen Data

-

- Kelola data mahasiswa, mata kuliah, dan CPL -

-
- - {/* Tabs */} -
-
- - - - -
- -
- {activeTab === 'import' && ( -
- {/* Filter Section */} -
-

- - - - Filter Target Import -

-
-
- - -
-
- - -
-
- - {/* MK Info */} -
-

- Mata Kuliah di Semester {selectedSemester}: -

-
- {mataKuliahData - .filter(mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester) - .map(mk => ( - - {mk.kode} - {mk.nama} - - ))} -
-
-
- - {/* Upload Section */} -
-
- - - -
- -
-

- Format file harus memiliki kolom: NIM, Nama, dan kolom untuk setiap kode/nama MK -

-
- - {selectedFile && ( -
- - -
- )} -
- - {/* Status Message */} - {importMessage && ( -
-
- {importStatus === 'error' && ( - - - - )} - {importStatus === 'success' && ( - - - - )} - {importMessage} -
- {importStatus === 'success' && ( -
-

Total data diproses: {importStats.total}

-

✓ Berhasil: {importStats.success}

-

✗ Gagal: {importStats.failed}

-
- )} -
- )} - - {/* Preview Table */} - {importData.length > 0 && ( -
-
-

- Preview Data ({importData.length} mahasiswa) -

- -
-
- - - - - - - {Object.keys(importData[0]) - .filter(key => key !== 'nim' && key !== 'nama') - .map(key => ( - - ))} - - - - {importData.map((row, idx) => ( - - - - - {Object.keys(row) - .filter(key => key !== 'nim' && key !== 'nama') - .map(key => ( - - ))} - - ))} - -
NoNIMNama - {key} -
{idx + 1}{row.nim}{row.nama} - {row[key] && !isNaN(parseFloat(row[key])) ? ( - = 75 ? 'bg-green-100 text-green-800' : - parseFloat(row[key]) >= 60 ? 'bg-yellow-100 text-yellow-800' : - 'bg-red-100 text-red-800' - }`}> - {row[key]} - - ) : ( - - - )} -
-
-
- )} - - {/* Instructions */} -
-

- - - - Petunjuk Import Nilai -

-
    -
  1. Pilih Program Studi dan Semester target
  2. -
  3. Siapkan file CSV/TXT dengan format: -
      -
    • Kolom pertama: NIM (nomor induk mahasiswa)
    • -
    • Kolom kedua: Nama (nama mahasiswa)
    • -
    • Kolom selanjutnya: Kode atau Nama MK dengan nilai (0-100)
    • -
    -
  4. -
  5. Upload file dan klik "Preview Data" untuk melihat data yang akan diimpor
  6. -
  7. Jika data sudah sesuai, klik "Import ke Sistem"
  8. -
  9. Sistem akan otomatis menghitung CPL dan CPMK berdasarkan bobot yang sudah ditentukan
  10. -
-
-

Contoh format file:

-
-NIM,Nama,INF105,INF104,INF106
-2024001,Ahmad Fauzi,85,90,78
-2024002,Siti Aisyah,92,88,95
-                  
-
-
-
- )} - - {activeTab === 'mahasiswa' && ( -
-
-
-

- Data Mahasiswa yang Sudah Dinilai -

-

- Menampilkan mahasiswa yang sudah memiliki nilai untuk Prodi {prodiData.find(p => p.kode === selectedProdi)?.nama} -

-
-
- - -
-
- - {getMahasiswaWithNilai().length > 0 ? ( -
- - - - - - - - - - - - - - - - {getMahasiswaWithNilai().map((mhs, idx) => ( - - - - - - - - - - - - ))} - -
NoNIMNamaProdiAngkatanSemesterTotal NilaiDari ImportStatus
{idx + 1}{mhs.npm}{mhs.nama} - {prodiData.find(p => p.kode === mhs.prodiKode)?.nama} - {mhs.angkatan} - - Sem {mhs.semesterAktif} - - {mhs.totalNilai} - - {mhs.nilaiDariImport} - - - {mhs.nilaiDariImport > 0 ? ( - - - - - Terimport - - ) : ( - - Mock Data - - )} -
-
- ) : ( -
-
- - - -
-

Belum Ada Data Mahasiswa

-

- Import file nilai untuk menambahkan data mahasiswa -

- -
- )} -
- )} - - {activeTab === 'matakuliah' && ( -
-
-
-

- Statistik Mata Kuliah -

-

- Nilai rata-rata dan statistik per mata kuliah dari hasil import -

-
-
- - - -
-
- - {getMKStatistics().length > 0 ? ( -
- {getMKStatistics().map((mk) => ( -
-
-
- {mk.kode} -

{mk.nama}

-
- {mk.sks} SKS -
- -
-
- Dosen: - {mk.dosen.split(',')[0]} -
-
- Semester: - {mk.semester} -
-
- -
-
- Mahasiswa: - {mk.jumlahMahasiswa} orang -
-
- Rata-rata: - = 75 ? 'text-green-600' : - mk.avgNilai >= 60 ? 'text-yellow-600' : - 'text-red-600' - }`}> - {mk.avgNilai > 0 ? mk.avgNilai : '-'} - -
-
- Min - Max: - - {mk.minNilai > 0 ? `${mk.minNilai} - ${mk.maxNilai}` : '-'} - -
-
- Data Import: - - {mk.nilaiDariImport} nilai - -
-
- - {mk.jumlahMahasiswa > 0 && ( -
-
-
= 75 ? 'bg-green-500' : - mk.avgNilai >= 60 ? 'bg-yellow-500' : - 'bg-red-500' - }`} - style={{ width: `${(mk.avgNilai / 100) * 100}%` }} - >
-
-
- )} -
- ))} -
- ) : ( -
-
- - - -
-

Belum Ada Data Nilai

-

- Import file nilai terlebih dahulu untuk melihat statistik mata kuliah -

- -
- )} -
- )} - - {activeTab === 'cpl' && ( -
-
-
-

- Capaian Pembelajaran Lulusan (CPL) -

-

- Statistik capaian CPL hasil kalkulasi otomatis dari nilai yang diimport -

-
-
- - - -
-
- - {getCPLStatistics().filter(cpl => cpl.jumlahMahasiswa > 0).length > 0 ? ( -
- {/* Summary Cards */} -
-
-
-
-

Tercapai (≥75)

-

- {getCPLStatistics().reduce((sum, cpl) => sum + cpl.tercapai, 0)} -

-
-
- - - -
-
-
- -
-
-
-

Cukup (60-74)

-

- {getCPLStatistics().reduce((sum, cpl) => sum + cpl.cukup, 0)} -

-
-
- - - -
-
-
- -
-
-
-

Belum Tercapai (<60)

-

- {getCPLStatistics().reduce((sum, cpl) => sum + cpl.belumTercapai, 0)} -

-
-
- - - -
-
-
-
- - {/* CPL Details */} -
-
- - - - - - - - - - - - - {getCPLStatistics().filter(cpl => cpl.jumlahMahasiswa > 0).map((cpl) => ( - - - - - - - - - ))} - -
Kode CPLDeskripsiMahasiswaRata-rataMin - MaxDistribusi
- {cpl.kode} - - {cpl.deskripsi} - - - {cpl.jumlahMahasiswa} mhs - - - = 75 ? 'text-green-600' : - cpl.avgNilai >= 60 ? 'text-yellow-600' : - 'text-red-600' - }`}> - {cpl.avgNilai} - - - {cpl.minNilai} - {cpl.maxNilai} - -
- - ✓ {cpl.tercapai} - - - ~ {cpl.cukup} - - - ✗ {cpl.belumTercapai} - -
-
-
-
- - {/* Info */} -
-
- - - -
-

Informasi Kalkulasi CPL:

-
    -
  • Nilai CPL dihitung otomatis dari rata-rata MK yang terkait dengan CPL tersebut
  • -
  • Setiap MK memiliki CPMK dengan bobot yang dibagi rata
  • -
  • Data diupdate real-time setelah import nilai berhasil
  • -
  • Klik tombol Refresh untuk memperbarui statistik terbaru
  • -
-
-
-
-
- ) : ( -
-
- - - -
-

Belum Ada Data CPL

-

- Import file nilai terlebih dahulu untuk melihat capaian CPL -

- -
- )} -
- )} -
-
-
- ); -} diff --git a/src/app/dashboard/page.tsx b/src/app/dashboard/page.tsx deleted file mode 100644 index ac15eaa..0000000 --- a/src/app/dashboard/page.tsx +++ /dev/null @@ -1,549 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; -import { useRouter } from 'next/navigation'; -import { prodiData, mahasiswaData, cplData, mataKuliahData, cpmkData, cpmkToCplMapping } from '@/data/mockData'; -import { hitungNilaiCPLPerSemesterIntegrated, hasInputNilai, getIntegratedMahasiswaList } from '@/utils/dataIntegration'; -import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, RadarChart, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Radar } from 'recharts'; - -export default function DashboardPage() { - const router = useRouter(); - const [selectedProdi, setSelectedProdi] = useState('ARS'); - const [selectedSemester, setSelectedSemester] = useState(2); - const [selectedMahasiswa, setSelectedMahasiswa] = useState(''); - const [filteredMahasiswa, setFilteredMahasiswa] = useState([]); - const [cplScores, setCplScores] = useState([]); - const [mappingData, setMappingData] = useState(null); - const [refreshKey, setRefreshKey] = useState(0); // Key untuk force refresh - - // Listen to nilai updates from import - useEffect(() => { - const handleNilaiUpdate = (event: any) => { - console.log('📊 Dashboard: Data nilai diupdate', event.detail); - setRefreshKey(prev => prev + 1); - }; - - const handleStorageChange = () => { - console.log('💾 Dashboard: LocalStorage berubah'); - setRefreshKey(prev => prev + 1); - }; - - window.addEventListener('nilaiUpdated', handleNilaiUpdate); - window.addEventListener('storage', handleStorageChange); - - return () => { - window.removeEventListener('nilaiUpdated', handleNilaiUpdate); - window.removeEventListener('storage', handleStorageChange); - }; - }, []); - - // Check auth - useEffect(() => { - if (typeof window !== 'undefined') { - const userData = sessionStorage.getItem('user'); - if (!userData) { - router.push('/login'); - } - } - }, [router]); - - // Filter mahasiswa by prodi (integrated: mockData + localStorage) - useEffect(() => { - const integratedMahasiswa = getIntegratedMahasiswaList(selectedProdi); - setFilteredMahasiswa(integratedMahasiswa); - - if (integratedMahasiswa.length > 0) { - // Keep current selection if still valid, otherwise select first - const currentExists = integratedMahasiswa.find(m => m.id === selectedMahasiswa); - if (!currentExists) { - setSelectedMahasiswa(integratedMahasiswa[0].id); - } - } - }, [selectedProdi, refreshKey]); // Add refreshKey to refresh mahasiswa list on import - - // Calculate CPL scores when mahasiswa or semester changes - useEffect(() => { - if (!selectedMahasiswa) return; - - const scores = hitungNilaiCPLPerSemesterIntegrated(selectedMahasiswa, selectedSemester, selectedProdi); - - // Get CPL details for selected prodi - const prodiCPL = cplData.filter(c => c.prodiKode === selectedProdi); - const detailedScores = prodiCPL.map(cpl => { - const score = scores.find(s => s.cplKode === cpl.kode); - const nilai = score ? score.nilai : 0; - const isRealData = score && score.source !== 'mockData'; - - return { - kode: cpl.kode, - deskripsi: cpl.deskripsi, - nilai: nilai, - jumlahMK: score ? score.jumlahMK : 0, - status: nilai >= 75 ? 'Tercapai' : nilai >= 60 ? 'Cukup' : 'Belum Tercapai', - source: score ? score.source : 'none', - isRealData: isRealData, - }; - }); - - setCplScores(detailedScores); - }, [selectedMahasiswa, selectedSemester, selectedProdi, refreshKey]); // Add refreshKey to dependencies - - // Generate CPL-MK-CPMK Mapping Data - useEffect(() => { - // Get CPL for selected prodi - const prodiCPL = cplData.filter(c => c.prodiKode === selectedProdi); - - // Get MK for selected semester and prodi - const mkSemester = mataKuliahData.filter( - mk => mk.prodiKode === selectedProdi && mk.semester === selectedSemester - ); - - // Build mapping structure - const mapping = prodiCPL.map(cpl => { - // Find MK that are related to this CPL - const relatedMK = mkSemester.filter(mk => - mk.cplTerkait.includes(cpl.kode) - ); - - // For each MK, get its CPMK - const mkWithCPMK = relatedMK.map(mk => { - const mkCPMK = cpmkData.filter(c => c.mkKode === mk.kode); - - // Get CPMK that map to this CPL - const relevantCPMK = mkCPMK.filter(cpmk => - cpmkToCplMapping.some(m => - m.cpmkKode === cpmk.kode && m.cplKode === cpl.kode - ) - ); - - return { - ...mk, - cpmkCount: relevantCPMK.length, - cpmkList: relevantCPMK - }; - }); - - return { - cpl: cpl, - mkCount: mkWithCPMK.length, - mataKuliah: mkWithCPMK, - totalCPMK: mkWithCPMK.reduce((sum, mk) => sum + mk.cpmkCount, 0) - }; - }); - - setMappingData(mapping); - }, [selectedProdi, selectedSemester]); - - // Get selected mahasiswa from integrated list - const selectedMhs = filteredMahasiswa.find(m => m.id === selectedMahasiswa); - const selectedProdiData = prodiData.find(p => p.kode === selectedProdi); - - // Summary statistics - const tercapai = cplScores.filter(c => c.nilai >= 75).length; - const rataRata = cplScores.length > 0 - ? Math.round((cplScores.reduce((sum, c) => sum + c.nilai, 0) / cplScores.length) * 10) / 10 - : 0; - - // Chart data - const barChartData = cplScores.map(c => ({ - name: c.kode, - Nilai: c.nilai, - })); - - const radarChartData = cplScores.map(c => ({ - subject: c.kode, - value: c.nilai, - fullMark: 100, - })); - - return ( -
- {/* Header */} -
-

Dashboard Sistem CPL

-

- Pantau capaian pembelajaran lulusan mahasiswa per semester -

-
- - {/* Cascading Filters */} -
-
- {/* Pilih Prodi */} -
- - -
- - {/* Pilih Semester */} -
- - -
- - {/* Pilih Mahasiswa */} -
- - -
-
- - {/* Selected Info */} - {selectedMhs && ( -
-
-
- Prodi: -

{selectedProdiData?.nama}

-
-
- NIM: -

{selectedMhs.npm}

-
-
- Angkatan: -

{selectedMhs.angkatan}

-
-
- Source: -

- {selectedMhs.source === 'localStorage' ? ( - - 📊 Import - - ) : ( - - 📁 Mock - - )} -

-
-
-
- )} -
- - {/* Summary Cards */} -
-
-
-
-

CPL Tercapai

-

{tercapai}/{cplScores.length}

-

≥ 75 poin

-
-
- - - -
-
-
- -
-
-
-

Rata-rata CPL

-

{rataRata}

-

dari 100 poin

-
-
- - - -
-
-
- -
-
-
-

Status Semester {selectedSemester}

-

- {rataRata >= 75 ? 'Sangat Baik' : rataRata >= 60 ? 'Baik' : 'Perlu Perbaikan'} -

-

{cplScores.filter(c => c.nilai > 0).length} CPL terdata

-
-
- - - -
-
-
-
- - {/* Charts */} -
- {/* CPL-MK-CPMK Tree Diagram */} -
-

- - Hubungan (CPL - MK - CPMK) -

-

- Semester {selectedSemester} • {selectedProdiData?.nama} -

- -
- {mappingData && mappingData.map((item: any, idx: number) => ( -
- {/* CPL Node (Root) */} -
-
-
0 ? 'bg-blue-500' : 'bg-gray-300'}`}>
- {item.mkCount > 0 &&
} -
- -
-
-
- {item.cpl.kode} -
- - {item.mkCount} MK - - - {item.totalCPMK} CPMK - -
-
-

{item.cpl.deskripsi}

-
- - {/* MK Nodes (Children) */} - {item.mataKuliah.length > 0 && ( -
- {item.mataKuliah.map((mk: any, mkIdx: number) => ( -
-
-
0 ? 'bg-green-500' : 'bg-gray-300'}`}>
- {mk.cpmkCount > 0 &&
} -
- -
-
-
- - {mk.kode} - -
-

{mk.nama}

-

{mk.sks} SKS • {mk.dosen}

-
- {mk.cpmkCount > 0 && ( - - {mk.cpmkCount} CPMK - - )} -
-
- - {/* CPMK Nodes (Grandchildren) */} - {mk.cpmkList.length > 0 && ( -
- {mk.cpmkList.map((cpmk: any, cpmkIdx: number) => ( -
-
-
-
- -
-
-
- {cpmkIdx + 1} -
-

{cpmk.deskripsi}

- - {cpmk.bobot}% - -
-
-
- ))} -
- )} -
-
- ))} -
- )} - - {item.mataKuliah.length === 0 && ( -
- Tidak ada MK terkait di semester ini -
- )} -
-
-
- ))} -
- - {/* Legend */} -
-

Legenda:

-
-
-
- CPL -
-
-
- Mata Kuliah -
-
-
- CPMK -
-
-
-
- - {/* Radar Chart */} -
-

- - Profil CPL Mahasiswa -

-

Diagram visualisasi CPL mahasiswa berdasarkan data yang tersedia



- - - - - - - - - -
-
- - {/* CPL Table */} -
-
-

Detail Capaian Pembelajaran Lulusan

-

Semester {selectedSemester} - {selectedProdiData?.nama}

-
-
- - - - - - - - - - - - {cplScores.map((cpl, idx) => ( - - - - - - - - ))} - -
- Kode CPL - - Deskripsi - - Jumlah MK - - Nilai - - Status -
- {cpl.kode} - - {cpl.deskripsi} - - - {cpl.jumlahMK} MK - - - - {cpl.nilai} - - - - {cpl.status} - -
-
-
-
- ); -} diff --git a/src/app/dashboard/settings/page.tsx b/src/app/dashboard/settings/page.tsx deleted file mode 100644 index 15fef39..0000000 --- a/src/app/dashboard/settings/page.tsx +++ /dev/null @@ -1,125 +0,0 @@ -'use client'; - -export default function SettingsPage() { - return ( -
- {/* Header */} -
-

Pengaturan

-

- Kelola pengaturan sistem dan profil -

-
- - {/* Settings Grid */} -
- {/* Profile Settings */} -
-

Profil Pengguna

-
-
- - -
-
- - -
-
- - -
- -
-
- - {/* System Settings */} -
-

Pengaturan Sistem

-
-
-
-

Notifikasi Email

-

Terima pemberitahuan via email

-
- -
- -
-
-

Mode Gelap

-

Aktifkan tema gelap

-
- -
- -
-
-

Auto-Save

-

Simpan otomatis saat input

-
- -
-
-
- - {/* About System */} -
-

Tentang Sistem

-
-
-
5
-

Program Studi

-
-
-
11
-

Total Mahasiswa

-
-
-
8
-

CPL per Prodi

-
-
-
-

- Sistem CPL v1.0 - Sistem Capaian Pembelajaran Lulusan -

-

- © 2025 Fakultas Teknik, Universitas Muhammadiyah Makassar -

-
-
-
-
- ); -} diff --git a/src/app/globals.css b/src/app/globals.css deleted file mode 100644 index a202c8e..0000000 --- a/src/app/globals.css +++ /dev/null @@ -1,59 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -:root { - --foreground-rgb: 0, 0, 0; - --background-start-rgb: 214, 219, 220; - --background-end-rgb: 255, 255, 255; -} - -body { - color: rgb(var(--foreground-rgb)); - background: linear-gradient( - to bottom, - transparent, - rgb(var(--background-end-rgb)) - ) - rgb(var(--background-start-rgb)); -} - -@layer utilities { - .text-balance { - text-wrap: balance; - } -} - -@keyframes slide-in { - from { - transform: translateX(100%); - opacity: 0; - } - to { - transform: translateX(0); - opacity: 1; - } -} - -.animate-slide-in { - animation: slide-in 0.3s ease-out; -} - -/* Custom Scrollbar */ -.custom-scrollbar::-webkit-scrollbar { - width: 6px; -} - -.custom-scrollbar::-webkit-scrollbar-track { - background: #f1f5f9; - border-radius: 10px; -} - -.custom-scrollbar::-webkit-scrollbar-thumb { - background: #cbd5e1; - border-radius: 10px; -} - -.custom-scrollbar::-webkit-scrollbar-thumb:hover { - background: #94a3b8; -} diff --git a/src/app/layout.tsx b/src/app/layout.tsx deleted file mode 100644 index 9bb56e2..0000000 --- a/src/app/layout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import type { Metadata } from "next"; -import { Inter } from "next/font/google"; -import "./globals.css"; - -const inter = Inter({ subsets: ["latin"] }); - -export const metadata: Metadata = { - title: "Sistem Management CPL - Universitas Muhammadiyah Makassar", - description: "Capaian Pembelajaran Lulusan", -}; - -export default function RootLayout({ - children, -}: Readonly<{ - children: React.ReactNode; -}>) { - return ( - - {children} - - ); -} diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx deleted file mode 100644 index 4270ead..0000000 --- a/src/app/login/page.tsx +++ /dev/null @@ -1,124 +0,0 @@ -'use client'; - -import { useState } from 'react'; -import { useRouter } from 'next/navigation'; -import Link from 'next/link'; - -export default function LoginPage() { - const router = useRouter(); - const [credentials, setCredentials] = useState({ username: '', password: '' }); - const [error, setError] = useState(''); - const [loading, setLoading] = useState(false); - - const handleLogin = async (e: React.FormEvent) => { - e.preventDefault(); - setError(''); - setLoading(true); - - // Static credentials - const validUsers = [ - { username: 'admin', password: 'admin123', role: 'admin', name: 'Administrator' }, - { username: 'dosen', password: 'dosen123', role: 'dosen', name: 'Dr. Ahmad' }, - { username: 'kaprodi', password: 'kaprodi123', role: 'kaprodi', name: 'Dr. Siti' }, - ]; - - const user = validUsers.find( - u => u.username === credentials.username && u.password === credentials.password - ); - - setTimeout(() => { - if (user) { - // Save to sessionStorage - if (typeof window !== 'undefined') { - sessionStorage.setItem('user', JSON.stringify(user)); - } - router.push('/dashboard'); - } else { - setError('Username atau password salah'); - } - setLoading(false); - }, 500); - }; - - return ( -
-
- {/* Header */} -
-
- UM -
-

Sistem CPL

-

Universitas Muhammadiyah Makassar

-
- - {/* Form */} -
-

Login

- -
- {error && ( -
- {error} -
- )} - -
- - setCredentials({ ...credentials, username: e.target.value })} - className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-gray-900" - placeholder="Masukkan username" - required - /> -
- -
- - setCredentials({ ...credentials, password: e.target.value })} - className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-gray-900" - placeholder="Masukkan password" - required - /> -
- - -
- - {/* Demo Credentials */} -
-

Demo Credentials:

-
-

• Admin: admin / admin123

-

• Dosen: dosen / dosen123

-

• Kaprodi: kaprodi / kaprodi123

-
-
- -
- - ← Kembali ke Beranda - -
-
-
-
- ); -} diff --git a/src/app/page.tsx b/src/app/page.tsx deleted file mode 100644 index 162d50a..0000000 --- a/src/app/page.tsx +++ /dev/null @@ -1,546 +0,0 @@ -import Link from 'next/link'; - -export default function HomePage() { - return ( -
- {/* Header */} -
-
-
-
- UM -
-
-

Universitas Muhammadiyah Makassar

-

Sistem Management CPL - Fakultas Teknik

-
-
- - Login - -
-
- - {/* Hero Section */} -
-
-
-
- Sistem Management -
-

- Capaian
- - Pembelajaran Lulusan - -

-

- Platform digital terintegrasi untuk mengelola, memantau, dan mengevaluasi Capaian Pembelajaran Lulusan (CPL) - di 5 Program Studi Fakultas Teknik Universitas Muhammadiyah Makassar -

- -
- - Mulai Sekarang - - - - - - Pelajari Lebih Lanjut - - - - -
-
- - {/* Stats */} -
-
-
5
-
Program Studi
-
-
-
8
-
CPL per Prodi
-
-
-
144+
-
Total SKS
-
-
-
69
-
Mata Kuliah
-
-
-
-
- - {/* Program Studi Section */} -
-
-
-
-

- Program Studi yang Didukung -

-

- Sistem Management CPL melayani 5 Program Studi di Fakultas Teknik -

-
- -
- {/* Informatika */} -
-
- - - -
-

Teknik Informatika

-

S1 Teknik Informatika (INF)

-
- 📚 69 MK - ⏱️ 144 SKS -
-
- - {/* Arsitektur */} -
-
- - - -
-

Arsitektur

-

S1 Arsitektur (ARS)

-
- 📚 50+ MK - ⏱️ 145 SKS -
-
- - {/* PWK */} -
-
- - - -
-

PWK

-

S1 Perencanaan Wilayah Kota

-
- 📚 50+ MK - ⏱️ 144 SKS -
-
- - {/* Sipil */} -
-
- - - -
-

Teknik Sipil

-

S1 Teknik Sipil (SIP)

-
- 📚 50+ MK - ⏱️ 144 SKS -
-
- - {/* Elektro */} -
-
- - - -
-

Teknik Elektro

-

S1 Teknik Elektro (ELK)

-
- 📚 50+ MK - ⏱️ 144 SKS -
-
-
-
-
-
- - {/* Features Section */} -
-
-
-
-

- Fitur Unggulan Sistem -

-

- Solusi lengkap untuk pengelolaan CPL yang efisien dan terintegrasi -

-
- -
- {/* Feature 1 */} -
-
- - - -
-

Dashboard Tree Diagram

-

Visualisasi hierarki CPL [next] Mata Kuliah [next] CPMK yang interaktif dan mudah dipahami

-
- - {/* Feature 2 */} -
-
- - - -
-

Import Excel/CSV

-

Upload nilai mahasiswa secara batch dari file Excel atau CSV dengan validasi otomatis

-
- - {/* Feature 3 */} -
-
- - - -
-

Input Nilai Manual

-

Form input nilai per CPMK dengan kalkulasi otomatis dan distribusi ke CPL terkait

-
- - {/* Feature 4 */} -
-
- - - -
-

Laporan CPMK Breakdown

-

Laporan detail dengan breakdown CPMK, bobot, dan kontribusi ke setiap CPL

-
- - {/* Feature 5 */} -
-
- - - -
-

Manajemen Data

-

4 tab terintegrasi: Import, Mahasiswa, Mata Kuliah, dan monitoring CPL & CPMK

-
- - {/* Feature 6 */} -
-
- - - -
-

Visualisasi Radar Chart

-

Grafik radar untuk overview 8 CPL dengan interpretasi status pencapaian

-
-
-
-
-
- - {/* How It Works Section */} -
-
-
-
-

- Cara Kerja Sistem -

-

- Proses kalkulasi CPL yang akurat dengan metode weighted average -

-
- -
- {/* Step 1 */} -
-
-
01
-

Input Nilai MK

-

- Input nilai MK (Mata Kuliah) per-semester untuk masing-masing program studi. -

-
-
- - - -
-
- - {/* Step 2 */} -
-
-
02
-

Kalkulasi Otomatis

-

- Sistem menghitung kontribusi setiap CPMK ke CPL menggunakan weighted average dengan bobot MK dan CPMK. -

-
-
- - - -
-
- - {/* Step 3 */} -
-
03
-

Laporan & Analisis

-

- Dapatkan laporan lengkap dengan visualisasi, breakdown detail, dan status pencapaian CPL per mahasiswa. -

-
-
- - {/* Formula */} -
-

Formula Kalkulasi:

-
-
Nilai MK = Σ (Nilai CPMK × Bobot CPMK)
-
Bobot MK = 100% / Jumlah MK per CPL
-
Nilai CPL = Σ (Nilai CPMK × Bobot MK × Bobot CPMK) / Σ (Bobot MK × Bobot CPMK)
-
-
-
-
-
- - {/* Benefits Section */} -
-
-
-
-

- Keuntungan Menggunakan Sistem -

-

- Solusi yang memberikan nilai tambah untuk semua stakeholder -

-
- -
- {/* Benefit 1 */} -
-
-
- - - -
-
-

Efisiensi Waktu

-

Proses input dan kalkulasi nilai yang cepat, hemat waktu hingga 80% dibanding manual

-
-
-
- - {/* Benefit 2 */} -
-
-
- - - -
-
-

Akurasi Tinggi

-

Kalkulasi otomatis meminimalkan human error, hasil lebih akurat dan konsisten

-
-
-
- - {/* Benefit 3 */} -
-
-
- - - -
-
-

Monitoring Real-time

-

Pantau pencapaian CPL mahasiswa secara real-time dengan visualisasi yang jelas

-
-
-
- - {/* Benefit 4 */} -
-
-
- - - -
-
-

Compliance SNPT

-

Sesuai dengan Standar Nasional Pendidikan Tinggi dan sistem OBE (Outcome-Based Education)

-
-
-
- - {/* Benefit 5 */} -
-
-
- - - -
-
-

Kolaboratif

-

Mendukung kolaborasi antara kaprodi, dosen, dan admin dalam satu platform

-
-
-
- - {/* Benefit 6 */} -
-
-
- - - -
-
-

Export Laporan

-

Ekspor laporan ke format PDF atau Excel untuk dokumentasi dan presentasi

-
-
-
-
-
-
-
- - {/* CTA Section */} -
-
-
-

- Siap Memulai? -

-

- Kelola CPL dengan lebih efisien menggunakan sistem terintegrasi kami -

-
- - Login Sekarang - - - - - - - - - GitHub Repository - -
-
-
-
- - {/* Footer */} -
-
-
- {/* About */} -
-
-
- UM -
-
-

Sistem Management CPL

-

UNISMUH Makassar

-
-
-

- Platform digital terintegrasi untuk mengelola Capaian Pembelajaran Lulusan di 5 Program Studi Fakultas Teknik. -

- -
- - {/* Quick Links */} -
-

Quick Links

- -
- - {/* Program Studi */} -
-

Program Studi

-
    -
  • Teknik Informatika
  • -
  • Arsitektur
  • -
  • Perencanaan Wilayah Kota
  • -
  • Teknik Sipil
  • -
  • Teknik Elektro
  • -
-
-
- -
-

- © 2025 Universitas Muhammadiyah Makassar. All rights reserved. -

-

- Sistem Capaian Pembelajaran Lulusan v1.2 | Crafted with ❤️ by COCONUTLab -

-
-
-
-
- ); -} diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx deleted file mode 100644 index 9d02348..0000000 --- a/src/components/Sidebar.tsx +++ /dev/null @@ -1,212 +0,0 @@ -'use client'; - -import { useState } from 'react'; -import Link from 'next/link'; -import { usePathname } from 'next/navigation'; - -interface MenuItem { - icon: React.ReactNode; - label: string; - path: string; - badge?: number; -} - -export default function Sidebar() { - const [isCollapsed, setIsCollapsed] = useState(false); - const [isMobileOpen, setIsMobileOpen] = useState(false); - const pathname = usePathname(); - - const menuItems: MenuItem[] = [ - { - icon: ( - - - - ), - label: 'Dashboard', - path: '/dashboard', - }, - { - icon: ( - - - - ), - label: 'Input Nilai', - path: '/dashboard/input-nilai', - }, - { - icon: ( - - - - ), - label: 'Laporan', - path: '/dashboard/laporan', - }, - { - icon: ( - - - - ), - label: 'Manajemen Data', - path: '/dashboard/manajemen', - }, - { - icon: ( - - - - - ), - label: 'Settings', - path: '/dashboard/settings', - }, - ]; - - const isActive = (path: string) => { - return pathname === path || pathname.startsWith(path + '/'); - }; - - return ( - <> - {/* Mobile Hamburger Button */} - - - {/* Mobile Overlay */} - {isMobileOpen && ( -
setIsMobileOpen(false)} - className="lg:hidden fixed inset-0 bg-black bg-opacity-50 z-40" - /> - )} - - {/* Sidebar */} - - - {/* Main Content Spacer */} -
- - ); -} diff --git a/src/data/mockData.ts b/src/data/mockData.ts deleted file mode 100644 index 041f482..0000000 --- a/src/data/mockData.ts +++ /dev/null @@ -1,1127 +0,0 @@ -// ===== PRODI (PROGRAM STUDI) ===== -export interface Prodi { - kode: string; - nama: string; - fakultas: string; - kaprodi: string; -} - -export const prodiData: Prodi[] = [ - { kode: 'INF', nama: 'Teknik Informatika', fakultas: 'Teknik', kaprodi: 'Dr. Ahmad Informatika, M.Kom' }, - { kode: 'ARS', nama: 'Arsitektur', fakultas: 'Teknik', kaprodi: 'Dr. Budi Arsitektur, M.Arch' }, - { kode: 'PWK', nama: 'Perencanaan Wilayah dan Kota', fakultas: 'Teknik', kaprodi: 'Dr. Ir. Citra PWK, M.T' }, - { kode: 'SIP', nama: 'Teknik Sipil', fakultas: 'Teknik', kaprodi: 'Dr. Ir. Dedi Sipil, M.T' }, - { kode: 'ELK', nama: 'Teknik Elektro', fakultas: 'Teknik', kaprodi: 'Dr. Ir. Eka Elektro, M.T' }, -]; - -// ===== DATA MAHASISWA ===== -export interface Mahasiswa { - id: string; - npm: string; - nama: string; - prodiKode: string; - angkatan: string; - semesterAktif: number; -} - -export const mahasiswaData: Mahasiswa[] = [ - // Teknik Informatika - { id: '1', npm: '105231001001', nama: 'Ahmad Fauzi', prodiKode: 'INF', angkatan: '2021', semesterAktif: 7 }, - { id: '2', npm: '105231001002', nama: 'Siti Aisyah', prodiKode: 'INF', angkatan: '2022', semesterAktif: 5 }, - - // Arsitektur - { id: '3', npm: '105232101001', nama: 'Budi Santoso', prodiKode: 'ARS', angkatan: '2023', semesterAktif: 3 }, - { id: '4', npm: '105232101002', nama: 'Citra Dewi', prodiKode: 'ARS', angkatan: '2022', semesterAktif: 5 }, - { id: '5', npm: '105232101003', nama: 'Dedi Prasetyo', prodiKode: 'ARS', angkatan: '2022', semesterAktif: 6 }, - - // PWK - { id: '6', npm: '105233001001', nama: 'Eka Putri', prodiKode: 'PWK', angkatan: '2021', semesterAktif: 7 }, - { id: '7', npm: '105233001002', nama: 'Fahri Rahman', prodiKode: 'PWK', angkatan: '2022', semesterAktif: 5 }, - - // Teknik Sipil - { id: '8', npm: '105232201001', nama: 'Gita Sari', prodiKode: 'SIP', angkatan: '2021', semesterAktif: 7 }, - { id: '9', npm: '105232201002', nama: 'Hendra Wijaya', prodiKode: 'SIP', angkatan: '2022', semesterAktif: 5 }, - - // Teknik Elektro - { id: '10', npm: '105232301001', nama: 'Indah Permata', prodiKode: 'ELK', angkatan: '2021', semesterAktif: 7 }, - { id: '11', npm: '105232301002', nama: 'Joko Susilo', prodiKode: 'ELK', angkatan: '2022', semesterAktif: 5 }, -]; - -// ===== CPL (CAPAIAN PEMBELAJARAN LULUSAN) ===== -export interface CPL { - kode: string; - prodiKode: string; - deskripsi: string; - kategori: 'sikap' | 'pengetahuan' | 'keterampilan_umum' | 'keterampilan_khusus'; -} - -// CPL ARSITEKTUR (8 CPL) -export const cplData: CPL[] = [ - { - kode: 'CPL1', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu menunjukkan integritas, etika profesi, nilai-nilai keislaman, tanggung jawab sosial, dan komitmen terhadap keberlanjutan dalam setiap praktik arsitektur', - kategori: 'sikap' - }, - { - kode: 'CPL2', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu merancang bangunan, interior, tapak, dan ruang luar secara kreatif, humanis, inklusif, dan berkelanjutan, dengan mensintesis teori, konsep, konteks, nilai Islami, serta kebutuhan pengguna', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL3', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu menganalisis dan mengevaluasi sistem struktur beton, baja, dan konstruksi bangunan lainnya, serta menghasilkan solusi struktur dan ruang melalui penerapan mekanika bangunan', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL4', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu mengkaji dan mengevaluasi sejarah arsitektur dunia, arsitektur Islam, dan perkembangan arsitektur kontemporer, serta mengintegrasikan wawasan tersebut dalam desain', - kategori: 'pengetahuan' - }, - { - kode: 'CPL5', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu menghasilkan komunikasi visual arsitektur dalam bentuk gambar 2D, 3D, simulasi, dan presentasi profesional', - kategori: 'keterampilan_umum' - }, - { - kode: 'CPL6', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu merancang dan mengevaluasi struktur, konstruksi, material, dan detail bangunan berdasarkan kaidah teknis, aspek estetika, keamanan, topografi, dan teknologi', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL7', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu merancang dan mengevaluasi sistem utilitas dan kenyamanan bangunan (termal, penghawaan, pencahayaan, akustik) dengan mempertimbangkan iklim tropis', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL8', - prodiKode: 'ARS', - deskripsi: 'Lulusan mampu menghasilkan gambar kerja, laporan teknis-ilmiah, serta model digital berbasis BIM secara profesional', - kategori: 'keterampilan_khusus' - }, - - // CPL TEKNIK INFORMATIKA (8 CPL) - { - kode: 'CPL1', - prodiKode: 'INF', - deskripsi: 'Mampu menunjukkan integritas, etika profesi, nilai-nilai keislaman, tanggung jawab sosial dalam pengembangan sistem informasi', - kategori: 'sikap' - }, - { - kode: 'CPL2', - prodiKode: 'INF', - deskripsi: 'Mampu merancang, membangun, dan mengelola aplikasi berbasis komputer menggunakan metodologi rekayasa perangkat lunak', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL3', - prodiKode: 'INF', - deskripsi: 'Mampu menganalisis, merancang, dan mengimplementasikan basis data serta sistem manajemen database', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL4', - prodiKode: 'INF', - deskripsi: 'Mampu menguasai konsep algoritma, struktur data, dan pemrograman berorientasi objek', - kategori: 'pengetahuan' - }, - { - kode: 'CPL5', - prodiKode: 'INF', - deskripsi: 'Mampu merancang dan mengimplementasikan jaringan komputer serta infrastruktur sistem', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL6', - prodiKode: 'INF', - deskripsi: 'Mampu mengembangkan aplikasi web dan mobile menggunakan framework modern', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL7', - prodiKode: 'INF', - deskripsi: 'Mampu menerapkan keamanan siber, kriptografi, dan pengelolaan resiko sistem informasi', - kategori: 'keterampilan_khusus' - }, - { - kode: 'CPL8', - prodiKode: 'INF', - deskripsi: 'Mampu menggunakan teknologi AI/ML, Big Data, dan Cloud Computing dalam solusi sistem informasi', - kategori: 'keterampilan_umum' - }, - - // CPL TEKNIK SIPIL (contoh 8 CPL) - { kode: 'CPL1', prodiKode: 'SIP', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam praktik teknik sipil', kategori: 'sikap' }, - { kode: 'CPL2', prodiKode: 'SIP', deskripsi: 'Mampu merancang struktur bangunan sipil yang aman dan ekonomis', kategori: 'keterampilan_khusus' }, - { kode: 'CPL3', prodiKode: 'SIP', deskripsi: 'Mampu menganalisis dan merancang sistem transportasi', kategori: 'keterampilan_khusus' }, - { kode: 'CPL4', prodiKode: 'SIP', deskripsi: 'Mampu menguasai konsep mekanika tanah dan pondasi', kategori: 'pengetahuan' }, - { kode: 'CPL5', prodiKode: 'SIP', deskripsi: 'Mampu menggunakan software teknik sipil (AutoCAD, SAP2000, Civil3D)', kategori: 'keterampilan_umum' }, - { kode: 'CPL6', prodiKode: 'SIP', deskripsi: 'Mampu merencanakan dan mengelola proyek konstruksi', kategori: 'keterampilan_khusus' }, - { kode: 'CPL7', prodiKode: 'SIP', deskripsi: 'Mampu merancang sistem hidrologi dan sumber daya air', kategori: 'keterampilan_khusus' }, - { kode: 'CPL8', prodiKode: 'SIP', deskripsi: 'Mampu membuat laporan teknis dan dokumentasi proyek', kategori: 'keterampilan_umum' }, - // CPL TEKNIK ELEKTRO (contoh 8 CPL) - { kode: 'CPL1', prodiKode: 'ELK', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam bidang elektro', kategori: 'sikap' }, - { kode: 'CPL2', prodiKode: 'ELK', deskripsi: 'Mampu merancang sistem tenaga listrik', kategori: 'keterampilan_khusus' }, - { kode: 'CPL3', prodiKode: 'ELK', deskripsi: 'Mampu menganalisis dan merancang sistem kontrol', kategori: 'keterampilan_khusus' }, - { kode: 'CPL4', prodiKode: 'ELK', deskripsi: 'Mampu menguasai elektronika daya dan konversi energi', kategori: 'pengetahuan' }, - { kode: 'CPL5', prodiKode: 'ELK', deskripsi: 'Mampu menggunakan software simulasi (MATLAB, PSCAD)', kategori: 'keterampilan_umum' }, - { kode: 'CPL6', prodiKode: 'ELK', deskripsi: 'Mampu merancang sistem telekomunikasi dan jaringan', kategori: 'keterampilan_khusus' }, - { kode: 'CPL7', prodiKode: 'ELK', deskripsi: 'Mampu mengembangkan sistem embedded dan IoT', kategori: 'keterampilan_khusus' }, - { kode: 'CPL8', prodiKode: 'ELK', deskripsi: 'Mampu membuat dokumentasi teknis dan presentasi', kategori: 'keterampilan_umum' }, - // CPL TEKNIK MESIN (contoh 8 CPL) - { kode: 'CPL1', prodiKode: 'MES', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam teknik mesin', kategori: 'sikap' }, - { kode: 'CPL2', prodiKode: 'MES', deskripsi: 'Mampu merancang sistem mekanis dan termal', kategori: 'keterampilan_khusus' }, - { kode: 'CPL3', prodiKode: 'MES', deskripsi: 'Mampu menganalisis kekuatan material dan struktur mesin', kategori: 'keterampilan_khusus' }, - { kode: 'CPL4', prodiKode: 'MES', deskripsi: 'Mampu menguasai proses manufaktur dan produksi', kategori: 'pengetahuan' }, - { kode: 'CPL5', prodiKode: 'MES', deskripsi: 'Mampu menggunakan CAD/CAM (SolidWorks, CATIA)', kategori: 'keterampilan_umum' }, - { kode: 'CPL6', prodiKode: 'MES', deskripsi: 'Mampu merancang sistem konversi energi', kategori: 'keterampilan_khusus' }, - { kode: 'CPL7', prodiKode: 'MES', deskripsi: 'Mampu melakukan maintenance dan troubleshooting mesin', kategori: 'keterampilan_khusus' }, - { kode: 'CPL8', prodiKode: 'MES', deskripsi: 'Mampu membuat laporan teknis dan gambar teknik', kategori: 'keterampilan_umum' }, - // CPL TEKNIK INDUSTRI (contoh 8 CPL) - { kode: 'CPL1', prodiKode: 'IND', deskripsi: 'Mampu menerapkan etika profesi dan nilai keislaman dalam teknik industri', kategori: 'sikap' }, - { kode: 'CPL2', prodiKode: 'IND', deskripsi: 'Mampu merancang sistem produksi dan operasi', kategori: 'keterampilan_khusus' }, - { kode: 'CPL3', prodiKode: 'IND', deskripsi: 'Mampu menganalisis dan mengoptimalkan proses industri', kategori: 'keterampilan_khusus' }, - { kode: 'CPL4', prodiKode: 'IND', deskripsi: 'Mampu menguasai manajemen kualitas dan supply chain', kategori: 'pengetahuan' }, - { kode: 'CPL5', prodiKode: 'IND', deskripsi: 'Mampu menggunakan software simulasi (Arena, FlexSim)', kategori: 'keterampilan_umum' }, - { kode: 'CPL6', prodiKode: 'IND', deskripsi: 'Mampu merancang tata letak pabrik dan ergonomi', kategori: 'keterampilan_khusus' }, - { kode: 'CPL7', prodiKode: 'IND', deskripsi: 'Mampu melakukan analisis biaya dan kelayakan proyek', kategori: 'keterampilan_khusus' }, - { kode: 'CPL8', prodiKode: 'IND', deskripsi: 'Mampu membuat laporan analisis dan rekomendasi', kategori: 'keterampilan_umum' }, -]; - -// ===== CPMK (CAPAIAN PEMBELAJARAN MATA KULIAH) ===== -export interface CPMK { - kode: string; - mkKode: string; - deskripsi: string; - bobot: number; // dalam persen (total per MK = 100%) -} - -export const cpmkData: CPMK[] = [ - // SEMESTER I - Pancasila (ARS101) - { kode: 'CPMK-ARS101-1', mkKode: 'ARS101', deskripsi: 'Memahami nilai-nilai Pancasila', bobot: 20 }, - { kode: 'CPMK-ARS101-2', mkKode: 'ARS101', deskripsi: 'Menerapkan Pancasila dalam kehidupan', bobot: 20 }, - { kode: 'CPMK-ARS101-3', mkKode: 'ARS101', deskripsi: 'Menganalisis tantangan implementasi Pancasila', bobot: 30 }, - { kode: 'CPMK-ARS101-4', mkKode: 'ARS101', deskripsi: 'Mengevaluasi penerapan Pancasila di masyarakat', bobot: 20 }, - { kode: 'CPMK-ARS101-5', mkKode: 'ARS101', deskripsi: 'Mengintegrasikan nilai Pancasila dalam profesi', bobot: 10 }, - - // SEMESTER II - Studio Perancangan 1 (ARS205) - CONTOH LENGKAP - { kode: 'CPMK-ARS205-1', mkKode: 'ARS205', deskripsi: 'Memahami prinsip dasar perancangan arsitektur', bobot: 20 }, - { kode: 'CPMK-ARS205-2', mkKode: 'ARS205', deskripsi: 'Menganalisis kebutuhan dan konteks tapak', bobot: 20 }, - { kode: 'CPMK-ARS205-3', mkKode: 'ARS205', deskripsi: 'Mengembangkan konsep desain yang kreatif', bobot: 30 }, - { kode: 'CPMK-ARS205-4', mkKode: 'ARS205', deskripsi: 'Menghasilkan gambar presentasi 2D dan 3D', bobot: 20 }, - { kode: 'CPMK-ARS205-5', mkKode: 'ARS205', deskripsi: 'Mempresentasikan desain secara profesional', bobot: 10 }, - - // SEMESTER II - Struktur & Konstruksi 1 (ARS204) - { kode: 'CPMK-ARS204-1', mkKode: 'ARS204', deskripsi: 'Memahami prinsip dasar struktur beton', bobot: 20 }, - { kode: 'CPMK-ARS204-2', mkKode: 'ARS204', deskripsi: 'Menganalisis beban struktur bangunan', bobot: 25 }, - { kode: 'CPMK-ARS204-3', mkKode: 'ARS204', deskripsi: 'Merancang elemen struktur beton sederhana', bobot: 30 }, - { kode: 'CPMK-ARS204-4', mkKode: 'ARS204', deskripsi: 'Mengevaluasi kekuatan dan keamanan struktur', bobot: 15 }, - { kode: 'CPMK-ARS204-5', mkKode: 'ARS204', deskripsi: 'Menggambar detail konstruksi beton', bobot: 10 }, - - // SEMESTER III - Studio Perancangan 2 (ARS301) - { kode: 'CPMK-ARS301-1', mkKode: 'ARS301', deskripsi: 'Menganalisis konteks sosial-budaya desain', bobot: 20 }, - { kode: 'CPMK-ARS301-2', mkKode: 'ARS301', deskripsi: 'Merancang bangunan residensial kompleks', bobot: 25 }, - { kode: 'CPMK-ARS301-3', mkKode: 'ARS301', deskripsi: 'Mengintegrasikan aspek struktur dan utilitas', bobot: 25 }, - { kode: 'CPMK-ARS301-4', mkKode: 'ARS301', deskripsi: 'Menghasilkan visualisasi 3D yang menarik', bobot: 20 }, - { kode: 'CPMK-ARS301-5', mkKode: 'ARS301', deskripsi: 'Mempresentasikan portofolio desain', bobot: 10 }, - - // SEMESTER III - Struktur & Konstruksi 2 (ARS302) - { kode: 'CPMK-ARS302-1', mkKode: 'ARS302', deskripsi: 'Memahami sistem struktur rangka beton', bobot: 20 }, - { kode: 'CPMK-ARS302-2', mkKode: 'ARS302', deskripsi: 'Menganalisis struktur bangunan bertingkat', bobot: 25 }, - { kode: 'CPMK-ARS302-3', mkKode: 'ARS302', deskripsi: 'Merancang balok dan kolom beton bertulang', bobot: 30 }, - { kode: 'CPMK-ARS302-4', mkKode: 'ARS302', deskripsi: 'Menghitung kebutuhan tulangan beton', bobot: 15 }, - { kode: 'CPMK-ARS302-5', mkKode: 'ARS302', deskripsi: 'Membuat gambar detail struktur beton', bobot: 10 }, - - // SEMESTER V - Studio Perancangan 4 (ARS501) - { kode: 'CPMK-ARS501-1', mkKode: 'ARS501', deskripsi: 'Menganalisis isu urban dan konteks kota', bobot: 20 }, - { kode: 'CPMK-ARS501-2', mkKode: 'ARS501', deskripsi: 'Merancang bangunan komersial atau publik', bobot: 25 }, - { kode: 'CPMK-ARS501-3', mkKode: 'ARS501', deskripsi: 'Mengintegrasikan teknologi hijau', bobot: 25 }, - { kode: 'CPMK-ARS501-4', mkKode: 'ARS501', deskripsi: 'Menghasilkan model BIM dan render fotorealistik', bobot: 20 }, - { kode: 'CPMK-ARS501-5', mkKode: 'ARS501', deskripsi: 'Melakukan presentasi desain yang komprehensif', bobot: 10 }, - - // SEMESTER VI - Arsitektur Hijau (ARS603) - { kode: 'CPMK-ARS603-1', mkKode: 'ARS603', deskripsi: 'Memahami prinsip arsitektur berkelanjutan', bobot: 20 }, - { kode: 'CPMK-ARS603-2', mkKode: 'ARS603', deskripsi: 'Menganalisis dampak lingkungan bangunan', bobot: 20 }, - { kode: 'CPMK-ARS603-3', mkKode: 'ARS603', deskripsi: 'Merancang bangunan hemat energi', bobot: 30 }, - { kode: 'CPMK-ARS603-4', mkKode: 'ARS603', deskripsi: 'Menerapkan material ramah lingkungan', bobot: 20 }, - { kode: 'CPMK-ARS603-5', mkKode: 'ARS603', deskripsi: 'Mengevaluasi kinerja energi bangunan', bobot: 10 }, - - // SEMESTER VIII - Tugas Akhir (ARS801) - { kode: 'CPMK-ARS801-1', mkKode: 'ARS801', deskripsi: 'Merumuskan permasalahan desain secara komprehensif', bobot: 20 }, - { kode: 'CPMK-ARS801-2', mkKode: 'ARS801', deskripsi: 'Mengembangkan metodologi perancangan', bobot: 20 }, - { kode: 'CPMK-ARS801-3', mkKode: 'ARS801', deskripsi: 'Merancang bangunan dengan kompleksitas tinggi', bobot: 30 }, - { kode: 'CPMK-ARS801-4', mkKode: 'ARS801', deskripsi: 'Menghasilkan gambar kerja dan dokumen lengkap', bobot: 20 }, - { kode: 'CPMK-ARS801-5', mkKode: 'ARS801', deskripsi: 'Mempertahankan desain di hadapan dewan penguji', bobot: 10 }, - - // CPMK INFORMATIKA - SEMESTER I - // INF105 - Algoritma & Pemrograman - { kode: 'CPMK-INF105-1', mkKode: 'INF105', deskripsi: 'Memahami konsep algoritma dan flowchart', bobot: 20 }, - { kode: 'CPMK-INF105-2', mkKode: 'INF105', deskripsi: 'Menulis pseudocode untuk menyelesaikan masalah', bobot: 25 }, - { kode: 'CPMK-INF105-3', mkKode: 'INF105', deskripsi: 'Mengimplementasikan algoritma dalam bahasa pemrograman', bobot: 30 }, - { kode: 'CPMK-INF105-4', mkKode: 'INF105', deskripsi: 'Menganalisis kompleksitas algoritma', bobot: 15 }, - { kode: 'CPMK-INF105-5', mkKode: 'INF105', deskripsi: 'Menerapkan struktur kontrol dan perulangan', bobot: 10 }, - - // INF104 - Matematika Diskrit - { kode: 'CPMK-INF104-1', mkKode: 'INF104', deskripsi: 'Memahami logika proposisi dan predikat', bobot: 20 }, - { kode: 'CPMK-INF104-2', mkKode: 'INF104', deskripsi: 'Menerapkan teori himpunan dan relasi', bobot: 25 }, - { kode: 'CPMK-INF104-3', mkKode: 'INF104', deskripsi: 'Menganalisis graf dan pohon', bobot: 25 }, - { kode: 'CPMK-INF104-4', mkKode: 'INF104', deskripsi: 'Menyelesaikan masalah kombinatorik', bobot: 20 }, - { kode: 'CPMK-INF104-5', mkKode: 'INF104', deskripsi: 'Membuktikan teorema matematika diskrit', bobot: 10 }, - - // INF106 - Pengantar Teknologi Informasi - { kode: 'CPMK-INF106-1', mkKode: 'INF106', deskripsi: 'Memahami konsep sistem informasi', bobot: 20 }, - { kode: 'CPMK-INF106-2', mkKode: 'INF106', deskripsi: 'Mengidentifikasi komponen hardware dan software', bobot: 25 }, - { kode: 'CPMK-INF106-3', mkKode: 'INF106', deskripsi: 'Memahami arsitektur komputer dasar', bobot: 25 }, - { kode: 'CPMK-INF106-4', mkKode: 'INF106', deskripsi: 'Menggunakan sistem operasi dan aplikasi produktivitas', bobot: 20 }, - { kode: 'CPMK-INF106-5', mkKode: 'INF106', deskripsi: 'Memahami etika dan keamanan IT', bobot: 10 }, - - // CPMK INFORMATIKA - SEMESTER II - // INF202 - Struktur Data - { kode: 'CPMK-INF202-1', mkKode: 'INF202', deskripsi: 'Memahami konsep Array, Stack, Queue', bobot: 25 }, - { kode: 'CPMK-INF202-2', mkKode: 'INF202', deskripsi: 'Mengimplementasikan Linked List', bobot: 20 }, - { kode: 'CPMK-INF202-3', mkKode: 'INF202', deskripsi: 'Menerapkan Tree dan Graph', bobot: 25 }, - { kode: 'CPMK-INF202-4', mkKode: 'INF202', deskripsi: 'Menganalisis kompleksitas struktur data', bobot: 20 }, - { kode: 'CPMK-INF202-5', mkKode: 'INF202', deskripsi: 'Memilih struktur data yang efisien', bobot: 10 }, - - // INF203 - Pemrograman Berorientasi Objek - { kode: 'CPMK-INF203-1', mkKode: 'INF203', deskripsi: 'Memahami konsep OOP (Class, Object)', bobot: 20 }, - { kode: 'CPMK-INF203-2', mkKode: 'INF203', deskripsi: 'Menerapkan Encapsulation dan Abstraction', bobot: 25 }, - { kode: 'CPMK-INF203-3', mkKode: 'INF203', deskripsi: 'Mengimplementasikan Inheritance dan Polymorphism', bobot: 30 }, - { kode: 'CPMK-INF203-4', mkKode: 'INF203', deskripsi: 'Menggunakan Interface dan Abstract Class', bobot: 15 }, - { kode: 'CPMK-INF203-5', mkKode: 'INF203', deskripsi: 'Mendesain aplikasi berbasis OOP', bobot: 10 }, - - // INF207 - Pemrograman Web - { kode: 'CPMK-INF207-1', mkKode: 'INF207', deskripsi: 'Memahami HTML, CSS, JavaScript', bobot: 25 }, - { kode: 'CPMK-INF207-2', mkKode: 'INF207', deskripsi: 'Membuat halaman web responsif', bobot: 20 }, - { kode: 'CPMK-INF207-3', mkKode: 'INF207', deskripsi: 'Mengimplementasikan form dan validasi', bobot: 25 }, - { kode: 'CPMK-INF207-4', mkKode: 'INF207', deskripsi: 'Menggunakan framework CSS (Bootstrap/Tailwind)', bobot: 20 }, - { kode: 'CPMK-INF207-5', mkKode: 'INF207', deskripsi: 'Menghubungkan frontend dengan backend', bobot: 10 }, - - // Contoh CPMK untuk MK-MK lainnya (simplified untuk demo) - { kode: 'CPMK-ARS108-1', mkKode: 'ARS108', deskripsi: 'Memahami konsep gaya dan momen', bobot: 25 }, - { kode: 'CPMK-ARS108-2', mkKode: 'ARS108', deskripsi: 'Menganalisis struktur statis tertentu', bobot: 25 }, - { kode: 'CPMK-ARS108-3', mkKode: 'ARS108', deskripsi: 'Menghitung reaksi perletakan', bobot: 25 }, - { kode: 'CPMK-ARS108-4', mkKode: 'ARS108', deskripsi: 'Membuat diagram gaya normal, geser, momen', bobot: 15 }, - { kode: 'CPMK-ARS108-5', mkKode: 'ARS108', deskripsi: 'Mengaplikasikan mekanika teknik dalam desain', bobot: 10 }, -]; - -// ===== MAPPING CPMK KE CPL ===== -export interface CPMKtoCPLMapping { - cpmkKode: string; - cplKode: string; - bobot: number; // kontribusi CPMK terhadap CPL (dalam persen) -} - -export const cpmkToCplMapping: CPMKtoCPLMapping[] = [ - // Studio Perancangan 1 (ARS205) → CPL2 (Perancangan), CPL5 (Komunikasi Visual) - { cpmkKode: 'CPMK-ARS205-1', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-ARS205-2', cplKode: 'CPL2', bobot: 20 }, - { cpmkKode: 'CPMK-ARS205-3', cplKode: 'CPL2', bobot: 30 }, - { cpmkKode: 'CPMK-ARS205-4', cplKode: 'CPL5', bobot: 40 }, - { cpmkKode: 'CPMK-ARS205-5', cplKode: 'CPL5', bobot: 35 }, - - // Struktur & Konstruksi 1 (ARS204) → CPL3 (Analisis Struktur), CPL6 (Konstruksi) - { cpmkKode: 'CPMK-ARS204-1', cplKode: 'CPL3', bobot: 30 }, - { cpmkKode: 'CPMK-ARS204-2', cplKode: 'CPL3', bobot: 35 }, - { cpmkKode: 'CPMK-ARS204-3', cplKode: 'CPL6', bobot: 40 }, - { cpmkKode: 'CPMK-ARS204-4', cplKode: 'CPL3', bobot: 20 }, - { cpmkKode: 'CPMK-ARS204-5', cplKode: 'CPL6', bobot: 25 }, - - // Studio Perancangan 2 (ARS301) → CPL2, CPL5 - { cpmkKode: 'CPMK-ARS301-1', cplKode: 'CPL2', bobot: 20 }, - { cpmkKode: 'CPMK-ARS301-2', cplKode: 'CPL2', bobot: 30 }, - { cpmkKode: 'CPMK-ARS301-3', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-ARS301-4', cplKode: 'CPL5', bobot: 45 }, - { cpmkKode: 'CPMK-ARS301-5', cplKode: 'CPL5', bobot: 30 }, - - // Struktur & Konstruksi 2 (ARS302) → CPL3, CPL6 - { cpmkKode: 'CPMK-ARS302-1', cplKode: 'CPL3', bobot: 30 }, - { cpmkKode: 'CPMK-ARS302-2', cplKode: 'CPL3', bobot: 35 }, - { cpmkKode: 'CPMK-ARS302-3', cplKode: 'CPL6', bobot: 40 }, - { cpmkKode: 'CPMK-ARS302-4', cplKode: 'CPL6', bobot: 25 }, - { cpmkKode: 'CPMK-ARS302-5', cplKode: 'CPL6', bobot: 20 }, - - // Studio Perancangan 4 (ARS501) → CPL2, CPL5 - { cpmkKode: 'CPMK-ARS501-1', cplKode: 'CPL2', bobot: 20 }, - { cpmkKode: 'CPMK-ARS501-2', cplKode: 'CPL2', bobot: 35 }, - { cpmkKode: 'CPMK-ARS501-3', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-ARS501-4', cplKode: 'CPL5', bobot: 40 }, - { cpmkKode: 'CPMK-ARS501-5', cplKode: 'CPL5', bobot: 35 }, - - // Arsitektur Hijau (ARS603) → CPL1 (Etika), CPL2 (Perancangan), CPL7 (Utilitas) - { cpmkKode: 'CPMK-ARS603-1', cplKode: 'CPL1', bobot: 30 }, - { cpmkKode: 'CPMK-ARS603-2', cplKode: 'CPL7', bobot: 25 }, - { cpmkKode: 'CPMK-ARS603-3', cplKode: 'CPL2', bobot: 35 }, - { cpmkKode: 'CPMK-ARS603-4', cplKode: 'CPL7', bobot: 30 }, - { cpmkKode: 'CPMK-ARS603-5', cplKode: 'CPL7', bobot: 25 }, - - // Tugas Akhir (ARS801) → Semua CPL (CPL1-8) - { cpmkKode: 'CPMK-ARS801-1', cplKode: 'CPL1', bobot: 15 }, - { cpmkKode: 'CPMK-ARS801-1', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-ARS801-2', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL2', bobot: 40 }, - { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL3', bobot: 30 }, - { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL6', bobot: 35 }, - { cpmkKode: 'CPMK-ARS801-3', cplKode: 'CPL7', bobot: 25 }, - { cpmkKode: 'CPMK-ARS801-4', cplKode: 'CPL5', bobot: 40 }, - { cpmkKode: 'CPMK-ARS801-4', cplKode: 'CPL8', bobot: 50 }, - { cpmkKode: 'CPMK-ARS801-5', cplKode: 'CPL5', bobot: 35 }, - - // Mekanika Teknik (ARS108) → CPL3, CPL6 - { cpmkKode: 'CPMK-ARS108-1', cplKode: 'CPL3', bobot: 30 }, - { cpmkKode: 'CPMK-ARS108-2', cplKode: 'CPL3', bobot: 35 }, - { cpmkKode: 'CPMK-ARS108-3', cplKode: 'CPL3', bobot: 25 }, - { cpmkKode: 'CPMK-ARS108-4', cplKode: 'CPL6', bobot: 20 }, - { cpmkKode: 'CPMK-ARS108-5', cplKode: 'CPL6', bobot: 25 }, - - // Pancasila (ARS101) → CPL1 (Sikap dan Etika) - { cpmkKode: 'CPMK-ARS101-1', cplKode: 'CPL1', bobot: 25 }, - { cpmkKode: 'CPMK-ARS101-2', cplKode: 'CPL1', bobot: 30 }, - { cpmkKode: 'CPMK-ARS101-3', cplKode: 'CPL1', bobot: 20 }, - { cpmkKode: 'CPMK-ARS101-4', cplKode: 'CPL1', bobot: 15 }, - { cpmkKode: 'CPMK-ARS101-5', cplKode: 'CPL1', bobot: 10 }, - - // INFORMATIKA - Algoritma & Pemrograman (INF105) → CPL4 (Algoritma & Struktur Data) - { cpmkKode: 'CPMK-INF105-1', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF105-2', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF105-3', cplKode: 'CPL4', bobot: 30 }, - { cpmkKode: 'CPMK-INF105-4', cplKode: 'CPL4', bobot: 15 }, - { cpmkKode: 'CPMK-INF105-5', cplKode: 'CPL4', bobot: 10 }, - - // INFORMATIKA - Matematika Diskrit (INF104) → CPL4 - { cpmkKode: 'CPMK-INF104-1', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF104-2', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF104-3', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF104-4', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF104-5', cplKode: 'CPL4', bobot: 10 }, - - // INFORMATIKA - Pengantar Teknologi Informasi (INF106) → CPL2 (Pengembangan Sistem) - { cpmkKode: 'CPMK-INF106-1', cplKode: 'CPL2', bobot: 20 }, - { cpmkKode: 'CPMK-INF106-2', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-INF106-3', cplKode: 'CPL2', bobot: 25 }, - { cpmkKode: 'CPMK-INF106-4', cplKode: 'CPL2', bobot: 20 }, - { cpmkKode: 'CPMK-INF106-5', cplKode: 'CPL1', bobot: 10 }, - - // INFORMATIKA - Struktur Data (INF202) → CPL4 - { cpmkKode: 'CPMK-INF202-1', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF202-2', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF202-3', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF202-4', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF202-5', cplKode: 'CPL4', bobot: 10 }, - - // INFORMATIKA - Pemrograman Berorientasi Objek (INF203) → CPL2, CPL4 - { cpmkKode: 'CPMK-INF203-1', cplKode: 'CPL4', bobot: 20 }, - { cpmkKode: 'CPMK-INF203-2', cplKode: 'CPL4', bobot: 25 }, - { cpmkKode: 'CPMK-INF203-3', cplKode: 'CPL2', bobot: 30 }, - { cpmkKode: 'CPMK-INF203-4', cplKode: 'CPL2', bobot: 15 }, - { cpmkKode: 'CPMK-INF203-5', cplKode: 'CPL2', bobot: 10 }, - - // INFORMATIKA - Pemrograman Web (INF207) → CPL6 (Web & Mobile Development) - { cpmkKode: 'CPMK-INF207-1', cplKode: 'CPL6', bobot: 25 }, - { cpmkKode: 'CPMK-INF207-2', cplKode: 'CPL6', bobot: 20 }, - { cpmkKode: 'CPMK-INF207-3', cplKode: 'CPL6', bobot: 25 }, - { cpmkKode: 'CPMK-INF207-4', cplKode: 'CPL6', bobot: 20 }, - { cpmkKode: 'CPMK-INF207-5', cplKode: 'CPL6', bobot: 10 }, -]; - -// ===== MATA KULIAH ===== -export interface MataKuliah { - kode: string; - nama: string; - sks: number; - semester: number; - prodiKode: string; - dosen: string; - cplTerkait: string[]; // Array kode CPL yang terkait -} - -// MATA KULIAH ARSITEKTUR (145 SKS total, 8 semester) -export const mataKuliahData: MataKuliah[] = [ - // ===== SEMESTER I (20 SKS, 10 MK) ===== - { kode: 'ARS101', nama: 'Pancasila', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Drs. Hamzah, M.Pd', cplTerkait: ['CPL1'] }, - { kode: 'ARS102', nama: 'Bahasa Indonesia', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Siti Nurhaliza, M.Hum', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS103', nama: 'Pendidikan Agama Islam', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Prof. Dr. Abdul Malik, M.Ag', cplTerkait: ['CPL1'] }, - { kode: 'ARS104', nama: 'Bahasa Inggris Teknik', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Fatimah Zahra, M.A', cplTerkait: ['CPL5'] }, - { kode: 'ARS105', nama: 'Teknik Presentasi', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Ir. Ridwan Hasan, M.Ds', cplTerkait: ['CPL5'] }, - { kode: 'ARS106', nama: 'Perkembangan Arsitektur 1', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS107', nama: 'Pengantar Arsitektur 1', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Ir. Ahmad Kadir, M.Arch', cplTerkait: ['CPL2', 'CPL4'] }, - { kode: 'ARS108', nama: 'Mekanika Teknik', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS109', nama: 'Matematika Teknik', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Hendra Wijaya, M.Si', cplTerkait: ['CPL3'] }, - { kode: 'ARS110', nama: 'ISBD', sks: 2, semester: 1, prodiKode: 'ARS', dosen: 'Dr. Aminah Rahman, M.Sos', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER II (20 SKS, 9 MK) ===== - { kode: 'ARS201', nama: 'Pendidikan Kewarganegaraan', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Drs. Ibrahim Mahmud, M.Pd', cplTerkait: ['CPL1'] }, - { kode: 'ARS202', nama: 'Perkembangan Arsitektur 2', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS203', nama: 'Pengantar Arsitektur 2', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Ahmad Kadir, M.Arch', cplTerkait: ['CPL2'] }, - { kode: 'ARS204', nama: 'Struktur & Konstruksi 1', sks: 3, semester: 2, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS205', nama: 'Studio Perancangan 1', sks: 4, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, - { kode: 'ARS206', nama: 'Utilitas Bangunan', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Rizki Ramadhan, M.T', cplTerkait: ['CPL7'] }, - { kode: 'ARS207', nama: 'Fisika Bangunan 1', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Dr. Ir. Suryani Hasan', cplTerkait: ['CPL7'] }, - { kode: 'ARS208', nama: 'Gambar Teknik', sks: 2, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Dewi Lestari, M.T', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS209', nama: 'Arsitektur Digital 1', sks: 1, semester: 2, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, - - // ===== SEMESTER III (24 SKS, 9 MK) ===== - { kode: 'ARS301', nama: 'Studio Perancangan 2', sks: 6, semester: 3, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, - { kode: 'ARS302', nama: 'Struktur & Konstruksi 2', sks: 3, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS303', nama: 'Arsitektur Vernakular', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS304', nama: 'Fisika Bangunan 2', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Ir. Suryani Hasan', cplTerkait: ['CPL7'] }, - { kode: 'ARS305', nama: 'Metode Perancangan', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL2'] }, - { kode: 'ARS306', nama: 'Arsitektur Digital 2', sks: 3, semester: 3, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS307', nama: 'Arsitektur Islam', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Prof. Dr. Abdul Malik, M.Arch', cplTerkait: ['CPL1', 'CPL4'] }, - { kode: 'ARS308', nama: 'Perumahan & Permukiman', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, - { kode: 'ARS309', nama: 'Estetika Bentuk & Ruang', sks: 2, semester: 3, prodiKode: 'ARS', dosen: 'Ir. Siti Maryam, M.Ds', cplTerkait: ['CPL2'] }, - - // ===== SEMESTER IV (26 SKS, 10 MK) ===== - { kode: 'ARS401', nama: 'Studio Perancangan 3', sks: 6, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, - { kode: 'ARS402', nama: 'Struktur & Konstruksi 3', sks: 3, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS403', nama: 'Arsitektur Nusantara', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS404', nama: 'Manajemen Konstruksi', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Rahman Hidayat, M.M', cplTerkait: ['CPL6'] }, - { kode: 'ARS405', nama: 'Pengantar Perencanaan Tapak', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL2'] }, - { kode: 'ARS406', nama: 'Interior Arsitektur', sks: 3, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Siti Maryam, M.Ds', cplTerkait: ['CPL2'] }, - { kode: 'ARS407', nama: 'Arsitektur Digital 3', sks: 3, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS408', nama: 'Pengantar Perencanaan Kota', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, - { kode: 'ARS409', nama: 'Material & Teknologi Bangunan', sks: 2, semester: 4, prodiKode: 'ARS', dosen: 'Ir. Rizki Ramadhan, M.T', cplTerkait: ['CPL6'] }, - { kode: 'ARS410', nama: 'Kewirausahaan', sks: 1, semester: 4, prodiKode: 'ARS', dosen: 'Dr. Ahmad Fauzi, M.M', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER V (23 SKS, 10 MK) ===== - { kode: 'ARS501', nama: 'Studio Perancangan 4', sks: 6, semester: 5, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, - { kode: 'ARS502', nama: 'Struktur Baja & Kayu', sks: 3, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS503', nama: 'Teori Arsitektur', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS504', nama: 'Pemrograman Ruang & Bangunan', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Ir. Ahmad Kadir, M.Arch', cplTerkait: ['CPL2'] }, - { kode: 'ARS505', nama: 'Lanskap Arsitektur', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, - { kode: 'ARS506', nama: 'Arsitektur Digital 4', sks: 3, semester: 5, prodiKode: 'ARS', dosen: 'Ir. Fauzi Akmal, M.Kom', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS507', nama: 'Metode Penelitian', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL5'] }, - { kode: 'ARS508', nama: 'Arsitektur Kontemporer', sks: 2, semester: 5, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS509', nama: 'Praktik Kerja Profesi', sks: 1, semester: 5, prodiKode: 'ARS', dosen: 'Koordinator PKP', cplTerkait: ['CPL1', 'CPL6'] }, - - // ===== SEMESTER VI (17 SKS, 7 MK) ===== - { kode: 'ARS601', nama: 'Studio Perancangan 5', sks: 6, semester: 6, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5'] }, - { kode: 'ARS602', nama: 'Struktur Bentang Lebar', sks: 3, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Ir. Bambang Suryanto', cplTerkait: ['CPL3', 'CPL6'] }, - { kode: 'ARS603', nama: 'Arsitektur Hijau', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Andi Syahrir, M.Arch', cplTerkait: ['CPL1', 'CPL2', 'CPL7'] }, - { kode: 'ARS604', nama: 'Seminar Proposal', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Nurhayati, S.T., M.Arch', cplTerkait: ['CPL5', 'CPL8'] }, - { kode: 'ARS605', nama: 'Kritik & Apresiasi Arsitektur', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4'] }, - { kode: 'ARS606', nama: 'Hukum & Etika Profesi', sks: 2, semester: 6, prodiKode: 'ARS', dosen: 'Ir. Rahman Hidayat, M.M', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER VII (10 SKS, 3 MK) ===== - { kode: 'ARS701', nama: 'Studio Perancangan 6', sks: 6, semester: 7, prodiKode: 'ARS', dosen: 'Ir. Fadhil Akbar, M.Arch', cplTerkait: ['CPL2', 'CPL5', 'CPL8'] }, - { kode: 'ARS702', nama: 'Konservasi Bangunan', sks: 2, semester: 7, prodiKode: 'ARS', dosen: 'Dr. Yusuf Abdullah, M.Arch', cplTerkait: ['CPL4', 'CPL6'] }, - { kode: 'ARS703', nama: 'Arsitektur Kota', sks: 2, semester: 7, prodiKode: 'ARS', dosen: 'Dr. Hj. Nurjannah, M.T', cplTerkait: ['CPL2'] }, - - // ===== SEMESTER VIII (10 SKS, 2 MK) ===== - { kode: 'ARS801', nama: 'Tugas Akhir', sks: 8, semester: 8, prodiKode: 'ARS', dosen: 'Pembimbing Tugas Akhir', cplTerkait: ['CPL1', 'CPL2', 'CPL3', 'CPL4', 'CPL5', 'CPL6', 'CPL7', 'CPL8'] }, - { kode: 'ARS802', nama: 'Kuliah Kerja Nyata (KKN)', sks: 2, semester: 8, prodiKode: 'ARS', dosen: 'Koordinator KKN', cplTerkait: ['CPL1'] }, - - // MATA KULIAH TEKNIK INFORMATIKA (144 SKS total, 8 semester) - // ===== SEMESTER I (18 SKS, 9 MK) ===== - { kode: 'INF101', nama: 'Pancasila', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Drs. Hamzah, M.Pd', cplTerkait: ['CPL1'] }, - { kode: 'INF102', nama: 'Bahasa Indonesia', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Dr. Siti Nurhaliza, M.Hum', cplTerkait: ['CPL1'] }, - { kode: 'INF103', nama: 'Pendidikan Agama Islam', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Prof. Dr. Abdul Malik, M.Ag', cplTerkait: ['CPL1'] }, - { kode: 'INF104', nama: 'Matematika Diskrit', sks: 3, semester: 1, prodiKode: 'INF', dosen: 'Dr. Ahmad Fauzi, M.Kom', cplTerkait: ['CPL4'] }, - { kode: 'INF105', nama: 'Algoritma & Pemrograman', sks: 3, semester: 1, prodiKode: 'INF', dosen: 'Dr. Budi Santoso, M.T', cplTerkait: ['CPL4'] }, - { kode: 'INF106', nama: 'Pengantar Teknologi Informasi', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Ir. Citra Dewi, M.Kom', cplTerkait: ['CPL2'] }, - { kode: 'INF107', nama: 'Logika Informatika', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Dr. Dedi Prasetyo, M.Sc', cplTerkait: ['CPL4'] }, - { kode: 'INF108', nama: 'Bahasa Inggris Teknik', sks: 2, semester: 1, prodiKode: 'INF', dosen: 'Dr. Fatimah Zahra, M.A', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER II (18 SKS, 9 MK) ===== - { kode: 'INF201', nama: 'Pendidikan Kewarganegaraan', sks: 2, semester: 2, prodiKode: 'INF', dosen: 'Drs. Ibrahim Mahmud, M.Pd', cplTerkait: ['CPL1'] }, - { kode: 'INF202', nama: 'Struktur Data', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Dr. Eka Putri, M.Kom', cplTerkait: ['CPL4'] }, - { kode: 'INF203', nama: 'Pemrograman Berorientasi Objek', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Dr. Fahri Rahman, M.T', cplTerkait: ['CPL2', 'CPL4'] }, - { kode: 'INF204', nama: 'Sistem Digital', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Ir. Gita Sari, M.T', cplTerkait: ['CPL4'] }, - { kode: 'INF205', nama: 'Aljabar Linear', sks: 2, semester: 2, prodiKode: 'INF', dosen: 'Dr. Hendra Wijaya, M.Si', cplTerkait: ['CPL4'] }, - { kode: 'INF206', nama: 'Sistem Operasi', sks: 2, semester: 2, prodiKode: 'INF', dosen: 'Dr. Indah Permata, M.Kom', cplTerkait: ['CPL5'] }, - { kode: 'INF207', nama: 'Pemrograman Web', sks: 3, semester: 2, prodiKode: 'INF', dosen: 'Ir. Joko Susilo, M.T', cplTerkait: ['CPL6'] }, - - // ===== SEMESTER III (18 SKS, 9 MK) ===== - { kode: 'INF301', nama: 'Basis Data', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Karina Sari, M.Kom', cplTerkait: ['CPL3'] }, - { kode: 'INF302', nama: 'Analisis & Desain Sistem', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Lukman Hakim, M.T', cplTerkait: ['CPL2'] }, - { kode: 'INF303', nama: 'Jaringan Komputer', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Mira Handayani, M.Kom', cplTerkait: ['CPL5'] }, - { kode: 'INF304', nama: 'Rekayasa Perangkat Lunak', sks: 3, semester: 3, prodiKode: 'INF', dosen: 'Dr. Nurul Fikri, M.T', cplTerkait: ['CPL2'] }, - { kode: 'INF305', nama: 'Statistika & Probabilitas', sks: 2, semester: 3, prodiKode: 'INF', dosen: 'Dr. Omar Syarif, M.Si', cplTerkait: ['CPL4'] }, - { kode: 'INF306', nama: 'Manajemen Basis Data', sks: 2, semester: 3, prodiKode: 'INF', dosen: 'Ir. Putri Ayu, M.Kom', cplTerkait: ['CPL3'] }, - { kode: 'INF307', nama: 'Interaksi Manusia Komputer', sks: 2, semester: 3, prodiKode: 'INF', dosen: 'Dr. Qori Santosa, M.Ds', cplTerkait: ['CPL6'] }, - - // ===== SEMESTER IV (18 SKS, 9 MK) ===== - { kode: 'INF401', nama: 'Pemrograman Mobile', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Rina Wati, M.Kom', cplTerkait: ['CPL6'] }, - { kode: 'INF402', nama: 'Kecerdasan Buatan', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Satria Mandala, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF403', nama: 'Sistem Informasi Manajemen', sks: 2, semester: 4, prodiKode: 'INF', dosen: 'Dr. Tika Permata, M.M', cplTerkait: ['CPL2'] }, - { kode: 'INF404', nama: 'Arsitektur Komputer', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Umar Bakri, M.T', cplTerkait: ['CPL4'] }, - { kode: 'INF405', nama: 'Keamanan Sistem Informasi', sks: 3, semester: 4, prodiKode: 'INF', dosen: 'Dr. Vina Safitri, M.Kom', cplTerkait: ['CPL7'] }, - { kode: 'INF406', nama: 'Pemrograman Framework', sks: 2, semester: 4, prodiKode: 'INF', dosen: 'Ir. Wahyu Hidayat, M.Kom', cplTerkait: ['CPL6'] }, - { kode: 'INF407', nama: 'Metode Penelitian', sks: 2, semester: 4, prodiKode: 'INF', dosen: 'Prof. Dr. Yusuf Rahman, M.Kom', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER V (18 SKS, 9 MK) ===== - { kode: 'INF501', nama: 'Pengolahan Citra Digital', sks: 3, semester: 5, prodiKode: 'INF', dosen: 'Dr. Zahra Amelia, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF502', nama: 'Data Mining', sks: 3, semester: 5, prodiKode: 'INF', dosen: 'Dr. Ahmad Fauzi, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF503', nama: 'Sistem Terdistribusi', sks: 3, semester: 5, prodiKode: 'INF', dosen: 'Dr. Budi Santoso, M.T', cplTerkait: ['CPL5'] }, - { kode: 'INF504', nama: 'E-Business', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Dr. Citra Dewi, M.M', cplTerkait: ['CPL2'] }, - { kode: 'INF505', nama: 'Komputer Grafik', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Ir. Dedi Prasetyo, M.Kom', cplTerkait: ['CPL6'] }, - { kode: 'INF506', nama: 'Manajemen Proyek SI', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Dr. Eka Putri, M.M', cplTerkait: ['CPL2'] }, - { kode: 'INF507', nama: 'Etika Profesi IT', sks: 2, semester: 5, prodiKode: 'INF', dosen: 'Prof. Dr. Abdul Malik, M.Ag', cplTerkait: ['CPL1'] }, - { kode: 'INF508', nama: 'Technopreneurship', sks: 1, semester: 5, prodiKode: 'INF', dosen: 'Dr. Fahri Rahman, M.M', cplTerkait: ['CPL1'] }, - - // ===== SEMESTER VI (18 SKS, 9 MK) ===== - { kode: 'INF601', nama: 'Machine Learning', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Gita Sari, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF602', nama: 'Cloud Computing', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Hendra Wijaya, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF603', nama: 'Internet of Things', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Indah Permata, M.T', cplTerkait: ['CPL6'] }, - { kode: 'INF604', nama: 'Big Data Analytics', sks: 3, semester: 6, prodiKode: 'INF', dosen: 'Dr. Joko Susilo, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF605', nama: 'Blockchain Technology', sks: 2, semester: 6, prodiKode: 'INF', dosen: 'Dr. Karina Sari, M.Kom', cplTerkait: ['CPL7'] }, - { kode: 'INF606', nama: 'DevOps & CI/CD', sks: 2, semester: 6, prodiKode: 'INF', dosen: 'Ir. Lukman Hakim, M.Kom', cplTerkait: ['CPL6'] }, - { kode: 'INF607', nama: 'Audit Sistem Informasi', sks: 2, semester: 6, prodiKode: 'INF', dosen: 'Dr. Mira Handayani, M.Ak', cplTerkait: ['CPL7'] }, - - // ===== SEMESTER VII (18 SKS) ===== - { kode: 'INF701', nama: 'Kerja Praktek', sks: 2, semester: 7, prodiKode: 'INF', dosen: 'Koordinator KP', cplTerkait: ['CPL1', 'CPL2'] }, - { kode: 'INF702', nama: 'Proyek Sistem Informasi', sks: 4, semester: 7, prodiKode: 'INF', dosen: 'Tim Pembimbing', cplTerkait: ['CPL2', 'CPL3', 'CPL6'] }, - { kode: 'INF703', nama: 'Deep Learning', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dr. Nurul Fikri, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF704', nama: 'Cyber Security', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dr. Omar Syarif, M.Kom', cplTerkait: ['CPL7'] }, - { kode: 'INF705', nama: 'Sistem Embedded', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dr. Putri Ayu, M.T', cplTerkait: ['CPL5'] }, - { kode: 'INF706', nama: 'Pilihan 1', sks: 3, semester: 7, prodiKode: 'INF', dosen: 'Dosen Pilihan', cplTerkait: ['CPL6', 'CPL8'] }, - - // ===== SEMESTER VIII (18 SKS) ===== - { kode: 'INF801', nama: 'Tugas Akhir', sks: 6, semester: 8, prodiKode: 'INF', dosen: 'Pembimbing Tugas Akhir', cplTerkait: ['CPL1', 'CPL2', 'CPL3', 'CPL4', 'CPL5', 'CPL6', 'CPL7', 'CPL8'] }, - { kode: 'INF802', nama: 'Kuliah Kerja Nyata (KKN)', sks: 2, semester: 8, prodiKode: 'INF', dosen: 'Koordinator KKN', cplTerkait: ['CPL1'] }, - { kode: 'INF803', nama: 'Computer Vision', sks: 3, semester: 8, prodiKode: 'INF', dosen: 'Dr. Qori Santosa, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF804', nama: 'Natural Language Processing', sks: 3, semester: 8, prodiKode: 'INF', dosen: 'Dr. Rina Wati, M.Kom', cplTerkait: ['CPL8'] }, - { kode: 'INF805', nama: 'Pilihan 2', sks: 2, semester: 8, prodiKode: 'INF', dosen: 'Dosen Pilihan', cplTerkait: ['CPL6', 'CPL8'] }, - { kode: 'INF806', nama: 'Pilihan 3', sks: 2, semester: 8, prodiKode: 'INF', dosen: 'Dosen Pilihan', cplTerkait: ['CPL6', 'CPL8'] }, - - // Contoh MK prodi lain (simplified) - { kode: 'SIP101', nama: 'Mekanika Teknik', sks: 3, semester: 1, prodiKode: 'SIP', dosen: 'Dr. Ir. Gunawan, M.T', cplTerkait: ['CPL3'] }, - { kode: 'ELK101', nama: 'Rangkaian Listrik', sks: 3, semester: 1, prodiKode: 'ELK', dosen: 'Dr. Ir. Sulaiman, M.T', cplTerkait: ['CPL2'] }, - { kode: 'MES101', nama: 'Menggambar Mesin', sks: 3, semester: 1, prodiKode: 'MES', dosen: 'Ir. Harun, M.T', cplTerkait: ['CPL5'] }, - { kode: 'IND101', nama: 'Pengantar Teknik Industri', sks: 3, semester: 1, prodiKode: 'IND', dosen: 'Dr. Ir. Rahma, M.T', cplTerkait: ['CPL2'] }, -]; - -// ===== NILAI MAHASISWA ===== -export interface NilaiMahasiswa { - id: string; - mahasiswaId: string; - mkKode: string; - semester: string; - tahunAjaran: string; - nilaiAkhir: number; - grade: string; - nilaiCPMK: { cpmkKode: string; nilai: number }[]; -} - -export const nilaiMahasiswaData: NilaiMahasiswa[] = [ - // Mahasiswa Ahmad Fauzi (mahasiswaId: '1') - Informatika Semester 5 - // SEMESTER 1 - { - id: 'N001', - mahasiswaId: '1', - mkKode: 'INF105', - semester: 'Ganjil', - tahunAjaran: '2021/2022', - nilaiAkhir: 85.5, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF105-1', nilai: 84 }, - { cpmkKode: 'CPMK-INF105-2', nilai: 87 }, - { cpmkKode: 'CPMK-INF105-3', nilai: 85 }, - { cpmkKode: 'CPMK-INF105-4', nilai: 88 }, - { cpmkKode: 'CPMK-INF105-5', nilai: 83 }, - ] - }, - { - id: 'N002', - mahasiswaId: '1', - mkKode: 'INF104', - semester: 'Ganjil', - tahunAjaran: '2021/2022', - nilaiAkhir: 82.0, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF104-1', nilai: 80 }, - { cpmkKode: 'CPMK-INF104-2', nilai: 83 }, - { cpmkKode: 'CPMK-INF104-3', nilai: 82 }, - { cpmkKode: 'CPMK-INF104-4', nilai: 84 }, - { cpmkKode: 'CPMK-INF104-5', nilai: 81 }, - ] - }, - { - id: 'N003', - mahasiswaId: '1', - mkKode: 'INF106', - semester: 'Ganjil', - tahunAjaran: '2021/2022', - nilaiAkhir: 88.0, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF106-1', nilai: 87 }, - { cpmkKode: 'CPMK-INF106-2', nilai: 89 }, - { cpmkKode: 'CPMK-INF106-3', nilai: 88 }, - { cpmkKode: 'CPMK-INF106-4', nilai: 87 }, - { cpmkKode: 'CPMK-INF106-5', nilai: 89 }, - ] - }, - // SEMESTER 2 - { - id: 'N004', - mahasiswaId: '1', - mkKode: 'INF202', - semester: 'Genap', - tahunAjaran: '2021/2022', - nilaiAkhir: 83.5, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF202-1', nilai: 82 }, - { cpmkKode: 'CPMK-INF202-2', nilai: 85 }, - { cpmkKode: 'CPMK-INF202-3', nilai: 83 }, - { cpmkKode: 'CPMK-INF202-4', nilai: 84 }, - { cpmkKode: 'CPMK-INF202-5', nilai: 84 }, - ] - }, - { - id: 'N005', - mahasiswaId: '1', - mkKode: 'INF203', - semester: 'Genap', - tahunAjaran: '2021/2022', - nilaiAkhir: 86.0, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF203-1', nilai: 85 }, - { cpmkKode: 'CPMK-INF203-2', nilai: 87 }, - { cpmkKode: 'CPMK-INF203-3', nilai: 86 }, - { cpmkKode: 'CPMK-INF203-4', nilai: 85 }, - { cpmkKode: 'CPMK-INF203-5', nilai: 87 }, - ] - }, - { - id: 'N006', - mahasiswaId: '1', - mkKode: 'INF207', - semester: 'Genap', - tahunAjaran: '2021/2022', - nilaiAkhir: 89.0, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF207-1', nilai: 88 }, - { cpmkKode: 'CPMK-INF207-2', nilai: 90 }, - { cpmkKode: 'CPMK-INF207-3', nilai: 89 }, - { cpmkKode: 'CPMK-INF207-4', nilai: 88 }, - { cpmkKode: 'CPMK-INF207-5', nilai: 90 }, - ] - }, - - // Mahasiswa Siti Aisyah (mahasiswaId: '2') - Informatika Semester 5 - // SEMESTER 1 - { - id: 'N007', - mahasiswaId: '2', - mkKode: 'INF105', - semester: 'Ganjil', - tahunAjaran: '2022/2023', - nilaiAkhir: 80.0, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF105-1', nilai: 78 }, - { cpmkKode: 'CPMK-INF105-2', nilai: 82 }, - { cpmkKode: 'CPMK-INF105-3', nilai: 80 }, - { cpmkKode: 'CPMK-INF105-4', nilai: 81 }, - { cpmkKode: 'CPMK-INF105-5', nilai: 79 }, - ] - }, - { - id: 'N008', - mahasiswaId: '2', - mkKode: 'INF104', - semester: 'Ganjil', - tahunAjaran: '2022/2023', - nilaiAkhir: 78.5, - grade: 'B+', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF104-1', nilai: 77 }, - { cpmkKode: 'CPMK-INF104-2', nilai: 80 }, - { cpmkKode: 'CPMK-INF104-3', nilai: 78 }, - { cpmkKode: 'CPMK-INF104-4', nilai: 79 }, - { cpmkKode: 'CPMK-INF104-5', nilai: 79 }, - ] - }, - { - id: 'N009', - mahasiswaId: '2', - mkKode: 'INF106', - semester: 'Ganjil', - tahunAjaran: '2022/2023', - nilaiAkhir: 84.0, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF106-1', nilai: 83 }, - { cpmkKode: 'CPMK-INF106-2', nilai: 85 }, - { cpmkKode: 'CPMK-INF106-3', nilai: 84 }, - { cpmkKode: 'CPMK-INF106-4', nilai: 83 }, - { cpmkKode: 'CPMK-INF106-5', nilai: 85 }, - ] - }, - // SEMESTER 2 - { - id: 'N010', - mahasiswaId: '2', - mkKode: 'INF202', - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 79.0, - grade: 'B+', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF202-1', nilai: 77 }, - { cpmkKode: 'CPMK-INF202-2', nilai: 81 }, - { cpmkKode: 'CPMK-INF202-3', nilai: 79 }, - { cpmkKode: 'CPMK-INF202-4', nilai: 78 }, - { cpmkKode: 'CPMK-INF202-5', nilai: 80 }, - ] - }, - { - id: 'N011', - mahasiswaId: '2', - mkKode: 'INF203', - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 82.0, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF203-1', nilai: 80 }, - { cpmkKode: 'CPMK-INF203-2', nilai: 83 }, - { cpmkKode: 'CPMK-INF203-3', nilai: 82 }, - { cpmkKode: 'CPMK-INF203-4', nilai: 82 }, - { cpmkKode: 'CPMK-INF203-5', nilai: 83 }, - ] - }, - { - id: 'N012', - mahasiswaId: '2', - mkKode: 'INF207', - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 85.5, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-INF207-1', nilai: 84 }, - { cpmkKode: 'CPMK-INF207-2', nilai: 87 }, - { cpmkKode: 'CPMK-INF207-3', nilai: 85 }, - { cpmkKode: 'CPMK-INF207-4', nilai: 86 }, - { cpmkKode: 'CPMK-INF207-5', nilai: 86 }, - ] - }, - - // Mahasiswa Budi Santoso (mahasiswaId: '3') - Arsitektur Semester 3 - // SEMESTER 2 - { - id: 'N004', - mahasiswaId: '2', - mkKode: 'ARS501', - semester: 'Ganjil', - tahunAjaran: '2024/2025', - nilaiAkhir: 88.6, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS501-1', nilai: 86 }, - { cpmkKode: 'CPMK-ARS501-2', nilai: 90 }, - { cpmkKode: 'CPMK-ARS501-3', nilai: 88 }, - { cpmkKode: 'CPMK-ARS501-4', nilai: 89 }, - { cpmkKode: 'CPMK-ARS501-5', nilai: 90 }, - ] - }, - { - id: 'N005', - mahasiswaId: '2', - mkKode: 'ARS204', - semester: 'Genap', - tahunAjaran: '2021/2022', - nilaiAkhir: 82.5, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS204-1', nilai: 80 }, - { cpmkKode: 'CPMK-ARS204-2', nilai: 84 }, - { cpmkKode: 'CPMK-ARS204-3', nilai: 83 }, - { cpmkKode: 'CPMK-ARS204-4', nilai: 82 }, - { cpmkKode: 'CPMK-ARS204-5', nilai: 84 }, - ] - }, - { - id: 'N006', - mahasiswaId: '2', - mkKode: 'ARS205', - semester: 'Genap', - tahunAjaran: '2021/2022', - nilaiAkhir: 86.0, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS205-1', nilai: 84 }, - { cpmkKode: 'CPMK-ARS205-2', nilai: 85 }, - { cpmkKode: 'CPMK-ARS205-3', nilai: 88 }, - { cpmkKode: 'CPMK-ARS205-4', nilai: 87 }, - { cpmkKode: 'CPMK-ARS205-5', nilai: 86 }, - ] - }, - - // ========== MAHASISWA BUDI SANTOSO (ID: 3) - Semester 3 Aktif ========== - // Data Semester 2 (sudah selesai) - { - id: 'N007', - mahasiswaId: '3', - mkKode: 'ARS201', // Kewarganegaraan - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 82, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS201-1', nilai: 82 * 0.2 }, - { cpmkKode: 'CPMK-ARS201-2', nilai: 82 * 0.2 }, - { cpmkKode: 'CPMK-ARS201-3', nilai: 82 * 0.3 }, - { cpmkKode: 'CPMK-ARS201-4', nilai: 82 * 0.2 }, - { cpmkKode: 'CPMK-ARS201-5', nilai: 82 * 0.1 }, - ] - }, - { - id: 'N008', - mahasiswaId: '3', - mkKode: 'CW6232014201', // Studio Perancangan 1 - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 85, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-SPA1-1', nilai: 85 * 0.2 }, - { cpmkKode: 'CPMK-SPA1-2', nilai: 85 * 0.2 }, - { cpmkKode: 'CPMK-SPA1-3', nilai: 85 * 0.3 }, - { cpmkKode: 'CPMK-SPA1-4', nilai: 85 * 0.2 }, - { cpmkKode: 'CPMK-SPA1-5', nilai: 85 * 0.1 }, - ] - }, - { - id: 'N009', - mahasiswaId: '3', - mkKode: 'CW6232012202', // Perkembangan Arsitektur 2 - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 78, - grade: 'B+', - nilaiCPMK: [ - { cpmkKode: 'CPMK-PA2-1', nilai: 78 * 0.2 }, - { cpmkKode: 'CPMK-PA2-2', nilai: 78 * 0.2 }, - { cpmkKode: 'CPMK-PA2-3', nilai: 78 * 0.3 }, - { cpmkKode: 'CPMK-PA2-4', nilai: 78 * 0.2 }, - { cpmkKode: 'CPMK-PA2-5', nilai: 78 * 0.1 }, - ] - }, - { - id: 'N010', - mahasiswaId: '3', - mkKode: 'CW6232012203', // Pengantar Arsitektur 2 - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 80, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-PARS2-1', nilai: 80 * 0.2 }, - { cpmkKode: 'CPMK-PARS2-2', nilai: 80 * 0.2 }, - { cpmkKode: 'CPMK-PARS2-3', nilai: 80 * 0.3 }, - { cpmkKode: 'CPMK-PARS2-4', nilai: 80 * 0.2 }, - { cpmkKode: 'CPMK-PARS2-5', nilai: 80 * 0.1 }, - ] - }, - { - id: 'N011', - mahasiswaId: '3', - mkKode: 'CW6232012204', // Mekanika Bangunan - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 75, - grade: 'B+', - nilaiCPMK: [ - { cpmkKode: 'CPMK-MB-1', nilai: 75 * 0.2 }, - { cpmkKode: 'CPMK-MB-2', nilai: 75 * 0.2 }, - { cpmkKode: 'CPMK-MB-3', nilai: 75 * 0.3 }, - { cpmkKode: 'CPMK-MB-4', nilai: 75 * 0.2 }, - { cpmkKode: 'CPMK-MB-5', nilai: 75 * 0.1 }, - ] - }, - { - id: 'N012', - mahasiswaId: '3', - mkKode: 'CW6232012205', // Estetika Bentuk - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 83, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-EB-1', nilai: 83 * 0.2 }, - { cpmkKode: 'CPMK-EB-2', nilai: 83 * 0.2 }, - { cpmkKode: 'CPMK-EB-3', nilai: 83 * 0.3 }, - { cpmkKode: 'CPMK-EB-4', nilai: 83 * 0.2 }, - { cpmkKode: 'CPMK-EB-5', nilai: 83 * 0.1 }, - ] - }, - { - id: 'N013', - mahasiswaId: '3', - mkKode: 'CW6232012206', // Pengantar Teknologi Bahan - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 77, - grade: 'B+', - nilaiCPMK: [ - { cpmkKode: 'CPMK-PTB-1', nilai: 77 * 0.2 }, - { cpmkKode: 'CPMK-PTB-2', nilai: 77 * 0.2 }, - { cpmkKode: 'CPMK-PTB-3', nilai: 77 * 0.3 }, - { cpmkKode: 'CPMK-PTB-4', nilai: 77 * 0.2 }, - { cpmkKode: 'CPMK-PTB-5', nilai: 77 * 0.1 }, - ] - }, - { - id: 'N014', - mahasiswaId: '3', - mkKode: 'CW6232012207', // Pengetahuan Lingkungan - semester: 'Genap', - tahunAjaran: '2022/2023', - nilaiAkhir: 81, - grade: 'A-', - nilaiCPMK: [ - { cpmkKode: 'CPMK-PL-1', nilai: 81 * 0.2 }, - { cpmkKode: 'CPMK-PL-2', nilai: 81 * 0.2 }, - { cpmkKode: 'CPMK-PL-3', nilai: 81 * 0.3 }, - { cpmkKode: 'CPMK-PL-4', nilai: 81 * 0.2 }, - { cpmkKode: 'CPMK-PL-5', nilai: 81 * 0.1 }, - ] - }, - - // Mahasiswa Dewi Lestari (mahasiswaId: '4') - Semester VI - { - id: 'N009', - mahasiswaId: '4', - mkKode: 'ARS603', - semester: 'Genap', - tahunAjaran: '2024/2025', - nilaiAkhir: 90.5, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS603-1', nilai: 89 }, - { cpmkKode: 'CPMK-ARS603-2', nilai: 91 }, - { cpmkKode: 'CPMK-ARS603-3', nilai: 92 }, - { cpmkKode: 'CPMK-ARS603-4', nilai: 90 }, - { cpmkKode: 'CPMK-ARS603-5', nilai: 91 }, - ] - }, - { - id: 'N010', - mahasiswaId: '4', - mkKode: 'ARS501', - semester: 'Ganjil', - tahunAjaran: '2023/2024', - nilaiAkhir: 87.0, - grade: 'A', - nilaiCPMK: [ - { cpmkKode: 'CPMK-ARS501-1', nilai: 85 }, - { cpmkKode: 'CPMK-ARS501-2', nilai: 88 }, - { cpmkKode: 'CPMK-ARS501-3', nilai: 87 }, - { cpmkKode: 'CPMK-ARS501-4', nilai: 88 }, - { cpmkKode: 'CPMK-ARS501-5', nilai: 87 }, - ] - }, -]; - -// ===== HELPER FUNCTIONS ===== - -/** - * Menghitung nilai CPL per semester untuk mahasiswa - * Formula: Nilai CPL = Rata-rata nilai MK yang terkait dengan CPL tersebut di semester yang dipilih - * - * @param mahasiswaId - ID mahasiswa - * @param semester - Nomor semester (1-8) - * @param prodiKode - Kode prodi mahasiswa - * @returns Array of CPL dengan nilai per semester - */ -export function hitungNilaiCPLPerSemester( - mahasiswaId: string, - semester: number, - prodiKode: string -): { cplKode: string; nilai: number; jumlahMK: number }[] { - - // 1. Ambil semua nilai MK mahasiswa - const nilaiMhs = nilaiMahasiswaData.filter(n => n.mahasiswaId === mahasiswaId); - - // 2. Filter hanya MK di semester yang dipilih - const mkDiSemester = mataKuliahData.filter( - mk => mk.semester === semester && mk.prodiKode === prodiKode - ); - - // 3. Ambil nilai untuk MK di semester tersebut - const nilaiMKSemester = nilaiMhs.filter(n => - mkDiSemester.some(mk => mk.kode === n.mkKode) - ); - - // 4. Group nilai MK berdasarkan CPL yang terkait - const cplScores: { [cplKode: string]: number[] } = {}; - - nilaiMKSemester.forEach(nilaiMK => { - const mk = mkDiSemester.find(m => m.kode === nilaiMK.mkKode); - if (mk && mk.cplTerkait) { - mk.cplTerkait.forEach(cplKode => { - if (!cplScores[cplKode]) { - cplScores[cplKode] = []; - } - cplScores[cplKode].push(nilaiMK.nilaiAkhir); - }); - } - }); - - // 5. Hitung rata-rata nilai MK untuk setiap CPL - const result = Object.entries(cplScores).map(([cplKode, nilaiArray]) => { - const rata = nilaiArray.reduce((sum, n) => sum + n, 0) / nilaiArray.length; - return { - cplKode, - nilai: Math.round(rata * 10) / 10, // Round to 1 decimal - jumlahMK: nilaiArray.length - }; - }); - - return result; -} - -/** - * Menghitung nilai CPL keseluruhan (semua semester) untuk mahasiswa - * Untuk dashboard summary - */ -export function hitungNilaiCPLKeseluruhan(mahasiswaId: string, prodiKode: string): { cplKode: string; nilai: number }[] { - const mahasiswa = mahasiswaData.find(m => m.id === mahasiswaId); - if (!mahasiswa) return []; - - // Hitung CPL untuk setiap semester yang sudah dilalui - const allCPLScores: { [cplKode: string]: number[] } = {}; - - for (let sem = 1; sem <= mahasiswa.semesterAktif; sem++) { - const cplSemester = hitungNilaiCPLPerSemester(mahasiswaId, sem, prodiKode); - cplSemester.forEach(cpl => { - if (!allCPLScores[cpl.cplKode]) { - allCPLScores[cpl.cplKode] = []; - } - allCPLScores[cpl.cplKode].push(cpl.nilai); - }); - } - - // Rata-rata dari semua semester - return Object.entries(allCPLScores).map(([cplKode, nilaiArray]) => ({ - cplKode, - nilai: Math.round((nilaiArray.reduce((sum, n) => sum + n, 0) / nilaiArray.length) * 10) / 10 - })); -} - -/** - * Breakdown nilai MK ke CPMK berdasarkan bobot - * User input nilai MK, sistem otomatis breakdown ke CPMK - */ -export function breakdownNilaiMKtoCPMK(nilaiMK: number, mkKode: string): { cpmkKode: string; nilai: number }[] { - const cpmkList = cpmkData.filter(c => c.mkKode === mkKode); - - return cpmkList.map(cpmk => ({ - cpmkKode: cpmk.kode, - nilai: Math.round(nilaiMK * (cpmk.bobot / 100) * 10) / 10 - })); -} diff --git a/src/utils/dataIntegration.ts b/src/utils/dataIntegration.ts deleted file mode 100644 index b9169f6..0000000 --- a/src/utils/dataIntegration.ts +++ /dev/null @@ -1,514 +0,0 @@ -/** - * Integration layer: Menggabungkan data dari mockData (dummy) dengan localStorage (real input) - * Prioritas: localStorage > mockData - */ - -import { nilaiMahasiswaData, mataKuliahData, cpmkData, cpmkToCplMapping, cplData, mahasiswaData } from '@/data/mockData'; -import { getAllNilai, getAllImportedMahasiswa, type NilaiMahasiswaStorage } from './nilaiStorage'; - -export interface IntegratedNilai { - mahasiswaId: string; - mkKode: string; - nilaiAkhir: number; - source: 'localStorage' | 'mockData'; - timestamp?: string; -} - -export interface IntegratedMahasiswa { - id: string; - npm: string; - nama: string; - prodiKode: string; - angkatan: string; - source: 'localStorage' | 'mockData'; - hasNilai: boolean; - semesterAktif?: number; // Optional untuk backward compatibility -} - -/** - * Get combined nilai: localStorage + mockData - * localStorage data overrides mockData - */ -export function getCombinedNilaiData(): IntegratedNilai[] { - const localStorageNilai = getAllNilai(); - const combined: IntegratedNilai[] = []; - const processedKeys = new Set(); - - // First, add all localStorage data (highest priority) - localStorageNilai.forEach((nilai) => { - const key = `${nilai.mahasiswaId}-${nilai.mkKode}`; - combined.push({ - mahasiswaId: nilai.mahasiswaId, - mkKode: nilai.mkKode, - nilaiAkhir: nilai.nilaiAkhir, - source: 'localStorage', - timestamp: nilai.timestamp, - }); - processedKeys.add(key); - }); - - // Then add mockData that's not already in localStorage - nilaiMahasiswaData.forEach((nilai) => { - const key = `${nilai.mahasiswaId}-${nilai.mkKode}`; - if (!processedKeys.has(key)) { - combined.push({ - mahasiswaId: nilai.mahasiswaId, - mkKode: nilai.mkKode, - nilaiAkhir: nilai.nilaiAkhir, - source: 'mockData', - }); - } - }); - - return combined; -} - -/** - * Get integrated list of mahasiswa (mockData + localStorage import) - * Priority: 1) localStorage imported mahasiswa (HIGHEST - has real names), 2) mockData, 3) extracted from nilai - */ -export function getIntegratedMahasiswaList(prodiKode?: string): IntegratedMahasiswa[] { - const allNilai = getAllNilai(); - const importedMahasiswa = getAllImportedMahasiswa(); - const mahasiswaMap = new Map(); - - // PRIORITY 1: Add imported mahasiswa from localStorage (HIGHEST PRIORITY - has real names!) - importedMahasiswa.forEach((mhs) => { - if (!prodiKode || mhs.prodiKode === prodiKode) { - mahasiswaMap.set(mhs.mahasiswaId, { - id: mhs.mahasiswaId, - npm: mhs.npm, - nama: mhs.nama, // ✅ NAMA ASLI DARI IMPORT - prodiKode: mhs.prodiKode, - angkatan: mhs.angkatan || 'Unknown', - source: 'localStorage', - hasNilai: true, - semesterAktif: undefined, // Will be calculated from nilai - }); - } - }); - - // PRIORITY 2: Add mahasiswa from mockData (if not already in imported list) - mahasiswaData.forEach((mhs) => { - if (!mahasiswaMap.has(mhs.id) && (!prodiKode || mhs.prodiKode === prodiKode)) { - mahasiswaMap.set(mhs.id, { - id: mhs.id, - npm: mhs.npm, - nama: mhs.nama, - prodiKode: mhs.prodiKode, - angkatan: mhs.angkatan, - source: 'mockData', - hasNilai: true, - semesterAktif: mhs.semesterAktif, - }); - } - }); - - // PRIORITY 3: Extract unique mahasiswa IDs from nilai (FALLBACK - only if no mahasiswa record exists) - const uniqueMahasiswaIds = new Set(); - allNilai.forEach((nilai) => { - uniqueMahasiswaIds.add(nilai.mahasiswaId); - }); - - // Only add mahasiswa from nilai if they don't exist in imported or mockData - uniqueMahasiswaIds.forEach((mahasiswaId) => { - if (!mahasiswaMap.has(mahasiswaId)) { - // Parse mahasiswaId format: "MHS-{PRODI}-{NIM}" - const parts = mahasiswaId.split('-'); - let extractedProdi = ''; - let extractedNPM = ''; - let extractedNama = 'Mahasiswa Import'; // ⚠️ Fallback name only - should have been saved! - - if (parts.length >= 3 && parts[0] === 'MHS') { - extractedProdi = parts[1]; - extractedNPM = parts.slice(2).join('-'); - } else if (parts.length === 2) { - extractedProdi = parts[0]; - extractedNPM = parts[1]; - } else { - extractedNPM = mahasiswaId; - const prodiMatch = mahasiswaId.match(/^([A-Z]{3})/); - if (prodiMatch) { - extractedProdi = prodiMatch[1]; - } - } - - if (!prodiKode || extractedProdi === prodiKode) { - let angkatan = 'Unknown'; - const angkatanMatch = extractedNPM.match(/10(\d{2})/); - if (angkatanMatch) { - angkatan = '20' + angkatanMatch[1]; - } - - mahasiswaMap.set(mahasiswaId, { - id: mahasiswaId, - npm: extractedNPM, - nama: extractedNama, - prodiKode: extractedProdi, - angkatan: angkatan, - source: 'localStorage', - hasNilai: true, - }); - } - } - }); - - return Array.from(mahasiswaMap.values()).sort((a, b) => a.npm.localeCompare(b.npm)); -} - -/** - * Get nilai for specific mahasiswa with integration - */ -export function getIntegratedNilaiByMahasiswa(mahasiswaId: string): IntegratedNilai[] { - const allNilai = getCombinedNilaiData(); - return allNilai.filter((n) => n.mahasiswaId === mahasiswaId); -} - -/** - * Calculate CPL per semester with integrated data - * Uses proper weighting: CPL = Σ(Nilai_MK × Bobot_MK × Bobot_CPMK) / Σ(Bobot_MK × Bobot_CPMK) - */ -export function hitungNilaiCPLPerSemesterIntegrated( - mahasiswaId: string, - semester: number, - prodiKode: string -): { cplKode: string; nilai: number; jumlahMK: number; source: string }[] { - - // Get integrated nilai for this mahasiswa - const nilaiMhs = getIntegratedNilaiByMahasiswa(mahasiswaId); - - // Filter MK for this semester and prodi - const mkDiSemester = mataKuliahData.filter( - (mk) => mk.semester === semester && mk.prodiKode === prodiKode - ); - - // Get nilai for MK in this semester - const nilaiMKSemester = nilaiMhs.filter((n) => - mkDiSemester.some((mk) => mk.kode === n.mkKode) - ); - - if (nilaiMKSemester.length === 0) { - return []; - } - - // Step 1: Calculate bobot CPL → MK (across ALL semesters for consistency) - const allMKProdi = mataKuliahData.filter((mk) => mk.prodiKode === prodiKode); - const cplToMKCount: { [cplKode: string]: number } = {}; - - allMKProdi.forEach((mk) => { - if (mk.cplTerkait) { - mk.cplTerkait.forEach((cplKode) => { - cplToMKCount[cplKode] = (cplToMKCount[cplKode] || 0) + 1; - }); - } - }); - - // Step 2: Calculate weighted CPL scores using CPMK weights - const cplScores: { - [cplKode: string]: { - weightedSum: number; - totalWeight: number; - sources: string[]; - mkCount: number; - } - } = {}; - - nilaiMKSemester.forEach((nilaiMK) => { - const mk = mkDiSemester.find((m) => m.kode === nilaiMK.mkKode); - if (!mk || !mk.cplTerkait) return; - - // Calculate bobot MK for each CPL it contributes to - const bobotMKBase = 100 / (cplToMKCount[mk.cplTerkait[0]] || 1); - - // Find CPMK for this MK - const cpmkForMK = cpmkData.filter((c) => c.mkKode === mk.kode); - const cpmkCount = cpmkForMK.length || 1; - - // Process each CPL that this MK contributes to - mk.cplTerkait.forEach((cplKode) => { - if (!cplScores[cplKode]) { - cplScores[cplKode] = { - weightedSum: 0, - totalWeight: 0, - sources: [], - mkCount: 0 - }; - } - - // Calculate bobot MK for THIS specific CPL - const bobotMK = 100 / (cplToMKCount[cplKode] || 1); - - if (cpmkCount === 0) { - // No CPMK: MK contributes directly with full bobot - cplScores[cplKode].weightedSum += nilaiMK.nilaiAkhir * bobotMK; - cplScores[cplKode].totalWeight += bobotMK; - } else { - // Has CPMK: distribute bobot across CPMKs - // Each CPMK gets equal share of MK's bobot - const bobotPerCPMK = bobotMK / cpmkCount; - - // Sum weighted contributions from all CPMK - cplScores[cplKode].weightedSum += nilaiMK.nilaiAkhir * bobotMK; - cplScores[cplKode].totalWeight += bobotMK; - } - - cplScores[cplKode].sources.push(nilaiMK.source); - cplScores[cplKode].mkCount++; - }); - }); - - // Step 3: Calculate final weighted average for each CPL - return Object.entries(cplScores).map(([cplKode, data]) => { - // Weighted average: Σ(Nilai × Bobot) / Σ(Bobot) - const weightedAvg = data.totalWeight > 0 - ? data.weightedSum / data.totalWeight - : 0; - - const hasLocalStorage = data.sources.includes('localStorage'); - - return { - cplKode, - nilai: Math.round(weightedAvg * 10) / 10, - jumlahMK: data.mkCount, - source: hasLocalStorage ? 'localStorage' : 'mockData', - }; - }); -} - -/** - * Get all nilai for a mahasiswa grouped by semester - */ -export function getNilaiGroupedBySemester(mahasiswaId: string, prodiKode: string) { - const nilaiMhs = getIntegratedNilaiByMahasiswa(mahasiswaId); - const grouped: { - [semester: number]: { - nilai: IntegratedNilai[]; - mataKuliah: any[]; - totalSKS: number; - avgNilai: number; - } - } = {}; - - nilaiMhs.forEach((nilai) => { - const mk = mataKuliahData.find((m) => m.kode === nilai.mkKode && m.prodiKode === prodiKode); - if (mk) { - if (!grouped[mk.semester]) { - grouped[mk.semester] = { - nilai: [], - mataKuliah: [], - totalSKS: 0, - avgNilai: 0, - }; - } - grouped[mk.semester].nilai.push(nilai); - grouped[mk.semester].mataKuliah.push(mk); - grouped[mk.semester].totalSKS += mk.sks; - } - }); - - // Calculate average for each semester - Object.keys(grouped).forEach((sem) => { - const semester = parseInt(sem); - const nilaiValues = grouped[semester].nilai.map((n) => n.nilaiAkhir); - grouped[semester].avgNilai = - nilaiValues.length > 0 - ? Math.round((nilaiValues.reduce((sum, val) => sum + val, 0) / nilaiValues.length) * 10) / 10 - : 0; - }); - - return grouped; -} - -/** - * Check if mahasiswa has any input nilai (from localStorage) - */ -export function hasInputNilai(mahasiswaId: string): boolean { - const localStorageNilai = getAllNilai(); - return localStorageNilai.some((n) => n.mahasiswaId === mahasiswaId); -} - -/** - * Get summary statistics for integrated data - */ -export function getIntegratedSummary() { - const allNilai = getCombinedNilaiData(); - const localStorageCount = allNilai.filter((n) => n.source === 'localStorage').length; - const mockDataCount = allNilai.filter((n) => n.source === 'mockData').length; - - return { - total: allNilai.length, - fromLocalStorage: localStorageCount, - fromMockData: mockDataCount, - percentageReal: allNilai.length > 0 - ? Math.round((localStorageCount / allNilai.length) * 100) - : 0, - }; -} - -/** - * Calculate CPMK breakdown with bobot for each CPL - * Bobot calculation: - * 1. CPL → MK: 100% / jumlah MK terkait CPL (across all semesters) - * 2. MK → CPMK: bobot MK / jumlah CPMK dalam MK tersebut - */ -export function hitungCPMKBreakdownPerCPL( - mahasiswaId: string, - semester: number, - prodiKode: string -): { - cplKode: string; - cplDeskripsi: string; - nilaiCPL: number; - totalMKTerkait: number; - bobotMKPerCPL: number; - mataKuliah: { - mkKode: string; - mkNama: string; - nilaiMK: number; - sks: number; - semester: number; - bobotMK: number; - cpmkList: { - cpmkKode: string; - deskripsi: string; - bobot: number; - nilaiWeighted: number; - }[]; - }[]; -}[] { - const nilaiMhs = getIntegratedNilaiByMahasiswa(mahasiswaId); - const mkDiSemester = mataKuliahData.filter( - (mk) => mk.semester === semester && mk.prodiKode === prodiKode - ); - - const nilaiMKSemester = nilaiMhs.filter((n) => - mkDiSemester.some((mk) => mk.kode === n.mkKode) - ); - - if (nilaiMKSemester.length === 0) { - return []; - } - - // Step 1: Calculate bobot CPL → MK - // Count total MK for each CPL across ALL semesters - const allMKProdi = mataKuliahData.filter((mk) => mk.prodiKode === prodiKode); - const cplToMKCount: { [cplKode: string]: number } = {}; - - allMKProdi.forEach((mk) => { - if (mk.cplTerkait) { - mk.cplTerkait.forEach((cplKode) => { - cplToMKCount[cplKode] = (cplToMKCount[cplKode] || 0) + 1; - }); - } - }); - - // Group by CPL - const cplBreakdown: { - [cplKode: string]: { - mataKuliah: { - mkKode: string; - mkNama: string; - nilaiMK: number; - sks: number; - semester: number; - bobotMK: number; - cpmkList: { - cpmkKode: string; - deskripsi: string; - bobot: number; - nilaiWeighted: number; - }[]; - }[]; - nilaiTotal: number[]; - totalMKTerkait: number; - }; - } = {}; - - nilaiMKSemester.forEach((nilaiMK) => { - const mk = mkDiSemester.find((m) => m.kode === nilaiMK.mkKode); - if (!mk || !mk.cplTerkait) return; - - // Find CPMK for this MK - const cpmkForMK = cpmkData.filter((c) => c.mkKode === mk.kode); - - // Process each CPL that this MK contributes to - mk.cplTerkait.forEach((cplKode) => { - if (!cplBreakdown[cplKode]) { - cplBreakdown[cplKode] = { - mataKuliah: [], - nilaiTotal: [], - totalMKTerkait: cplToMKCount[cplKode] || 1 - }; - } - - // Calculate bobot MK: 100% / total MK for this CPL - const bobotMK = 100 / (cplToMKCount[cplKode] || 1); - - if (cpmkForMK.length === 0) { - // If no CPMK defined, MK contributes directly - cplBreakdown[cplKode].mataKuliah.push({ - mkKode: mk.kode, - mkNama: mk.nama, - nilaiMK: nilaiMK.nilaiAkhir, - sks: mk.sks, - semester: mk.semester, - bobotMK: Math.round(bobotMK * 100) / 100, - cpmkList: [{ - cpmkKode: `${mk.kode}-Direct`, - deskripsi: 'Penilaian langsung dari MK (belum ada CPMK)', - bobot: Math.round(bobotMK * 100) / 100, - nilaiWeighted: Math.round((nilaiMK.nilaiAkhir * bobotMK / 100) * 100) / 100, - }], - }); - - cplBreakdown[cplKode].nilaiTotal.push(nilaiMK.nilaiAkhir); - } else { - // Step 2: Calculate bobot CPMK: bobotMK / jumlah CPMK - const bobotPerCPMK = bobotMK / cpmkForMK.length; - - const cpmkList = cpmkForMK.map((cpmk) => { - const nilaiWeighted = (nilaiMK.nilaiAkhir * bobotPerCPMK) / 100; - - return { - cpmkKode: cpmk.kode, - deskripsi: cpmk.deskripsi, - bobot: Math.round(bobotPerCPMK * 100) / 100, - nilaiWeighted: Math.round(nilaiWeighted * 100) / 100, - }; - }); - - cplBreakdown[cplKode].mataKuliah.push({ - mkKode: mk.kode, - mkNama: mk.nama, - nilaiMK: nilaiMK.nilaiAkhir, - sks: mk.sks, - semester: mk.semester, - bobotMK: Math.round(bobotMK * 100) / 100, - cpmkList, - }); - - // MK contributes its raw score to CPL (weighted average calculated later) - cplBreakdown[cplKode].nilaiTotal.push(nilaiMK.nilaiAkhir); - } - }); - }); - - // Build final result - const result = Object.entries(cplBreakdown).map(([cplKode, data]) => { - const cplInfo = cplData.find((c) => c.kode === cplKode && c.prodiKode === prodiKode); - const avgNilai = data.nilaiTotal.length > 0 - ? data.nilaiTotal.reduce((sum, n) => sum + n, 0) / data.nilaiTotal.length - : 0; - - return { - cplKode, - cplDeskripsi: cplInfo?.deskripsi || '', - nilaiCPL: Math.round(avgNilai * 10) / 10, - totalMKTerkait: data.totalMKTerkait, - bobotMKPerCPL: Math.round((100 / data.totalMKTerkait) * 100) / 100, - mataKuliah: data.mataKuliah, - }; - }); - - return result.sort((a, b) => a.cplKode.localeCompare(b.cplKode)); -} diff --git a/src/utils/nilaiStorage.ts b/src/utils/nilaiStorage.ts deleted file mode 100644 index 4e1298f..0000000 --- a/src/utils/nilaiStorage.ts +++ /dev/null @@ -1,421 +0,0 @@ -/** - * Utility untuk manage penyimpanan nilai mahasiswa di localStorage - * Integrates dengan mockData dan menyediakan data real-time untuk dashboard & laporan - */ - -export interface NilaiMahasiswaStorage { - mahasiswaId: string; - mkKode: string; - nilaiAkhir: number; - timestamp: string; // ISO string -} - -export interface MahasiswaImportStorage { - mahasiswaId: string; - npm: string; - nama: string; - prodiKode: string; - angkatan?: string; - timestamp: string; -} - -const STORAGE_KEY = 'kkp_nilai_mahasiswa'; -const MAHASISWA_STORAGE_KEY = 'kkp_mahasiswa_import'; - -/** - * Get all nilai from localStorage - */ -export function getAllNilai(): NilaiMahasiswaStorage[] { - if (typeof window === 'undefined') return []; - - try { - const data = localStorage.getItem(STORAGE_KEY); - return data ? JSON.parse(data) : []; - } catch (error) { - console.error('Error reading nilai from localStorage:', error); - return []; - } -} - -/** - * Save or update nilai for a mahasiswa-MK combination - */ -export function saveNilai(mahasiswaId: string, mkKode: string, nilaiAkhir: number): boolean { - if (typeof window === 'undefined') return false; - - try { - const allNilai = getAllNilai(); - - // Check if nilai already exists for this mahasiswa-MK - const existingIndex = allNilai.findIndex( - (n) => n.mahasiswaId === mahasiswaId && n.mkKode === mkKode - ); - - const nilaiData: NilaiMahasiswaStorage = { - mahasiswaId, - mkKode, - nilaiAkhir, - timestamp: new Date().toISOString(), - }; - - if (existingIndex >= 0) { - // Update existing nilai - allNilai[existingIndex] = nilaiData; - } else { - // Add new nilai - allNilai.push(nilaiData); - } - - localStorage.setItem(STORAGE_KEY, JSON.stringify(allNilai)); - return true; - } catch (error) { - console.error('Error saving nilai to localStorage:', error); - return false; - } -} - -/** - * Get nilai for a specific mahasiswa - */ -export function getNilaiByMahasiswa(mahasiswaId: string): NilaiMahasiswaStorage[] { - const allNilai = getAllNilai(); - return allNilai.filter((n) => n.mahasiswaId === mahasiswaId); -} - -/** - * Get nilai for a specific mahasiswa and MK - */ -export function getNilaiByMahasiswaMK(mahasiswaId: string, mkKode: string): NilaiMahasiswaStorage | null { - const allNilai = getAllNilai(); - return allNilai.find((n) => n.mahasiswaId === mahasiswaId && n.mkKode === mkKode) || null; -} - -/** - * Delete nilai for a specific mahasiswa-MK combination - */ -export function deleteNilai(mahasiswaId: string, mkKode: string): boolean { - if (typeof window === 'undefined') return false; - - try { - const allNilai = getAllNilai(); - const filtered = allNilai.filter( - (n) => !(n.mahasiswaId === mahasiswaId && n.mkKode === mkKode) - ); - - localStorage.setItem(STORAGE_KEY, JSON.stringify(filtered)); - return true; - } catch (error) { - console.error('Error deleting nilai from localStorage:', error); - return false; - } -} - -/** - * Clear all nilai data - */ -export function clearAllNilai(): boolean { - if (typeof window === 'undefined') return false; - - try { - localStorage.removeItem(STORAGE_KEY); - return true; - } catch (error) { - console.error('Error clearing nilai from localStorage:', error); - return false; - } -} - -/** - * Get statistics for a mahasiswa - */ -export function getMahasiswaStatistics(mahasiswaId: string) { - const nilaiList = getNilaiByMahasiswa(mahasiswaId); - - if (nilaiList.length === 0) { - return { - totalMK: 0, - avgNilai: 0, - highestNilai: 0, - lowestNilai: 0, - }; - } - - const nilaiValues = nilaiList.map((n) => n.nilaiAkhir); - const total = nilaiValues.reduce((sum, val) => sum + val, 0); - - return { - totalMK: nilaiList.length, - avgNilai: Math.round((total / nilaiList.length) * 10) / 10, - highestNilai: Math.max(...nilaiValues), - lowestNilai: Math.min(...nilaiValues), - }; -} - -/** - * Batch save nilai from import (Excel/CSV) - * Returns statistics of success and failed saves - */ -export function batchSaveNilai(nilaiList: NilaiMahasiswaStorage[]): { - success: number; - failed: number; - total: number; - errors: string[]; -} { - if (typeof window === 'undefined') { - return { success: 0, failed: nilaiList.length, total: nilaiList.length, errors: ['Window is undefined'] }; - } - - const stats = { - success: 0, - failed: 0, - total: nilaiList.length, - errors: [] as string[], - }; - - try { - const allNilai = getAllNilai(); - const updatedNilai = [...allNilai]; - - nilaiList.forEach((nilai, index) => { - try { - // Validate data - if (!nilai.mahasiswaId || !nilai.mkKode || nilai.nilaiAkhir === undefined) { - stats.failed++; - stats.errors.push(`Row ${index + 1}: Missing required fields`); - return; - } - - if (nilai.nilaiAkhir < 0 || nilai.nilaiAkhir > 100) { - stats.failed++; - stats.errors.push(`Row ${index + 1}: Invalid nilai (must be 0-100)`); - return; - } - - // Check if nilai already exists - const existingIndex = updatedNilai.findIndex( - (n) => n.mahasiswaId === nilai.mahasiswaId && n.mkKode === nilai.mkKode - ); - - const nilaiData: NilaiMahasiswaStorage = { - mahasiswaId: nilai.mahasiswaId, - mkKode: nilai.mkKode, - nilaiAkhir: nilai.nilaiAkhir, - timestamp: nilai.timestamp || new Date().toISOString(), - }; - - if (existingIndex >= 0) { - // Update existing nilai - updatedNilai[existingIndex] = nilaiData; - } else { - // Add new nilai - updatedNilai.push(nilaiData); - } - - stats.success++; - } catch (error) { - stats.failed++; - stats.errors.push(`Row ${index + 1}: ${error instanceof Error ? error.message : 'Unknown error'}`); - } - }); - - // Save all at once - localStorage.setItem(STORAGE_KEY, JSON.stringify(updatedNilai)); - - // Trigger storage event untuk update komponen lain - window.dispatchEvent(new Event('storage')); - - return stats; - } catch (error) { - return { - success: 0, - failed: nilaiList.length, - total: nilaiList.length, - errors: [error instanceof Error ? error.message : 'Unknown error during batch save'], - }; - } -} - -/** - * Get total count of nilai in localStorage - */ -export function getTotalNilaiCount(): number { - const allNilai = getAllNilai(); - return allNilai.length; -} - -/** - * Get count of nilai per prodi - */ -export function getNilaiCountByProdi(): { [prodiKode: string]: number } { - const allNilai = getAllNilai(); - const countByProdi: { [prodiKode: string]: number } = {}; - - allNilai.forEach((nilai) => { - // Extract prodi from mahasiswaId (assuming format like "INF-xxx" or similar) - const prodiMatch = nilai.mahasiswaId.match(/^([A-Z]+)/); - if (prodiMatch) { - const prodi = prodiMatch[1]; - countByProdi[prodi] = (countByProdi[prodi] || 0) + 1; - } - }); - - return countByProdi; -} - -/** - * Export all nilai to JSON - */ -export function exportNilaiToJSON(): string { - const allNilai = getAllNilai(); - return JSON.stringify(allNilai, null, 2); -} - -/** - * Import nilai from JSON - */ -export function importNilaiFromJSON(jsonString: string): { - success: boolean; - count: number; - error?: string; -} { - try { - const data = JSON.parse(jsonString); - - if (!Array.isArray(data)) { - return { success: false, count: 0, error: 'Invalid JSON format: expected array' }; - } - - const stats = batchSaveNilai(data); - - return { - success: stats.success > 0, - count: stats.success, - error: stats.failed > 0 ? `${stats.failed} items failed` : undefined, - }; - } catch (error) { - return { - success: false, - count: 0, - error: error instanceof Error ? error.message : 'Unknown error', - }; - } -} - -/** - * Get all imported mahasiswa from localStorage - */ -export function getAllImportedMahasiswa(): MahasiswaImportStorage[] { - if (typeof window === 'undefined') return []; - - try { - const data = localStorage.getItem(MAHASISWA_STORAGE_KEY); - return data ? JSON.parse(data) : []; - } catch (error) { - console.error('Error reading mahasiswa from localStorage:', error); - return []; - } -} - -/** - * Save mahasiswa data from import - */ -export function saveMahasiswaImport(mahasiswaData: MahasiswaImportStorage): boolean { - if (typeof window === 'undefined') return false; - - try { - const allMahasiswa = getAllImportedMahasiswa(); - - // Check if mahasiswa already exists - const existingIndex = allMahasiswa.findIndex( - (m) => m.mahasiswaId === mahasiswaData.mahasiswaId - ); - - if (existingIndex >= 0) { - // Update existing - allMahasiswa[existingIndex] = { - ...mahasiswaData, - timestamp: new Date().toISOString(), - }; - } else { - // Add new - allMahasiswa.push({ - ...mahasiswaData, - timestamp: new Date().toISOString(), - }); - } - - localStorage.setItem(MAHASISWA_STORAGE_KEY, JSON.stringify(allMahasiswa)); - return true; - } catch (error) { - console.error('Error saving mahasiswa:', error); - return false; - } -} - -/** - * Batch save mahasiswa from import (efficient for bulk operations) - */ -export function batchSaveMahasiswa(mahasiswaList: MahasiswaImportStorage[]): { - success: number; - failed: number; - total: number; - errors: string[]; -} { - if (typeof window === 'undefined') { - return { success: 0, failed: mahasiswaList.length, total: mahasiswaList.length, errors: ['Window is undefined'] }; - } - - const stats = { - success: 0, - failed: 0, - total: mahasiswaList.length, - errors: [] as string[], - }; - - try { - const allMahasiswa = getAllImportedMahasiswa(); - const mahasiswaMap = new Map(); - - // Create map from existing data - allMahasiswa.forEach(mhs => { - mahasiswaMap.set(mhs.mahasiswaId, mhs); - }); - - // Process batch - mahasiswaList.forEach((mhsData, index) => { - try { - // Validate required fields - if (!mhsData.mahasiswaId || !mhsData.npm || !mhsData.nama || !mhsData.prodiKode) { - throw new Error('Missing required fields (mahasiswaId, npm, nama, or prodiKode)'); - } - - // Update or add to map - mahasiswaMap.set(mhsData.mahasiswaId, { - ...mhsData, - timestamp: new Date().toISOString(), - }); - - stats.success++; - } catch (error) { - stats.failed++; - stats.errors.push(`Row ${index + 1}: ${error instanceof Error ? error.message : 'Unknown error'}`); - } - }); - - // Save all at once - const updatedMahasiswa = Array.from(mahasiswaMap.values()); - localStorage.setItem(MAHASISWA_STORAGE_KEY, JSON.stringify(updatedMahasiswa)); - - // Trigger storage event - window.dispatchEvent(new Event('storage')); - - return stats; - } catch (error) { - return { - success: 0, - failed: mahasiswaList.length, - total: mahasiswaList.length, - errors: [error instanceof Error ? error.message : 'Unknown error during batch save'], - }; - } -} diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index 37e97d4..0000000 --- a/tailwind.config.js +++ /dev/null @@ -1,27 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -module.exports = { - content: [ - './src/pages/**/*.{js,ts,jsx,tsx,mdx}', - './src/components/**/*.{js,ts,jsx,tsx,mdx}', - './src/app/**/*.{js,ts,jsx,tsx,mdx}', - ], - theme: { - extend: { - colors: { - primary: { - 50: '#f0f9ff', - 100: '#e0f2fe', - 200: '#bae6fd', - 300: '#7dd3fc', - 400: '#38bdf8', - 500: '#0ea5e9', - 600: '#0284c7', - 700: '#0369a1', - 800: '#075985', - 900: '#0c4a6e', - }, - }, - }, - }, - plugins: [], -} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 404b4a5..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], - "paths": { - "@/*": ["./src/*"] - } - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] -} From 8ac50c53764f531e56f0e3ca271abf1960d739f0 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Fri, 12 Dec 2025 05:58:12 +0800 Subject: [PATCH 15/36] 12Desc --- cmd/api/main.go | 5 +- internal/config/config.go | 8 +- internal/db/db.go | 28 +- internal/http/handler_health.go | 4 +- internal/http/handler_mahasiswa.go | 75 +++++ internal/http/handler_mapping.go | 265 --------------- internal/http/handler_master.go | 154 +++++++-- internal/http/handler_nilai.go | 399 ++++++----------------- internal/http/router.go | 21 +- internal/http/service_cpl.go | 88 ----- internal/model/cpl.go | 8 +- internal/model/cpmk.go | 10 +- internal/model/mahasiswa.go | 12 +- internal/model/mk.go | 12 +- internal/model/nilai_cpl.go | 2 +- internal/model/prodi.go | 8 +- internal/service/cpl_service.go | 152 +++++++++ internal/service/import_nilai_service.go | 250 ++++++++++++++ 18 files changed, 761 insertions(+), 740 deletions(-) create mode 100644 internal/http/handler_mahasiswa.go delete mode 100644 internal/http/handler_mapping.go delete mode 100644 internal/http/service_cpl.go create mode 100644 internal/service/cpl_service.go create mode 100644 internal/service/import_nilai_service.go diff --git a/cmd/api/main.go b/cmd/api/main.go index 353a0fe..c59104d 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -1,6 +1,7 @@ package main import ( + "context" "log" "cpmk/internal/config" @@ -9,9 +10,11 @@ import ( ) func main() { + ctx := context.Background() + cfg := config.Load() - db.MustConnect(cfg.DBDSN) + db.MustConnect(ctx, cfg.DBDSN) r := httphandler.NewRouter() diff --git a/internal/config/config.go b/internal/config/config.go index de1cc30..715be93 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,6 +1,8 @@ package config -import "os" +import ( + "os" +) type Config struct { DBDSN string @@ -9,7 +11,9 @@ type Config struct { func Load() *Config { return &Config{ - DBDSN: env("DB_DSN", "root:@tcp(127.0.0.1:3306)/cpl_unismuh?parseTime=true"), + // contoh DSN MySQL: + // user:password@tcp(host:port)/dbname?parseTime=true&loc=Local + DBDSN: env("DB_DSN", "root:@tcp(127.0.0.1:3306)/cpl_unismuh?parseTime=true&loc=Local"), Port: env("PORT", "8001"), } } diff --git a/internal/db/db.go b/internal/db/db.go index 8d53cef..d3c2ce6 100644 --- a/internal/db/db.go +++ b/internal/db/db.go @@ -1,7 +1,9 @@ package db import ( + "context" "log" + "time" "gorm.io/driver/mysql" "gorm.io/gorm" @@ -9,11 +11,27 @@ import ( var DB *gorm.DB -func MustConnect(dsn string) *gorm.DB { - db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) +// MustConnect membuka koneksi DB dan panic/log.Fatalf jika gagal. +// ctx dipakai hanya untuk handshake awal. +func MustConnect(ctx context.Context, dsn string) *gorm.DB { + // batas waktu koneksi awal, misal 10 detik + ctx, cancel := context.WithTimeout(ctx, 10*time.Second) + defer cancel() + + gdb, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) + if err != nil { + log.Fatalf("failed to open DB: %v", err) + } + + // Ping untuk memastikan koneksi hidup + sqlDB, err := gdb.DB() if err != nil { - log.Fatalf("failed to connect DB: %v", err) + log.Fatalf("failed to get sql.DB: %v", err) + } + if err := sqlDB.PingContext(ctx); err != nil { + log.Fatalf("failed to ping DB: %v", err) } - DB = db - return db + + DB = gdb + return gdb } diff --git a/internal/http/handler_health.go b/internal/http/handler_health.go index 80fa5a3..a2abcc6 100644 --- a/internal/http/handler_health.go +++ b/internal/http/handler_health.go @@ -7,5 +7,7 @@ import ( ) func healthHandler(c *gin.Context) { - c.JSON(http.StatusOK, gin.H{"status": "ok"}) + c.JSON(http.StatusOK, gin.H{ + "status": "ok", + }) } diff --git a/internal/http/handler_mahasiswa.go b/internal/http/handler_mahasiswa.go new file mode 100644 index 0000000..29c3ceb --- /dev/null +++ b/internal/http/handler_mahasiswa.go @@ -0,0 +1,75 @@ +// internal/http/handler_mahasiswa.go +package http + +import ( + "net/http" + "strconv" + + "cpmk/internal/db" + + "github.com/gin-gonic/gin" +) + +type MahasiswaSummary struct { + IDMhs uint64 `json:"id_mhs"` + NIM string `json:"nim"` + Nama string `json:"nama"` + Angkatan int `json:"angkatan"` + SemesterMax uint8 `json:"semester_max"` + TotalNilai int `json:"total_nilai"` + DariImport int `json:"dari_import"` +} + +func listMahasiswaDenganNilaiHandler(c *gin.Context) { + ctx := c.Request.Context() + + idStr := c.Param("id_prodi") + idProdi, err := strconv.ParseUint(idStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "id_prodi tidak valid"}) + return + } + + semStr := c.Query("semester") // boleh kosong + + // DB-first aggregation: hitung di SQL, bukan di Go + baseSQL := ` +SELECT + m.id_mhs, + m.nim, + m.nama, + m.angkatan, + MAX(n.semester_tempuh) AS semester_max, + COUNT(*) AS total_nilai, + SUM(CASE WHEN n.sumber = 'import_json' THEN 1 ELSE 0 END) AS dari_import +FROM mahasiswa m +JOIN nilai_mk n ON n.id_mhs = m.id_mhs +WHERE m.id_prodi = ? +` + args := []any{idProdi} + + if semStr != "" { + baseSQL += " AND n.semester_tempuh = ?" + if sem, err := strconv.ParseUint(semStr, 10, 8); err == nil { + args = append(args, uint8(sem)) + } else { + c.JSON(http.StatusBadRequest, gin.H{"error": "semester tidak valid"}) + return + } + } + + baseSQL += ` +GROUP BY + m.id_mhs, m.nim, m.nama, m.angkatan +ORDER BY + m.nim +` + + var rows []MahasiswaSummary + if err := db.DB.WithContext(ctx).Raw(baseSQL, args...).Scan(&rows).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error summary mahasiswa"}) + return + } + + c.JSON(http.StatusOK, rows) +} diff --git a/internal/http/handler_mapping.go b/internal/http/handler_mapping.go deleted file mode 100644 index 7f2972f..0000000 --- a/internal/http/handler_mapping.go +++ /dev/null @@ -1,265 +0,0 @@ -package http - -import ( - "fmt" - "net/http" - "strconv" - "strings" - - "cpmk/internal/db" - "cpmk/internal/model" - - "github.com/gin-gonic/gin" - "github.com/xuri/excelize/v2" - "gorm.io/gorm" -) - -func normalizeHeader(s string) string { - s = strings.ToLower(strings.TrimSpace(s)) - s = strings.ReplaceAll(s, " ", "") - s = strings.ReplaceAll(s, "_", "") - return s -} - -// POST /api/prodi/:id_prodi/cpl-mk/import-xlsx -func importCPLMKMappingHandler(c *gin.Context) { - idProdiStr := c.Param("id_prodi") - idProdi, err := strconv.ParseUint(idProdiStr, 10, 64) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) - return - } - - fileHeader, err := c.FormFile("file") - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "file is required (field: file)"}) - return - } - - fh, err := fileHeader.Open() - if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "cannot open uploaded file"}) - return - } - defer fh.Close() - - xf, err := excelize.OpenReader(fh) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "invalid xlsx: " + err.Error()}) - return - } - defer xf.Close() - - // Pakai sheet "mk & cpl" kalau ada, kalau tidak pakai sheet pertama - sheets := xf.GetSheetList() - if len(sheets) == 0 { - c.JSON(http.StatusBadRequest, gin.H{"error": "xlsx has no sheets"}) - return - } - sheetName := "mk & cpl" - found := false - for _, s := range sheets { - if strings.EqualFold(strings.TrimSpace(s), sheetName) { - sheetName = s - found = true - break - } - } - if !found { - sheetName = sheets[0] - } - - rows, err := xf.GetRows(sheetName) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "cannot read sheet: " + err.Error()}) - return - } - if len(rows) < 2 { - c.JSON(http.StatusBadRequest, gin.H{"error": "no data rows"}) - return - } - - header := rows[0] - if len(header) == 0 { - c.JSON(http.StatusBadRequest, gin.H{"error": "header row is empty"}) - return - } - - // Identifikasi kolom "kode mk" dan kolom CPL - kodeMKIdx := -1 - cplCols := make(map[int]string) // colIndex -> kode_cpl (e.g. "CPL1") - - for idx, h := range header { - nh := normalizeHeader(h) - if nh == "kodemk" || nh == "kodemata kuliah" || nh == "kodemkobe" { - kodeMKIdx = idx - continue - } - if strings.HasPrefix(nh, "cpl") { - // misal header "CPL1" -> kode_cpl "CPL1" - // atau "cpl_1" -> "CPL1" - code := strings.ToUpper(strings.ReplaceAll(h, " ", "")) - code = strings.ToUpper(strings.ReplaceAll(code, "_", "")) - // kalau malah jadi "CPL1" "CPL2" dsb sudah oke - if !strings.HasPrefix(code, "CPL") { - // fallback from normalized name - code = "CPL" + strings.TrimPrefix(nh, "cpl") - code = strings.ToUpper(code) - } - cplCols[idx] = code - } - } - - if kodeMKIdx == -1 { - c.JSON(http.StatusBadRequest, gin.H{"error": "cannot find Kode MK column in header"}) - return - } - if len(cplCols) == 0 { - c.JSON(http.StatusBadRequest, gin.H{"error": "no CPL columns detected in header"}) - return - } - - // Map: kode_cpl -> list of kode_mk - cplToMK := map[string][]string{} - - for i, row := range rows { - if i == 0 { - continue // header - } - if kodeMKIdx >= len(row) { - continue - } - kodeMK := strings.TrimSpace(row[kodeMKIdx]) - if kodeMK == "" { - continue - } - - // periksa tiap kolom CPL - for colIdx, kodeCPL := range cplCols { - if colIdx >= len(row) { - continue - } - val := strings.TrimSpace(row[colIdx]) - if val == "" { - continue // tidak memuat CPL ini - } - // ada isi -> MK ini memuat CPL tersebut - cplToMK[kodeCPL] = append(cplToMK[kodeCPL], kodeMK) - } - } - - if len(cplToMK) == 0 { - c.JSON(http.StatusBadRequest, gin.H{"error": "no CPL-MK relationships found (all empty?)"}) - return - } - - type SummaryItem struct { - KodeCPL string `json:"kode_cpl"` - CountMK int `json:"count_mk"` - BobotPerMK float64 `json:"bobot_per_mk"` - KodeMKSample []string `json:"kode_mk_sample"` - } - - var summary []SummaryItem - - // Jalankan dalam transaksi - err = db.DB.Transaction(func(tx *gorm.DB) error { - // Optional: hapus mapping lama prodi ini dulu - // (kalau cpl_mk punya id_prodi, gunakan WHERE id_prodi = ?) - // kalau tidak, kita ambil cpl per prodi lalu delete by id_cpl - var cpls []model.CPL - if err := tx.Where("id_prodi = ?", idProdi).Find(&cpls).Error; err != nil { - return err - } - cplIDByKode := map[string]uint64{} - for _, c := range cpls { - cplIDByKode[strings.ToUpper(strings.TrimSpace(c.KodeCPL))] = c.IDCPL - } - - // Ambil semua MK prodi ini (lookup by kode_mk) - var mks []model.MK - if err := tx.Where("id_prodi = ?", idProdi).Find(&mks).Error; err != nil { - return err - } - mkIDByKode := map[string]uint64{} - for _, m := range mks { - mkIDByKode[strings.TrimSpace(m.KodeMK)] = m.IDMK - } - - // Hapus mapping lama untuk CPL prodi ini - var cplIDs []uint64 - for _, c := range cpls { - cplIDs = append(cplIDs, c.IDCPL) - } - if len(cplIDs) > 0 { - if err := tx.Where("id_cpl IN ?", cplIDs).Delete(&model.CPLMK{}).Error; err != nil { - return err - } - } - - // Insert mapping baru - for kodeCPL, mkCodes := range cplToMK { - kodeCPLNorm := strings.ToUpper(strings.TrimSpace(kodeCPL)) - idCPL, ok := cplIDByKode[kodeCPLNorm] - if !ok { - return fmt.Errorf("CPL %s (from header) not found in table cpl for prodi %d", kodeCPLNorm, idProdi) - } - - // filter MK yang benar-benar ada di tabel mk - var mkIDs []uint64 - var sampleMK []string - - for _, km := range mkCodes { - idMK, ok := mkIDByKode[km] - if !ok { - // kalau mau keras, bisa return error di sini - // return fmt.Errorf("kode_mk %s (from mapping) not found in table mk", km) - // untuk sekarang, skip yang tidak ada - continue - } - mkIDs = append(mkIDs, idMK) - if len(sampleMK) < 5 { - sampleMK = append(sampleMK, km) - } - } - - if len(mkIDs) == 0 { - continue - } - - bobot := 1.0 / float64(len(mkIDs)) - - for _, idMK := range mkIDs { - rec := model.CPLMK{ - IDCPL: idCPL, - IDMK: idMK, - BobotFraction: bobot, - Sumber: "import_xlsx", - } - if err := tx.Create(&rec).Error; err != nil { - return err - } - } - - summary = append(summary, SummaryItem{ - KodeCPL: kodeCPLNorm, - CountMK: len(mkIDs), - BobotPerMK: bobot, - KodeMKSample: sampleMK, - }) - } - - return nil - }) - - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - return - } - - c.JSON(http.StatusOK, gin.H{ - "status": "ok", - "id_prodi": idProdi, - "cpl_mk_generated": summary, - }) -} diff --git a/internal/http/handler_master.go b/internal/http/handler_master.go index 6c0bd92..085755d 100644 --- a/internal/http/handler_master.go +++ b/internal/http/handler_master.go @@ -10,47 +10,35 @@ import ( "github.com/gin-gonic/gin" ) +type CPLStat struct { + IDCPL uint64 `json:"id_cpl"` + KodeCPL string `json:"kode_cpl"` + Deskripsi string `json:"deskripsi"` + JumlahMahasiswa int64 `json:"jumlah_mahasiswa"` + RataNilai float64 `json:"rata_nilai"` + MinNilai float64 `json:"min_nilai"` + MaxNilai float64 `json:"max_nilai"` + KategoriTinggi int64 `json:"kategori_tinggi"` + KategoriSedang int64 `json:"kategori_sedang"` + KategoriRendah int64 `json:"kategori_rendah"` +} + // GET /api/prodi func listProdiHandler(c *gin.Context) { + ctx := c.Request.Context() + var prodis []model.Prodi - if err := db.DB.Find(&prodis).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) + if err := db.DB.WithContext(ctx).Find(&prodis).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error prodi"}) return } c.JSON(http.StatusOK, prodis) } -// GET /api/prodi/:id_prodi/cpl -func listCPLByProdiHandler(c *gin.Context) { - idStr := c.Param("id_prodi") - id, err := strconv.ParseUint(idStr, 10, 64) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) - return - } - - var cpls []model.CPL - if err := db.DB.Where("id_prodi = ?", id).Find(&cpls).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) - return - } - //array nama prodi - var prodi [6]string = [6]string{ - "Elektro", - "Arsitektur", - "Informatika", - } - id -= 1 - if len(cpls) == 0 { - c.JSON(http.StatusNotFound, gin.H{"Empty": "404 Not Found for CPL by Prodi " + prodi[id]}) - return - } - - c.JSON(http.StatusOK, cpls) -} - // GET /api/prodi/:id_prodi/mk?semester=1 func listMKByProdiSemesterHandler(c *gin.Context) { + ctx := c.Request.Context() + idStr := c.Param("id_prodi") id, err := strconv.ParseUint(idStr, 10, 64) if err != nil { @@ -58,9 +46,9 @@ func listMKByProdiSemesterHandler(c *gin.Context) { return } semStr := c.Query("semester") - var mkList []model.MK - q := db.DB.Where("id_prodi = ?", id) + var mkList []model.MK + q := db.DB.WithContext(ctx).Where("id_prodi = ?", id) if semStr != "" { sem, err := strconv.ParseUint(semStr, 10, 8) if err != nil { @@ -69,15 +57,44 @@ func listMKByProdiSemesterHandler(c *gin.Context) { } q = q.Where("semester = ?", sem) } + if err := q.Find(&mkList).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error mk"}) return } + c.JSON(http.StatusOK, mkList) } +// GET /api/prodi/:id_prodi/cpl +func listCPLByProdiHandler(c *gin.Context) { + ctx := c.Request.Context() + + idStr := c.Param("id_prodi") + id, err := strconv.ParseUint(idStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) + return + } + + var list []model.CPL + if err := db.DB.WithContext(ctx). + Where("id_prodi = ?", id). + Order("kode_cpl"). + Find(&list).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpl"}) + return + } + + c.JSON(http.StatusOK, list) +} + // GET /api/mk/:id_mk/cpmk +// GET /api/mk/:id_mk/cpmk +// tapi kita join berdasarkan kode_mk func listCPMKByMKHandler(c *gin.Context) { + ctx := c.Request.Context() + idStr := c.Param("id_mk") id, err := strconv.ParseUint(idStr, 10, 64) if err != nil { @@ -85,10 +102,75 @@ func listCPMKByMKHandler(c *gin.Context) { return } + // ambil kode_mk dari id_mk + var mk model.MK + if err := db.DB.WithContext(ctx).First(&mk, id).Error; err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": "mk not found"}) + return + } + + // cari CPMK berdasarkan kode_mk lama (kalau cpmk disimpan pake kode) var list []model.CPMK - if err := db.DB.Where("id_mk = ?", id).Find(&list).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) + if err := db.DB.WithContext(ctx). + Where("kode_mk = ?", mk.KodeMK). // <-- kalau struktur cpmk kamu ada kolom kode_mk + Order("kode_cpmk"). + Find(&list).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpmk"}) return } + c.JSON(http.StatusOK, list) } + +// GET /api/prodi/:id_prodi/cpl-stats?semester=1 +func getCPLStatsByProdiSemesterHandler(c *gin.Context) { + ctx := c.Request.Context() + + idStr := c.Param("id_prodi") + idProdi, err := strconv.ParseUint(idStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) + return + } + + semStr := c.Query("semester") + if semStr == "" { + c.JSON(http.StatusBadRequest, gin.H{"error": "semester wajib diisi"}) + return + } + sem, err := strconv.Atoi(semStr) + if err != nil || sem <= 0 || sem > 20 { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid semester"}) + return + } + + var rows []CPLStat + query := ` +SELECT + c.id_cpl, + c.kode_cpl, + c.deskripsi, + COUNT(nc.id_mhs) AS jumlah_mahasiswa, + COALESCE(AVG(nc.nilai_angka), 0) AS rata_nilai, + COALESCE(MIN(nc.nilai_angka), 0) AS min_nilai, + COALESCE(MAX(nc.nilai_angka), 0) AS max_nilai, + SUM(CASE WHEN nc.nilai_angka >= 70 THEN 1 ELSE 0 END) AS kategori_tinggi, + SUM(CASE WHEN nc.nilai_angka >= 50 AND nc.nilai_angka < 70 THEN 1 ELSE 0 END) AS kategori_sedang, + SUM(CASE WHEN nc.nilai_angka < 50 THEN 1 ELSE 0 END) AS kategori_rendah + FROM cpl c + LEFT JOIN nilai_cpl nc + ON nc.id_cpl = c.id_cpl + AND nc.semester_eval = ? + WHERE c.id_prodi = ? + GROUP BY c.id_cpl, c.kode_cpl, c.deskripsi + ORDER BY c.kode_cpl + ` + if err := db.DB.WithContext(ctx). + Raw(query, sem, idProdi). + Scan(&rows).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpl stats"}) + return + } + + c.JSON(http.StatusOK, rows) +} diff --git a/internal/http/handler_nilai.go b/internal/http/handler_nilai.go index b85cf2a..cd8b137 100644 --- a/internal/http/handler_nilai.go +++ b/internal/http/handler_nilai.go @@ -1,67 +1,43 @@ package http import ( - "database/sql" - "fmt" + "errors" "net/http" "strconv" - "strings" - "time" "cpmk/internal/db" "cpmk/internal/model" + "cpmk/internal/service" "github.com/gin-gonic/gin" "gorm.io/gorm" - "gorm.io/gorm/clause" ) -// --------------------------- -// STRUCT PAYLOAD IMPORT JSON -// --------------------------- - -type ImportMatkulItem struct { +type importMatkulPayload struct { Kode string `json:"kode"` Nama string `json:"nama"` SKS uint8 `json:"sks"` } -type ImportMahasiswaItem struct { +type importMahasiswaPayload struct { NIM string `json:"nim"` Nama string `json:"nama"` NilaiMap map[string]float64 `json:"nilaiMap"` } -type ImportNilaiRequest struct { - ProdiKode string `json:"prodiKode"` - Semester uint8 `json:"semester"` - MatkulList []ImportMatkulItem `json:"matkulList"` - ImportData []ImportMahasiswaItem `json:"importData"` -} - -// row mentah hasil join nilai_mk + mk + cpl_mk -type cplCalcRow struct { - IDMhs uint64 `gorm:"column:id_mhs"` - IDCPL uint64 `gorm:"column:id_cpl"` - NilaiAngka float64 `gorm:"column:nilai_angka"` - BobotFraction sql.NullFloat64 `gorm:"column:bobot_fraction"` +type importNilaiRequest struct { + ProdiKode string `json:"prodiKode"` + Semester uint8 `json:"semester"` + TahunAjaran string `json:"tahunAjaran"` + MatkulList []importMatkulPayload `json:"matkulList"` + ImportData []importMahasiswaPayload `json:"importData"` } -// aggregator per (mhs, cpl) -type cplAgg struct { - SumWeighted float64 - SumWeight float64 - SumPlain float64 - CountPlain int - HasBobot bool -} - -// --------------------------- -// POST /api/nilai-mk/import-json -// --------------------------- +// POST /api/nilai-mk/import +func importNilaiHandler(c *gin.Context) { + ctx := c.Request.Context() -func importNilaiJSONHandler(c *gin.Context) { - var req ImportNilaiRequest + var req importNilaiRequest if err := c.ShouldBindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{ "error": "payload tidak valid: " + err.Error(), @@ -69,7 +45,6 @@ func importNilaiJSONHandler(c *gin.Context) { return } - // Validasi dasar if req.ProdiKode == "" { c.JSON(http.StatusBadRequest, gin.H{"error": "prodiKode wajib diisi"}) return @@ -87,157 +62,34 @@ func importNilaiJSONHandler(c *gin.Context) { return } - // Ambil prodi - var prodi model.Prodi - if err := db.DB.Where("kode_prodi = ?", req.ProdiKode).First(&prodi).Error; err != nil { - if err == gorm.ErrRecordNotFound { - c.JSON(http.StatusBadRequest, gin.H{"error": "prodi tidak ditemukan"}) - } else { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error prodi"}) - } - return + // mapping payload ke struct service + matkulItems := make([]service.ImportMatkulItem, 0, len(req.MatkulList)) + for _, m := range req.MatkulList { + matkulItems = append(matkulItems, service.ImportMatkulItem{ + Kode: m.Kode, + Nama: m.Nama, + SKS: m.SKS, + }) } - // Jalankan dalam transaksi - err := db.DB.Transaction(func(tx *gorm.DB) error { - - // ======================== - // 1. Pastikan semua MK ada - // ======================== - - mkMap := make(map[string]*model.MK) - - kodeList := make([]string, 0) - for _, m := range req.MatkulList { - kodeList = append(kodeList, strings.TrimSpace(m.Kode)) - } - - var existingMK []model.MK - tx.Where("kode_mk IN ? AND id_prodi = ?", kodeList, prodi.IDProdi).Find(&existingMK) - for i := range existingMK { - mk := &existingMK[i] - mkMap[strings.ToLower(mk.KodeMK)] = mk - } - - createdMK := 0 - for _, item := range req.MatkulList { - key := strings.ToLower(item.Kode) - - if _, ok := mkMap[key]; ok { - continue - } - - mk := model.MK{ - IDProdi: prodi.IDProdi, - KodeMK: item.Kode, - NamaMK: item.Nama, - SKS: item.SKS, - Semester: req.Semester, - } - - if err := tx.Create(&mk).Error; err != nil { - return err - } - - mkMap[key] = &mk - createdMK++ - } - - // ========================== - // 2. Pastikan Mahasiswa ada - // ========================== - - mhsMap := make(map[string]*model.Mahasiswa) - - nimList := make([]string, 0) - for _, d := range req.ImportData { - nimList = append(nimList, d.NIM) - } - - var existingMhs []model.Mahasiswa - tx.Where("nim IN ? AND id_prodi = ?", nimList, prodi.IDProdi).Find(&existingMhs) - for i := range existingMhs { - m := &existingMhs[i] - mhsMap[m.NIM] = m - } - - createdMhs := 0 - for _, d := range req.ImportData { - if _, ok := mhsMap[d.NIM]; ok { - continue - } - - m := model.Mahasiswa{ - NIM: d.NIM, - Nama: d.Nama, - IDProdi: prodi.IDProdi, - } - - if err := tx.Create(&m).Error; err != nil { - return err - } - - mhsMap[d.NIM] = &m - createdMhs++ - } - - // ====================== - // 3. Simpan nilai MK - // ====================== - - insertedNilai := 0 - updatedNilai := 0 - skipped := 0 - - for _, d := range req.ImportData { - mhs := mhsMap[d.NIM] - - for kodeMK, nilai := range d.NilaiMap { - key := strings.ToLower(kodeMK) - - mk, ok := mkMap[key] - if !ok { - skipped++ - continue - } - - var nilaiMK model.NilaiMK - err := tx.Where("id_mhs = ? AND id_mk = ?", mhs.IDMhs, mk.IDMK).First(&nilaiMK).Error - - if err == gorm.ErrRecordNotFound { - nilaiMK = model.NilaiMK{ - IDMhs: mhs.IDMhs, - IDMK: mk.IDMK, - NilaiAngka: nilai, - Sumber: "import_json", - } - tx.Create(&nilaiMK) - insertedNilai++ - } else if err == nil { - nilaiMK.NilaiAngka = nilai - nilaiMK.Sumber = "import_json" - tx.Save(&nilaiMK) - updatedNilai++ - } else { - skipped++ - } - } - } - - // simpan summary - c.Set("summary", gin.H{ - "prodi": prodi.KodeProdi, - "semester": req.Semester, - "mk_baru": createdMK, - "mhs_baru": createdMhs, - "nilai_inserted": insertedNilai, - "nilai_updated": updatedNilai, - "nilai_dilewati": skipped, + importItems := make([]service.ImportMahasiswaItem, 0, len(req.ImportData)) + for _, d := range req.ImportData { + importItems = append(importItems, service.ImportMahasiswaItem{ + NIM: d.NIM, + Nama: d.Nama, + NilaiMap: d.NilaiMap, }) + } - return nil - }) + params := service.ImportNilaiParams{ + ProdiKode: req.ProdiKode, + Semester: req.Semester, + TahunAjaran: req.TahunAjaran, + MatkulList: matkulItems, + ImportData: importItems, + } + summary, err := service.ImportNilaiMK(ctx, nil, params) if err != nil { c.JSON(http.StatusInternalServerError, gin.H{ "error": "gagal import: " + err.Error(), @@ -245,153 +97,94 @@ func importNilaiJSONHandler(c *gin.Context) { return } - summary, _ := c.Get("summary") c.JSON(http.StatusOK, gin.H{ "status": "ok", "summary": summary, }) } -// ======================================= // GET /api/mahasiswa/:nim/cpl?semester=1 -// ======================================= - func getCPLByMahasiswaHandler(c *gin.Context) { + ctx := c.Request.Context() nim := c.Param("nim") semStr := c.Query("semester") - semInt, err := strconv.Atoi(semStr) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "semester invalid"}) + if semStr == "" { + c.JSON(http.StatusBadRequest, gin.H{"error": "semester wajib diisi"}) return } - var mhs model.Mahasiswa - if err := db.DB.Where("nim = ?", nim).First(&mhs).Error; err != nil { - c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa tidak ditemukan"}) - return - } - - var list []model.NilaiCPL - db.DB.Where("id_mhs = ? AND semester_eval = ?", mhs.IDMhs, uint8(semInt)).Find(&list) - - response := []gin.H{} - for _, item := range list { - var cpl model.CPL - if err := db.DB.First(&cpl, item.IDCPL).Error; err == nil { - response = append(response, gin.H{ - "kode_cpl": cpl.KodeCPL, - "nilai_angka": item.NilaiAngka, - }) + // parse ke int + var sem uint8 + { + var tmp uint64 + var err error + tmp, err = strconv.ParseUint(semStr, 10, 8) + if err != nil || tmp == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "semester tidak valid"}) + return } + sem = uint8(tmp) } - c.JSON(http.StatusOK, gin.H{ - "nim": mhs.NIM, - "nama": mhs.Nama, - "semester": semInt, - "cpl": response, - }) -} - -func recalculateCPLForProdiSemester(idProdi uint64, semester uint8) error { - // 1. Ambil data (Query tetap sama) - var rows []cplCalcRow - query := ` - SELECT - n.id_mhs, - cm.id_cpl, - n.nilai_angka, - cm.bobot_fraction - FROM nilai_mk n - JOIN mk m ON n.id_mk = m.id_mk - JOIN cpl_mk cm ON cm.id_mk = m.id_mk - WHERE m.id_prodi = ? AND n.semester_tempuh = ? - ` - if err := db.DB.Raw(query, idProdi, semester).Scan(&rows).Error; err != nil { - return fmt.Errorf("gagal mengambil data hitung CPL: %w", err) + // ambil mahasiswa + var mhs model.Mahasiswa + if err := db.DB.WithContext(ctx).Where("nim = ?", nim).First(&mhs).Error; err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa tidak ditemukan"}) + } else { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error mahasiswa"}) + } + return } - if len(rows) == 0 { - return nil + // ambil nilai CPL untuk semester_eval = sem + var list []model.NilaiCPL + if err := db.DB.WithContext(ctx). + Where("id_mhs = ? AND semester_eval = ?", mhs.IDMhs, sem). + Find(&list).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error nilai_cpl"}) + return } - // 2. Definisi Struct Key untuk Map (Pengganti string "id-id") - type aggKey struct { - IDMhs uint64 - IDCPL uint64 + // join CPL code (bisa pakai 1 query terpisah atau simple loop) + // untuk efisiensi, kita ambil semua cpl id -> kode_cpl dalam satu query + cplIDs := make([]uint64, 0, len(list)) + for _, n := range list { + cplIDs = append(cplIDs, n.IDCPL) } - // Gunakan struct sebagai key map - aggMap := make(map[aggKey]*cplAgg) - - for _, r := range rows { - // Langsung buat key tanpa fmt.Sprintf - key := aggKey{IDMhs: r.IDMhs, IDCPL: r.IDCPL} - - a, ok := aggMap[key] - if !ok { - a = &cplAgg{} - aggMap[key] = a - } - - if r.BobotFraction.Valid && r.BobotFraction.Float64 > 0 { - a.SumWeighted += r.NilaiAngka * r.BobotFraction.Float64 - a.SumWeight += r.BobotFraction.Float64 - a.HasBobot = true - } else { - a.SumPlain += r.NilaiAngka - a.CountPlain++ + cplMap := map[uint64]string{} + if len(cplIDs) > 0 { + var cpls []model.CPL + if err := db.DB.WithContext(ctx). + Where("id_cpl IN ?", cplIDs). + Find(&cpls).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpl"}) + return } - } - - // 3. Konversi ke slice - upserts := make([]model.NilaiCPL, 0, len(aggMap)) - now := time.Now() - - for key, a := range aggMap { - var nilaiCPL float64 - if a.HasBobot && a.SumWeight > 0 { - nilaiCPL = a.SumWeighted / a.SumWeight - } else if a.CountPlain > 0 { - nilaiCPL = a.SumPlain / float64(a.CountPlain) - } else { - continue + for _, cpl := range cpls { + cplMap[cpl.IDCPL] = cpl.KodeCPL } - - upserts = append(upserts, model.NilaiCPL{ - IDMhs: key.IDMhs, // Tidak perlu fmt.Sscanf lagi - IDCPL: key.IDCPL, - SemesterEval: semester, - NilaiAngka: nilaiCPL, - Sumber: "recalc_import", - TanggalHitung: now, - }) } - if len(upserts) == 0 { - return nil + type cplResp struct { + KodeCPL string `json:"kode_cpl"` + NilaiAngka float64 `json:"nilai_angka"` } - // 4. Batch Upsert (Lebih aman menggunakan CreateInBatches) - // Batch size 100-500 biasanya aman untuk semua DB - err := db.DB.Clauses(clause.OnConflict{ - Columns: []clause.Column{ - {Name: "id_mhs"}, - {Name: "id_cpl"}, - {Name: "semester_eval"}, - }, - DoUpdates: clause.AssignmentColumns([]string{ - "nilai_angka", - "sumber", - "tanggal_hitung", - }), - }). - CreateInBatches(&upserts, 100).Error // <-- Perubahan penting di sini - - if err != nil { - return fmt.Errorf("gagal upsert nilai_cpl: %w", err) + respList := make([]cplResp, 0, len(list)) + for _, n := range list { + respList = append(respList, cplResp{ + KodeCPL: cplMap[n.IDCPL], + NilaiAngka: n.NilaiAngka, + }) } - return nil + c.JSON(http.StatusOK, gin.H{ + "nim": mhs.NIM, + "nama": mhs.Nama, + "semester": sem, + "cpl": respList, + }) } diff --git a/internal/http/router.go b/internal/http/router.go index c624be1..c98d3fe 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -11,33 +11,28 @@ func NewRouter() *gin.Engine { r := gin.Default() r.Use(cors.New(cors.Config{ - AllowOrigins: []string{"*"}, // Allow all origins + AllowOrigins: []string{"*"}, AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD"}, AllowHeaders: []string{"Origin", "Content-Type", "Accept", "X-Requested-With"}, ExposeHeaders: []string{"Content-Length"}, AllowCredentials: false, - MaxAge: 12 * time.Hour, // 12 hours + MaxAge: 12 * time.Hour, })) - // health + r.GET("/health", healthHandler) api := r.Group("/api") { api.GET("/prodi", listProdiHandler) - api.GET("/prodi/:id_prodi/cpl", listCPLByProdiHandler) api.GET("/prodi/:id_prodi/mk", listMKByProdiSemesterHandler) - api.GET("/mk/:id_mk/cpmk", listCPMKByMKHandler) + api.GET("/prodi/:id_prodi/cpl", listCPLByProdiHandler) + api.GET("/prodi/:id_prodi/mahasiswa-nilai", listMahasiswaDenganNilaiHandler) + api.GET("/prodi/:id_prodi/cpl-stats", getCPLStatsByProdiSemesterHandler) - //IMPORT Nilai - api.POST("/nilai-mk/import", importNilaiJSONHandler) + api.GET("/mk/:id_mk/cpmk", listCPMKByMKHandler) + api.POST("/nilai-mk/import", importNilaiHandler) api.GET("/mahasiswa/:nim/cpl", getCPLByMahasiswaHandler) - - // Prodi CPL-MK Mapping - api.POST("/prodi/:id_prodi/cpl-mk/import-xlsx", importCPLMKMappingHandler) - - //api.GET("/prodi/:id_prodi/cpl-mk", lis tCPLMKByProdiHandler) - //api.GET("/prodi/:id_prodi/cpl-mk/summary", getCPLMKSummaryHandler) } return r diff --git a/internal/http/service_cpl.go b/internal/http/service_cpl.go deleted file mode 100644 index 46d8719..0000000 --- a/internal/http/service_cpl.go +++ /dev/null @@ -1,88 +0,0 @@ -package http - -import ( - "time" - - "cpmk/internal/db" - "cpmk/internal/model" -) - -func HitungCPLMahasiswa(idMhs uint64, semesterEval uint8) error { - // 1. ambil semua nilai MK mahasiswa di semester ini - var nilaiMK []model.NilaiMK - if err := db.DB.Where("id_mhs = ? AND semester_tempuh = ?", idMhs, semesterEval). - Find(&nilaiMK).Error; err != nil { - return err - } - if len(nilaiMK) == 0 { - return nil - } - - // map id_mk -> nilai - nilaiByMK := map[uint64]float64{} - var mkIDs []uint64 - for _, n := range nilaiMK { - nilaiByMK[n.IDMK] = n.NilaiAngka - mkIDs = append(mkIDs, n.IDMK) - } - - // 2. ambil bobot cpl_mk untuk mk2 tsb - var rels []model.CPLMK - if err := db.DB.Where("id_mk IN ?", mkIDs).Find(&rels).Error; err != nil { - return err - } - - // agregasi per CPL - type agg struct { - Total float64 - } - aggByCPL := map[uint64]*agg{} - - for _, r := range rels { - nMk, ok := nilaiByMK[r.IDMK] - if !ok { - continue - } - a := aggByCPL[r.IDCPL] - if a == nil { - a = &agg{} - aggByCPL[r.IDCPL] = a - } - a.Total += nMk * r.BobotFraction - } - - // 3. simpan ke nilai_cpl (upsert) - for idCpl, a := range aggByCPL { - var existing model.NilaiCPL - err := db.DB.Where("id_mhs = ? AND id_cpl = ? AND semester_eval = ?", - idMhs, idCpl, semesterEval).First(&existing).Error - - if err != nil { - // gorm.ErrRecordNotFound or others - // kita cek pakai RowsAffected di Upsert manual - n := model.NilaiCPL{ - IDMhs: idMhs, - IDCPL: idCpl, - SemesterEval: semesterEval, - NilaiAngka: a.Total, - TanggalHitung: time.Now(), - } - if db.DB.Where("id_mhs = ? AND id_cpl = ? AND semester_eval = ?", - idMhs, idCpl, semesterEval). - Assign(map[string]interface{}{ - "nilai_angka": n.NilaiAngka, - "tanggal_hitung": n.TanggalHitung, - }).FirstOrCreate(&n).Error != nil { - return err - } - } else { - existing.NilaiAngka = a.Total - existing.TanggalHitung = time.Now() - if err := db.DB.Save(&existing).Error; err != nil { - return err - } - } - } - - return nil -} diff --git a/internal/model/cpl.go b/internal/model/cpl.go index 984ec14..548f85e 100644 --- a/internal/model/cpl.go +++ b/internal/model/cpl.go @@ -1,10 +1,10 @@ package model type CPL struct { - IDCPL uint64 `gorm:"column:id_cpl;primaryKey;autoIncrement"` - IDProdi uint64 `gorm:"column:id_prodi;not null"` - KodeCPL string `gorm:"column:kode_cpl;size:20;not null"` - Deskripsi string `gorm:"column:deskripsi;type:text;not null"` + IDCPL uint64 `json:"id_cpl" gorm:"column:id_cpl;primaryKey;autoIncrement"` + IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;not null"` + KodeCPL string `json:"kode_cpl" gorm:"column:kode_cpl;size:20;not null"` + Deskripsi string `json:"deskripsi" gorm:"column:deskripsi;type:text;not null"` } func (CPL) TableName() string { return "cpl" } diff --git a/internal/model/cpmk.go b/internal/model/cpmk.go index 9b02fb0..539b01a 100644 --- a/internal/model/cpmk.go +++ b/internal/model/cpmk.go @@ -1,11 +1,11 @@ package model type CPMK struct { - IDCPMK uint64 `gorm:"column:id_cpmk;primaryKey;autoIncrement"` - IDMK uint64 `gorm:"column:id_mk;not null"` - KodeCPMK string `gorm:"column:kode_cpmk;size:20;not null"` - Deskripsi string `gorm:"column:deskripsi;type:text;not null"` - BobotCPMK *float64 `gorm:"column:bobot_cpmk"` // nullable + IDCPMK uint64 `json:"id_cpmk" gorm:"column:id_cpmk;primaryKey;autoIncrement"` + IDMK uint64 `json:"id_mk" gorm:"column:id_mk;not null"` + KodeCPMK string `json:"kode_cpmk" gorm:"column:kode_cpmk;size:20;not null"` + Deskripsi string `json:"deskripsi" gorm:"column:deskripsi;type:text;not null"` + BobotCPMK *float64 `json:"bobot_cpmk" gorm:"column:bobot_cpmk"` // nullable } func (CPMK) TableName() string { return "cpmk" } diff --git a/internal/model/mahasiswa.go b/internal/model/mahasiswa.go index 709873d..f6cfd54 100644 --- a/internal/model/mahasiswa.go +++ b/internal/model/mahasiswa.go @@ -1,12 +1,12 @@ package model type Mahasiswa struct { - IDMhs uint64 `gorm:"column:id_mhs;primaryKey;autoIncrement"` - IDProdi uint64 `gorm:"column:id_prodi;not null"` - NIM string `gorm:"column:nim;size:30;unique;not null"` - Nama string `gorm:"column:nama;size:200;not null"` - Angkatan int `gorm:"column:angkatan;not null"` - Status string `gorm:"column:status;size:20;not null"` + IDMhs uint64 `json:"id_mhs" gorm:"column:id_mhs;primaryKey;autoIncrement"` + IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;not null"` + NIM string `json:"nim" gorm:"column:nim;size:30;unique;not null"` + Nama string `json:"nama" gorm:"column:nama;size:200;not null"` + Angkatan int `json:"angkatan" gorm:"column:angkatan;not null"` + Status string `json:"status" gorm:"column:status;size:20;not null;default:'AKTIF'"` } func (Mahasiswa) TableName() string { return "mahasiswa" } diff --git a/internal/model/mk.go b/internal/model/mk.go index a758648..cf59cf9 100644 --- a/internal/model/mk.go +++ b/internal/model/mk.go @@ -1,12 +1,12 @@ package model type MK struct { - IDMK uint64 `json:"id_mk" gorm:"column:id_mk;primaryKey;autoIncrement"` - IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;not null"` - KodeMK string `json:"kode_mk" gorm:"column:kode_mk;size:30;unique;not null"` - NamaMK string `json:"nama_mk" gorm:"column:nama_mk;size:255;not null"` - SKS uint8 `json:"sks" gorm:"column:sks;not null"` - Semester uint8 `json:"semester" gorm:"column:semester;not null"` + IDMK uint64 `json:"id_mk" gorm:"column:id_mk;primaryKey;autoIncrement"` + IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;not null"` + KodeMK string `json:"kode_mk" gorm:"column:kode_mk;size:30;unique;not null"` + NamaMK string `json:"nama_mk" gorm:"column:nama_mk;size:255;not null"` + SKS uint8 `json:"sks" gorm:"column:sks;not null"` + Semester uint8 `json:"semester" gorm:"column:semester;not null"` } func (MK) TableName() string { return "mk" } diff --git a/internal/model/nilai_cpl.go b/internal/model/nilai_cpl.go index 903b601..55739ab 100644 --- a/internal/model/nilai_cpl.go +++ b/internal/model/nilai_cpl.go @@ -8,7 +8,7 @@ type NilaiCPL struct { IDCPL uint64 `gorm:"column:id_cpl;not null"` SemesterEval uint8 `gorm:"column:semester_eval;not null"` NilaiAngka float64 `gorm:"column:nilai_angka;not null"` - Sumber string `gorm:"column:sumber;type:varchar(50);not null"` + Sumber string `gorm:"column:sumber;size:50;not null"` TanggalHitung time.Time `gorm:"column:tanggal_hitung;not null"` } diff --git a/internal/model/prodi.go b/internal/model/prodi.go index e6bcef0..0afcc91 100644 --- a/internal/model/prodi.go +++ b/internal/model/prodi.go @@ -1,10 +1,10 @@ package model type Prodi struct { - IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;primaryKey;autoIncrement"` - KodeProdi string `json:"kode_prodi" gorm:"column:kode_prodi;size:20;unique;not null"` - NamaProdi string `json:"nama_prodi" gorm:"column:nama_prodi;size:200;not null"` - Jenjang string `json:"jenjang" gorm:"column:jenjang;size:10;not null"` + IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;primaryKey;autoIncrement"` + KodeProdi string `json:"kode_prodi" gorm:"column:kode_prodi;size:20;unique;not null"` + NamaProdi string `json:"nama_prodi" gorm:"column:nama_prodi;size:200;not null"` + Jenjang string `json:"jenjang" gorm:"column:jenjang;size:10;not null"` } func (Prodi) TableName() string { return "prodi" } diff --git a/internal/service/cpl_service.go b/internal/service/cpl_service.go new file mode 100644 index 0000000..803f457 --- /dev/null +++ b/internal/service/cpl_service.go @@ -0,0 +1,152 @@ +package service + +import ( + "context" + "fmt" + + "cpmk/internal/db" + + "gorm.io/gorm" +) + +// RecalculateCPLForProdiSemester melakukan perhitungan CPL di level DB. +// Aggregation SUM/AVG dilakukan di SQL, bukan di Go. +func RecalculateCPLForProdiSemester( + ctx context.Context, + gdb *gorm.DB, + idProdi uint64, + semester uint8, +) error { + if gdb == nil { + gdb = db.DB + } + gdb = gdb.WithContext(ctx) + + sql := ` +INSERT INTO nilai_cpl ( + id_mhs, + id_cpl, + semester_eval, + nilai_angka, + sumber, + tanggal_hitung +) +SELECT + t.id_mhs, + t.id_cpl, + ? AS semester_eval, + t.nilai_cpl, + 'recalc_import' AS sumber, + NOW() AS tanggal_hitung +FROM ( + SELECT + n.id_mhs, + cm.id_cpl, + + SUM( + CASE + WHEN cm.bobot_fraction IS NOT NULL AND cm.bobot_fraction > 0 + THEN n.nilai_angka * cm.bobot_fraction + ELSE 0 + END + ) AS sum_weighted, + + SUM( + CASE + WHEN cm.bobot_fraction IS NOT NULL AND cm.bobot_fraction > 0 + THEN cm.bobot_fraction + ELSE 0 + END + ) AS sum_weight, + + SUM( + CASE + WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 + THEN n.nilai_angka + ELSE 0 + END + ) AS sum_plain, + + SUM( + CASE + WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 + THEN 1 + ELSE 0 + END + ) AS count_plain, + + CASE + WHEN + SUM( + CASE + WHEN cm.bobot_fraction IS NOT NULL AND cm.bobot_fraction > 0 + THEN cm.bobot_fraction + ELSE 0 + END + ) > 0 + THEN + SUM( + CASE + WHEN cm.bobot_fraction IS NOT NULL AND cm.bobot_fraction > 0 + THEN n.nilai_angka * cm.bobot_fraction + ELSE 0 + END + ) + / + SUM( + CASE + WHEN cm.bobot_fraction IS NOT NULL AND cm.bobot_fraction > 0 + THEN cm.bobot_fraction + ELSE 0 + END + ) + WHEN + SUM( + CASE + WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 + THEN 1 + ELSE 0 + END + ) > 0 + THEN + SUM( + CASE + WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 + THEN n.nilai_angka + ELSE 0 + END + ) + / + SUM( + CASE + WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 + THEN 1 + ELSE 0 + END + ) + ELSE NULL + END AS nilai_cpl + FROM nilai_mk n + JOIN mk m ON n.id_mk = m.id_mk + JOIN cpl_mk cm ON cm.id_mk = m.id_mk + WHERE + m.id_prodi = ? + AND n.semester_tempuh = ? + GROUP BY + n.id_mhs, + cm.id_cpl +) AS t +WHERE t.nilai_cpl IS NOT NULL +ON DUPLICATE KEY UPDATE + nilai_angka = VALUES(nilai_angka), + sumber = VALUES(sumber), + tanggal_hitung = VALUES(tanggal_hitung); +` + + if err := gdb.Exec(sql, semester, idProdi, semester).Error; err != nil { + return fmt.Errorf("recalculate CPL failed (prodi=%d, semester=%d): %w", + idProdi, semester, err) + } + + return nil +} diff --git a/internal/service/import_nilai_service.go b/internal/service/import_nilai_service.go new file mode 100644 index 0000000..3f2ae81 --- /dev/null +++ b/internal/service/import_nilai_service.go @@ -0,0 +1,250 @@ +package service + +import ( + "context" + "fmt" + "strconv" + "strings" + "time" + + "cpmk/internal/db" + "cpmk/internal/model" + + "gorm.io/gorm" +) + +type ImportMatkulItem struct { + Kode string + Nama string + SKS uint8 +} + +type ImportMahasiswaItem struct { + NIM string + Nama string + NilaiMap map[string]float64 // kodeMK -> nilai +} + +type ImportNilaiParams struct { + ProdiKode string + Semester uint8 + TahunAjaran string + MatkulList []ImportMatkulItem + ImportData []ImportMahasiswaItem +} + +// ImportNilaiMK menjalankan import nilai MK dalam satu transaksi, lalu (opsional) hitung ulang CPL. +func ImportNilaiMK(ctx context.Context, gdb *gorm.DB, params ImportNilaiParams) (summary map[string]any, err error) { + if gdb == nil { + gdb = db.DB + } + gdb = gdb.WithContext(ctx) + + if params.TahunAjaran == "" { + params.TahunAjaran = "2024/2025" + } + + // Ambil prodi + var prodi model.Prodi + if err := gdb.Where("kode_prodi = ?", params.ProdiKode).First(&prodi).Error; err != nil { + if err == gorm.ErrRecordNotFound { + return nil, fmt.Errorf("prodi %s tidak ditemukan", params.ProdiKode) + } + return nil, fmt.Errorf("db error saat ambil prodi: %w", err) + } + + var ( + createdMK int + createdMhs int + insertedNilai int + updatedNilai int + skipped int + ) + + err = gdb.Transaction(func(tx *gorm.DB) error { + // 1. Pastikan semua MK ada + mkMap := make(map[string]model.MK) + + kodeList := make([]string, 0, len(params.MatkulList)) + for _, m := range params.MatkulList { + kodeList = append(kodeList, strings.TrimSpace(m.Kode)) + } + + if len(kodeList) > 0 { + var existingMK []model.MK + if err := tx.Where("kode_mk IN ? AND id_prodi = ?", kodeList, prodi.IDProdi). + Find(&existingMK).Error; err != nil { + return fmt.Errorf("db error load mk existing: %w", err) + } + for _, mk := range existingMK { + mkMap[strings.ToLower(mk.KodeMK)] = mk + } + } + + for _, item := range params.MatkulList { + key := strings.ToLower(item.Kode) + if _, ok := mkMap[key]; ok { + continue + } + mk := model.MK{ + IDProdi: prodi.IDProdi, + KodeMK: item.Kode, + NamaMK: item.Nama, + SKS: item.SKS, + Semester: params.Semester, + } + if err := tx.Create(&mk).Error; err != nil { + return fmt.Errorf("insert mk gagal (%s): %w", item.Kode, err) + } + mkMap[key] = mk + createdMK++ + } + + // 2. Pastikan Mahasiswa ada + mhsMap := make(map[string]model.Mahasiswa) + + nimList := make([]string, 0, len(params.ImportData)) + for _, d := range params.ImportData { + nimList = append(nimList, d.NIM) + } + + if len(nimList) > 0 { + var existingMhs []model.Mahasiswa + if err := tx.Where("nim IN ? AND id_prodi = ?", nimList, prodi.IDProdi). + Find(&existingMhs).Error; err != nil { + return fmt.Errorf("db error load mahasiswa existing: %w", err) + } + for _, m := range existingMhs { + mhsMap[m.NIM] = m + } + } + + for _, d := range params.ImportData { + if _, ok := mhsMap[d.NIM]; ok { + continue + } + + angkatan := deriveAngkatanFromNIM(d.NIM) + if angkatan == 0 { + // fallback kalau format NIM nggak kebaca (harusnya jarang) + angkatan = time.Now().Year() + } + + m := model.Mahasiswa{ + NIM: d.NIM, + Nama: d.Nama, + IDProdi: prodi.IDProdi, + Angkatan: angkatan, + Status: "AKTIF", + } + + if err := tx.Create(&m).Error; err != nil { + return fmt.Errorf("insert mahasiswa gagal (nim=%s): %w", d.NIM, err) + } + + mhsMap[d.NIM] = m + createdMhs++ + } + + // 3. Simpan nilai MK + for _, d := range params.ImportData { + mhs := mhsMap[d.NIM] + + for kodeMK, nilai := range d.NilaiMap { + key := strings.ToLower(kodeMK) + mk, ok := mkMap[key] + if !ok { + skipped++ + continue + } + + var nilaiMK model.NilaiMK + err := tx.Where("id_mhs = ? AND id_mk = ?", mhs.IDMhs, mk.IDMK). + First(&nilaiMK).Error + + if err == gorm.ErrRecordNotFound { + nilaiMK = model.NilaiMK{ + IDMhs: mhs.IDMhs, + IDMK: mk.IDMK, + SemesterTempuh: params.Semester, + TahunAjaran: params.TahunAjaran, + NilaiAngka: nilai, + Sumber: "import_json", + } + if err := tx.Create(&nilaiMK).Error; err != nil { + return fmt.Errorf("insert nilai_mk gagal (nim=%s, mk=%s): %w", + mhs.NIM, mk.KodeMK, err) + } + insertedNilai++ + } else if err == nil { + nilaiMK.NilaiAngka = nilai + nilaiMK.SemesterTempuh = params.Semester + nilaiMK.TahunAjaran = params.TahunAjaran + nilaiMK.Sumber = "import_json" + if err := tx.Save(&nilaiMK).Error; err != nil { + return fmt.Errorf("update nilai_mk gagal (nim=%s, mk=%s): %w", + mhs.NIM, mk.KodeMK, err) + } + updatedNilai++ + } else { + return fmt.Errorf("db error cek nilai_mk (nim=%s, mk=%s): %w", + mhs.NIM, mk.KodeMK, err) + } + } + } + + return nil + }) + + if err != nil { + return nil, err + } + + // Hitung ulang CPL untuk prodi+semester ini + if err := RecalculateCPLForProdiSemester(ctx, gdb, prodi.IDProdi, params.Semester); err != nil { + return map[string]any{ + "prodi": prodi.KodeProdi, + "semester": params.Semester, + "tahun_ajaran": params.TahunAjaran, + "mk_baru": createdMK, + "mhs_baru": createdMhs, + "nilai_inserted": insertedNilai, + "nilai_updated": updatedNilai, + "nilai_dilewati": skipped, + "recalc_error": err.Error(), + }, nil + } + + summary = map[string]any{ + "prodi": prodi.KodeProdi, + "semester": params.Semester, + "tahun_ajaran": params.TahunAjaran, + "mk_baru": createdMK, + "mhs_baru": createdMhs, + "nilai_inserted": insertedNilai, + "nilai_updated": updatedNilai, + "nilai_dilewati": skipped, + } + return summary, nil +} + +// deriveAngkatanFromNIM mengekstrak 2 digit terakhir nim dan mengubahnya ke tahun 20xx. +// Contoh: 105841115422 -> "22" -> 2022. +func deriveAngkatanFromNIM(nim string) int { + if len(nim) < 2 { + return 0 + } + last2 := nim[len(nim)-2:] + yy, err := strconv.Atoi(last2) + if err != nil { + return 0 + } + year := 2000 + yy + + // sanity check: jangan sampai 2099 dll yang aneh + currentYear := time.Now().Year() + if year < 2000 || year > currentYear+1 { + return 0 + } + return year +} From 3e6a70ec144664b5364306efd4b785590db9c472 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Sun, 14 Dec 2025 22:01:08 +0800 Subject: [PATCH 16/36] 14dedsc --- internal/http/handler_master.go | 58 ++++++++++++---- internal/http/router.go | 22 ++++-- internal/service/cpl_service.go | 116 ++++++++++++++++++++++++++++++-- 3 files changed, 174 insertions(+), 22 deletions(-) diff --git a/internal/http/handler_master.go b/internal/http/handler_master.go index 085755d..450dcd3 100644 --- a/internal/http/handler_master.go +++ b/internal/http/handler_master.go @@ -6,6 +6,7 @@ import ( "cpmk/internal/db" "cpmk/internal/model" + "cpmk/internal/service" "github.com/gin-gonic/gin" ) @@ -23,6 +24,8 @@ type CPLStat struct { KategoriRendah int64 `json:"kategori_rendah"` } +// ========================= MASTER: PRODI, MK, CPL, CPMK ========================= + // GET /api/prodi func listProdiHandler(c *gin.Context) { ctx := c.Request.Context() @@ -90,8 +93,7 @@ func listCPLByProdiHandler(c *gin.Context) { } // GET /api/mk/:id_mk/cpmk -// GET /api/mk/:id_mk/cpmk -// tapi kita join berdasarkan kode_mk +// Join berdasarkan kode_mk (kalau tabel CPMK menyimpan kode_mk lama) func listCPMKByMKHandler(c *gin.Context) { ctx := c.Request.Context() @@ -109,10 +111,10 @@ func listCPMKByMKHandler(c *gin.Context) { return } - // cari CPMK berdasarkan kode_mk lama (kalau cpmk disimpan pake kode) + // cari CPMK berdasarkan kode_mk (kalau struktur cpmk ada kolom kode_mk) var list []model.CPMK if err := db.DB.WithContext(ctx). - Where("kode_mk = ?", mk.KodeMK). // <-- kalau struktur cpmk kamu ada kolom kode_mk + Where("kode_mk = ?", mk.KodeMK). Order("kode_cpmk"). Find(&list).Error; err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpmk"}) @@ -157,14 +159,14 @@ SELECT SUM(CASE WHEN nc.nilai_angka >= 70 THEN 1 ELSE 0 END) AS kategori_tinggi, SUM(CASE WHEN nc.nilai_angka >= 50 AND nc.nilai_angka < 70 THEN 1 ELSE 0 END) AS kategori_sedang, SUM(CASE WHEN nc.nilai_angka < 50 THEN 1 ELSE 0 END) AS kategori_rendah - FROM cpl c - LEFT JOIN nilai_cpl nc - ON nc.id_cpl = c.id_cpl - AND nc.semester_eval = ? - WHERE c.id_prodi = ? - GROUP BY c.id_cpl, c.kode_cpl, c.deskripsi - ORDER BY c.kode_cpl - ` +FROM cpl c +LEFT JOIN nilai_cpl nc + ON nc.id_cpl = c.id_cpl + AND nc.semester_eval = ? +WHERE c.id_prodi = ? +GROUP BY c.id_cpl, c.kode_cpl, c.deskripsi +ORDER BY c.kode_cpl +` if err := db.DB.WithContext(ctx). Raw(query, sem, idProdi). Scan(&rows).Error; err != nil { @@ -174,3 +176,35 @@ SELECT c.JSON(http.StatusOK, rows) } + +// ========================= ADMIN: RECALC BOBOT CPL–MK & MK–CPMK ========================= + +// POST /api/prodi/:id_prodi/recalc-bobot +// Dipanggil setelah: +// - update struktur cpl_mk (mapping CPL–MK) +// - update CPMK per MK +// +// atau kapan saja kaprodi mau “resync” bobot. +func recalcBobotHandler(c *gin.Context) { + ctx := c.Request.Context() + + idStr := c.Param("id_prodi") + idProdi, err := strconv.ParseUint(idStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) + return + } + + if err := service.RecalculateWeightsForProdi(ctx, nil, idProdi); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{ + "error": "recalculate weights failed", + "details": err.Error(), + }) + return + } + + c.JSON(http.StatusOK, gin.H{ + "status": "ok", + "message": "bobot CPL-MK dan MK-CPMK berhasil dihitung ulang", + }) +} diff --git a/internal/http/router.go b/internal/http/router.go index c98d3fe..62ea4f2 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -11,7 +11,7 @@ func NewRouter() *gin.Engine { r := gin.Default() r.Use(cors.New(cors.Config{ - AllowOrigins: []string{"*"}, + AllowOrigins: []string{"*"}, // Allow all origins AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD"}, AllowHeaders: []string{"Origin", "Content-Type", "Accept", "X-Requested-With"}, ExposeHeaders: []string{"Content-Length"}, @@ -19,20 +19,32 @@ func NewRouter() *gin.Engine { MaxAge: 12 * time.Hour, })) + // health r.GET("/health", healthHandler) api := r.Group("/api") { + // MASTER DATA api.GET("/prodi", listProdiHandler) api.GET("/prodi/:id_prodi/mk", listMKByProdiSemesterHandler) api.GET("/prodi/:id_prodi/cpl", listCPLByProdiHandler) - api.GET("/prodi/:id_prodi/mahasiswa-nilai", listMahasiswaDenganNilaiHandler) - api.GET("/prodi/:id_prodi/cpl-stats", getCPLStatsByProdiSemesterHandler) - api.GET("/mk/:id_mk/cpmk", listCPMKByMKHandler) + // STATISTIK CPL PER PRODI + SEMESTER + api.GET("/prodi/:id_prodi/cpl-stats", getCPLStatsByProdiSemesterHandler) + + // IMPORT NILAI MK + // (kalau handler kamu namanya importNilaiJSONHandler, ganti di sini) api.POST("/nilai-mk/import", importNilaiHandler) - api.GET("/mahasiswa/:nim/cpl", getCPLByMahasiswaHandler) + + // ADMIN – RECALC BOBOT CPL-MK & MK-CPMK + api.POST("/prodi/:id_prodi/recalc-bobot", recalcBobotHandler) + + api.GET("/prodi/:id_prodi/mahasiswa-nilai", listMahasiswaDenganNilaiHandler) + + // (Endpoint lain seperti /prodi/:id_prodi/mahasiswa-nilai atau + // /mahasiswa/:nim/cpl bisa kamu daftarkan di sini juga, + // disesuaikan dengan file handler_nilai.go yang sekarang.) } return r diff --git a/internal/service/cpl_service.go b/internal/service/cpl_service.go index 803f457..27eca70 100644 --- a/internal/service/cpl_service.go +++ b/internal/service/cpl_service.go @@ -9,8 +9,17 @@ import ( "gorm.io/gorm" ) -// RecalculateCPLForProdiSemester melakukan perhitungan CPL di level DB. -// Aggregation SUM/AVG dilakukan di SQL, bukan di Go. +// RecalculateCPLForProdiSemester +// ------------------------------------------------------ +// Melakukan perhitungan nilai CPL per mahasiswa, per CPL, +// untuk satu prodi & satu semester. Semua agregasi dilakukan +// di level SQL (DB-first aggregation). +// +// Rumus: +// - Jika ada bobot di cpl_mk.bobot_fraction: +// nilai_cpl = SUM(nilai_mk * bobot) / SUM(bobot) +// - Jika semua bobot null/0: +// nilai_cpl = AVG(nilai_mk) func RecalculateCPLForProdiSemester( ctx context.Context, gdb *gorm.DB, @@ -43,6 +52,7 @@ FROM ( n.id_mhs, cm.id_cpl, + -- total nilai berbobot SUM( CASE WHEN cm.bobot_fraction IS NOT NULL AND cm.bobot_fraction > 0 @@ -51,6 +61,7 @@ FROM ( END ) AS sum_weighted, + -- total bobot SUM( CASE WHEN cm.bobot_fraction IS NOT NULL AND cm.bobot_fraction > 0 @@ -59,6 +70,7 @@ FROM ( END ) AS sum_weight, + -- total nilai plain (tanpa bobot), untuk fallback SUM( CASE WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 @@ -67,6 +79,7 @@ FROM ( END ) AS sum_plain, + -- hitung berapa mk tanpa bobot SUM( CASE WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 @@ -75,6 +88,7 @@ FROM ( END ) AS count_plain, + -- nilai_cpl final CASE WHEN SUM( @@ -138,9 +152,9 @@ FROM ( ) AS t WHERE t.nilai_cpl IS NOT NULL ON DUPLICATE KEY UPDATE - nilai_angka = VALUES(nilai_angka), - sumber = VALUES(sumber), - tanggal_hitung = VALUES(tanggal_hitung); + nilai_angka = VALUES(nilai_angka), + sumber = VALUES(sumber), + tanggal_hitung = VALUES(tanggal_hitung); ` if err := gdb.Exec(sql, semester, idProdi, semester).Error; err != nil { @@ -150,3 +164,95 @@ ON DUPLICATE KEY UPDATE return nil } + +// RecalculateWeightsForProdi +// ------------------------------------------------------ +// Menghitung ulang bobot: +// 1) CPL -> MK (tabel cpl_mk.bobot_fraction) +// - per CPL: total bobot = 1.0 (100%) +// - tiap MK yang terkait CPL tersebut: 1 / jumlah_mk +// +// 2) MK -> CPMK (tabel cpmk.bobot_cpmk) +// - per MK: total bobot = 1.0 (100%) +// - tiap CPMK di MK tsb: 1 / jumlah_cpmk +// +// Semuanya dilakukan di level SQL (UPDATE ... JOIN). +func RecalculateWeightsForProdi( + ctx context.Context, + gdb *gorm.DB, + idProdi uint64, +) error { + if gdb == nil { + gdb = db.DB + } + gdb = gdb.WithContext(ctx) + + tx := gdb.Begin() + if err := tx.Error; err != nil { + return fmt.Errorf("begin tx recalc weights: %w", err) + } + + // ---------- 1) Recalculate CPL -> MK weights ---------- + // + // UPDATE cpl_mk cm + // JOIN ( + // SELECT cm2.id_cpl, COUNT(*) AS cnt + // FROM cpl_mk cm2 + // JOIN cpl ON cpl.id_cpl = cm2.id_cpl + // WHERE cpl.id_prodi = ? + // GROUP BY cm2.id_cpl + // ) agg ON cm.id_cpl = agg.id_cpl + // JOIN cpl ON cpl.id_cpl = cm.id_cpl + // SET cm.bobot_fraction = 1.0 / agg.cnt + // WHERE cpl.id_prodi = ?; + updateCPLMK := ` +UPDATE cpl_mk AS cm +JOIN ( + SELECT cm2.id_cpl, COUNT(*) AS cnt + FROM cpl_mk AS cm2 + JOIN cpl ON cpl.id_cpl = cm2.id_cpl + WHERE cpl.id_prodi = ? + GROUP BY cm2.id_cpl +) AS agg ON cm.id_cpl = agg.id_cpl +JOIN cpl ON cpl.id_cpl = cm.id_cpl +SET cm.bobot_fraction = 1.0 / agg.cnt +WHERE cpl.id_prodi = ?; +` + if err := tx.Exec(updateCPLMK, idProdi, idProdi).Error; err != nil { + tx.Rollback() + return fmt.Errorf("recalculate CPL->MK weights failed: %w", err) + } + + // ---------- 2) Recalculate MK -> CPMK weights ---------- + // + // UPDATE cpmk cp + // JOIN ( + // SELECT id_mk, COUNT(*) AS cnt + // FROM cpmk + // GROUP BY id_mk + // ) agg ON cp.id_mk = agg.id_mk + // JOIN mk ON mk.id_mk = cp.id_mk + // SET cp.bobot_cpmk = 1.0 / agg.cnt + // WHERE mk.id_prodi = ?; + updateCPMK := ` +UPDATE cpmk AS cp +JOIN ( + SELECT id_mk, COUNT(*) AS cnt + FROM cpmk + GROUP BY id_mk +) AS agg ON cp.id_mk = agg.id_mk +JOIN mk ON mk.id_mk = cp.id_mk +SET cp.bobot_cpmk = 1.0 / agg.cnt +WHERE mk.id_prodi = ?; +` + if err := tx.Exec(updateCPMK, idProdi).Error; err != nil { + tx.Rollback() + return fmt.Errorf("recalculate MK->CPMK weights failed: %w", err) + } + + if err := tx.Commit().Error; err != nil { + return fmt.Errorf("commit recalc weights failed: %w", err) + } + + return nil +} From 86d9fc34936710fedc64d34fb80e28a6c4c64b02 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Mon, 15 Dec 2025 09:49:28 +0800 Subject: [PATCH 17/36] feat: Integrate frontend-backend and add CPMK accordion Backend changes: - Register /mahasiswa/:nim/cpl endpoint for CPL scores by student - Add /prodi/:id/cpl-mapping endpoint for CPL-MK-CPMK relationships - Fix GORM First() to Take() for NIM lookup - Add MKMappingItem and CPLMappingItem types in handler_master.go Frontend changes: - Update simcplApi.ts with NilaiCPLByMahasiswa types and fetchMahasiswaSummary - Fix null safety for cplStats, cplScores, mappingData arrays - Add CPMK accordion with on-demand fetch from /mk/:id/cpmk - Update dashboard to display MK list and CPMK counts per CPL - Fix type definitions for MahasiswaSummary, ImportMatkulItem, CPLStat --- SIM-CPL | 1 + internal/http/handler_master.go | 142 +++++++++++++++++++++++++++++++- internal/http/handler_nilai.go | 4 +- internal/http/router.go | 6 ++ 4 files changed, 150 insertions(+), 3 deletions(-) create mode 160000 SIM-CPL diff --git a/SIM-CPL b/SIM-CPL new file mode 160000 index 0000000..5b2dbe3 --- /dev/null +++ b/SIM-CPL @@ -0,0 +1 @@ +Subproject commit 5b2dbe303b83d3c6d94e47af2957d72edb7732c9 diff --git a/internal/http/handler_master.go b/internal/http/handler_master.go index 450dcd3..ab0d888 100644 --- a/internal/http/handler_master.go +++ b/internal/http/handler_master.go @@ -114,7 +114,7 @@ func listCPMKByMKHandler(c *gin.Context) { // cari CPMK berdasarkan kode_mk (kalau struktur cpmk ada kolom kode_mk) var list []model.CPMK if err := db.DB.WithContext(ctx). - Where("kode_mk = ?", mk.KodeMK). + Where("id_mk = ?", mk.IDMK). Order("kode_cpmk"). Find(&list).Error; err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpmk"}) @@ -208,3 +208,143 @@ func recalcBobotHandler(c *gin.Context) { "message": "bobot CPL-MK dan MK-CPMK berhasil dihitung ulang", }) } + +// ========================= CPL MAPPING (CPL -> MK -> CPMK) ========================= + +type MKMappingItem struct { + IDMK uint64 `json:"id_mk"` + KodeMK string `json:"kode_mk"` + NamaMK string `json:"nama_mk"` + SKS uint8 `json:"sks"` + Semester uint8 `json:"semester"` + CPMKCount int `json:"cpmk_count"` +} + +type CPLMappingItem struct { + IDCPL uint64 `json:"id_cpl"` + KodeCPL string `json:"kode_cpl"` + Deskripsi string `json:"deskripsi"` + MKList []MKMappingItem `json:"mk_list"` +} + +// GET /api/prodi/:id_prodi/cpl-mapping?semester=1 +// Returns CPL list with linked MK (filtered by semester) and CPMK count per MK +func getCPLMappingHandler(c *gin.Context) { + ctx := c.Request.Context() + + idStr := c.Param("id_prodi") + idProdi, err := strconv.ParseUint(idStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) + return + } + + semStr := c.Query("semester") + var semFilter *uint8 + if semStr != "" { + sem, err := strconv.ParseUint(semStr, 10, 8) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid semester"}) + return + } + s := uint8(sem) + semFilter = &s + } + + // 1. Get all CPL for this prodi + var cpls []model.CPL + if err := db.DB.WithContext(ctx). + Where("id_prodi = ?", idProdi). + Order("kode_cpl"). + Find(&cpls).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpl"}) + return + } + + // 2. Get CPL-MK mappings + var cplMKs []model.CPLMK + if err := db.DB.WithContext(ctx).Find(&cplMKs).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpl_mk"}) + return + } + + // Build map: id_cpl -> []id_mk + cplToMKs := make(map[uint64][]uint64) + for _, cm := range cplMKs { + cplToMKs[cm.IDCPL] = append(cplToMKs[cm.IDCPL], cm.IDMK) + } + + // 3. Get all MK for this prodi (optionally filtered by semester) + var mks []model.MK + mkQuery := db.DB.WithContext(ctx).Where("id_prodi = ?", idProdi) + if semFilter != nil { + mkQuery = mkQuery.Where("semester = ?", *semFilter) + } + if err := mkQuery.Find(&mks).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error mk"}) + return + } + + // Build map: id_mk -> MK + mkMap := make(map[uint64]model.MK) + mkIDs := make([]uint64, 0, len(mks)) + for _, mk := range mks { + mkMap[mk.IDMK] = mk + mkIDs = append(mkIDs, mk.IDMK) + } + + // 4. Count CPMK per MK + type cpmkCount struct { + IDMK uint64 `gorm:"column:id_mk"` + Count int `gorm:"column:cnt"` + } + var cpmkCounts []cpmkCount + if len(mkIDs) > 0 { + if err := db.DB.WithContext(ctx). + Model(&model.CPMK{}). + Select("id_mk, COUNT(*) as cnt"). + Where("id_mk IN ?", mkIDs). + Group("id_mk"). + Scan(&cpmkCounts).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpmk count"}) + return + } + } + cpmkCountMap := make(map[uint64]int) + for _, cc := range cpmkCounts { + cpmkCountMap[cc.IDMK] = cc.Count + } + + // 5. Build response + result := make([]CPLMappingItem, 0, len(cpls)) + for _, cpl := range cpls { + item := CPLMappingItem{ + IDCPL: cpl.IDCPL, + KodeCPL: cpl.KodeCPL, + Deskripsi: cpl.Deskripsi, + MKList: []MKMappingItem{}, + } + + // Get MK IDs linked to this CPL + mkIDsForCPL := cplToMKs[cpl.IDCPL] + for _, mkID := range mkIDsForCPL { + mk, exists := mkMap[mkID] + if !exists { + // MK not in current semester filter + continue + } + item.MKList = append(item.MKList, MKMappingItem{ + IDMK: mk.IDMK, + KodeMK: mk.KodeMK, + NamaMK: mk.NamaMK, + SKS: mk.SKS, + Semester: mk.Semester, + CPMKCount: cpmkCountMap[mk.IDMK], + }) + } + + result = append(result, item) + } + + c.JSON(http.StatusOK, result) +} diff --git a/internal/http/handler_nilai.go b/internal/http/handler_nilai.go index cd8b137..ccaadc1 100644 --- a/internal/http/handler_nilai.go +++ b/internal/http/handler_nilai.go @@ -127,9 +127,9 @@ func getCPLByMahasiswaHandler(c *gin.Context) { sem = uint8(tmp) } - // ambil mahasiswa + // ambil mahasiswa by NIM (using Find to avoid GORM's First() pk-matching) var mhs model.Mahasiswa - if err := db.DB.WithContext(ctx).Where("nim = ?", nim).First(&mhs).Error; err != nil { + if err := db.DB.WithContext(ctx).Where("nim = ?", nim).Take(&mhs).Error; err != nil { if errors.Is(err, gorm.ErrRecordNotFound) { c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa tidak ditemukan"}) } else { diff --git a/internal/http/router.go b/internal/http/router.go index 62ea4f2..1a93e96 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -33,6 +33,9 @@ func NewRouter() *gin.Engine { // STATISTIK CPL PER PRODI + SEMESTER api.GET("/prodi/:id_prodi/cpl-stats", getCPLStatsByProdiSemesterHandler) + // CPL MAPPING (CPL -> MK -> CPMK) + api.GET("/prodi/:id_prodi/cpl-mapping", getCPLMappingHandler) + // IMPORT NILAI MK // (kalau handler kamu namanya importNilaiJSONHandler, ganti di sini) api.POST("/nilai-mk/import", importNilaiHandler) @@ -42,6 +45,9 @@ func NewRouter() *gin.Engine { api.GET("/prodi/:id_prodi/mahasiswa-nilai", listMahasiswaDenganNilaiHandler) + // NILAI CPL PER MAHASISWA + api.GET("/mahasiswa/:nim/cpl", getCPLByMahasiswaHandler) + // (Endpoint lain seperti /prodi/:id_prodi/mahasiswa-nilai atau // /mahasiswa/:nim/cpl bisa kamu daftarkan di sini juga, // disesuaikan dengan file handler_nilai.go yang sekarang.) From 72bc393d51bded7b390d878573f29a557fe16a7e Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Mon, 15 Dec 2025 19:01:59 +0800 Subject: [PATCH 18/36] DEC15 --- internal/http/handler_master.go | 205 ++++++++++++++++++++++++++++++-- internal/http/handler_nilai.go | 18 ++- internal/http/router.go | 1 + 3 files changed, 209 insertions(+), 15 deletions(-) diff --git a/internal/http/handler_master.go b/internal/http/handler_master.go index ab0d888..4dc1894 100644 --- a/internal/http/handler_master.go +++ b/internal/http/handler_master.go @@ -66,7 +66,62 @@ func listMKByProdiSemesterHandler(c *gin.Context) { return } - c.JSON(http.StatusOK, mkList) + // Get all MK IDs for batch query + mkIDs := make([]uint64, len(mkList)) + for i, mk := range mkList { + mkIDs[i] = mk.IDMK + } + + // Query CPL relations for all MKs in one batch + type cplMKJoin struct { + IDMK uint64 `gorm:"column:id_mk"` + KodeCPL string `gorm:"column:kode_cpl"` + } + var cplMKs []cplMKJoin + if len(mkIDs) > 0 { + db.DB.WithContext(ctx). + Table("cpl_mk"). + Select("cpl_mk.id_mk, cpl.kode_cpl"). + Joins("JOIN cpl ON cpl.id_cpl = cpl_mk.id_cpl"). + Where("cpl_mk.id_mk IN ?", mkIDs). + Find(&cplMKs) + } + + // Build map of MK ID -> []CPL kode + cplMap := make(map[uint64][]string) + for _, cm := range cplMKs { + cplMap[cm.IDMK] = append(cplMap[cm.IDMK], cm.KodeCPL) + } + + // Build response with cpl_terkait + type mkResp struct { + IDMK uint64 `json:"id_mk"` + IDProdi uint64 `json:"id_prodi"` + KodeMK string `json:"kode_mk"` + NamaMK string `json:"nama_mk"` + SKS uint8 `json:"sks"` + Semester uint8 `json:"semester"` + CPLTerkait []string `json:"cpl_terkait"` + } + + respList := make([]mkResp, len(mkList)) + for i, mk := range mkList { + respList[i] = mkResp{ + IDMK: mk.IDMK, + IDProdi: mk.IDProdi, + KodeMK: mk.KodeMK, + NamaMK: mk.NamaMK, + SKS: mk.SKS, + Semester: mk.Semester, + CPLTerkait: cplMap[mk.IDMK], + } + // Ensure not nil + if respList[i].CPLTerkait == nil { + respList[i].CPLTerkait = []string{} + } + } + + c.JSON(http.StatusOK, respList) } // GET /api/prodi/:id_prodi/cpl @@ -92,6 +147,105 @@ func listCPLByProdiHandler(c *gin.Context) { c.JSON(http.StatusOK, list) } +// GET /api/prodi/:id_prodi/stats +// Returns comprehensive prodi statistics for the Per Prodi tab +func getProdiStatsHandler(c *gin.Context) { + ctx := c.Request.Context() + + idStr := c.Param("id_prodi") + id, err := strconv.ParseUint(idStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) + return + } + + // Get prodi info + var prodi model.Prodi + if err := db.DB.WithContext(ctx).Where("id_prodi = ?", id).First(&prodi).Error; err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": "prodi not found"}) + return + } + + // Count mahasiswa per angkatan + type angkatanCount struct { + Angkatan int `gorm:"column:angkatan"` + Jumlah int64 `gorm:"column:jumlah"` + } + var angkatanDist []angkatanCount + db.DB.WithContext(ctx). + Table("mahasiswa"). + Select("angkatan, COUNT(*) as jumlah"). + Where("id_prodi = ?", id). + Group("angkatan"). + Order("angkatan"). + Scan(&angkatanDist) + + // Count mahasiswa by status + type statusCount struct { + Status string `gorm:"column:status"` + Jumlah int64 `gorm:"column:jumlah"` + } + var statusDist []statusCount + db.DB.WithContext(ctx). + Table("mahasiswa"). + Select("status, COUNT(*) as jumlah"). + Where("id_prodi = ?", id). + Group("status"). + Scan(&statusDist) + + // Total mahasiswa + var totalMahasiswa int64 + db.DB.WithContext(ctx).Model(&model.Mahasiswa{}).Where("id_prodi = ?", id).Count(&totalMahasiswa) + + // Total MK + var totalMK int64 + db.DB.WithContext(ctx).Model(&model.MK{}).Where("id_prodi = ?", id).Count(&totalMK) + + // Total CPL + var totalCPL int64 + db.DB.WithContext(ctx).Model(&model.CPL{}).Where("id_prodi = ?", id).Count(&totalCPL) + + // Total nilai MK records + var totalNilaiMK int64 + db.DB.WithContext(ctx). + Table("nilai_mk"). + Joins("JOIN mahasiswa ON mahasiswa.id_mhs = nilai_mk.id_mhs"). + Where("mahasiswa.id_prodi = ?", id). + Count(&totalNilaiMK) + + // Build distribusi angkatan response + distribusiAngkatan := make([]gin.H, len(angkatanDist)) + for i, a := range angkatanDist { + distribusiAngkatan[i] = gin.H{ + "angkatan": a.Angkatan, + "jumlah": a.Jumlah, + } + } + + // Build distribusi status response + distribusiStatus := make([]gin.H, len(statusDist)) + for i, s := range statusDist { + distribusiStatus[i] = gin.H{ + "status": s.Status, + "jumlah": s.Jumlah, + } + } + + c.JSON(http.StatusOK, gin.H{ + "prodi": gin.H{ + "id_prodi": prodi.IDProdi, + "kode_prodi": prodi.KodeProdi, + "nama_prodi": prodi.NamaProdi, + }, + "total_mahasiswa": totalMahasiswa, + "total_mk": totalMK, + "total_cpl": totalCPL, + "total_nilai_mk": totalNilaiMK, + "distribusi_angkatan": distribusiAngkatan, + "distribusi_status": distribusiStatus, + }) +} + // GET /api/mk/:id_mk/cpmk // Join berdasarkan kode_mk (kalau tabel CPMK menyimpan kode_mk lama) func listCPMKByMKHandler(c *gin.Context) { @@ -125,6 +279,7 @@ func listCPMKByMKHandler(c *gin.Context) { } // GET /api/prodi/:id_prodi/cpl-stats?semester=1 +// If semester is omitted, returns overall CPL stats across all semesters func getCPLStatsByProdiSemesterHandler(c *gin.Context) { ctx := c.Request.Context() @@ -136,18 +291,20 @@ func getCPLStatsByProdiSemesterHandler(c *gin.Context) { } semStr := c.Query("semester") - if semStr == "" { - c.JSON(http.StatusBadRequest, gin.H{"error": "semester wajib diisi"}) - return - } - sem, err := strconv.Atoi(semStr) - if err != nil || sem <= 0 || sem > 20 { - c.JSON(http.StatusBadRequest, gin.H{"error": "invalid semester"}) - return - } var rows []CPLStat - query := ` + var query string + var args []any + + if semStr != "" { + // Specific semester filter + sem, err := strconv.Atoi(semStr) + if err != nil || sem <= 0 || sem > 20 { + c.JSON(http.StatusBadRequest, gin.H{"error": "invalid semester"}) + return + } + + query = ` SELECT c.id_cpl, c.kode_cpl, @@ -167,8 +324,32 @@ WHERE c.id_prodi = ? GROUP BY c.id_cpl, c.kode_cpl, c.deskripsi ORDER BY c.kode_cpl ` + args = []any{sem, idProdi} + } else { + // Overall stats (no semester filter) + query = ` +SELECT + c.id_cpl, + c.kode_cpl, + c.deskripsi, + COUNT(nc.id_mhs) AS jumlah_mahasiswa, + COALESCE(AVG(nc.nilai_angka), 0) AS rata_nilai, + COALESCE(MIN(nc.nilai_angka), 0) AS min_nilai, + COALESCE(MAX(nc.nilai_angka), 0) AS max_nilai, + SUM(CASE WHEN nc.nilai_angka >= 70 THEN 1 ELSE 0 END) AS kategori_tinggi, + SUM(CASE WHEN nc.nilai_angka >= 50 AND nc.nilai_angka < 70 THEN 1 ELSE 0 END) AS kategori_sedang, + SUM(CASE WHEN nc.nilai_angka < 50 THEN 1 ELSE 0 END) AS kategori_rendah +FROM cpl c +LEFT JOIN nilai_cpl nc ON nc.id_cpl = c.id_cpl +WHERE c.id_prodi = ? +GROUP BY c.id_cpl, c.kode_cpl, c.deskripsi +ORDER BY c.kode_cpl +` + args = []any{idProdi} + } + if err := db.DB.WithContext(ctx). - Raw(query, sem, idProdi). + Raw(query, args...). Scan(&rows).Error; err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpl stats"}) return diff --git a/internal/http/handler_nilai.go b/internal/http/handler_nilai.go index ccaadc1..f89c51e 100644 --- a/internal/http/handler_nilai.go +++ b/internal/http/handler_nilai.go @@ -154,7 +154,11 @@ func getCPLByMahasiswaHandler(c *gin.Context) { cplIDs = append(cplIDs, n.IDCPL) } - cplMap := map[uint64]string{} + type cplInfo struct { + Kode string + Deskripsi string + } + cplMap := map[uint64]cplInfo{} if len(cplIDs) > 0 { var cpls []model.CPL if err := db.DB.WithContext(ctx). @@ -164,19 +168,27 @@ func getCPLByMahasiswaHandler(c *gin.Context) { return } for _, cpl := range cpls { - cplMap[cpl.IDCPL] = cpl.KodeCPL + cplMap[cpl.IDCPL] = cplInfo{ + Kode: cpl.KodeCPL, + Deskripsi: cpl.Deskripsi, + } } } type cplResp struct { + IDCPL uint64 `json:"id_cpl"` KodeCPL string `json:"kode_cpl"` + Deskripsi string `json:"deskripsi"` NilaiAngka float64 `json:"nilai_angka"` } respList := make([]cplResp, 0, len(list)) for _, n := range list { + info := cplMap[n.IDCPL] respList = append(respList, cplResp{ - KodeCPL: cplMap[n.IDCPL], + IDCPL: n.IDCPL, + KodeCPL: info.Kode, + Deskripsi: info.Deskripsi, NilaiAngka: n.NilaiAngka, }) } diff --git a/internal/http/router.go b/internal/http/router.go index 1a93e96..47b0cb0 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -28,6 +28,7 @@ func NewRouter() *gin.Engine { api.GET("/prodi", listProdiHandler) api.GET("/prodi/:id_prodi/mk", listMKByProdiSemesterHandler) api.GET("/prodi/:id_prodi/cpl", listCPLByProdiHandler) + api.GET("/prodi/:id_prodi/stats", getProdiStatsHandler) api.GET("/mk/:id_mk/cpmk", listCPMKByMKHandler) // STATISTIK CPL PER PRODI + SEMESTER From 6b77dc14507134ac79ffb210450f9f5e59e7d83a Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Mon, 15 Dec 2025 21:49:04 +0800 Subject: [PATCH 19/36] 15Dec --- SIM-CPL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SIM-CPL b/SIM-CPL index 5b2dbe3..702ef54 160000 --- a/SIM-CPL +++ b/SIM-CPL @@ -1 +1 @@ -Subproject commit 5b2dbe303b83d3c6d94e47af2957d72edb7732c9 +Subproject commit 702ef541b69af1c0cdcd2d9d36c4f76c0131e2e7 From 24e538b72896e24d1231a11784318df2e57e293d Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Mon, 15 Dec 2025 23:14:11 +0800 Subject: [PATCH 20/36] 15Dec --- SIM-CPL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SIM-CPL b/SIM-CPL index 702ef54..930cfcb 160000 --- a/SIM-CPL +++ b/SIM-CPL @@ -1 +1 @@ -Subproject commit 702ef541b69af1c0cdcd2d9d36c4f76c0131e2e7 +Subproject commit 930cfcb4651722ceb42a716521b16c1736d7a700 From c974ab558082bcab9f9919871edbd8957223d444 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Tue, 16 Dec 2025 04:40:09 +0800 Subject: [PATCH 21/36] 16Dec --- internal/http/handler_nilai.go | 61 ++++++++++++++++++++++++++++++++++ internal/http/router.go | 1 + 2 files changed, 62 insertions(+) diff --git a/internal/http/handler_nilai.go b/internal/http/handler_nilai.go index f89c51e..423f22b 100644 --- a/internal/http/handler_nilai.go +++ b/internal/http/handler_nilai.go @@ -200,3 +200,64 @@ func getCPLByMahasiswaHandler(c *gin.Context) { "cpl": respList, }) } + +// GET /api/mahasiswa/:nim/nilai-mk?semester=1 +// Returns nilai_mk (grades) for each MK taken by the student in the given semester +func getNilaiMKByMahasiswaHandler(c *gin.Context) { + ctx := c.Request.Context() + nim := c.Param("nim") + semStr := c.Query("semester") + + if semStr == "" { + c.JSON(http.StatusBadRequest, gin.H{"error": "semester wajib diisi"}) + return + } + + sem, err := strconv.ParseUint(semStr, 10, 8) + if err != nil || sem == 0 { + c.JSON(http.StatusBadRequest, gin.H{"error": "semester tidak valid"}) + return + } + + // Get mahasiswa by NIM + var mhs model.Mahasiswa + if err := db.DB.WithContext(ctx).Where("nim = ?", nim).Take(&mhs).Error; err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa tidak ditemukan"}) + } else { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error mahasiswa"}) + } + return + } + + // Query nilai_mk with MK details + type nilaiMKResult struct { + IDMK uint64 `json:"id_mk"` + KodeMK string `json:"kode_mk"` + NamaMK string `json:"nama_mk"` + SKS uint8 `json:"sks"` + NilaiAngka float64 `json:"nilai_angka"` + NilaiHuruf *string `json:"nilai_huruf"` + } + + var results []nilaiMKResult + err = db.DB.WithContext(ctx). + Table("nilai_mk"). + Select("mk.id_mk, mk.kode_mk, mk.nama_mk, mk.sks, nilai_mk.nilai_angka, nilai_mk.nilai_huruf"). + Joins("JOIN mk ON mk.id_mk = nilai_mk.id_mk"). + Where("nilai_mk.id_mhs = ? AND nilai_mk.semester_tempuh = ?", mhs.IDMhs, sem). + Order("mk.kode_mk"). + Scan(&results).Error + + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error nilai_mk"}) + return + } + + c.JSON(http.StatusOK, gin.H{ + "nim": mhs.NIM, + "nama": mhs.Nama, + "semester": sem, + "nilai_mk": results, + }) +} diff --git a/internal/http/router.go b/internal/http/router.go index 47b0cb0..7b277c2 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -48,6 +48,7 @@ func NewRouter() *gin.Engine { // NILAI CPL PER MAHASISWA api.GET("/mahasiswa/:nim/cpl", getCPLByMahasiswaHandler) + api.GET("/mahasiswa/:nim/nilai-mk", getNilaiMKByMahasiswaHandler) // (Endpoint lain seperti /prodi/:id_prodi/mahasiswa-nilai atau // /mahasiswa/:nim/cpl bisa kamu daftarkan di sini juga, From 9f5a2c21361a15c203e8ca1f3dd96f4d25da5351 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Mon, 22 Dec 2025 06:33:41 +0800 Subject: [PATCH 22/36] 22Dec --- SIM-CPL | 2 +- cmd/api/main.go | 31 +++++++++++++ go.mod | 32 +++++++------- go.sum | 71 +++++++++++------------------- internal/http/handler_auth.go | 56 +++++++++++++++++++++++ internal/http/handler_mahasiswa.go | 19 ++++++++ internal/http/router.go | 56 ++++++++++++++++------- internal/middleware/auth.go | 51 +++++++++++++++++++++ internal/model/user.go | 19 ++++++++ internal/utils/token.go | 43 ++++++++++++++++++ 10 files changed, 300 insertions(+), 80 deletions(-) create mode 100644 internal/http/handler_auth.go create mode 100644 internal/middleware/auth.go create mode 100644 internal/model/user.go create mode 100644 internal/utils/token.go diff --git a/SIM-CPL b/SIM-CPL index 930cfcb..eade4df 160000 --- a/SIM-CPL +++ b/SIM-CPL @@ -1 +1 @@ -Subproject commit 930cfcb4651722ceb42a716521b16c1736d7a700 +Subproject commit eade4df7995d6091d96764a9acc92fe321d70a0f diff --git a/cmd/api/main.go b/cmd/api/main.go index c59104d..9de2fbe 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -7,6 +7,10 @@ import ( "cpmk/internal/config" "cpmk/internal/db" httphandler "cpmk/internal/http" + "cpmk/internal/model" + "cpmk/internal/utils" + + "gorm.io/gorm" ) func main() { @@ -18,8 +22,35 @@ func main() { r := httphandler.NewRouter() + SeedUsers(db.DB) log.Printf("listening on :%s ...", cfg.Port) if err := r.Run(":" + cfg.Port); err != nil { log.Fatalf("server error: %v", err) } } + +//SEKALI JALANIN SAJA UNTUK INSERT USER AWAL + +// Potongan kode untuk insert user awal (Seeder) +func SeedUsers(gdb *gorm.DB) { + // Password default dari screenshot + passDefault, _ := utils.HashPassword("kaprodi123") + + users := []model.User{ + {IDProdi: 5, Nama: "Kaprodi Informatika", Email: "kaprodi.informatika@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, + {IDProdi: 3, Nama: "Kaprodi Arsitektur", Email: "kaprodi.arsitektur@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, + {IDProdi: 4, Nama: "Kaprodi PWK", Email: "kaprodi.pwk@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, + {IDProdi: 2, Nama: "Kaprodi Pengairan", Email: "kaprodi.pengairan@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, // Asumsi ID sesuai DB Anda + {IDProdi: 1, Nama: "Kaprodi Elektro", Email: "kaprodi.elektro@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, + } + + for _, u := range users { + // Cek jika email sudah ada biar gak duplikat + var count int64 + gdb.Model(&model.User{}).Where("email = ?", u.Email).Count(&count) + if count == 0 { + gdb.Create(&u) + log.Printf("User %s created", u.Email) + } + } +} diff --git a/go.mod b/go.mod index 7971460..41c49d3 100644 --- a/go.mod +++ b/go.mod @@ -4,15 +4,22 @@ go 1.24.0 toolchain go1.24.10 +require ( + github.com/gin-contrib/cors v1.7.6 + github.com/gin-gonic/gin v1.11.0 + github.com/golang-jwt/jwt/v5 v5.3.0 + golang.org/x/crypto v0.46.0 + gorm.io/driver/mysql v1.6.0 + gorm.io/gorm v1.31.1 +) + require ( filippo.io/edwards25519 v1.1.0 // indirect github.com/bytedance/sonic v1.14.0 // indirect github.com/bytedance/sonic/loader v0.3.0 // indirect github.com/cloudwego/base64x v0.1.6 // indirect github.com/gabriel-vasile/mimetype v1.4.9 // indirect - github.com/gin-contrib/cors v1.7.6 // indirect github.com/gin-contrib/sse v1.1.0 // indirect - github.com/gin-gonic/gin v1.11.0 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect github.com/go-playground/validator/v10 v10.27.0 // indirect @@ -30,24 +37,15 @@ require ( github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/quic-go/qpack v0.5.1 // indirect github.com/quic-go/quic-go v0.54.0 // indirect - github.com/richardlehane/mscfb v1.0.4 // indirect - github.com/richardlehane/msoleps v1.0.4 // indirect - github.com/tiendc/go-deepcopy v1.7.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.3.0 // indirect - github.com/xuri/efp v0.0.1 // indirect - github.com/xuri/excelize/v2 v2.10.0 // indirect - github.com/xuri/nfp v0.0.2-0.20250530014748-2ddeb826f9a9 // indirect go.uber.org/mock v0.5.0 // indirect golang.org/x/arch v0.20.0 // indirect - golang.org/x/crypto v0.43.0 // indirect - golang.org/x/mod v0.28.0 // indirect - golang.org/x/net v0.46.0 // indirect - golang.org/x/sync v0.17.0 // indirect - golang.org/x/sys v0.37.0 // indirect - golang.org/x/text v0.30.0 // indirect - golang.org/x/tools v0.37.0 // indirect + golang.org/x/mod v0.30.0 // indirect + golang.org/x/net v0.47.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/sys v0.39.0 // indirect + golang.org/x/text v0.32.0 // indirect + golang.org/x/tools v0.39.0 // indirect google.golang.org/protobuf v1.36.9 // indirect - gorm.io/driver/mysql v1.6.0 // indirect - gorm.io/gorm v1.31.1 // indirect ) diff --git a/go.sum b/go.sum index e599fc4..a3b1492 100644 --- a/go.sum +++ b/go.sum @@ -7,9 +7,8 @@ github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFos github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M= github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +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/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM= -github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY= github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= github.com/gin-contrib/cors v1.7.6 h1:3gQ8GMzs1Ylpf70y8bMw4fVpycXIeX1ZemuSQIsnQQY= @@ -18,6 +17,8 @@ github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= github.com/gin-gonic/gin v1.11.0 h1:OW/6PLjyusp2PPXtyxKHU0RbX6I/l28FTdDlae5ueWk= github.com/gin-gonic/gin v1.11.0/go.mod h1:+iq/FyxlGzII0KHiBGjuNn4UNENUlKbGlNmc+W50Dls= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= @@ -26,12 +27,14 @@ github.com/go-playground/validator/v10 v10.27.0 h1:w8+XrWVMhGkxOaaowyKH35gFydVHO github.com/go-playground/validator/v10 v10.27.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= -github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= -github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= +github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= @@ -45,7 +48,6 @@ github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -53,16 +55,12 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +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/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI= github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg= github.com/quic-go/quic-go v0.54.0 h1:6s1YB9QotYI6Ospeiguknbp2Znb/jZYjZLRXn9kMQBg= github.com/quic-go/quic-go v0.54.0/go.mod h1:e68ZEaCdyviluZmy44P6Iey98v/Wfz6HCjQEm+l8zTY= -github.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM= -github.com/richardlehane/mscfb v1.0.4/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7gK3DypaEsUk= -github.com/richardlehane/msoleps v1.0.1/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg= -github.com/richardlehane/msoleps v1.0.4 h1:WuESlvhX3gH2IHcd8UqyCuFY5yiq/GR/yqaSM/9/g00= -github.com/richardlehane/msoleps v1.0.4/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -70,55 +68,36 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/tiendc/go-deepcopy v1.7.1 h1:LnubftI6nYaaMOcaz0LphzwraqN8jiWTwm416sitff4= -github.com/tiendc/go-deepcopy v1.7.1/go.mod h1:4bKjNC2r7boYOkD2IOuZpYjmlDdzjbpTRyCx+goBCJQ= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go/codec v1.3.0 h1:Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA= github.com/ugorji/go/codec v1.3.0/go.mod h1:pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4= -github.com/xuri/efp v0.0.1 h1:fws5Rv3myXyYni8uwj2qKjVaRP30PdjeYe2Y6FDsCL8= -github.com/xuri/efp v0.0.1/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI= -github.com/xuri/excelize/v2 v2.10.0 h1:8aKsP7JD39iKLc6dH5Tw3dgV3sPRh8uRVXu/fMstfW4= -github.com/xuri/excelize/v2 v2.10.0/go.mod h1:SC5TzhQkaOsTWpANfm+7bJCldzcnU/jrhqkTi/iBHBU= -github.com/xuri/nfp v0.0.2-0.20250530014748-2ddeb826f9a9 h1:+C0TIdyyYmzadGaL/HBLbf3WdLgC29pgyhTjAT/0nuE= -github.com/xuri/nfp v0.0.2-0.20250530014748-2ddeb826f9a9/go.mod h1:WwHg+CVyzlv/TX9xqBFXEZAuxOPxn2k1GNHwG41IIUQ= go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= golang.org/x/arch v0.20.0 h1:dx1zTU0MAE98U+TQ8BLl7XsJbgze2WnNKF/8tGp/Q6c= golang.org/x/arch v0.20.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= -golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= -golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= -golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04= -golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0= -golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= -golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= -golang.org/x/mod v0.28.0 h1:gQBtGhjxykdjY9YhZpSlZIsbnaE2+PgjfLWUQTnoZ1U= -golang.org/x/mod v0.28.0/go.mod h1:yfB/L0NOf/kmEbXjzCPOx1iK1fRutOydrCMsqRhEBxI= -golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= -golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= -golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4= -golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= -golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= -golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= +golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= +golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk= +golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc= +golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= +golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= -golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ= -golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= -golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= -golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k= -golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= -golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= -golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= -golang.org/x/tools v0.37.0 h1:DVSRzp7FwePZW356yEAChSdNcQo6Nsp+fex1SUW09lE= -golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= +golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= +golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= +golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= +golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ= +golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ= google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw= google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/driver/mysql v1.6.0 h1:eNbLmNTpPpTOVZi8MMxCi2aaIm0ZpInbORNXDwyLGvg= gorm.io/driver/mysql v1.6.0/go.mod h1:D/oCC2GWK3M/dqoLxnOlaNKmXz8WNTfcS9y5ovaSqKo= diff --git a/internal/http/handler_auth.go b/internal/http/handler_auth.go new file mode 100644 index 0000000..357b0d9 --- /dev/null +++ b/internal/http/handler_auth.go @@ -0,0 +1,56 @@ +package http + +import ( + "net/http" + + "cpmk/internal/db" + "cpmk/internal/model" + "cpmk/internal/utils" + + "github.com/gin-gonic/gin" +) + +type loginRequest struct { + Email string `json:"email" binding:"required,email"` + Password string `json:"password" binding:"required"` +} + +func loginHandler(c *gin.Context) { + var req loginRequest + if err := c.ShouldBindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "Format data tidak valid"}) + return + } + + // 1. Cari user di database + var user model.User + if err := db.DB.Where("email = ?", req.Email).First(&user).Error; err != nil { + c.JSON(http.StatusUnauthorized, gin.H{"error": "Email atau password salah"}) + return + } + + // 2. Cek Password + if !utils.CheckPasswordHash(req.Password, user.Password) { + c.JSON(http.StatusUnauthorized, gin.H{"error": "Email atau password salah"}) + return + } + + // 3. Buat Token JWT + token, err := utils.GenerateToken(user.ID, user.IDProdi, user.Role) + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "Gagal membuat token"}) + return + } + + // 4. Kirim respon sukses + c.JSON(http.StatusOK, gin.H{ + "token": token, + "user": gin.H{ + "id_user": user.ID, + "nama": user.Nama, + "email": user.Email, + "id_prodi": user.IDProdi, + "role": user.Role, + }, + }) +} diff --git a/internal/http/handler_mahasiswa.go b/internal/http/handler_mahasiswa.go index 29c3ceb..45780cc 100644 --- a/internal/http/handler_mahasiswa.go +++ b/internal/http/handler_mahasiswa.go @@ -6,6 +6,7 @@ import ( "strconv" "cpmk/internal/db" + "cpmk/internal/model" "github.com/gin-gonic/gin" ) @@ -73,3 +74,21 @@ ORDER BY c.JSON(http.StatusOK, rows) } + +func listAngkatanHandler(c *gin.Context) { + idProdi := c.Param("id_prodi") + var angkatans []int + + // Ambil daftar angkatan unik dari tabel mahasiswa + err := db.DB.Model(&model.Mahasiswa{}). + Where("id_prodi = ?", idProdi). + Distinct(). + Order("angkatan DESC"). + Pluck("angkatan", &angkatans).Error + + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "gagal ambil data angkatan"}) + return + } + c.JSON(http.StatusOK, angkatans) +} diff --git a/internal/http/router.go b/internal/http/router.go index 7b277c2..0269d11 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -3,6 +3,8 @@ package http import ( "time" + "cpmk/internal/middleware" // Pastikan folder middleware sudah ada + "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" ) @@ -10,49 +12,71 @@ import ( func NewRouter() *gin.Engine { r := gin.Default() + // Konfigurasi CORS (Sesuai kode lama Anda) r.Use(cors.New(cors.Config{ - AllowOrigins: []string{"*"}, // Allow all origins + AllowOrigins: []string{"*"}, AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD"}, - AllowHeaders: []string{"Origin", "Content-Type", "Accept", "X-Requested-With"}, + AllowHeaders: []string{"Origin", "Content-Type", "Accept", "X-Requested-With", "Authorization", "ngrok-skip-browser-warning"}, ExposeHeaders: []string{"Content-Length"}, AllowCredentials: false, MaxAge: 12 * time.Hour, })) - // health + // Endpoint Health Check (Bisa diakses siapa saja) r.GET("/health", healthHandler) api := r.Group("/api") { - // MASTER DATA + // ============================== + // 1. PUBLIC ROUTES (Tanpa Login) + // ============================== + api.POST("/login", loginHandler) // <-- Endpoint Login Baru api.GET("/prodi", listProdiHandler) + api.GET("/prodi/:id_prodi/mk", listMKByProdiSemesterHandler) api.GET("/prodi/:id_prodi/cpl", listCPLByProdiHandler) api.GET("/prodi/:id_prodi/stats", getProdiStatsHandler) api.GET("/mk/:id_mk/cpmk", listCPMKByMKHandler) - // STATISTIK CPL PER PRODI + SEMESTER + // STATISTIK CPL api.GET("/prodi/:id_prodi/cpl-stats", getCPLStatsByProdiSemesterHandler) - - // CPL MAPPING (CPL -> MK -> CPMK) api.GET("/prodi/:id_prodi/cpl-mapping", getCPLMappingHandler) - // IMPORT NILAI MK - // (kalau handler kamu namanya importNilaiJSONHandler, ganti di sini) + // IMPORT & ADMIN (Tadi error karena duplikat, sekarang aman) api.POST("/nilai-mk/import", importNilaiHandler) - - // ADMIN – RECALC BOBOT CPL-MK & MK-CPMK api.POST("/prodi/:id_prodi/recalc-bobot", recalcBobotHandler) + // MAHASISWA & NILAI api.GET("/prodi/:id_prodi/mahasiswa-nilai", listMahasiswaDenganNilaiHandler) - - // NILAI CPL PER MAHASISWA api.GET("/mahasiswa/:nim/cpl", getCPLByMahasiswaHandler) api.GET("/mahasiswa/:nim/nilai-mk", getNilaiMKByMahasiswaHandler) - // (Endpoint lain seperti /prodi/:id_prodi/mahasiswa-nilai atau - // /mahasiswa/:nim/cpl bisa kamu daftarkan di sini juga, - // disesuaikan dengan file handler_nilai.go yang sekarang.) + // ============================== + // 2. PROTECTED ROUTES (Wajib Token/Login) + // ============================== + protected := api.Group("/midd") + protected.Use(middleware.AuthMiddleware()) // Pasang Gembok di sini + { + // MASTER DATA + protected.GET("/prodi", listProdiHandler) + protected.GET("/prodi/:id_prodi/mk", listMKByProdiSemesterHandler) + protected.GET("/prodi/:id_prodi/cpl", listCPLByProdiHandler) + protected.GET("/prodi/:id_prodi/stats", getProdiStatsHandler) + protected.GET("/mk/:id_mk/cpmk", listCPMKByMKHandler) + + // STATISTIK CPL + protected.GET("/prodi/:id_prodi/cpl-stats", getCPLStatsByProdiSemesterHandler) + protected.GET("/prodi/:id_prodi/cpl-mapping", getCPLMappingHandler) + + // IMPORT & ADMIN (Tadi error karena duplikat, sekarang aman) + protected.POST("/nilai-mk/import", importNilaiHandler) + protected.POST("/prodi/:id_prodi/recalc-bobot", recalcBobotHandler) + + // MAHASISWA & NILAI + protected.GET("/prodi/:id_prodi/mahasiswa-nilai", listMahasiswaDenganNilaiHandler) + protected.GET("/mahasiswa/:nim/cpl", getCPLByMahasiswaHandler) + protected.GET("/mahasiswa/:nim/nilai-mk", getNilaiMKByMahasiswaHandler) + } } return r diff --git a/internal/middleware/auth.go b/internal/middleware/auth.go new file mode 100644 index 0000000..9d3fe96 --- /dev/null +++ b/internal/middleware/auth.go @@ -0,0 +1,51 @@ +package middleware + +import ( + "net/http" + "strings" + + "cpmk/internal/utils" + + "github.com/gin-gonic/gin" + "github.com/golang-jwt/jwt/v5" +) + +func AuthMiddleware() gin.HandlerFunc { + return func(c *gin.Context) { + authHeader := c.GetHeader("Authorization") + if authHeader == "" { + c.JSON(http.StatusUnauthorized, gin.H{"error": "Akses ditolak: Token tidak ditemukan"}) + c.Abort() + return + } + + // Format token harus: "Bearer " + parts := strings.Split(authHeader, " ") + if len(parts) != 2 || parts[0] != "Bearer" { + c.JSON(http.StatusUnauthorized, gin.H{"error": "Format token salah"}) + c.Abort() + return + } + + tokenString := parts[1] + claims := &utils.JWTClaim{} + + // Verifikasi token dengan Secret Key + token, err := jwt.ParseWithClaims(tokenString, claims, func(t *jwt.Token) (interface{}, error) { + return utils.SecretKey, nil + }) + + if err != nil || !token.Valid { + c.JSON(http.StatusUnauthorized, gin.H{"error": "Token tidak valid atau sudah kadaluarsa"}) + c.Abort() + return + } + + // Token valid! Simpan info user agar bisa dipakai di handler lain (opsional) + c.Set("id_user", claims.IDUser) + c.Set("id_prodi", claims.IDProdi) + c.Set("role", claims.Role) + + c.Next() + } +} diff --git a/internal/model/user.go b/internal/model/user.go new file mode 100644 index 0000000..a774fba --- /dev/null +++ b/internal/model/user.go @@ -0,0 +1,19 @@ +package model + +import "time" + +type User struct { + ID uint64 `gorm:"column:id_user;primaryKey;autoIncrement" json:"id_user"` + IDProdi uint64 `gorm:"column:id_prodi;unique;not null" json:"id_prodi" // 1 Prodi = 1 Akun Kaprodi` + Nama string `gorm:"column:nama;size:100;not null" json:"nama"` + Email string `gorm:"column:email;size:100;unique;not null" json:"email"` + Password string `gorm:"column:password;size:255;not null" json:"-" // JSON "-" agar password tidak ikut terkirim di API response` + Role string `gorm:"column:role;size:20;default:'kaprodi'" json:"role"` + CreatedAt time.Time `gorm:"column:created_at"` + UpdatedAt time.Time `gorm:"column:updated_at"` + + // Relasi (Optional, agar bisa preload data prodi) + Prodi Prodi `gorm:"foreignKey:IDProdi;references:IDProdi" ` +} + +func (User) TableName() string { return "users" } diff --git a/internal/utils/token.go b/internal/utils/token.go new file mode 100644 index 0000000..71c9e08 --- /dev/null +++ b/internal/utils/token.go @@ -0,0 +1,43 @@ +package utils + +import ( + _ "errors" + "time" + + "github.com/golang-jwt/jwt/v5" + "golang.org/x/crypto/bcrypt" +) + +// Ganti ini dengan secret key yang susah ditebak, sebaiknya taruh di .env +var SecretKey = []byte("RAHASIA_DAPUR_SIMCPL_2025") + +type JWTClaim struct { + IDUser uint64 `json:"id_user"` + IDProdi uint64 `json:"id_prodi"` + Role string `json:"role"` + jwt.RegisteredClaims +} + +func HashPassword(pwd string) (string, error) { + bytes, err := bcrypt.GenerateFromPassword([]byte(pwd), bcrypt.DefaultCost) + return string(bytes), err +} + +func CheckPasswordHash(password, hash string) bool { + err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password)) + return err == nil +} + +func GenerateToken(idUser, idProdi uint64, role string) (string, error) { + claims := &JWTClaim{ + IDUser: idUser, + IDProdi: idProdi, + Role: role, + RegisteredClaims: jwt.RegisteredClaims{ + ExpiresAt: jwt.NewNumericDate(time.Now().Add(24 * time.Hour)), // Token berlaku 24 jam + Issuer: "sim-cpl-backend", + }, + } + token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) + return token.SignedString(SecretKey) +} From d2532aa4f4f38ae1e8f7f127e2b247f8a092c301 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Sun, 4 Jan 2026 16:10:52 +0800 Subject: [PATCH 23/36] new year --- SIM-CPL | 2 +- internal/http/router.go | 13 ++++++------- internal/model/mahasiswa.go | 13 +++++++------ internal/service/cpl_service.go | 3 +++ 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/SIM-CPL b/SIM-CPL index eade4df..396af3e 160000 --- a/SIM-CPL +++ b/SIM-CPL @@ -1 +1 @@ -Subproject commit eade4df7995d6091d96764a9acc92fe321d70a0f +Subproject commit 396af3e317688daa0510908f7b9c8a98bf2f7266 diff --git a/internal/http/router.go b/internal/http/router.go index 0269d11..d64cc7b 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -1,8 +1,6 @@ package http import ( - "time" - "cpmk/internal/middleware" // Pastikan folder middleware sudah ada "github.com/gin-contrib/cors" @@ -14,12 +12,13 @@ func NewRouter() *gin.Engine { // Konfigurasi CORS (Sesuai kode lama Anda) r.Use(cors.New(cors.Config{ - AllowOrigins: []string{"*"}, - AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD"}, - AllowHeaders: []string{"Origin", "Content-Type", "Accept", "X-Requested-With", "Authorization", "ngrok-skip-browser-warning"}, + // Gunakan wildcard "*" hanya untuk memastikan koneksi tembus saat testing + AllowAllOrigins: true, + AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}, + // "ngrok-skip-browser-warning" WAJIB ada di sini + AllowHeaders: []string{"Origin", "Content-Type", "Accept", "Authorization", "X-Requested-With", "ngrok-skip-browser-warning"}, ExposeHeaders: []string{"Content-Length"}, - AllowCredentials: false, - MaxAge: 12 * time.Hour, + AllowCredentials: true, })) // Endpoint Health Check (Bisa diakses siapa saja) diff --git a/internal/model/mahasiswa.go b/internal/model/mahasiswa.go index f6cfd54..ab0fc7d 100644 --- a/internal/model/mahasiswa.go +++ b/internal/model/mahasiswa.go @@ -1,12 +1,13 @@ package model type Mahasiswa struct { - IDMhs uint64 `json:"id_mhs" gorm:"column:id_mhs;primaryKey;autoIncrement"` - IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;not null"` - NIM string `json:"nim" gorm:"column:nim;size:30;unique;not null"` - Nama string `json:"nama" gorm:"column:nama;size:200;not null"` - Angkatan int `json:"angkatan" gorm:"column:angkatan;not null"` - Status string `json:"status" gorm:"column:status;size:20;not null;default:'AKTIF'"` + IDMhs uint64 `json:"id_mhs" gorm:"column:id_mhs;primaryKey;autoIncrement"` + IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;not null"` + IDKonsentrasi *uint64 `json:"id_konsentrasi" gorm:"column:id_konsentrasi"` // Tambahkan ini + NIM string `json:"nim" gorm:"column:nim;size:30;unique;not null"` + Nama string `json:"nama" gorm:"column:nama;size:200;not null"` + Angkatan int `json:"angkatan" gorm:"column:angkatan;not null"` + Status string `json:"status" gorm:"column:status;size:20;not null;default:'AKTIF'"` } func (Mahasiswa) TableName() string { return "mahasiswa" } diff --git a/internal/service/cpl_service.go b/internal/service/cpl_service.go index 27eca70..ac5510a 100644 --- a/internal/service/cpl_service.go +++ b/internal/service/cpl_service.go @@ -146,6 +146,9 @@ FROM ( WHERE m.id_prodi = ? AND n.semester_tempuh = ? + AND (m.id_konsentrasi IS NULL OR m.id_konsentrasi = ( + SELECT id_konsentrasi FROM mahasiswa WHERE id_mhs = n.id_mhs + )) GROUP BY n.id_mhs, cm.id_cpl From fb193d6cac6c570e1d77797c92e11ab030b5862b Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Thu, 15 Jan 2026 23:13:19 +0800 Subject: [PATCH 24/36] idk --- internal/http/handler_mahasiswa.go | 50 ++++++++++++++++++++++++++++++ internal/http/handler_master.go | 25 +++++++++++---- internal/http/router.go | 1 + internal/model/cpmk.go | 1 + internal/model/sub_cpmk.go | 11 +++++++ 5 files changed, 82 insertions(+), 6 deletions(-) create mode 100644 internal/model/sub_cpmk.go diff --git a/internal/http/handler_mahasiswa.go b/internal/http/handler_mahasiswa.go index 45780cc..ca7836b 100644 --- a/internal/http/handler_mahasiswa.go +++ b/internal/http/handler_mahasiswa.go @@ -92,3 +92,53 @@ func listAngkatanHandler(c *gin.Context) { } c.JSON(http.StatusOK, angkatans) } + +// GET /api/mahasiswa/:nim/mk/:id_mk/analisis +func getMKAnalisisMahasiswaHandler(c *gin.Context) { + ctx := c.Request.Context() + nim := c.Param("nim") + idMK, _ := strconv.ParseUint(c.Param("id_mk"), 10, 64) + + // 1. Ambil data mahasiswa berdasarkan NIM + var mhs model.Mahasiswa + if err := db.DB.WithContext(ctx).Where("nim = ?", nim).First(&mhs).Error; err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa tidak ditemukan"}) + return + } + + // 2. Query Gabungan: Ambil CPMK, Nilai Mahasiswa, dan Sub-CPMK terkait + type SubCPMKRes struct { + Kode string `json:"kode_sub_cpmk"` + Deskripsi string `json:"deskripsi"` + Nilai float64 `json:"nilai"` + } + + type CPMKAnalisisRes struct { + IDCPMK uint64 `json:"id_cpmk"` + KodeCPMK string `json:"kode_cpmk"` + Nilai float64 `json:"nilai"` + Bobot float64 `json:"bobot_cpmk"` + Deskripsi string `json:"deskripsi"` + SubCPMKs []SubCPMKRes `json:"sub_cpmks"` + } + + var results []CPMKAnalisisRes + db.DB.WithContext(ctx).Table("cpmk"). + Select("cpmk.id_cpmk, cpmk.kode_cpmk, cpmk.deskripsi, cpmk.bobot_cpmk, COALESCE(nilai_cpmk.nilai, 0) as nilai"). + Joins("LEFT JOIN nilai_cpmk ON nilai_cpmk.id_cpmk = cpmk.id_cpmk AND nilai_cpmk.id_mhs = ?", mhs.IDMhs). + Where("cpmk.id_mk = ?", idMK). + Scan(&results) + + // 3. Ambil rincian Sub-CPMK untuk setiap CPMK + for i := range results { + var subs []SubCPMKRes + db.DB.WithContext(ctx).Table("sub_cpmk"). + Select("sub_cpmk.kode_sub_cpmk, sub_cpmk.deskripsi, COALESCE(nilai_sub_cpmk.nilai, 0) as nilai"). + Joins("LEFT JOIN nilai_sub_cpmk ON nilai_sub_cpmk.id_sub_cpmk = sub_cpmk.id_sub_cpmk AND nilai_sub_cpmk.id_mhs = ?", mhs.IDMhs). + Where("sub_cpmk.id_cpmk = ?", results[i].IDCPMK). + Scan(&subs) + results[i].SubCPMKs = subs + } + + c.JSON(http.StatusOK, results) +} \ No newline at end of file diff --git a/internal/http/handler_master.go b/internal/http/handler_master.go index 4dc1894..e43b93c 100644 --- a/internal/http/handler_master.go +++ b/internal/http/handler_master.go @@ -393,12 +393,13 @@ func recalcBobotHandler(c *gin.Context) { // ========================= CPL MAPPING (CPL -> MK -> CPMK) ========================= type MKMappingItem struct { - IDMK uint64 `json:"id_mk"` - KodeMK string `json:"kode_mk"` - NamaMK string `json:"nama_mk"` - SKS uint8 `json:"sks"` - Semester uint8 `json:"semester"` - CPMKCount int `json:"cpmk_count"` + IDMK uint64 `json:"id_mk"` + KodeMK string `json:"kode_mk"` + NamaMK string `json:"nama_mk"` + SKS uint8 `json:"sks"` + Semester uint8 `json:"semester"` + CPMKCount int `json:"cpmk_count"` + RelatedCPMKs []string `json:"related_cpmks"` } type CPLMappingItem struct { @@ -514,6 +515,17 @@ func getCPLMappingHandler(c *gin.Context) { // MK not in current semester filter continue } + + var relatedCPMKs []string + db.DB.WithContext(ctx). + Table("cpmk"). + Where("id_mk = ? AND id_cpl = ?", mk.IDMK, cpl.IDCPL). // Sesuaikan nama kolom di DB Anda + Pluck("kode_cpmk", &relatedCPMKs) + + if relatedCPMKs == nil { + relatedCPMKs = []string{} + } + item.MKList = append(item.MKList, MKMappingItem{ IDMK: mk.IDMK, KodeMK: mk.KodeMK, @@ -521,6 +533,7 @@ func getCPLMappingHandler(c *gin.Context) { SKS: mk.SKS, Semester: mk.Semester, CPMKCount: cpmkCountMap[mk.IDMK], + RelatedCPMKs: relatedCPMKs, }) } diff --git a/internal/http/router.go b/internal/http/router.go index d64cc7b..7d48bce 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -49,6 +49,7 @@ func NewRouter() *gin.Engine { api.GET("/prodi/:id_prodi/mahasiswa-nilai", listMahasiswaDenganNilaiHandler) api.GET("/mahasiswa/:nim/cpl", getCPLByMahasiswaHandler) api.GET("/mahasiswa/:nim/nilai-mk", getNilaiMKByMahasiswaHandler) + api.GET("/mahasiswa/:nim/mk/:id_mk/analisis", getMKAnalisisMahasiswaHandler) // ============================== // 2. PROTECTED ROUTES (Wajib Token/Login) diff --git a/internal/model/cpmk.go b/internal/model/cpmk.go index 539b01a..52f2ae9 100644 --- a/internal/model/cpmk.go +++ b/internal/model/cpmk.go @@ -3,6 +3,7 @@ package model type CPMK struct { IDCPMK uint64 `json:"id_cpmk" gorm:"column:id_cpmk;primaryKey;autoIncrement"` IDMK uint64 `json:"id_mk" gorm:"column:id_mk;not null"` + IDCPL *uint64 `json:"id_cpl" gorm:"column:id_cpl"` KodeCPMK string `json:"kode_cpmk" gorm:"column:kode_cpmk;size:20;not null"` Deskripsi string `json:"deskripsi" gorm:"column:deskripsi;type:text;not null"` BobotCPMK *float64 `json:"bobot_cpmk" gorm:"column:bobot_cpmk"` // nullable diff --git a/internal/model/sub_cpmk.go b/internal/model/sub_cpmk.go new file mode 100644 index 0000000..d7d7df4 --- /dev/null +++ b/internal/model/sub_cpmk.go @@ -0,0 +1,11 @@ +package model + +type SubCPMK struct { + IDSubCPMK uint64 `json:"id_sub_cpmk" gorm:"column:id_sub_cpmk;primaryKey"` + IDCPMK uint64 `json:"id_cpmk" gorm:"column:id_cpmk"` + KodeSubCPMK string `json:"kode_sub_cpmk" gorm:"column:kode_sub_cpmk"` + Deskripsi string `json:"deskripsi" gorm:"column:deskripsi"` + BobotDalamCPMK float64 `json:"bobot_dalam_cpmk" gorm:"column:bobot_dalam_cpmk"` +} + +func (SubCPMK) TableName() string { return "sub_cpmk" } From 5f78b556bc78c9cdf45474249f2bc40ed3995571 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Sat, 17 Jan 2026 04:21:41 +0800 Subject: [PATCH 25/36] test --- SIM-CPL | 2 +- cmd/api/main.go | 3 +- dto/sync_dto.go | 26 +++ go.mod | 1 + go.sum | 2 + internal/config/config.go | 11 +- internal/http/handler_mahasiswa.go | 94 +++++------ internal/http/handler_master.go | 204 +++++++++++------------ internal/http/handler_sync.go | 54 ++++++ internal/http/router.go | 8 +- internal/model/cpmk.go | 11 +- internal/model/mahasiswa.go | 2 +- internal/model/mk.go | 18 +- internal/model/nilai_mk.go | 2 +- internal/model/prodi.go | 8 +- internal/model/sub_cpmk.go | 10 +- internal/service/cpl_service.go | 2 +- internal/service/import_nilai_service.go | 10 +- internal/service/sync_service.go | 147 ++++++++++++++++ 19 files changed, 426 insertions(+), 189 deletions(-) create mode 100644 dto/sync_dto.go create mode 100644 internal/http/handler_sync.go create mode 100644 internal/service/sync_service.go diff --git a/SIM-CPL b/SIM-CPL index 396af3e..7838419 160000 --- a/SIM-CPL +++ b/SIM-CPL @@ -1 +1 @@ -Subproject commit 396af3e317688daa0510908f7b9c8a98bf2f7266 +Subproject commit 7838419e0f12aa130da741eaec36a520c2d7e2cb diff --git a/cmd/api/main.go b/cmd/api/main.go index 9de2fbe..3afde36 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -20,8 +20,7 @@ func main() { db.MustConnect(ctx, cfg.DBDSN) - r := httphandler.NewRouter() - + r := httphandler.NewRouter(db.DB, cfg) SeedUsers(db.DB) log.Printf("listening on :%s ...", cfg.Port) if err := r.Run(":" + cfg.Port); err != nil { diff --git a/dto/sync_dto.go b/dto/sync_dto.go new file mode 100644 index 0000000..411c139 --- /dev/null +++ b/dto/sync_dto.go @@ -0,0 +1,26 @@ +package dto + +// Ini menyesuaikan dengan JSON output dari Smart RPS +type SmartRpsCourse struct { + ID string `json:"id"` + Code string `json:"code"` + Title string `json:"title"` + Credits *int `json:"credits"` + Semester *int `json:"semester"` + CPMKs []SmartRpsCPMK `json:"cpmks"` // Nested object +} + +type SmartRpsCPMK struct { + ID string `json:"id"` + CPMKNumber int `json:"cpmk_number"` + Description string `json:"description"` + Bobot *float64 `json:"bobot"` + SubCPMKs []SmartRpsSubCPMK `json:"sub_cpmks"` +} + +type SmartRpsSubCPMK struct { + ID string `json:"id"` + SubCPMKNumber int `json:"sub_cpmk_number"` + Description string `json:"description"` + Bobot *float64 `json:"bobot"` +} diff --git a/go.mod b/go.mod index 41c49d3..f8456f3 100644 --- a/go.mod +++ b/go.mod @@ -26,6 +26,7 @@ require ( github.com/go-sql-driver/mysql v1.8.1 // indirect github.com/goccy/go-json v0.10.5 // indirect github.com/goccy/go-yaml v1.18.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/json-iterator/go v1.1.12 // indirect diff --git a/go.sum b/go.sum index a3b1492..eda40d6 100644 --- a/go.sum +++ b/go.sum @@ -36,6 +36,8 @@ github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArs github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= diff --git a/internal/config/config.go b/internal/config/config.go index 715be93..184b0c9 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -5,16 +5,19 @@ import ( ) type Config struct { - DBDSN string - Port string + DBDSN string + Port string + SmartRpsURL string // URL Backend Smart RPS + SyncSecretKey string // Key yang sama dengan yang ada di Smart RPS } func Load() *Config { return &Config{ - // contoh DSN MySQL: - // user:password@tcp(host:port)/dbname?parseTime=true&loc=Local DBDSN: env("DB_DSN", "root:@tcp(127.0.0.1:3306)/cpl_unismuh?parseTime=true&loc=Local"), Port: env("PORT", "8001"), + // Default ke localhost jika belum diset di .env + SmartRpsURL: env("SMART_RPS_URL", "http://localhost:8080"), + SyncSecretKey: env("SYNC_SECRET_KEY", "rahasia_dapur_fti_2025_jangan_disebar"), } } diff --git a/internal/http/handler_mahasiswa.go b/internal/http/handler_mahasiswa.go index ca7836b..148c885 100644 --- a/internal/http/handler_mahasiswa.go +++ b/internal/http/handler_mahasiswa.go @@ -95,50 +95,50 @@ func listAngkatanHandler(c *gin.Context) { // GET /api/mahasiswa/:nim/mk/:id_mk/analisis func getMKAnalisisMahasiswaHandler(c *gin.Context) { - ctx := c.Request.Context() - nim := c.Param("nim") - idMK, _ := strconv.ParseUint(c.Param("id_mk"), 10, 64) - - // 1. Ambil data mahasiswa berdasarkan NIM - var mhs model.Mahasiswa - if err := db.DB.WithContext(ctx).Where("nim = ?", nim).First(&mhs).Error; err != nil { - c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa tidak ditemukan"}) - return - } - - // 2. Query Gabungan: Ambil CPMK, Nilai Mahasiswa, dan Sub-CPMK terkait - type SubCPMKRes struct { - Kode string `json:"kode_sub_cpmk"` - Deskripsi string `json:"deskripsi"` - Nilai float64 `json:"nilai"` - } - - type CPMKAnalisisRes struct { - IDCPMK uint64 `json:"id_cpmk"` - KodeCPMK string `json:"kode_cpmk"` - Nilai float64 `json:"nilai"` - Bobot float64 `json:"bobot_cpmk"` - Deskripsi string `json:"deskripsi"` - SubCPMKs []SubCPMKRes `json:"sub_cpmks"` - } - - var results []CPMKAnalisisRes - db.DB.WithContext(ctx).Table("cpmk"). - Select("cpmk.id_cpmk, cpmk.kode_cpmk, cpmk.deskripsi, cpmk.bobot_cpmk, COALESCE(nilai_cpmk.nilai, 0) as nilai"). - Joins("LEFT JOIN nilai_cpmk ON nilai_cpmk.id_cpmk = cpmk.id_cpmk AND nilai_cpmk.id_mhs = ?", mhs.IDMhs). - Where("cpmk.id_mk = ?", idMK). - Scan(&results) - - // 3. Ambil rincian Sub-CPMK untuk setiap CPMK - for i := range results { - var subs []SubCPMKRes - db.DB.WithContext(ctx).Table("sub_cpmk"). - Select("sub_cpmk.kode_sub_cpmk, sub_cpmk.deskripsi, COALESCE(nilai_sub_cpmk.nilai, 0) as nilai"). - Joins("LEFT JOIN nilai_sub_cpmk ON nilai_sub_cpmk.id_sub_cpmk = sub_cpmk.id_sub_cpmk AND nilai_sub_cpmk.id_mhs = ?", mhs.IDMhs). - Where("sub_cpmk.id_cpmk = ?", results[i].IDCPMK). - Scan(&subs) - results[i].SubCPMKs = subs - } - - c.JSON(http.StatusOK, results) -} \ No newline at end of file + ctx := c.Request.Context() + nim := c.Param("nim") + idMK, _ := strconv.ParseUint(c.Param("id_mk"), 10, 64) + + // 1. Ambil data mahasiswa berdasarkan NIM + var mhs model.Mahasiswa + if err := db.DB.WithContext(ctx).Where("nim = ?", nim).First(&mhs).Error; err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa tidak ditemukan"}) + return + } + + // 2. Query Gabungan: Ambil CPMK, Nilai Mahasiswa, dan Sub-CPMK terkait + type SubCPMKRes struct { + Kode string `json:"kode_sub_cpmk"` + Deskripsi string `json:"deskripsi"` + Nilai float64 `json:"nilai"` + } + + type CPMKAnalisisRes struct { + IDCPMK uint64 `json:"id_cpmk"` + KodeCPMK string `json:"kode_cpmk"` + Nilai float64 `json:"nilai"` + Bobot float64 `json:"bobot_cpmk"` + Deskripsi string `json:"deskripsi"` + SubCPMKs []SubCPMKRes `json:"sub_cpmks"` + } + + var results []CPMKAnalisisRes + db.DB.WithContext(ctx).Table("cpmk"). + Select("cpmk.id_cpmk, cpmk.kode_cpmk, cpmk.deskripsi, cpmk.bobot_cpmk, COALESCE(nilai_cpmk.nilai, 0) as nilai"). + Joins("LEFT JOIN nilai_cpmk ON nilai_cpmk.id_cpmk = cpmk.id_cpmk AND nilai_cpmk.id_mhs = ?", mhs.IDMhs). + Where("cpmk.id_mk = ?", idMK). + Scan(&results) + + // 3. Ambil rincian Sub-CPMK untuk setiap CPMK + for i := range results { + var subs []SubCPMKRes + db.DB.WithContext(ctx).Table("sub_cpmk"). + Select("sub_cpmk.kode_sub_cpmk, sub_cpmk.deskripsi, COALESCE(nilai_sub_cpmk.nilai, 0) as nilai"). + Joins("LEFT JOIN nilai_sub_cpmk ON nilai_sub_cpmk.id_sub_cpmk = sub_cpmk.id_sub_cpmk AND nilai_sub_cpmk.id_mhs = ?", mhs.IDMhs). + Where("sub_cpmk.id_cpmk = ?", results[i].IDCPMK). + Scan(&subs) + results[i].SubCPMKs = subs + } + + c.JSON(http.StatusOK, results) +} diff --git a/internal/http/handler_master.go b/internal/http/handler_master.go index e43b93c..978b45c 100644 --- a/internal/http/handler_master.go +++ b/internal/http/handler_master.go @@ -38,10 +38,12 @@ func listProdiHandler(c *gin.Context) { c.JSON(http.StatusOK, prodis) } +// GET /api/prodi/:id_prodi/mk?semester=1 // GET /api/prodi/:id_prodi/mk?semester=1 func listMKByProdiSemesterHandler(c *gin.Context) { ctx := c.Request.Context() + // ID Prodi tetap Uint64 (sesuai SQL Anda) idStr := c.Param("id_prodi") id, err := strconv.ParseUint(idStr, 10, 64) if err != nil { @@ -50,10 +52,10 @@ func listMKByProdiSemesterHandler(c *gin.Context) { } semStr := c.Query("semester") - var mkList []model.MK + var mkList []model.MataKuliah q := db.DB.WithContext(ctx).Where("id_prodi = ?", id) if semStr != "" { - sem, err := strconv.ParseUint(semStr, 10, 8) + sem, err := strconv.Atoi(semStr) // Gunakan Atoi untuk int biasa if err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": "invalid semester"}) return @@ -66,56 +68,57 @@ func listMKByProdiSemesterHandler(c *gin.Context) { return } - // Get all MK IDs for batch query - mkIDs := make([]uint64, len(mkList)) + // === PERBAIKAN DI SINI (Gunakan String untuk UUID MK) === + mkIDs := make([]string, len(mkList)) // Ubah ke String slice for i, mk := range mkList { - mkIDs[i] = mk.IDMK + mkIDs[i] = mk.ID // Gunakan field ID (String) } - // Query CPL relations for all MKs in one batch + // Query CPL relations type cplMKJoin struct { - IDMK uint64 `gorm:"column:id_mk"` + IDMK string `gorm:"column:id_mk"` // Ubah ke String KodeCPL string `gorm:"column:kode_cpl"` } var cplMKs []cplMKJoin + if len(mkIDs) > 0 { db.DB.WithContext(ctx). Table("cpl_mk"). Select("cpl_mk.id_mk, cpl.kode_cpl"). Joins("JOIN cpl ON cpl.id_cpl = cpl_mk.id_cpl"). - Where("cpl_mk.id_mk IN ?", mkIDs). + Where("cpl_mk.id_mk IN ?", mkIDs). // GORM support IN slice string Find(&cplMKs) } - // Build map of MK ID -> []CPL kode - cplMap := make(map[uint64][]string) + // Map MK ID (String) -> []CPL kode + cplMap := make(map[string][]string) // Key map jadi String for _, cm := range cplMKs { cplMap[cm.IDMK] = append(cplMap[cm.IDMK], cm.KodeCPL) } - // Build response with cpl_terkait + // Build response type mkResp struct { - IDMK uint64 `json:"id_mk"` - IDProdi uint64 `json:"id_prodi"` + IDMK string `json:"id_mk"` // Ubah ke String + IDProdi uint64 `json:"id_prodi"` // Prodi local ID (jika ada) KodeMK string `json:"kode_mk"` NamaMK string `json:"nama_mk"` - SKS uint8 `json:"sks"` - Semester uint8 `json:"semester"` + SKS int `json:"sks"` + Semester int `json:"semester"` CPLTerkait []string `json:"cpl_terkait"` } respList := make([]mkResp, len(mkList)) for i, mk := range mkList { + // Pastikan field di struct model.MataKuliah Anda sudah diupdate ke string ID respList[i] = mkResp{ - IDMK: mk.IDMK, - IDProdi: mk.IDProdi, + IDMK: mk.ID, // String UUID + // IDProdi: mk.IDProdi, // (Uncomment jika field IDProdi bertipe uint64/pointer) KodeMK: mk.KodeMK, NamaMK: mk.NamaMK, SKS: mk.SKS, Semester: mk.Semester, - CPLTerkait: cplMap[mk.IDMK], + CPLTerkait: cplMap[mk.ID], } - // Ensure not nil if respList[i].CPLTerkait == nil { respList[i].CPLTerkait = []string{} } @@ -199,7 +202,7 @@ func getProdiStatsHandler(c *gin.Context) { // Total MK var totalMK int64 - db.DB.WithContext(ctx).Model(&model.MK{}).Where("id_prodi = ?", id).Count(&totalMK) + db.DB.WithContext(ctx).Model(&model.MataKuliah{}).Where("id_prodi = ?", id).Count(&totalMK) // Total CPL var totalCPL int64 @@ -248,27 +251,29 @@ func getProdiStatsHandler(c *gin.Context) { // GET /api/mk/:id_mk/cpmk // Join berdasarkan kode_mk (kalau tabel CPMK menyimpan kode_mk lama) +// GET /api/mk/:id_mk/cpmk func listCPMKByMKHandler(c *gin.Context) { ctx := c.Request.Context() - idStr := c.Param("id_mk") - id, err := strconv.ParseUint(idStr, 10, 64) - if err != nil { + // === PERBAIKAN: Langsung ambil String UUID === + idMKStr := c.Param("id_mk") + if idMKStr == "" { c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_mk"}) return } - // ambil kode_mk dari id_mk - var mk model.MK - if err := db.DB.WithContext(ctx).First(&mk, id).Error; err != nil { + // Cek apakah MK ada (Optional, tapi bagus untuk validasi) + var mk model.MataKuliah + // Gunakan idMKStr langsung di query + if err := db.DB.WithContext(ctx).Where("id = ?", idMKStr).First(&mk).Error; err != nil { c.JSON(http.StatusNotFound, gin.H{"error": "mk not found"}) return } - // cari CPMK berdasarkan kode_mk (kalau struktur cpmk ada kolom kode_mk) var list []model.CPMK + // cpmk.id_mk sekarang string (UUID) if err := db.DB.WithContext(ctx). - Where("id_mk = ?", mk.IDMK). + Where("id_mk = ?", mk.ID). // ID string Order("kode_cpmk"). Find(&list).Error; err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpmk"}) @@ -393,13 +398,13 @@ func recalcBobotHandler(c *gin.Context) { // ========================= CPL MAPPING (CPL -> MK -> CPMK) ========================= type MKMappingItem struct { - IDMK uint64 `json:"id_mk"` - KodeMK string `json:"kode_mk"` - NamaMK string `json:"nama_mk"` - SKS uint8 `json:"sks"` - Semester uint8 `json:"semester"` - CPMKCount int `json:"cpmk_count"` - RelatedCPMKs []string `json:"related_cpmks"` + IDMK string `json:"id_mk"` // UBAH KE STRING (UUID) + KodeMK string `json:"kode_mk"` + NamaMK string `json:"nama_mk"` + SKS int `json:"sks"` + Semester int `json:"semester"` + CPMKCount int `json:"cpmk_count"` + Relasi string `json:"relasi"` // "direct" (via cpmk) } type CPLMappingItem struct { @@ -411,76 +416,75 @@ type CPLMappingItem struct { // GET /api/prodi/:id_prodi/cpl-mapping?semester=1 // Returns CPL list with linked MK (filtered by semester) and CPMK count per MK -func getCPLMappingHandler(c *gin.Context) { +// GET /api/cpl/mapping?semester=... +func listCPLMappingHandler(c *gin.Context) { ctx := c.Request.Context() + semesterStr := c.Query("semester") - idStr := c.Param("id_prodi") - idProdi, err := strconv.ParseUint(idStr, 10, 64) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "invalid id_prodi"}) + // 1. Get All CPL + var cpls []model.CPL + if err := db.DB.WithContext(ctx).Find(&cpls).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpl"}) return } - semStr := c.Query("semester") - var semFilter *uint8 - if semStr != "" { - sem, err := strconv.ParseUint(semStr, 10, 8) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "invalid semester"}) - return - } - s := uint8(sem) - semFilter = &s + // 2. Get All MK (Filter semester if needed) + mkQuery := db.DB.WithContext(ctx).Model(&model.MataKuliah{}) + if semesterStr != "" { + mkQuery = mkQuery.Where("semester = ?", semesterStr) } - // 1. Get all CPL for this prodi - var cpls []model.CPL - if err := db.DB.WithContext(ctx). - Where("id_prodi = ?", idProdi). - Order("kode_cpl"). - Find(&cpls).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpl"}) - return + var mks []model.MataKuliah + if err := db.DB.WithContext(ctx).Find(&mks).Error; err != nil { // Tanpa filter semester dulu jika ingin load semua lalu filter di memori, tapi query lebih efisien + // Di sini saya asumsikan query mks di atas sudah benar } - - // 2. Get CPL-MK mappings - var cplMKs []model.CPLMK - if err := db.DB.WithContext(ctx).Find(&cplMKs).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpl_mk"}) + // Note: Logic query di atas agak terputus di snippet asli, saya rapikan: + if err := mkQuery.Find(&mks).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error mk"}) return } - // Build map: id_cpl -> []id_mk - cplToMKs := make(map[uint64][]uint64) - for _, cm := range cplMKs { - cplToMKs[cm.IDCPL] = append(cplToMKs[cm.IDCPL], cm.IDMK) + // Map MK ID -> MK Struct (UBAH KEY JADI STRING) + mkMap := make(map[string]model.MataKuliah) + mkIDs := make([]string, 0, len(mks)) // UBAH JADI STRING SLICE + for _, m := range mks { + mkMap[m.ID] = m + mkIDs = append(mkIDs, m.ID) } - // 3. Get all MK for this prodi (optionally filtered by semester) - var mks []model.MK - mkQuery := db.DB.WithContext(ctx).Where("id_prodi = ?", idProdi) - if semFilter != nil { - mkQuery = mkQuery.Where("semester = ?", *semFilter) - } - if err := mkQuery.Find(&mks).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error mk"}) + // 3. Find Relation CPL -> MK via Table CPMK + // Query: SELECT distinct id_cpl, id_mk FROM cpmk WHERE id_mk IN (...) AND id_cpl IS NOT NULL + // Karena id_mk sekarang string, query IN (?) tetap aman di GORM + rows, err := db.DB.Table("cpmk"). + Select("distinct id_cpl, id_mk"). + Where("id_cpl IS NOT NULL"). + Rows() + + if err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error mapping"}) return } + defer rows.Close() + + // Map CPL ID -> List of MK IDs (UBAH VALUE JADI STRING SLICE) + cplToMKs := make(map[uint64][]string) - // Build map: id_mk -> MK - mkMap := make(map[uint64]model.MK) - mkIDs := make([]uint64, 0, len(mks)) - for _, mk := range mks { - mkMap[mk.IDMK] = mk - mkIDs = append(mkIDs, mk.IDMK) + for rows.Next() { + var idCPL uint64 + var idMK string // UBAH JADI STRING AGAR BISA DISCAN DARI UUID + if err := rows.Scan(&idCPL, &idMK); err == nil { + cplToMKs[idCPL] = append(cplToMKs[idCPL], idMK) + } } // 4. Count CPMK per MK - type cpmkCount struct { - IDMK uint64 `gorm:"column:id_mk"` - Count int `gorm:"column:cnt"` + // Kita butuh tahu ada berapa CPMK di setiap MK + type CountRes struct { + IDMK string `gorm:"column:id_mk"` // UBAH JADI STRING + Count int } - var cpmkCounts []cpmkCount + var cpmkCounts []CountRes + if len(mkIDs) > 0 { if err := db.DB.WithContext(ctx). Model(&model.CPMK{}). @@ -492,7 +496,9 @@ func getCPLMappingHandler(c *gin.Context) { return } } - cpmkCountMap := make(map[uint64]int) + + // Map Count (UBAH KEY JADI STRING) + cpmkCountMap := make(map[string]int) for _, cc := range cpmkCounts { cpmkCountMap[cc.IDMK] = cc.Count } @@ -510,33 +516,25 @@ func getCPLMappingHandler(c *gin.Context) { // Get MK IDs linked to this CPL mkIDsForCPL := cplToMKs[cpl.IDCPL] for _, mkID := range mkIDsForCPL { - mk, exists := mkMap[mkID] + mk, exists := mkMap[mkID] // mkID string, map string -> Aman if !exists { - // MK not in current semester filter continue } - var relatedCPMKs []string - db.DB.WithContext(ctx). - Table("cpmk"). - Where("id_mk = ? AND id_cpl = ?", mk.IDMK, cpl.IDCPL). // Sesuaikan nama kolom di DB Anda - Pluck("kode_cpmk", &relatedCPMKs) + // (Opsional) Ambil detail kode CPMK jika perlu, + // tapi di snippet Anda ini hanya listing MK saja. - if relatedCPMKs == nil { - relatedCPMKs = []string{} - } - - item.MKList = append(item.MKList, MKMappingItem{ - IDMK: mk.IDMK, + mkItem := MKMappingItem{ + IDMK: mk.ID, // Sudah string KodeMK: mk.KodeMK, NamaMK: mk.NamaMK, SKS: mk.SKS, Semester: mk.Semester, - CPMKCount: cpmkCountMap[mk.IDMK], - RelatedCPMKs: relatedCPMKs, - }) + CPMKCount: cpmkCountMap[mk.ID], // Key string -> Aman + Relasi: "direct", + } + item.MKList = append(item.MKList, mkItem) } - result = append(result, item) } diff --git a/internal/http/handler_sync.go b/internal/http/handler_sync.go new file mode 100644 index 0000000..76c2dda --- /dev/null +++ b/internal/http/handler_sync.go @@ -0,0 +1,54 @@ +package http + +import ( + "net/http" + "strconv" + + "cpmk/internal/config" + "cpmk/internal/service" + + "github.com/gin-gonic/gin" + "gorm.io/gorm" +) + +type SyncHandler struct { + Service *service.SyncService +} + +func NewSyncHandler(db *gorm.DB, cfg *config.Config) *SyncHandler { + return &SyncHandler{ + Service: service.NewSyncService(db, cfg), + } +} + +// TriggerSync adalah endpoint yang akan dipanggil Admin +// POST /api/sync/curriculum?prodi_id=1 +func (h *SyncHandler) TriggerSync(c *gin.Context) { + // Ambil ID Prodi tujuan (misal dari Query Param atau Token Admin) + prodiIDStr := c.Query("prodi_id") + if prodiIDStr == "" { + c.JSON(http.StatusBadRequest, gin.H{"error": "Parameter prodi_id wajib diisi"}) + return + } + + prodiID, err := strconv.ParseUint(prodiIDStr, 10, 64) + if err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "ID Prodi tidak valid"}) + return + } + + // Panggil Service + if err := h.Service.SyncCurriculum(prodiID); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{ + "status": "error", + "message": "Gagal sinkronisasi data", + "detail": err.Error(), + }) + return + } + + c.JSON(http.StatusOK, gin.H{ + "status": "success", + "message": "Data Kurikulum berhasil disinkronkan dari Smart RPS", + }) +} diff --git a/internal/http/router.go b/internal/http/router.go index 7d48bce..63f46bd 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -1,13 +1,17 @@ package http import ( + // Import Config + "cpmk/internal/config" "cpmk/internal/middleware" // Pastikan folder middleware sudah ada "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" + "gorm.io/gorm" + // Import Gorm ) -func NewRouter() *gin.Engine { +func NewRouter(db *gorm.DB, cfg *config.Config) *gin.Engine { r := gin.Default() // Konfigurasi CORS (Sesuai kode lama Anda) @@ -21,6 +25,7 @@ func NewRouter() *gin.Engine { AllowCredentials: true, })) + syncHandler := NewSyncHandler(db, cfg) // Tambahkan baris ini // Endpoint Health Check (Bisa diakses siapa saja) r.GET("/health", healthHandler) @@ -51,6 +56,7 @@ func NewRouter() *gin.Engine { api.GET("/mahasiswa/:nim/nilai-mk", getNilaiMKByMahasiswaHandler) api.GET("/mahasiswa/:nim/mk/:id_mk/analisis", getMKAnalisisMahasiswaHandler) + api.POST("/sync/curriculum", syncHandler.TriggerSync) // ============================== // 2. PROTECTED ROUTES (Wajib Token/Login) // ============================== diff --git a/internal/model/cpmk.go b/internal/model/cpmk.go index 52f2ae9..3a3a520 100644 --- a/internal/model/cpmk.go +++ b/internal/model/cpmk.go @@ -1,12 +1,11 @@ package model type CPMK struct { - IDCPMK uint64 `json:"id_cpmk" gorm:"column:id_cpmk;primaryKey;autoIncrement"` - IDMK uint64 `json:"id_mk" gorm:"column:id_mk;not null"` - IDCPL *uint64 `json:"id_cpl" gorm:"column:id_cpl"` - KodeCPMK string `json:"kode_cpmk" gorm:"column:kode_cpmk;size:20;not null"` - Deskripsi string `json:"deskripsi" gorm:"column:deskripsi;type:text;not null"` - BobotCPMK *float64 `json:"bobot_cpmk" gorm:"column:bobot_cpmk"` // nullable + ID string `json:"id" gorm:"primaryKey;type:char(36)"` + IDMK string `json:"id_mk" gorm:"column:id_mk;type:char(36);not null"` // Foreign Key UUID + KodeCPMK string `json:"kode_cpmk" gorm:"column:kode_cpmk;not null"` + Deskripsi string `json:"deskripsi" gorm:"column:deskripsi;type:text"` + Bobot *float64 `json:"bobot" gorm:"column:bobot;type:decimal(10,2)"` // Bobot sudah aman } func (CPMK) TableName() string { return "cpmk" } diff --git a/internal/model/mahasiswa.go b/internal/model/mahasiswa.go index ab0fc7d..458431d 100644 --- a/internal/model/mahasiswa.go +++ b/internal/model/mahasiswa.go @@ -2,7 +2,7 @@ package model type Mahasiswa struct { IDMhs uint64 `json:"id_mhs" gorm:"column:id_mhs;primaryKey;autoIncrement"` - IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;not null"` + IDProdi *uint64 `json:"id_prodi" gorm:"column:id_prodi;not null"` IDKonsentrasi *uint64 `json:"id_konsentrasi" gorm:"column:id_konsentrasi"` // Tambahkan ini NIM string `json:"nim" gorm:"column:nim;size:30;unique;not null"` Nama string `json:"nama" gorm:"column:nama;size:200;not null"` diff --git a/internal/model/mk.go b/internal/model/mk.go index cf59cf9..56bf128 100644 --- a/internal/model/mk.go +++ b/internal/model/mk.go @@ -1,12 +1,14 @@ package model -type MK struct { - IDMK uint64 `json:"id_mk" gorm:"column:id_mk;primaryKey;autoIncrement"` - IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;not null"` - KodeMK string `json:"kode_mk" gorm:"column:kode_mk;size:30;unique;not null"` - NamaMK string `json:"nama_mk" gorm:"column:nama_mk;size:255;not null"` - SKS uint8 `json:"sks" gorm:"column:sks;not null"` - Semester uint8 `json:"semester" gorm:"column:semester;not null"` +type MataKuliah struct { + ID string `json:"id" gorm:"primaryKey;type:char(36)"` // Ubah ke String/UUID + IDProdi *uint64 `json:"id_prodi" gorm:"column:id_prodi"` // Tetap uint jika tabel prodi tidak diubah + KodeMK string `json:"kode_mk" gorm:"column:kode_mk;unique;not null"` + NamaMK string `json:"nama_mk" gorm:"column:nama_mk;not null"` + SKS uint8 `json:"sks" gorm:"column:sks"` + Semester uint8 `json:"semester" gorm:"column:semester"` + Deskripsi string `json:"deskripsi" gorm:"column:deskripsi"` + IsActive bool `json:"is_active" gorm:"column:is_active;default:true"` } -func (MK) TableName() string { return "mk" } +func (MataKuliah) TableName() string { return "mk" } diff --git a/internal/model/nilai_mk.go b/internal/model/nilai_mk.go index 50480a0..7bdc340 100644 --- a/internal/model/nilai_mk.go +++ b/internal/model/nilai_mk.go @@ -3,7 +3,7 @@ package model type NilaiMK struct { IDNilaiMK uint64 `gorm:"column:id_nilai_mk;primaryKey;autoIncrement"` IDMhs uint64 `gorm:"column:id_mhs;not null"` - IDMK uint64 `gorm:"column:id_mk;not null"` + IDMK string `gorm:"column:id_mk;not null"` SemesterTempuh uint8 `gorm:"column:semester_tempuh;not null"` TahunAjaran string `gorm:"column:tahun_ajaran;size:20;not null"` NilaiAngka float64 `gorm:"column:nilai_angka;not null"` diff --git a/internal/model/prodi.go b/internal/model/prodi.go index 0afcc91..99ca28c 100644 --- a/internal/model/prodi.go +++ b/internal/model/prodi.go @@ -1,10 +1,10 @@ package model type Prodi struct { - IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;primaryKey;autoIncrement"` - KodeProdi string `json:"kode_prodi" gorm:"column:kode_prodi;size:20;unique;not null"` - NamaProdi string `json:"nama_prodi" gorm:"column:nama_prodi;size:200;not null"` - Jenjang string `json:"jenjang" gorm:"column:jenjang;size:10;not null"` + IDProdi *uint64 `json:"id_prodi" gorm:"column:id_prodi;primaryKey;autoIncrement"` + KodeProdi string `json:"kode_prodi" gorm:"column:kode_prodi;size:20;unique;not null"` + NamaProdi string `json:"nama_prodi" gorm:"column:nama_prodi;size:200;not null"` + Jenjang string `json:"jenjang" gorm:"column:jenjang;size:10;not null"` } func (Prodi) TableName() string { return "prodi" } diff --git a/internal/model/sub_cpmk.go b/internal/model/sub_cpmk.go index d7d7df4..d877248 100644 --- a/internal/model/sub_cpmk.go +++ b/internal/model/sub_cpmk.go @@ -1,11 +1,11 @@ package model type SubCPMK struct { - IDSubCPMK uint64 `json:"id_sub_cpmk" gorm:"column:id_sub_cpmk;primaryKey"` - IDCPMK uint64 `json:"id_cpmk" gorm:"column:id_cpmk"` - KodeSubCPMK string `json:"kode_sub_cpmk" gorm:"column:kode_sub_cpmk"` - Deskripsi string `json:"deskripsi" gorm:"column:deskripsi"` - BobotDalamCPMK float64 `json:"bobot_dalam_cpmk" gorm:"column:bobot_dalam_cpmk"` + ID string `json:"id" gorm:"primaryKey;type:char(36)"` + IDCPMK string `json:"id_cpmk" gorm:"column:id_cpmk;type:char(36);not null"` + KodeSubCPMK string `json:"kode_sub_cpmk" gorm:"column:kode_sub_cpmk;not null"` + Deskripsi string `json:"deskripsi" gorm:"column:deskripsi;type:text"` + Bobot *float64 `json:"bobot" gorm:"column:bobot;type:decimal(10,2)"` } func (SubCPMK) TableName() string { return "sub_cpmk" } diff --git a/internal/service/cpl_service.go b/internal/service/cpl_service.go index ac5510a..35f8cd0 100644 --- a/internal/service/cpl_service.go +++ b/internal/service/cpl_service.go @@ -23,7 +23,7 @@ import ( func RecalculateCPLForProdiSemester( ctx context.Context, gdb *gorm.DB, - idProdi uint64, + idProdi *uint64, semester uint8, ) error { if gdb == nil { diff --git a/internal/service/import_nilai_service.go b/internal/service/import_nilai_service.go index 3f2ae81..fc87cd3 100644 --- a/internal/service/import_nilai_service.go +++ b/internal/service/import_nilai_service.go @@ -63,7 +63,7 @@ func ImportNilaiMK(ctx context.Context, gdb *gorm.DB, params ImportNilaiParams) err = gdb.Transaction(func(tx *gorm.DB) error { // 1. Pastikan semua MK ada - mkMap := make(map[string]model.MK) + mkMap := make(map[string]model.MataKuliah) kodeList := make([]string, 0, len(params.MatkulList)) for _, m := range params.MatkulList { @@ -71,7 +71,7 @@ func ImportNilaiMK(ctx context.Context, gdb *gorm.DB, params ImportNilaiParams) } if len(kodeList) > 0 { - var existingMK []model.MK + var existingMK []model.MataKuliah if err := tx.Where("kode_mk IN ? AND id_prodi = ?", kodeList, prodi.IDProdi). Find(&existingMK).Error; err != nil { return fmt.Errorf("db error load mk existing: %w", err) @@ -86,7 +86,7 @@ func ImportNilaiMK(ctx context.Context, gdb *gorm.DB, params ImportNilaiParams) if _, ok := mkMap[key]; ok { continue } - mk := model.MK{ + mk := model.MataKuliah{ IDProdi: prodi.IDProdi, KodeMK: item.Kode, NamaMK: item.Nama, @@ -159,13 +159,13 @@ func ImportNilaiMK(ctx context.Context, gdb *gorm.DB, params ImportNilaiParams) } var nilaiMK model.NilaiMK - err := tx.Where("id_mhs = ? AND id_mk = ?", mhs.IDMhs, mk.IDMK). + err := tx.Where("id_mhs = ? AND id_mk = ?", mhs.IDMhs, mk.ID). First(&nilaiMK).Error if err == gorm.ErrRecordNotFound { nilaiMK = model.NilaiMK{ IDMhs: mhs.IDMhs, - IDMK: mk.IDMK, + IDMK: mk.ID, SemesterTempuh: params.Semester, TahunAjaran: params.TahunAjaran, NilaiAngka: nilai, diff --git a/internal/service/sync_service.go b/internal/service/sync_service.go new file mode 100644 index 0000000..2ca20d4 --- /dev/null +++ b/internal/service/sync_service.go @@ -0,0 +1,147 @@ +package service + +import ( + "cpmk/internal/config" + "cpmk/internal/dto" + "cpmk/internal/model" + "encoding/json" + "fmt" + "net/http" + + "gorm.io/gorm" +) + +type SyncService struct { + DB *gorm.DB + Config *config.Config +} + +func NewSyncService(db *gorm.DB, cfg *config.Config) *SyncService { + return &SyncService{ + DB: db, + Config: cfg, + } +} + +// SyncCurriculum menarik data MK -> CPMK -> Sub-CPMK dari Smart RPS +func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { + // 1. Persiapkan Request ke Smart RPS + url := fmt.Sprintf("%s/api/v1/sync/curriculum", s.Config.SmartRpsURL) + req, err := http.NewRequest("GET", url, nil) + if err != nil { + return err + } + + // Masukkan Kunci Rahasia di Header + req.Header.Set("X-Sync-Key", s.Config.SyncSecretKey) + + // 2. Kirim Request + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + return fmt.Errorf("gagal koneksi ke Smart RPS: %v", err) + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return fmt.Errorf("smart RPS menolak akses: status %d", resp.StatusCode) + } + + // 3. Decode Response JSON ke DTO + var response struct { + Data []dto.SmartRpsCourse `json:"data"` + } + if err := json.NewDecoder(resp.Body).Decode(&response); err != nil { + return fmt.Errorf("gagal membaca data JSON: %v", err) + } + + // 4. Proses Penyimpanan ke Database (Transaction) + tx := s.DB.Begin() + + for _, extMK := range response.Data { + // --- A. Sync Mata Kuliah (MK) --- + var mk model.MataKuliah + + // Cek apakah MK sudah ada berdasarkan Kode MK + err := tx.Where("kode_mk = ?", extMK.Code).First(&mk).Error + + mk.IDProdi = targetProdiID // Sementara kita tembak ke prodi tertentu + mk.KodeMK = extMK.Code + mk.NamaMK = extMK.Title + if extMK.Credits != nil { + mk.SKS = uint8(*extMK.Credits) + } + if extMK.Semester != nil { + mk.Semester = uint8(*extMK.Semester) + } + + if err == gorm.ErrRecordNotFound { + // Insert Baru + if err := tx.Create(&mk).Error; err != nil { + tx.Rollback() + return err + } + } else { + // Update Existing + if err := tx.Save(&mk).Error; err != nil { + tx.Rollback() + return err + } + } + + // --- B. Sync CPMK --- + // Hapus CPMK lama untuk MK ini agar bersih (opsional, tergantung strategi) + // tx.Where("id_mk = ?", mk.IDMK).Delete(&model.CPMK{}) + + for _, extCPMK := range extMK.CPMKs { + var cpmk model.CPMK + kodeCPMK := fmt.Sprintf("CPMK-%d", extCPMK.CPMKNumber) // Generate kode: CPMK-1 + + // Cari CPMK existing di MK ini + err := tx.Where("id_mk = ? AND kode_cpmk = ?", mk.IDMK, kodeCPMK).First(&cpmk).Error + + cpmk.IDMK = mk.IDMK + cpmk.KodeCPMK = kodeCPMK + cpmk.Deskripsi = extCPMK.Description + cpmk.BobotCPMK = extCPMK.Bobot + + if err == gorm.ErrRecordNotFound { + if err := tx.Create(&cpmk).Error; err != nil { + tx.Rollback() + return err + } + } else { + if err := tx.Save(&cpmk).Error; err != nil { + tx.Rollback() + return err + } + } + + // --- C. Sync Sub-CPMK --- + for _, extSub := range extCPMK.SubCPMKs { + var subCpmk model.SubCPMK + kodeSub := fmt.Sprintf("Sub-CPMK-%d", extSub.SubCPMKNumber) + + err := tx.Where("id_cpmk = ? AND kode_sub_cpmk = ?", cpmk.IDCPMK, kodeSub).First(&subCpmk).Error + + subCpmk.IDCPMK = cpmk.IDCPMK + subCpmk.KodeSubCPMK = kodeSub + subCpmk.Deskripsi = extSub.Description + if extSub.Bobot != nil { + subCpmk.BobotDalamCPMK = *extSub.Bobot + } + + if err == gorm.ErrRecordNotFound { + if err := tx.Create(&subCpmk).Error; err != nil { + tx.Rollback() + return err + } + } else { + tx.Save(&subCpmk) + } + } + } + } + + return tx.Commit().Error +} From 1f1db6c7774e924308d9de0e7b9dfa9507c264d0 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Sat, 17 Jan 2026 07:25:03 +0800 Subject: [PATCH 26/36] idnt --- {dto => internal/dto}/sync_dto.go | 1 + internal/http/handler_master.go | 125 +++++++++---------- internal/http/handler_nilai.go | 10 +- internal/http/router.go | 4 +- internal/model/cpl_mk.go | 2 +- internal/model/cpmk.go | 11 +- internal/model/nilai_mk.go | 4 +- internal/model/prodi.go | 8 +- internal/service/cpl_service.go | 127 ++++---------------- internal/service/import_nilai_service.go | 20 ++-- internal/service/sync_service.go | 146 +++++++++++++++-------- 11 files changed, 207 insertions(+), 251 deletions(-) rename {dto => internal/dto}/sync_dto.go (92%) diff --git a/dto/sync_dto.go b/internal/dto/sync_dto.go similarity index 92% rename from dto/sync_dto.go rename to internal/dto/sync_dto.go index 411c139..5188d94 100644 --- a/dto/sync_dto.go +++ b/internal/dto/sync_dto.go @@ -15,6 +15,7 @@ type SmartRpsCPMK struct { CPMKNumber int `json:"cpmk_number"` Description string `json:"description"` Bobot *float64 `json:"bobot"` + MatchedCPL string `json:"matched_cpl"` // <--- TAMBAHAN SubCPMKs []SmartRpsSubCPMK `json:"sub_cpmks"` } diff --git a/internal/http/handler_master.go b/internal/http/handler_master.go index 978b45c..f7c664d 100644 --- a/internal/http/handler_master.go +++ b/internal/http/handler_master.go @@ -3,6 +3,7 @@ package http import ( "net/http" "strconv" + "strings" "cpmk/internal/db" "cpmk/internal/model" @@ -102,8 +103,8 @@ func listMKByProdiSemesterHandler(c *gin.Context) { IDProdi uint64 `json:"id_prodi"` // Prodi local ID (jika ada) KodeMK string `json:"kode_mk"` NamaMK string `json:"nama_mk"` - SKS int `json:"sks"` - Semester int `json:"semester"` + SKS uint8 `json:"sks"` + Semester uint8 `json:"semester"` CPLTerkait []string `json:"cpl_terkait"` } @@ -401,8 +402,8 @@ type MKMappingItem struct { IDMK string `json:"id_mk"` // UBAH KE STRING (UUID) KodeMK string `json:"kode_mk"` NamaMK string `json:"nama_mk"` - SKS int `json:"sks"` - Semester int `json:"semester"` + SKS uint8 `json:"sks"` + Semester uint8 `json:"semester"` CPMKCount int `json:"cpmk_count"` Relasi string `json:"relasi"` // "direct" (via cpmk) } @@ -417,94 +418,72 @@ type CPLMappingItem struct { // GET /api/prodi/:id_prodi/cpl-mapping?semester=1 // Returns CPL list with linked MK (filtered by semester) and CPMK count per MK // GET /api/cpl/mapping?semester=... +// GET /api/cpl/mapping?semester=... +// GET /api/prodi/:id_prodi/cpl-mapping?semester=1 +// GET /api/prodi/:id_prodi/cpl-mapping func listCPLMappingHandler(c *gin.Context) { ctx := c.Request.Context() + idProdiStr := c.Param("id_prodi") semesterStr := c.Query("semester") - // 1. Get All CPL + // 1. Get CPL var cpls []model.CPL - if err := db.DB.WithContext(ctx).Find(&cpls).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpl"}) + if err := db.DB.WithContext(ctx).Where("id_prodi = ?", idProdiStr).Order("kode_cpl").Find(&cpls).Error; err != nil { + c.JSON(500, gin.H{"error": "db error cpl"}) return } - // 2. Get All MK (Filter semester if needed) - mkQuery := db.DB.WithContext(ctx).Model(&model.MataKuliah{}) + // 2. Get MK + mkQuery := db.DB.WithContext(ctx).Model(&model.MataKuliah{}).Where("id_prodi = ?", idProdiStr) if semesterStr != "" { mkQuery = mkQuery.Where("semester = ?", semesterStr) } - var mks []model.MataKuliah - if err := db.DB.WithContext(ctx).Find(&mks).Error; err != nil { // Tanpa filter semester dulu jika ingin load semua lalu filter di memori, tapi query lebih efisien - // Di sini saya asumsikan query mks di atas sudah benar - } - // Note: Logic query di atas agak terputus di snippet asli, saya rapikan: if err := mkQuery.Find(&mks).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error mk"}) + c.JSON(500, gin.H{"error": "db error mk"}) return } - // Map MK ID -> MK Struct (UBAH KEY JADI STRING) mkMap := make(map[string]model.MataKuliah) - mkIDs := make([]string, 0, len(mks)) // UBAH JADI STRING SLICE + mkIDs := make([]string, 0) for _, m := range mks { mkMap[m.ID] = m mkIDs = append(mkIDs, m.ID) } - // 3. Find Relation CPL -> MK via Table CPMK - // Query: SELECT distinct id_cpl, id_mk FROM cpmk WHERE id_mk IN (...) AND id_cpl IS NOT NULL - // Karena id_mk sekarang string, query IN (?) tetap aman di GORM - rows, err := db.DB.Table("cpmk"). - Select("distinct id_cpl, id_mk"). - Where("id_cpl IS NOT NULL"). - Rows() - - if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error mapping"}) - return - } - defer rows.Close() - - // Map CPL ID -> List of MK IDs (UBAH VALUE JADI STRING SLICE) + // 3. Mapping Relation (CPL -> MK) cplToMKs := make(map[uint64][]string) - - for rows.Next() { - var idCPL uint64 - var idMK string // UBAH JADI STRING AGAR BISA DISCAN DARI UUID - if err := rows.Scan(&idCPL, &idMK); err == nil { + if len(cpls) > 0 { + rows, _ := db.DB.Table("cpl_mk").Select("distinct id_cpl, id_mk").Where("id_cpl IN (SELECT id_cpl FROM cpl WHERE id_prodi = ?)", idProdiStr).Rows() + defer rows.Close() + for rows.Next() { + var idCPL uint64 + var idMK string + rows.Scan(&idCPL, &idMK) cplToMKs[idCPL] = append(cplToMKs[idCPL], idMK) } } - // 4. Count CPMK per MK - // Kita butuh tahu ada berapa CPMK di setiap MK - type CountRes struct { - IDMK string `gorm:"column:id_mk"` // UBAH JADI STRING - Count int + // 4. Get CPMK Details (Untuk ditampilkan di frontend) + type CPMKInfo struct { + IDMK string + KodeCPMK string + Deskripsi string + MatchedCPL string } - var cpmkCounts []CountRes - + var cpmkRaw []CPMKInfo if len(mkIDs) > 0 { - if err := db.DB.WithContext(ctx). - Model(&model.CPMK{}). - Select("id_mk, COUNT(*) as cnt"). - Where("id_mk IN ?", mkIDs). - Group("id_mk"). - Scan(&cpmkCounts).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error cpmk count"}) - return - } + db.DB.Table("cpmk").Select("id_mk, kode_cpmk, deskripsi, matched_cpl").Where("id_mk IN ?", mkIDs).Scan(&cpmkRaw) } - // Map Count (UBAH KEY JADI STRING) - cpmkCountMap := make(map[string]int) - for _, cc := range cpmkCounts { - cpmkCountMap[cc.IDMK] = cc.Count + // Group CPMK by MK + mkToCPMKs := make(map[string][]CPMKInfo) + for _, cc := range cpmkRaw { + mkToCPMKs[cc.IDMK] = append(mkToCPMKs[cc.IDMK], cc) } - // 5. Build response - result := make([]CPLMappingItem, 0, len(cpls)) + // 5. Build Response + result := make([]CPLMappingItem, 0) for _, cpl := range cpls { item := CPLMappingItem{ IDCPL: cpl.IDCPL, @@ -513,25 +492,39 @@ func listCPLMappingHandler(c *gin.Context) { MKList: []MKMappingItem{}, } - // Get MK IDs linked to this CPL + // Cari MK yang terhubung mkIDsForCPL := cplToMKs[cpl.IDCPL] for _, mkID := range mkIDsForCPL { - mk, exists := mkMap[mkID] // mkID string, map string -> Aman + mk, exists := mkMap[mkID] if !exists { continue } - // (Opsional) Ambil detail kode CPMK jika perlu, - // tapi di snippet Anda ini hanya listing MK saja. + // Filter CPMK yang relevan dengan CPL ini + var relevantCPMKs []string + rawList := mkToCPMKs[mkID] + for _, r := range rawList { + // Cek apakah kode CPL ada di string MatchedCPL (misal "CPL-01, CPL-02") + // Bersihkan string agar match (CPL-01 vs CPL01) + cleanRaw := strings.ReplaceAll(r.MatchedCPL, "-", "") + cleanCPL := strings.ReplaceAll(cpl.KodeCPL, "-", "") + + if strings.Contains(r.MatchedCPL, cpl.KodeCPL) || strings.Contains(cleanRaw, cleanCPL) { + relevantCPMKs = append(relevantCPMKs, r.KodeCPMK) // Atau r.Deskripsi jika mau + } + } + + // Join CPMK codes untuk ditampilkan + cpmkDisplay := strings.Join(relevantCPMKs, ", ") mkItem := MKMappingItem{ - IDMK: mk.ID, // Sudah string + IDMK: mk.ID, KodeMK: mk.KodeMK, NamaMK: mk.NamaMK, SKS: mk.SKS, Semester: mk.Semester, - CPMKCount: cpmkCountMap[mk.ID], // Key string -> Aman - Relasi: "direct", + CPMKCount: len(relevantCPMKs), // Jumlah CPMK terkait + Relasi: cpmkDisplay, // <--- KIRIM LIST CPMK DISINI (Frontend pakai field Relasi/custom) } item.MKList = append(item.MKList, mkItem) } diff --git a/internal/http/handler_nilai.go b/internal/http/handler_nilai.go index 423f22b..c16569e 100644 --- a/internal/http/handler_nilai.go +++ b/internal/http/handler_nilai.go @@ -127,7 +127,7 @@ func getCPLByMahasiswaHandler(c *gin.Context) { sem = uint8(tmp) } - // ambil mahasiswa by NIM (using Find to avoid GORM's First() pk-matching) + // ambil mahasiswa by NIM var mhs model.Mahasiswa if err := db.DB.WithContext(ctx).Where("nim = ?", nim).Take(&mhs).Error; err != nil { if errors.Is(err, gorm.ErrRecordNotFound) { @@ -147,8 +147,7 @@ func getCPLByMahasiswaHandler(c *gin.Context) { return } - // join CPL code (bisa pakai 1 query terpisah atau simple loop) - // untuk efisiensi, kita ambil semua cpl id -> kode_cpl dalam satu query + // join CPL code cplIDs := make([]uint64, 0, len(list)) for _, n := range list { cplIDs = append(cplIDs, n.IDCPL) @@ -202,7 +201,6 @@ func getCPLByMahasiswaHandler(c *gin.Context) { } // GET /api/mahasiswa/:nim/nilai-mk?semester=1 -// Returns nilai_mk (grades) for each MK taken by the student in the given semester func getNilaiMKByMahasiswaHandler(c *gin.Context) { ctx := c.Request.Context() nim := c.Param("nim") @@ -230,9 +228,9 @@ func getNilaiMKByMahasiswaHandler(c *gin.Context) { return } - // Query nilai_mk with MK details + // === FIX DI SINI: IDMK harus string untuk menampung UUID === type nilaiMKResult struct { - IDMK uint64 `json:"id_mk"` + IDMK string `json:"id_mk"` // Fix: uint64 -> string KodeMK string `json:"kode_mk"` NamaMK string `json:"nama_mk"` SKS uint8 `json:"sks"` diff --git a/internal/http/router.go b/internal/http/router.go index 63f46bd..e67807e 100644 --- a/internal/http/router.go +++ b/internal/http/router.go @@ -44,7 +44,7 @@ func NewRouter(db *gorm.DB, cfg *config.Config) *gin.Engine { // STATISTIK CPL api.GET("/prodi/:id_prodi/cpl-stats", getCPLStatsByProdiSemesterHandler) - api.GET("/prodi/:id_prodi/cpl-mapping", getCPLMappingHandler) + api.GET("/prodi/:id_prodi/cpl-mapping", listCPLMappingHandler) // IMPORT & ADMIN (Tadi error karena duplikat, sekarang aman) api.POST("/nilai-mk/import", importNilaiHandler) @@ -72,7 +72,7 @@ func NewRouter(db *gorm.DB, cfg *config.Config) *gin.Engine { // STATISTIK CPL protected.GET("/prodi/:id_prodi/cpl-stats", getCPLStatsByProdiSemesterHandler) - protected.GET("/prodi/:id_prodi/cpl-mapping", getCPLMappingHandler) + protected.GET("/prodi/:id_prodi/cpl-mapping", listCPLMappingHandler) // IMPORT & ADMIN (Tadi error karena duplikat, sekarang aman) protected.POST("/nilai-mk/import", importNilaiHandler) diff --git a/internal/model/cpl_mk.go b/internal/model/cpl_mk.go index 77e9446..87e4804 100644 --- a/internal/model/cpl_mk.go +++ b/internal/model/cpl_mk.go @@ -3,7 +3,7 @@ package model type CPLMK struct { IDCPLMK uint64 `gorm:"column:id_cpl_mk;primaryKey;autoIncrement"` IDCPL uint64 `gorm:"column:id_cpl;not null"` - IDMK uint64 `gorm:"column:id_mk;not null"` + IDMK string `gorm:"column:id_mk;type:char(36);not null"` // FIX: Ubah ke String (UUID) BobotFraction float64 `gorm:"column:bobot_fraction;not null"` Sumber string `gorm:"column:sumber;size:20;not null"` } diff --git a/internal/model/cpmk.go b/internal/model/cpmk.go index 3a3a520..396503f 100644 --- a/internal/model/cpmk.go +++ b/internal/model/cpmk.go @@ -1,11 +1,12 @@ package model type CPMK struct { - ID string `json:"id" gorm:"primaryKey;type:char(36)"` - IDMK string `json:"id_mk" gorm:"column:id_mk;type:char(36);not null"` // Foreign Key UUID - KodeCPMK string `json:"kode_cpmk" gorm:"column:kode_cpmk;not null"` - Deskripsi string `json:"deskripsi" gorm:"column:deskripsi;type:text"` - Bobot *float64 `json:"bobot" gorm:"column:bobot;type:decimal(10,2)"` // Bobot sudah aman + ID string `json:"id" gorm:"primaryKey;type:char(36)"` + IDMK string `json:"id_mk" gorm:"column:id_mk;type:char(36);not null"` // Foreign Key UUID + KodeCPMK string `json:"kode_cpmk" gorm:"column:kode_cpmk;not null"` + Deskripsi string `json:"deskripsi" gorm:"column:deskripsi;type:text"` + MatchedCPL string `gorm:"column:matched_cpl"` // Tambahkan ini + Bobot *float64 `json:"bobot" gorm:"column:bobot;type:decimal(10,2)"` // Bobot sudah aman } func (CPMK) TableName() string { return "cpmk" } diff --git a/internal/model/nilai_mk.go b/internal/model/nilai_mk.go index 7bdc340..2116421 100644 --- a/internal/model/nilai_mk.go +++ b/internal/model/nilai_mk.go @@ -3,8 +3,8 @@ package model type NilaiMK struct { IDNilaiMK uint64 `gorm:"column:id_nilai_mk;primaryKey;autoIncrement"` IDMhs uint64 `gorm:"column:id_mhs;not null"` - IDMK string `gorm:"column:id_mk;not null"` - SemesterTempuh uint8 `gorm:"column:semester_tempuh;not null"` + IDMK string `gorm:"column:id_mk;type:char(36);not null"` // SUDAH DIPERBAIKI: STRING + SemesterTempuh uint8 `gorm:"column:semester_tempuh;not null"` // Sesuaikan dengan int TahunAjaran string `gorm:"column:tahun_ajaran;size:20;not null"` NilaiAngka float64 `gorm:"column:nilai_angka;not null"` NilaiHuruf *string `gorm:"column:nilai_huruf;size:2"` diff --git a/internal/model/prodi.go b/internal/model/prodi.go index 99ca28c..0afcc91 100644 --- a/internal/model/prodi.go +++ b/internal/model/prodi.go @@ -1,10 +1,10 @@ package model type Prodi struct { - IDProdi *uint64 `json:"id_prodi" gorm:"column:id_prodi;primaryKey;autoIncrement"` - KodeProdi string `json:"kode_prodi" gorm:"column:kode_prodi;size:20;unique;not null"` - NamaProdi string `json:"nama_prodi" gorm:"column:nama_prodi;size:200;not null"` - Jenjang string `json:"jenjang" gorm:"column:jenjang;size:10;not null"` + IDProdi uint64 `json:"id_prodi" gorm:"column:id_prodi;primaryKey;autoIncrement"` + KodeProdi string `json:"kode_prodi" gorm:"column:kode_prodi;size:20;unique;not null"` + NamaProdi string `json:"nama_prodi" gorm:"column:nama_prodi;size:200;not null"` + Jenjang string `json:"jenjang" gorm:"column:jenjang;size:10;not null"` } func (Prodi) TableName() string { return "prodi" } diff --git a/internal/service/cpl_service.go b/internal/service/cpl_service.go index 35f8cd0..3afcfed 100644 --- a/internal/service/cpl_service.go +++ b/internal/service/cpl_service.go @@ -9,17 +9,7 @@ import ( "gorm.io/gorm" ) -// RecalculateCPLForProdiSemester -// ------------------------------------------------------ -// Melakukan perhitungan nilai CPL per mahasiswa, per CPL, -// untuk satu prodi & satu semester. Semua agregasi dilakukan -// di level SQL (DB-first aggregation). -// -// Rumus: -// - Jika ada bobot di cpl_mk.bobot_fraction: -// nilai_cpl = SUM(nilai_mk * bobot) / SUM(bobot) -// - Jika semua bobot null/0: -// nilai_cpl = AVG(nilai_mk) +// RecalculateCPLForProdiSemester menghitung nilai CPL mahasiswa func RecalculateCPLForProdiSemester( ctx context.Context, gdb *gorm.DB, @@ -31,6 +21,7 @@ func RecalculateCPLForProdiSemester( } gdb = gdb.WithContext(ctx) + // FIX: Menggunakan m.id (bukan m.id_mk) pada JOIN sql := ` INSERT INTO nilai_cpl ( id_mhs, @@ -70,7 +61,7 @@ FROM ( END ) AS sum_weight, - -- total nilai plain (tanpa bobot), untuk fallback + -- total nilai plain (fallback) SUM( CASE WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 @@ -79,7 +70,7 @@ FROM ( END ) AS sum_plain, - -- hitung berapa mk tanpa bobot + -- hitung jumlah mk plain SUM( CASE WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 @@ -88,67 +79,24 @@ FROM ( END ) AS count_plain, - -- nilai_cpl final + -- Rumus Nilai CPL Final CASE - WHEN - SUM( - CASE - WHEN cm.bobot_fraction IS NOT NULL AND cm.bobot_fraction > 0 - THEN cm.bobot_fraction - ELSE 0 - END - ) > 0 + WHEN SUM(CASE WHEN cm.bobot_fraction > 0 THEN cm.bobot_fraction ELSE 0 END) > 0 THEN - SUM( - CASE - WHEN cm.bobot_fraction IS NOT NULL AND cm.bobot_fraction > 0 - THEN n.nilai_angka * cm.bobot_fraction - ELSE 0 - END - ) - / - SUM( - CASE - WHEN cm.bobot_fraction IS NOT NULL AND cm.bobot_fraction > 0 - THEN cm.bobot_fraction - ELSE 0 - END - ) - WHEN - SUM( - CASE - WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 - THEN 1 - ELSE 0 - END - ) > 0 + SUM(n.nilai_angka * cm.bobot_fraction) / SUM(cm.bobot_fraction) + WHEN SUM(CASE WHEN cm.bobot_fraction <= 0 OR cm.bobot_fraction IS NULL THEN 1 ELSE 0 END) > 0 THEN - SUM( - CASE - WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 - THEN n.nilai_angka - ELSE 0 - END - ) - / - SUM( - CASE - WHEN cm.bobot_fraction IS NULL OR cm.bobot_fraction <= 0 - THEN 1 - ELSE 0 - END - ) - ELSE NULL + SUM(CASE WHEN cm.bobot_fraction <= 0 OR cm.bobot_fraction IS NULL THEN n.nilai_angka ELSE 0 END) + / + SUM(CASE WHEN cm.bobot_fraction <= 0 OR cm.bobot_fraction IS NULL THEN 1 ELSE 0 END) + ELSE 0 END AS nilai_cpl FROM nilai_mk n - JOIN mk m ON n.id_mk = m.id_mk - JOIN cpl_mk cm ON cm.id_mk = m.id_mk + JOIN mk m ON n.id_mk = m.id -- FIX: Join ke mk.id + JOIN cpl_mk cm ON cm.id_mk = m.id -- FIX: Join ke mk.id WHERE m.id_prodi = ? AND n.semester_tempuh = ? - AND (m.id_konsentrasi IS NULL OR m.id_konsentrasi = ( - SELECT id_konsentrasi FROM mahasiswa WHERE id_mhs = n.id_mhs - )) GROUP BY n.id_mhs, cm.id_cpl @@ -161,25 +109,14 @@ ON DUPLICATE KEY UPDATE ` if err := gdb.Exec(sql, semester, idProdi, semester).Error; err != nil { - return fmt.Errorf("recalculate CPL failed (prodi=%d, semester=%d): %w", + return fmt.Errorf("recalculate CPL failed (prodi=%v, semester=%d): %w", idProdi, semester, err) } return nil } -// RecalculateWeightsForProdi -// ------------------------------------------------------ -// Menghitung ulang bobot: -// 1) CPL -> MK (tabel cpl_mk.bobot_fraction) -// - per CPL: total bobot = 1.0 (100%) -// - tiap MK yang terkait CPL tersebut: 1 / jumlah_mk -// -// 2) MK -> CPMK (tabel cpmk.bobot_cpmk) -// - per MK: total bobot = 1.0 (100%) -// - tiap CPMK di MK tsb: 1 / jumlah_cpmk -// -// Semuanya dilakukan di level SQL (UPDATE ... JOIN). +// RecalculateWeightsForProdi menghitung ulang bobot (1/N) func RecalculateWeightsForProdi( ctx context.Context, gdb *gorm.DB, @@ -195,19 +132,8 @@ func RecalculateWeightsForProdi( return fmt.Errorf("begin tx recalc weights: %w", err) } - // ---------- 1) Recalculate CPL -> MK weights ---------- - // - // UPDATE cpl_mk cm - // JOIN ( - // SELECT cm2.id_cpl, COUNT(*) AS cnt - // FROM cpl_mk cm2 - // JOIN cpl ON cpl.id_cpl = cm2.id_cpl - // WHERE cpl.id_prodi = ? - // GROUP BY cm2.id_cpl - // ) agg ON cm.id_cpl = agg.id_cpl - // JOIN cpl ON cpl.id_cpl = cm.id_cpl - // SET cm.bobot_fraction = 1.0 / agg.cnt - // WHERE cpl.id_prodi = ?; + // 1) Recalculate CPL -> MK weights (cpl_mk) + // Query ini aman karena cpl pakai id_cpl (integer) updateCPLMK := ` UPDATE cpl_mk AS cm JOIN ( @@ -226,17 +152,8 @@ WHERE cpl.id_prodi = ?; return fmt.Errorf("recalculate CPL->MK weights failed: %w", err) } - // ---------- 2) Recalculate MK -> CPMK weights ---------- - // - // UPDATE cpmk cp - // JOIN ( - // SELECT id_mk, COUNT(*) AS cnt - // FROM cpmk - // GROUP BY id_mk - // ) agg ON cp.id_mk = agg.id_mk - // JOIN mk ON mk.id_mk = cp.id_mk - // SET cp.bobot_cpmk = 1.0 / agg.cnt - // WHERE mk.id_prodi = ?; + // 2) Recalculate MK -> CPMK weights (cpmk) + // FIX: Menggunakan mk.id (bukan mk.id_mk) pada JOIN updateCPMK := ` UPDATE cpmk AS cp JOIN ( @@ -244,8 +161,8 @@ JOIN ( FROM cpmk GROUP BY id_mk ) AS agg ON cp.id_mk = agg.id_mk -JOIN mk ON mk.id_mk = cp.id_mk -SET cp.bobot_cpmk = 1.0 / agg.cnt +JOIN mk ON mk.id = cp.id_mk -- FIX: Join ke mk.id +SET cp.bobot = 1.0 / agg.cnt WHERE mk.id_prodi = ?; ` if err := tx.Exec(updateCPMK, idProdi).Error; err != nil { diff --git a/internal/service/import_nilai_service.go b/internal/service/import_nilai_service.go index fc87cd3..acc22e4 100644 --- a/internal/service/import_nilai_service.go +++ b/internal/service/import_nilai_service.go @@ -10,6 +10,7 @@ import ( "cpmk/internal/db" "cpmk/internal/model" + "github.com/google/uuid" // Wajib import untuk generate UUID "gorm.io/gorm" ) @@ -86,13 +87,20 @@ func ImportNilaiMK(ctx context.Context, gdb *gorm.DB, params ImportNilaiParams) if _, ok := mkMap[key]; ok { continue } + + // === PERBAIKAN: Generate UUID untuk MK Baru === + newID := uuid.New().String() + mk := model.MataKuliah{ - IDProdi: prodi.IDProdi, + ID: newID, // Set ID string (UUID) + IDProdi: &prodi.IDProdi, // Ambil alamat karena di model *uint64 KodeMK: item.Kode, NamaMK: item.Nama, SKS: item.SKS, Semester: params.Semester, + IsActive: true, // Set default active } + if err := tx.Create(&mk).Error; err != nil { return fmt.Errorf("insert mk gagal (%s): %w", item.Kode, err) } @@ -126,14 +134,13 @@ func ImportNilaiMK(ctx context.Context, gdb *gorm.DB, params ImportNilaiParams) angkatan := deriveAngkatanFromNIM(d.NIM) if angkatan == 0 { - // fallback kalau format NIM nggak kebaca (harusnya jarang) angkatan = time.Now().Year() } m := model.Mahasiswa{ NIM: d.NIM, Nama: d.Nama, - IDProdi: prodi.IDProdi, + IDProdi: &prodi.IDProdi, // Asumsi di model Mahasiswa IDProdi bukan pointer Angkatan: angkatan, Status: "AKTIF", } @@ -159,13 +166,14 @@ func ImportNilaiMK(ctx context.Context, gdb *gorm.DB, params ImportNilaiParams) } var nilaiMK model.NilaiMK + // id_mk sudah string (UUID) dari mk.ID err := tx.Where("id_mhs = ? AND id_mk = ?", mhs.IDMhs, mk.ID). First(&nilaiMK).Error if err == gorm.ErrRecordNotFound { nilaiMK = model.NilaiMK{ IDMhs: mhs.IDMhs, - IDMK: mk.ID, + IDMK: mk.ID, // Field String SemesterTempuh: params.Semester, TahunAjaran: params.TahunAjaran, NilaiAngka: nilai, @@ -201,7 +209,7 @@ func ImportNilaiMK(ctx context.Context, gdb *gorm.DB, params ImportNilaiParams) } // Hitung ulang CPL untuk prodi+semester ini - if err := RecalculateCPLForProdiSemester(ctx, gdb, prodi.IDProdi, params.Semester); err != nil { + if err := RecalculateCPLForProdiSemester(ctx, gdb, &prodi.IDProdi, params.Semester); err != nil { return map[string]any{ "prodi": prodi.KodeProdi, "semester": params.Semester, @@ -229,7 +237,6 @@ func ImportNilaiMK(ctx context.Context, gdb *gorm.DB, params ImportNilaiParams) } // deriveAngkatanFromNIM mengekstrak 2 digit terakhir nim dan mengubahnya ke tahun 20xx. -// Contoh: 105841115422 -> "22" -> 2022. func deriveAngkatanFromNIM(nim string) int { if len(nim) < 2 { return 0 @@ -241,7 +248,6 @@ func deriveAngkatanFromNIM(nim string) int { } year := 2000 + yy - // sanity check: jangan sampai 2099 dll yang aneh currentYear := time.Now().Year() if year < 2000 || year > currentYear+1 { return 0 diff --git a/internal/service/sync_service.go b/internal/service/sync_service.go index 2ca20d4..ee40c3a 100644 --- a/internal/service/sync_service.go +++ b/internal/service/sync_service.go @@ -7,7 +7,9 @@ import ( "encoding/json" "fmt" "net/http" + "strings" + "github.com/google/uuid" "gorm.io/gorm" ) @@ -17,55 +19,84 @@ type SyncService struct { } func NewSyncService(db *gorm.DB, cfg *config.Config) *SyncService { - return &SyncService{ - DB: db, - Config: cfg, + return &SyncService{DB: db, Config: cfg} +} + +func mapKodeProdiToPrefix(kodeAngka string) []string { + kode := strings.TrimSpace(kodeAngka) + switch kode { + case "20201": + return []string{"CW620201", "20201"} + case "22202": + return []string{"CW622202", "CW622020", "22202"} + case "23201": + return []string{"CW623201", "23201"} + case "35201": + return []string{"CW635201", "35201"} + case "55202": + return []string{"CW655202", "CW655201", "55202"} + default: + return []string{kode} } } -// SyncCurriculum menarik data MK -> CPMK -> Sub-CPMK dari Smart RPS func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { - // 1. Persiapkan Request ke Smart RPS + var targetProdi model.Prodi + if err := s.DB.Where("id_prodi = ?", targetProdiID).First(&targetProdi).Error; err != nil { + return fmt.Errorf("prodi tidak ditemukan") + } + + possiblePrefixes := mapKodeProdiToPrefix(targetProdi.KodeProdi) + url := fmt.Sprintf("%s/api/v1/sync/curriculum", s.Config.SmartRpsURL) req, err := http.NewRequest("GET", url, nil) if err != nil { return err } - - // Masukkan Kunci Rahasia di Header req.Header.Set("X-Sync-Key", s.Config.SyncSecretKey) - // 2. Kirim Request client := &http.Client{} resp, err := client.Do(req) if err != nil { - return fmt.Errorf("gagal koneksi ke Smart RPS: %v", err) + return err } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - return fmt.Errorf("smart RPS menolak akses: status %d", resp.StatusCode) + return fmt.Errorf("error smart rps: %d", resp.StatusCode) } - // 3. Decode Response JSON ke DTO var response struct { Data []dto.SmartRpsCourse `json:"data"` } if err := json.NewDecoder(resp.Body).Decode(&response); err != nil { - return fmt.Errorf("gagal membaca data JSON: %v", err) + return err } - // 4. Proses Penyimpanan ke Database (Transaction) tx := s.DB.Begin() + counter := 0 for _, extMK := range response.Data { - // --- A. Sync Mata Kuliah (MK) --- - var mk model.MataKuliah + mkCodeUpper := strings.ToUpper(extMK.Code) + isMatch := false + if strings.HasPrefix(mkCodeUpper, "AW") || strings.HasPrefix(mkCodeUpper, "BW") { + isMatch = true + } else { + for _, prefix := range possiblePrefixes { + if strings.Contains(mkCodeUpper, strings.ToUpper(prefix)) { + isMatch = true + break + } + } + } + if !isMatch { + continue + } - // Cek apakah MK sudah ada berdasarkan Kode MK + // 1. Save MK + var mk model.MataKuliah err := tx.Where("kode_mk = ?", extMK.Code).First(&mk).Error - - mk.IDProdi = targetProdiID // Sementara kita tembak ke prodi tertentu + mk.IDProdi = &targetProdiID mk.KodeMK = extMK.Code mk.NamaMK = extMK.Title if extMK.Credits != nil { @@ -76,72 +107,81 @@ func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { } if err == gorm.ErrRecordNotFound { - // Insert Baru + mk.ID = uuid.New().String() + mk.IsActive = true if err := tx.Create(&mk).Error; err != nil { tx.Rollback() return err } } else { - // Update Existing - if err := tx.Save(&mk).Error; err != nil { - tx.Rollback() - return err - } + tx.Save(&mk) } - // --- B. Sync CPMK --- - // Hapus CPMK lama untuk MK ini agar bersih (opsional, tergantung strategi) - // tx.Where("id_mk = ?", mk.IDMK).Delete(&model.CPMK{}) - + // 2. Save CPMK & Mapping for _, extCPMK := range extMK.CPMKs { var cpmk model.CPMK - kodeCPMK := fmt.Sprintf("CPMK-%d", extCPMK.CPMKNumber) // Generate kode: CPMK-1 - - // Cari CPMK existing di MK ini - err := tx.Where("id_mk = ? AND kode_cpmk = ?", mk.IDMK, kodeCPMK).First(&cpmk).Error + kodeCPMK := fmt.Sprintf("CPMK-%d", extCPMK.CPMKNumber) - cpmk.IDMK = mk.IDMK + err := tx.Where("id_mk = ? AND kode_cpmk = ?", mk.ID, kodeCPMK).First(&cpmk).Error + cpmk.IDMK = mk.ID cpmk.KodeCPMK = kodeCPMK cpmk.Deskripsi = extCPMK.Description - cpmk.BobotCPMK = extCPMK.Bobot + cpmk.Bobot = extCPMK.Bobot + + // === UPDATE PENTING: SIMPAN MATCHE CPL KE TABEL CPMK === + if extCPMK.MatchedCPL != "" { + cpmk.MatchedCPL = extCPMK.MatchedCPL // Pastikan kolom ini sudah di-add di SQL + } if err == gorm.ErrRecordNotFound { - if err := tx.Create(&cpmk).Error; err != nil { - tx.Rollback() - return err - } + cpmk.ID = uuid.New().String() + tx.Create(&cpmk) } else { - if err := tx.Save(&cpmk).Error; err != nil { - tx.Rollback() - return err + tx.Save(&cpmk) + } + + // Mapping Logic + if extCPMK.MatchedCPL != "" { + cplCodes := strings.Split(extCPMK.MatchedCPL, ",") + for _, codeRaw := range cplCodes { + code := strings.TrimSpace(codeRaw) + if code == "" { + continue + } + codeClean := strings.ReplaceAll(code, "-", "") + + var cpl model.CPL + if err := tx.Where("(kode_cpl = ? OR kode_cpl = ?) AND id_prodi = ?", code, codeClean, targetProdiID).First(&cpl).Error; err == nil { + var mapping model.CPLMK + errMap := tx.Where("id_cpl = ? AND id_mk = ?", cpl.IDCPL, mk.ID).First(&mapping).Error + if errMap == gorm.ErrRecordNotFound { + mapping = model.CPLMK{IDCPL: cpl.IDCPL, IDMK: mk.ID, Sumber: "sync", BobotFraction: 0} + tx.Create(&mapping) + } + } } } - // --- C. Sync Sub-CPMK --- + // 3. Save Sub-CPMK for _, extSub := range extCPMK.SubCPMKs { var subCpmk model.SubCPMK kodeSub := fmt.Sprintf("Sub-CPMK-%d", extSub.SubCPMKNumber) - - err := tx.Where("id_cpmk = ? AND kode_sub_cpmk = ?", cpmk.IDCPMK, kodeSub).First(&subCpmk).Error - - subCpmk.IDCPMK = cpmk.IDCPMK + err := tx.Where("id_cpmk = ? AND kode_sub_cpmk = ?", cpmk.ID, kodeSub).First(&subCpmk).Error + subCpmk.IDCPMK = cpmk.ID subCpmk.KodeSubCPMK = kodeSub subCpmk.Deskripsi = extSub.Description if extSub.Bobot != nil { - subCpmk.BobotDalamCPMK = *extSub.Bobot + subCpmk.Bobot = extSub.Bobot } - if err == gorm.ErrRecordNotFound { - if err := tx.Create(&subCpmk).Error; err != nil { - tx.Rollback() - return err - } + subCpmk.ID = uuid.New().String() + tx.Create(&subCpmk) } else { tx.Save(&subCpmk) } } } + counter++ } - return tx.Commit().Error } From 304c5fa01ab8714c3fe6557166418be340042035 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Tue, 20 Jan 2026 04:14:46 +0800 Subject: [PATCH 27/36] a --- internal/http/handler_mahasiswa.go | 181 ++++++++++++----------------- internal/http/handler_nilai.go | 9 +- internal/service/sync_service.go | 128 ++++++++++++++------ 3 files changed, 173 insertions(+), 145 deletions(-) diff --git a/internal/http/handler_mahasiswa.go b/internal/http/handler_mahasiswa.go index 148c885..433f4af 100644 --- a/internal/http/handler_mahasiswa.go +++ b/internal/http/handler_mahasiswa.go @@ -1,143 +1,112 @@ -// internal/http/handler_mahasiswa.go package http import ( - "net/http" - "strconv" - "cpmk/internal/db" "cpmk/internal/model" + "net/http" "github.com/gin-gonic/gin" ) -type MahasiswaSummary struct { - IDMhs uint64 `json:"id_mhs"` - NIM string `json:"nim"` - Nama string `json:"nama"` - Angkatan int `json:"angkatan"` - SemesterMax uint8 `json:"semester_max"` - TotalNilai int `json:"total_nilai"` - DariImport int `json:"dari_import"` -} - -func listMahasiswaDenganNilaiHandler(c *gin.Context) { +// GET /api/mahasiswa/:nim/mk/:id_mk/analisis +func getMKAnalisisMahasiswaHandler(c *gin.Context) { ctx := c.Request.Context() + nim := c.Param("nim") + idMK := c.Param("id_mk") - idStr := c.Param("id_prodi") - idProdi, err := strconv.ParseUint(idStr, 10, 64) - if err != nil { - c.JSON(http.StatusBadRequest, gin.H{"error": "id_prodi tidak valid"}) + // 1. Validasi Mahasiswa + var mhs model.Mahasiswa + if err := db.DB.WithContext(ctx).Where("nim = ?", nim).First(&mhs).Error; err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa tidak ditemukan"}) return } - semStr := c.Query("semester") // boleh kosong - - // DB-first aggregation: hitung di SQL, bukan di Go - baseSQL := ` -SELECT - m.id_mhs, - m.nim, - m.nama, - m.angkatan, - MAX(n.semester_tempuh) AS semester_max, - COUNT(*) AS total_nilai, - SUM(CASE WHEN n.sumber = 'import_json' THEN 1 ELSE 0 END) AS dari_import -FROM mahasiswa m -JOIN nilai_mk n ON n.id_mhs = m.id_mhs -WHERE m.id_prodi = ? -` - args := []any{idProdi} - - if semStr != "" { - baseSQL += " AND n.semester_tempuh = ?" - if sem, err := strconv.ParseUint(semStr, 10, 8); err == nil { - args = append(args, uint8(sem)) - } else { - c.JSON(http.StatusBadRequest, gin.H{"error": "semester tidak valid"}) - return - } + // 2. Ambil Nilai MK & Detail MK + type MKDetail struct { + KodeMK string `json:"kode_mk"` + NamaMK string `json:"nama_mk"` + SKS uint8 `json:"sks"` + NilaiAngka float64 `json:"nilai_angka"` + NilaiHuruf string `json:"nilai_huruf"` } - baseSQL += ` -GROUP BY - m.id_mhs, m.nim, m.nama, m.angkatan -ORDER BY - m.nim -` + var mkDetail MKDetail + // FIX: Update JOIN agar menggunakan m.id (UUID) + err := db.DB.WithContext(ctx). + Table("nilai_mk as n"). + Select("m.kode_mk, m.nama_mk, m.sks, n.nilai_angka, n.nilai_huruf"). + Joins("JOIN mk as m ON m.id = n.id_mk"). // <-- PERBAIKAN DISINI (m.id_mk -> m.id) + Where("n.id_mhs = ? AND n.id_mk = ?", mhs.IDMhs, idMK). + Scan(&mkDetail).Error - var rows []MahasiswaSummary - if err := db.DB.WithContext(ctx).Raw(baseSQL, args...).Scan(&rows).Error; err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "db error summary mahasiswa"}) + if err != nil { + c.JSON(http.StatusNotFound, gin.H{"error": "nilai mk tidak ditemukan"}) return } - c.JSON(http.StatusOK, rows) -} - -func listAngkatanHandler(c *gin.Context) { - idProdi := c.Param("id_prodi") - var angkatans []int + // 3. Ambil Nilai CPL yang disumbangkan MK ini + type CPLSumbangan struct { + KodeCPL string `json:"kode_cpl"` + Deskripsi string `json:"deskripsi"` + Bobot float64 `json:"bobot_mk_cpl"` + Nilai float64 `json:"nilai_kontribusi"` + } - // Ambil daftar angkatan unik dari tabel mahasiswa - err := db.DB.Model(&model.Mahasiswa{}). - Where("id_prodi = ?", idProdi). - Distinct(). - Order("angkatan DESC"). - Pluck("angkatan", &angkatans).Error + var cplList []CPLSumbangan + err = db.DB.WithContext(ctx). + Table("cpl_mk as cm"). + Select("c.kode_cpl, c.deskripsi, cm.bobot_fraction as bobot, (? * cm.bobot_fraction) as nilai", mkDetail.NilaiAngka). + Joins("JOIN cpl as c ON c.id_cpl = cm.id_cpl"). + Where("cm.id_mk = ?", idMK). + Scan(&cplList).Error if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "gagal ambil data angkatan"}) + c.JSON(http.StatusInternalServerError, gin.H{"error": "gagal hitung kontribusi cpl"}) return } - c.JSON(http.StatusOK, angkatans) + + c.JSON(http.StatusOK, gin.H{ + "mahasiswa": gin.H{ + "nim": mhs.NIM, + "nama": mhs.Nama, + }, + "matakuliah": mkDetail, + "kontribusi_cpl": cplList, + }) } -// GET /api/mahasiswa/:nim/mk/:id_mk/analisis -func getMKAnalisisMahasiswaHandler(c *gin.Context) { +// GET /api/prodi/:id_prodi/mahasiswa-nilai?semester=1 +func listMahasiswaDenganNilaiHandler(c *gin.Context) { ctx := c.Request.Context() - nim := c.Param("nim") - idMK, _ := strconv.ParseUint(c.Param("id_mk"), 10, 64) + idProdi := c.Param("id_prodi") + semStr := c.Query("semester") - // 1. Ambil data mahasiswa berdasarkan NIM - var mhs model.Mahasiswa - if err := db.DB.WithContext(ctx).Where("nim = ?", nim).First(&mhs).Error; err != nil { - c.JSON(http.StatusNotFound, gin.H{"error": "mahasiswa tidak ditemukan"}) - return - } + // Filter dasar: Prodi + query := db.DB.WithContext(ctx). + Table("mahasiswa as m"). + Select("m.id_mhs, m.nim, m.nama, m.angkatan, COUNT(n.id_nilai_mk) as jumlah_mk_dinilai, AVG(n.nilai_angka) as ipk_semester_ini"). + Joins("LEFT JOIN nilai_mk as n ON n.id_mhs = m.id_mhs"). + Where("m.id_prodi = ?", idProdi). + Group("m.id_mhs") - // 2. Query Gabungan: Ambil CPMK, Nilai Mahasiswa, dan Sub-CPMK terkait - type SubCPMKRes struct { - Kode string `json:"kode_sub_cpmk"` - Deskripsi string `json:"deskripsi"` - Nilai float64 `json:"nilai"` + // Filter Semester pada Nilai + if semStr != "" { + query = query.Where("n.semester_tempuh = ?", semStr) } - type CPMKAnalisisRes struct { - IDCPMK uint64 `json:"id_cpmk"` - KodeCPMK string `json:"kode_cpmk"` - Nilai float64 `json:"nilai"` - Bobot float64 `json:"bobot_cpmk"` - Deskripsi string `json:"deskripsi"` - SubCPMKs []SubCPMKRes `json:"sub_cpmks"` + type MhsList struct { + IDMhs uint64 `json:"id_mhs"` + NIM string `json:"nim"` + Nama string `json:"nama"` + Angkatan int `json:"angkatan"` + JumlahMK int `json:"jumlah_mk"` + IPKSemesterIni float64 `json:"rata_nilai"` } - var results []CPMKAnalisisRes - db.DB.WithContext(ctx).Table("cpmk"). - Select("cpmk.id_cpmk, cpmk.kode_cpmk, cpmk.deskripsi, cpmk.bobot_cpmk, COALESCE(nilai_cpmk.nilai, 0) as nilai"). - Joins("LEFT JOIN nilai_cpmk ON nilai_cpmk.id_cpmk = cpmk.id_cpmk AND nilai_cpmk.id_mhs = ?", mhs.IDMhs). - Where("cpmk.id_mk = ?", idMK). - Scan(&results) - - // 3. Ambil rincian Sub-CPMK untuk setiap CPMK - for i := range results { - var subs []SubCPMKRes - db.DB.WithContext(ctx).Table("sub_cpmk"). - Select("sub_cpmk.kode_sub_cpmk, sub_cpmk.deskripsi, COALESCE(nilai_sub_cpmk.nilai, 0) as nilai"). - Joins("LEFT JOIN nilai_sub_cpmk ON nilai_sub_cpmk.id_sub_cpmk = sub_cpmk.id_sub_cpmk AND nilai_sub_cpmk.id_mhs = ?", mhs.IDMhs). - Where("sub_cpmk.id_cpmk = ?", results[i].IDCPMK). - Scan(&subs) - results[i].SubCPMKs = subs + var results []MhsList + if err := query.Scan(&results).Error; err != nil { + c.JSON(http.StatusInternalServerError, gin.H{"error": "db error"}) + return } c.JSON(http.StatusOK, results) diff --git a/internal/http/handler_nilai.go b/internal/http/handler_nilai.go index c16569e..61e524f 100644 --- a/internal/http/handler_nilai.go +++ b/internal/http/handler_nilai.go @@ -200,6 +200,7 @@ func getCPLByMahasiswaHandler(c *gin.Context) { }) } +// GET /api/mahasiswa/:nim/nilai-mk?semester=1 // GET /api/mahasiswa/:nim/nilai-mk?semester=1 func getNilaiMKByMahasiswaHandler(c *gin.Context) { ctx := c.Request.Context() @@ -228,9 +229,8 @@ func getNilaiMKByMahasiswaHandler(c *gin.Context) { return } - // === FIX DI SINI: IDMK harus string untuk menampung UUID === type nilaiMKResult struct { - IDMK string `json:"id_mk"` // Fix: uint64 -> string + IDMK string `json:"id_mk"` KodeMK string `json:"kode_mk"` NamaMK string `json:"nama_mk"` SKS uint8 `json:"sks"` @@ -239,10 +239,11 @@ func getNilaiMKByMahasiswaHandler(c *gin.Context) { } var results []nilaiMKResult + // === FIX FINAL: Gunakan mk.id (bukan mk.id_mk) === err = db.DB.WithContext(ctx). Table("nilai_mk"). - Select("mk.id_mk, mk.kode_mk, mk.nama_mk, mk.sks, nilai_mk.nilai_angka, nilai_mk.nilai_huruf"). - Joins("JOIN mk ON mk.id_mk = nilai_mk.id_mk"). + Select("mk.id, mk.kode_mk, mk.nama_mk, mk.sks, nilai_mk.nilai_angka, nilai_mk.nilai_huruf"). + Joins("JOIN mk ON mk.id = nilai_mk.id_mk"). // Join ke mk.id Where("nilai_mk.id_mhs = ? AND nilai_mk.semester_tempuh = ?", mhs.IDMhs, sem). Order("mk.kode_mk"). Scan(&results).Error diff --git a/internal/service/sync_service.go b/internal/service/sync_service.go index ee40c3a..97e43a3 100644 --- a/internal/service/sync_service.go +++ b/internal/service/sync_service.go @@ -22,6 +22,7 @@ func NewSyncService(db *gorm.DB, cfg *config.Config) *SyncService { return &SyncService{DB: db, Config: cfg} } +// Helper untuk variasi kode prodi func mapKodeProdiToPrefix(kodeAngka string) []string { kode := strings.TrimSpace(kodeAngka) switch kode { @@ -41,6 +42,7 @@ func mapKodeProdiToPrefix(kodeAngka string) []string { } func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { + // 1. Cek Prodi var targetProdi model.Prodi if err := s.DB.Where("id_prodi = ?", targetProdiID).First(&targetProdi).Error; err != nil { return fmt.Errorf("prodi tidak ditemukan") @@ -48,6 +50,7 @@ func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { possiblePrefixes := mapKodeProdiToPrefix(targetProdi.KodeProdi) + // 2. Ambil Data dari Smart RPS url := fmt.Sprintf("%s/api/v1/sync/curriculum", s.Config.SmartRpsURL) req, err := http.NewRequest("GET", url, nil) if err != nil { @@ -73,10 +76,13 @@ func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { return err } - tx := s.DB.Begin() - counter := 0 + fmt.Printf(">>> START SYNC PRODI ID %d (%d Data) <<<\n", targetProdiID, len(response.Data)) + successCount := 0 + failCount := 0 + // 3. Loop Data (TANPA Global Transaction) for _, extMK := range response.Data { + // Filter Prefix Kode MK mkCodeUpper := strings.ToUpper(extMK.Code) isMatch := false if strings.HasPrefix(mkCodeUpper, "AW") || strings.HasPrefix(mkCodeUpper, "BW") { @@ -89,16 +95,36 @@ func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { } } } + if !isMatch { continue } - // 1. Save MK + // Proses Simpan per MK + if err := s.processSingleMK(targetProdiID, extMK); err != nil { + fmt.Printf(" [FAIL] %s: %v\n", extMK.Code, err) + failCount++ + } else { + successCount++ + } + } + + fmt.Printf(">>> SYNC SELESAI. Sukses: %d, Gagal: %d <<<\n", successCount, failCount) + return nil +} + +// processSingleMK menangani penyimpanan 1 MK + CPMK + SubCPMK + Mapping dalam satu transaksi kecil +func (s *SyncService) processSingleMK(targetProdiID uint64, extMK dto.SmartRpsCourse) error { + return s.DB.Transaction(func(tx *gorm.DB) error { + // A. Simpan Mata Kuliah var mk model.MataKuliah err := tx.Where("kode_mk = ?", extMK.Code).First(&mk).Error + mk.IDProdi = &targetProdiID mk.KodeMK = extMK.Code mk.NamaMK = extMK.Title + + // Handling pointer SKS/Semester if extMK.Credits != nil { mk.SKS = uint8(*extMK.Credits) } @@ -110,14 +136,15 @@ func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { mk.ID = uuid.New().String() mk.IsActive = true if err := tx.Create(&mk).Error; err != nil { - tx.Rollback() return err } } else { - tx.Save(&mk) + if err := tx.Save(&mk).Error; err != nil { + return err + } } - // 2. Save CPMK & Mapping + // B. Simpan CPMK for _, extCPMK := range extMK.CPMKs { var cpmk model.CPMK kodeCPMK := fmt.Sprintf("CPMK-%d", extCPMK.CPMKNumber) @@ -126,21 +153,65 @@ func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { cpmk.IDMK = mk.ID cpmk.KodeCPMK = kodeCPMK cpmk.Deskripsi = extCPMK.Description - cpmk.Bobot = extCPMK.Bobot - // === UPDATE PENTING: SIMPAN MATCHE CPL KE TABEL CPMK === + // Simpan MatchedCPL if extCPMK.MatchedCPL != "" { - cpmk.MatchedCPL = extCPMK.MatchedCPL // Pastikan kolom ini sudah di-add di SQL + cpmk.MatchedCPL = extCPMK.MatchedCPL + } + + // === FIX 1: Assignment Pointer yang Benar === + // Karena di Model CPMK, Bobot adalah *float64, dan extCPMK.Bobot juga *float64 + // Kita tinggal copy pointernya saja. + cpmk.Bobot = extCPMK.Bobot + + // Jika nil, kita paksa jadi 0.0 (buat pointer baru) + if cpmk.Bobot == nil { + var zero float64 = 0 + cpmk.Bobot = &zero } if err == gorm.ErrRecordNotFound { cpmk.ID = uuid.New().String() - tx.Create(&cpmk) + if err := tx.Create(&cpmk).Error; err != nil { + return err + } } else { - tx.Save(&cpmk) + if err := tx.Save(&cpmk).Error; err != nil { + return err + } } - // Mapping Logic + // C. Simpan Sub-CPMK + for _, extSub := range extCPMK.SubCPMKs { + var subCpmk model.SubCPMK + kodeSub := fmt.Sprintf("Sub-CPMK-%d", extSub.SubCPMKNumber) + err := tx.Where("id_cpmk = ? AND kode_sub_cpmk = ?", cpmk.ID, kodeSub).First(&subCpmk).Error + + subCpmk.IDCPMK = cpmk.ID + subCpmk.KodeSubCPMK = kodeSub + subCpmk.Deskripsi = extSub.Description + + // === FIX 2: Assignment Pointer SubCPMK === + subCpmk.Bobot = extSub.Bobot + + if subCpmk.Bobot == nil { + var zero float64 = 0 + subCpmk.Bobot = &zero + } + + if err == gorm.ErrRecordNotFound { + subCpmk.ID = uuid.New().String() + if err := tx.Create(&subCpmk).Error; err != nil { + return err + } + } else { + if err := tx.Save(&subCpmk).Error; err != nil { + return err + } + } + } + + // D. Mapping CPL (Relasi Table cpl_mk) if extCPMK.MatchedCPL != "" { cplCodes := strings.Split(extCPMK.MatchedCPL, ",") for _, codeRaw := range cplCodes { @@ -148,40 +219,27 @@ func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { if code == "" { continue } + // Normalisasi: Hapus strip agar CPL-01 match dengan CPL01 codeClean := strings.ReplaceAll(code, "-", "") var cpl model.CPL + // Cari CPL dengan toleransi format if err := tx.Where("(kode_cpl = ? OR kode_cpl = ?) AND id_prodi = ?", code, codeClean, targetProdiID).First(&cpl).Error; err == nil { var mapping model.CPLMK errMap := tx.Where("id_cpl = ? AND id_mk = ?", cpl.IDCPL, mk.ID).First(&mapping).Error if errMap == gorm.ErrRecordNotFound { - mapping = model.CPLMK{IDCPL: cpl.IDCPL, IDMK: mk.ID, Sumber: "sync", BobotFraction: 0} + mapping = model.CPLMK{ + IDCPL: cpl.IDCPL, + IDMK: mk.ID, + Sumber: "sync", + BobotFraction: 0, + } tx.Create(&mapping) } } } } - - // 3. Save Sub-CPMK - for _, extSub := range extCPMK.SubCPMKs { - var subCpmk model.SubCPMK - kodeSub := fmt.Sprintf("Sub-CPMK-%d", extSub.SubCPMKNumber) - err := tx.Where("id_cpmk = ? AND kode_sub_cpmk = ?", cpmk.ID, kodeSub).First(&subCpmk).Error - subCpmk.IDCPMK = cpmk.ID - subCpmk.KodeSubCPMK = kodeSub - subCpmk.Deskripsi = extSub.Description - if extSub.Bobot != nil { - subCpmk.Bobot = extSub.Bobot - } - if err == gorm.ErrRecordNotFound { - subCpmk.ID = uuid.New().String() - tx.Create(&subCpmk) - } else { - tx.Save(&subCpmk) - } - } } - counter++ - } - return tx.Commit().Error + return nil + }) } From 10fa63c11602570cd1b45786a118dc5812b21ee0 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Thu, 22 Jan 2026 00:14:45 +0800 Subject: [PATCH 28/36] ini --- SIM-CPL | 2 +- internal/http/handler_mahasiswa.go | 60 ++++++++++++++++++++++++++---- 2 files changed, 53 insertions(+), 9 deletions(-) diff --git a/SIM-CPL b/SIM-CPL index 7838419..f40cd00 160000 --- a/SIM-CPL +++ b/SIM-CPL @@ -1 +1 @@ -Subproject commit 7838419e0f12aa130da741eaec36a520c2d7e2cb +Subproject commit f40cd007b9bedc02005b3b9f91f676259525eb04 diff --git a/internal/http/handler_mahasiswa.go b/internal/http/handler_mahasiswa.go index 433f4af..eedf6eb 100644 --- a/internal/http/handler_mahasiswa.go +++ b/internal/http/handler_mahasiswa.go @@ -35,13 +35,15 @@ func getMKAnalisisMahasiswaHandler(c *gin.Context) { err := db.DB.WithContext(ctx). Table("nilai_mk as n"). Select("m.kode_mk, m.nama_mk, m.sks, n.nilai_angka, n.nilai_huruf"). - Joins("JOIN mk as m ON m.id = n.id_mk"). // <-- PERBAIKAN DISINI (m.id_mk -> m.id) + Joins("JOIN mk as m ON m.id = n.id_mk"). Where("n.id_mhs = ? AND n.id_mk = ?", mhs.IDMhs, idMK). Scan(&mkDetail).Error if err != nil { - c.JSON(http.StatusNotFound, gin.H{"error": "nilai mk tidak ditemukan"}) - return + // Jika nilai belum ada, kembalikan default 0 + mkDetail.NilaiAngka = 0 + mkDetail.NilaiHuruf = "-" + // Tetap lanjut untuk ambil detail MK (opsional, atau return 404) } // 3. Ambil Nilai CPL yang disumbangkan MK ini @@ -53,16 +55,57 @@ func getMKAnalisisMahasiswaHandler(c *gin.Context) { } var cplList []CPLSumbangan - err = db.DB.WithContext(ctx). + db.DB.WithContext(ctx). Table("cpl_mk as cm"). Select("c.kode_cpl, c.deskripsi, cm.bobot_fraction as bobot, (? * cm.bobot_fraction) as nilai", mkDetail.NilaiAngka). Joins("JOIN cpl as c ON c.id_cpl = cm.id_cpl"). Where("cm.id_mk = ?", idMK). - Scan(&cplList).Error + Scan(&cplList) - if err != nil { - c.JSON(http.StatusInternalServerError, gin.H{"error": "gagal hitung kontribusi cpl"}) - return + // ========================================================================= + // 4. (BARU) Analisis CPMK & Sub-CPMK + // ========================================================================= + type SubCPMKResp struct { + KodeSub string `json:"kode_sub_cpmk"` + Deskripsi string `json:"deskripsi"` + Nilai float64 `json:"nilai"` // Asumsi nilai sub = nilai MK + } + type CPMKAnalisis struct { + IDCPMK string `json:"id_cpmk"` + KodeCPMK string `json:"kode_cpmk"` + Deskripsi string `json:"deskripsi"` + Nilai float64 `json:"nilai"` // Asumsi nilai cpmk = nilai MK + SubCPMKs []SubCPMKResp `json:"sub_cpmks"` + } + + var cpmkList []model.CPMK + if err := db.DB.WithContext(ctx).Where("id_mk = ?", idMK).Find(&cpmkList).Error; err == nil { + // Fetch Sub-CPMKs sekaligus (optimasi query bisa dilakukan, ini cara simpel) + // atau loop per cpmk + } + + var analisisList []CPMKAnalisis + for _, cpmk := range cpmkList { + // Ambil Sub-CPMK + var subs []model.SubCPMK + db.DB.WithContext(ctx).Where("id_cpmk = ?", cpmk.ID).Find(&subs) + + subResps := make([]SubCPMKResp, len(subs)) + for i, s := range subs { + subResps[i] = SubCPMKResp{ + KodeSub: s.KodeSubCPMK, + Deskripsi: s.Deskripsi, + Nilai: mkDetail.NilaiAngka, // Logic sederhana: Nilai Sub = Nilai MK + } + } + + analisisList = append(analisisList, CPMKAnalisis{ + IDCPMK: cpmk.ID, + KodeCPMK: cpmk.KodeCPMK, + Deskripsi: cpmk.Deskripsi, + Nilai: mkDetail.NilaiAngka, // Logic sederhana: Nilai CPMK = Nilai MK + SubCPMKs: subResps, + }) } c.JSON(http.StatusOK, gin.H{ @@ -72,6 +115,7 @@ func getMKAnalisisMahasiswaHandler(c *gin.Context) { }, "matakuliah": mkDetail, "kontribusi_cpl": cplList, + "cpmk_analisis": analisisList, // <--- Ini yang dicari frontend }) } From f99fe04747695bb74d35c892ce83c390b271f825 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Fri, 23 Jan 2026 23:38:17 +0800 Subject: [PATCH 29/36] capstone --- SIM-CPL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SIM-CPL b/SIM-CPL index f40cd00..21468a4 160000 --- a/SIM-CPL +++ b/SIM-CPL @@ -1 +1 @@ -Subproject commit f40cd007b9bedc02005b3b9f91f676259525eb04 +Subproject commit 21468a4e91fea200dba27eef9f2f2fb6af771261 From bc7e8cb0cc34418f1b5e867279feb928146cf834 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Sat, 24 Jan 2026 01:56:16 +0800 Subject: [PATCH 30/36] add migration --- Backup/cpl_unismuh.sql | 128308 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 128308 insertions(+) create mode 100644 Backup/cpl_unismuh.sql diff --git a/Backup/cpl_unismuh.sql b/Backup/cpl_unismuh.sql new file mode 100644 index 0000000..d269ccd --- /dev/null +++ b/Backup/cpl_unismuh.sql @@ -0,0 +1,128308 @@ +-- phpMyAdmin SQL Dump +-- version 5.2.1 +-- https://www.phpmyadmin.net/ +-- +-- Host: localhost +-- Generation Time: Jan 23, 2026 at 06:54 PM +-- Server version: 10.4.32-MariaDB +-- PHP Version: 8.2.12 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Database: `cpl_unismuh` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `cpl` +-- + +CREATE TABLE `cpl` ( + `id_cpl` bigint(20) UNSIGNED NOT NULL, + `id_prodi` bigint(20) UNSIGNED NOT NULL, + `kode_cpl` varchar(20) NOT NULL, + `deskripsi` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `cpl` +-- + +INSERT INTO `cpl` (`id_cpl`, `id_prodi`, `kode_cpl`, `deskripsi`) VALUES +(1, 1, 'CPL-01', 'Mampu menerapkan prinsip matematika, sains, dan rekayasa teknik elektro berdasarkan teknologi informasi untuk menganalisis dan mengimplementasikan untuk mendapatkan pemahaman menyeluruh tentang prinsip-prinsip teknik elektro'), +(2, 1, 'CPL-02', 'Mampu merancang sistem, komponen, atau proses teknik elektro berbasis teknologi terkini dengan mempertimbangkan aspek keselamatan,kesehatan, etika, ekonomi, sosial, lingkungan, hukum, dan prinsip keberlanjutan sehingga mampu mengenali dan memanfaatkan potensi sumber daya lokal dan nasional dengan wawasan global.'), +(3, 1, 'CPL-03', 'Mampu merancang dan/atau melakukan eksperimen di laboratorium atau lapangan, menganalisis serta menginterpretasikan data secara tepat untuk mendukung pengambilan keputusan teknis.'), +(4, 1, 'CPL-04', 'Mampu mengidentifikasi, merumuskan, dan menyelesaikan permasalahan teknik elektro yang kompleks dengan pendekatan analitis dan inovatif.'), +(5, 1, 'CPL-05', 'Mampu memilih dan menggunakan metode, perangkat keras, perangkat lunak, serta alat bantu rekayasa modern yang relevan untuk praktik teknik elektro.'), +(6, 1, 'CPL-06', 'Mampu berkomunikasi secara efektif secara lisan dan tulisan dalam konteks profesional akademik multidisiplin dan multikultural.'), +(7, 1, 'CPL-07', 'Mampu merencanakan, mengelola, mengevaluasi dan menyelesaikan tugas di dalam batasan yang ada.'), +(8, 1, 'CPL-08', 'Mampu bekerja dalam tim multidisiplin dan multikultural serta berkolaborasi dalam mengembangkan inovasi atau peluang kewirausahaan berbasis teknologi elektro.'), +(9, 1, 'CPL-09', 'Mampu bertanggung jawab kepada masyarakat dan mematuhi etika profesional dalam menyelesaikan permasalahan teknik.'), +(10, 1, 'CPL-10', 'Mampu menginternalisasi nilai-nilai keislaman dan kemuhammadiyahan serta menjadikan pembelajaran sepanjang hayat sebagai bagian dari pengembangan diri dalam menghadapi tantangan global sesuai isu- isu terkini '), +(11, 2, 'CPL-01', 'Mampu menerapkan pengetahuan matematika, ilmu alam, dan teknologi informasi untuk memahami prinsip-prinsip dasar teknik sumber daya air.'), +(12, 2, 'CPL-02', 'Mampu merancang sistem jaringan bangunan air dengan mempertimbangkan aspek hukum, ekonomi, lingkungan, sosial, politik, kesehatan dan keselamatan, serta keberlanjutan, serta mengenali dan/atau memanfaatkan potensi sumber daya local dan nasional dengan perspektif global.'), +(13, 2, 'CPL-03', 'Mampu merancang dan melakukan eksperimen laboratorium maupun pengamatan lapangan serta mampu menganalisis dan menginterpretasikan data untuk mendukung penilaian teknik sumber daya air.'), +(14, 2, 'CPL-04', 'Mampu mengidentifikasi, merumuskan, menganalisis, dan memecahkan permasalahan kompleks di bidang teknik sumber daya air.'), +(15, 2, 'CPL-05', 'Mampu menerapkan metode, keterampilan, dan alat rekayasa modern dalam praktik teknik sumber daya air.'), +(16, 2, 'CPL-06', 'Mampu berkomunikasi secara efektif baik secara lisan dan tertulis dalam menyampaikan ide maupun hasil analisis.'), +(17, 2, 'CPL-07', 'Mampu merencanakan, melaksanakan, dan mengevaluasi tugas Teknik sumber daya air sesuai dengan batasan yang tersedia.'), +(18, 2, 'CPL-08', 'Mampu bekerja dalam tim multidisiplin dan multicultural.'), +(19, 2, 'CPL-09', 'Mampu bertanggung jawab secara profesional dan mematuhi etika profesional terhadap masyarakat dalam merancang dan mengelola infrastruktur Teknik sumber daya air yang aman.'), +(20, 2, 'CPL-10', 'Mampu menyadari pentingnya pembelajaran sepanjang hayat dengan menerapkan Al Islam Kemuhammadiyahan dan terus mengakses pengetahuan terbaru dan isu yang sejalan dengan perkembangan zaman di bidang sumber daya air.'), +(21, 3, 'CPL-01', 'Lulusan mampu menunjukkan integritas, etika profesi, nilai-nilai keislaman, tanggung jawab sosial, dan komitmen terhadap keberlanjutan dalam setiap praktik arsitektur, serta mampu mengambil keputusan profesional yang adil, aman, dan bermanfaat bagi masyarakat.'), +(22, 3, 'CPL-02', 'Lulusan mampu merancang bangunan, interior, tapak, dan ruang luar secara kreatif, humanis, inklusif, dan berkelanjutan, dengan mensintesis teori, konsep, konteks, nilai Islami, serta kebutuhan pengguna secara mandiri dan terukur.'), +(23, 3, 'CPL-03', 'Lulusan mampu menganalisis dan mengevaluasi sistem struktur beton, baja, dan konstruksi bangunan lainnya, serta menghasilkan solusi struktur dan ruang melalui penerapan mekanika bangunan, gaya–beban, serta pendekatan parametrik dalam desain.'), +(24, 3, 'CPL-04', 'Lulusan mampu mengkaji dan mengevaluasi sejarah arsitektur dunia, arsitektur Islam, dan perkembangan arsitektur kontemporer, serta mengintegrasikan wawasan tersebut sebagai dasar pengambilan keputusan dalam proses desain'), +(25, 3, 'CPL-05', 'Lulusan mampu menghasilkan komunikasi visual arsitektur dalam bentuk gambar 2D, 3D, simulasi, dan presentasi profesional, serta mendemonstrasikan kemampuan menyampaikan ide desain secara efektif kepada berbagai pemangku kepentingan.'), +(26, 3, 'CPL-06', 'Lulusan mampu merancang dan mengevaluasi struktur, konstruksi, material, dan detail bangunan berdasarkan kaidah teknis, aspek estetika, keamanan, topografi, bangunan bertingkat, serta teknologi yang relevan.'), +(27, 3, 'CPL-07', 'Lulusan mampu merancang dan mengevaluasi sistem utilitas dan kenyamanan bangunan (termal, penghawaan, pencahayaan, akustik) dengan mempertimbangkan iklim tropis, kondisi lokal, serta prinsip arsitektur hijau.'), +(28, 3, 'CPL-08', 'Lulusan mampu menghasilkan gambar kerja, laporan teknis-ilmiah, serta model digital berbasis BIM secara profesional, serta mampu mendiseminasikan hasil perancangan melalui publikasi akademik dan media digital.'), +(34, 5, 'CPL-01', 'Capaian Pembelajaran Lulusan 01 Informatika'), +(35, 5, 'CPL-02', 'Capaian Pembelajaran Lulusan 02 Informatika'), +(36, 5, 'CPL-03', 'Capaian Pembelajaran Lulusan 03 Informatika'), +(37, 5, 'CPL-04', 'Capaian Pembelajaran Lulusan 04 Informatika'), +(38, 5, 'CPL-05', 'Capaian Pembelajaran Lulusan 05 Informatika'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `cpl_mk` +-- + +CREATE TABLE `cpl_mk` ( + `id_cpl_mk` bigint(20) UNSIGNED NOT NULL, + `id_cpl` bigint(20) UNSIGNED NOT NULL, + `id_mk` char(36) NOT NULL, + `bobot_fraction` double NOT NULL DEFAULT 0, + `sumber` varchar(20) DEFAULT 'manual' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Dumping data for table `cpl_mk` +-- + +INSERT INTO `cpl_mk` (`id_cpl_mk`, `id_cpl`, `id_mk`, `bobot_fraction`, `sumber`) VALUES +(256, 36, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0.076923076, 'sql_fix_final'), +(257, 37, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0.071428571, 'sql_fix_final'), +(258, 35, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0.142857142, 'sql_fix_final'), +(259, 37, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0.071428571, 'sql_fix_final'), +(260, 34, 'd30e84e5-145d-41a0-90a2-337309aa1019', 0.066666666, 'sql_fix_final'), +(261, 38, 'd30e84e5-145d-41a0-90a2-337309aa1019', 0.083333333, 'sql_fix_final'), +(262, 34, 'b996bbc4-077b-4b3e-be50-266060bad564', 0.066666666, 'sql_fix_final'), +(263, 35, 'b996bbc4-077b-4b3e-be50-266060bad564', 0.142857142, 'sql_fix_final'), +(264, 38, 'b996bbc4-077b-4b3e-be50-266060bad564', 0.083333333, 'sql_fix_final'), +(265, 38, '9cee2598-e3e8-4ab0-843b-88c513d01821', 0.083333333, 'sql_fix_final'), +(266, 36, '9607961c-1c2e-4463-b3d8-b7028c83f58e', 0.076923076, 'sql_fix_final'), +(267, 37, '9607961c-1c2e-4463-b3d8-b7028c83f58e', 0.071428571, 'sql_fix_final'), +(268, 36, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0.076923076, 'sql_fix_final'), +(269, 37, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0.071428571, 'sql_fix_final'), +(270, 36, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0.076923076, 'sql_fix_final'), +(271, 37, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0.071428571, 'sql_fix_final'), +(272, 34, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0.066666666, 'sql_fix_final'), +(273, 36, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0.076923076, 'sql_fix_final'), +(274, 34, 'a83fd291-7f8d-423f-ab21-e709c7b876c1', 0.066666666, 'sql_fix_final'), +(275, 38, 'a83fd291-7f8d-423f-ab21-e709c7b876c1', 0.083333333, 'sql_fix_final'), +(276, 34, '2a1e22f4-5528-4ed1-90d5-cff876c85326', 0.066666666, 'sql_fix_final'), +(277, 38, '2a1e22f4-5528-4ed1-90d5-cff876c85326', 0.083333333, 'sql_fix_final'), +(278, 34, '9cee2598-e3e8-4ab0-843b-88c513d01821', 0.066666666, 'sql_fix_final'), +(279, 36, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0.076923076, 'sql_fix_final'), +(280, 37, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0.071428571, 'sql_fix_final'), +(281, 34, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0.066666666, 'sql_fix_final'), +(282, 37, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0.071428571, 'sql_fix_final'), +(283, 38, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0.083333333, 'sql_fix_final'), +(284, 36, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0.076923076, 'sql_fix_final'), +(285, 37, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0.071428571, 'sql_fix_final'), +(286, 34, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0.066666666, 'sql_fix_final'), +(287, 38, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0.083333333, 'sql_fix_final'), +(288, 37, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0.071428571, 'sql_fix_final'), +(289, 37, '31eb6978-c476-454d-9b25-270f6e49c0ba', 0.071428571, 'sql_fix_final'), +(290, 34, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0.066666666, 'sql_fix_final'), +(291, 38, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0.083333333, 'sql_fix_final'), +(292, 35, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0.142857142, 'sql_fix_final'), +(293, 34, '232eebe0-9a79-4c38-abc2-30b4af9f865b', 0.066666666, 'sql_fix_final'), +(294, 35, '232eebe0-9a79-4c38-abc2-30b4af9f865b', 0.142857142, 'sql_fix_final'), +(295, 38, '232eebe0-9a79-4c38-abc2-30b4af9f865b', 0.083333333, 'sql_fix_final'), +(296, 36, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0.076923076, 'sql_fix_final'), +(297, 37, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0.071428571, 'sql_fix_final'), +(298, 38, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0.083333333, 'sql_fix_final'), +(299, 36, '31eb6978-c476-454d-9b25-270f6e49c0ba', 0.076923076, 'sql_fix_final'), +(300, 34, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0.066666666, 'sql_fix_final'), +(301, 34, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0.066666666, 'sql_fix_final'), +(302, 36, 'b996bbc4-077b-4b3e-be50-266060bad564', 0.076923076, 'sql_fix_final'), +(303, 37, 'b996bbc4-077b-4b3e-be50-266060bad564', 0.071428571, 'sql_fix_final'), +(304, 35, '2a1e22f4-5528-4ed1-90d5-cff876c85326', 0.142857142, 'sql_fix_final'), +(305, 36, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0.076923076, 'sql_fix_final'), +(306, 37, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0.071428571, 'sql_fix_final'), +(307, 35, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0.142857142, 'sql_fix_final'), +(308, 38, '9607961c-1c2e-4463-b3d8-b7028c83f58e', 0.083333333, 'sql_fix_final'), +(309, 34, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0.066666666, 'sql_fix_final'), +(310, 34, 'f309e2a0-9770-49d7-a055-8d8747fc4852', 0.066666666, 'sql_fix_final'), +(311, 38, 'f309e2a0-9770-49d7-a055-8d8747fc4852', 0.083333333, 'sql_fix_final'), +(312, 36, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0.076923076, 'sql_fix_final'), +(313, 35, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0.142857142, 'sql_fix_final'), +(314, 34, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0.066666666, 'sql_fix_final'), +(315, 36, 'd30e84e5-145d-41a0-90a2-337309aa1019', 0.076923076, 'sql_fix_final'), +(316, 37, 'd30e84e5-145d-41a0-90a2-337309aa1019', 0.071428571, 'sql_fix_final'), +(320, 21, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0.076923076, 'sync'), +(321, 23, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0.083333333, 'sync'), +(322, 24, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0.0625, 'sync'), +(323, 24, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0.0625, 'sync'), +(324, 21, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0.076923076, 'sync'), +(325, 23, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0.083333333, 'sync'), +(326, 21, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0.076923076, 'sync'), +(327, 24, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0.0625, 'sync'), +(328, 25, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0.125, 'sync'), +(329, 21, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0.076923076, 'sync'), +(330, 22, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0.125, 'sync'), +(331, 25, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0.125, 'sync'), +(332, 24, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0.0625, 'sync'), +(333, 23, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0.083333333, 'sync'), +(334, 25, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0.125, 'sync'), +(335, 23, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0.083333333, 'sync'), +(336, 21, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0.076923076, 'sync'), +(337, 24, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0.0625, 'sync'), +(338, 21, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0.076923076, 'sync'), +(339, 22, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0.125, 'sync'), +(340, 23, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0.083333333, 'sync'), +(341, 24, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0.0625, 'sync'), +(342, 21, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0.076923076, 'sync'), +(343, 22, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0.125, 'sync'), +(344, 25, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0.125, 'sync'), +(345, 23, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0.083333333, 'sync'), +(346, 24, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0.0625, 'sync'), +(347, 24, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0.0625, 'sync'), +(348, 21, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0.076923076, 'sync'), +(349, 23, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0.083333333, 'sync'), +(350, 28, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0.2, 'sync'), +(351, 23, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0.083333333, 'sync'), +(352, 24, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0.0625, 'sync'), +(353, 28, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0.2, 'sync'), +(354, 26, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0.142857142, 'sync'), +(355, 26, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0.142857142, 'sync'), +(356, 24, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0.0625, 'sync'), +(357, 22, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0.125, 'sync'), +(358, 23, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0.083333333, 'sync'), +(359, 24, '31eb6978-c476-454d-9b25-270f6e49c0ba', 0.0625, 'sync'), +(360, 23, '31eb6978-c476-454d-9b25-270f6e49c0ba', 0.083333333, 'sync'), +(361, 26, '31eb6978-c476-454d-9b25-270f6e49c0ba', 0.142857142, 'sync'), +(362, 24, '39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 0.0625, 'sync'), +(363, 22, '39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 0.125, 'sync'), +(364, 28, '39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 0.2, 'sync'), +(365, 21, '39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 0.076923076, 'sync'), +(366, 26, '39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 0.142857142, 'sync'), +(367, 23, '1a55adb5-cfea-4e52-be90-891d6be6aff0', 0.083333333, 'sync'), +(368, 26, '1a55adb5-cfea-4e52-be90-891d6be6aff0', 0.142857142, 'sync'), +(369, 21, '6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 0.076923076, 'sync'), +(370, 22, '6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 0.125, 'sync'), +(371, 24, '6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 0.0625, 'sync'), +(372, 26, '6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 0.142857142, 'sync'), +(373, 25, '6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 0.125, 'sync'), +(374, 28, '6511033c-07c2-4509-bc3e-95adee542c3d', 0.2, 'sync'), +(375, 24, '6511033c-07c2-4509-bc3e-95adee542c3d', 0.0625, 'sync'), +(376, 21, '6511033c-07c2-4509-bc3e-95adee542c3d', 0.076923076, 'sync'), +(377, 25, '6511033c-07c2-4509-bc3e-95adee542c3d', 0.125, 'sync'), +(378, 21, 'ac2ca539-9694-48b3-93f8-0db6de719278', 0.076923076, 'sync'), +(379, 22, 'ac2ca539-9694-48b3-93f8-0db6de719278', 0.125, 'sync'), +(380, 24, 'ac2ca539-9694-48b3-93f8-0db6de719278', 0.0625, 'sync'), +(381, 26, 'ac2ca539-9694-48b3-93f8-0db6de719278', 0.142857142, 'sync'), +(382, 25, 'ac2ca539-9694-48b3-93f8-0db6de719278', 0.125, 'sync'), +(383, 21, '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 0.076923076, 'sync'), +(384, 28, '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 0.2, 'sync'), +(385, 23, '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 0.083333333, 'sync'), +(386, 22, '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 0.125, 'sync'), +(387, 24, '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 0.0625, 'sync'), +(388, 25, '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 0.125, 'sync'), +(389, 5, '9cee2598-e3e8-4ab0-843b-88c513d01821', 0, 'sync'), +(390, 1, '9cee2598-e3e8-4ab0-843b-88c513d01821', 0, 'sync'), +(391, 1, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0, 'sync'), +(392, 3, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0, 'sync'), +(393, 4, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0, 'sync'), +(394, 4, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0, 'sync'), +(395, 1, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0, 'sync'), +(396, 3, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0, 'sync'), +(397, 1, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0, 'sync'), +(398, 4, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0, 'sync'), +(399, 5, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0, 'sync'), +(400, 1, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0, 'sync'), +(401, 2, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0, 'sync'), +(402, 5, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0, 'sync'), +(403, 4, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0, 'sync'), +(404, 3, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0, 'sync'), +(405, 5, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0, 'sync'), +(406, 3, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0, 'sync'), +(407, 1, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0, 'sync'), +(408, 4, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0, 'sync'), +(409, 1, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0, 'sync'), +(410, 2, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0, 'sync'), +(411, 3, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0, 'sync'), +(412, 4, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0, 'sync'), +(413, 1, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0, 'sync'), +(414, 2, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0, 'sync'), +(415, 5, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0, 'sync'), +(416, 3, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0, 'sync'), +(417, 4, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0, 'sync'), +(418, 4, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0, 'sync'), +(419, 1, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0, 'sync'), +(420, 3, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0, 'sync'), +(421, 8, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0, 'sync'), +(422, 3, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0, 'sync'), +(423, 4, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0, 'sync'), +(424, 8, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0, 'sync'), +(425, 6, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0, 'sync'), +(426, 6, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0, 'sync'), +(427, 4, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0, 'sync'), +(428, 2, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0, 'sync'), +(429, 3, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0, 'sync'), +(430, 4, '31eb6978-c476-454d-9b25-270f6e49c0ba', 0, 'sync'), +(431, 3, '31eb6978-c476-454d-9b25-270f6e49c0ba', 0, 'sync'), +(432, 6, '31eb6978-c476-454d-9b25-270f6e49c0ba', 0, 'sync'), +(433, 1, 'e41854a3-6b44-4e52-b87f-f0d3e14c53ca', 0, 'sync'), +(434, 3, 'e41854a3-6b44-4e52-b87f-f0d3e14c53ca', 0, 'sync'), +(435, 4, 'e41854a3-6b44-4e52-b87f-f0d3e14c53ca', 0, 'sync'), +(436, 1, '2fa43052-36fd-4b90-9d94-20fff24bb411', 0, 'sync'), +(437, 4, '2fa43052-36fd-4b90-9d94-20fff24bb411', 0, 'sync'), +(438, 5, '2fa43052-36fd-4b90-9d94-20fff24bb411', 0, 'sync'), +(439, 2, '2fa43052-36fd-4b90-9d94-20fff24bb411', 0, 'sync'), +(440, 1, '170d427a-0030-47ed-9d6d-e653e8f19be4', 0, 'sync'), +(441, 4, '170d427a-0030-47ed-9d6d-e653e8f19be4', 0, 'sync'), +(442, 5, '170d427a-0030-47ed-9d6d-e653e8f19be4', 0, 'sync'), +(443, 2, '170d427a-0030-47ed-9d6d-e653e8f19be4', 0, 'sync'), +(444, 1, '2c23ca53-f3be-414c-976e-b30089d22f50', 0, 'sync'), +(445, 3, '2c23ca53-f3be-414c-976e-b30089d22f50', 0, 'sync'), +(446, 2, '2c23ca53-f3be-414c-976e-b30089d22f50', 0, 'sync'), +(447, 9, '2c23ca53-f3be-414c-976e-b30089d22f50', 0, 'sync'), +(448, 1, '4b816454-ee6c-4935-aba8-7212ec152ee3', 0, 'sync'), +(449, 4, '4b816454-ee6c-4935-aba8-7212ec152ee3', 0, 'sync'), +(450, 6, '4b816454-ee6c-4935-aba8-7212ec152ee3', 0, 'sync'), +(451, 10, '8a1393c5-895f-4aca-ac56-495e43f660bb', 0, 'sync'), +(452, 9, '8a1393c5-895f-4aca-ac56-495e43f660bb', 0, 'sync'), +(453, 1, '930edaef-cab6-4382-b12d-4358e81fc316', 0, 'sync'), +(454, 4, '930edaef-cab6-4382-b12d-4358e81fc316', 0, 'sync'), +(455, 2, '930edaef-cab6-4382-b12d-4358e81fc316', 0, 'sync'), +(456, 5, '930edaef-cab6-4382-b12d-4358e81fc316', 0, 'sync'), +(457, 8, '930edaef-cab6-4382-b12d-4358e81fc316', 0, 'sync'), +(458, 3, '930edaef-cab6-4382-b12d-4358e81fc316', 0, 'sync'), +(459, 4, 'be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 0, 'sync'), +(460, 2, 'be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 0, 'sync'), +(461, 1, 'be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 0, 'sync'), +(462, 3, 'be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 0, 'sync'), +(463, 5, 'be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 0, 'sync'), +(464, 6, 'be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 0, 'sync'), +(465, 11, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0, 'sync'), +(466, 13, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0, 'sync'), +(467, 14, '30a91224-8d90-42ed-95c8-3860f33a85c9', 0, 'sync'), +(468, 14, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0, 'sync'), +(469, 11, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0, 'sync'), +(470, 13, '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 0, 'sync'), +(471, 11, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0, 'sync'), +(472, 14, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0, 'sync'), +(473, 15, '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 0, 'sync'), +(474, 11, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0, 'sync'), +(475, 12, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0, 'sync'), +(476, 15, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0, 'sync'), +(477, 14, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0, 'sync'), +(478, 13, 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 0, 'sync'), +(479, 15, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0, 'sync'), +(480, 13, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0, 'sync'), +(481, 11, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0, 'sync'), +(482, 14, '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 0, 'sync'), +(483, 11, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0, 'sync'), +(484, 12, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0, 'sync'), +(485, 13, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0, 'sync'), +(486, 14, '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 0, 'sync'), +(487, 11, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0, 'sync'), +(488, 12, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0, 'sync'), +(489, 15, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0, 'sync'), +(490, 13, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0, 'sync'), +(491, 14, 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 0, 'sync'), +(492, 14, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0, 'sync'), +(493, 11, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0, 'sync'), +(494, 13, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0, 'sync'), +(495, 18, 'd77faeee-6cfb-432f-91fb-36a9023649d2', 0, 'sync'), +(496, 13, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0, 'sync'), +(497, 14, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0, 'sync'), +(498, 18, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0, 'sync'), +(499, 16, '54867a16-2212-4987-99f2-90a7e0f77ce1', 0, 'sync'), +(500, 16, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0, 'sync'), +(501, 14, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0, 'sync'), +(502, 12, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0, 'sync'), +(503, 13, '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 0, 'sync'), +(504, 14, '31eb6978-c476-454d-9b25-270f6e49c0ba', 0, 'sync'), +(505, 13, '31eb6978-c476-454d-9b25-270f6e49c0ba', 0, 'sync'), +(506, 16, '31eb6978-c476-454d-9b25-270f6e49c0ba', 0, 'sync'), +(507, 20, '8a1393c5-895f-4aca-ac56-495e43f660bb', 0, 'sync'), +(508, 19, '8a1393c5-895f-4aca-ac56-495e43f660bb', 0, 'sync'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `cpmk` +-- + +CREATE TABLE `cpmk` ( + `id` char(36) NOT NULL, + `id_mk` char(36) NOT NULL, + `kode_cpmk` varchar(50) NOT NULL, + `deskripsi` text NOT NULL, + `bobot` decimal(10,2) DEFAULT 0.00, + `created_at` timestamp NULL DEFAULT current_timestamp(), + `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `matched_cpl` text DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Dumping data for table `cpmk` +-- + +INSERT INTO `cpmk` (`id`, `id_mk`, `kode_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`, `matched_cpl`) VALUES +('00446d37-6411-4ee4-a64a-5c6d2b72e768', 'e9c0f3fa-a9ba-432a-9a56-1adb88b462ae', 'CPMK-5', 'Mampu menyusun rancangan proposal penelitian dengan format ilmiah yang baku.', 20.00, '2026-01-16 22:56:52', '2026-01-17 00:58:11', ''), +('0056032d-190c-4099-940e-8e611d6c16f2', '2aaaf8e5-a8c5-4a4f-8a1b-1f977c1dfa75', 'CPMK-4', 'Mampu melakukan simulasi sistem komunikasi dasar menggunakan perangkat lunak (MATLAB/ GNU Radio/ sejenisnya) untuk memodelkan karakteristik sinyal dan sistem.', 20.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18', ''), +('00563f17-5e22-449d-8fe5-7c030ebd70a5', '66cc25e3-402c-49de-9ba4-6fd803e0795a', 'CPMK-2', 'Mahasiswa mampu menganalisis sistem struktur baja berdasarkan beban dan fungsi bangunan.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('006ec39e-45f8-4d8e-92f4-05c815347cfe', 'cbaa232e-a1df-426b-bdea-af5c42b8da05', 'CPMK-4', 'Mampu mengimplementasikan desain dalam bentuk prototipe/perangkat keras atau perangkat lunak, melakukan simulasi atau eksperimen, serta mengevaluasi performa sistem dengan metode pengujian dan alat bantu rekayasa modern.', 16.66, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''), +('0076df83-3825-442f-a333-101ddba85852', 'ac2ca539-9694-48b3-93f8-0db6de719278', 'CPMK-4', 'Mampu berkolaborasi dalam tim multidisiplin untuk mengembangkan solusi perancangan yang komprehensif.', 0.20, '2026-01-16 22:56:58', '2026-01-17 00:52:38', 'CPL-01, CPL-02'), +('007ab743-1d0a-4701-ad65-903ea88c798d', '8e79442e-a7af-4718-984d-1b0995f8820b', 'CPMK-3', 'Mahasiswa mampu memilih material dan sistem konstruksi yang tepat dengan mempertimbangkan aspek teknis, estetika, keberlanjutan, dan nilai Islami.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('00905cc5-e8d2-4b83-a695-b451382b957b', '6f7a91bc-8054-45d6-ac08-84f31ec6b0d8', 'CPMK-2', 'Mampu menjelaskan konsep dasar sistem komunikasi cerdas dan peran AI/Machine Learning dalam teknologi komunikasi modern.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('00c49185-5232-4b17-beaf-4b22122f7bf5', 'e001a246-3d23-4e88-b982-3abbf29caf15', 'CPMK-1', 'Mahasiswa mampu mengidentifikasi potensi dan kendala tapak untuk bangunan fungsi tunggal skala menengah (2ΓÇô3 lantai).', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('00d21b58-9cba-4a56-916c-d91b3aaa649c', '80b4b948-ddb7-40e4-89d1-ba78be1e1feb', 'CPMK-1', 'Mahasiswa mampu menjelaskan prinsip dasar struktur bangunan, elemen penyusunnya, dan hubungan antara bentuk, material, serta sistem struktur terhadap stabilitas bangunan.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('00e1c672-f46a-4de8-8e08-12dc0d5b70cf', '7a178668-cb76-41c6-a739-4a69f2959af0', 'CPMK-2', 'Mahasiswa mampu menguraikan prinsip, norma, dan kode etik profesi arsitektur, termasuk standar yang berlaku di Indonesia dan internasional.', 0.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('01127589-4381-44e4-bbda-d5cfad44cdf7', '9ad1d2e1-8ed4-4204-bb39-d149a56997cb', 'CPMK-2', 'Mahasiswa mampu menghitung beban, gaya, dan deformasi pada struktur tinggi.', 0.20, '2026-01-16 22:56:50', '2026-01-17 00:52:38', ''), +('01478f91-8c22-4a30-8e9e-e158f53d86b1', '8762c433-6fdd-462b-8494-1d264eb3dd15', 'CPMK-4', 'Mahasiswa mampu menerapkan prinsip mekanika teknik untuk memecahkan kasus sederhana dalam perancangan struktur bangunan arsitektur.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('01ddd612-7233-4e1e-9b3c-f783b2dc5ea4', '7efb0e90-2bee-4647-8438-88bd0aebaa96', 'CPMK-3', 'Mampu menganalisis spesifikasi teknis dan karakteristik rangkaian analog/digital untuk menentukan solusi desain yang tepat.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('01f27b3d-03ba-433e-b35f-9c61be953e1f', '33fc18df-fd5b-45c5-9893-71f90e37ba61', 'CPMK-3', 'Mahasiswa mampu mengetahui┬á dan memahami cara kerja manajemen proyek perangkat lunak', 0.09, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('02040b1c-aaec-48ca-b172-4cf1eb6950a2', '11987187-2fc3-48d5-9f09-12e6310d35e5', 'CPMK-2', 'Mampu menjelaskan konsep dasar matriks, vektor, sistem persamaan linear, dan determinan.', 21.43, '2026-01-17 00:58:13', '2026-01-17 00:58:13', ''), +('022ab92a-ea4e-4d57-a1e5-728611754fca', 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 'CPMK-1', 'Memahami prinsip dasar matematika teknik yang relevan dengan arsitektur.', 0.20, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('023afe75-fe00-4e6e-b439-bd9604a716ad', 'fef3d744-dfa4-4059-aa84-578d1a6d432f', 'CPMK-2', 'Mahasiswa mampu mengidentifikasi elemen dan tipologi arsitektur Islam di dunia dan di Nusantara.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('026c709a-2e75-433b-86cd-7cb66a81726a', '881a35ab-2427-447e-bb8a-e26a566f677a', 'CPMK-4', 'Mahasiswa mampu mengintegrasikan perancangan ruang luar dengan bangunan dan lingkungan sekitarnya secara harmonis.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('02b4ba65-1c28-4718-836e-4fb643e28567', '5aec8529-0bc9-43dc-8b16-9d6350ca3958', 'CPMK-4', 'Mampu melakukan pengujian dan pengukuran tegangan tinggi dengan prosedur laboratorium yang sesuai standar keselamatan.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('02b711fe-099d-48f5-967e-8592308bf338', '73525a7c-f212-4b45-a48c-f6283a195746', 'CPMK-3', 'Mahasiswa mampu mengembangkan konsep desain kawasan perkotaan yang humanis, berkelanjutan, kontekstual, dan berlandaskan nilai Islami.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('02d51508-b5c0-49d6-b60a-d02802e615ee', '6f7a91bc-8054-45d6-ac08-84f31ec6b0d8', 'CPMK-1', 'Mata kuliah ini membahas penerapan kecerdasan buatan (AI), machine learning (ML), dan algoritma adaptif dalam sistem komunikasi modern.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('02f3538a-c975-4482-a655-45d99aee103f', 'e41854a3-6b44-4e52-b87f-f0d3e14c53ca', 'CPMK-4', 'Mampu menerapkan prinsip dasar ilmu bahan untuk mengevaluasi perilaku material terhadap beban, suhu, dan lingkungan pada kasus teknik sederhana.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', 'CPL-01,CPL-03,CPL-04'), +('03106913-ec92-4e12-8dff-f573c28cdcae', 'cdcb2c97-4668-4236-a44f-cd926a9f934b', 'CPMK-5', 'Mampu mengintegrasikan berbagai divais semikonduktor ke dalam sistem elektronika sederhana dan aplikasi daya.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('03278f4a-6f27-49bb-afd2-d0226bc9532a', '951e2391-bed9-4aa2-b1a2-d7772d358da7', 'CPMK-4', 'Menghitung debit aliran pada saluran terbuka dan pipa bertekanan.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('032b1d1c-baa0-48e4-b563-feb9a157f3c4', '8a1393c5-895f-4aca-ac56-495e43f660bb', 'CPMK-3', 'Menilai relevansi ajaran Al Islam dan Kemuhammadiyahan terhadap isu-isu sosial kontemporer.', 21.43, '2026-01-16 22:56:55', '2026-01-17 00:58:38', 'CPL-10, CPL-09'), +('034305b9-6328-44ce-96b6-b70a1220ab25', '6ab811fd-20e3-44d8-9d2b-3fcd52515717', 'CPMK-3', 'Membangun pipeline CI/CD sederhana untuk otomatisasi build dan test', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('0398ffb4-770b-4def-b600-8971c04b83b3', '1afb1d0b-210e-4468-80fa-a91f11e7e0a2', 'CPMK-3', 'Mengimplementasikan komunikasi antar layanan menggunakan REST API, gRPC, dan message queue', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('03b8bb87-d4f6-4428-a7f3-a3015a2fb78e', '05c4ac5d-16dd-4458-bfba-1433b9779853', 'CPMK-5', 'Mampu melakukan pengukuran parameter saluran transmisi menggunakan alat (VNA/ADS/CST) serta membandingkan hasil eksperimen dengan analisis teoritis dan simulasi.', 20.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('03cd8417-7d3e-4535-b4eb-e7e985235a8a', 'ea3e9e48-2f65-4f9c-945d-39875184582f', 'CPMK-3', 'Mengimplementasikan algoritma dalam kode Java', 0.25, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('03e70597-6534-43e5-94a2-58ae691fef86', '9c8516d1-31fd-4a36-ac3a-49787ada8218', 'CPMK-2', 'Mampu melaksanakan tugas-tugas yang diberikan instansi mitra sesuai etika kerja dan kompetensi perencanaan.', 21.43, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('03eaa8f2-8079-4964-b19d-32cea637de3e', '03f5fe59-806c-4f28-842f-643d9654c781', 'CPMK-1', 'Menjelaskan konsep dasar ethical hacking, penetration testing, dan peranannya dalam keamanan siber.', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('0436e0ad-efe3-41d8-b90a-1a4b33d1ef00', '11987187-2fc3-48d5-9f09-12e6310d35e5', 'CPMK-4', 'Mampu menerapkan konsep ruang vektor dan transformasi linear pada pemecahan masalah sistem linier dasar.', 21.43, '2026-01-17 00:58:13', '2026-01-17 00:58:13', ''), +('0473a0f6-1253-45d6-aa2d-6cd98240a7ff', '93d0cec7-0e52-4182-9710-75887b21ecbd', 'CPMK-3', 'Mampu menyusun argumen tertulis dan lisan terkait peran Muslim intelektual dalam pembangunan berkelanjutan.', 0.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('0525a029-eb3e-4e5a-88c6-ab1d5680dc5f', '2d0b3a7e-868a-4a2e-a703-bfef24d96141', 'CPMK-6', 'Mengimplementasikan model DEVSECOPS dalam proyek nyata.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('05558f48-aba5-4e96-a12f-daf72a2dfb8a', '54867a16-2212-4987-99f2-90a7e0f77ce1', 'CPMK-5', 'Mampu mempresentasikan hasil penelitian dengan jelas dan efektif di depan audiens.', 14.29, '2026-01-16 22:56:54', '2026-01-17 00:58:11', 'CPL-08'), +('05c1e3c5-14de-46cb-b7aa-3bff99256a75', '615bed82-5916-4594-b5c4-7c4353b02636', 'CPMK-3', 'Mampu menganalisis rangkaian DC/AC sederhana menggunakan berbagai metode analisis.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('05d9b352-438a-47c7-a818-baacaf851d42', 'f0d05b36-12dd-45d7-869f-f975f4b0ebb1', 'CPMK-4', 'Mampu mengimplementasikan metode AI (fuzzy, ANN, optimasi, ML) pada model/simulasi sistem tenaga.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('063f4a98-2d2e-4e6f-bb62-99ff9085402e', '881a35ab-2427-447e-bb8a-e26a566f677a', 'CPMK-2', 'Mahasiswa mampu menganalisis potensi dan kendala tapak berdasarkan kondisi fisik, iklim, sirkulasi, vegetasi, dan tata guna lahan.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('06888844-ab3e-42ce-ad0b-1a9861e60bff', '5a843477-00fd-4aae-99dc-915c49ad022c', 'CPMK-3', 'Mampu menganalisis kebutuhan daya, pemilihan peralatan, dan sistem proteksi pada instalasi listrik rumah tangga maupun industri.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('06a26f2f-9fc0-41c0-98ad-a52058a115a2', 'f38f3d61-837e-43f2-a0cf-980aa2e286ae', 'CPMK-3', 'Mampu menganalisis barisan dan deret, menentukan konvergensi/ divergensi, serta menerapkan konsep deret dasar dalam pemodelan matematis sederhana.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', ''), +('0725da33-b075-482f-abe7-7adc352c2072', '9c479004-5b99-4b5a-8abd-d32551d4c43a', 'CPMK-1', 'Menjelaskan konsep gaya, momen, dan hukum kesetimbangan.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('072f0fd4-91af-45e4-954f-f0a6a71f4e7e', 'b5e186b0-b06e-4fb7-b53d-3fccfa849544', 'CPMK-1', 'Mampu menerapkan prinsip ilmu komputer, statistika, dan matematika untuk membangun solusi berbasis data', 0.25, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('0761e6ba-7f7f-43e7-8f82-ba20ca5c62ba', '0671a043-7c73-4101-b030-baa3d4609c3e', 'CPMK-5', 'Menyusun laporan investigasi digital dengan menjaga rantai bukti (chain of custody).', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('077507ec-a961-4fa5-bfa3-2c6c626a7b78', '4023e86d-3cf6-4ab9-b013-2b8bc8375c29', 'CPMK-1', 'Mata kuliah ini membahas prinsip dan aplikasi elektronika daya serta sistem robotika dalam dunia industri. Mahasiswa mempelajari komponen elektronika daya (dioda, transistor, IGBT, SCR), rangkaian konverter (rectifier, chopper, inverter), serta sistem pengendalian motor listrik berbasis elektronika daya. Selain itu, dibahas pula integrasi sensor, aktuator, dan mikrokontroler dalam sistem robotika untuk menciptakan sistem otomatis yang efisien dan cerdas. Mahasiswa diharapkan mampu merancang dan mengimplementasikan sistem elektronika industri dan robotika sederhana yang memperhatikan aspek keselamatan, efisiensi energi, dan keberlanjutan.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('07c66d9f-a26e-4136-a15e-1e4976886a8c', '53a5f150-9b86-43a7-ac28-6d0c300c5fab', 'CPMK-3', 'Mahasiswa mampu menjelaskan pengertian Metode Pembuktian, Induksi Matematika , Definisi Rekursi dan Algoritma Rekursi', 0.14, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('08522c5f-e17f-4702-b736-e4f6ffccdff8', '5c71aa6a-f3d9-4ecc-b7c9-f9739fd5d117', 'CPMK-4', 'Merancang konsep dasar bangunan dengan prinsip arsitektur hijau sesuai standar teknis dan nilai Islami.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('0852a634-ab24-43ad-b0e0-a61c04ff7437', 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 'CPMK-5', 'Mampu menyusun dan mempresentasikan laporan skripsi secara jelas dan sistematis, serta mempertahankan hasil penelitian di depan publik.', 14.29, '2026-01-16 22:56:40', '2026-01-17 00:58:10', 'CPL-03, CPL-04'), +('093769d9-bf6f-4365-bbf7-f81f1cf2be09', 'd77faeee-6cfb-432f-91fb-36a9023649d2', 'CPMK-5', 'Mengkomunikasikan hasil analisis dan implementasi AI secara efektif kepada pemangku kepentingan.', 14.29, '2026-01-16 22:56:52', '2026-01-17 00:58:10', 'CPL-08'), +('09887031-db21-4534-ae50-7874535c733d', 'de1bf435-d79b-4db7-bd52-316a03e2691e', 'CPMK-1', 'Mahasiswa mampu memahami sifat, karakteristik, dan klasifikasi bahan bangunan.', 0.20, '2026-01-16 22:56:43', '2026-01-17 00:52:38', ''), +('09b5dc6a-68db-4450-9c08-ad135e178bcc', '4f30b5fb-81d8-4ce3-a462-3e51386280ae', 'CPMK-3', 'Mahasiswa mampu menjelaskan perkembangan system operasi windows dan system operasi linux', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('09ced95d-b810-44d1-9945-9daef0e4aecf', '4b8ab6c1-3ce3-46c8-ab58-6c2ee7b80d6c', 'CPMK-4', 'Mahasiswa mampu menjelaskan penjelasan tentang definisi Latice dan pengimplementasian Aljabar', 0.25, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('0a1b8bd5-67b7-4acd-bf38-003343903213', 'cdcb2c97-4668-4236-a44f-cd926a9f934b', 'CPMK-4', 'Mampu mendesain dan menguji rangkaian berbasis komponen semikonduktor.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('0a797183-fe5e-4e6f-8b88-87de8adae2cb', '615bed82-5916-4594-b5c4-7c4353b02636', 'CPMK-2', 'Mampu menjelaskan hukum dasar kelistrikan (Hukum Ohm, Hukum Kirchhoff, daya listrik).', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('0b02ed7a-78db-4217-8d43-5402a04cd107', '5dcb8762-b27a-419b-bdcd-a5c18a953fa9', 'CPMK-4', 'Mampu mengimplementasikan algoritma ke dalam bahasa pemrograman tingkat pemula dengan benar, menggunakan struktur dasar pemrograman.', 20.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14', ''), +('0b4cd186-2487-4680-9e6a-241a32803190', '73525a7c-f212-4b45-a48c-f6283a195746', 'CPMK-1', 'Mahasiswa mampu menjelaskan teori, prinsip, dan pendekatan perancangan arsitektur kota dengan mempertimbangkan aspek sosial, budaya, ekonomi, lingkungan, dan keberlanjutan.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('0b53463d-921b-4f9b-9bbb-75ac84f167cb', '2d60d13b-a014-432b-ac80-921ffa8a3be8', 'CPMK-3', 'Mampu menganalisis kestabilan, kendali, dan keteramatan sistem linear menggunakan metode ruang keadaan.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('0bbe4929-c5ef-4166-a7e3-f3eed8d7bfa7', '058cffc9-d74d-471f-936d-1d58853f99de', 'CPMK-2', 'Mahasiswa mampu menganalisis nilai-nilai Islam dalam kehidupan sosial, budaya, dan profesional, serta keterkaitannya dengan pembangunan masyarakat.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('0c79a9eb-71e0-4f14-b7f2-cc796c20b2a2', '93e41542-d15b-4385-93da-a3534835a907', 'CPMK-5', 'Mampu menguji dan mengevaluasi sistem optoelektronik berbasis eksperimen/simulasi serta menginterpretasikan hasilnya.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('0c834b63-79fb-4e5f-8408-5466747894da', 'e69ba894-82ab-4345-b20e-aad1709ee7bf', 'CPMK-4', 'Mahasiswa mampu menjelaskan tentang konvolusi dan transformasi fourier.', 0.11, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('0c9de959-44ae-4c0b-8265-8c17630df9af', '6511033c-07c2-4509-bc3e-95adee542c3d', 'CPMK-1', 'Mampu mengidentifikasi struktur dan komponen artikel ilmiah yang baik.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', 'CPL-08, CPL-04'), +('0cc48ed0-2de2-4d7d-aa0f-a01a0c42a395', '38429483-ed40-4442-9b3a-5f7f8cb48db8', 'CPMK-4', 'Mampu merancang dan mensimulasikan antena sederhana serta menentukan konfigurasi antena yang sesuai dengan kebutuhan sistem komunikasi tertentu.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('0ce952ac-c277-44f2-ae34-4b7796c710a2', 'b0d2039a-bcfb-486a-bf9c-fc811db72196', 'CPMK-6', 'Menunjukkan sikap profesional dalam eksperimen dan kolaborasi praktikum', 0.17, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('0d19c18d-63cf-4572-b6a2-c99217470237', '0426a4d1-85a6-48bc-96dd-4f3c974761aa', 'CPMK-2', 'Mampu menjelaskan fungsi dan peran teknologi informasi dalam berbagai bidang.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('0d1d62a6-313b-4aa6-b936-36526f99d090', 'f6f7c1a6-23c1-44b7-b523-acaff2a89c8c', 'CPMK-1', 'Menjelaskan konsep dan peran MLOps dalam siklus hidup pengembangan machine learning', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('0d4f4bab-27d7-4efc-8e73-d46616b99f7a', '8b4bbddd-0548-4afb-8cbe-cddbafe189db', 'CPMK-1', 'Menjelaskan konsep arsitektur cloud dan prinsip dasar keamanan cloud.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('0d884892-42c2-4c7b-836f-df3028764bdd', '6511033c-07c2-4509-bc3e-95adee542c3d', 'CPMK-4', 'Mampu menulis artikel ilmiah sesuai dengan kaidah penulisan yang berlaku dan etika publikasi.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', 'CPL-08, CPL-01'), +('0da5f355-047a-46f5-b5e9-04433b74db1d', '00a82311-cd30-46ff-ac59-f6280a6e6f3b', 'CPMK-2', 'Menguraikan konsep dasar informatika serta ruang lingkupnya.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', ''), +('0df33fa3-3a0a-48ac-893d-7d90b1aef3cc', 'a4f1b0a6-99cb-40e0-ad0e-e176c57e102f', 'CPMK-5', 'Mampu menilai berbagai teknologi manajemen energi yang tersedia dan memberikan rekomendasi yang sesuai untuk meningkatkan keberlanjutan sistem tenaga listrik.', 20.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('0e18054d-5367-4531-8cf2-6d2699084568', '78cc54ba-531c-4239-b542-049006cf8671', 'CPMK-4', 'Mahasiswa mampu membaca, menafsirkan, dan mengutip referensi arsitektur berbahasa Inggris.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('0e2e6095-a53e-424d-867b-d4dc76eb2808', 'f0d05b36-12dd-45d7-869f-f975f4b0ebb1', 'CPMK-5', 'Mampu mendesain solusi kecerdasan buatan untuk peningkatan kinerja smart grid atau sistem tenaga modern.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('0e4d790c-90fa-4848-87b6-60e2e87d91f0', '4583364c-1191-46ac-af67-5fd1475a6b8f', 'CPMK-6', 'Mahasiswa mampu menjelaskan penjelasan tentang Sistem persamaan Linier Homogen dan Non Homogen', 0.14, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('0e87666e-8c23-40c1-ba10-86ac9f409eda', '93371a32-8651-4772-8c8f-4a772f2bfb7c', 'CPMK-5', 'Mampu menyusun dan mengevaluasi proyek perangkat lunak telekomunikasi yang aplikatif dan inovatif.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('0ea1deaa-eb7d-4973-b267-76967255a50f', 'fc139184-d705-4176-a19e-9d7438af158e', 'CPMK-5', 'Mampu mengidentifikasi dan memecahkan permasalahan teknis pada sistem tenaga listrik berdasarkan data pengukuran dan simulasi.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('0ed5215b-f422-48a9-b592-89b68e70a4ae', '9c8516d1-31fd-4a36-ac3a-49787ada8218', 'CPMK-5', 'Mampu menyusun laporan KKP-Plus dan mempresentasikan pengalaman praktik dengan bahasa profesional.', 14.29, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('0ed63c84-22ca-472b-b6e4-6601d6841dbe', 'a4d898e9-f360-45d2-97a7-2c9b77d503f8', 'CPMK-1', 'Mata kuliah ini membahas elektronika digital dan transformator satu fasa. Mahasiswa akan mempelajari aljabar Boolean, gerbang logika, serta verifikasi tabel kebenaran menggunakan IC gerbang logika. Selain itu, praktikum ini mencakup prinsip kerja transformator, perhitungan rasio lilitan, rangkaian ekuivalen, dan analisis efisiensi transformator.', 33.33, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('0edc3520-ab5f-4a80-8296-9ebe3f9810a7', '5fd10a1a-f7e2-4520-adcb-8c64d71155b1', 'CPMK-4', 'Mahasiswa mampu menyajikan rancangan melalui gambar 2D, model 3D sederhana, dan laporan perancangan.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('0ee5c8bb-264e-4cfe-bf0e-5bdd24c5877b', '78cc54ba-531c-4239-b542-049006cf8671', 'CPMK-1', 'Mahasiswa mampu memahami dan menggunakan kosakata teknis arsitektur dalam bahasa Inggris.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('0ef72857-cbc7-4bcd-8729-63d782766c4a', '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 'CPMK-5', 'Mampu menciptakan rencana pembelajaran yang inovatif menggunakan pendekatan KKP-Plus.', 14.29, '2026-01-16 22:56:54', '2026-01-17 00:58:11', 'CPL-02, CPL-04'), +('0f02feea-8775-4acd-bd90-af87d25ee8c2', 'd30e84e5-145d-41a0-90a2-337309aa1019', 'CPMK-3', 'Mampu menganalisis kebutuhan aplikasi dan merancang struktur kelas yang sesuai.', 0.20, '2026-01-16 23:21:05', '2026-01-17 00:49:33', 'CPL-01, CPL-05'), +('0f6c9bfc-e3d4-4d0e-9818-820cb9a7c33f', '47d4a2b5-492d-47a1-acc7-90919054c72e', 'CPMK-5', 'Mampu menganalisis dan menyajikan solusi perhitungan teknik berbasis bilangan kompleks secara runtut, logis, dan sesuai notasi teknik.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13', ''), +('0f8593bd-7fe8-4c3f-9daa-9642a7b837cf', '93e41542-d15b-4385-93da-a3534835a907', 'CPMK-3', 'Mampu menganalisis karakteristik dan parameter kinerja perangkat optoelektronik seperti LED, laser diode, fotodioda, dan sistem komunikasi optik sederhana.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('100a1d78-22da-4196-9325-6bb9a477326d', 'b996bbc4-077b-4b3e-be50-266060bad564', 'CPMK-3', 'Mampu menerapkan metodologi penelitian yang tepat untuk menguji dan mengevaluasi solusi yang diusulkan dalam proyek akhir.', 0.20, '2026-01-16 23:21:14', '2026-01-17 00:49:33', 'CPL-01, CPL-02, CPL-05'), +('104391d3-3c84-4b35-8003-dc9fac549edf', '0d0a669a-7571-4abf-93e0-a36fc3a324f0', 'CPMK-1', 'Mahasiswa mampu menjelaskan prinsip-prinsip perancangan ruang dalam yang fungsional, estetis, dan sesuai kebutuhan pengguna.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('105e7d11-3bf8-4d0b-9dc3-c54057332c64', '68d1b998-7db7-4f09-8718-27b33bad8f16', 'CPMK-3', 'Menganalisis isu-isu etika dalam praktik profesi', 20.00, '2026-01-16 22:56:37', '2026-01-17 00:58:08', ''), +('10801dbd-2d9f-4c07-b9ac-56aa2ca2ceb3', '9cee2598-e3e8-4ab0-843b-88c513d01821', 'CPMK-2', 'Mahasiswa dapat mengidentifikasi dan menggunakan perintah dasar dalam Command Line Interface (CLI) Linux.', 21.43, '2026-01-16 23:20:58', '2026-01-17 00:58:08', 'CPL-05'), +('10cafd63-d008-43d9-9306-e6ccb93bc53a', '0508404c-ca6b-4f0b-b7d1-a15b8eab9d52', 'CPMK-4', 'Menerapkan RNN/LSTM untuk data sekuensial', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('10d3dadc-b19b-4611-8ead-af7297d20ed8', '9e1347ad-ea71-4d7d-a3aa-b04ab074c92b', 'CPMK-4', 'Merancang kebijakan dan pedoman internal untuk implementasi AI yang etis dan sesuai regulasi.', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('11278b41-2964-4364-96f2-3dfcc717863d', '3701b7b5-54ae-4a36-bccf-83276943464b', 'CPMK-4', 'Mengevaluasi penerapan K3 di lapangan melalui studi kasus', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('113d9e20-7556-4cb6-bb58-47aa4312738c', '7d918e6b-7ec8-4127-a1a9-833e4cefc476', 'CPMK-2', 'Merancang dan mengimplementasikan algoritma berbasis strategi yang sesuai untuk permasalahan tertentu.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('11784cf9-5756-4f4d-a8af-79eed4c51406', 'fc139184-d705-4176-a19e-9d7438af158e', 'CPMK-1', 'Mata kuliah ini membahas prinsip, komponen, dan analisis sistem pembangkitan, transmisi, serta distribusi tenaga listrik untuk menghasilkan sistem yang efisien, andal, dan berkelanjutan.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('11df5fa9-eb4c-48fd-ad1b-827f95b04180', '5fd10a1a-f7e2-4520-adcb-8c64d71155b1', 'CPMK-5', 'Mahasiswa mampu mengevaluasi rancangan dasar melalui diskusi dan umpan balik (studio critique).', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('12080fea-ba45-40e6-9bc3-7def3f1cc18c', '515014e1-6438-408e-990f-e286b2ed75c3', 'CPMK-3', 'Mahasiswa mampu mengidentifikasi peluang usaha melalui analisis lingkungan.', 20.00, '2026-01-16 22:56:37', '2026-01-17 00:58:08', ''), +('126c4840-e15b-4be8-81a1-f2e394209ebe', '5295f75b-658d-4e49-9c6f-b96e30c63a81', 'CPMK-1', 'Mata kuliah ini merupakan lanjutan dari Rangkaian Listrik I, yang membahas analisis rangkaian AC tiga fasa, rangkaian resonansi, rangkaian filter, metode analisis frekuensi, serta penerapan transformasi Laplace dalam analisis rangkaian listrik.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('12bcb1a2-2612-4f78-a5db-99b9ee319011', '47a09495-6df8-461c-ba4f-2ea176aa4405', 'CPMK-5', 'Mampu mengevaluasi kinerja sistem proteksi eksisting dan memberikan rekomendasi perbaikan berdasarkan standar keselamatan dan keandalan sistem tenaga listrik.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('141a3ec0-1647-490c-86a4-a5e35b2388e1', '9607961c-1c2e-4463-b3d8-b7028c83f58e', 'CPMK-1', 'Mampu menjelaskan konsep dasar bahasa Inggris dalam konteks ilmu komputer.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', 'CPL-03, CPL-04'), +('145166ff-2723-4cd3-a1bc-9312776ce3fe', 'cf549c6e-bc2b-44f0-80c0-3c17518e3b95', 'CPMK-5', 'Mampu mensimulasikan dan mempresentasikan hasil analisis sistem kontrol sederhana menggunakan perangkat lunak (MATLAB/Simulink).', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('148f5809-eeec-4399-9931-9889954953af', '5a843477-00fd-4aae-99dc-915c49ad022c', 'CPMK-2', 'Mampu menjelaskan prinsip dasar sistem instalasi listrik, standar keselamatan, dan ketentuan peraturan PUIL yang berlaku.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('14972828-49bb-48df-98a1-6f3222d4d181', '5295f75b-658d-4e49-9c6f-b96e30c63a81', 'CPMK-3', 'Mampu menganalisis arus, tegangan, dan daya pada rangkaian AC tiga fasa menggunakan metode matematis dan transformasi Laplace.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('149e121b-f4c5-4aec-9fda-658a99d777fc', 'a4590f2a-7e2f-45fc-ab6a-99bc2a93588f', 'CPMK-6', 'Menunjukkan sikap etis, profesional, dan tanggung jawab dalam pengelolaan data sensitif dan hasil analisis.', 0.17, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('14eb4288-fdf1-45df-bcaa-836a296ca9c4', '9db744c2-99cd-408d-a39d-7babdc37350c', 'CPMK-4', 'Mahasiswa mampu menyajikan hasil perhitungan dan observasi falak dalam bentuk laporan praktikum yang sistematis dan akurat, sesuai kaidah ilmiah.', 25.00, '2026-01-16 22:56:49', '2026-01-17 00:58:10', ''), +('150fc29e-bb6b-4f31-8963-273db0a7939d', '999f2c17-b5ff-4a99-bb4c-2cc01e7ec2b9', 'CPMK-2', 'Mahasiswa mampu menulis paragraf teknis, deskripsi desain, dan laporan pendek dalam bahasa Inggris akademik.', 25.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('154029d0-81d8-40de-848a-885d3301d720', '6cd02db2-b1f9-4aad-873b-349d154516f1', 'CPMK-4', 'Mahasiswa mampu menyajikan rancangan dalam format gambar teknis, visualisasi 3D, maket, & laporan komprehensif.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('15ab01bd-3e7e-4264-9b13-b966c09451d7', '2b4d6814-0226-4349-9e22-645bb78fcf55', 'CPMK-3', 'Mampu menganalisis kasus atau dilema etika teknik dan menentukan solusi profesional yang bertanggung jawab.', 20.00, '2026-01-16 22:56:54', '2026-01-17 00:58:29', ''), +('15db3ec8-8ae4-4cea-be07-3b4e14c5e59c', '7df87425-930d-458e-bf91-8398825b82c1', 'CPMK-4', 'Mahasiswa mampu memahami prosedur pelaksanaan pekerjaan beton dari persiapan hingga perawatan.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('1600039b-232b-4f9d-88ca-d731e23fdd7a', 'cbaa232e-a1df-426b-bdea-af5c42b8da05', 'CPMK-3', 'Mampu merancang solusi teknik elektro berbasis metodologi rekayasa yang inovatif, aman, efisien, dan mempertimbangkan aspek etika, keselamatan, lingkungan, sosial, keberlanjutan, dan kemuhammadiyahan.', 16.66, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''), +('164332c1-354c-4938-b9cb-d1870763a8e0', '930edaef-cab6-4382-b12d-4358e81fc316', 'CPMK-3', 'Mengevaluasi kinerja sistem telekomunikasi berbasis elektronik.', 21.43, '2026-01-17 00:58:39', '2026-01-17 00:58:39', 'CPL-01, CPL-04, CPL-05'), +('169adb2e-d7df-4153-92c1-0c64758ca6bd', '969911f0-3df1-4705-af93-fd6807f1dcaa', 'CPMK-1', 'Memahami konsep dasar grafika komputer dan transformasi geometrik.', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('16af6e89-c43c-4eac-baac-c61d4d1246a9', '93d0cec7-0e52-4182-9710-75887b21ecbd', 'CPMK-1', 'Mampu mengintegrasikan pemahaman Al Islam Kemuhammadiyahan dari AIK IΓÇôIV secara komprehensif.', 0.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('1760d169-6b54-4437-96a4-7b8cc93a3575', 'b995e4ed-c305-4abc-b847-216f92bc9fa5', 'CPMK-1', 'Mahasiswa mampu memahami konsep dasar lingkungan, ekosistem, dan keberlanjutan dalam konteks arsitektur.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('177fd39b-7228-4821-b119-3295567637a2', 'f72b9162-c61c-4efa-b519-adc75f94258e', 'CPMK-2', 'Menganalisis proses dasar pengolahan air bersih', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('17be14d5-8947-4aba-9969-0e6e7e3d4afd', 'e8460a71-2709-4bbc-b378-9b57ee3a4beb', 'CPMK-1', 'Menjelaskan konsep dasar digital forensics dan siklus respons insiden.', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('17d208f7-4932-473e-af5f-342185b2c259', '170d427a-0030-47ed-9d6d-e653e8f19be4', 'CPMK-1', 'Mata kuliah ini membahas prinsip dasar sistem digital dan rangkaian logika. Materi mencakup bilangan dan kode digital, gerbang logika dasar, aljabar Boolean, penyederhanaan rangkaian menggunakan metode Karnaugh Map, perancangan rangkaian kombinasi (adder, comparator, encoder/decoder, multiplexer/demultiplexer) serta rangkaian sekuensial (flip-flop, counter, register).', 20.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14', 'CPL-01,CPL-04,CPL-05'), +('182790e2-690d-4d5f-afbc-59bf06b34cf6', '99d6d94e-53d3-46b2-9731-98f15e92e78b', 'CPMK-1', 'Mata kuliah ini memperluas kemampuan mahasiswa dalam pemrograman terstruktur melalui konsep modularisasi, penggunaan array dan pointer, serta pengolahan data berbasis file. Pembelajaran diarahkan untuk menyelesaikan permasalahan sederhana dalam konteks teknik elektro secara sistematis dan efisien.', 21.43, '2026-01-17 00:58:16', '2026-01-17 00:58:16', ''), +('18279719-f87d-444d-96f3-4bdbad090803', '8d797bee-168e-4e11-beba-9f3b587f7267', 'CPMK-1', 'Mata kuliah ini membahas prinsip, teknologi, dan standar komunikasi nirkabel yang digunakan dalam sistem telekomunikasi modern.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('18afeb2a-8eee-4533-96ec-391eda350479', '6ff71058-5546-45c2-af3c-e12770c3ad75', 'CPMK-4', 'Mengaplikasikan perangkat lunak hidrologi dalam analisis curah hujan dan debit', 20.00, '2026-01-17 00:59:12', '2026-01-17 00:59:12', ''), +('1993f99d-f546-4809-9b6b-14b5c5ef1c94', '5dcb8762-b27a-419b-bdcd-a5c18a953fa9', 'CPMK-1', 'Mata kuliah ini membahas konsep dasar algoritma serta implementasinya dalam bahasa pemrograman tingkat pemula. Materi meliputi logika pemrograman, tipe data, percabangan, perulangan, fungsi/prosedur, array, dan pemecahan masalah komputasional menggunakan pendekatan algoritmik. Mahasiswa diarahkan untuk mampu merancang solusi, menerjemahkannya ke dalam kode program, melakukan debugging, serta mengevaluasi hasil program.', 20.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14', ''), +('199d03d6-b43d-496d-832a-254e373b4be0', 'f8832929-41c0-411b-9498-ad69856e6af7', 'CPMK-2', 'Mahasiswa mampu menganalisis pengaruh desain ruang terhadap perilaku pengguna melalui observasi, survei, dan studi kasus.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('199fc380-0577-4c62-8ec0-9fbf6cb65358', '2fa43052-36fd-4b90-9d94-20fff24bb411', 'CPMK-2', 'Mahasiswa mampu menjelaskan prinsip dasar kelistrikan dan hukum-hukum yang mendasari fenomena elektromagnetik, serta memahami komponen dasar dalam sistem kelistrikan dan elektronik.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', 'CPL-01,CPL-04'), +('19b9f4de-1c12-429b-8721-3502c5aedeef', '11987187-2fc3-48d5-9f09-12e6310d35e5', 'CPMK-3', 'Mampu menyelesaikan sistem persamaan linear menggunakan metode eliminasi Gauss, invers matriks, dan determinan.', 21.43, '2026-01-17 00:58:13', '2026-01-17 00:58:13', ''), +('19c5d402-76a5-4cb9-95d5-47fc15a6dc4b', '170d427a-0030-47ed-9d6d-e653e8f19be4', 'CPMK-2', 'Mampu menjelaskan konsep dasar bilangan biner, logika Boolean, gerbang logika dasar, dan hukum-hukum aljabar Boolean.', 20.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14', 'CPL-01,CPL-04'), +('19ca5635-2e56-4e0f-a5aa-f51d98b40f4b', 'ac2ca539-9694-48b3-93f8-0db6de719278', 'CPMK-3', 'Mampu menerapkan teknik presentasi visual dan komunikasi desain untuk menyampaikan ide-ide arsitektural secara efektif.', 0.20, '2026-01-16 22:56:58', '2026-01-17 00:52:38', 'CPL-05'), +('1a8aa973-3b78-4c6b-b378-a81b7f21a19d', '9272905d-e48e-4999-b6d4-1892ffe5277e', 'CPMK-2', 'Mampu menjelaskan prinsip dasar dan komponen utama dalam sistem kontrol berbasis elektronika.', 20.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33', ''), +('1ad05112-e2ba-46c2-9af8-4e7c1d5da7ac', 'd1386eb7-8de0-43bc-915b-ca0a5ffb29ae', 'CPMK-2', 'Menjunjung tinggi nilai kemanusiaan dalam menjalankan tugas berdasarkan agama,moral dan etika moral', 0.20, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('1ad569da-6480-410e-9a9e-241f6a3603c0', '515014e1-6438-408e-990f-e286b2ed75c3', 'CPMK-1', 'Mahasiswa mampu menjelaskan teori, gaya, dan fungsi kepemimpinan', 20.00, '2026-01-16 22:56:37', '2026-01-17 00:58:08', ''), +('1b103f8d-7535-4119-b3d5-d2db53b1c19b', 'f6f7c1a6-23c1-44b7-b523-acaff2a89c8c', 'CPMK-2', 'Merancang pipeline data dan model untuk proses training, evaluasi, dan deployment.', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('1b4bb38f-5071-47ae-a412-8773a81f8aca', '2b7c4249-f21c-49dc-ab6a-5ef71f3d76c7', 'CPMK-1', 'Menganalisis prinsip-prinsip desain arsitektur Islam dalam konteks sejarah dan budaya.', 0.20, '2026-01-16 22:56:56', '2026-01-17 00:52:38', ''), +('1bbb118a-8ecd-43ab-9531-6df990f6b28b', '2d0b3a7e-868a-4a2e-a703-bfef24d96141', 'CPMK-2', 'Menganalisis risiko keamanan dalam fase requirement, design, implementation, dan deployment.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('1bd5c1c5-0ec6-4b19-954f-04d96d48149b', '062789e7-049e-4d8e-9a74-fa050c4d4a62', 'CPMK-1', 'Mahasiswa mampu menjelaskan nilai, prinsip, dan sistem etika Pancasila dalam kehidupan berbangsa dan bernegara.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('1bf65a1c-e594-4b67-a449-3a1d216bac0e', 'f75f20e0-1f04-4725-8c20-e138fd12d386', 'CPMK-3', 'Mengimplementasikan aplikasi mobile menggunakan framework lintas platform (Flutter, React Native, dll.).', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('1bfc53be-9e1e-44da-81e9-7ac6b37aa8cb', '0426a4d1-85a6-48bc-96dd-4f3c974761aa', 'CPMK-1', 'Memahami dasar-dasar teknologi informasi, termasuk perangkat keras dan perangkat lunak.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('1c0f7566-487e-4307-bbc1-4d73050c1e33', 'ac5382bb-6368-4957-915a-00a06ec8c767', 'CPMK-3', 'Mahasiswa mampu menentukan metode penelitian atau pendekatan perancangan yang tepat, terukur, dan dapat dipertanggungjawabkan.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('1c256105-8c34-45cc-bfa1-d953d717abfe', '5368a6f5-ba60-42e6-848c-ed409d1d327a', 'CPMK-5', 'Mampu mensimulasikan dan menganalisis kinerja sistem modulasi analog dasar (Amplitude Modulation/AM), termasuk analisis Power Spectral Density (PSD).', 16.66, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''), +('1c5c1d9e-9f69-4ef7-a10e-ef5621a3c0c9', 'e0db289a-0522-4b75-8871-133ff0fc949d', 'CPMK-3', 'Merancang kebijakan dan sistem keamanan jaringan', 0.20, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('1c9248db-c7d0-460a-88bc-c38374bd207e', 'cbf257f3-8236-4008-8469-0a56592db1a8', 'CPMK-5', 'Mampu menyelesaikan permasalahan terkait impedansi, kapasitansi, dan transmisi, serta menyajikan hasil analisis secara sistematis.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('1cc40105-5e5c-42eb-b413-1b4ef8412384', '14edd272-1d19-4646-b963-6df5b31d4a52', 'CPMK-1', 'Mahasiswa mampu menjelaskan prinsip, jenis, dan fungsi sistem utilitas bangunan yang meliputi penyediaan air bersih, pembuangan air kotor, kelistrikan, transportasi vertikal, dan proteksi kebakaran.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('1ce94d41-edde-4717-9077-c38e43efd578', '23115d0f-eec7-438c-b2ac-9a17e1c601b2', 'CPMK-3', 'Mampu menganalisis struktur dan fungsi CPU, memori, sistem bus, dan perangkat input/output serta interaksi antar komponen.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('1d53b694-a1dd-4161-b799-eebeae1be827', 'cfc12f76-acef-4115-8337-838f76b7778e', 'CPMK-3', 'Mahasiswa mampu menunjukkan sikap etis, toleran, bertanggung jawab, serta kesadaran berbangsa dan bernegara dalam kehidupan sosial.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('1d5f913d-de97-412c-a4a9-eb7a6078c2e6', '8b4bbddd-0548-4afb-8cbe-cddbafe189db', 'CPMK-7', 'Menunjukkan profesionalisme, etika, dan tanggung jawab dalam praktik keamanan cloud.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('1dcf7c74-3d04-4630-a4fb-21039376e157', '3a40a9d1-086d-4d41-9e2b-f4da42382168', 'CPMK-4', 'Mahasiswa mampu memilih material dan teknologi bangunan yang sesuai dengan karakter tropis dan prinsip keberlanjutan.', 0.20, '2026-01-16 22:56:49', '2026-01-17 00:52:38', ''), +('1dff0a86-93ee-46da-a014-392daae30d7f', '93e41542-d15b-4385-93da-a3534835a907', 'CPMK-2', 'Mampu menjelaskan konsep dasar interaksi cahaya dengan bahan semikonduktor dan prinsip kerja perangkat optoelektronik.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('1e124ba3-be05-4345-b96e-5784c2f8e632', '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 'CPMK-3', 'Mampu menerapkan keterampilan komunikasi efektif dalam presentasi hasil kerja di depan audiens profesional', 21.43, '2026-01-16 22:56:39', '2026-01-17 00:58:09', 'CPL-03, CPL-04'), +('1e15dfc5-6fef-4678-88ef-1a3344b7bf56', 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 'CPMK-5', 'Mampu mempertahankan hasil penelitian di hadapan panel penguji dengan argumen yang logis dan meyakinkan.', 14.29, '2026-01-16 22:56:39', '2026-01-17 00:58:09', 'CPL-03, CPL-04'), +('1e232869-9bc5-44f2-82bd-cc33352c7fc9', '024d3e76-0845-4ebb-a000-ad72db9eccb3', 'CPMK-2', 'Mahasiswa mampu menganalisis kebutuhan dan permasalahan riil proyek di lapangan serta memberikan solusi desain yang tepat.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('1e91c9f6-3450-4879-954a-3262c073903a', '0c37b249-c21b-454a-871e-f6afb0fa9447', 'CPMK-1', 'Menguasai pengetahuan tentang OSI layer, TCP/IP, Topologi, Model Komunikasi, Media Transmisi, Data Rate, Bandwidth, Teknik Pengkodean, Pendeteksian dan koreksi Kesalahan, Frame Header, Medium Access Control', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('1ec3ccd2-2d60-43cb-85be-a420dd5f798d', '58a2946b-86ee-43bf-a768-e0e5693bdb03', 'CPMK-1', 'Menjelaskan konsep kepemimpinan dan perannya dalam dunia teknik', 20.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('1ee8d08a-5486-4c6c-a0d8-244df22b2e81', '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 'CPMK-4', 'Mampu mempresentasikan hasil penelitian secara efektif di depan audiens akademik.', 0.20, '2026-01-16 22:56:58', '2026-01-17 00:52:38', 'CPL-05, CPL-08'), +('1f90aab6-762c-4aa9-accc-67cf7c8a676b', '99d6d94e-53d3-46b2-9731-98f15e92e78b', 'CPMK-2', 'Mampu menjelaskan konsep pemrograman lanjutan seperti modularisasi, array, pointer, dan file I/O.', 21.43, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('1fd926f4-9977-4ca8-8b77-b0c9b0bf40de', '35eebf92-894d-4936-9d0f-6bdf47adc11f', 'CPMK-1', 'Mata kuliah ini membahas prinsip-prinsip perencanaan, pelaksanaan, dan pengendalian proyek teknik serta penerapan sistem manajemen keselamatan dan kesehatan kerja (K3) untuk menjamin efektivitas, efisiensi, dan keamanan dalam pelaksanaan proyek keteknikan.', 20.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('1ff730bc-15a6-4df1-be00-f86e3b18b4bd', '99d6d94e-53d3-46b2-9731-98f15e92e78b', 'CPMK-4', 'Mampu mengimplementasikan penggunaan array dan pointer dalam program secara efisien.', 21.43, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('1ff96c38-9346-4cd1-b8cd-31391222a184', '11987187-2fc3-48d5-9f09-12e6310d35e5', 'CPMK-5', 'Mampu menganalisis karakteristik sistem linear menggunakan pendekatan aljabar linear, baik secara manual maupun dengan bantuan perangkat lunak matematis.', 14.29, '2026-01-17 00:58:13', '2026-01-17 00:58:13', ''), +('2043fb35-fca9-4b2c-a926-ed6eb3b2bb89', '233c8ab5-e116-443a-9610-55ad8a1c46ae', 'CPMK-3', 'menggunakan aplikasi perkantoran dasar (word processing, spreadsheet, dan presentation) untuk membuat dokumen tekstual, tabel data, grafik sederhana, dan presentasi sesuai standar akademik', 25.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('20f28b99-7c87-4931-b177-0d3f86b9a34e', '3cc4949f-9540-4bd9-a451-594e0793c7f0', 'CPMK-4', 'Menganalisis hasil evaluasi untuk mengembangkan antarmuka yang lebih baik.', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('2129e84f-e922-4a7f-9895-143b7c7a5361', '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 'CPMK-1', 'Mampu menjelaskan konsep dasar dan prinsip-prinsip utama dalam kajian AIK.', 21.43, '2026-01-16 22:56:36', '2026-01-17 00:58:08', 'CPL-01'), +('21300a16-7998-4249-8417-dd62297fb298', '7fad4df3-d503-4c05-8db8-f0109c58e8d6', 'CPMK-2', 'Mahasiswa mampu menganalisis isu-isu ibadah dan muamalah kontemporer (ekonomi, sosial, digital) menggunakan pendekatan tarjih yang rasional dan berbasis dalil.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('2197a5fb-d7a8-4c70-adfd-5f123b63ef55', '41ad4d39-fb6b-4d7a-b00b-8ca9a1204bd3', 'CPMK-1', 'Mahasiswa mampu menjelaskan prinsip-prinsip aqidah Islam secara benar sesuai Al-QurΓÇÖan, Sunnah, dan pandangan Muhammadiyah.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('219bbba7-c7bd-4d09-836b-0e7b50bce267', '6f7a91bc-8054-45d6-ac08-84f31ec6b0d8', 'CPMK-3', 'Mampu menganalisis model dan algoritma pembelajaran yang digunakan dalam sistem komunikasi modern.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('21cc312d-5b30-45da-9962-872864c8bc6f', '7784e52e-24d5-4a05-9b4f-4e4d062d877e', 'CPMK-5', 'Merancang dan mengimplementasikan aplikasi sistem pakar sederhana.', 0.20, '2026-01-16 23:21:05', '2026-01-17 00:49:33', ''), +('21d69f18-f95a-43c8-af45-fa9fd55ad2dc', '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 'CPMK-3', 'Mampu menerapkan prinsip-prinsip KKP-Plus dalam studi kasus nyata.', 21.43, '2026-01-16 22:56:54', '2026-01-17 00:58:11', 'CPL-04, CPL-03'), +('2231ca71-6025-40cb-b669-b610c8879df0', '2558fa96-0c5b-483b-9544-0b66c31356db', 'CPMK-1', 'Mahasiswa mampu menjelaskan filosofi DevOps', 0.25, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('22357f95-1d9e-4338-9cfb-c3d187140d2d', '930edaef-cab6-4382-b12d-4358e81fc316', 'CPMK-4', 'Menciptakan solusi inovatif dalam pengembangan teknologi telekomunikasi.', 21.43, '2026-01-17 00:58:39', '2026-01-17 00:58:39', 'CPL-04, CPL-02, CPL-08'), +('223800af-bae4-46fb-8242-003333c9e242', '2b4d6814-0226-4349-9e22-645bb78fcf55', 'CPMK-1', 'Mata kuliah ini mengenalkan prinsip etika profesi teknik, tanggung jawab sosial insinyur, regulasi dan standar profesi, keselamatan kerja, etika dalam penelitian, serta isu-isu moral dalam penerapan teknologi. Mahasiswa diharapkan mampu mengambil keputusan profesional yang etis dan bertanggung jawab terhadap masyarakat serta mematuhi nilai-nilai keislaman dan kemuhammadiyahan.', 20.00, '2026-01-16 22:56:54', '2026-01-17 00:58:29', ''), +('2261e391-0f22-47c3-9c11-6238c8a2a18a', 'a83fd291-7f8d-423f-ab21-e709c7b876c1', 'CPMK-4', 'Mampu menganalisis sifat-sifat fungsi menggunakan konsep turunan dan integral.', 0.20, '2026-01-16 23:20:59', '2026-01-17 00:49:33', 'CPL-01'), +('22b902e5-d280-4ad1-a52e-89a90853360a', '6511033c-07c2-4509-bc3e-95adee542c3d', 'CPMK-5', 'Mampu menyajikan hasil penelitian dalam bentuk presentasi yang efektif dan informatif.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', 'CPL-05, CPL-08'), +('22cc5a5b-04ba-4ab2-ab73-8a2a3b38f512', 'f482e32c-c23a-4152-a846-c5cea2b72df6', 'CPMK-1', 'Mata kuliah ini membahas konsep dasar listrik dan magnet, meliputi medan listrik, potensial listrik, kapasitansi, arus listrik, rangkaian arus searah, medan magnet, induksi elektromagnetik, rangkaian RCΓÇôRLΓÇôRLC dasar, arus bolak-balik, serta pengenalan gelombang elektromagnetik. Mata kuliah juga dilengkapi dengan praktikum untuk memperkuat pemahaman konsep melalui pengukuran, pengamatan, dan analisis fenomena listrik dan magnetik dasar. Praktikum bertujuan menumbuhkan kemampuan melakukan eksperimen sederhana secara sistematis sesuai kaidah ilmiah.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13', ''), +('22cd9b30-e649-48a3-a757-63f5724d8676', '6cd02db2-b1f9-4aad-873b-349d154516f1', 'CPMK-5', 'Mahasiswa mampu mengevaluasi desain dengan mempertimbangkan masukan stakeholder & standar teknis.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('22dfb1b2-bd84-4abf-b0f2-7710b2f5ffec', 'aa2fa177-91cd-4575-9a2b-0a7174f61b0a', 'CPMK-2', 'Menganalisis kebutuhan sistem untuk mendukung scalability, availability, dan reliability.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('2386577e-820b-4dbd-bea2-a19b9787d5ef', 'afa1034a-7eb4-498f-9a6f-b2213869aedc', 'CPMK-2', 'Mampu menjelaskan konsep dasar jaringan telekomunikasi, arsitektur jaringan, protokol komunikasi, serta teknologi akses yang digunakan dalam sistem telekomunikasi modern.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('23a59c25-7d53-4073-8224-a955efde51b2', '73525a7c-f212-4b45-a48c-f6283a195746', 'CPMK-4', 'Mahasiswa mampu mengintegrasikan rancangan arsitektur kota dengan sistem infrastruktur, ruang publik, dan tata lingkungan secara harmonis.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('23d54b31-770b-4fcf-80f2-9232de6f0e27', '7ec43900-b6ac-42a4-b3d6-d1b254edc311', 'CPMK-6', 'Mahasiswa mampu memahami penerapan kriptografi dalam keamanan sistem dan jaringan.', 0.14, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('23e7d70b-2a4d-4f2d-9d8e-cfd3b64209cf', 'c89c6727-5426-4f63-84b7-03f37d456ac3', 'CPMK-2', 'Mampu menjelaskan teori dasar mengenai dinamika dan stabilitas sistem tenaga listrik, termasuk faktor-faktor yang mempengaruhi kestabilan sistem seperti fluktuasi tegangan, frekuensi, dan daya.', 20.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30', ''), +('23f5bed9-b2d2-40a4-99e3-af6c480f36c6', '7aa965e2-fbec-467e-bf2d-79cd7f6a0dd2', 'CPMK-4', 'Mengevaluasi performa dan efisiensi sistem basis data modern untuk pengelolaan informasi.', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('2414a39b-b38c-4edf-b3a6-d2993708e35c', '33fc18df-fd5b-45c5-9893-71f90e37ba61', 'CPMK-1', 'Mahasiswa mampu memahami Penjelasan dasar mengenai pengertian Rekayasa Perangkat Lunak', 0.09, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('242b793a-2f3a-41fe-b19d-f59e5034a3ad', '507f7f49-d126-4c8f-88f1-17fdacab1a26', 'CPMK-3', 'Mampu menganalisis arsitektur sistem cerdas berbasis sensor, aktuator, dan pengendali adaptif.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('2452583b-ec61-4aed-92c1-0b9994644972', 'a83fd291-7f8d-423f-ab21-e709c7b876c1', 'CPMK-2', 'Mampu menghitung turunan fungsi dasar dan menerapkannya dalam menyelesaikan masalah nyata.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', 'CPL-05, CPL-01'), +('24570248-ee41-4066-a072-abced9827e70', '14edd272-1d19-4646-b963-6df5b31d4a52', 'CPMK-3', 'Mahasiswa mampu merancang sistem utilitas bangunan yang efisien, aman, berkelanjutan, dan sesuai standar teknis yang berlaku.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('24677655-d8fa-4b48-9826-5d04add13f66', 'b8736e55-fb84-4f81-81b9-83adeca227b0', 'CPMK-2', 'Menganalisis masalah dinamika menggunakan hukum Newton.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('246d838c-5b51-41cc-b0ae-83db15d4486c', 'c6970f8e-a4ac-480a-b232-a45a42976f8e', 'CPMK-3', 'Mampu menyelesaikan perhitungan stoikiometri dan reaksi kimia sederhana.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('2474454d-aab7-45af-a62a-3a0758b84774', 'a4d898e9-f360-45d2-97a7-2c9b77d503f8', 'CPMK-2', 'Mampu merangkai dan menentukan Tabel Kebenaran untuk Gerbang Logika Dasar (AND, OR, NOT, NAND, NOR, XNOR), serta menganalisis fungsi logikanya.', 33.33, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('247b5673-4e06-47e2-b310-70cb8d17cf73', '9f7d6597-3b8a-4fce-b1bc-17977515d6d2', 'CPMK-4', 'Menerapkan sistem pemrosesan data real-time', 0.17, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('2486a6b2-f989-4089-9a1c-33a40cc27b9d', 'de51842a-bc59-402b-81d0-467a39a694cd', 'CPMK-6', 'Menerapkan prinsip etika dan keamanan AI dalam pembangunan sistem berbasis LLM', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('24919d64-fb19-49da-a7a0-8a4a89222faa', 'a4590f2a-7e2f-45fc-ab6a-99bc2a93588f', 'CPMK-4', 'Menggunakan alat dan platform CTI seperti MISP, OpenCTI, dan Threat Connect', 0.17, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('24b8a2c1-b619-4343-886a-fb90ed9df70e', '2134a8cd-14cd-4be1-b213-3fd75f7c85ac', 'CPMK-1', 'Mahasiswa mampu menjelaskan teori, konsep, dan gaya kepemimpinan yang relevan di bidang arsitektur dan industri kreatif.', 20.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('24cfb355-d58e-4192-8fa1-48d001d5381b', '2558fa96-0c5b-483b-9544-0b66c31356db', 'CPMK-4', 'serta mengevaluasi performa pipeline melalui monitoring, logging, dan feedback loop.', 0.25, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''); +INSERT INTO `cpmk` (`id`, `id_mk`, `kode_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`, `matched_cpl`) VALUES +('24e367fe-d768-43fc-98b1-6cd56cced4dd', 'a4d898e9-f360-45d2-97a7-2c9b77d503f8', 'CPMK-3', 'Mampu menguji dan memahami kinerja Transformator satu fasa dalam keadaan berbeban dan mampu menganalisis rangkaian ekuivalen serta menghitung efisiensinya.', 33.34, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('25142d89-e46d-43d4-8f78-526b9c1643ae', '8a1393c5-895f-4aca-ac56-495e43f660bb', 'CPMK-1', 'Menganalisis konsep-konsep dasar Al Islam dan Kemuhammadiyahan dalam konteks kehidupan sehari-hari.', 21.43, '2026-01-16 22:56:55', '2026-01-17 00:58:38', 'CPL-10'), +('25387a70-a9c0-49ba-b0ac-c1842e54339a', 'a442d9d7-1b63-4ac3-9f16-04d81176b460', 'CPMK-5', 'Mahasiswa mampu mengingat dan memahami WAN dan Teknologi Akses Jarak Jauh', 0.11, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('2577dc4f-74f2-4d3f-9688-47e31be92279', '0d0a669a-7571-4abf-93e0-a36fc3a324f0', 'CPMK-2', 'Mahasiswa mampu menganalisis hubungan antara elemen ruang, pencahayaan, penghawaan, warna, tekstur, dan furnitur dalam pembentukan kualitas ruang.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('25b6d226-72ba-428e-88a6-fbda2d69e864', '1d80cecb-e4ff-4ffe-aa8e-c9ecd2ab4515', 'CPMK-5', 'Mampu menerapkan metode pengkodean untuk deteksi kesalahan, simulasi performa kanal, dan evaluasi BER.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('25d8e810-0c1c-4348-b98e-85ce34f8c46e', '5b56f6e0-e5d9-4a89-8f34-39bc717dd9ad', 'CPMK-4', 'Mampu melakukan pengujian performa mesin listrik di laboratorium dengan prosedur keselamatan yang tepat.', 25.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('260884dd-6c10-40d1-86c6-becdae2de880', '0f73ece5-1a7d-4a9f-adb8-3b738ce322b5', 'CPMK-5', 'Mengevaluasi performa model NLP menggunakan metrik seperti F1-score, BLEU, dan perplexity', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('261c62d5-9d3d-45ad-a1ea-e22672781173', '93371a32-8651-4772-8c8f-4a772f2bfb7c', 'CPMK-4', 'Mampu menggunakan perangkat bantu pemrograman dan simulasi (MATLAB/Python/software jaringan) untuk menganalisis performa sistem komunikasi digital.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('26d9c571-d140-4399-b26b-109bd39f1797', '6054f4b0-2914-4ac4-936d-26aefdbd51d6', 'CPMK-1', 'Mampu menyusun naskah proposal penelitian Tugas Akhir yang lengkap sesuai format yang ditetapkan.', 20.00, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('26ff63e1-d2a4-4557-875c-4b7418c49d17', 'b5e186b0-b06e-4fb7-b53d-3fccfa849544', 'CPMK-4', 'Mampu bekerja sama dan berkomunikasi efektif dalam proyek berbasis machine learning.', 0.25, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('273c0b64-2b1e-4834-a607-e882d21577c7', 'c127b1fb-3fc9-4f73-8a94-080418b1450e', 'CPMK-5', 'Mampu mengonfigurasi jaringan menggunakan perangkat lunak/keras sederhana dan menyajikan hasilnya secara profesional.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('2745c812-3ba4-498e-a1cf-f59693fa7178', '2b7c4249-f21c-49dc-ab6a-5ef71f3d76c7', 'CPMK-4', 'Mengevaluasi karya arsitektur Islam dari berbagai perspektif, termasuk sosial dan lingkungan.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', ''), +('2746e5a7-6c03-4c17-b9af-818e154b0a26', '665b5754-34f9-4794-8aff-4a493a7d702a', 'CPMK-3', 'Mahasiswa mampu menerapkan prinsip dan elemen estetika dalam studi bentuk 2D dan 3D.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('280a4980-d506-4924-aee6-c56e7da3e51d', 'fc139184-d705-4176-a19e-9d7438af158e', 'CPMK-3', 'Mampu menganalisis aliran daya, rugi-rugi energi, serta kestabilan sistem tenaga listrik menggunakan metode analisis teknik.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('28279a15-1c47-497c-8279-6a2372212c7a', '9035c0b3-6289-4c2c-ae2d-c0d6a74607be', 'CPMK-3', 'Mampu mengidentifikasi perangkat keras (mikrokontroler, sensor, aktuator) dan perangkat lunak yang digunakan dalam sistem IoT.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('288f96b9-20bd-4c7a-a59f-de3b7e9b82ce', '0426a4d1-85a6-48bc-96dd-4f3c974761aa', 'CPMK-4', 'Mengidentifikasi dampak sosial, etika, dan keamanan teknologi informasi.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('28a93b92-9a19-431b-9e21-8d065843cca7', '062789e7-049e-4d8e-9a74-fa050c4d4a62', 'CPMK-4', 'Mahasiswa mampu menerapkan nilai-nilai Pancasila sebagai dasar pengambilan keputusan yang adil dan berkeadilan sosial.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('28ffcabe-6b14-4290-949a-0e66844f2442', 'bc9474a0-d6b1-4785-a0a0-9fb9bac6f6b1', 'CPMK-5', 'Mengimplementasikan CI/CD pipeline untuk deployment otomatis', 0.17, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('2923d85b-6995-4c22-b48f-b81f541b1311', '1f893129-5d23-499b-b7aa-46c839e97b2a', 'CPMK-4', 'Mengintegrasikan aplikasi dengan REST API, database lokal, dan layanan cloud', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('2928e8c0-4ee1-4a97-93a4-8ee55546e883', '144da052-f49b-4f8f-808e-970811d759cd', 'CPMK-4', 'Menganalisis konsep kemagnetan dan induksi elektromagnetik.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('29632ab9-c81c-419b-bd16-7852f1f354cb', '67a5866d-9a48-41d3-ac5c-b7be2230c42c', 'CPMK-1', 'Mata kuliah ini membahas prinsip kerja, karakteristik, dan penerapan berbagai jenis transduser dan sensor yang digunakan untuk mengubah besaran fisik menjadi sinyal listrik.', 20.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33', ''), +('29898743-320d-4c76-82d8-ba67f970ae02', 'f7582245-dae4-4183-937b-0661ba62b33e', 'CPMK-3', 'Menganalisis grafik fungsi menggunakan turunan pertama dan kedua.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('29d83d95-7e4b-43ce-96b8-f29fe33e8d71', 'aa134f8b-abba-401b-a847-cd9ceef9827b', 'CPMK-1', 'Menjelaskan konsep dasar kriptografi dan model ancaman keamanan komunikasi.', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('29eb9c31-5ee4-4d5e-aa0f-6c657da04236', '2d0b3a7e-868a-4a2e-a703-bfef24d96141', 'CPMK-1', 'Menjelaskan konsep dasar dan pentingnya DEVSECOPS dalam pengembangan perangkat lunak', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('2a63516e-6797-4fac-8786-09e401971586', '507f7f49-d126-4c8f-88f1-17fdacab1a26', 'CPMK-1', 'Mata kuliah ini membahas konsep, arsitektur, dan penerapan algoritma cerdas dalam sistem elektronika modern yang mampu beradaptasi dan mengambil keputusan secara otonom.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('2a732ae0-c0ad-4fb5-afec-136aa42e0862', 'd18b0cf0-e575-401a-ab1f-e36ff5e3e307', 'CPMK-3', 'Menggunakan sistem informasi untuk mendukung pengambilan keputusan.', 0.25, '2026-01-16 23:21:02', '2026-01-17 00:49:33', ''), +('2ad0ac79-ba47-40b2-97f2-e387aef95772', '0508404c-ca6b-4f0b-b7d1-a15b8eab9d52', 'CPMK-6', 'Menunjukkan kemampuan kolaborasi, etika, dan dokumentasi profesional', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('2adbaa4f-cffb-4c53-afa2-075d5da41d35', '30a91224-8d90-42ed-95c8-3860f33a85c9', 'CPMK-2', 'Mampu melakukan pengukuran waktu dan arah menggunakan instrumen sederhana.', 21.43, '2026-01-16 22:56:36', '2026-01-17 00:58:08', ''), +('2af73a2e-a476-4abb-aa5f-594248103db3', '9c8516d1-31fd-4a36-ac3a-49787ada8218', 'CPMK-4', 'Mampu menganalisis kesenjangan antara teori yang diperoleh di kampus dan praktik di lapangan.', 21.43, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('2b12bd53-9ab3-4b7f-b744-709be31704cb', 'e618216d-8b85-4f3d-95e7-afd4627a77bd', 'CPMK-6', 'Mahasiswa mampu menunjukkan sikap etis, kerja sama, dan komunikasi dalam pengembangan sistem AI.', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('2b1c8253-21db-40cf-bcc0-d8c65ce5990b', '999f2c17-b5ff-4a99-bb4c-2cc01e7ec2b9', 'CPMK-1', 'Mahasiswa mampu memahami dan menggunakan kosakata teknis sumber daya air dalam bahasa Inggris.', 25.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('2b1d30b6-e474-47c2-b748-7bd746c1a514', '33fc18df-fd5b-45c5-9893-71f90e37ba61', 'CPMK-7', 'Mahasiswa mampu mengetahui┬á dan memahami┬á desain perangkat lunak', 0.09, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('2bac04dc-8f18-42ed-8b4d-a09754f3c465', '062789e7-049e-4d8e-9a74-fa050c4d4a62', 'CPMK-3', 'Mahasiswa mampu menunjukkan sikap integritas, moralitas, dan tanggung jawab sosial dalam aktivitas akademik.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('2bc3404b-5869-4dd1-8075-edd481fae767', 'a9797522-c7e0-4766-845b-d24035c68f96', 'CPMK-5', 'Mahasiswa mampu menyajikan dokumen dan laporan manajemen proyek secara profesional sesuai standar teknis yang berlaku.', 0.20, '2026-01-16 22:56:51', '2026-01-17 00:52:38', ''), +('2becd8a0-441e-4378-8a95-230d3ab0a7ec', '162b0138-4e60-4567-a56a-17cddc27ed92', 'CPMK-1', 'Mampu menjelaskan prinsip etika profesi perencana wilayah dan kota.', 20.00, '2026-01-16 22:56:52', '2026-01-17 00:58:10', ''), +('2c813fbc-3040-4c76-9418-9d8817ce7d94', 'ce456cc0-536f-47f1-81b1-c8459b3f2da8', 'CPMK-4', 'Menerapkan pengetahuan geologi dalam perencanaan infrastruktur SDA', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('2c888a63-c4f6-47cd-83f9-b566adbaaef1', '7d8ce821-3f52-4313-8bf1-d43ac8abc103', 'CPMK-1', 'Mata kuliah ini membahas prinsip kerja, karakteristik, dan penerapan sistem komunikasi berbasis serat optik.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('2ca7ab7d-8b63-4dcf-9541-a87ed690de7d', 'f482e32c-c23a-4152-a846-c5cea2b72df6', 'CPMK-4', 'Mampu menganalisis medan magnet, gaya magnetik, induksi elektromagnetik, serta karakteristik rangkaian RC, RL, dan RLC dasar.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13', ''), +('2cbd2d22-521a-439a-875e-e10b77c93d76', 'f8832929-41c0-411b-9498-ad69856e6af7', 'CPMK-1', 'Mahasiswa mampu menjelaskan teori dan konsep hubungan timbal balik antara perilaku manusia dan lingkungan binaan.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('2cdab46b-5392-4d80-af30-37e92fbc69a3', 'b135c7ea-764f-4962-9587-f1bc0df0000c', 'CPMK-3', 'Mengoperasikan perangkat lunak CAD (Computer Aided Design) dasar.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('2d515a2c-23f1-47a7-b852-090c59710861', 'f72b9162-c61c-4efa-b519-adc75f94258e', 'CPMK-5', 'Menyusun laporan dan presentasi sistem pengolahan dan jaringan distribusi', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('2e2aa36f-5f5f-43ae-ad82-ba418214ebaa', '40a873e2-6b11-4708-bcb6-7bb94ae3bf0c', 'CPMK-1', 'Menjelaskan konsep dan strategi pengujian perangkat lunak tingkat lanjut serta proses QA', 0.17, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('2eee990a-fa23-44b7-90fd-307294fe82a0', '999f2c17-b5ff-4a99-bb4c-2cc01e7ec2b9', 'CPMK-3', 'Mahasiswa mampu mempresentasikan ide dasar sumber daya air secara lisan/tertulis menggunakan bahasa Inggris profesional.', 25.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('2ef69b14-e0f6-41c7-9091-5ab8842250d1', '8762c433-6fdd-462b-8494-1d264eb3dd15', 'CPMK-2', 'Mahasiswa mampu menghitung reaksi tumpuan, gaya dalam, dan momen pada elemen struktur sederhana menggunakan metode analitis dasar.', 0.20, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('2ef7098e-fc16-4907-aa55-040bddb44944', 'cff6b13e-d1d3-4d8b-8e78-1269ad2b7f8d', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar, sejarah, dan ruang lingkup AI.', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('2f19e9e9-a222-4ace-aae1-05d9388d3bde', 'ce456cc0-536f-47f1-81b1-c8459b3f2da8', 'CPMK-3', 'Menjelaskan proses-proses geologi yang mempengaruhi permukaan bumi', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('2f28cff3-dfd2-448a-a0e4-095afbb3eff9', '4d7c057a-6920-447a-bfef-117238ea784f', 'CPMK-2', 'merancang arsitekstur microservices untuk aplikasi cloud-native', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('2f4b1b39-0d7c-4c15-b11d-ebc613c8e394', 'e80b63ba-8556-4a1b-a9ac-45e346bea6b3', 'CPMK-1', 'Menjelaskan prinsip dasar pengukuran dan pemetaan topografi.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('2f4e17dc-4e09-4b05-b98c-df5aac8d880f', '7fad4df3-d503-4c05-8db8-f0109c58e8d6', 'CPMK-4', 'Mahasiswa mampu menerapkan prinsip-prinsip fiqh dan nilai-nilai Kemuhammadiyahan secara etis dan bertanggung jawab dalam pengambilan keputusan akademik dan aktivitas profesional.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('2f587695-4d29-4fd3-b090-74d7cedbecff', '2aaaf8e5-a8c5-4a4f-8a1b-1f977c1dfa75', 'CPMK-3', 'Mampu menganalisis performansi sistem komunikasi termasuk pengaruh derau, bandwidth, dan rasio sinyal terhadap derau.', 20.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18', ''), +('2f672ca9-0a7c-48ba-a13c-135badedbf42', '3f777130-87d1-459e-9a33-6af03d1b9ed5', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep, tujuan, dan peran metodologi riset dalam bidang arsitektur.', 21.43, '2026-01-16 22:56:50', '2026-01-17 00:58:10', ''), +('2fd1c697-3edc-479d-804d-7dd0a1950134', '0e792536-9f4b-4e87-ad13-403d4feed76b', 'CPMK-4', 'Mahasiswa mampu menggunakan teknik penulisan akademik untuk mendukung publikasi dan presentasi ilmiah.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('30041bee-55c8-4cbf-90a7-c66e2b4c2275', '37ef7d28-eb4a-42ef-a179-74880fa1e9b8', 'CPMK-1', 'Mahasiswa mampu menjelaskan Data dan Statistika', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('303b643b-379c-41ce-ba81-1ff86f5f8e6b', '5b58785e-cbc1-43d8-9e9c-810f25534f0b', 'CPMK-6', 'Menunjukkan kemampuan etika, profesionalisme, dan kolaborasi dalam proyek deep learning.', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('30780d33-1288-4a32-928b-f37d1d3babb0', '6a67734b-34b2-4c73-b94f-65b5e40d1fa1', 'CPMK-2', 'Merancang skema basis data menggunakan model relasional.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('308a5f32-1751-4986-9071-7fced3a9cfd3', 'c89c6727-5426-4f63-84b7-03f37d456ac3', 'CPMK-1', 'Mata kuliah Dinamika dan Stabilitas Sistem Tenaga Listrik memfokuskan pada analisis dan perancangan sistem tenaga listrik dengan mempertimbangkan aspek dinamika dan kestabilan operasionalnya. Mahasiswa akan mempelajari teori-teori dasar mengenai stabilitas sistem tenaga, termasuk stabilitas tegangan, frekuensi, dan sistem daya lainnya dalam kondisi transien dan stead-state. Mata kuliah ini juga mencakup teknik-teknik analisis yang digunakan untuk menganalisis gangguan pada sistem tenaga listrik, pengaruhnya terhadap kinerja sistem, serta metode pemulihan dan pengendalian yang dapat diterapkan untuk mempertahankan kestabilan sistem tenaga. Selain itu, mahasiswa akan mempelajari penggunaan simulasi komputer untuk menganalisis dinamika sistem tenaga listrik dalam berbagai kondisi operasi.', 20.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30', ''), +('3096a7c6-8348-410a-b73a-dccaacdc08a9', '515014e1-6438-408e-990f-e286b2ed75c3', 'CPMK-2', 'Mahasiswa mampu menganalisis karakteristik pemimpin efektif di berbagai konteks.', 20.00, '2026-01-16 22:56:37', '2026-01-17 00:58:08', ''), +('310fc58e-a0c1-40f6-83e8-af0f19a1443b', '2a1e22f4-5528-4ed1-90d5-cff876c85326', 'CPMK-4', 'Mampu menganalisis dan memperbaiki kesalahan dalam kode pemrograman web.', 0.20, '2026-01-16 23:21:00', '2026-01-17 00:49:33', 'CPL-01, CPL-05'), +('311f0da4-0d27-4248-9970-f37bc1dd1fac', '7a178668-cb76-41c6-a739-4a69f2959af0', 'CPMK-3', 'Mahasiswa mampu menganalisis studi kasus pelanggaran dan penerapan etika profesi arsitektur.', 0.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('31538e15-bb1d-4598-a663-7320d80c3e41', 'f482e32c-c23a-4152-a846-c5cea2b72df6', 'CPMK-5', 'Mampu melakukan percobaan fisika dasar mengenai listrik dan magnet secara sistematis, melakukan pengukuran, menganalisis data, dan menyusun laporan sesuai kaidah ilmiah.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13', ''), +('316e038b-6473-401b-8cb3-0d7cfe49f168', '127aa76f-a30c-4598-ba43-1c212e1932b5', 'CPMK-4', 'Mengimplementasikan dan menguji sistem yang mampu melakukan auto-scaling di lingkungan cloud.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('31b7426d-bd7f-4237-83e0-8b0f27555c67', 'ed944acc-fdac-4399-84f4-e0bcebaa0351', 'CPMK-3', 'Mempertimbangkan aspek hukum, ekonomi, lingkungan, sosial, dan keselamatan.', 14.28, '2026-01-17 00:59:14', '2026-01-17 00:59:14', ''), +('323b2f57-e9bb-4102-a4f5-38a7a042de15', '255aebe2-a27d-4e29-a1f7-41483050dd1e', 'CPMK-3', 'Melakukan analisis kerentanan pada sistem jaringan dan aplikasi menggunakan tools keamanan.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('3248e393-e98b-46a6-960a-a8801edf8e53', '0508404c-ca6b-4f0b-b7d1-a15b8eab9d52', 'CPMK-5', 'Menggunakan transfer learning dan fine-tuning model pre-trained', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('326d7a13-d2c8-4610-bc8f-d44833ff21eb', 'a8aaa007-c80c-4244-a47f-6746bc34c1ae', 'CPMK-1', 'Menjelaskan konsep dasar ethical hacking, penetration testing, dan peranannya dalam keamanan siber.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('32739f1d-7b44-42ed-9565-41413f6564b3', '4ef5dd3c-5811-474f-b555-8059d108f8e2', 'CPMK-3', 'Mampu menganalisis model trafik (Poisson/Erlang/Engset) dan menghitung probabilitas blocking serta performa jaringan.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('32a3b800-7a25-4b26-8a4d-b78b9c948947', '07bd02d2-62ad-44b6-9b14-ec41ec3401af', 'CPMK-4', 'Menggunakan embedding modern seperti Word2Vec, GloVe, dan Transformer embeddings untuk representasi', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('32a64cee-cde1-46b6-851d-ab17c8f7cbca', '2558fa96-0c5b-483b-9544-0b66c31356db', 'CPMK-2', 'menganalisis kebutuhan Continuous Integration (CI) / Continuous Deployment (CD) pipeline', 0.25, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('32c22ec8-603d-4777-a234-78fec47e98f9', '9cee2598-e3e8-4ab0-843b-88c513d01821', 'CPMK-4', 'Mahasiswa dapat menganalisis dan memecahkan masalah sederhana yang terkait dengan penggunaan Command Line di Linux.', 21.43, '2026-01-16 23:20:58', '2026-01-17 00:58:08', 'CPL-05, CPL-01'), +('33417c0d-bb2f-4ecd-bd4b-51d8f22ff98d', '06d52fc1-a1fb-455c-b5dd-a89ec654f8a9', 'CPMK-3', 'Mampu menganalisis respons sistem LTI menggunakan operasi konvolusi dan sifat-sifat sistem dasar.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('3354dc09-1d2b-4f41-9c43-d4a22fba29a9', '7ec43900-b6ac-42a4-b3d6-d1b254edc311', 'CPMK-7', 'Mahasiswa mampu menunjukkan etika, kerja sama, dan komunikasi dalam penerapan kriptografi.', 0.14, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('33952edd-1b2e-4137-862f-13acce98b724', '2fa43052-36fd-4b90-9d94-20fff24bb411', 'CPMK-5', 'Mahasiswa mampu mengidentifikasi perkembangan terbaru dalam bidang teknik elektro dan memahami tantangan serta peluang teknologi elektro dalam kehidupan sehari-hari.', 14.29, '2026-01-17 00:58:12', '2026-01-17 00:58:12', 'CPL-02,CPL-01,CPL-04'), +('34ac779c-fd89-477f-9da0-a9b5a8a4f8cb', '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 'CPMK-2', 'Mampu menyusun proposal penelitian yang sistematis dan sesuai dengan kaidah akademik', 21.43, '2026-01-16 22:56:39', '2026-01-17 00:58:09', 'CPL-03, CPL-04'), +('34d3da15-97a4-4837-8a98-1be4a380703d', 'fc139184-d705-4176-a19e-9d7438af158e', 'CPMK-2', 'Mampu menjelaskan prinsip dasar pembangkitan, transmisi, dan distribusi tenaga listrik dalam sistem tenaga modern.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('34fdcbb5-5374-484e-a3e1-ea2d78dcb186', 'e9493d2b-1ba4-4338-9a38-815bcad65a6c', 'CPMK-3', 'Mampu merangkai dan menganalisis karakteristik Dioda pada rangkaian penyearah setengah gelombang menggunakan Osiloskop dan Multimeter.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19', ''), +('3537276f-db25-4cc3-aab0-7ed20f8d3648', '67a5866d-9a48-41d3-ac5c-b7be2230c42c', 'CPMK-5', 'Mampu melakukan pengujian, kalibrasi, dan evaluasi performa transduser untuk memperoleh hasil pengukuran akurat sesuai standar.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('35931ec8-a297-45f3-ad2f-c15b29cf16c0', '0c37b249-c21b-454a-871e-f6afb0fa9447', 'CPMK-4', 'Menguasai konfigurasi pada switch, router, VLAN, access point, wireless router, instalasi windows server 2008, DHCP server dan DNS server', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('35a6d684-8e39-4827-9bee-60dee5774fb2', 'b135c7ea-764f-4962-9587-f1bc0df0000c', 'CPMK-5', 'Mempresentasikan hasil gambar teknik secara komunikatif dan profesional.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('35ec9ef2-f6af-4eb5-8628-66701c195861', 'bfed3b3c-17cc-4fe5-b044-2165e9e0af14', 'CPMK-5', 'Mengimplementasikan algoritma matematis dasar AI menggunakan bahasa pemrograman Python.', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('361fc802-a9c1-43fc-841a-df1b3d20a2d4', '951e2391-bed9-4aa2-b1a2-d7772d358da7', 'CPMK-1', 'Menjelaskan sifat dan tekanan fluida dalam kondisi statis.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('36266f20-0d43-46e9-9aa0-b8469a94467d', '1a55adb5-cfea-4e52-be90-891d6be6aff0', 'CPMK-4', 'Mampu mengevaluasi kinerja material bangunan berdasarkan sifat fisik dan mekaniknya.', 0.20, '2026-01-16 22:56:56', '2026-01-17 00:52:38', 'CPL-06, CPL-03'), +('362fc8d8-e5f8-493f-b20c-101683736f2e', '5c71aa6a-f3d9-4ecc-b7c9-f9739fd5d117', 'CPMK-3', 'Menganalisis studi kasus penerapan arsitektur hijau pada bangunan dan kawasan.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('3633c9ab-c988-46a0-a1bf-fa980a979de3', '2134a8cd-14cd-4be1-b213-3fd75f7c85ac', 'CPMK-4', 'Mahasiswa mampu menerapkan nilai-nilai etika, tanggung jawab sosial, dan profesionalisme dalam kepemimpinan dan kewirausahaan.', 20.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('364ad7e9-abeb-4e73-8252-8413cb3c2e44', 'e26f0f1d-d1d3-4795-96b2-d092a3fa5dc7', 'CPMK-1', 'Mata kuliah ini membahas konsep, teori, dan teknik pemrosesan sinyal digital, termasuk analisis domain waktu dan frekuensi, transformasi diskrit, filter digital, dan aplikasinya dalam sistem teknik elektro, komunikasi, dan kontrol.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('365b1820-6aa3-45c6-a3c5-b83ad53222cd', '3cc4949f-9540-4bd9-a451-594e0793c7f0', 'CPMK-1', 'Memahami prinsip dasar IMK dan elemen-elemen antarmuka pengguna.', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('369160d4-164e-4395-b770-a46256850fef', '6ff71058-5546-45c2-af3c-e12770c3ad75', 'CPMK-5', 'Mengevaluasi hasil analisis hidrologi untuk pengambilan keputusan teknis', 20.00, '2026-01-17 00:59:12', '2026-01-17 00:59:12', ''), +('369f6bc9-d8e9-4ba4-9d0f-34878051be68', '6054f4b0-2914-4ac4-936d-26aefdbd51d6', 'CPMK-3', 'Mampu menanggapi kritik, saran, dan pertanyaan penguji/penyimak secara argumentatif dan santun.', 20.00, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('36a3b727-f37d-4bf1-89a0-fa2fb4d97cd5', '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 'CPMK-5', 'Menciptakan proyek inovatif yang mengintegrasikan AI dengan ajaran Islam untuk meningkatkan kualitas hidup umat.', 14.29, '2026-01-16 22:56:38', '2026-01-17 00:58:09', 'CPL-01, CPL-04, CPL-05'), +('36b60b6e-6317-4cde-9e1d-77183d715fd6', '4b8ab6c1-3ce3-46c8-ab58-6c2ee7b80d6c', 'CPMK-3', 'Mahasiswa mampu menjelaskan tentang konsep dan notasi dasar┬á Proposisi dan Poset', 0.25, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('37247098-7558-4e3e-ad7a-15f067d43641', '18ea0402-3c11-483a-a40a-2e03fddf7bea', 'CPMK-4', 'Mahasiswa mampu mengkomunikasikan hasil kajian perkembangan arsitektur melalui media presentasi dan laporan tertulis.', 0.25, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('3731bb62-7410-40b9-a7dc-f5eac7287e7f', '99d6d94e-53d3-46b2-9731-98f15e92e78b', 'CPMK-3', 'Mampu menyusun program modular untuk menyelesaikan permasalahan sederhana berbasis teknik elektro.', 21.43, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('377b4acd-158e-48e3-bae0-b85ee3eba2d1', '062789e7-049e-4d8e-9a74-fa050c4d4a62', 'CPMK-2', 'Mahasiswa mampu menganalisis persoalan sosial dan profesional menggunakan perspektif etika Pancasila.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('37844847-da9a-48b5-ab19-392d15a6e802', 'f72b9162-c61c-4efa-b519-adc75f94258e', 'CPMK-4', 'Menerapkan prinsip hidrolika dalam sistem perpipaan bertekanan', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('378a040c-ebaa-4f44-bdf5-9330a94862f0', 'a442d9d7-1b63-4ac3-9f16-04d81176b460', 'CPMK-6', 'Mahasiswa mampu mengingat, memahami dan menerapkan Konsep Dasar TCP / IP', 0.11, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('379e4cba-8e38-4afe-9f19-7be8d7851d8b', '951e2391-bed9-4aa2-b1a2-d7772d358da7', 'CPMK-5', 'Menyusun laporan teknis analisis hidrolika dasar', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('37a8a6d5-93db-4f05-9ce4-3dbc4f9daf42', 'ea3e9e48-2f65-4f9c-945d-39875184582f', 'CPMK-4', 'Melakukan debugging dan optimasi program Java yang telah dibuat.', 0.25, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('37ed5084-9be5-4885-8e91-5890f1758d4a', '0e792536-9f4b-4e87-ad13-403d4feed76b', 'CPMK-2', 'Mahasiswa mampu mengevaluasi penggunaan bahasa dalam laporan, makalah, dan tulisan arsitektur secara profesional.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('382e1915-b844-4442-9e68-9f20626cb7eb', '144da052-f49b-4f8f-808e-970811d759cd', 'CPMK-1', 'Menjelaskan konsep dasar listrik statis dan medan listrik.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('384637dc-91ae-4d0d-a9ad-8dfda8e32f90', 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 'CPMK-4', 'Mahasiswa mampu berkomunikasi secara efektif dalam diskusi dan kritik desain (design critique) menggunakan media manual.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('384aee36-3c5e-445a-9f80-566c58c05db3', '7a178668-cb76-41c6-a739-4a69f2959af0', 'CPMK-4', 'Mahasiswa mampu menerapkan prinsip etika, moralitas, nilai Islami, dan tanggung jawab sosial dalam simulasi kegiatan profesional.', 0.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('3875fde2-36ad-4dd0-8e8f-59882827644d', 'a4f1b0a6-99cb-40e0-ad0e-e176c57e102f', 'CPMK-3', 'Mampu menerapkan konsep-konsep efisiensi energi dalam merencanakan dan mengelola distribusi tenaga listrik.', 20.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('388f6088-b3ab-4673-924d-9128b30f78eb', '54867a16-2212-4987-99f2-90a7e0f77ce1', 'CPMK-2', 'Mampu merancang metodologi penelitian yang tepat untuk menyelesaikan masalah yang telah dirumuskan.', 21.43, '2026-01-16 22:56:53', '2026-01-17 00:58:11', 'CPL-03, CPL-04'), +('38c13a5a-e8fd-4b5d-877d-c0c2e9089798', '28a4f6b3-52de-4eaa-a3af-597f56d37351', 'CPMK-4', 'Menggunakan visual programming dengan Alice untuk memperkuat pemahaman algoritma', 0.20, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('38d2ff09-de2a-4ce3-88f6-bb6e6c49c691', '2d60d13b-a014-432b-ac80-921ffa8a3be8', 'CPMK-2', 'Mampu menjelaskan konsep dasar representasi ruang keadaan, kendali umpan balik keadaan, dan sistem pengamat (observer).', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('38e04fdc-0d71-4f23-beff-a2b45d8505ae', 'ed089ed7-acb4-45a8-b1e8-95204c8cdb59', 'CPMK-2', 'Menyelesaikan persamaan diferensial orde satu dan orde dua.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('38e856da-db76-40ad-8037-add1ca7f293e', '1f893129-5d23-499b-b7aa-46c839e97b2a', 'CPMK-5', 'Melakukan optimasi performa, pengujian, dan debugging aplikasi mobile.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('39272fa9-3ed9-4fe3-a4a9-e1851b481f7d', '1c5fec35-9053-40a5-9130-ad3a37b5a249', 'CPMK-1', 'Memahami dasar teori bahasa formal, tata bahasa, dan automata.', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('393cb527-497f-45c2-b89f-7b3971a03245', '33fc18df-fd5b-45c5-9893-71f90e37ba61', 'CPMK-6', 'Mahasiswa mampu mengetahui┬á dan memahami Persyaratan perangkat lunak', 0.09, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('395a3da5-3b43-4bfa-90ef-e363fe3af6f0', 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 'CPMK-4', 'Mampu mengumpulkan dan menganalisis data secara sistematis untuk menghasilkan temuan yang valid.', 21.43, '2026-01-16 22:56:40', '2026-01-17 00:58:10', 'CPL-01, CPL-05'), +('395c0636-f886-4a26-80d9-b1dd4c9e7254', '0db07feb-d6da-4542-a6b4-304119e1bedf', 'CPMK-1', 'Menjelaskan prinsip dan arsitektur microservices serta perbandingannya dengan monolithic architecture.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('396ee68b-a6cc-4787-9937-efd00619cbdd', '3f777130-87d1-459e-9a33-6af03d1b9ed5', 'CPMK-3', 'Mahasiswa mampu menentukan pendekatan, metode, dan teknik pengumpulan data yang sesuai dengan masalah riset.', 21.43, '2026-01-16 22:56:50', '2026-01-17 00:58:10', ''), +('3a8fd73d-a866-42dc-92a0-6c9685a003ec', '507f7f49-d126-4c8f-88f1-17fdacab1a26', 'CPMK-2', 'Mampu menjelaskan konsep dasar sistem elektronika cerdas dan penerapan kecerdasan buatan dalam sistem embedded.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('3a9c43c3-a6ec-4265-a018-fc1b810c01d9', '9607961c-1c2e-4463-b3d8-b7028c83f58e', 'CPMK-3', 'Mampu menganalisis teks-teks teknis dalam bahasa Inggris dan menjelaskan isinya.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', 'CPL-03'), +('3a9f586c-5675-43f7-addf-113a17ef9987', '6054f4b0-2914-4ac4-936d-26aefdbd51d6', 'CPMK-4', 'Mampu merevisi proposal penelitian berdasarkan masukan seminar.', 20.00, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('3a9fd73a-bc90-429d-957a-f33a35db5cd4', '9c479004-5b99-4b5a-8abd-d32551d4c43a', 'CPMK-4', 'Menganalisis struktur rangka batang menggunakan metode titik simpul dan metode persamaan.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('3aac43e3-870e-460a-9ccb-bec269279824', '7784e52e-24d5-4a05-9b4f-4e4d062d877e', 'CPMK-3', 'Menerapkan mesin inferensi dan metode penalaran.', 0.20, '2026-01-16 23:21:05', '2026-01-17 00:49:33', ''), +('3ab86dd0-b4f0-4689-a92c-d829625fd8d3', 'fef3d744-dfa4-4059-aa84-578d1a6d432f', 'CPMK-5', 'Mahasiswa mampu menunjukkan sikap profesional dan etis sesuai nilai keislaman dalam pembelajaran arsitektur.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('3aba9c16-1a7c-4b8d-b28b-8df16ee1c28f', '162b0138-4e60-4567-a56a-17cddc27ed92', 'CPMK-5', 'Mampu menunjukkan sikap jujur, bertanggung jawab, dan menghargai kerahasiaan serta kepentingan publik dalam tugas akademik.', 20.00, '2026-01-16 22:56:52', '2026-01-17 00:58:10', ''), +('3acef674-8cf1-43c3-89c6-6d040821ff0a', '1fbe70aa-c19c-4076-9045-ffd606b71b01', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep arsitektur inklusif dan desain universal serta relevansinya dalam perancangan ruang.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('3aed8829-15d8-4357-9c53-f14d3ceb2792', '6cd02db2-b1f9-4aad-873b-349d154516f1', 'CPMK-1', 'Mahasiswa mampu menganalisis kebutuhan dan hubungan ruang untuk bangunan multifungsi skala menengah.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('3b15941c-ed59-4973-8ea0-3b368df0bd84', '150dfc2a-ef1f-4753-b044-24d32ea5aa63', 'CPMK-3', 'Mampu menyusun metodologi penelitian Tugas Akhir dengan penjelasan yang rinci dan dapat dipertanggungjawabkan.', 0.00, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('3b2ef9c8-c5a2-4ceb-b2b2-0ccb2f918587', '28a4f6b3-52de-4eaa-a3af-597f56d37351', 'CPMK-2', 'Menyusun algoritma menggunakan pseudocode dan flowchart.', 0.20, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('3c05ed0f-8ca4-4697-9b72-0d8482e44bf4', '8762c433-6fdd-462b-8494-1d264eb3dd15', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar gaya, beban, momen, keseimbangan, dan sifat mekanis elemen struktur yang relevan dalam rekayasa bangunan.', 0.20, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('3c11660a-6eeb-49fa-8180-1f7ab9231f16', '30a91224-8d90-42ed-95c8-3860f33a85c9', 'CPMK-1', 'Mampu menjelaskan konsep dasar ilmu falak dan aplikasinya dalam kehidupan sehari-hari.', 21.43, '2026-01-16 22:56:36', '2026-01-17 00:58:08', 'CPL-04'), +('3c53f806-7263-442c-82b1-077aabd28a8a', '47a09495-6df8-461c-ba4f-2ea176aa4405', 'CPMK-4', 'Mampu merancang skema proteksi yang selektif dan andal untuk sistem distribusi maupun transmisi dengan mempertimbangkan koordinasi antar perangkat proteksi.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('3c60e336-2607-4001-b459-030cfbc8088d', 'd4c20ee9-3e14-43b7-92d7-e44979d05d11', 'CPMK-2', 'Mampu menjelaskan arsitektur dasar mikroprosesor/mikrokontroler dan siklus instruksi.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('3c7ba4d4-0c23-4db6-a4a6-375c44d855f9', 'b0d71fa7-483d-41b4-b8b6-f111d8601ba1', 'CPMK-5', 'Mahasiswa dapat memahami dan menerapkan Adjective Clause', 14.28, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('3ce87a12-95e3-49d0-acf0-2eb8c7ec96b6', 'a442d9d7-1b63-4ac3-9f16-04d81176b460', 'CPMK-4', 'Mahasiswa mampu mengingat dan memahami Teknologi Jaringan', 0.11, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('3d516435-931a-4a62-9a88-f7c1c811edf6', 'de51842a-bc59-402b-81d0-467a39a694cd', 'CPMK-5', 'Mengoptimalkan model melalui teknik prompt engineering, transfer learning, dan parameter-efficient fine-tuning', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('3d77bf9d-3c19-470c-b01d-96404429a100', 'ebc0373c-c9b3-4027-91eb-2aa050c5a292', 'CPMK-3', 'Mampu menggunakan bahasa pemrograman C atau Python untuk mengembangkan perangkat lunak pada sistem tertanam.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('3df15e13-7186-4334-845a-5dc034ba8727', '05c4ac5d-16dd-4458-bfba-1433b9779853', 'CPMK-3', 'Mampu menganalisis saluran transmisi secara matematis, termasuk impedansi karakteristik, koefisien refleksi, VSWR, dan penurunan persamaan telegrafis.', 20.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('3df68873-ca27-41ad-a65b-87a3affc1f77', 'b8736e55-fb84-4f81-81b9-83adeca227b0', 'CPMK-5', 'Menjelaskan konsep getaran dan gelombang serta aplikasinya.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('3e04c818-ecb0-4e5e-9519-e45facc2d4d1', 'e26f0f1d-d1d3-4795-96b2-d092a3fa5dc7', 'CPMK-3', 'Mampu menganalisis sinyal diskrit menggunakan Transformasi Fourier Diskrit (DFT) dan Transformasi Z.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('3e0804e3-d684-4d5f-9075-d60199879048', 'e8c1e121-5df6-42af-a785-a199e62353fe', 'CPMK-5', 'Mengidentifikasi dan menganalisis hasil exploit untuk dokumentasi keamanan', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('3e2825e8-7039-4986-ba22-11ea9ff327df', '170d427a-0030-47ed-9d6d-e653e8f19be4', 'CPMK-4', 'Mampu merancang dan menganalisis rangkaian logika kombinasi sederhana (misal: adder, decoder, multiplexer).', 20.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15', 'CPL-01,CPL-02,CPL-04'), +('3e81f954-f9c7-43df-a72d-13c3e243a899', 'cff6b13e-d1d3-4d8b-8e78-1269ad2b7f8d', 'CPMK-3', 'Mahasiswa mampu menerapkan algoritma pencarian dalam pemecahan masalah', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('3e96c35c-708c-4642-93b2-0f2c188b80f5', '2b7c4249-f21c-49dc-ab6a-5ef71f3d76c7', 'CPMK-2', 'Merancang konsep ruang yang mencerminkan nilai-nilai estetika dan fungsional arsitektur Islam.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', ''), +('3ea1f766-b193-4fdc-b4aa-d4e5ea1dc41b', '66cc25e3-402c-49de-9ba4-6fd803e0795a', 'CPMK-1', 'Mahasiswa mampu menjelaskan sifat material baja, jenis-jenis baja konstruksi, dan standar teknis yang berlaku.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('3f5aa153-cd2b-4950-bf50-0decce2677c9', '144da052-f49b-4f8f-808e-970811d759cd', 'CPMK-2', 'Menjelaskan konsep arus listrik, hukum Ohm, dan rangkaian listrik sederhana.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('3f67b126-eb72-4098-8d6d-9909a01b9082', '31eb6978-c476-454d-9b25-270f6e49c0ba', 'CPMK-2', 'Mampu menyusun kerangka teori yang relevan dengan topik penelitian.', 21.43, '2026-01-16 22:56:54', '2026-01-17 00:58:11', 'CPL-04, CPL-06'), +('3f883f5a-6249-4624-bb5c-0ce1cb9fad5a', '3701b7b5-54ae-4a36-bccf-83276943464b', 'CPMK-1', 'Menjelaskan konsep dasar keselamatan dan kesehatan kerja (K3) di proyek konstruksi', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('4036b07d-48cb-455c-92ec-fe7ecc7d9efe', 'ed944acc-fdac-4399-84f4-e0bcebaa0351', 'CPMK-5', 'Menyajikan hasil proyek secara lisan dan tertulis dengan baik.', 14.28, '2026-01-17 00:59:14', '2026-01-17 00:59:14', ''), +('4051ff85-d5a3-445f-bcda-9275a8efaac1', '1587fade-3952-4c21-95da-050058151ce1', 'CPMK-5', 'mengaplikasikan konsep mekanika tanah lanjutan dalam perencanaan struktur geoteknik (pondasi, galian, timbunan, dinding penahan) dengan memanfaatkan data hasil uji laboratorium dan lapangan', 20.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14', ''), +('4061ae35-2287-451f-a5e9-3d0e918094c8', '75f4fc91-4001-4618-a823-366acbbdb9d9', 'CPMK-4', 'Mengevaluasi kinerja model generatif berdasarkan metrik', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('406e2051-30c4-4494-ab42-5d26eaf5bb1f', '8a1393c5-895f-4aca-ac56-495e43f660bb', 'CPMK-4', 'Mengembangkan argumen kritis berdasarkan pemahaman tentang Al Islam dan Kemuhammadiyahan.', 21.43, '2026-01-16 22:56:55', '2026-01-17 00:58:38', 'CPL-10'), +('4074eae8-819a-4cb2-8635-60d6e281de36', '2134a8cd-14cd-4be1-b213-3fd75f7c85ac', 'CPMK-3', 'Mahasiswa mampu menyusun rencana bisnis (business plan) sederhana yang mencakup aspek pemasaran, keuangan, dan operasional.', 20.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('4086e4ca-9ccc-40ca-ac3b-fdd84f2ec0d7', '2c23ca53-f3be-414c-976e-b30089d22f50', 'CPMK-5', 'Mampu menunjukkan ketelitian, objektivitas, dan integritas akademik dalam analisis, pengolahan, dan penyajian data.', 20.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16', 'CPL-03,CPL-09,CPL-01'), +('40f842ac-8ee4-40cc-8d0d-9f52cdf9b4ef', '40a873e2-6b11-4708-bcb6-7bb94ae3bf0c', 'CPMK-2', 'Mendesain dan mengimplementasikan berbagai jenis pengujian (unit, integration, system, acceptance)', 0.17, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('4114e103-8df9-4134-8659-17fb7b4edb4f', 'e0db289a-0522-4b75-8871-133ff0fc949d', 'CPMK-2', 'Menganalisis keamanan pada berbagai lapisan protokol jaringan', 0.20, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('4167b9d2-140e-4f08-824a-c09f42888d11', '73beca28-8a3d-43ff-997e-2a26548d63ee', 'CPMK-5', 'Mahasiswa mampu menyajikan hasil desain arsitektur digital secara profesional untuk keperluan akademik dan publikasi.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('4188f8f2-d20c-458e-a872-947d409a50c4', '5295f75b-658d-4e49-9c6f-b96e30c63a81', 'CPMK-2', 'Mampu menjelaskan teori dasar rangkaian AC tiga fasa dan resonansi.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('4197cea8-2564-4458-9e68-09c5d6286542', '80b4b948-ddb7-40e4-89d1-ba78be1e1feb', 'CPMK-5', 'Mahasiswa mampu mendesain, menggambar, dan menyajikan sistem struktur sederhana secara grafis dan tertulis sesuai standar teknis, serta menyusun laporan teknis terukur untuk mendukung rancangan arsitektur.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('41b08b33-8ef0-4752-8ad7-9378e43de17e', '351b0a77-232c-4115-a7f2-ad4a4ebca9d2', 'CPMK-3', 'Mampu menganalisis hasil pengukuran, menghitung ketidakpastian, dan mengevaluasi tingkat kesalahan berdasarkan teori pengukuran.', 20.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18', ''), +('41e99ec8-2435-4c65-8910-e8576f5944bf', 'b0d71fa7-483d-41b4-b8b6-f111d8601ba1', 'CPMK-1', 'Mahasiswa dapat memahami part of┬á speech dan word order dalam bahasa inggris', 14.28, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('4215c6eb-e4da-4ceb-b61e-d6e2d01a3ad8', '67a5866d-9a48-41d3-ac5c-b7be2230c42c', 'CPMK-2', 'Mampu menjelaskan prinsip dasar, fungsi, dan karakteristik berbagai jenis transduser dan sensor.', 20.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33', ''), +('4226fe52-1604-4b24-8627-4e5872d518b8', '37ef7d28-eb4a-42ef-a179-74880fa1e9b8', 'CPMK-3', 'Mahasiswa mampu menjelaskan mengenai ukuran pemusatan dan penyebaran data', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('422c5e9d-1442-414b-bd9f-fb01795b1b31', 'cdcb2c97-4668-4236-a44f-cd926a9f934b', 'CPMK-1', 'Mata kuliah ini membahas prinsip kerja, karakteristik, dan aplikasi berbagai divais semikonduktor seperti dioda, transistor, FET, MOSFET, IGBT, serta penerapannya pada sistem elektronika daya dan sinyal.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('42c0780f-b04f-4b1f-b007-c9c45e0edf29', 'aa2fa177-91cd-4575-9a2b-0a7174f61b0a', 'CPMK-3', 'Mendesain arsitektur sistem yang scalable menggunakan load balancer, caching, dan replication.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('42c82d6a-654c-499c-b1b2-aa88363608bb', '5b58785e-cbc1-43d8-9e9c-810f25534f0b', 'CPMK-5', 'Mengoptimalkan performa model dengan teknik regularisasi, tuning hyperparameter, dan transfer learning.', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('431f054a-a1c2-4689-850c-6bef3a925cf4', '07bd02d2-62ad-44b6-9b14-ec41ec3401af', 'CPMK-6', 'Menerapkan teknik fine-tuning model pra-latih (BERT, GPT, T5) untuk aplikasi NLP spesifik', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('4363cf85-fd13-4e13-b22a-556d4ab64e23', '03f5fe59-806c-4f28-842f-643d9654c781', 'CPMK-5', 'Menyusun laporan hasil penetration testing dan rekomendasi perbaikan sistem.', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('43654991-b765-4f36-b8ff-1d035e05af02', 'de1bf435-d79b-4db7-bd52-316a03e2691e', 'CPMK-5', 'Mahasiswa mampu menyajikan hasil kajian bahan bangunan dalam bentuk laporan dan presentasi.', 0.20, '2026-01-16 22:56:43', '2026-01-17 00:52:38', ''), +('4377c51a-79bc-4415-a96d-61cb4b1add92', '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 'CPMK-4', 'Mampu mengevaluasi literatur yang relevan untuk mendukung penelitian yang diusulkan', 21.43, '2026-01-16 22:56:39', '2026-01-17 00:58:09', 'CPL-01'), +('439fc331-5842-4118-928d-5dc75d9ba022', '351b0a77-232c-4115-a7f2-ad4a4ebca9d2', 'CPMK-2', 'Mampu menjelaskan konsep dasar sistem pengukuran, jenis besaran yang diukur, dan karakteristik alat ukur (akurasi, presisi, sensitivitas, dan kesalahan pengukuran).', 20.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18', ''), +('43e466ff-b98e-4a34-9f01-d1769e02a9c1', '615bed82-5916-4594-b5c4-7c4353b02636', 'CPMK-4', 'Mampu menghitung dan menganalisis impedansi, reaktansi, fasor, dan daya dalam sistem AC.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('44267df4-0089-4e5a-8bb5-092919bd40f0', '4fc36d1c-942b-4bec-a9a5-d58075c3d137', 'CPMK-3', 'Mahasiswa mampu merancang sistem pengkondisian bangunan yang efisien, berkelanjutan, dan mendukung kesehatan pengguna.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('44289c34-ec0b-4038-b48b-824f580e8f19', '35eebf92-894d-4936-9d0f-6bdf47adc11f', 'CPMK-5', 'Mampu berkomunikasi efektif, bekerja dalam tim multidisiplin, serta menunjukkan etika profesi, tanggung jawab sosial, dan sikap profesional dalam penyelesaian tugas proyek.', 20.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('442ac345-61ed-405f-8470-591fc753ba09', '5fd10a1a-f7e2-4520-adcb-8c64d71155b1', 'CPMK-2', 'Mahasiswa mampu menganalisis kebutuhan pengguna, hubungan fungsi, dan pola ruang dasar.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('44423ae3-4020-4976-98c6-7cfb9c138902', 'f75f20e0-1f04-4725-8c20-e138fd12d386', 'CPMK-2', 'Mendesain arsitektur aplikasi mobile dengan fokus pada modularitas, reusability, dan user experience', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('444cde92-a3f6-4b99-be0d-65b78e187bba', '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 'CPMK-2', 'Menerapkan teknik-teknik AI dalam konteks pemecahan masalah berbasis nilai-nilai Islam.', 21.43, '2026-01-16 22:56:38', '2026-01-17 00:58:09', 'CPL-05, CPL-04'), +('4489a969-2fc9-4a6b-9b42-dbf86ec24e94', '6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 'CPMK-4', 'Merancang proposal revitalisasi yang mempertimbangkan aspek keberlanjutan dan partisipasi masyarakat.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', 'CPL-01, CPL-02'), +('44921d4e-e8a8-4a57-a586-b57b4a7251d5', 'ffd459b7-c016-41f0-8c3d-0290433eef19', 'CPMK-5', 'Mahasiswa mampu mengevaluasi desain dengan mempertimbangkan masukan multi-disiplin, regulasi, dan potensi pengembangan kawasan.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('44bb8eac-dc4b-44a1-9de9-4e75b7b3a449', 'de51842a-bc59-402b-81d0-467a39a694cd', 'CPMK-3', 'Melakukan pre-training dan fine-tuning model LLM untuk domain spesifik', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('45163f68-6dd7-43ff-9806-b6c4c5fbdc09', '0d90c7f0-af81-4b0a-9a50-1467d4617a98', 'CPMK-1', 'Mata kuliah ini membahas prinsip dan aplikasi elektronika yang digunakan dalam sistem telekomunikasi, termasuk penguatan sinyal, modulasi, rangkaian RF, filter, osilator, serta perangkat front-end pemancar dan penerima.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('452834fe-cab5-4158-bee0-ec3fb5e88785', '7784e52e-24d5-4a05-9b4f-4e4d062d877e', 'CPMK-2', 'Mahasiswa memahami konsep dasar dan tujuan data mining.', 0.20, '2026-01-16 23:21:05', '2026-01-17 00:49:33', ''), +('4597821e-40e3-47ae-bc1a-2bd8d9b43666', 'a442d9d7-1b63-4ac3-9f16-04d81176b460', 'CPMK-7', 'Mahasiswa mampu mengingat dan memahamiIPX, NetBIOS dan Protokol Apple Talk', 0.11, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('45ace441-3d99-49fe-a715-85a81d051e8e', 'd8273dbe-018b-4c80-9074-6535f5fab03a', 'CPMK-1', 'Mata kuliah ini membahas pemrograman dan kendali mikrokontroler serta akuisisi data analog. Mahasiswa akan mempelajari arsitektur dasar mikrokontroler (Arduino), bahasa pemrograman C/C++, serta kendali input/output digital menggunakan komponen seperti seven segment dan LED. Selain itu, praktikum ini mencakup prinsip kerja ADC, pemrograman untuk membaca sensor analog, dan integrasi mikrokontroler dengan sistem energi seperti panel surya untuk verifikasi Hukum Ohm dalam aplikasi nyata.', 33.33, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('45fbfb68-9878-4509-bee2-01276dfcd481', '46b8cb78-c18e-446b-b090-0d1acfd66533', 'CPMK-2', 'Mahasiswa mampu menghitung reaksi tumpuan dan gaya dalam elemen struktur sederhana.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('4625daf4-6ca4-4a42-ac24-7aa68fcf4b01', '3a40a9d1-086d-4d41-9e2b-f4da42382168', 'CPMK-3', 'Mahasiswa mampu menerapkan prinsip desain arsitektur tropis pada perancangan bangunan yang hemat energi dan adaptif terhadap iklim.', 0.20, '2026-01-16 22:56:49', '2026-01-17 00:52:38', ''), +('462afe1f-ba31-4da0-892b-61c8dbbd5422', 'dd3cfb97-dca0-419d-9ad9-235f4e91dcba', 'CPMK-4', 'Mampu melakukan pendekatan diferensiasi dan integrasi secara numerik serta menganalisis ketelitian penyelesaiannya.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('465a1c56-5300-4413-8c3d-81cf62b153bb', '150dfc2a-ef1f-4753-b044-24d32ea5aa63', 'CPMK-5', 'Mampu menyajikan rancangan Tugas Akhir secara lisan dan tulisan dalam bentuk proposal/outline yang meyakinkan.', 0.00, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('46811b03-e377-4ce6-9932-a804d3c86175', '024d3e76-0845-4ebb-a000-ad72db9eccb3', 'CPMK-3', 'Mahasiswa mampu mengintegrasikan prinsip keberlanjutan, nilai Islami, dan tanggung jawab sosial dalam pelaksanaan pekerjaan.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('46aca02a-59df-4539-aa6e-29bb23cbd971', '68d1b998-7db7-4f09-8718-27b33bad8f16', 'CPMK-1', 'Menjelaskan konsep dasar etika dan profesi', 20.00, '2026-01-16 22:56:37', '2026-01-17 00:58:08', ''), +('46c21b07-1e6d-41c3-af64-981caf4ab06b', 'bdb4c8e8-b5ca-4d3d-926f-125fff9dff19', 'CPMK-1', 'Mahasiswa mampu menjelaskan prinsip arsitektur perangkat lunak', 0.20, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('474f080b-2496-4631-81f0-c365ddf9dbf1', 'a7c11b9a-42a1-4ada-84bb-fd504a3ecb18', 'CPMK-4', 'Mahasiswa dapat memahami dan mengimplementasikan Metode Numerik ke dalam Bahasa Pemrograman', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('47ae0067-cb5e-4c9c-80c8-f96e07748242', '14db19d8-2f5c-4f53-b68d-53e65a32f898', 'CPMK-6', 'Mengevaluasi performa sistem data berdasarkan throughput, latency, dan scalability', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('47c888f0-6310-4b8e-8072-f929b94a59cb', 'e9493d2b-1ba4-4338-9a38-815bcad65a6c', 'CPMK-2', 'Mampu menggunakan Multimeter untuk mengukur arus, tegangan DC, dan resistansi serta menentukan nilai resistor berdasarkan kode warna dan memverifikasi formulasi rangkaian seri/paralel.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19', ''), +('481d9bd3-c276-4315-82ca-4d0811e255fe', 'fc5285d1-6d74-447c-91ad-34144ba5b289', 'CPMK-4', 'Mampu mengimplementasikan sistem akuisisi data sederhana menggunakan mikrokontroler untuk membaca, memproses, dan menampilkan data sensor.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('4840b483-a630-4b00-8306-215c95e5148f', 'cbaa232e-a1df-426b-bdea-af5c42b8da05', 'CPMK-5', 'Mampu menyusun dokumentasi teknis, mempresentasikan hasil secara profesional, serta merencanakan, mengelola, mengevaluasi, dan menyelesaikan proyek secara mandiri maupun kolaboratif dalam lingkungan multidisiplin dengan menjunjung nilai profesional dan Islami.', 16.66, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''), +('48415114-91c6-48a5-89b4-7f13b2813c02', '162b0138-4e60-4567-a56a-17cddc27ed92', 'CPMK-2', 'Mampu mengidentifikasi dilema etis dalam praktik perencanaan dan pengelolaan ruang.', 20.00, '2026-01-16 22:56:52', '2026-01-17 00:58:10', ''), +('486aa493-e7b5-45ce-87b3-3fb1fc3091ff', 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 'CPMK-3', 'Mampu menganalisis data dan informasi secara kritis untuk menghasilkan kesimpulan yang valid.', 21.43, '2026-01-16 22:56:38', '2026-01-17 00:58:09', 'CPL-05, CPL-04'), +('486c9666-0a14-4b5e-aee5-7649d9d739ec', '40a873e2-6b11-4708-bcb6-7bb94ae3bf0c', 'CPMK-3', 'Menggunakan alat bantu otomatisasi pengujian seperti JUnit, Selenium, Postman, dan Jenkins.', 0.17, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('488e7227-ea48-427f-953e-21f06cffc9e7', '2c23ca53-f3be-414c-976e-b30089d22f50', 'CPMK-4', 'Mampu menerapkan konsep probabilitas dan statistik untuk memecahkan masalah teknik elektro sederhana, termasuk pengolahan dan interpretasi data.', 20.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15', 'CPL-02'), +('489cc4d4-2989-4423-b293-31bcf97eb519', '2134a8cd-14cd-4be1-b213-3fd75f7c85ac', 'CPMK-5', 'Mahasiswa mampu menyajikan gagasan usaha atau proyek kepemimpinan dalam bentuk presentasi yang komunikatif dan meyakinkan.', 20.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''); +INSERT INTO `cpmk` (`id`, `id_mk`, `kode_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`, `matched_cpl`) VALUES +('48ac384b-92a4-4eb5-805a-31da8f95f547', '4ef5dd3c-5811-474f-b555-8059d108f8e2', 'CPMK-1', 'Mata kuliah ini membahas prinsip dasar perancangan, analisis, dan optimasi sistem telekomunikasi berdasarkan konsep trafik.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('48c88b4c-af96-44e1-9b37-420b35c04a2c', 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 'CPMK-5', 'Mahasiswa mampu menunjukkan etika, tanggung jawab, dan kerapian kerja dalam penyusunan dan penyajian media presentasi arsitektur.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('4968c34c-40cd-4c17-815f-56a3a076c5a9', 'cbaa232e-a1df-426b-bdea-af5c42b8da05', 'CPMK-2', 'Mampu mengidentifikasi permasalahan nyata, menganalisis kebutuhan pengguna, dan menentukan spesifikasi sistem teknik elektro menggunakan prinsip matematika, sains, rekayasa, dan teknologi informasi secara komprehensif.', 16.66, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''), +('497d18c4-e17a-410f-b79a-8581fed9ba04', '93e41542-d15b-4385-93da-a3534835a907', 'CPMK-1', 'Mata Kuliah ini mempelajari prinsip dasar interaksi antara cahaya dan materi dalam perangkat elektronika yang bekerja berdasarkan fenomena optik.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('497d207b-64b2-4f7b-b3fa-1fd90a311073', '7a178668-cb76-41c6-a739-4a69f2959af0', 'CPMK-1', 'Mahasiswa mampu menjelaskan ruang lingkup profesi arsitek dan peranannya dalam masyarakat.', 0.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('498da964-e109-4dc2-b247-e2f734c2ea5e', '53a5f150-9b86-43a7-ac28-6d0c300c5fab', 'CPMK-1', 'Mahasiswa mampu menjelaskan pengertian biner, operasi-operasi biner dan sifat-sifat operasi biner.', 0.14, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('49d55227-c19a-4851-888f-73d697be375b', '5b56f6e0-e5d9-4a89-8f34-39bc717dd9ad', 'CPMK-1', 'Mata kuliah ini membahas prinsip kerja, karakteristik, dan aplikasi mesin listrik arus searah (DC) dan arus bolak-balik (AC), termasuk transformator, motor, dan generator, serta analisis kinerja dan efisiensinya dalam sistem tenaga listrik.', 25.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('49df109e-45d7-4f49-9fd5-7c0bec8bbb07', '80b4b948-ddb7-40e4-89d1-ba78be1e1feb', 'CPMK-3', 'Mahasiswa mampu menghitung kebutuhan dan kapasitas elemen struktur sederhana berdasarkan beban yang bekerja.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('49ef9317-98af-4158-bca7-8f62ab9b9a81', '7143e93e-2bb6-4f3b-8ac8-34aa07e37631', 'CPMK-2', 'Mampu menjelaskan konsep dan hukum dasar fisika klasik seperti gerak, gaya, energi, dan momentum.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', ''), +('4a039347-3dad-4266-80b6-a96c15160a23', 'ebc0373c-c9b3-4027-91eb-2aa050c5a292', 'CPMK-1', 'Mata kuliah ini membahas konsep dan implementasi sistem tertanam (embedded system)\r\nberbasis mikrokontroler dan mikroprosesor. Mahasiswa mempelajari cara merancang,\r\nmemprogram, dan mengintegrasikan perangkat keras dan perangkat lunak untuk\r\nmenciptakan sistem otomatis dan cerdas. Materi mencakup arsitektur sistem tertanam,\r\npemrograman embedded C/Python, komunikasi data (UART, SPI, I2C), serta integrasi\r\nsensorΓÇôaktuator dan Internet of Things (IoT) melalui proyek aplikatif.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('4a204e51-6959-4e0a-a6c1-9276b95332fd', 'b8736e55-fb84-4f81-81b9-83adeca227b0', 'CPMK-1', 'Menjelaskan konsep kinematika gerak lurus dan gerak melingkar.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('4a30cb49-924d-42f5-ab34-d32c8d2e078e', 'e618216d-8b85-4f3d-95e7-afd4627a77bd', 'CPMK-3', 'Mahasiswa mampu menerapkan algoritma pencarian dalam pemecahan masalah', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('4a5322ed-03af-4f89-a3c6-ef26adcc591f', 'de51842a-bc59-402b-81d0-467a39a694cd', 'CPMK-4', 'Mengevaluasi kinerja model generatif berdasarkan metrik', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('4a94f203-0748-40b2-8abd-73dd926d0331', '4b816454-ee6c-4935-aba8-7212ec152ee3', 'CPMK-1', 'Mampu menjelaskan konsep dasar integral dan diferensial serta aplikasinya dalam berbagai bidang.', 21.43, '2026-01-17 00:58:37', '2026-01-17 00:58:37', 'CPL-01, CPL-04'), +('4b241ff8-371a-405b-90d1-fc4b24785d44', 'cff6b13e-d1d3-4d8b-8e78-1269ad2b7f8d', 'CPMK-4', 'Mahasiswa mampu menjelaskan dan mengimplementasikan dasar-dasar machine learning.', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('4b6e3baa-ae53-48c8-bf6d-01691050bec6', '881a35ab-2427-447e-bb8a-e26a566f677a', 'CPMK-3', 'Mahasiswa mampu mengembangkan konsep desain ruang luar yang kreatif, kontekstual, dan berlandaskan nilai Islami.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('4b7f39e2-9360-4618-8090-64a4f8aa3fc6', 'b2c0cb8b-152d-4ee8-8cad-a19222f0d55d', 'CPMK-1', 'Memahami dasar-dasar Computational Thinking dan konsep algoritma', 0.20, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('4ba5ae96-5a66-4ed3-9572-b5dbd460523c', '86dccf89-001f-40b2-8396-3df88537c00f', 'CPMK-6', 'Melakukan audit dan monitoring keamanan sistem berbasis cloud', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('4bbb84c4-09b6-4a8c-ba6f-f073454bfa0c', 'b2c0cb8b-152d-4ee8-8cad-a19222f0d55d', 'CPMK-5', 'Melakukan debugging dan pengujian program berbasis Java.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', ''), +('4bf1e50d-48be-4694-8ea5-5bd803444ef1', 'a8aaa007-c80c-4244-a47f-6746bc34c1ae', 'CPMK-2', 'Mengidentifikasi tahapan-tahapan utama dalam proses penetration testing.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('4c175b45-d2ed-4129-97f9-df2860315dfc', '3701b7b5-54ae-4a36-bccf-83276943464b', 'CPMK-2', 'Menganalisis standar dan regulasi K3 nasional dan internasional', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('4c1cf232-5af9-45f2-84b4-e93f5e397359', '9db744c2-99cd-408d-a39d-7babdc37350c', 'CPMK-3', 'Mahasiswa mampu melakukan pengukuran arah kiblat, ketinggian matahari, dan observasi astronomis sederhana menggunakan instrumen falak.', 25.00, '2026-01-16 22:56:49', '2026-01-17 00:58:10', ''), +('4c275d1e-7cae-4b9b-8bd5-9573ac739d9b', '7fad4df3-d503-4c05-8db8-f0109c58e8d6', 'CPMK-3', 'Mahasiswa mampu mengevaluasi penerapan nilai ibadah, akhlak, dan muamalah Islami dalam kehidupan pribadi, sosial, dan lingkungan akademik.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('4c5835be-f9f8-4170-aa0c-58f713857292', 'c378e358-586e-42d8-b8d8-8aad0ae97dc4', 'CPMK-1', 'Mata kuliah Analisis Sistem Tenaga Listrik memfokuskan pada studi sistem tenaga listrik, mulai dari pembangkitan, transmisi, distribusi, hingga penggunaan energi listrik dalam berbagai aplikasi. Mata kuliah ini mengajarkan konsep dasar analisis sistem tenaga seperti perhitungan arus, tegangan, daya, serta analisis kestabilan sistem tenaga dan perencanaan jaringan distribusi. Mahasiswa akan mempelajari metode-metode untuk menganalisis arus bolak-balik (AC) dan arus searah (DC) dalam sistem tenaga, termasuk aplikasi teknik seperti analisis aliran daya, analisis gangguan sistem, serta evaluasi kualitas daya listrik. Mata kuliah ini juga mencakup evaluasi terhadap kinerja sistem tenaga serta solusi untuk masalah-masalah umum yang terjadi pada sistem tenaga listrik.', 20.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('4c94fc6c-6ea4-448d-a582-81aff5b8a06e', 'b5e186b0-b06e-4fb7-b53d-3fccfa849544', 'CPMK-3', 'Mampu mengevaluasi kinerja model dan menerapkan pendekatan interpretabilitas serta etika AI.', 0.25, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('4c9bd28c-0f5b-403e-9cfe-b95fc4405729', 'e618216d-8b85-4f3d-95e7-afd4627a77bd', 'CPMK-5', 'Mahasiswa mampu merancang aplikasi sederhana berbasis AI.', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('4d32b792-dfe1-4e6c-8b05-46e0833d918a', '36f3e69d-ab34-4970-bec4-2a57f9a35d1e', 'CPMK-6', 'Mampu merencanakan dan mengelola pengoperasian sistem tenaga listrik dengan memperhatikan efisiensi, keberlanjutan, dan faktor keselamatan.', 16.70, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('4dabab62-8379-4f7e-8527-b21cb3543ec8', '2b4d6814-0226-4349-9e22-645bb78fcf55', 'CPMK-5', 'Mampu mengintegrasikan nilai keislaman, kemuhammadiyahan, dan prinsip pembelajaran sepanjang hayat dalam sikap profesional.', 20.00, '2026-01-16 22:56:55', '2026-01-17 00:58:29', ''), +('4df98094-4241-4e42-be7e-57062e24e8fa', 'd4c20ee9-3e14-43b7-92d7-e44979d05d11', 'CPMK-1', 'Mata kuliah ini membahas arsitektur, prinsip kerja, dan pemrograman mikroprosesor serta mikrokontroler, termasuk interfacing dengan perangkat input/output, memori, dan modul eksternal, untuk pengembangan sistem tertanam di bidang teknik elektro.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('4ecfb362-0d8a-4205-a397-8dbf8e0f5fcd', '11987187-2fc3-48d5-9f09-12e6310d35e5', 'CPMK-1', 'Mata kuliah ini membahas konsep dasar aljabar linear, termasuk sistem persamaan linear, vektor, matriks, determinan, ruang vektor, dan transformasi linear sebagai landasan matematis bagi berbagai aplikasi teknik. Pembelajaran difokuskan pada pemahaman konsep dan metode penyelesaian matematis yang diperlukan untuk analisis sistem linear dasar.', 21.43, '2026-01-17 00:58:13', '2026-01-17 00:58:13', ''), +('4ef0a7e7-1b31-4779-8a10-ce7378649d18', '7df87425-930d-458e-bf91-8398825b82c1', 'CPMK-2', 'Mahasiswa mampu mengidentifikasi jenis beton dan teknologi konstruksi beton yang umum digunakan pada bangunan.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('4efcb2e5-1eb3-4a5d-8f5e-c9e3199773f0', '4f30b5fb-81d8-4ce3-a462-3e51386280ae', 'CPMK-1', 'Mahasiswa mampu menjelaskan tentang konsep dasar sistem komputer', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('4f07a584-3272-4011-8c4c-c180179ca697', '255aebe2-a27d-4e29-a1f7-41483050dd1e', 'CPMK-1', 'Menjelaskan konsep dasar ethical hacking, penetration testing, dan peranannya dalam keamanan siber.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('4f47825e-7a0f-40b1-be6e-f782dd03dcc8', 'e001a246-3d23-4e88-b982-3abbf29caf15', 'CPMK-4', 'Mahasiswa mampu menyajikan rancangan melalui gambar 2D, visualisasi 3D sederhana, maket fisik, dan laporan terstruktur.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('4faa3cc6-7e16-44ce-bed3-8974f702b33b', '07bd02d2-62ad-44b6-9b14-ec41ec3401af', 'CPMK-1', 'Menjelaskan konsep dasar Natural Language Processing dan representasi data teks.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('5006cfb9-5976-4bd9-950a-0290c1e3e091', 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 'CPMK-3', 'Mampu merancang metodologi penelitian yang tepat untuk menjawab pertanyaan penelitian yang telah dirumuskan.', 21.43, '2026-01-16 22:56:39', '2026-01-17 00:58:10', 'CPL-01'), +('50397f99-0f71-4756-ad38-080247d61c3f', '00a82311-cd30-46ff-ac59-f6280a6e6f3b', 'CPMK-1', 'Menjelaskan pengertian sains, metode ilmiah, dan perkembangan ilmu pengetahuan', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', ''), +('508c9e7d-085b-43f2-b5d8-8c66e5b4352c', '4b816454-ee6c-4935-aba8-7212ec152ee3', 'CPMK-5', 'Mampu menyusun laporan hasil perhitungan dan analisis integral serta diferensial secara sistematis.', 14.29, '2026-01-17 00:58:37', '2026-01-17 00:58:37', 'CPL-01, CPL-06'), +('50cdca73-683f-4ff5-a6a4-7063ff88914b', 'f6f7c1a6-23c1-44b7-b523-acaff2a89c8c', 'CPMK-5', 'Melakukan monitoring, logging, dan retraining otomatis untuk menjaga performa model produksi.', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('50fb33cd-e7ab-4949-a93b-4e6d3fe1577e', 'ce456cc0-536f-47f1-81b1-c8459b3f2da8', 'CPMK-1', 'Menjelaskan struktur dan komposisi bumi', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('5101d404-637f-440f-a874-82cf2a5c79d6', 'afa1034a-7eb4-498f-9a6f-b2213869aedc', 'CPMK-1', 'Mata kuliah ini membahas konsep, arsitektur, teknologi, dan pengoperasian jaringan telekomunikasi modern, baik jaringan kabel maupun nirkabel.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('5109d83d-4ff3-46a5-b40c-eb949fc128be', '7efb0e90-2bee-4647-8438-88bd0aebaa96', 'CPMK-4', 'Mampu merancang dan mensimulasikan rangkaian atau sistem elektronika lengkap menggunakan perangkat lunak desain dan simulasi yang relevan.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('5113ae1a-1e77-4fa3-8a7e-c261d4b236bf', '969911f0-3df1-4705-af93-fd6807f1dcaa', 'CPMK-4', 'Menganalisis hasil visualisasi data dengan teknik grafika komputer.', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('511938c4-c403-412d-8f4a-cbcba428862f', '66cc25e3-402c-49de-9ba4-6fd803e0795a', 'CPMK-5', 'Mahasiswa mampu menyajikan desain konstruksi baja dalam bentuk gambar kerja dan laporan teknis.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('511ee6cb-c7a1-456a-89b6-491b5e8828aa', '75e925ed-43ed-40e5-91de-706b0b1a1964', 'CPMK-5', 'Menyajikan gagasan awal perancangan sederhana dengan mempertimbangkan nilai humanis, berkelanjutan, dan Islami.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('5122fe5e-66e4-4459-95c9-3dbb76050d78', '9c479004-5b99-4b5a-8abd-d32551d4c43a', 'CPMK-3', 'Membuat diagram gaya geser dan momen lentur.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('51268dec-284c-45a4-a982-0dadd409d19b', '7a178668-cb76-41c6-a739-4a69f2959af0', 'CPMK-5', 'Mahasiswa mampu menunjukkan sikap profesional, integritas, dan etos kerja dalam tugas dan proyek perancangan.', 0.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('51299692-e701-4be3-9824-20d8f3f3501d', '4ef5dd3c-5811-474f-b555-8059d108f8e2', 'CPMK-4', 'Mampu menerapkan teori antrian dan model trafik untuk merancang kapasitas jaringan sesuai kebutuhan layanan.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('514ebc99-e4a5-4316-88cb-a2e06fcf7c11', '41ad4d39-fb6b-4d7a-b00b-8ca9a1204bd3', 'CPMK-3', 'Mahasiswa mampu menguraikan pemikiran, manhaj tarjih, dan peran Muhammadiyah dalam gerakan pembaruan Islam serta kontribusinya bagi pembangunan masyarakat.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('51deb58c-e3f6-41a7-b80d-3b3184e5035f', '4b816454-ee6c-4935-aba8-7212ec152ee3', 'CPMK-2', 'Mampu menghitung integral dan turunan fungsi dengan menggunakan berbagai metode.', 21.43, '2026-01-17 00:58:37', '2026-01-17 00:58:37', 'CPL-01, CPL-04'), +('525a2535-4fce-4846-b7a5-156bd9d97731', 'ac5382bb-6368-4957-915a-00a06ec8c767', 'CPMK-5', 'Mahasiswa mampu menyajikan dan mempertahankan usulan di forum seminar secara meyakinkan dan komunikatif.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('52833d75-3eae-4404-a8e7-0b32f14af086', '47d4a2b5-492d-47a1-acc7-90919054c72e', 'CPMK-2', 'Mampu menjelaskan konsep bilangan kompleks, bentuk kartesius dan polar, serta operasi-operasi dasarnya.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14', ''), +('5295dd0c-52e9-4046-80d7-0622bc7fa255', 'f6f7c1a6-23c1-44b7-b523-acaff2a89c8c', 'CPMK-3', 'Mengimplementasikan sistem deployment model menggunakan Docker dan Kubernetes.', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('529a00eb-5502-48ed-8752-8c6bc7467caf', 'bdb4c8e8-b5ca-4d3d-926f-125fff9dff19', 'CPMK-2', 'mampu menganalisis kebutuhan sistem', 0.20, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('52bc6db2-0688-4179-a319-ecf672f52ad3', 'dd7e57da-b160-4ecc-817e-4b644672aecb', 'CPMK-4', 'Mahasiswa mampu menyajikan rancangan melalui gambar teknis lengkap, visualisasi 3D tingkat lanjut, maket detail, dan laporan komprehensif.', 0.20, '2026-01-16 22:56:49', '2026-01-17 00:52:38', ''), +('52c04a2d-5351-4ea9-8c97-1e7e5cf2374a', 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 'CPMK-1', 'Mampu merumuskan masalah penelitian yang relevan dan signifikan dalam bidang studi yang dipilih.', 21.43, '2026-01-16 22:56:39', '2026-01-17 00:58:10', 'CPL-01, CPL-02'), +('52fff22e-a0a7-48e6-918c-224a5b7f92e8', '9f7d6597-3b8a-4fce-b1bc-17977515d6d2', 'CPMK-1', 'Memahami konsep dasar data engineering dan sistem big data', 0.17, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('53120ee8-73ad-473b-a8a8-11afb11301bf', '53a5f150-9b86-43a7-ac28-6d0c300c5fab', 'CPMK-7', 'Mahasiswa mampu memahami definisi dari fungsi pembangkit, membuat fungsi pembangkit dari sebuah fungsi numerik, mengetahui hubungan antara fungsi pembangkit dengan fungsi numerik, menyelesaikan relasi rekursif dengan menggunakan fungsi pembangkit.', 0.14, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('532c443c-ea5c-486c-ab19-582bf4a5f3de', 'bdb4c8e8-b5ca-4d3d-926f-125fff9dff19', 'CPMK-4', 'mendokumentasikan arsitektur menggunakan standar industri', 0.20, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('5418b08e-fad3-49d2-aa40-85c6c0de803c', '9ad1d2e1-8ed4-4204-bb39-d149a56997cb', 'CPMK-3', 'Mahasiswa mampu memilih material dan sistem konstruksi untuk high-rise yang memenuhi aspek teknis, estetika, keberlanjutan, dan nilai Islami.', 0.20, '2026-01-16 22:56:50', '2026-01-17 00:52:38', ''), +('5468cb38-7793-4306-9f5d-fc2dadacd8df', 'ed944acc-fdac-4399-84f4-e0bcebaa0351', 'CPMK-7', 'Menunjukkan kesadaran terhadap pembelajaran sepanjang hayat.', 14.32, '2026-01-17 00:59:14', '2026-01-17 00:59:14', ''), +('546ab82b-0344-4a5b-91ce-fe91559eca30', '4acf9737-d545-4eb5-b80a-98178b9c9009', 'CPMK-1', 'menjelaskan konsep dasar sistem Bumi, termasuk geosfer , proses internal-eksternal Bumi, dan keterkaitannya dengan fenomena alam', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('54762a32-500c-4067-b52e-f68a8b09ac60', '8528a2e0-fee5-487c-b5fa-d104d0a31982', 'CPMK-1', 'Mata kuliah ini membahas konsep lanjutan fisika yang relevan dengan teknik, seperti gelombang, optik, elektromagnetik dasar, dan fenomena fisika modern yang menjadi dasar pengembangan teknologi elektro. Mahasiswa mempelajari prinsip fisika melalui pendekatan matematis, analitis, dan eksperimental untuk memahami perilaku gelombang, cahaya, serta interaksi medan listrik dan magnet. Melalui mata kuliah ini, mahasiswa diharapkan mampu mengembangkan kemampuan analisis fenomena fisika, melakukan eksperimen sederhana, serta mengaplikasikan prinsip fisika dalam konteks rekayasa teknik elektro.', 20.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15', ''), +('54cd1218-c49b-41b9-9549-bd47bfb70b00', 'aa134f8b-abba-401b-a847-cd9ceef9827b', 'CPMK-5', 'Mengevaluasi kekuatan algoritma dan kerentanan sistem komunikasi digital.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('550e4cdf-f23e-4f12-8d05-fb039dc2d017', '0db07feb-d6da-4542-a6b4-304119e1bedf', 'CPMK-3', 'Mengimplementasikan komunikasi antar layanan menggunakan REST API, gRPC, dan message queue', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('5526a558-916a-40c4-9aec-3aef7789d291', '0f73ece5-1a7d-4a9f-adb8-3b738ce322b5', 'CPMK-3', 'Membangun model NLP berbasis machine learning dan deep learning sederhana.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('552ffbce-c842-41d2-b275-3059b2ecb4b6', '1fbe70aa-c19c-4076-9045-ffd606b71b01', 'CPMK-5', 'Mahasiswa mampu menyajikan rancangan arsitektur inklusif dalam bentuk gambar, model, dan dokumen teknis secara profesional.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('5553ec70-ad82-4a9d-a9d9-80006660b4f6', '7df87425-930d-458e-bf91-8398825b82c1', 'CPMK-1', 'Mahasiswa mampu menjelaskan sifat, komposisi, dan karakteristik beton serta faktor yang memengaruhi kekuatannya.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('55642ef2-a629-41c5-a74b-5b38930c0e10', 'e517d812-8ad2-4124-ba9e-1f3dbbb2f815', 'CPMK-3', 'Melakukan analisis dan monitoring lalu lintas jaringan', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('55ad58e8-fb03-47b6-af06-084746f73fee', 'aa134f8b-abba-401b-a847-cd9ceef9827b', 'CPMK-3', 'Mengimplementasikan algoritma enkripsi dan dekripsi menggunakan bahasa pemrograman atau tools', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('55db46c0-f156-4bc2-ac48-cd495e6bedae', '232eebe0-9a79-4c38-abc2-30b4af9f865b', 'CPMK-4', 'Mahasiswa mampu mengingat dan memahami BUS dan Interkoneksinya', 0.11, '2026-01-16 23:20:59', '2026-01-17 00:49:33', 'CPL-05,CPL-01,CPL-02'), +('56603f04-65c0-4cb3-bb9f-6a66e73dbc58', '0f73ece5-1a7d-4a9f-adb8-3b738ce322b5', 'CPMK-1', 'Menjelaskan konsep dasar Natural Language Processing dan representasi data teks.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('5683f025-833e-40b6-bb60-502f731456b1', 'e0ff767f-6980-4036-868d-6b4ce30c741e', 'CPMK-4', 'Mahasiswa mampu menerapkan perspektif sosial budaya dalam menilai dampak keputusan profesional.', 0.25, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('56883ff3-5a01-486d-a18d-f43513155b06', '2b7c4249-f21c-49dc-ab6a-5ef71f3d76c7', 'CPMK-5', 'Mengembangkan proposal desain arsitektur yang inovatif dengan mempertimbangkan konteks lokal dan tradisi Islam.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', ''), +('569fd24c-3961-496d-83b9-d9d4b64d215c', '170d427a-0030-47ed-9d6d-e653e8f19be4', 'CPMK-3', 'Mampu menyederhanakan ekspresi logika menggunakan tabel kebenaran dan peta Karnaugh (K-map).', 20.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15', 'CPL-01,CPL-04'), +('56c85de5-8d7a-4ce4-8ef4-f40c54564fb7', 'b995e4ed-c305-4abc-b847-216f92bc9fa5', 'CPMK-2', 'Mahasiswa mampu mengidentifikasi permasalahan lingkungan yang relevan dengan perancangan dan pembangunan.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('56c8a674-a34a-40b9-a2da-4f3daf454128', '0375adf6-4cb2-4d27-ae28-061bc9b51795', 'CPMK-1', 'Memahami konsep dasar pemrograman web, termasuk struktur HTML dan styling menggunakan CSS.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('573141f4-5fca-4e5b-8c7f-0639d8b92117', 'c6970f8e-a4ac-480a-b232-a45a42976f8e', 'CPMK-2', 'Mampu menjelaskan struktur atom, sistem periodik unsur, dan jenis ikatan kimia.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('57567ee3-19f5-4d1a-990d-eaa691d75a9f', 'd77faeee-6cfb-432f-91fb-36a9023649d2', 'CPMK-4', 'Mengidentifikasi dan merumuskan solusi terhadap tantangan yang dihadapi dalam implementasi AI.', 21.43, '2026-01-16 22:56:52', '2026-01-17 00:58:10', 'CPL-04, CPL-03'), +('577a4584-1bdc-4c12-9f61-aade37878f2a', '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 'CPMK-1', 'Mampu menganalisis masalah dalam konteks profesional yang dihadapi di lapangan', 21.43, '2026-01-16 22:56:39', '2026-01-17 00:58:09', 'CPL-05, CPL-03'), +('577d438e-74e4-472f-a786-a99b67780654', '024d3e76-0845-4ebb-a000-ad72db9eccb3', 'CPMK-5', 'Mahasiswa mampu mengembangkan jejaring profesional serta kemampuan adaptasi terhadap dinamika dunia kerja dan perkembangan teknologi.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('578e0725-7975-4e26-89a6-ec1c8f5ec6d3', '4583364c-1191-46ac-af67-5fd1475a6b8f', 'CPMK-7', 'Mahasiswa mampu menjelaskan tentang Transformasi vektor linier, Matriks, Ruang peta, ruang nol dan Produk transformasi', 0.14, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('579c84d3-381e-4089-93af-c9292f4c2a00', '8f123fd0-8007-40c9-9a13-0e28f9be5932', 'CPMK-2', 'Menguraikan standar nasional dan internasional K3', 0.20, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('579e394e-b852-4b8f-ab78-65067d46dcb1', 'e69ba894-82ab-4345-b20e-aad1709ee7bf', 'CPMK-9', 'Mahasiswa mampu menjelaskan tentang konsep pewarnaan citra.', 0.11, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('57b4f301-66c6-44d5-b12f-9cd2615efcf6', '539fc417-2c9b-472f-9b0f-445a8b749fc9', 'CPMK-5', 'Mahasiswa mampu menyajikan hasil kajian perkembangan arsitektur Islam secara tertulis dan lisan.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('57b50bd6-8252-4822-9ce5-bdb6898b991b', '0c37b249-c21b-454a-871e-f6afb0fa9447', 'CPMK-2', 'Menguasai pengetahuan tentang disain dan pengalamatan peralatan jaringan, IPv4 dan IPv6, IP subnetting', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('57d259c7-45e4-49c4-96b0-e26929b8f192', '6a67734b-34b2-4c73-b94f-65b5e40d1fa1', 'CPMK-3', 'Mengimplementasikan operasi basis data dengan bahasa SQL.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('580be468-3341-4926-8470-4f814f977150', '54b80847-e1c5-4402-9b4b-18bd2348c227', 'CPMK-5', 'Mahasiswa mampu melakukan pengujian dan evaluasi sistem.', 0.14, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('5827f7bc-2211-4bad-aaa7-2800f984b70b', '539fc417-2c9b-472f-9b0f-445a8b749fc9', 'CPMK-4', 'Mahasiswa mampu mengkaitkan nilai-nilai Islami dengan konsep perancangan arsitektur modern.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('5899585b-6750-43a6-a422-81b3753c5101', '6ab811fd-20e3-44d8-9d2b-3fcd52515717', 'CPMK-6', 'Menunjukkan kolaborasi, tanggung jawab, dan dokumentasi profesional dalam pelaksanaan DevOps', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('592eab5a-bab9-4f58-b0c3-9285f822df6c', '010163aa-d159-4aa5-aa52-b803e8192392', 'CPMK-3', 'Mengembangkan aplikasi web sederhana berbasis client-server.', 0.25, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('59629182-e898-41bd-85a1-cd6ec36b9120', '40a873e2-6b11-4708-bcb6-7bb94ae3bf0c', 'CPMK-5', 'Mengevaluasi kualitas perangkat lunak menggunakan standar ISO/IEC 25010 dan model TMMi.', 0.17, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('5962c83c-f937-48d7-a608-bcff913e9be9', '5b56f6e0-e5d9-4a89-8f34-39bc717dd9ad', 'CPMK-2', 'Mampu menjelaskan prinsip dasar elektromagnetik, konstruksi, dan prinsip kerja mesin listrik DC, AC, serta transformator.', 25.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('59908163-88bf-4ac5-adc1-921b054ac89b', '78cc54ba-531c-4239-b542-049006cf8671', 'CPMK-3', 'Mahasiswa mampu mempresentasikan ide dasar arsitektur secara lisan/tertulis menggunakan bahasa Inggris profesional.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('59b991d8-d9f6-46db-94f9-0f9d5cddfa46', '232eebe0-9a79-4c38-abc2-30b4af9f865b', 'CPMK-2', 'Mahasiswa Mampu mengingat dan memahami komponen dasar sistem komputer', 0.11, '2026-01-16 23:20:59', '2026-01-17 00:49:33', 'CPL-05'), +('59bd3500-a97e-4876-be73-1a5dc0a97689', '07bd02d2-62ad-44b6-9b14-ec41ec3401af', 'CPMK-3', 'Membangun model NLP berbasis machine learning dan deep learning sederhana.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('59d443e2-1139-4536-a0e7-86b4d656099b', '6ff71058-5546-45c2-af3c-e12770c3ad75', 'CPMK-3', 'Membangun model hidrograf satuan dari data hujan dan debit', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('59edfb6c-7090-4505-bb58-6d8f9334caed', 'ebb65fa9-86c3-4d3f-b5a9-59c8d9b5489c', 'CPMK-3', 'Melakukan simulasi algoritma menggunakan bahasa pemrograman', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('59f12ccc-52f5-45cb-a19a-c6b449191c6c', 'e8460a71-2709-4bbc-b378-9b57ee3a4beb', 'CPMK-3', 'Melakukan akuisisi, preservasi, dan analisis bukti digital sesuai prosedur forensik.', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('5a3a7ea0-4d87-4154-8626-0a05e08a4dd7', '05c4ac5d-16dd-4458-bfba-1433b9779853', 'CPMK-2', 'Mampu menjelaskan prinsip dasar saluran transmisi, parameter-parameter primer/sekunder, serta perilaku gelombang berjalan dan pantul.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('5a674a9b-67b4-43f6-b284-03b891d19412', 'b1e495e3-693f-4603-b725-1ef17519b241', 'CPMK-3', 'Mengimplementasikan algoritma dalam kode Java', 0.25, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('5a6ca62d-b174-44ad-8753-3a3d8493804a', '03f5fe59-806c-4f28-842f-643d9654c781', 'CPMK-6', 'Menunjukkan perilaku etis dan profesional dalam melaksanakan ethical hacking sesuai hukum dan standar', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('5a94d529-8f61-473e-a6f4-63bad503b7b3', '31eb6978-c476-454d-9b25-270f6e49c0ba', 'CPMK-5', 'Mampu melakukan analisis kritis terhadap proposal penelitian yang disusun oleh rekan sejawat.', 14.29, '2026-01-16 22:56:54', '2026-01-17 00:58:11', 'CPL-04, CPL-03'), +('5abb4824-44a2-48ea-b294-d4fc93ccd1d6', '232eebe0-9a79-4c38-abc2-30b4af9f865b', 'CPMK-6', 'Mahasiswa mampu mengingat, memahami Pipeline dan Paralelisme', 0.11, '2026-01-16 23:20:59', '2026-01-17 00:49:33', 'CPL-05'), +('5ac34d5e-75db-4973-ab8c-91e2710bff84', '9272905d-e48e-4999-b6d4-1892ffe5277e', 'CPMK-1', 'Mata kuliah ini mempelajari konsep, rancangan, dan implementasi sistem kontrol yang menggunakan perangkat elektronika analog maupun digital.', 20.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33', ''), +('5af3bd67-aacf-42c9-8a4d-1f1c02b06938', '255aebe2-a27d-4e29-a1f7-41483050dd1e', 'CPMK-4', 'Melakukan simulasi serangan secara terkendali dan mendokumentasikan hasil pengujian dengan benar.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('5b13b71d-261b-448b-9554-798208102fac', 'de1bf435-d79b-4db7-bd52-316a03e2691e', 'CPMK-4', 'Mahasiswa mampu menerapkan prinsip keberlanjutan dan nilai Islami dalam pemilihan dan penggunaan bahan.', 0.20, '2026-01-16 22:56:43', '2026-01-17 00:52:38', ''), +('5b1a21a6-0126-4fe9-8e5a-a38219fdaaac', '4b816454-ee6c-4935-aba8-7212ec152ee3', 'CPMK-3', 'Mampu menerapkan teori integral dan diferensial untuk menyelesaikan masalah nyata dalam konteks ilmiah dan teknik.', 21.43, '2026-01-17 00:58:37', '2026-01-17 00:58:37', 'CPL-01, CPL-04'), +('5b55413d-0bad-4b5b-9667-da25f4dbeb4b', '66cc25e3-402c-49de-9ba4-6fd803e0795a', 'CPMK-4', 'Mahasiswa mampu mengintegrasikan konstruksi baja ke dalam desain arsitektur secara fungsional dan estetis.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('5b815aff-8ec2-4c70-a044-fbe194488679', 'e6ff039a-b996-491a-afce-d8885e6cc8d7', 'CPMK-2', 'Mampu menjelaskan prinsip dasar sistem radar dan navigasi serta komponen utamanya.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('5be0b65d-2365-49c8-b332-b534691fef6b', 'f8832929-41c0-411b-9498-ad69856e6af7', 'CPMK-5', 'Mahasiswa mampu menyajikan hasil analisis dan rancangan berbasis perilaku dalam bentuk laporan, gambar teknis, dan media presentasi.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('5bf2ba15-3b73-41d3-9023-08466d31fd30', 'a7c11b9a-42a1-4ada-84bb-fd504a3ecb18', 'CPMK-1', 'Mahasiswa dapat memahami dan menjelaskan tentang Metode Analitik, Metode Numerik, Dan Metode Chaotic', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('5c19904f-7949-41c4-bca2-de97ee1400c3', '150dfc2a-ef1f-4753-b044-24d32ea5aa63', 'CPMK-1', 'Mampu menyusun rumusan masalah, tujuan, dan pertanyaan penelitian Tugas Akhir secara jelas dan fokus.', 0.00, '2026-01-16 22:56:52', '2026-01-17 00:58:11', ''), +('5c6ae3fd-4b05-45d8-83f6-3dbb6fa6114a', 'a9797522-c7e0-4766-845b-d24035c68f96', 'CPMK-3', 'Mahasiswa mampu menerapkan prinsip pengendalian mutu, waktu, dan biaya pada proyek konstruksi.', 0.20, '2026-01-16 22:56:50', '2026-01-17 00:52:38', ''), +('5ceae6ed-306a-44cf-951a-1d7d90b82699', '5b56f6e0-e5d9-4a89-8f34-39bc717dd9ad', 'CPMK-3', 'Mampu menganalisis karakteristik, rugi-rugi daya, dan efisiensi berbagai jenis mesin listrik berdasarkan data pengujian atau simulasi.', 25.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('5d06a236-3c19-4efa-84d5-66c76a7efbb1', '9cee2598-e3e8-4ab0-843b-88c513d01821', 'CPMK-3', 'Mahasiswa mampu menerapkan perintah-perintah dasar untuk mengelola file dan direktori di Linux.', 21.43, '2026-01-16 23:20:58', '2026-01-17 00:58:08', 'CPL-05'), +('5d34104c-dbee-4dd7-9c86-a49a5017eb8f', 'fc139184-d705-4176-a19e-9d7438af158e', 'CPMK-4', 'Mampu merancang konfigurasi sederhana sistem tenaga listrik yang efisien dan andal sesuai kebutuhan beban dan kondisi operasi.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('5d4dca66-aa7f-4cdc-b3a4-a9354ba2cf81', 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 'CPMK-3', 'Menggunakan perhitungan matematis untuk mendukung desain arsitektur.', 0.20, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('5dc2c785-d60c-4011-8742-84c04cf85e31', '4ef5dd3c-5811-474f-b555-8059d108f8e2', 'CPMK-5', 'Mampu melakukan simulasi/eksperimen trafik untuk mengevaluasi efisiensi dan kualitas layanan jaringan.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('5e6583e3-b794-426a-a610-63a3feb2b160', '2d0b3a7e-868a-4a2e-a703-bfef24d96141', 'CPMK-4', 'Menggunakan praktik secure coding untuk mencegah kerentanan umum', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('5ef31e34-35e7-43b7-abef-71e18a5fba75', '1587fade-3952-4c21-95da-050058151ce1', 'CPMK-4', 'menganalisis daya dukung pondasi dangkal dan pondasi dalam menggunakan teori Terzaghi, Meyerhof, atau Vesic, serta mempertimbangkan faktor keamanan, kondisi tanah, dan beban bangunan.', 20.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14', ''), +('5f2bb564-c3b1-44f2-b2cf-a6753668e741', '28a4f6b3-52de-4eaa-a3af-597f56d37351', 'CPMK-3', 'Mengimplementasikan algoritma ke dalam program Java menggunakan struktur kontrol', 0.20, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('5f60965c-0788-4288-a433-5de4df19a1f3', '2d60d13b-a014-432b-ac80-921ffa8a3be8', 'CPMK-4', 'Mampu merancang sistem kontrol modern, termasuk kendali optimal (LQR) dan observer (Luenberger atau Kalman Filter), sesuai spesifikasi kinerja sistem.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('5f8d7dc0-c936-4053-a745-0bd3fe0a6a9c', 'f3971cd2-bb40-4a50-a3a5-a8a8b860933b', 'CPMK-2', 'Mengidentifikasi dan menganalisis risiko keamanan informasi dalam organisasi', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('5fb2def0-dc56-4494-b3a6-a661829805f2', 'ce456cc0-536f-47f1-81b1-c8459b3f2da8', 'CPMK-2', 'Mengidentifikasi jenis-jenis batuan dan mineral', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('5fc24441-f36d-42b9-9298-207cbbff407c', 'dd3cfb97-dca0-419d-9ad9-235f4e91dcba', 'CPMK-1', 'Mata kuliah ini membahas prinsip-prinsip dasar metode numerik yang digunakan untuk menyelesaikan permasalahan matematika secara komputasional. Materi mencakup pendekatan numerik untuk akar persamaan, interpolasi, diferensiasi dan integrasi numerik, serta penyelesaian persamaan linear secara numerik. Mata kuliah ini membekali mahasiswa dengan kemampuan analitis dan numerik sebagai dasar dalam memahami penyelesaian matematis yang tidak dapat diselesaikan secara eksak. Fokus utama adalah pemahaman konsep numerik, ketelitian metode, serta keterampilan menerapkan algoritma numerik dasar.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('5fe7a9bf-cfa3-41c8-9844-f45ab5732f42', 'ed944acc-fdac-4399-84f4-e0bcebaa0351', 'CPMK-1', 'Mengintegrasikan pengetahuan dan keterampilan teknik pengairan untuk merancang proyek SDA.', 14.28, '2026-01-17 00:59:14', '2026-01-17 00:59:14', ''), +('602574f7-c970-4de9-be36-564ea02afae7', '33fc18df-fd5b-45c5-9893-71f90e37ba61', 'CPMK-11', 'Mahasiwa mampu mengetahui memahami┬á pemeliharaan perangkat lunak', 0.09, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('604665c9-1bc4-453f-9bff-a71a80878c3e', 'aa2fa177-91cd-4575-9a2b-0a7174f61b0a', 'CPMK-7', 'Menunjukkan profesionalisme, tanggung jawab, dan kolaborasi dalam proyek scalable system.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('6048cc1b-d0f5-4738-bdab-a6834996dcab', '5a843477-00fd-4aae-99dc-915c49ad022c', 'CPMK-1', 'Mata kuliah ini membahas perancangan, pemasangan, proteksi, dan pengujian instalasi listrik rumah tangga, industri, serta sistem cerdas (smart installation) dengan mengacu pada standar PUIL dan prinsip keselamatan kerja kelistrikan.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('606d3574-b780-48be-80f5-c55526aaff58', '53a5f150-9b86-43a7-ac28-6d0c300c5fab', 'CPMK-6', 'Mahasiswa mampu memahami definisi dari relasi rekursi, memberikan sebuah contoh bentuk dari relasi rekursi, menyebutkan jenis-jenis relasi rekursi, dan menjelaskan barisan Fibonacci sebagai salah satu contoh relasi rekursi.', 0.14, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('60833d53-0cf0-4e0d-95b4-6c4f5a69ad22', 'e69ba894-82ab-4345-b20e-aad1709ee7bf', 'CPMK-6', 'Mahasiswa mampu menjelaskan penjelasan tentang dasar-dasar teknik segmentasi', 0.11, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('60971f57-52ab-4e3b-8224-187464052733', '28a4f6b3-52de-4eaa-a3af-597f56d37351', 'CPMK-1', 'Memahami dasar-dasar Computational Thinking dan konsep algoritma', 0.20, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('60bb88d2-178d-4d60-b302-7a2515ff3af6', '33fc18df-fd5b-45c5-9893-71f90e37ba61', 'CPMK-4', 'Mahasiswa mampu mengetahui┬á dan memahami cara kerja┬á model proses perangkat lunak', 0.09, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('60e5b76b-62f2-4b54-9b4e-208e18794563', 'de51842a-bc59-402b-81d0-467a39a694cd', 'CPMK-2', 'Mengimplementasikan model generatif menggunakan framework', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('6113ebe1-d601-4d2d-bb22-6c12fb03ed60', '35839aaf-cb66-4d72-be1f-bf53c2aa1725', 'CPMK-4', 'Mampu merancang dan mengimplementasikan algoritma pengolahan citra untuk tugas tertentu seperti segmentasi, deteksi tepi, atau ekstraksi fitur.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('6143c29c-b167-4986-be35-f1031a457786', '47a09495-6df8-461c-ba4f-2ea176aa4405', 'CPMK-3', 'Mampu menganalisis gangguan pada sistem tenaga listrik (hubung singkat, beban lebih, dan gangguan tanah) menggunakan metode perhitungan yang sesuai.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('61593602-45e0-45ff-8a85-32196329e82b', 'de1bf435-d79b-4db7-bd52-316a03e2691e', 'CPMK-2', 'Mahasiswa mampu mengidentifikasi faktor-faktor yang memengaruhi pemilihan bahan bangunan.', 0.20, '2026-01-16 22:56:43', '2026-01-17 00:52:38', ''), +('6166ff58-35ca-4f18-90fa-cd918a0611a1', '54867a16-2212-4987-99f2-90a7e0f77ce1', 'CPMK-3', 'Mampu menganalisis data yang diperoleh dari penelitian dan menarik kesimpulan yang logis.', 21.43, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('6186c002-78d1-4035-9240-e60e54213d16', '4b8ab6c1-3ce3-46c8-ab58-6c2ee7b80d6c', 'CPMK-1', 'Mahasiswa mampu menjelaskan tentang pengertian Himpunan, Diagram Venn, Operasi antar Himpunan, Aljabar Himpunan, Himpunan hingga dan perhitungan anggota, Argumen dan Diagram Venn', 0.25, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('61af494f-9973-4906-b30f-748f5b6e2dad', 'afa1034a-7eb4-498f-9a6f-b2213869aedc', 'CPMK-3', 'Mampu menganalisis kinerja jaringan telekomunikasi, termasuk throughput, delay, jitter, dan reliability berdasarkan model jaringan dan protokol yang digunakan.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('61bf99bd-babf-4c4a-967e-af710fa1ae29', '3f777130-87d1-459e-9a33-6af03d1b9ed5', 'CPMK-2', 'Mahasiswa mampu mengidentifikasi permasalahan penelitian dan merumuskan topik, tujuan, serta pertanyaan penelitian secara jelas.', 21.43, '2026-01-16 22:56:50', '2026-01-17 00:58:10', ''), +('6215eb1d-cb54-4b31-8827-8b36af4e8096', '58a2946b-86ee-43bf-a768-e0e5693bdb03', 'CPMK-2', 'Menganalisis keterampilan interpersonal dan komunikasi dalam tim kerja', 20.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('62223e1d-afcb-48a3-8d02-9d6e0269f8d1', '71716d40-936e-436a-88c3-28df37794b3a', 'CPMK-4', 'Mampu menerapkan teknik modulasi dan akses jamak pada desain sistem komunikasi satelit.', 21.43, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('622da634-54cb-49d6-84f2-68067ee74338', 'e8c1e121-5df6-42af-a785-a199e62353fe', 'CPMK-4', 'Melakukan eksploitasi terhadap sistem uji (controlled environment)', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('63a6dbae-ff7d-4766-af6e-655fd70a4a74', 'e0ff767f-6980-4036-868d-6b4ce30c741e', 'CPMK-2', 'Mahasiswa mampu menganalisis hubungan manusiaΓÇôlingkungan dalam konteks sosial budaya Indonesia.', 0.25, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('63f542b3-f446-45ca-9e6b-f6ec91402345', '127aa76f-a30c-4598-ba43-1c212e1932b5', 'CPMK-3', 'Mendesain arsitektur sistem yang scalable menggunakan load balancer, caching, dan replication.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('6409e65a-4ec1-43cf-a3df-081695247922', 'fc8b60c6-407c-41e6-8e95-d861fa7d02d5', 'CPMK-4', 'Mahasiswa mampu menjelaskan penjelasan tentang Modul Proyek Manajemen', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('646519ec-d32f-4b3e-a708-3721147712d5', '6a67734b-34b2-4c73-b94f-65b5e40d1fa1', 'CPMK-4', 'Mengevaluasi performa dan integritas basis data relasional.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('648a22cf-982d-4d95-b0ab-2e8a19cdb597', '78cc54ba-531c-4239-b542-049006cf8671', 'CPMK-2', 'Mahasiswa mampu menulis paragraf teknis, deskripsi desain, dan laporan pendek dalam bahasa Inggris akademik.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('64e84ea4-42ec-4579-94a9-58f7f3b4eb57', '14db19d8-2f5c-4f53-b68d-53e65a32f898', 'CPMK-7', 'Menunjukkan kemampuan kolaborasi, etika, dan tanggung jawab dalam proyek data engineering', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('6514d1d2-84d1-4dbc-8b01-ff16992363ab', '6054f4b0-2914-4ac4-936d-26aefdbd51d6', 'CPMK-2', 'Mampu mempresentasikan proposal penelitian secara runtut, jelas, dan menarik.', 20.00, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('6514fbba-c96f-43fc-a729-a664b65acefb', '14edd272-1d19-4646-b963-6df5b31d4a52', 'CPMK-5', 'Mahasiswa mampu menyajikan rancangan utilitas dalam bentuk gambar teknis, diagram sistem, dan laporan tertulis.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('65330350-ec71-4e61-a5bd-3532f5523a87', '75f4fc91-4001-4618-a823-366acbbdb9d9', 'CPMK-6', 'Menerapkan prinsip etika dan keamanan AI dalam pembangunan sistem berbasis LLM', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('6556f889-39b8-4a07-9d35-ae7766c9586d', '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 'CPMK-4', 'Mampu mengevaluasi efektivitas KKP-Plus dalam meningkatkan hasil pembelajaran.', 21.43, '2026-01-16 22:56:54', '2026-01-17 00:58:11', 'CPL-06, CPL-04'), +('65cf8064-fe6d-43f8-b9d7-fc989f5f30e5', '03f5fe59-806c-4f28-842f-643d9654c781', 'CPMK-3', 'Melakukan analisis kerentanan pada sistem jaringan dan aplikasi menggunakan tools keamanan.', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('65d0ab0d-5fa6-4f53-ad10-f7a355ebe609', '8d797bee-168e-4e11-beba-9f3b587f7267', 'CPMK-2', 'Mampu menjelaskan konsep dasar komunikasi nirkabel, karakteristik kanal radio, standar teknologi nirkabel, serta teknik modulasi dan multiple access.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('65db6d0f-5f66-43ab-b448-f5e5ab710da0', '73beca28-8a3d-43ff-997e-2a26548d63ee', 'CPMK-2', 'Mahasiswa mampu mengoperasikan perangkat lunak CAD, BIM, dan pemodelan 3D untuk pembuatan desain arsitektur.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('6637d1f6-2209-4cff-8122-a25674243ae2', '5dcb8762-b27a-419b-bdcd-a5c18a953fa9', 'CPMK-3', 'Mampu merancang algoritma untuk menyelesaikan permasalahan sederhana dengan pendekatan sistematis dan efisien.', 20.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14', ''), +('667b7d4f-c9bb-444b-8087-7735b1efdade', '36f3e69d-ab34-4970-bec4-2a57f9a35d1e', 'CPMK-4', 'Mampu mengidentifikasi kebutuhan proteksi dan mengimplementasikan teknik pengendalian untuk menjaga kestabilan sistem tenaga listrik.', 16.66, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('667df8d6-c569-44ab-b8f3-ef58da5f1c59', '1587fade-3952-4c21-95da-050058151ce1', 'CPMK-1', 'menjelaskan dan menganalisis sifat-sifat mekanis tanah lanjutan, termasuk kuat geser tanah, pemadatan, konsolidasi, serta perilaku teganganΓÇôregangan tanah dalam berbagai kondisi pembebanan.', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('66a38fad-d7dc-4638-bda1-da53faf3affd', '010163aa-d159-4aa5-aa52-b803e8192392', 'CPMK-4', 'Mengevaluasi dan mengoptimalkan aplikasi web yang telah dibuat.', 0.25, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('66b50a9c-0e71-4e2d-9e01-3fda5dc1c0ec', '7c701b31-82ce-4116-9def-6b17591ec26f', 'CPMK-4', 'Mampu merancang dan mensimulasikan rangkaian elektronika dasar sesuai spesifikasi teknik menggunakan perangkat lunak rekayasa.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('66df9227-cf33-402d-9d85-c6dd0f03fa3f', 'b135c7ea-764f-4962-9587-f1bc0df0000c', 'CPMK-1', 'Menjelaskan prinsip dan standar dalam gambar teknik.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('670270c3-b42d-4aa1-b0fb-e633f0dfecc7', '6ab811fd-20e3-44d8-9d2b-3fcd52515717', 'CPMK-2', 'Menggunakan sistem version control (Git/GitHub) untuk kolaborasi pengembangan', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('6742871e-f408-44c3-be56-ba1220f92994', '72b71059-c5e0-4b7d-aebd-a7bdf2fdb566', 'CPMK-4', 'Mampu merancang sistem pembangkit energi terbarukan berskala kecil hingga menengah sesuai kondisi sumber daya dan kebutuhan beban.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('675296b6-3c9a-4db4-b001-5b2868a956a3', '0508404c-ca6b-4f0b-b7d1-a15b8eab9d52', 'CPMK-3', 'Menerapkan arsitektur CNN untuk pengolahan citra', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('676350f0-7b29-4b66-8755-ff9707b3a4b3', 'f38f3d61-837e-43f2-a0cf-980aa2e286ae', 'CPMK-1', 'Mata kuliah ini memberikan dasar kalkulus yang meliputi konsep limit, kekontinuan fungsi, barisan, deret tak hingga, serta fungsi-fungsi trigonometri. Mata kuliah ini membekali mahasiswa dengan kemampuan matematika dasar yang diperlukan untuk memahami dan menganalisis berbagai permasalahan dalam bidang teknik. Fokus utama mata kuliah adalah penguasaan konsep (conceptual understanding), kemampuan analitis, dan keterampilan melakukan perhitungan matematis secara sistematis sebagai dasar bagi mata kuliah matematika lanjutan.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', ''), +('677320ae-f229-4d19-8416-72b7733c5d62', 'f8984b12-c7e9-4b6d-89a2-8842ef9e4bf0', 'CPMK-2', 'Menguasai pengetahuan tentang disain dan pengalamatan peralatan jaringan, IPv4 dan IPv6, IP subnetting', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('677df0db-e578-4ed8-86d2-093c3198e084', '0671a043-7c73-4101-b030-baa3d4609c3e', 'CPMK-6', 'Menunjukkan sikap profesional, jujur, dan beretika selama proses investigasi forensik.', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('678bcfec-cc5d-4189-83ad-18db9d0c9ebe', 'aa2fa177-91cd-4575-9a2b-0a7174f61b0a', 'CPMK-1', 'Menjelaskan prinsip desain sistem berskala besar dan karakteristik scalable architecture.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('67ca2b05-d6bf-449c-a966-d16885d03e3b', '7c701b31-82ce-4116-9def-6b17591ec26f', 'CPMK-3', 'Mampu menganalisis kinerja rangkaian elektronika seperti penyearah, penguat, dan rangkaian berbasis transistor/op-amp menggunakan metode analitis dan simulasi.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('68276de6-6eeb-4331-8d65-f967fc7863ac', '6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 'CPMK-1', 'Menganalisis konsep dan prinsip revitalisasi bangunan dan kawasan secara komprehensif.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', 'CPL-01, CPL-02, CPL-04, CPL-06'), +('68925eaa-2057-41ae-a850-25b552a6ad95', 'a8aaa007-c80c-4244-a47f-6746bc34c1ae', 'CPMK-5', 'Menyusun laporan hasil penetration testing dan rekomendasi perbaikan sistem.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('68d71bab-afeb-4796-b314-474368b1601d', '0d0a669a-7571-4abf-93e0-a36fc3a324f0', 'CPMK-3', 'Mahasiswa mampu mengembangkan konsep desain interior yang kreatif, humanis, dan sesuai dengan konteks arsitektur bangunan.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('68f3abcd-a3e4-4d1c-9c48-85fc24cd4794', '38429483-ed40-4442-9b3a-5f7f8cb48db8', 'CPMK-1', 'Mata kuliah ini membahas prinsip dasar antena dan karakteristik propagasi gelombang elektromagnetik pada sistem telekomunikasi.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('696ecff5-3e6b-45c2-ac45-2fd59c9fda06', 'aa134f8b-abba-401b-a847-cd9ceef9827b', 'CPMK-2', 'Menganalisis jenis-jenis algoritma kriptografi klasik dan modern.', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('699f8752-ad68-4b2d-8574-c7624db62626', '0375adf6-4cb2-4d27-ae28-061bc9b51795', 'CPMK-4', 'Mengintegrasikan elemen dasar web dalam proyek sederhana.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('69d947c9-2c7b-4442-b2b5-9f653e85b337', 'f38f3d61-837e-43f2-a0cf-980aa2e286ae', 'CPMK-4', 'Mampu menggunakan fungsi trigonometri, identitas trigonometri, dan sifat-sifatnya dalam menyelesaikan perhitungan dan analisis matematis yang mendukung pemahaman teknik dasar.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', ''), +('6a1a7f11-6443-49a6-8d1f-044296125bb9', '67a5866d-9a48-41d3-ac5c-b7be2230c42c', 'CPMK-3', 'Mampu menganalisis hubungan antara besaran fisik dan sinyal listrik yang dihasilkan oleh berbagai jenis transduser.', 20.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33', ''), +('6a98444b-91e0-4d8c-bddd-64e00d4ca7d3', '7ec43900-b6ac-42a4-b3d6-d1b254edc311', 'CPMK-4', 'Mahasiswa mampu menjelaskan dan menerapkan algoritma kriptografi asimetris', 0.14, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('6a9ae72a-ff12-4faf-a7b7-291175891074', '4023e86d-3cf6-4ab9-b013-2b8bc8375c29', 'CPMK-4', 'Mampu melakukan eksperimen pengendalian motor listrik berbasis elektronika daya dan menginterpretasikan hasilnya secara tepat.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('6ab54b0d-505d-4dd3-ae10-e555d99d937a', 'b0d71fa7-483d-41b4-b8b6-f111d8601ba1', 'CPMK-4', 'Mahasiswa dapat menerapkan dan Menjelaskan perbedaan Simple Past dan present Perfect', 14.28, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('6acf5089-2b4a-42b6-8e9f-8d78ded7b42a', 'c6970f8e-a4ac-480a-b232-a45a42976f8e', 'CPMK-5', 'Mampu menganalisis hubungan sifat-sifat kimia dengan perilaku bahan teknik (isolator, konduktor, semikonduktor), serta menyusun laporan analisis atau eksperimen secara profesional.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('6acf5fe7-e632-4343-a58e-9529c8866ae9', '86dccf89-001f-40b2-8396-3df88537c00f', 'CPMK-2', 'Mengidentifikasi ancaman dan kerentanan (vulnerability) dalam lingkungan cloud.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('6ade6298-7a94-4119-b966-d7b8409c70f4', '6054f4b0-2914-4ac4-936d-26aefdbd51d6', 'CPMK-5', 'Mampu menunjukkan sikap percaya diri, terbuka, dan menghargai etika akademik dalam forum ilmiah.', 20.00, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('6b3f1fe5-0255-4b0b-8eed-89d868255460', 'ed944acc-fdac-4399-84f4-e0bcebaa0351', 'CPMK-4', 'Bekerja efektif dalam tim multidisiplin.', 14.28, '2026-01-17 00:59:14', '2026-01-17 00:59:14', ''); +INSERT INTO `cpmk` (`id`, `id_mk`, `kode_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`, `matched_cpl`) VALUES +('6b76168c-56cc-4eb3-ade2-42aaa3e745b9', '0e792536-9f4b-4e87-ad13-403d4feed76b', 'CPMK-3', 'Mahasiswa mampu berkomunikasi secara tertulis untuk menyampaikan ide arsitektur secara informatif dan etis.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('6b793a21-74b6-45a4-8a76-b270efbc6aec', '9035c0b3-6289-4c2c-ae2d-c0d6a74607be', 'CPMK-2', 'Mampu menjelaskan konsep dasar, arsitektur, dan komponen utama sistem IoT.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('6b809184-3422-478a-a855-ed11d1ff3c42', '0426a4d1-85a6-48bc-96dd-4f3c974761aa', 'CPMK-3', 'Menggunakan teknologi informasi untuk mendukung penyelesaian masalah.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('6b8a9ca5-a89f-49c2-bb7e-1dea68b1a0a6', 'de1bf435-d79b-4db7-bd52-316a03e2691e', 'CPMK-3', 'Mahasiswa mampu menganalisis kelebihan dan keterbatasan berbagai jenis bahan bangunan.', 0.20, '2026-01-16 22:56:43', '2026-01-17 00:52:38', ''), +('6b8aa0c1-94cb-4bef-86ff-b4a93e2193c6', 'bfed3b3c-17cc-4fe5-b044-2165e9e0af14', 'CPMK-3', 'Menerapkan kalkulus diferensial dan integral untuk memahami optimisasi model AI.', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('6bbfb4b5-e7bd-4974-acde-12ad806aad3f', 'b0d2039a-bcfb-486a-bf9c-fc811db72196', 'CPMK-2', 'Menerapkan algoritma supervised learning untuk klasifikasi dan regresi', 0.17, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('6bc813cf-c128-465a-9082-46019d09eb5a', 'ed089ed7-acb4-45a8-b1e8-95204c8cdb59', 'CPMK-3', 'Menganalisis deret tak hingga dan deret Fourier.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('6c206662-4de3-410c-88f7-b5d01439b609', '4f30b5fb-81d8-4ce3-a462-3e51386280ae', 'CPMK-4', 'Mahasiswa mampu menjelaskan struktur system operasi open source (linux) dan close source (windows), hirarki dan manajemen file pada system operasi', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('6c4d997e-9f98-482a-a10c-ddf2231c8bba', '2b7c4249-f21c-49dc-ab6a-5ef71f3d76c7', 'CPMK-3', 'Mengimplementasikan teknik dan material yang sesuai dengan arsitektur Islam dalam perancangan bangunan.', 0.20, '2026-01-16 22:56:56', '2026-01-17 00:52:38', ''), +('6c69ced9-79a4-4c2f-bb34-5a355ab2fd8a', '0671a043-7c73-4101-b030-baa3d4609c3e', 'CPMK-3', 'Melakukan akuisisi, preservasi, dan analisis bukti digital sesuai prosedur forensik.', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('6cb82ff0-bdcd-400a-8e73-97bbb0c98c8f', '7cb0ea59-244f-43f8-9084-456e269bcefb', 'CPMK-1', 'Menjelaskan konsep dasar dan karakteristik sistem terdistribusi', 0.20, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('6cbf3c74-a7ef-428c-8d15-0372bb4f95a0', '7fd58109-86e0-4427-8601-b8f6dbfc3642', 'CPMK-2', 'Menghitung ukuran pemusatan (mean, median, modus) dan ukuran penyebaran (range, varians, simpangan baku)', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('6cd335ea-ed89-4149-ac8f-0c61ce080f77', 'a7c11b9a-42a1-4ada-84bb-fd504a3ecb18', 'CPMK-3', 'Mahasiswa dapat memahami dan menjelaskan tentang Jenis-jenis Penyelesaian Numerik untuk persamaan Non Linear (Biseksi, Regula falsi, Newton Raphson, dan Secant)', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('6d74522d-fb4f-4f27-aaf1-3a215489fd4c', 'e0db289a-0522-4b75-8871-133ff0fc949d', 'CPMK-5', 'Menunjukkan sikap profesional dan tanggung jawab etis dalam pengelolaan keamanan jaringan', 0.20, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('6d9245ea-a6df-4aae-9157-ac3ee84ec03e', '233c8ab5-e116-443a-9610-55ad8a1c46ae', 'CPMK-2', 'mengoperasikan sistem operasi (Windows/Linux) untuk melakukan manajemen file, pengaturan dasar, instalasi sederhana, dan navigasi perangkat komputer secara efektif', 25.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('6deef5ab-41b1-45d3-871d-ff49a4a5560e', 'cbf257f3-8236-4008-8469-0a56592db1a8', 'CPMK-4', 'Mampu menganalisis hubungan medan listrikΓÇômedan magnet, induksi, gaya, serta efeknya pada komponen elektrik/elektronik.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('6dfbfd13-a3a7-47ce-9960-555b0a5c7b51', '1afb1d0b-210e-4468-80fa-a91f11e7e0a2', 'CPMK-5', 'Mengintegrasikan API Gateway, service registry, dan circuit breaker pattern untuk manajemen layanan', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('6e971c97-597e-4239-af9a-ebaca27fe55d', '54867a16-2212-4987-99f2-90a7e0f77ce1', 'CPMK-4', 'Mampu menyusun laporan tugas akhir yang sistematis dan sesuai dengan kaidah penulisan ilmiah.', 21.43, '2026-01-16 22:56:54', '2026-01-17 00:58:11', 'CPL-08, CPL-06'), +('6ec435b8-5b95-4b52-ad4b-5dbdc6ad1df3', 'f7582245-dae4-4183-937b-0661ba62b33e', 'CPMK-1', 'Menjelaskan konsep limit dan kontinuitas fungsi satu variabel.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('6ed6e579-c28a-457e-9079-77b04ac2726c', 'e41854a3-6b44-4e52-b87f-f0d3e14c53ca', 'CPMK-1', 'Mata kuliah ini membahas konsep dasar struktur dan sifat bahan teknik, termasuk logam, polimer, keramik, dan komposit. Materi meliputi struktur atom, ikatan kimia, struktur kristal, cacat kristal, sifat mekanik bahan, difusi, diagram fasa, serta perilaku material terhadap panas, beban, dan lingkungan. Mahasiswa dibekali dasar-dasar sains material yang diperlukan untuk memahami pemilihan dan karakterisasi bahan dalam sistem teknik tanpa berfokus pada proses manufaktur lanjutan.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', 'CPL-01,CPL-03'), +('6fc3dd56-14a7-4c79-af64-a6fd1eb9ee12', 'aa2fa177-91cd-4575-9a2b-0a7174f61b0a', 'CPMK-6', 'Mengevaluasi trade-off antara consistency, availability, dan partition tolerance (CAP Theorem).', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('6fcb42b2-d5a1-4a01-ac14-0d96ff8c7ac4', 'cf549c6e-bc2b-44f0-80c0-3c17518e3b95', 'CPMK-3', 'Mampu memodelkan sistem fisik (mekanik, elektrik) ke dalam persamaan matematis dan diagram blok.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('706a9ac1-64e0-4f42-b4b0-262879c321aa', 'a9797522-c7e0-4766-845b-d24035c68f96', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep, fungsi, dan ruang lingkup manajemen proyek di bidang arsitektur dan konstruksi.', 0.20, '2026-01-16 22:56:50', '2026-01-17 00:52:38', ''), +('7085abb9-959a-425b-b988-1eb1e61f4587', 'c127b1fb-3fc9-4f73-8a94-080418b1450e', 'CPMK-4', 'Mampu menganalisis topologi jaringan dan kebutuhan bandwidth untuk skenario komunikasi tertentu.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('70ac8fb6-9aec-4106-a700-829757c6d47e', 'f2424441-6fbc-4788-85af-d4e3317a9c26', 'CPMK-2', 'Mampu menjelaskan komponen-komponen utama seperti dioda, transistor, thyristor, dan IGBT, serta prinsip kerjanya dalam sistem elektronika daya.', 20.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('70b38096-13db-40d2-a7a7-07630c3d8990', '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 'CPMK-2', 'Mampu merancang solusi inovatif berdasarkan hasil analisis masalah yang dilakukan', 21.43, '2026-01-16 22:56:39', '2026-01-17 00:58:09', 'CPL-01, CPL-05'), +('70b8ba91-bb5e-4995-82c7-fb886a5aa15c', '8b4bbddd-0548-4afb-8cbe-cddbafe189db', 'CPMK-5', 'Menerapkan kebijakan keamanan, kepatuhan, dan standar cloud (ISO, NIST, CSA).', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('7170b75e-2dc5-4a5b-b6fe-2b3892a1c6e1', '7aa965e2-fbec-467e-bf2d-79cd7f6a0dd2', 'CPMK-2', 'Memahami teknologi basis data modern seperti In-Memory DB, Pub-Sub, Kafka, dan Elasticsearch.', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('7199ff04-da3c-4957-8c94-1f8b3834abad', 'accf154a-1fa4-4804-bf46-fe4287399e61', 'CPMK-1', 'Mahasiswa mampu menjelaskan prinsip-prinsip dasar ajaran Islam terkait etika, akhlak, dan profesionalitas.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('71dbee86-d2a2-49f3-b475-415b613d8c78', 'b8736e55-fb84-4f81-81b9-83adeca227b0', 'CPMK-4', 'Menganalisis tumbukan dan hukum kekekalan momentum.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('7230093a-f6b1-40d8-82f8-911264cd2a68', '0671a043-7c73-4101-b030-baa3d4609c3e', 'CPMK-4', 'Menggunakan perangkat forensik (Autopsy, FTK Imager, Volatility, Wireshark) dalam investigasi.', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('727198bf-b02c-4826-a996-dd7262e8add1', '72b71059-c5e0-4b7d-aebd-a7bdf2fdb566', 'CPMK-3', 'Mampu menganalisis kinerja dan efisiensi sistem konversi energi terbarukan seperti fotovoltaik, turbin angin, dan biomassa.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('7271df3f-b259-4840-80c2-6282a4c907a9', '112b7cf2-b8cc-4b17-bc36-edd12049a4f5', 'CPMK-3', 'Mengimplementasikan operasi basis data dengan bahasa SQL.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('72811a03-4258-4abc-9852-23e3e5398c2d', 'dd3cfb97-dca0-419d-9ad9-235f4e91dcba', 'CPMK-3', 'Mampu menerapkan metode numerik dasar seperti pencarian akar, interpolasi, dan penyelesaian sistem persamaan linear secara numerik.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19', ''), +('72f9505e-a34d-4c5c-a892-136f76b706d2', '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 'CPMK-1', 'Mampu merancang dan melaksanakan eksperimen laboratorium secara mandiri untuk menyelesaikan tugas akhir.', 0.20, '2026-01-16 22:56:58', '2026-01-17 00:52:38', 'CPL-01, CPL-08'), +('73248b59-225e-4acc-ace7-2ecb04acaeee', 'e9c0f3fa-a9ba-432a-9a56-1adb88b462ae', 'CPMK-3', 'Mampu menyusun tinjauan pustaka dan kerangka teori secara terstruktur.', 20.00, '2026-01-16 22:56:52', '2026-01-17 00:58:11', ''), +('732dbe61-e703-4494-a408-0127a790f1e5', 'e9c0f3fa-a9ba-432a-9a56-1adb88b462ae', 'CPMK-1', 'Mampu menjelaskan konsep dasar penelitian ilmiah dan jenis-jenisnya.', 20.00, '2026-01-16 22:56:52', '2026-01-17 00:58:11', ''), +('735a6ae4-6db9-44ba-b136-11764ea29ab6', 'bbc86902-df05-422d-aeed-765362efa1a9', 'CPMK-3', 'Mampu menggunakan transformasi Laplace, Fourier, dan Z untuk menganalisis sinyal, sistem dinamik, dan rangkaian listrik.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('73a6b205-6014-4608-b65b-f4e490bf13ec', '8e79442e-a7af-4718-984d-1b0995f8820b', 'CPMK-1', 'Mahasiswa mampu menganalisis prinsip struktur dan konstruksi bangunan mid-rise (4ΓÇô8 lantai) sesuai fungsi dan kondisi tapak.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('73fb2871-818a-46f3-be9d-f49be1edef5e', 'cff6b13e-d1d3-4d8b-8e78-1269ad2b7f8d', 'CPMK-2', 'Mahasiswa mampu merepresentasikan pengetahuan dan logika untuk pemecahan masalah.', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('74264784-88f3-4e59-8278-7c73a833268b', 'cdcb2c97-4668-4236-a44f-cd926a9f934b', 'CPMK-3', 'Mampu menganalisis karakteristik dan fungsi dioda, transistor, dan komponen semikonduktor lainnya.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('743e148c-7322-4e67-86d0-ed3b300d3aa9', '665b5754-34f9-4794-8aff-4a493a7d702a', 'CPMK-5', 'Mahasiswa mampu menyajikan hasil eksplorasi estetika bentuk dalam bentuk gambar, model, dan presentasi.', 0.20, '2026-01-16 22:56:43', '2026-01-17 00:52:38', ''), +('747b76b9-b4fa-4b4e-961d-360807a79683', 'fcc12b73-1704-44cc-adaf-c571cdc59be0', 'CPMK-1', 'Mata Kuliah ini membahas konsep, metodologi, dan teknik perancangan sistem terpadu berbasis sirkuit terpadu (IC) dengan tingkat integrasi sangat tinggi.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('74af6e50-c9e8-410f-9570-61cb2169a4f2', '2d0b3a7e-868a-4a2e-a703-bfef24d96141', 'CPMK-7', 'Menunjukkan profesionalisme, tanggung jawab, dan kolaborasi dalam tim pengembangan perangkat lunak', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('74e37281-5069-4200-b498-c6865c2f40fc', '8528a2e0-fee5-487c-b5fa-d104d0a31982', 'CPMK-2', 'Mampu menjelaskan konsep gelombang, optik, elektromagnetik dasar, atau fisika modern secara benar.', 20.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15', ''), +('74eb0e5d-adb4-420c-b97c-56ad96a8bb71', '615bed82-5916-4594-b5c4-7c4353b02636', 'CPMK-5', 'Mampu menganalisis respons transien rangkaian orde 1 (RL/RC) dan orde 2 (RLC) dengan dan tanpa sumber.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('74ee11fe-46f1-4125-ada7-77c22c11fe71', '951e2391-bed9-4aa2-b1a2-d7772d358da7', 'CPMK-2', 'Menerapkan hukum kontinuitas dan energi dalam aliran fluida ideal.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('74f3f48c-cac7-4f15-84a9-aadf236e73e8', 'e8c1e121-5df6-42af-a785-a199e62353fe', 'CPMK-6', 'Menunjukkan sikap etis dan tanggung jawab dalam melaksanakan uji keamanan', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('7511fc1d-fb29-4e40-9782-828eaa40ed48', 'a4f1b0a6-99cb-40e0-ad0e-e176c57e102f', 'CPMK-2', 'Mampu mengidentifikasi dan menganalisis kebutuhan energi listrik untuk berbagai sektor dan merancang solusi pengelolaan yang efisien.', 20.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('754df693-3c53-4b80-b0fa-ff4157443968', '7784e52e-24d5-4a05-9b4f-4e4d062d877e', 'CPMK-1', 'Menjelaskan konsep dasar dan komponen sistem pakar', 0.20, '2026-01-16 23:21:05', '2026-01-17 00:49:33', ''), +('755ad49c-d112-4791-9850-ccbd6ca758de', '232eebe0-9a79-4c38-abc2-30b4af9f865b', 'CPMK-7', 'Mahasiswa mampu mengingat dan memahami Pemprosesan Parallelisme', 0.11, '2026-01-16 23:20:59', '2026-01-17 00:49:33', 'CPL-05'), +('757af86a-7027-4b3b-a94d-5bd356ba61df', '4fc36d1c-942b-4bec-a9a5-d58075c3d137', 'CPMK-1', 'Mahasiswa mampu menjelaskan prinsip kenyamanan termal, pencahayaan, penghawaan, dan akustik dalam bangunan sesuai standar dan kondisi iklim lokal.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('75ce4b6a-9743-425c-b93e-4605be3abac4', '0d90c7f0-af81-4b0a-9a50-1467d4617a98', 'CPMK-3', 'Mampu menjelaskan konsep dasar elektronika telekomunikasi, termasuk penguatan sinyal, modulasi, rangkaian RF, dan blok dasar pemancarΓÇôpenerima.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('75d2e99a-94ab-4afd-9524-3f4b2e9f507c', '1c5fec35-9053-40a5-9130-ad3a37b5a249', 'CPMK-2', 'Menjelaskan konsep dan implementasi Finite Automata (DFA dan NFA)', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('76aef8de-4c40-4ac0-9534-40ce9a063a9a', '9e1347ad-ea71-4d7d-a3aa-b04ab074c92b', 'CPMK-1', 'Menjelaskan prinsip dan kerangka kerja etika AI (AI Ethics Frameworks).', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('76bc7f8f-11aa-4a3a-b4bd-bf06bb699823', '40a873e2-6b11-4708-bcb6-7bb94ae3bf0c', 'CPMK-6', 'Menunjukkan kemampuan kolaborasi, komunikasi, dan etika profesional dalam pelaksanaan QA dan testing', 0.17, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('76cc83dd-ecc7-4d23-a168-7e26e5dc5f62', 'f6f7c1a6-23c1-44b7-b523-acaff2a89c8c', 'CPMK-4', '4) . Mengelola workflow MLOps menggunakan MLflow atau Kubeflow untuk otomatisasi model training dan monitor', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('76d6821e-5822-46ac-9c08-175da24b9e96', '73525a7c-f212-4b45-a48c-f6283a195746', 'CPMK-5', 'Mahasiswa mampu menyajikan rancangan arsitektur kota dalam bentuk masterplan, gambar teknis, dan media presentasi profesional.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('773a8fc5-66e6-4763-834c-0befba2db740', '30a91224-8d90-42ed-95c8-3860f33a85c9', 'CPMK-3', 'Mampu menganalisis data pengamatan astronomi untuk menentukan posisi benda langit.', 21.43, '2026-01-16 22:56:36', '2026-01-17 00:58:08', 'CPL-01'), +('7748f399-0e08-454f-9281-3897076405fc', '69a951bb-9cfb-45ac-9398-4b39daae89bd', 'CPMK-6', 'Memahami proses publikasi ilmiah', 16.70, '2026-01-16 22:56:37', '2026-01-17 00:58:09', ''), +('776ceac5-7238-49cf-90c2-5265ea2ac069', 'd4c20ee9-3e14-43b7-92d7-e44979d05d11', 'CPMK-3', 'Mampu menulis program sederhana menggunakan bahasa C untuk mikrokontroler dan menguji fungsi dasar (I/O, timer, interrupt).', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('778cbd7b-6e0e-4149-8f02-87a42bde4265', '7aa965e2-fbec-467e-bf2d-79cd7f6a0dd2', 'CPMK-1', 'Memahami konsep dasar basis data modern, termasuk NoSQL dan basis data terdistribusi.', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('77975670-c281-4a8c-911b-579b7ccff9b2', '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 'CPMK-5', 'Mampu berkolaborasi dalam tim multidisiplin untuk menyelesaikan proyek profesional', 14.29, '2026-01-16 22:56:39', '2026-01-17 00:58:09', 'CPL-03, CPL-04, CPL-05'), +('77aaac14-4402-4f4f-9d2b-99c91759a2cc', 'b135c7ea-764f-4962-9587-f1bc0df0000c', 'CPMK-2', 'Menggambar proyeksi ortogonal dan tampak potongan bangunan teknik secara manual.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('77d9fa9b-3c3e-4232-b0b4-c4ad978d2e1d', '07bd02d2-62ad-44b6-9b14-ec41ec3401af', 'CPMK-2', 'Mengimplementasikan teknik preprocessing teks seperti tokenisasi, stemming, dan stopword removal.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('77f020c6-97c6-47fe-968d-e2f2c664c68c', 'e8460a71-2709-4bbc-b378-9b57ee3a4beb', 'CPMK-5', 'Menyusun laporan investigasi digital dengan menjaga rantai bukti (chain of custody).', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('780792a9-63a5-408c-aad3-9b9891fd770e', '4583364c-1191-46ac-af67-5fd1475a6b8f', 'CPMK-1', 'Mahasiswa mampu menjelaskan tentang pengertian Vektor', 0.14, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('785aabb8-8a0d-4281-a9b6-9b4c75a795f9', 'a8aaa007-c80c-4244-a47f-6746bc34c1ae', 'CPMK-4', 'Melakukan simulasi serangan secara terkendali dan mendokumentasikan hasil pengujian dengan benar.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('78b0c04d-d5f2-4fa3-9bed-b9e736c2b8f5', '9607961c-1c2e-4463-b3d8-b7028c83f58e', 'CPMK-5', 'Mampu mengevaluasi dan merangkum artikel ilmiah dalam bahasa Inggris yang berkaitan dengan ilmu komputer.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', 'CPL-03'), +('78e23f02-c95b-46bd-a35c-e5c11ba72476', 'fdef83bb-0100-4b6c-bf59-d4327e6542bf', 'CPMK-2', 'Mahasiswa dapat memahami dan menjelaskan tentang Kompleksitas Algoritma', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('78f4affe-78aa-4215-b79a-cf6b878b066a', 'd4c20ee9-3e14-43b7-92d7-e44979d05d11', 'CPMK-4', 'Mampu merancang sistem tertanam (embedded) dengan menggabungkan mikrokontroler, sensor, dan aktuator sesuai spesifikasi teknik.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('7912246f-151d-4a59-812d-f411626b3e7c', 'be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 'CPMK-1', 'Mampu mengidentifikasi dan menganalisis masalah desain yang kompleks dalam konteks proyek capstone.', 21.43, '2026-01-17 00:58:39', '2026-01-17 00:58:39', 'CPL-04, CPL-02, CPL-01'), +('7920ee9f-0c16-4dd7-b9c4-da53b9df27c5', '54b80847-e1c5-4402-9b4b-18bd2348c227', 'CPMK-3', 'Mahasiswa mampu merancang arsitektur dan desain sistem.', 0.14, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('794a74b1-260f-455d-ae77-8e37dc737eb9', '2558fa96-0c5b-483b-9544-0b66c31356db', 'CPMK-3', 'merancang dan mengimplementasikan pipeline otomatis menggunakan salah satu tools modern', 0.25, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('795b89ad-4997-42ae-bf3c-fc51d5debfb7', 'bbc86902-df05-422d-aeed-765362efa1a9', 'CPMK-4', 'Mampu melakukan simulasi matematis dan numerik menggunakan MATLAB/Python untuk memodelkan dan menganalisis perilaku sistem teknik.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('7975dd52-c47d-49d0-8846-9e2b05bf46dc', '9272905d-e48e-4999-b6d4-1892ffe5277e', 'CPMK-3', 'Mampu menganalisis dinamika, karakteristik, dan respons sistem kontrol menggunakan pendekatan analog dan digital (op-amp, PWM, mikrokontroler).', 20.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33', ''), +('797c9785-bf35-4fdd-bdbc-dea7692be696', 'b2c0cb8b-152d-4ee8-8cad-a19222f0d55d', 'CPMK-3', 'Mengimplementasikan algoritma ke dalam program Java menggunakan struktur kontrol', 0.20, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('79bbd330-f925-4ade-80e1-c90a67c66a70', 'b1e495e3-693f-4603-b725-1ef17519b241', 'CPMK-4', 'Melakukan debugging dan optimasi program Java yang telah dibuat.', 0.25, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('79bdc719-8415-4f17-90d0-4299b46f82c7', '4d7c057a-6920-447a-bfef-117238ea784f', 'CPMK-4', 'Mengimplementasikan CI/CD pipeline untuk proses build, test, dan deployment otomatis.', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('79f37bd0-b0b0-46ad-ab34-d365efdbe398', '93371a32-8651-4772-8c8f-4a772f2bfb7c', 'CPMK-3', 'Mampu merancang dan mengembangkan perangkat lunak sederhana untuk komunikasi data menggunakan protokol jaringan.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('7a3a6d19-f216-4d46-83cf-6e355781b6fc', 'c378e358-586e-42d8-b8d8-8aad0ae97dc4', 'CPMK-2', 'Mampu menjelaskan prinsip dasar pembangkitan, transmisi, distribusi, dan penggunaan energi listrik serta komponen-komponen utama yang ada dalam sistem tenaga listrik.', 20.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('7ab2fe72-72c5-407b-9b05-2636eaac7202', '5368a6f5-ba60-42e6-848c-ed409d1d327a', 'CPMK-3', 'Mampu merancang dan mengimplementasikan program logika kendali berbasis Ladder Diagram (LD) menggunakan fungsi-fungsi dasar (Logika, Timer, Counter, Clock).', 16.66, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''), +('7ac19353-6e59-4626-a588-3aac5e1b872b', 'ce456cc0-536f-47f1-81b1-c8459b3f2da8', 'CPMK-5', 'Menganalisis risiko geologi terhadap konstruksi teknik pengairan', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('7af9ae01-fce6-4b67-9444-f3795eb76b15', '75f4fc91-4001-4618-a823-366acbbdb9d9', 'CPMK-2', 'Mengimplementasikan model generatif menggunakan framework', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('7b862d8f-d0a1-4752-a6bd-da2509c6b94f', '36f3e69d-ab34-4970-bec4-2a57f9a35d1e', 'CPMK-1', 'Mata kuliah Elektronika Daya membahas prinsip dasar dan aplikasi elektronika yang digunakan untuk mengontrol dan mengonversi energi listrik dalam sistem daya. Mata kuliah ini meliputi teori dan aplikasi komponen elektronika daya seperti dioda, transistor, thyristor, dan IGBT dalam sistem pengendalian daya, pengaturan tegangan, dan konversi energi. Mahasiswa juga akan mempelajari topik-topik terkait seperti pengaturan daya aktif dan reaktif, pengendalian motor listrik, serta aplikasi dalam sistem tenaga dan kendaraan listrik. Selain itu, mata kuliah ini memberikan pemahaman tentang sistem konversi energi yang efisien dan berkelanjutan menggunakan perangkat elektronik daya.', 16.66, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('7bebc72c-4704-44c8-bc37-fd6f267cc1cd', '0db07feb-d6da-4542-a6b4-304119e1bedf', 'CPMK-2', 'Merancang dekomposisi layanan berdasarkan domain dan batas konteks (bounded context).', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('7c8107ca-3d95-4bc3-800d-1d5edcad4c29', 'b996bbc4-077b-4b3e-be50-266060bad564', 'CPMK-5', 'Mampu bekerja secara kolaboratif dalam tim untuk mencapai tujuan proyek akhir dengan efektif.', 0.20, '2026-01-16 23:21:14', '2026-01-17 00:49:33', 'CPL-03, CPL-04, CPL-05'), +('7d256f3d-cf4f-4628-9f91-72cfefe53100', 'ffd459b7-c016-41f0-8c3d-0290433eef19', 'CPMK-4', 'Mahasiswa mampu menyajikan rancangan melalui gambar teknis lengkap, visualisasi 3D, maket skala kawasan, dan laporan detail.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('7d271dd3-3243-47e6-b1cd-53bb9b0d3f9b', '6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 'CPMK-3', 'Mengevaluasi dampak sosial, ekonomi, dan lingkungan dari revitalisasi bangunan dan kawasan.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', 'CPL-01, CPL-04'), +('7d2bf3b9-d54b-43a3-a217-d0a48339c08c', 'e0ff767f-6980-4036-868d-6b4ce30c741e', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar sosial dan budaya dalam masyarakat multikultural.', 0.25, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('7d4c0b7a-8ed7-4052-a58e-6e6d173d9401', 'e69ba894-82ab-4345-b20e-aad1709ee7bf', 'CPMK-7', 'Mahasiswa mampu mengimplementasikan analisa citra menggunakan teknik deteksi sisi', 0.11, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('7d74a9c8-cabd-43be-ad2d-448f3a3361bc', '2a1e22f4-5528-4ed1-90d5-cff876c85326', 'CPMK-5', 'Mampu mengevaluasi dan memberikan umpan balik terhadap desain dan fungsionalitas halaman web.', 0.20, '2026-01-16 23:21:00', '2026-01-17 00:49:33', 'CPL-01, CPL-02'), +('7d7c867a-2bc6-44a8-8195-42ac08ba6b8f', '1c5fec35-9053-40a5-9130-ad3a37b5a249', 'CPMK-4', 'Menganalisis dan memecahkan masalah komputasi menggunakan teori bahasa dan otomata.', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('7d8bb9e8-98d6-4c57-9ca8-eaa0d8be686f', '0375adf6-4cb2-4d27-ae28-061bc9b51795', 'CPMK-3', 'Merancang halaman web statis dan dinamis dengan HTML, CSS, dan JavaScript', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('7de29081-3a85-4eed-8ed2-6599e817926e', '9e1347ad-ea71-4d7d-a3aa-b04ab074c92b', 'CPMK-2', 'Menganalisis isu-isu etika seperti bias, fairness, privacy, dan accountability dalam sistem AI.', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('7e144f7c-b545-47cf-85b0-cba64ad897c3', '75e925ed-43ed-40e5-91de-706b0b1a1964', 'CPMK-2', 'Mengidentifikasi unsur, prinsip, dan elemen pembentuk desain arsitektur.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('7e2906e0-991b-457b-a269-6a19f101a067', '112b7cf2-b8cc-4b17-bc36-edd12049a4f5', 'CPMK-1', 'Memahami konsep dasar sistem basis data relasional.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('7e52569d-2470-4d76-adba-b670b873bd0e', '555ac15b-7f41-42c9-a898-3549ae0c0333', 'CPMK-3', 'Mahasiswa mampu menyusun konsep pengembangan permukiman yang kreatif, humanis, sesuai regulasi, dan memperhatikan nilai Islami.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('7e8145af-328f-473a-9486-ae7c8a777a12', '127aa76f-a30c-4598-ba43-1c212e1932b5', 'CPMK-5', 'Menerapkan konsep data partitioning, sharding, dan message queues untuk meningkatkan throughput sistem.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('7eb53a76-77e0-49a1-8ac3-53937c439bbb', '058cffc9-d74d-471f-936d-1d58853f99de', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar ajaran Islam tentang akidah, ibadah, akhlak, dan moderasi beragama sesuai perspektif Muhammadiyah.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('7eb7c4a3-8752-4b59-8668-107a54eff125', '1afb1d0b-210e-4468-80fa-a91f11e7e0a2', 'CPMK-1', 'Menjelaskan prinsip dan arsitektur microservices serta perbandingannya dengan monolithic architecture.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('7ec0578c-c674-469d-be94-bbb65c0b7fac', '1a55adb5-cfea-4e52-be90-891d6be6aff0', 'CPMK-3', 'Mampu menerapkan prinsip-prinsip fisika untuk merancang elemen struktur bangunan yang aman dan efisien.', 0.20, '2026-01-16 22:56:56', '2026-01-17 00:52:38', 'CPL-03, CPL-06'), +('7ef9ec4f-ea01-4d2e-9408-8d53e48be554', 'ac2ca539-9694-48b3-93f8-0db6de719278', 'CPMK-2', 'Mampu merancang konsep arsitektur yang inovatif dengan mempertimbangkan aspek estetika, fungsionalitas, dan keberlanjutan.', 0.20, '2026-01-16 22:56:58', '2026-01-17 00:52:38', 'CPL-02, CPL-06, CPL-01'), +('7f1fceca-6b26-490e-8830-d8b436276f88', 'f75f20e0-1f04-4725-8c20-e138fd12d386', 'CPMK-4', 'Mengintegrasikan aplikasi dengan REST API, database lokal, dan layanan cloud', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('7f25c798-4ba0-4830-a2f8-160f135aaed7', '69a951bb-9cfb-45ac-9398-4b39daae89bd', 'CPMK-4', 'Mampu menyusun laporan penelitian', 16.66, '2026-01-16 22:56:37', '2026-01-17 00:58:09', ''), +('7f3f9007-eced-420c-a7ad-687f8ae9bd56', '881a35ab-2427-447e-bb8a-e26a566f677a', 'CPMK-5', 'Mahasiswa mampu menyajikan rancangan tapak dan ruang luar dalam bentuk gambar teknis, layout, dan model presentasi.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('7f4201da-b26b-4c3b-a43d-97e93b317a00', '6ab811fd-20e3-44d8-9d2b-3fcd52515717', 'CPMK-5', 'Mengintegrasikan monitoring dan notifikasi dalam pipeline', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('7f6db93d-c337-49a7-95ab-06e02aeeb697', 'cf549c6e-bc2b-44f0-80c0-3c17518e3b95', 'CPMK-2', 'Mampu menjelaskan prinsip dasar sistem kontrol, blok diagram, dan jenis-jenis sistem kontrol.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('7f7db5e5-a6c2-4340-b84b-58a2a2dbf90f', '555ac15b-7f41-42c9-a898-3549ae0c0333', 'CPMK-4', 'Mahasiswa mampu mengintegrasikan sistem infrastruktur, utilitas, dan tata hijau ke dalam rancangan kawasan permukiman.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('7f974a6c-3419-4a25-9b92-10cc9ce00cae', '86dccf89-001f-40b2-8396-3df88537c00f', 'CPMK-3', 'Merancang arsitektur keamanan cloud yang mencakup data, jaringan, dan aplikasi.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('7faca5db-f7b5-469d-bcda-67e6307b8ec9', '9cee2598-e3e8-4ab0-843b-88c513d01821', 'CPMK-5', 'Mahasiswa mampu mengevaluasi efektivitas penggunaan perintah Command Line untuk tugas-tugas sehari-hari di Linux.', 14.29, '2026-01-16 23:20:58', '2026-01-17 00:58:08', 'CPL-01, CPL-05'), +('7fb1aa11-a563-47ef-adf1-52525d5c8d64', '112b7cf2-b8cc-4b17-bc36-edd12049a4f5', 'CPMK-4', 'Mengevaluasi performa dan integritas basis data relasional.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('7fc45d20-6340-48a5-89e2-e40360c93f4a', 'bfed3b3c-17cc-4fe5-b044-2165e9e0af14', 'CPMK-2', 'Menggunakan aljabar linear untuk representasi dan manipulasi data (vektor, matriks, transformasi).', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('7fd89e89-4039-4fc2-9a15-f0c11138afad', 'e001a246-3d23-4e88-b982-3abbf29caf15', 'CPMK-2', 'Mahasiswa mampu menganalisis kebutuhan ruang, hubungan fungsi, sirkulasi, serta integrasi struktur dan utilitas dasar.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('7ff593a2-a84c-41a8-ba02-9bfef7191d89', '47d4a2b5-492d-47a1-acc7-90919054c72e', 'CPMK-3', 'Mampu menerapkan bilangan kompleks dalam representasi fasor dan impedansi pada sistem arus bolak-balik (AC).', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14', ''), +('80860ca3-d88a-4357-9c3b-963a698aa95d', '6cd02db2-b1f9-4aad-873b-349d154516f1', 'CPMK-2', 'Mahasiswa mampu merumuskan konsep desain yang mengintegrasikan bentuk, struktur, utilitas, estetika, & keberlanjutan.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('808f3876-8193-47de-86b8-2d15d2492dd7', '1fbe70aa-c19c-4076-9045-ffd606b71b01', 'CPMK-2', 'Mahasiswa mampu menganalisis kebutuhan pengguna dari berbagai latar belakang, usia, dan kemampuan fisik.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('80f8bf38-5cac-4a15-859a-7f1e63b0ec29', 'ebc0373c-c9b3-4027-91eb-2aa050c5a292', 'CPMK-4', 'Mampu mengintegrasikan sensor, aktuator, dan protokol komunikasi data (UART, SPI, I2C) ke dalam sistem tertanam.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('810ba7e9-a9ed-419b-acd5-26476de9c49c', 'e8460a71-2709-4bbc-b378-9b57ee3a4beb', 'CPMK-2', 'Mengidentifikasi sumber bukti digital dari berbagai perangkat dan jaringan', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('813a949f-595d-4ba1-9858-f5af80b60f7d', 'f7582245-dae4-4183-937b-0661ba62b33e', 'CPMK-5', 'Menyusun model matematika sederhana', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('8173ead0-d313-44ce-b0fc-4e6e3055c319', '3701b7b5-54ae-4a36-bccf-83276943464b', 'CPMK-3', 'Merancang sistem manajemen K3 untuk proyek konstruksi', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('81d1b39d-3864-4cc2-8021-b708ca19d003', 'b0d2039a-bcfb-486a-bf9c-fc811db72196', 'CPMK-4', 'Melakukan feature engineering dan model evaluation', 0.17, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('81d5c677-89f4-4ec4-9c10-2353548d83d9', '54b80847-e1c5-4402-9b4b-18bd2348c227', 'CPMK-7', 'Mahasiswa mampu mempresentasikan hasil proyek secara profesional', 0.14, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('81db8364-918d-45c9-a1dc-6f5d279b3193', '93d0cec7-0e52-4182-9710-75887b21ecbd', 'CPMK-4', 'Mampu menampilkan sikap religius, toleran, dan moderat dalam menyikapi perbedaan pandangan.', 0.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('81ed0bf2-1356-4892-9728-86b31b1d16b4', '38429483-ed40-4442-9b3a-5f7f8cb48db8', 'CPMK-2', 'Mampu menjelaskan konsep dasar antena, parameter radiasi, serta model propagasi gelombang elektromagnetik dalam berbagai kondisi lingkungan.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('81fd647b-fcfc-483d-8974-31eca3ebcf84', '7d918e6b-7ec8-4127-a1a9-833e4cefc476', 'CPMK-3', 'Melakukan simulasi algoritma menggunakan bahasa pemrograman', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('822b4743-e63d-48b7-9cb2-8326e0ee4cab', 'e9493d2b-1ba4-4338-9a38-815bcad65a6c', 'CPMK-1', 'Mata kuliah ini membahas dasar-dasar penggunaan alat ukur dan analisis rangkaian listrik, meliputi pengenalan multimeter (ammeter, voltmeter, ohmmeter) untuk pengukuran arus, tegangan, dan resistansi, serta verifikasi Hukum Ohm dan hukum Kirchhoff dalam rangkaian DC. Selain itu, mata kuliah ini juga mencakup pengenalan osiloskop untuk analisis gelombang AC, pengukuran daya pada rangkaian RC, serta prinsip kerja dan pengujian komponen aktif seperti dioda dan rangkaian penyearah setengah gelombang. Praktikum ini memberikan keterampilan praktis dalam menganalisis dan menguji rangkaian DC dan AC serta komponen dasar dalam sistem kelistrikan.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19', ''), +('822eafb8-3bcb-4010-8d43-a583b929641a', '93d0cec7-0e52-4182-9710-75887b21ecbd', 'CPMK-2', 'Mampu menganalisis kasus-kasus aktual di masyarakat dengan menggunakan kerangka nilai-nilai Islam dan Kemuhammadiyahan.', 0.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('824d11e3-c86a-4a78-ae51-d806c523a6a6', '33fc18df-fd5b-45c5-9893-71f90e37ba61', 'CPMK-10', 'Mahasiswa mampu┬á mengetahui memahami pengujian perangkat lunak', 0.09, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('824dba9e-bffc-4fe4-b46a-8309fcf95c27', 'b0d2039a-bcfb-486a-bf9c-fc811db72196', 'CPMK-3', 'Menerapkan algoritma unsupervised learning untuk pengelompokan dan reduksi dimensi', 0.17, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('82593f35-d68e-4ad5-abc2-d88064e37d01', '8f123fd0-8007-40c9-9a13-0e28f9be5932', 'CPMK-1', 'Menjelaskan konsep dasar K3 dan pentingnya standarisasi keselamatan kerja', 0.20, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('82988788-6730-4639-9c4a-20d6bb646e77', '36f3e69d-ab34-4970-bec4-2a57f9a35d1e', 'CPMK-5', 'Mampu mengevaluasi kinerja sistem tenaga listrik serta memberikan solusi untuk meningkatkan kestabilannya di bawah kondisi normal dan gangguan.', 16.66, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('829a667b-729e-49a5-9670-705605e04875', '30a91224-8d90-42ed-95c8-3860f33a85c9', 'CPMK-4', 'Mampu mengevaluasi hasil pengamatan dan memberikan solusi terhadap permasalahan yang muncul dalam praktik ilmu falak.', 21.43, '2026-01-16 22:56:36', '2026-01-17 00:58:08', ''), +('82c27418-c596-423e-b53c-1b5af7a67c4a', '28a4f6b3-52de-4eaa-a3af-597f56d37351', 'CPMK-5', 'Melakukan debugging dan pengujian program berbasis Java.', 0.20, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('830ad604-ac34-41d4-81ae-d2154afb6069', 'c378e358-586e-42d8-b8d8-8aad0ae97dc4', 'CPMK-5', 'Mampu mengevaluasi kinerja sistem tenaga listrik, termasuk kualitas daya (voltage stability, harmonic distortion, power factor), dan memberikan rekomendasi perbaikan untuk memastikan kualitas daya yang optimal.', 20.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30', ''), +('8319027d-52b4-4668-b3a6-f582749f228b', 'f3971cd2-bb40-4a50-a3a5-a8a8b860933b', 'CPMK-5', 'Mengevaluasi tingkat kepatuhan organisasi terhadap kebijakan dan regulasi keamanan informasi.', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('8321a2c4-1f49-492e-9012-f43158fa3936', 'e517d812-8ad2-4124-ba9e-1f3dbbb2f815', 'CPMK-6', 'Menunjukkan sikap profesional, disiplin, dan etis dalam pengujian keamanan jaringan', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('834235e4-7ffa-4e7c-b257-dcb8d1096867', 'a4f1b0a6-99cb-40e0-ad0e-e176c57e102f', 'CPMK-4', 'Mampu mengevaluasi kebijakan energi yang berlaku di tingkat nasional dan internasional dan menganalisis dampaknya terhadap sektor tenaga listrik.', 20.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('8351e9ac-632b-4449-bbe7-7865b4d5d228', 'f2424441-6fbc-4788-85af-d4e3317a9c26', 'CPMK-1', 'Mata kuliah Elektronika Daya membahas prinsip dasar dan aplikasi elektronika yang digunakan untuk mengontrol dan mengonversi energi listrik dalam sistem daya. Mata kuliah ini meliputi teori dan aplikasi komponen elektronika daya seperti dioda, transistor, thyristor, dan IGBT dalam sistem pengendalian daya, pengaturan tegangan, dan konversi energi. Mahasiswa juga akan mempelajari topik-topik terkait seperti pengaturan daya aktif dan reaktif, pengendalian motor listrik, serta aplikasi dalam sistem tenaga dan kendaraan listrik. Selain itu, mata kuliah ini memberikan pemahaman tentang sistem konversi energi yang efisien dan berkelanjutan menggunakan perangkat elektronik daya.', 20.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('83fdb1af-5c20-4658-99d7-ad3fc228cc09', '665b5754-34f9-4794-8aff-4a493a7d702a', 'CPMK-4', 'Mahasiswa mampu mengintegrasikan nilai humanis, berkelanjutan, dan Islami dalam pembentukan estetika bentuk.', 0.20, '2026-01-16 22:56:43', '2026-01-17 00:52:38', ''), +('8457d215-e086-4f16-a1ed-f3b3a572ce32', 'aa134f8b-abba-401b-a847-cd9ceef9827b', 'CPMK-4', 'Menggunakan protokol komunikasi aman seperti SSL/TLS dan VPN', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('84b98f97-8a3f-4f33-af01-cc3636ed7d9e', 'be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 'CPMK-5', 'Mampu mempresentasikan hasil proyek capstone secara efektif kepada audiens dengan menggunakan media yang sesuai.', 14.29, '2026-01-17 00:58:39', '2026-01-17 00:58:39', 'CPL-06'), +('84c5ca35-9704-42cf-b485-0914fbfaf556', 'ffd459b7-c016-41f0-8c3d-0290433eef19', 'CPMK-2', 'Mahasiswa mampu menghitung beban, gaya, dan deformasi pada struktur tinggi.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('84de0de2-b897-4580-a085-c36ba7c07290', '1afb1d0b-210e-4468-80fa-a91f11e7e0a2', 'CPMK-4', 'Menerapkan containerization dan deployment layanan menggunakan Docker dan Kubernetes.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('85667447-f1b5-4d09-a189-bac729a29a17', '0db07feb-d6da-4542-a6b4-304119e1bedf', 'CPMK-7', 'Menunjukkan kemampuan kolaborasi dan profesionalisme dalam proyek microservices.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('8569fc9c-c270-4d1f-9fcc-2b5414703b6d', '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 'CPMK-2', 'Mampu menganalisis berbagai perspektif dalam kajian AIK dan implikasinya terhadap kehidupan sehari-hari.', 21.43, '2026-01-16 22:56:36', '2026-01-17 00:58:08', 'CPL-04, CPL-03'), +('85837a42-f015-4c99-8010-8248b2a6e469', 'e6ff039a-b996-491a-afce-d8885e6cc8d7', 'CPMK-1', 'Mata kuliah ini membahas prinsip kerja sistem radar dan sistem navigasi modern untuk aplikasi sipil maupun militer', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('85b72902-5fa9-4011-acc6-280c9c81fb67', '6ab811fd-20e3-44d8-9d2b-3fcd52515717', 'CPMK-1', 'Memahami konsep dan filosofi DevOps serta siklus hidup perangkat lunak modern', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('85f42083-81d7-4aae-9a26-3b08811ae223', 'a442d9d7-1b63-4ac3-9f16-04d81176b460', 'CPMK-2', 'Mahasiswa Mampu mengingat dan memahami model OS', 0.11, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('860bd365-fd58-44ce-8eaf-0e15d8d20317', 'd77faeee-6cfb-432f-91fb-36a9023649d2', 'CPMK-1', 'Menganalisis konsep dasar dan prinsip-prinsip dalam Artificial Intelligence dan Kecerdasan Buatan.', 21.43, '2026-01-16 22:56:52', '2026-01-17 00:58:10', 'CPL-04'), +('861559d1-476a-47a3-bb7b-2973af2a59f2', '4583364c-1191-46ac-af67-5fd1475a6b8f', 'CPMK-3', 'Mahasiswa mampu┬á menjelasan tentang pengertian matriks, jenis-jenis matriks, matriks ekivalen, ruang baris/kolom suatu matriks dan rank matriks.', 0.14, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('86232f07-1505-4b7b-958c-03fa0abf86c9', '0f73ece5-1a7d-4a9f-adb8-3b738ce322b5', 'CPMK-4', 'Menggunakan embedding modern seperti Word2Vec, GloVe, dan Transformer embeddings untuk representasi', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('862d710e-d825-4322-bb23-5ef4d283b7a0', 'accf154a-1fa4-4804-bf46-fe4287399e61', 'CPMK-2', 'Mahasiswa mampu menerapkan nilai-nilai keislaman dalam sikap, perilaku akademik, dan pengambilan keputusan.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('8634269e-6f5e-4522-8a2f-d202488da09d', '2e4f8883-1d6f-425d-bcb1-e2e346778209', 'CPMK-2', 'Mahasiswa dapat memahami dan menjelaskan tentang Tipe data Array', 0.33, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('864510a6-b812-4b99-afbe-b48be460967e', '54867a16-2212-4987-99f2-90a7e0f77ce1', 'CPMK-1', 'Mampu merumuskan masalah penelitian yang relevan dalam bidang keahlian sesuai dengan topik tugas akhir.', 21.43, '2026-01-16 22:56:53', '2026-01-17 00:58:11', 'CPL-03, CPL-04'), +('8693d333-7032-4309-8fff-8b1b06cd98a9', '3f0fdc4a-aaf1-4331-9c72-b452b45e0737', 'CPMK-3', 'Mahasiswa dapat memahami dan menjelaskan tentang Function, Class dan Object dalam Jav', 0.33, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('86a36031-c1c2-4757-80c9-81b9b19cfd11', '7ec43900-b6ac-42a4-b3d6-d1b254edc311', 'CPMK-3', 'Mahasiswa mampu menjelaskan dan menerapkan algoritma kriptografi simetris', 0.14, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('86a44207-97c0-4769-98a4-c2fec1204bfd', '46b8cb78-c18e-446b-b090-0d1acfd66533', 'CPMK-1', 'Mahasiswa mampu memahami konsep dasar gaya, beban, dan reaksi dalam struktur bangunan.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('86a8f4d0-b751-490f-89cb-f66b1045df4c', '2fa43052-36fd-4b90-9d94-20fff24bb411', 'CPMK-3', 'Mahasiswa dapat mengidentifikasi komponen dasar elektronik seperti resistor, kapasitor, dan transistor, serta memahami fungsinya dalam rangkaian kelistrikan dan sistem elektronik.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', 'CPL-01,CPL-05'), +('878a89f7-abff-4552-8e02-a396c4c59c3d', '7df87425-930d-458e-bf91-8398825b82c1', 'CPMK-5', 'Mahasiswa mampu menyajikan detail konstruksi beton dalam bentuk gambar kerja dan laporan teknis.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('87900009-df01-4883-a1c9-8a1f147eca28', '8f123fd0-8007-40c9-9a13-0e28f9be5932', 'CPMK-5', 'Mengevaluasi penerapan K3 melalui studi kasus', 0.20, '2026-01-16 23:21:05', '2026-01-17 00:49:33', ''), +('87b2211e-ffe1-4ecf-8131-16d08c8a4bb5', 'b0d71fa7-483d-41b4-b8b6-f111d8601ba1', 'CPMK-2', 'Mahasiswa dapat memahami Pronoun dalam bahasa inggris', 14.28, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('886e578f-d576-4005-9129-6bb97702c93c', 'fef3d744-dfa4-4059-aa84-578d1a6d432f', 'CPMK-3', 'Mahasiswa mampu menganalisis penerapan prinsip-prinsip Islam dalam tatanan ruang dan lingkungan binaan.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('886f3fd1-0644-4f60-a491-b46a93602d79', '8b4bbddd-0548-4afb-8cbe-cddbafe189db', 'CPMK-3', 'Merancang arsitektur keamanan cloud yang mencakup data, jaringan, dan aplikasi.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('893ccb29-8438-401c-95da-8d0d2f900a9c', 'a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 'CPMK-2', 'Mampu melakukan analisis literatur untuk mengidentifikasi teori dan penelitian terdahulu yang mendukung penelitian.', 21.43, '2026-01-16 22:56:39', '2026-01-17 00:58:10', 'CPL-01'), +('89b3623e-2650-4933-8a2a-34b590578281', '35eebf92-894d-4936-9d0f-6bdf47adc11f', 'CPMK-3', 'Mampu menganalisis kebutuhan sumber daya, risiko, serta jadwal proyek menggunakan metode manajemen.', 20.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('89cd449a-95eb-41a8-9669-9addb7d6b202', '46b8cb78-c18e-446b-b090-0d1acfd66533', 'CPMK-4', 'Mahasiswa mampu menerapkan prinsip mekanika bangunan pada desain arsitektur sederhana.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('8aa84918-66b0-4fd6-9953-3ddb0be4c203', '150dfc2a-ef1f-4753-b044-24d32ea5aa63', 'CPMK-2', 'Mampu menyusun tinjauan pustaka dan kerangka teori yang relevan dengan topik Tugas Akhir.', 0.00, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('8af89a76-f6f0-4199-8c02-654eddd283a9', 'a8aaa007-c80c-4244-a47f-6746bc34c1ae', 'CPMK-3', 'Melakukan analisis kerentanan pada sistem jaringan dan aplikasi menggunakan tools keamanan.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('8b22fc5a-6979-4930-ab5f-1771ba072cdb', 'fcc12b73-1704-44cc-adaf-c571cdc59be0', 'CPMK-2', 'Mampu menjelaskan konsep dasar, struktur, dan tahapan dalam perancangan sistem VLSI.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('8b26e168-6a40-4eac-ab26-7c2c9e05fe7d', '5b58785e-cbc1-43d8-9e9c-810f25534f0b', 'CPMK-1', 'menjelaskan konsep dasar neural networks dan deep learning serta komponennya', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('8b62ef6b-6c37-453e-b452-42c3b0ab9d79', 'e69ba894-82ab-4345-b20e-aad1709ee7bf', 'CPMK-3', 'Mahasiswa mampu┬á menjelasan tentang representasi citra', 0.11, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('8ba3cec8-5c7c-4a16-bc21-6f0b58a50dc9', '46b8cb78-c18e-446b-b090-0d1acfd66533', 'CPMK-3', 'Mahasiswa mampu menganalisis hubungan antara bentuk struktur, material, dan kestabilan bangunan.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('8bd5652f-eee1-4022-8551-9eb268622cb5', '0f73ece5-1a7d-4a9f-adb8-3b738ce322b5', 'CPMK-7', 'Menunjukkan kemampuan kerja tim, etika profesional, dan tanggung jawab dalam proyek NLP', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('8be6179d-5348-4e5a-bced-07e3669b3780', 'e80b63ba-8556-4a1b-a9ac-45e346bea6b3', 'CPMK-4', 'Mengolah data pengukuran dengan perangkat lunak sederhana.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('8c176a6a-9db3-4c1e-8db8-eb0d7d8f2be6', '9272905d-e48e-4999-b6d4-1892ffe5277e', 'CPMK-5', 'Mampu menguji dan mengevaluasi performa sistem kontrol berdasarkan stabilitas, akurasi, kecepatan respon, dan keandalan.', 20.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33', ''), +('8c795c6c-e8bd-487e-b449-4beda3205a93', '5aec8529-0bc9-43dc-8b16-9d6350ca3958', 'CPMK-1', 'Mata kuliah ini membahas prinsip dasar fenomena tegangan tinggi, proses tembus listrik pada gas, cair, dan padatan, serta pengujian, pengukuran, dan perancangan sistem isolasi untuk peralatan tenaga listrik.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('8c7fa818-2011-42c2-ba6d-45483ce994ae', '71716d40-936e-436a-88c3-28df37794b3a', 'CPMK-2', 'Mampu menjelaskan konsep dasar komunikasi satelit, jenis orbit, dan komponen sistem satelit.', 21.43, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('8ccca03b-c90f-4766-8a6e-de48dc5fe60a', '615bed82-5916-4594-b5c4-7c4353b02636', 'CPMK-1', 'Mata kuliah ini mempelajari konsep dasar rangkaian listrik, hukum-hukum rangkaian, analisis DC dan AC sederhana, metodologi pemodelan rangkaian, serta penggunaan perangkat analisis rangkaian. Mahasiswa dilatih melakukan analisis kuantitatif, pemodelan, dan verifikasi menggunakan eksperimen laboratorium dasar.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('8ce32608-5a16-433c-b9d8-79cbbb85b90d', '4d7c057a-6920-447a-bfef-117238ea784f', 'CPMK-6', 'Mengintegrasikan API gateway, load balancing, dan serverless function ke dalam sistem cloud-native', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('8ceeb5fb-c5d0-4cd9-a8f2-cf21a0f714c8', 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 'CPMK-4', 'Mampu menyusun laporan skripsi yang sistematis, jelas, dan sesuai dengan kaidah penulisan ilmiah.', 21.43, '2026-01-16 22:56:38', '2026-01-17 00:58:09', 'CPL-03'), +('8d13fc3b-fb6d-477c-a540-388c8c2ca37b', 'd4c20ee9-3e14-43b7-92d7-e44979d05d11', 'CPMK-5', 'Mampu melakukan pengujian, debugging, dan menyajikan dokumentasi teknis sistem mikrokontroler secara profesional.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('8d2819f9-fbed-474f-806e-0ffd1b360a48', '127aa76f-a30c-4598-ba43-1c212e1932b5', 'CPMK-7', 'Menunjukkan profesionalisme, tanggung jawab, dan kolaborasi dalam proyek scalable system.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('8d428160-8a59-4b33-80b4-3ebe3f1d660a', '2fa43052-36fd-4b90-9d94-20fff24bb411', 'CPMK-4', 'Mahasiswa dapat memecahkan masalah sederhana yang berkaitan dengan rangkaian listrik menggunakan hukum dasar kelistrikan seperti hukum Ohm dan hukum Kirchhoff.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', 'CPL-01,CPL-04'), +('8d4454ec-5073-4df1-8ee4-5c9d044fab74', '39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 'CPMK-4', 'Mampu merancang proyek pemetaan sederhana berdasarkan kebutuhan analisis geospasial.', 0.20, '2026-01-16 22:56:56', '2026-01-17 00:52:38', 'CPL-02, CPL-06, CPL-08'), +('8d53521f-e83e-44bf-9563-eda29b36a7a9', 'ac5382bb-6368-4957-915a-00a06ec8c767', 'CPMK-2', 'Mahasiswa mampu melakukan kajian literatur yang relevan dan mutakhir sebagai dasar penyusunan kerangka teoritis dan konsep desain.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('8d912d32-3cce-453b-961e-3887096e06cd', 'e8460a71-2709-4bbc-b378-9b57ee3a4beb', 'CPMK-6', 'Menunjukkan sikap profesional, jujur, dan beretika selama proses investigasi forensik.', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('8dc7f327-dfd9-4fc1-8650-f2f97ad8a62f', '14db19d8-2f5c-4f53-b68d-53e65a32f898', 'CPMK-4', 'Mengelola penyimpanan data besar menggunakan HDFS, NoSQL, atau data lake.', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('8de06e06-8381-4a18-bb0a-1135c4208acd', '2aaaf8e5-a8c5-4a4f-8a1b-1f977c1dfa75', 'CPMK-1', 'Mata kuliah ini membahas konsep dasar, komponen, dan teknik modulasi-demodulasi dalam sistem komunikasi analog dan digital. Termasuk analisis kinerja sistem komunikasi, pengaruh derau, serta pengenalan sistem komunikasi modern seperti serat optik dan komunikasi nirkabel.', 20.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18', ''), +('8e57c57b-cfbe-4ea4-a0fd-66241b7bd5cd', 'f0d05b36-12dd-45d7-869f-f975f4b0ebb1', 'CPMK-1', 'Mata kuliah Kecerdasan Buatan dalam Sistem Tenaga Listrik membahas penerapan metode kecerdasan buatan (Artificial Intelligence/AI) dalam analisis, operasi, perencanaan, dan pengendalian sistem tenaga listrik.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''); +INSERT INTO `cpmk` (`id`, `id_mk`, `kode_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`, `matched_cpl`) VALUES +('8e6e1581-47c9-4683-b3ff-7d292f83396a', 'e41854a3-6b44-4e52-b87f-f0d3e14c53ca', 'CPMK-5', 'Mampu mengevaluasi kesesuaian material dasar (logam, polimer, keramik, komposit) berdasarkan sifat fisik dan mekaniknya untuk kebutuhan teknik tingkat dasar.', 14.29, '2026-01-17 00:58:12', '2026-01-17 00:58:12', 'CPL-01,CPL-03'), +('8ea74b83-0567-49f7-a09d-6be15363fab9', '969911f0-3df1-4705-af93-fd6807f1dcaa', 'CPMK-3', 'Mengimplementasikan pustaka grafika seperti OpenGL atau WebGL.', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('8ec91018-ef78-472b-8bc8-80157fcf388c', 'e001a246-3d23-4e88-b982-3abbf29caf15', 'CPMK-5', 'Mahasiswa mampu mengevaluasi dan memperbaiki desain secara sistematis berdasarkan masukan dan regulasi bangunan.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('8efeee66-1bb4-47e5-99d2-08f4f3bc121b', '14db19d8-2f5c-4f53-b68d-53e65a32f898', 'CPMK-5', 'Menggunakan workflow orchestration tools seperti Apache Airflow atau Prefect untuk otomatisasi pipeline data', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('8f1b5a53-ee5a-4eb3-a1b5-17f38dbcccd6', '7d8ce821-3f52-4313-8bf1-d43ac8abc103', 'CPMK-4', 'Mampu menjelaskan komponen sistem komunikasi optik seperti sumber cahaya, detektor, dan sambungan optik.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('8f385e28-2219-4faf-99bd-d4c49bae4ea7', '9ad1d2e1-8ed4-4204-bb39-d149a56997cb', 'CPMK-5', 'Mahasiswa mampu menyusun laporan teknis terukur untuk proyek high-rise dan mixed-use.', 0.20, '2026-01-16 22:56:50', '2026-01-17 00:52:38', ''), +('8f8635d9-b0ff-4f82-96e8-49948434db07', '0d0a669a-7571-4abf-93e0-a36fc3a324f0', 'CPMK-4', 'Mahasiswa mampu menyajikan rancangan ruang dalam dalam bentuk gambar kerja, model 3D, dan media presentasi yang komunikatif.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('8f92c19c-cfd7-4d99-a6e4-5fe1e6ade6b0', '5368a6f5-ba60-42e6-848c-ed409d1d327a', 'CPMK-4', 'Mampu menggunakan MATLAB untuk memahami dan mensimulasikan representasi sinyal listrik/elektronik dasar (sinyal analog, diskrit, kontinu) dan melakukan operasi matematika pada sinyal.', 16.66, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''), +('8fe54903-8e3e-4698-8e91-6b4f192cd2d7', '86dccf89-001f-40b2-8396-3df88537c00f', 'CPMK-5', 'Menerapkan kebijakan keamanan, kepatuhan, dan standar cloud (ISO, NIST, CSA).', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('903b199a-dfef-4550-a1ed-64079f242e58', '555ac15b-7f41-42c9-a898-3549ae0c0333', 'CPMK-2', 'Mahasiswa mampu menganalisis kondisi eksisting kawasan permukiman berdasarkan aspek fisik, sosial, ekonomi, budaya, dan lingkungan.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('90420b31-a5d4-4c27-8fe7-3a9cf6dfd20a', '67a5866d-9a48-41d3-ac5c-b7be2230c42c', 'CPMK-4', 'Mampu merancang sistem transduser dengan mempertimbangkan sensitivitas, akurasi, rentang pengukuran, kompatibilitas, dan rangkaian pengkondisi sinyal.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('907facab-7daf-424b-8a69-08e134d3479c', '2d0b3a7e-868a-4a2e-a703-bfef24d96141', 'CPMK-5', 'Melakukan pengujian keamanan perangkat lunak (static/dynamic testing, fuzzing, penetration testing).', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('90ab017c-21d9-4300-a24b-eb1e46f08eeb', '1a55adb5-cfea-4e52-be90-891d6be6aff0', 'CPMK-5', 'Mampu melakukan eksperimen sederhana untuk mengukur parameter fisika yang mempengaruhi struktur bangunan.', 0.20, '2026-01-16 22:56:56', '2026-01-17 00:52:38', 'CPL-03, CPL-06'), +('90b54a67-bc5b-4d90-a882-35ad06ae5599', 'b0d71fa7-483d-41b4-b8b6-f111d8601ba1', 'CPMK-7', 'Mahasiswa dapat memahami bahasa inggris di bidang teknik dengan reading comprehension', 14.32, '2026-01-16 22:56:36', '2026-01-17 00:58:08', ''), +('90d55e61-77e1-4b83-a79f-a2504f9d5df0', '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 'CPMK-2', 'Mampu menganalisis dan membandingkan metode KKP-Plus dengan pendekatan pembelajaran lainnya.', 21.43, '2026-01-16 22:56:54', '2026-01-17 00:58:11', ''), +('90fea71d-d82e-43e2-880b-ef9ab18ba7b6', '2e4f8883-1d6f-425d-bcb1-e2e346778209', 'CPMK-3', 'Mahasiswa dapat memahami dan menjelaskan tentang Function, Class dan Object dalam Jav', 0.33, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('91067cbb-242c-4cf6-9af3-3c2a48f9025a', '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 'CPMK-5', 'Mampu mengidentifikasi dan merumuskan metodologi penelitian yang tepat untuk topik yang dipilih', 14.29, '2026-01-16 22:56:39', '2026-01-17 00:58:09', 'CPL-01, CPL-02'), +('910cd8d9-0a0c-4474-b354-5e722927c1f0', '18ea0402-3c11-483a-a40a-2e03fddf7bea', 'CPMK-2', 'Mahasiswa mampu mengidentifikasi prinsip, karakteristik, dan elemen pembentuk arsitektur pada berbagai peradaban dunia hingga abad pertengahan.', 0.25, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('910e2d61-39f7-4546-ab38-a5c99976670b', '35839aaf-cb66-4d72-be1f-bf53c2aa1725', 'CPMK-5', 'Mampu menguji, mengevaluasi, dan membandingkan kinerja berbagai metode pengolahan citra menggunakan perangkat lunak atau bahasa pemrograman yang relevan.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('9175b8d6-051e-4ac8-806f-1563bc8a9165', '8a1393c5-895f-4aca-ac56-495e43f660bb', 'CPMK-5', 'Membandingkan nilai-nilai Al Islam dan Kemuhammadiyahan dengan pemikiran agama lainnya.', 14.29, '2026-01-16 22:56:55', '2026-01-17 00:58:38', 'CPL-10'), +('9177fd0f-6fb0-4e5e-bc4d-8a6ca2098fed', '9f7d6597-3b8a-4fce-b1bc-17977515d6d2', 'CPMK-6', 'Menunjukkan etika profesional dan kolaborasi tim dalam eksperimen data', 0.17, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('918d1daf-8f4d-405d-83be-0b6ef2f91755', '515014e1-6438-408e-990f-e286b2ed75c3', 'CPMK-4', 'Mahasiswa mampu menyusun model bisnis sederhana dan rencana usaha.', 20.00, '2026-01-16 22:56:37', '2026-01-17 00:58:09', ''), +('921388bc-9c19-45c7-a3c6-3e9cd524fcd5', '9607961c-1c2e-4463-b3d8-b7028c83f58e', 'CPMK-2', 'Mampu menerapkan kosakata teknis dalam bahasa Inggris yang relevan dengan bidang komputer.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', 'CPL-03, CPL-05'), +('923a28c6-4495-4915-bdb5-616ccea2716e', '9607961c-1c2e-4463-b3d8-b7028c83f58e', 'CPMK-4', 'Mampu berkomunikasi secara efektif dalam bahasa Inggris dalam konteks presentasi proyek komputer.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', ''), +('926fa27b-1a5d-4363-8122-6312abec76b4', '7335b9e6-152a-4d2f-814e-3c2e7e65ca2f', 'CPMK-3', 'Mengembangkan aplikasi web sederhana berbasis client-server.', 0.25, '2026-01-16 23:21:02', '2026-01-17 00:49:33', ''), +('9291a1aa-fc80-4388-abbb-2e6b63e5158f', 'cdcb2c97-4668-4236-a44f-cd926a9f934b', 'CPMK-2', 'Mampu menjelaskan prinsip dasar semikonduktor dan karakteristik bahan semikonduktor.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('929eeac3-67f0-4cd1-bbf2-29bc08d58a8e', 'a4f1b0a6-99cb-40e0-ad0e-e176c57e102f', 'CPMK-1', 'Mata kuliah Manajemen Energi Listrik membahas konsep dan teknik dalam pengelolaan energi listrik di industri dan masyarakat. Mata kuliah ini mencakup topik-topik seperti efisiensi energi, kebijakan energi, perencanaan sistem tenaga listrik, pengelolaan sumber daya energi terbarukan, serta tantangan dan solusi dalam pengelolaan energi yang berkelanjutan. Mahasiswa akan diberikan pemahaman tentang pentingnya pengelolaan energi yang efisien dan berkelanjutan dalam menghadapi kebutuhan energi yang terus meningkat, serta bagaimana manajemen energi yang baik dapat mendukung tujuan keberlanjutan di sektor industri dan publik.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('92acd174-e2c2-43e8-943f-4c71b70396bf', 'fc5285d1-6d74-447c-91ad-34144ba5b289', 'CPMK-2', 'Mampu menjelaskan konsep dasar sistem instrumentasi, prinsip kerja berbagai sensor/transduser, dan arsitektur sistem akuisisi data.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('92b41259-8466-45dc-a779-0369361edffe', '69a951bb-9cfb-45ac-9398-4b39daae89bd', 'CPMK-3', 'Menguasai teknik pengumpulan dan analisis data', 16.66, '2026-01-16 22:56:37', '2026-01-17 00:58:09', ''), +('92c5d6fb-de6e-4e15-9cb9-729774e7daa0', '024d3e76-0845-4ebb-a000-ad72db9eccb3', 'CPMK-1', 'Mahasiswa mampu mengaplikasikan pengetahuan dan keterampilan arsitektur dalam lingkungan kerja nyata secara profesional, sesuai standar teknis dan etika.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('930117f4-fcec-4433-adc8-56c341d0b71a', '53a5f150-9b86-43a7-ac28-6d0c300c5fab', 'CPMK-2', 'Mahasiswa mampu menjelaskan pengertian Sistem Aljabar satu operasi, Semi group dan Monoid, Group abel, Subgroup dan Subgroup Normal, dan Group Kuosien', 0.14, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('93109fb7-ca25-4d34-8638-432d17e60fac', 'accf154a-1fa4-4804-bf46-fe4287399e61', 'CPMK-3', 'Mahasiswa mampu mengintegrasikan ajaran Islam dengan konteks sosial, budaya, dan profesi arsitektur.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('93c3b670-5245-4d96-8fac-41700beadeb7', '555ac15b-7f41-42c9-a898-3549ae0c0333', 'CPMK-1', 'Mahasiswa mampu menjelaskan teori, prinsip, dan konsep perancangan kawasan permukiman yang fungsional, inklusif, dan berkelanjutan.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('94499e5b-87bf-444d-b796-35ac2a6845ff', '18ea0402-3c11-483a-a40a-2e03fddf7bea', 'CPMK-1', 'Mahasiswa mampu memahami perkembangan arsitektur dunia dari masa prasejarah hingga abad pertengahan, serta mengidentifikasi faktor sosial, budaya, teknologi, dan lingkungan yang memengaruhi bentuk arsitektur.', 0.25, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('94816923-e740-44c5-b121-6c4526f5ede1', '9ad1d2e1-8ed4-4204-bb39-d149a56997cb', 'CPMK-1', 'Mahasiswa mampu menganalisis dan merancang sistem struktur bangunan high-rise dan mixed-use.', 0.20, '2026-01-16 22:56:50', '2026-01-17 00:52:38', ''), +('94c6fd18-7873-405d-8970-4c79ada1cd7c', 'e6ff039a-b996-491a-afce-d8885e6cc8d7', 'CPMK-5', 'Mampu merancang sistem radar atau navigasi sederhana berdasarkan kebutuhan aplikasi serta melakukan simulasi/eksperimen dasarnya.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('94d547a5-4d3d-42b2-86ae-b5432530b0b2', '23115d0f-eec7-438c-b2ac-9a17e1c601b2', 'CPMK-5', 'Mampu mensimulasikan arsitektur komputer sederhana dan menulis program dasar dalam bahasa rakitan (assembly) menggunakan perangkat lunak simulasi dengan benar serta menyajikan hasilnya secara profesional.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('9533dc57-b625-40dd-a2e0-95ecf62e2d3c', 'c378e358-586e-42d8-b8d8-8aad0ae97dc4', 'CPMK-3', 'Mampu melakukan perhitungan dan analisis aliran daya pada sistem tenaga listrik, baik dalam kondisi normal maupun saat terjadi gangguan.', 20.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30', ''), +('9537d11e-ef8f-4d91-b2e7-82ff86ea63ba', '3a40a9d1-086d-4d41-9e2b-f4da42382168', 'CPMK-2', 'Mahasiswa mampu menganalisis faktor lingkungan seperti suhu, kelembapan, radiasi matahari, dan arah angin terhadap performa bangunan.', 0.20, '2026-01-16 22:56:49', '2026-01-17 00:52:38', ''), +('9652c56b-6711-40a8-8361-ef89c1c666bf', 'b995e4ed-c305-4abc-b847-216f92bc9fa5', 'CPMK-4', 'Mahasiswa mampu menganalisis studi kasus AMDAL pada proyek arsitektur dan perkotaan.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('966e975b-f461-4e85-bde6-64f3d97e9f3a', '5b58785e-cbc1-43d8-9e9c-810f25534f0b', 'CPMK-2', 'Mengimplementasikan jaringan saraf tiruan sederhana menggunakan framework deep learning.', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('971a74b1-ad8c-4d0e-8c47-3ba0fda6ba3e', '73beca28-8a3d-43ff-997e-2a26548d63ee', 'CPMK-3', 'Mahasiswa mampu mengintegrasikan teknik rendering dan visualisasi digital untuk mendukung komunikasi desain.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('97233896-c05e-4690-ac76-5fa394232e29', '4fc36d1c-942b-4bec-a9a5-d58075c3d137', 'CPMK-4', 'Mahasiswa mampu mengintegrasikan sistem pengkondisian dengan desain arsitektur secara estetis dan fungsional.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('97327e5a-d85a-49ce-acad-bda6100115c4', '1d80cecb-e4ff-4ffe-aa8e-c9ecd2ab4515', 'CPMK-1', 'Mata kuliah Teori Informasi dan Pengkodean membahas prinsip dasar dalam pengukuran, transmisi, dan efisiensi informasi pada sistem komunikasi digital.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('973d11dd-4221-40de-b281-db09ecbf6a16', '93d0cec7-0e52-4182-9710-75887b21ecbd', 'CPMK-5', 'Mampu merancang rencana tindakan pribadi yang selaras dengan nilai-nilai Al Islam Kemuhammadiyahan.', 0.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('981d8b11-892a-406e-a966-93193fdb24da', '0d90c7f0-af81-4b0a-9a50-1467d4617a98', 'CPMK-4', 'Mampu merancang dan mensimulasikan rangkaian elektronika telekomunikasi, seperti modulasi, penguat RF, atau filter, sesuai spesifikasi teknis.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('9821e46e-bde7-48ce-bbec-238aeff8a6f0', '4fc36d1c-942b-4bec-a9a5-d58075c3d137', 'CPMK-2', 'Mahasiswa mampu menganalisis kebutuhan pengkondisian bangunan berdasarkan fungsi, orientasi, dan karakter ruang.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('98296288-90f1-48c3-be80-bc6f88e59437', '170d427a-0030-47ed-9d6d-e653e8f19be4', 'CPMK-5', 'Mampu menggunakan software simulasi untuk menguji kebenaran dan fungsionalitas rangkaian logika.', 20.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15', 'CPL-01,CPL-05,CPL-04'), +('982e415b-5609-44de-9441-e5e976aae27e', 'f72b9162-c61c-4efa-b519-adc75f94258e', 'CPMK-3', 'Merancang sistem jaringan perpipaan untuk distribusi air', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('9874f2fa-ebcd-4e73-864f-fe4a80deda44', '9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 'CPMK-4', 'Mampu mengevaluasi hasil kerja dan memberikan umpan balik konstruktif terhadap proses kerja yang dilakukan', 21.43, '2026-01-16 22:56:39', '2026-01-17 00:58:09', 'CPL-03, CPL-04'), +('98d34800-c46e-4d87-a189-144b8557af41', 'f72b9162-c61c-4efa-b519-adc75f94258e', 'CPMK-1', 'Menjelaskan parameter kualitas air dan standar baku mutu', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('99174b62-4376-4e70-8e6d-1780abbea00a', '31eb6978-c476-454d-9b25-270f6e49c0ba', 'CPMK-4', 'Mampu menyajikan proposal penelitian secara verbal dan tulisan dengan jelas dan persuasif.', 21.43, '2026-01-16 22:56:54', '2026-01-17 00:58:11', ''), +('991e40f6-117b-4fb8-b200-5c7641795694', 'f38f3d61-837e-43f2-a0cf-980aa2e286ae', 'CPMK-5', 'Mampu menyelesaikan masalah matematika yang melibatkan limit, barisan, deret, dan trigonometri secara logis, runtut, dan sesuai kaidah matematis serta menunjukkan ketelitian dan tanggung jawab akademik.', 14.29, '2026-01-17 00:58:12', '2026-01-17 00:58:12', ''), +('992ec3c9-1ea4-4b1d-8436-972ae5944792', '7143e93e-2bb6-4f3b-8ac8-34aa07e37631', 'CPMK-4', 'Mampu melakukan analisis fisis dan perhitungan kuantitatif terhadap sistem mekanik dasar.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', ''), +('994d1f5f-fc55-4231-b139-94d54da06d28', '9f7d6597-3b8a-4fce-b1bc-17977515d6d2', 'CPMK-5', 'Merancang dan membangun pipeline data end-to-end', 0.17, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('99a3a4e1-9b7f-481c-8164-72c966e62b6a', 'cfc12f76-acef-4115-8337-838f76b7778e', 'CPMK-4', 'Mahasiswa mampu menerapkan perspektif kebangsaan dan nilai konstitusional dalam menilai dampak keputusan profesional di bidang arsitektur dan masyarakat.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('99b290be-bf6e-45d6-8f67-51d403cf8bab', 'e41854a3-6b44-4e52-b87f-f0d3e14c53ca', 'CPMK-2', 'Mampu menjelaskan struktur atom, ikatan kimia, struktur kristal, dan cacat kristal pada berbagai jenis material teknik.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', 'CPL-01,CPL-03'), +('99f3d7bb-46cd-46fa-9b08-4f7c68d07515', '6511033c-07c2-4509-bc3e-95adee542c3d', 'CPMK-3', 'Mampu menganalisis dan mengevaluasi literatur yang relevan untuk mendukung artikel ilmiah.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', 'CPL-04, CPL-08'), +('9a5105b7-b641-433e-8f3c-841e815a9c8a', 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 'CPMK-1', 'Mahasiswa mampu memahami prinsip komunikasi visual, verbal, dan tulisan untuk menyampaikan ide perancangan arsitektur secara efektif.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('9a7cead4-fe95-42bf-aba8-56f154999a1e', '6f7a91bc-8054-45d6-ac08-84f31ec6b0d8', 'CPMK-5', 'Mampu merancang dan mengevaluasi performa sistem komunikasi cerdas menggunakan perangkat lunak (MATLAB/Python).', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('9abe650c-5da8-482c-926c-1c416b933863', 'b135c7ea-764f-4962-9587-f1bc0df0000c', 'CPMK-4', 'Menganalisis gambar teknik dan mengoreksi kesalahan gambar.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('9aed813e-341d-4662-b1cb-ef0524bbed54', 'e80b63ba-8556-4a1b-a9ac-45e346bea6b3', 'CPMK-2', 'Melakukan pengukuran jarak, sudut, dan elevasi menggunakan alat ukur manual dan digital.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('9b10fe83-3823-47d1-a420-89323f274529', 'e517d812-8ad2-4124-ba9e-1f3dbbb2f815', 'CPMK-5', 'Melakukan simulasi deteksi dan mitigasi serangan jaringan', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('9b4aed82-8ee0-4391-b2d5-43a7142cf1e2', 'e0db289a-0522-4b75-8871-133ff0fc949d', 'CPMK-4', 'Mengimplementasikan keamanan jaringan dalam simulasi nyata', 0.20, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('9b596f56-b511-40d8-b192-7c7ac43a6a5b', '46b8cb78-c18e-446b-b090-0d1acfd66533', 'CPMK-5', 'Mahasiswa mampu menyajikan hasil perhitungan dan analisis mekanika bangunan secara sistematis.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('9b5e7811-6957-4f91-aa78-6749fd73e475', 'a442d9d7-1b63-4ac3-9f16-04d81176b460', 'CPMK-8', 'Mahasiswa mampu memahami dan menerapkan tentang Layanan Jaringan', 0.11, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('9b711814-fbad-4154-aef4-da04551ead32', '7fad4df3-d503-4c05-8db8-f0109c58e8d6', 'CPMK-1', 'Mahasiswa mampu menjelaskan prinsip-prinsip fiqh ibadah dan muamalah dalam Islam berdasarkan Al-QurΓÇÖan, Sunnah, dan Manhaj Tarjih Muhammadiyah.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('9b838384-7e71-4a06-abf6-6edba2323acd', 'c89c6727-5426-4f63-84b7-03f37d456ac3', 'CPMK-5', 'Mampu merancang dan menerapkan strategi pengendalian serta pemulihan sistem tenaga listrik yang efektif untuk mempertahankan kestabilan dan keandalan sistem, termasuk penerapan teknik seperti automatic generation control (AGC) dan stabilisasi tegangan.', 20.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30', ''), +('9baa4c19-7143-4e8d-a8bd-791bce471278', 'ed089ed7-acb4-45a8-b1e8-95204c8cdb59', 'CPMK-5', 'Menerapkan konsep matematika lanjut dalam studi kasus teknik pengairan.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('9bb01569-9e68-4859-9f44-639ec9d51d87', 'bc9474a0-d6b1-4785-a0a0-9fb9bac6f6b1', 'CPMK-3', 'Menerapkan arsitektur microservices dan komunikasi antar layanan', 0.17, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('9bfd3742-4019-48c7-ab34-3dedcd56b53a', 'b2c0cb8b-152d-4ee8-8cad-a19222f0d55d', 'CPMK-2', 'Menyusun algoritma menggunakan pseudocode dan flowchart.', 0.20, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('9c27cbfb-13eb-47ae-ae08-41b6bcba38ca', '1d80cecb-e4ff-4ffe-aa8e-c9ecd2ab4515', 'CPMK-2', 'Mampu menjelaskan konsep dasar teori informasi, entropi, dan kapasitas kanal.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('9c29e961-cb61-4bda-851c-baf1204a602e', '18ea0402-3c11-483a-a40a-2e03fddf7bea', 'CPMK-3', 'Mahasiswa mampu menganalisis keterkaitan antara perkembangan arsitektur dan konteks budaya, sosial, ekonomi, serta teknologi.', 0.25, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('9c41a09a-b571-443b-8e4a-d081e3252d8c', 'e6ff039a-b996-491a-afce-d8885e6cc8d7', 'CPMK-3', 'Mampu menganalisis hubungan parameter radar (daya pancar, gain antena, jangkauan, SNR) dan performa navigasi.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('9cc4023b-c73c-46b7-9876-bb552d019ede', '68d1b998-7db7-4f09-8718-27b33bad8f16', 'CPMK-4', 'Mengintegrasikan nilai etika dalam pengambilan keputusan', 20.00, '2026-01-16 22:56:37', '2026-01-17 00:58:08', ''), +('9cd71a0f-2760-4d72-aee5-6f876b4120e0', '39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 'CPMK-1', 'Mampu menjelaskan konsep dasar pengukuran dan pemetaan dalam konteks geospasial.', 0.20, '2026-01-16 22:56:55', '2026-01-17 00:52:38', 'CPL-04, CPL-02'), +('9ce643fa-351d-4fca-ad6c-6458151d47da', 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 'CPMK-1', 'Mampu merumuskan permasalahan penelitian yang relevan dan signifikan dalam bidang studi yang dipilih.', 21.43, '2026-01-16 22:56:38', '2026-01-17 00:58:09', 'CPL-01'), +('9cf4ef31-449c-4be8-9c46-79a6a98eefc7', 'cfc12f76-acef-4115-8337-838f76b7778e', 'CPMK-2', 'Mahasiswa mampu menganalisis isu kebangsaan, hak dan kewajiban warga negara, serta tantangan multikulturalisme dalam konteks sosial Indonesia.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('9d3156b9-708a-466d-b619-061f8d2c6b9e', 'fc8b60c6-407c-41e6-8e95-d861fa7d02d5', 'CPMK-3', 'Mahasiswa mampu menjelasan tentang Modul Linear Progamming dan metode penyelesaiannya yakni Metode Penyelesaian Awal meliputi NWCR, Least Cost, dan VAM dan Metode Penyelesaian Akhir yakni Stepping Stone dan MODI', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('9d944155-ebcd-405f-a7d7-10b6427e3f89', 'fcc12b73-1704-44cc-adaf-c571cdc59be0', 'CPMK-4', 'Mampu merancang dan mengimplementasikan sistem digital sederhana menggunakan metodologi desain VLSI serta mengevaluasi parameter area, kecepatan, dan konsumsi daya.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('9da0bf69-e4ba-4361-95f7-d0a05359d51f', 'd77faeee-6cfb-432f-91fb-36a9023649d2', 'CPMK-2', 'Menerapkan teknik-teknik dasar dalam pengembangan sistem AI untuk menyelesaikan masalah sederhana.', 21.43, '2026-01-16 22:56:52', '2026-01-17 00:58:10', 'CPL-04'), +('9da22b4e-8552-4db4-8c09-cb21128fd633', '351b0a77-232c-4115-a7f2-ad4a4ebca9d2', 'CPMK-4', 'Mampu mengoperasikan alat ukur dasar (multimeter, oscilloscope, wattmeter, sensor, dan perangkat akuisisi data) untuk melakukan pengukuran pada rangkaian elektrik/elektronik.', 20.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18', ''), +('9de6fee7-8eab-4446-a76f-29bb6c93954c', '1f893129-5d23-499b-b7aa-46c839e97b2a', 'CPMK-3', 'Mengimplementasikan aplikasi mobile menggunakan framework lintas platform (Flutter, React Native, dll.).', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('9e12aa75-8b9b-4d81-a02b-e06b75b807e1', '4d7c057a-6920-447a-bfef-117238ea784f', 'CPMK-1', 'menjelaskan konsep cloud-native dan perbedaannya dengan apliasi tradisional', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('9ebd14e7-d39f-4ffe-a38c-204a2bc88ae8', '4d7c057a-6920-447a-bfef-117238ea784f', 'CPMK-5', 'Menerapkan praktik observability (logging, tracing, monitoring) dalam aplikasi cloud-native.', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('9ef3a9c6-53a9-4542-b814-ee1e6ab22364', '4d7c057a-6920-447a-bfef-117238ea784f', 'CPMK-7', 'Menunjukkan kolaborasi, etika profesional, dan prinsip DevOps dalam proyek cloud-native.', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('9ef47c11-2d5a-424f-a69c-281e7123a8b1', '23115d0f-eec7-438c-b2ac-9a17e1c601b2', 'CPMK-2', 'Mampu menjelaskan konsep dasar arsitektur komputer, hubungan antara arsitektur dan organisasi komputer, serta komponen utama sistem komputer.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('9f250be9-8e42-4186-a9ec-dff334333631', '73beca28-8a3d-43ff-997e-2a26548d63ee', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep, peran, dan perkembangan teknologi digital dalam arsitektur.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('9f397977-5161-479b-93ce-ee17f7992f62', '99d6d94e-53d3-46b2-9731-98f15e92e78b', 'CPMK-5', 'Mampu menyajikan hasil program dan dokumentasi kode secara sistematis dan komunikatif.', 14.29, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('9f64cb7a-e765-4520-bbc0-54669c2231ff', '39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 'CPMK-3', 'Mampu menganalisis dan menginterpretasi data pemetaan untuk menghasilkan informasi yang bermanfaat.', 0.20, '2026-01-16 22:56:55', '2026-01-17 00:52:38', 'CPL-01, CPL-02'), +('9f6b15f1-a234-4879-98b5-ae10d3d63097', '2c23ca53-f3be-414c-976e-b30089d22f50', 'CPMK-3', 'Mampu menghitung dan menganalisis data menggunakan teknik statistik deskriptif dan inferensial sederhana.', 20.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16', 'CPL-03,CPL-01'), +('9f6bfb99-52fe-4e05-9dc9-1ce1e4330002', 'e69ba894-82ab-4345-b20e-aad1709ee7bf', 'CPMK-1', 'Mahasiswa mampu menjelaskan tentang konsep dan teknik dasar pengolahan citra', 0.11, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('9fd96396-0221-40d2-ace0-eb910338190d', '6ff71058-5546-45c2-af3c-e12770c3ad75', 'CPMK-2', 'Menggunakan analisis frekuensi statistik pada data hujan dan debit', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('9fdcf879-668f-4b82-8884-b94903a2f5db', '555ac15b-7f41-42c9-a898-3549ae0c0333', 'CPMK-5', 'Mahasiswa mampu menyajikan hasil rancangan dalam bentuk gambar perencanaan, laporan, dan media presentasi yang komunikatif.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('a0338add-0d87-4d89-a635-e19b90bacfa2', '8762c433-6fdd-462b-8494-1d264eb3dd15', 'CPMK-3', 'Mahasiswa mampu menganalisis perilaku elemen struktur (balok, kolom, rangka sederhana) berdasarkan hubungan antara bentuk, material, dan sistem pembebanan.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('a0b927de-c76d-4ab2-8245-59868dcab2b8', 'f3971cd2-bb40-4a50-a3a5-a8a8b860933b', 'CPMK-3', 'Merancang kebijakan dan prosedur keamanan informasi berdasarkan standar ISO', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('a0e5eee7-dfc4-45ba-b127-56b98490d780', '010163aa-d159-4aa5-aa52-b803e8192392', 'CPMK-1', 'Memahami dasar-dasar HTML, CSS, dan JavaScript untuk pengembangan web.', 0.25, '2026-01-16 23:21:02', '2026-01-17 00:49:33', ''), +('a0ecb9c3-0918-4adb-83d2-00b32328ba14', '4acf9737-d545-4eb5-b80a-98178b9c9009', 'CPMK-2', 'mengidentifikasi jenis batuan, mineral, tanah, serta struktur geologi berdasarkan karakteristik fisik dan proses pembentukannya, baik melalui pengamatan langsung maupun literatur', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('a107aadf-ea8e-41e1-b0fb-dbd249306382', '162b0138-4e60-4567-a56a-17cddc27ed92', 'CPMK-4', 'Mampu menyusun kode etik pribadi sebagai calon perencana wilayah dan kota yang berintegritas.', 20.00, '2026-01-16 22:56:52', '2026-01-17 00:58:10', ''), +('a178c857-2854-4c08-a3ea-70c518ee9b5e', '03f5fe59-806c-4f28-842f-643d9654c781', 'CPMK-2', 'Mengidentifikasi tahapan-tahapan utama dalam proses penetration testing', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('a17f25f3-0d27-432b-ad2b-fc0907a7b493', 'bfed3b3c-17cc-4fe5-b044-2165e9e0af14', 'CPMK-6', 'Mengevaluasi hubungan antara teori matematis dan performa model AI.', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('a1b168f2-e3e3-4f37-8827-101c00e21104', '0508404c-ca6b-4f0b-b7d1-a15b8eab9d52', 'CPMK-2', 'Membangun model dasar neural network menggunakan framework deep learning', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('a1d43f23-ed3f-4ec1-bf03-07c07fb7d8ba', '1afb1d0b-210e-4468-80fa-a91f11e7e0a2', 'CPMK-2', 'Merancang dekomposisi layanan berdasarkan domain dan batas konteks (bounded context).', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('a22618d3-044a-40c0-b530-e0099933f56e', 'bbc86902-df05-422d-aeed-765362efa1a9', 'CPMK-2', 'Mampu menyelesaikan dan menerapkan persamaan diferensial serta model matematis dasar untuk menganalisis sistem teknik elektro.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('a246817f-14b6-4f05-a1e3-a4b7533ded6f', 'b0d2039a-bcfb-486a-bf9c-fc811db72196', 'CPMK-1', 'Memahami tahapan dan komponen dasar dalam penerapan machine learning', 0.17, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('a25c0a20-cfc5-4d34-9cf2-407d22298587', '93371a32-8651-4772-8c8f-4a772f2bfb7c', 'CPMK-2', 'Mampu menjelaskan prinsip dasar perangkat lunak dalam sistem telekomunikasi, termasuk komunikasi data dan protokol jaringan.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('a2bae750-4303-43be-b3de-c43b324ade49', '9cee2598-e3e8-4ab0-843b-88c513d01821', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar sistem operasi Linux dan penggunaannya.', 21.43, '2026-01-16 23:20:58', '2026-01-17 00:58:08', 'CPL-05, CPL-01'), +('a2e7d988-802c-4682-a9b0-05395e4fa2eb', 'ebc0373c-c9b3-4027-91eb-2aa050c5a292', 'CPMK-2', 'Mampu menjelaskan arsitektur, prinsip kerja, serta komponen sistem tertanam berbasis mikrokontroler.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('a2f92ef2-9afb-4dee-ba83-48545efc4790', '930edaef-cab6-4382-b12d-4358e81fc316', 'CPMK-1', 'Menganalisis konsep dasar elektronika dan sistem telekomunikasi.', 21.43, '2026-01-17 00:58:39', '2026-01-17 00:58:39', 'CPL-01, CPL-04'), +('a30c36d4-275c-4717-ae9c-816c8aca9303', 'a4900c13-be7a-4370-9e5e-10337a941445', 'CPMK-1', 'Mahasiswa mampu menganalisis dan merancang sistem struktur bangunan bentang lebar (span > 20 m) untuk berbagai fungsi.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('a34c1796-eb3e-438c-85cb-8fcc9100af9c', '1a55adb5-cfea-4e52-be90-891d6be6aff0', 'CPMK-1', 'Mampu menjelaskan konsep dasar fisika yang relevan dengan bangunan, termasuk hukum Newton dan prinsip statika.', 0.20, '2026-01-16 22:56:56', '2026-01-17 00:52:38', 'CPL-03, CPL-06'), +('a384241b-4aeb-44c6-8f6e-20baa289666d', '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 'CPMK-5', 'Mampu berkolaborasi dalam tim untuk menyelesaikan proyek penelitian dengan etika dan profesionalisme yang tinggi.', 0.20, '2026-01-16 22:56:58', '2026-01-17 00:52:38', 'CPL-01'), +('a38894f5-b0a4-45e8-85a8-71c37be48b6f', '8d797bee-168e-4e11-beba-9f3b587f7267', 'CPMK-3', 'Mampu menganalisis model kanal nirkabel, termasuk path loss, multipath, dan fading, serta mengevaluasi performa sistem berdasarkan parameter kualitas sinyal.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('a3db81ba-e3f6-438e-b5c3-a840a70be649', '7fd58109-86e0-4427-8601-b8f6dbfc3642', 'CPMK-3', 'Menganalisis peluang kejadian menggunakan aturan peluang dasar', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('a3fbb79c-96e5-48dd-b4b8-1bf87e00ac9b', '71716d40-936e-436a-88c3-28df37794b3a', 'CPMK-3', 'Mampu menghitung parameter link budget, redaman, dan performa sistem komunikasi satelit.', 21.43, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('a40900b4-2a36-46e2-aaaa-c859fc1684b5', 'fef3d744-dfa4-4059-aa84-578d1a6d432f', 'CPMK-4', 'Mahasiswa mampu menginterpretasikan nilai-nilai Islam ke dalam gagasan arsitektur kontekstual.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('a431d484-813b-4c00-b257-c99e5050b785', '0c37b249-c21b-454a-871e-f6afb0fa9447', 'CPMK-3', 'Menguasai pengetahuan tentang cellular network beserta teknologinya', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('a47fb9be-3114-438f-8c71-2bfe7fd1d33d', 'bfed3b3c-17cc-4fe5-b044-2165e9e0af14', 'CPMK-4', 'Menggunakan konsep probabilitas dan statistik dalam inferensi dan pembelajaran mesin.', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('a49de98c-be17-40e7-8d20-d70155f21631', '07bd02d2-62ad-44b6-9b14-ec41ec3401af', 'CPMK-5', 'Mengevaluasi performa model NLP menggunakan metrik seperti F1-score, BLEU, dan perplexity', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('a4c4b792-09c0-4c5e-9c1e-9db6e7cc8803', 'e8c1e121-5df6-42af-a785-a199e62353fe', 'CPMK-1', 'Memahami prinsip dasar ethical hacking dan etika profesional', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('a542fffc-6e28-4e84-8d67-94129c393404', '41ad4d39-fb6b-4d7a-b00b-8ca9a1204bd3', 'CPMK-4', 'Mahasiswa mampu menerapkan nilai-nilai aqidah, akhlak Islam, dan kepribadian Muhammadiyah dalam pengambilan keputusan akademik dan aktivitas profesional secara etis dan bertanggung jawab.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('a54b9238-8b66-47e8-96a1-aec7ebd1cfb9', '36f3e69d-ab34-4970-bec4-2a57f9a35d1e', 'CPMK-2', 'Mampu menjelaskan konsep dasar sistem tenaga listrik, termasuk komponen-komponen utamanya, serta prinsip pengoperasiannya.', 16.66, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('a5699b91-1eff-4673-b50d-371fac818395', '999f2c17-b5ff-4a99-bb4c-2cc01e7ec2b9', 'CPMK-4', 'Mahasiswa mampu membaca, menafsirkan, dan mengutip referensi sumber daya air berbahasa Inggris.', 25.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('a5dc1143-079d-4669-973e-52786afed253', '5b58785e-cbc1-43d8-9e9c-810f25534f0b', 'CPMK-4', 'Melakukan pelatihan, validasi, dan evaluasi model deep learning secara sistematis.', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('a5e1488c-9265-45b3-9c57-e2b2f8588b05', 'f8984b12-c7e9-4b6d-89a2-8842ef9e4bf0', 'CPMK-4', 'Menguasai konfigurasi pada switch, router, VLAN, access point, wireless router, instalasi windows server 2008, DHCP server dan DNS server', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('a6395b0d-4eed-45d4-b214-67d79bd4a17f', '0db07feb-d6da-4542-a6b4-304119e1bedf', 'CPMK-6', 'Melakukan monitoring, logging, dan troubleshooting microservices di lingkungan produksi.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('a6b053fa-aec5-4e89-b78a-832438da8d00', 'e517d812-8ad2-4124-ba9e-1f3dbbb2f815', 'CPMK-1', 'Memahami konsep advanced network security dan protokol komunikasi', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('a6de4342-882c-4d24-8bd5-8cfa9f0ed087', '7335b9e6-152a-4d2f-814e-3c2e7e65ca2f', 'CPMK-2', 'Mampu menggunakan framework front-end dan back-end dalam pengembangan aplikasi web.', 0.25, '2026-01-16 23:21:02', '2026-01-17 00:49:33', ''), +('a6fc2d1f-a33b-47dc-92ed-12b2bd5a36ae', '233c8ab5-e116-443a-9610-55ad8a1c46ae', 'CPMK-1', 'menjelaskan komponen dasar sistem komputer, termasuk perangkat keras, perangkat lunak, sistem operasi, penyimpanan data', 25.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('a731fdca-4b23-471a-b21d-234433e67ac8', '54b80847-e1c5-4402-9b4b-18bd2348c227', 'CPMK-4', 'Mahasiswa mampu mengimplementasikan sistem/prototipe.', 0.14, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('a73a6132-4f38-4d53-bc46-9926ded263cd', '6a67734b-34b2-4c73-b94f-65b5e40d1fa1', 'CPMK-1', 'Memahami konsep dasar sistem basis data relasional.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('a742bbbd-8ab4-44bc-937f-1933ed3b0c8a', '47d4a2b5-492d-47a1-acc7-90919054c72e', 'CPMK-1', 'Mata kuliah ini membahas konsep dasar bilangan kompleks dan aplikasinya dalam teknik elektro, khususnya untuk pemodelan sinyal, impedansi, sistem arus bolak-balik, dan representasi fasor. Materi mencakup operasi kompleks, bentuk kartesius dan polar, fungsi kompleks dasar, bilangan eksponensial kompleks, serta pengenalan transformasi kompleks yang digunakan dalam analisis sistem teknik.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14', ''), +('a76c69cb-6d01-4100-855b-6044228dc18e', '2aaaf8e5-a8c5-4a4f-8a1b-1f977c1dfa75', 'CPMK-2', 'Mampu menjelaskan konsep dasar sistem komunikasi, komponen, blok diagram, serta teknik modulasiΓÇôdemodulasi analog dan digital.', 20.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18', ''), +('a7dbdc05-e805-48b1-9040-af3b767ff5b2', '54b80847-e1c5-4402-9b4b-18bd2348c227', 'CPMK-2', 'Mahasiswa mampu melakukan analisis kebutuhan sistem', 0.14, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('a82c137f-1492-41ed-bdfa-979a1f0f46fc', '8e79442e-a7af-4718-984d-1b0995f8820b', 'CPMK-4', 'Mahasiswa mampu menggambar detail konstruksi bangunan bertingkat menengah secara manual maupun digital sesuai standar gambar kerja.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('a85d9ee0-14cc-4c77-a112-41361e22d7ef', '1a55adb5-cfea-4e52-be90-891d6be6aff0', 'CPMK-2', 'Mampu menganalisis beban dan gaya yang bekerja pada struktur bangunan dengan menggunakan metode yang tepat.', 0.20, '2026-01-16 22:56:56', '2026-01-17 00:52:38', 'CPL-03, CPL-06'), +('a8742661-f821-491e-806f-02af76eb8fb7', '35eebf92-894d-4936-9d0f-6bdf47adc11f', 'CPMK-2', 'Mampu menjelaskan prinsip dasar manajemen proyek teknik, termasuk perencanaan, penjadwalan, pengendalian, serta evaluasi proyek.', 20.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('a89d7adf-78bd-4928-b224-e9a230777794', 'e0db289a-0522-4b75-8871-133ff0fc949d', 'CPMK-1', 'Menjelaskan konsep keamanan jaringan tingkat lanjut', 0.20, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('a8d6cdbd-ce48-4bc1-976e-d74b73bb6291', 'a442d9d7-1b63-4ac3-9f16-04d81176b460', 'CPMK-3', 'Mahasiswa mampu menjelaskan tentang pengetahuan flowchart serta menginterprestasikannya', 0.11, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('a8ff9103-ac85-4264-81e7-8d722a22f966', '232eebe0-9a79-4c38-abc2-30b4af9f865b', 'CPMK-3', 'Mahasiswa mampu menjelaskan tentang pengetahuan sistem operasi dan peranannya', 0.11, '2026-01-16 23:20:59', '2026-01-17 00:49:33', 'CPL-05,CPL-01'), +('a9fc4071-1c4a-488c-8760-d74a70ca455c', '9f7d6597-3b8a-4fce-b1bc-17977515d6d2', 'CPMK-2', 'Mengimplementasikan proses ekstraksi, transformasi, dan loading (ETL) data', 0.17, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('aa1e3016-f008-4110-a284-b55787ecd076', 'fef3d744-dfa4-4059-aa84-578d1a6d432f', 'CPMK-1', 'Mahasiswa mampu memahami prinsip dasar arsitektur Islam sebagai refleksi nilai tauhid, keseimbangan, dan kesederhanaan.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('aa4fe5a4-4018-4932-8698-8f5cb14529ad', '00a82311-cd30-46ff-ac59-f6280a6e6f3b', 'CPMK-3', 'Memahami perangkat keras dan perangkat lunak komputer.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', ''), +('aa59e918-458c-4cde-9a6e-15c27325235d', 'f309e2a0-9770-49d7-a055-8d8747fc4852', 'CPMK-1', 'Setelah mengikuti mata kuliah ini mahasiswa mempunyai kompetensi matematis yang dapat diterapkan berdasarkan analisis dengan berbagai alternatif solusi pada mata kuliah keteknikarsitekturan atau mata kuliah lain yang membutuhkannya secara mandiri dan bertanggung jawab.', 1.00, '2026-01-16 23:20:56', '2026-01-17 00:49:33', 'CPL-01,CPL-05'), +('aa5c9610-1a2a-4256-813e-6f79e17b6785', '232eebe0-9a79-4c38-abc2-30b4af9f865b', 'CPMK-9', 'Mahasiswa mampu mengingat dan memahami Bahasa Assembly', 0.11, '2026-01-16 23:20:59', '2026-01-17 00:49:33', 'CPL-05,CPL-01'), +('aa614c07-c3d0-46c9-88ef-4ce87ed722f6', '30a91224-8d90-42ed-95c8-3860f33a85c9', 'CPMK-5', 'Mampu menyusun laporan praktikum yang sistematis dan jelas berdasarkan hasil pengamatan yang dilakukan.', 14.29, '2026-01-16 22:56:36', '2026-01-17 00:58:08', 'CPL-03'), +('aa8ae991-4596-4280-813a-046bda57eeb8', '4023e86d-3cf6-4ab9-b013-2b8bc8375c29', 'CPMK-5', 'Mampu mengintegrasikan sensor, aktuator, dan mikrokontroler untuk merancang, membangun, dan menguji sistem robotika sederhana dengan pendekatan modern, aspek keselamatan, efisiensi energi, dan keberlanjutan.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('aa8e3171-f36a-428b-b822-122b0a3de003', 'f75f20e0-1f04-4725-8c20-e138fd12d386', 'CPMK-5', 'Melakukan optimasi performa, pengujian, dan debugging aplikasi mobile.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('aa9742b8-1b96-40d3-b31a-590b349a785c', '024d3e76-0845-4ebb-a000-ad72db9eccb3', 'CPMK-4', 'Mahasiswa mampu menyusun laporan kerja, dokumentasi, dan presentasi hasil kegiatan profesi secara sistematis dan komunikatif.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('aaf72ea3-92ac-4c64-9e36-baf0520046c6', 'a9797522-c7e0-4766-845b-d24035c68f96', 'CPMK-2', 'Mahasiswa mampu menyusun rencana kerja proyek meliputi lingkup pekerjaan, jadwal, anggaran, dan sumber daya.', 0.20, '2026-01-16 22:56:50', '2026-01-17 00:52:38', ''), +('ab71fbae-a1af-448f-9edd-970b12af4410', '9035c0b3-6289-4c2c-ae2d-c0d6a74607be', 'CPMK-4', 'Mampu merancang dan mengimplementasikan program IoT menggunakan platform pengembangan (misalnya Arduino, ESP32) untuk membaca dan mengirim data sensor.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('abb9fa4b-b4cd-4df8-a6fa-62c7f77a283a', '2134a8cd-14cd-4be1-b213-3fd75f7c85ac', 'CPMK-2', 'Mahasiswa mampu mengidentifikasi peluang usaha di bidang arsitektur dan mengembangkan ide inovatif berbasis kebutuhan pasar dan keberlanjutan.', 20.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('abcd38cb-975d-4059-a17d-db4b9e7c9a55', '72b71059-c5e0-4b7d-aebd-a7bdf2fdb566', 'CPMK-1', 'Mata kuliah ini membahas prinsip, potensi, teknologi konversi, dan integrasi sumber energi baru dan terbarukan seperti surya, angin, biomassa, air, dan panas bumi, serta penerapannya dalam sistem tenaga listrik berkelanjutan.', 20.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30', ''), +('abcf45f6-efd8-40ea-a98a-e0a516207c53', '68d1b998-7db7-4f09-8718-27b33bad8f16', 'CPMK-2', 'Menguraikan kode etik profesi dan tanggung jawab profesional', 20.00, '2026-01-16 22:56:37', '2026-01-17 00:58:08', ''), +('abd9160a-5a35-470a-8f21-8e0cd1384e77', '2c23ca53-f3be-414c-976e-b30089d22f50', 'CPMK-2', 'Mampu menjelaskan konsep dasar probabilitas, variabel acak, dan distribusi statistik.', 20.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16', 'CPL-01,CPL-03'), +('acae30a0-b760-47df-b4fb-df4beebd385a', '37ef7d28-eb4a-42ef-a179-74880fa1e9b8', 'CPMK-4', 'Mahasiswa mampu memahami konsep dasar statistika inferensial, dan menggunakan teknik-teknik statistika inferensial seperti uji hipotesis, regresi, korelasi, dan analisis varians', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('acb7fbee-ca02-4822-8fa2-0c95313a5b5f', 'ffd459b7-c016-41f0-8c3d-0290433eef19', 'CPMK-1', 'Mahasiswa mampu menganalisis dan merancang sistem struktur bangunan high-rise dan mixed-use.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('acc4678a-8ae7-497b-8db9-26674b1a65df', '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 'CPMK-3', 'Mengevaluasi dampak etis dan sosial dari implementasi teknologi AI dalam masyarakat Muslim.', 21.43, '2026-01-16 22:56:38', '2026-01-17 00:58:09', 'CPL-04'), +('aceab0f5-663c-42ba-9c4f-2144a2152069', '7d918e6b-7ec8-4127-a1a9-833e4cefc476', 'CPMK-1', 'Memahami prinsip dasar strategi algoritma seperti divide and conquer, greedy, dynamic programming, dan backtracking.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('ad8a2316-255f-4a15-8863-70744d890230', 'f482e32c-c23a-4152-a846-c5cea2b72df6', 'CPMK-2', 'Mampu menjelaskan konsep dasar medan listrik, potensial listrik, kapasitansi, arus listrik, dan rangkaian dasar.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13', ''), +('ad9de6f8-4153-469d-b9c7-3ef901de01d8', '2d60d13b-a014-432b-ac80-921ffa8a3be8', 'CPMK-5', 'Mampu menggunakan perangkat lunak seperti MATLAB/Simulink untuk memodelkan, mensimulasikan, dan menguji sistem kontrol modern secara efektif.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('add2f3c2-845f-4102-9b23-f90a7bb2009a', 'fdef83bb-0100-4b6c-bf59-d4327e6542bf', 'CPMK-4', 'Mahasiswa dapat memahami dan menjelaskan tentang Stratergi Algoritma Greedy, Brute Froce, Divide And Conquer', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('ae32dfd5-3fee-43d7-8464-9ea764b88a2b', 'e9c0f3fa-a9ba-432a-9a56-1adb88b462ae', 'CPMK-2', 'Mampu merumuskan masalah, tujuan, dan pertanyaan penelitian di bidang perencanaan wilayah dan kota.', 20.00, '2026-01-16 22:56:52', '2026-01-17 00:58:11', ''), +('ae50072b-2d37-4644-9bc9-4d846ae12575', 'ed089ed7-acb4-45a8-b1e8-95204c8cdb59', 'CPMK-4', 'Menggunakan transformasi Laplace untuk menyelesaikan persamaan diferensial.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('ae73607c-a81c-43da-ba7c-041347a686b7', '3cc4949f-9540-4bd9-a451-594e0793c7f0', 'CPMK-2', 'Mampu merancang prototipe antarmuka pengguna berbasis teori IMK.', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('af8eba7d-3ac8-47b3-a413-4d99981d07d7', '5dcb8762-b27a-419b-bdcd-a5c18a953fa9', 'CPMK-5', 'Mampu melakukan pengujian, debugging, dan evaluasi performa program serta memberikan perbaikan yang tepat.', 20.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14', ''), +('afecea24-1d6f-42fe-93f9-7efab3feb7bd', 'de51842a-bc59-402b-81d0-467a39a694cd', 'CPMK-1', 'Menjelaskan konsep dan arsitektur dasar Generative AI dan LLM', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('afed6b37-dea3-4e72-91b9-88d643ee0a69', '0508404c-ca6b-4f0b-b7d1-a15b8eab9d52', 'CPMK-1', 'Memahami konsep dasar neural networks dan arsitektur dasarnya', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('b0807bdc-71fd-433f-ab3d-0f69303b4daa', 'b996bbc4-077b-4b3e-be50-266060bad564', 'CPMK-4', 'Mampu menyusun laporan akhir yang komprehensif dan menyajikan hasil proyek dengan jelas dan profesional.', 0.20, '2026-01-16 23:21:14', '2026-01-17 00:49:33', 'CPL-03, CPL-04'), +('b0ba34fc-a8eb-4100-b4a1-66497a43aca3', 'e8c1e121-5df6-42af-a785-a199e62353fe', 'CPMK-2', 'Mampu melakukan reconnaissance dan information gathering terhadap target sistem', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('b0e76ffb-3394-4db7-a4ad-5f8a130ea816', '7cb0ea59-244f-43f8-9084-456e269bcefb', 'CPMK-2', 'Menganalisis model komunikasi dan sinkronisasi dalam sistem terdistribusi.', 0.20, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('b1143494-cc23-4fb2-8433-27a15b764e1e', '7efb0e90-2bee-4647-8438-88bd0aebaa96', 'CPMK-2', 'Mampu menjelaskan konsep dasar perancangan sistem elektronika, termasuk analisis kebutuhan, pemilihan komponen, metode desain, dan integrasi perangkat.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('b18dccb7-a8ce-49b2-b293-bbb8ae2a7e93', 'bc9474a0-d6b1-4785-a0a0-9fb9bac6f6b1', 'CPMK-2', 'Mengimplementasikan containerization menggunakan Docker', 0.17, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('b1a9a314-a48c-4407-8f9c-2500db806644', '80b4b948-ddb7-40e4-89d1-ba78be1e1feb', 'CPMK-4', 'Mahasiswa mampu memilih material dan sistem konstruksi yang memenuhi aspek teknis, estetika, keberlanjutan, dan nilai Islami.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('b1e2cd56-acec-4852-a59c-96eb4e6f8e49', '2a1e22f4-5528-4ed1-90d5-cff876c85326', 'CPMK-2', 'Mampu menerapkan HTML dan CSS untuk membuat halaman web sederhana.', 0.20, '2026-01-16 23:21:00', '2026-01-17 00:49:33', 'CPL-01, CPL-02'), +('b20c4b36-a280-48cd-b91f-f0019889786f', '539fc417-2c9b-472f-9b0f-445a8b749fc9', 'CPMK-3', 'Mahasiswa mampu menganalisis prinsip desain arsitektur Islam dan penerapannya pada bangunan kontemporer.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('b227a041-54ef-4e59-a945-568e60757375', '6ff71058-5546-45c2-af3c-e12770c3ad75', 'CPMK-1', 'Menganalisis data hidrologi untuk perhitungan banjir rancangan', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('b2286630-81af-418f-a69d-adfb9034305c', '7c701b31-82ce-4116-9def-6b17591ec26f', 'CPMK-5', 'Mampu melakukan eksperimen, mengukur, mengevaluasi, serta menginterpretasikan hasil pengujian rangkaian elektronika dengan alat ukur dan teknik laboratorium yang sesuai.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('b2507e08-1db3-4ace-b7b9-1a3b869765ea', '00a82311-cd30-46ff-ac59-f6280a6e6f3b', 'CPMK-5', 'Mengidentifikasi penerapan informatika dalam kehidupan sehari-hari dan bidang profesional.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', ''), +('b2b0f2df-95d3-4cb6-a2a8-dbba7171632b', 'cff6b13e-d1d3-4d8b-8e78-1269ad2b7f8d', 'CPMK-6', 'Mahasiswa mampu menunjukkan sikap etis, kerja sama, dan komunikasi dalam pengembangan sistem AI.', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('b2b40d86-f12b-4d2b-9345-21bb8db64633', 'be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 'CPMK-2', 'Mampu merancang solusi kreatif dan inovatif berdasarkan penelitian dan analisis yang mendalam.', 21.43, '2026-01-17 00:58:39', '2026-01-17 00:58:39', 'CPL-02, CPL-04, CPL-03'), +('b2b9370e-6ca1-4c3f-bec3-9c030fc30a73', 'e9c0f3fa-a9ba-432a-9a56-1adb88b462ae', 'CPMK-4', 'Mampu memilih metode, pendekatan, dan teknik pengumpulan data yang sesuai dengan rumusan penelitian.', 20.00, '2026-01-16 22:56:52', '2026-01-17 00:58:11', ''), +('b3836cfc-c57d-4e0f-97b2-516473cefe71', '255aebe2-a27d-4e29-a1f7-41483050dd1e', 'CPMK-5', 'Menyusun laporan hasil penetration testing dan rekomendasi perbaikan sistem.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('b398b2f8-03d9-4645-8004-9ae2d2358edd', '9c479004-5b99-4b5a-8abd-d32551d4c43a', 'CPMK-2', 'Menghitung reaksi perletakan pada balok statis tertentu.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('b41a8e07-e05a-4f72-a195-6f1090cb906b', 'aa2fa177-91cd-4575-9a2b-0a7174f61b0a', 'CPMK-4', 'Mengimplementasikan dan menguji sistem yang mampu melakukan auto-scaling di lingkungan cloud.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('b41eb0ea-7fae-4a74-888f-705ade3a10a5', 'f3971cd2-bb40-4a50-a3a5-a8a8b860933b', 'CPMK-1', 'Menjelaskan konsep dasar dan kerangka kerja Security Governance, Risk, and Compliance (GRC).', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('b49e551d-480b-46e6-b23e-14066b4ea9ed', '930edaef-cab6-4382-b12d-4358e81fc316', 'CPMK-5', 'Mengembangkan keterampilan praktis dalam pengujian dan pemeliharaan perangkat telekomunikasi.', 14.29, '2026-01-17 00:58:39', '2026-01-17 00:58:39', 'CPL-05, CPL-03, CPL-04'), +('b4aaa1d8-1575-43f8-9f0a-34a899f1300f', 'ebb65fa9-86c3-4d3f-b5a9-59c8d9b5489c', 'CPMK-2', 'Merancang dan mengimplementasikan algoritma berbasis strategi yang sesuai untuk permasalahan tertentu.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('b4c2d312-3473-40b8-87fe-34be3f11e80e', '8d797bee-168e-4e11-beba-9f3b587f7267', 'CPMK-4', 'Mampu merancang link komunikasi nirkabel sederhana hingga menengah, termasuk pemilihan modulasi, perhitungan daya pancar, jangkauan, dan kapasitas kanal.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('b4ceef90-e44b-4671-bf53-0b55e5aad65a', '7fd58109-86e0-4427-8601-b8f6dbfc3642', 'CPMK-4', 'Menentukan distribusi probabilitas diskrit (binomial, Poisson) dan kontinu (normal)', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''); +INSERT INTO `cpmk` (`id`, `id_mk`, `kode_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`, `matched_cpl`) VALUES +('b4f46ee8-7d4b-4293-8fb8-4aed4f12f08a', '8e79442e-a7af-4718-984d-1b0995f8820b', 'CPMK-2', 'Mahasiswa mampu menghitung dan merancang elemen struktur (pondasi, lantai, balok, kolom, dinding, atap) untuk bangunan bertingkat menengah.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('b512214e-b851-4a0a-b2ff-5a4e3ed03059', '162b0138-4e60-4567-a56a-17cddc27ed92', 'CPMK-3', 'Mampu menganalisis studi kasus pelanggaran kode etik dan merumuskan sikap profesional yang tepat.', 20.00, '2026-01-16 22:56:52', '2026-01-17 00:58:10', ''), +('b529fbfa-4e9f-412b-ba93-a528b3bc0091', '7fd58109-86e0-4427-8601-b8f6dbfc3642', 'CPMK-1', 'Mampu menyajikan data dalam bentuk tabel, grafik, dan diagram', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('b53cae5f-e799-4f1e-a655-5433d3b2b170', 'b1e495e3-693f-4603-b725-1ef17519b241', 'CPMK-1', 'Memahami dasar-dasar algoritma dan pemrograman menggunakan Java.', 0.25, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('b58c9b63-013d-4cac-91fe-59524d686ab4', '9c479004-5b99-4b5a-8abd-d32551d4c43a', 'CPMK-5', 'Menyusun laporan teknis analisis gaya struktur sederhana.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('b5ad871b-2b76-4f81-8639-4e26e38aa8fe', '7aa965e2-fbec-467e-bf2d-79cd7f6a0dd2', 'CPMK-3', 'Mampu merancang dan mengimplementasikan sistem basis data modern untuk kebutuhan aplikas', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('b5e19fb1-fd55-49fb-a06d-160023e220cd', '6511033c-07c2-4509-bc3e-95adee542c3d', 'CPMK-2', 'Mampu menyusun dan merumuskan tujuan penelitian dalam bentuk artikel ilmiah.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', 'CPL-08, CPL-04'), +('b60612e8-b4e2-4436-a712-c56ede9ba804', '0d90c7f0-af81-4b0a-9a50-1467d4617a98', 'CPMK-5', 'Mampu mengimplementasikan, mengukur, dan mengevaluasi performa rangkaian telekomunikasi menggunakan alat ukur dan perangkat simulasi yang relevan.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('b63cbb6d-6127-46ed-9153-91a9e916109b', '2e4f8883-1d6f-425d-bcb1-e2e346778209', 'CPMK-1', 'Mahasiswa dapat memahami dan menjelaskan tentang Looping dan Jenis-jenisnya', 0.33, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('b665d3b3-5ed5-4d75-911c-be2c31dd8a0b', '72b71059-c5e0-4b7d-aebd-a7bdf2fdb566', 'CPMK-5', 'Mampu menggunakan perangkat lunak simulasi energi (seperti PVsyst, HOMER, atau MATLAB) dan menunjukkan kesadaran terhadap prinsip keberlanjutan dan efisiensi energi.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('b6ce517b-f9f5-49fa-a170-6f36ae6e5154', '36f3e69d-ab34-4970-bec4-2a57f9a35d1e', 'CPMK-3', 'Mampu melakukan analisis aliran daya untuk menentukan distribusi daya listrik yang efisien dan aman dalam sistem transmisi dan distribusi.', 16.66, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('b70ff447-dc2b-4f12-bdcb-4033b2a4beee', '9e1347ad-ea71-4d7d-a3aa-b04ab074c92b', 'CPMK-5', 'Mengevaluasi sistem AI berdasarkan prinsip explainability, robustness, dan trustworthiness.', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('b7357d23-1e2e-4062-b2f2-6a4f5ef2bd62', '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 'CPMK-3', 'Mampu mengkomunikasikan ide penelitian secara lisan dan tulisan dengan baik', 21.43, '2026-01-16 22:56:39', '2026-01-17 00:58:09', 'CPL-03'), +('b738321d-b285-4fcf-b287-376c40329511', '127aa76f-a30c-4598-ba43-1c212e1932b5', 'CPMK-6', 'Mengevaluasi trade-off antara consistency, availability, dan partition tolerance (CAP Theorem).', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('b7613e9d-8134-4e6d-a127-d189cb1ee50d', '1afb1d0b-210e-4468-80fa-a91f11e7e0a2', 'CPMK-7', 'Menunjukkan kemampuan kolaborasi dan profesionalisme dalam proyek microservices.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('b779feec-0343-4138-b24c-8cf469be16bf', 'f0d05b36-12dd-45d7-869f-f975f4b0ebb1', 'CPMK-3', 'Mampu menganalisis permasalahan sistem tenaga listrik yang dapat diselesaikan menggunakan metode AI.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('b77c6d41-2860-4e7b-8a1a-92057b671612', '14db19d8-2f5c-4f53-b68d-53e65a32f898', 'CPMK-1', 'Menjelaskan konsep dasar data engineering, big data, dan arsitektur sistem data modern.', 0.14, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('b7c361ee-91ed-498b-8fd1-f7fe8e06ea3e', '010163aa-d159-4aa5-aa52-b803e8192392', 'CPMK-2', 'Mampu menggunakan framework front-end dan back-end dalam pengembangan aplikasi web.', 0.25, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('b811e280-eba9-4b52-8188-8cc6061e95f4', '232eebe0-9a79-4c38-abc2-30b4af9f865b', 'CPMK-5', 'Mahasiswa mampu mengingat dan memahami Pipeline', 0.11, '2026-01-16 23:20:59', '2026-01-17 00:49:33', 'CPL-05,CPL-01'), +('b8488742-c1b9-4573-8141-2f9764e2d6a3', 'f8984b12-c7e9-4b6d-89a2-8842ef9e4bf0', 'CPMK-1', 'Menguasai pengetahuan tentang OSI layer, TCP/IP, Topologi, Model Komunikasi, Media Transmisi, Data Rate, Bandwidth, Teknik Pengkodean, Pendeteksian dan koreksi Kesalahan, Frame Header, Medium Access Control', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('b851161f-451f-4553-bc76-9d90275f902f', '507f7f49-d126-4c8f-88f1-17fdacab1a26', 'CPMK-5', 'Mampu merancang dan mengevaluasi performa sistem elektronika cerdas pada aplikasi seperti pengenalan, pemantauan, otomatisasi, atau kontrol.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('b8f36c96-842f-4278-ab7b-97bbfbefa29d', '951e2391-bed9-4aa2-b1a2-d7772d358da7', 'CPMK-3', 'Menganalisis kehilangan energi dalam aliran fluida nyata.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('b92863af-4a2d-466c-a23b-95780242ae69', '31eb6978-c476-454d-9b25-270f6e49c0ba', 'CPMK-1', 'Mampu merumuskan masalah penelitian secara jelas dan sistematis.', 21.43, '2026-01-16 22:56:54', '2026-01-17 00:58:11', 'CPL-04, CPL-03, CPL-06'), +('b98def82-25fd-4313-854a-4791ec28b8b2', '0e792536-9f4b-4e87-ad13-403d4feed76b', 'CPMK-1', 'Mahasiswa mampu menyusun tulisan ilmiah yang efektif, logis, dan sesuai kaidah bahasa Indonesia akademik.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('b9dc2251-f256-45f5-9463-fe1a124c6b54', '3f777130-87d1-459e-9a33-6af03d1b9ed5', 'CPMK-4', 'Mahasiswa mampu menyusun proposal dan kerangka penulisan Tugas Akhir berdasarkan kaidah akademik dan etika penelitian.', 21.43, '2026-01-16 22:56:50', '2026-01-17 00:58:10', ''), +('ba22bb44-0cec-4fb0-a153-a2347a36de34', 'fc5285d1-6d74-447c-91ad-34144ba5b289', 'CPMK-3', 'Mampu menganalisis dan merancang rangkaian pengkondisian sinyal (penguat, filter) yang sesuai untuk berbagai sinyal keluaran sensor.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('ba386529-1e91-4028-b6c6-52861f0d14be', '8762c433-6fdd-462b-8494-1d264eb3dd15', 'CPMK-5', 'Mahasiswa mampu menyajikan hasil perhitungan dan analisis mekanika teknik dalam format laporan atau grafik perhitungan secara sistematis dan akurat.', 0.20, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('ba87d93f-db7b-49b6-93bf-b1cc7dbb94ef', 'bc9474a0-d6b1-4785-a0a0-9fb9bac6f6b1', 'CPMK-1', 'Memahami konsep dan komponen utama cloud-native application', 0.17, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('ba9ebd90-ae7d-4a98-a6a8-f3a39aa93269', '351b0a77-232c-4115-a7f2-ad4a4ebca9d2', 'CPMK-5', 'Mampu menyusun laporan hasil pengukuran secara sistematis, akurat, dan bertanggung jawab serta mempresentasikannya secara komunikatif.', 20.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19', ''), +('bad67e77-850a-40b6-9a29-a01530bf97c7', '4d7c057a-6920-447a-bfef-117238ea784f', 'CPMK-3', 'Mengembangkan aplikasi berbasis container (Docker) dan mengelola orchestration dengan Kubernetes', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('bada7176-f930-465d-b177-b5a73522bce5', '58a2946b-86ee-43bf-a768-e0e5693bdb03', 'CPMK-4', 'Menyusun rencana bisnis sederhana yang berkelanjutan', 20.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('bae74b4b-efc4-43a4-99cf-93068f285108', '68d1b998-7db7-4f09-8718-27b33bad8f16', 'CPMK-5', 'Menunjukkan sikap profesional dan etis dalam konteks kerja', 20.00, '2026-01-16 22:56:37', '2026-01-17 00:58:08', ''), +('bb9c7529-4455-41d5-a416-ffaa0cb2626c', 'e26f0f1d-d1d3-4795-96b2-d092a3fa5dc7', 'CPMK-2', 'Mampu menjelaskan konsep sinyal dan sistem diskrit serta representasinya secara matematis.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('bbbea09e-77ec-407b-812a-bf2853222b3d', '33fc18df-fd5b-45c5-9893-71f90e37ba61', 'CPMK-9', 'Mahasiswa mampu┬á memahami dan mengaplikasikan strategi perancangan perangkat lunak', 0.09, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('bbd602d9-b6fa-48c7-b76b-43eebfb74c6b', '9db744c2-99cd-408d-a39d-7babdc37350c', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar ilmu falak, termasuk hisab, rukyat, gerak benda langit, dan kalender hijriah.', 25.00, '2026-01-16 22:56:49', '2026-01-17 00:58:10', ''), +('bbded5e4-52a2-48e3-8e05-b0f28424699a', 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 'CPMK-4', 'Mengintegrasikan keteraturan dan sistematika berpikir matematis dalam proses perancangan.', 0.20, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('bc1017ca-6040-4125-a31e-af53423ae9d6', 'ea3e9e48-2f65-4f9c-945d-39875184582f', 'CPMK-2', 'Mampu menyusun algoritma sederhana berdasarkan permasalahan yang diberikan.', 0.25, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('bc52d1c8-45e7-4d4a-9d6e-428fee4d5513', '1f893129-5d23-499b-b7aa-46c839e97b2a', 'CPMK-6', 'Menerapkan prinsip desain UI/UX yang baik dan konsisten pada aplikasi lintas platform.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('bc558f10-5bce-4557-bf11-4fdd6c127984', '1afb1d0b-210e-4468-80fa-a91f11e7e0a2', 'CPMK-6', 'Melakukan monitoring, logging, dan troubleshooting microservices di lingkungan produksi.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('bc743ac0-fcef-4566-a9fe-4ea448397133', 'd1386eb7-8de0-43bc-915b-ca0a5ffb29ae', 'CPMK-5', 'Mampu mengimplementasikan prinsip keberlanjutan (sustainability) dalam mengembangkan pengetahuan', 0.20, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('bca47154-e707-4676-b573-056202220e6f', '66cc25e3-402c-49de-9ba4-6fd803e0795a', 'CPMK-3', 'Mahasiswa mampu mendesain elemen struktur baja seperti balok, kolom, sambungan, dan rangka batang sesuai peraturan yang berlaku.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('bd5e7ae4-f9fe-4a76-aa18-393a3bc0de40', 'd8273dbe-018b-4c80-9074-6535f5fab03a', 'CPMK-2', 'Mampu membuat program dan mengimplementasikan kendali I/O diskrit (LED, Seven Segment) dan I/O analog pada Mikrokontroler Arduino.', 33.33, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('bd8c9aea-c2a8-4266-95b2-e0f5a5b9df00', 'e001a246-3d23-4e88-b982-3abbf29caf15', 'CPMK-3', 'Mahasiswa mampu menghasilkan desain yang memenuhi persyaratan teknis, estetika, keberlanjutan, dan nilai Islami.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('bddbeb22-271a-4795-9c0b-15ae639567f7', '3701b7b5-54ae-4a36-bccf-83276943464b', 'CPMK-5', 'Menyusun dan mempresentasikan laporan K3 proyek konstruksi', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('be1a575e-a86b-4f97-9619-5ee8f961e9b9', '8e79442e-a7af-4718-984d-1b0995f8820b', 'CPMK-5', 'Mahasiswa mampu menyusun laporan teknis terukur yang mendukung desain arsitektur bangunan bertingkat menengah.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('be2ca0da-1948-492c-88d2-cddcddb120e5', 'a442d9d7-1b63-4ac3-9f16-04d81176b460', 'CPMK-9', 'Mahasiswa mampu mengingat dan memahami Keamanan Jaringan Komputer', 0.11, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('be41f003-d9ac-4411-a6cb-1b59de076595', '5aec8529-0bc9-43dc-8b16-9d6350ca3958', 'CPMK-5', 'Mampu menggunakan perangkat simulasi dan alat ukur tegangan tinggi secara efektif serta menunjukkan kesadaran terhadap keselamatan kerja dan tanggung jawab profesional.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('be64e081-f985-4fba-9feb-3cd574ea603e', '75e925ed-43ed-40e5-91de-706b0b1a1964', 'CPMK-4', 'Menganalisis contoh karya arsitektur berdasarkan prinsip desain dan konteksnya.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('bebbd2ef-e9a7-46f2-8726-e01fdee281ed', 'fc8b60c6-407c-41e6-8e95-d861fa7d02d5', 'CPMK-2', 'Mahasiswa mampu menjelasan tentang Modul Linear Progamming dan metode penyelesaiannya yakni Metode Grafik dan Simpleks', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('bec8334a-457c-441e-a28e-e8e4208d44c1', '058cffc9-d74d-471f-936d-1d58853f99de', 'CPMK-4', 'Mahasiswa mampu menginterpretasikan nilai dan pemikiran Muhammadiyah dalam merumuskan solusi terhadap isu kemasyarakatan dan tantangan kontemporer.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('bf096086-bd1a-479e-9ab3-4cf0024ab183', '47a09495-6df8-461c-ba4f-2ea176aa4405', 'CPMK-1', 'Mata kuliah ini membahas prinsip, perancangan, dan implementasi sistem pengaman pada instalasi tenaga listrik, termasuk proteksi terhadap gangguan hubung singkat, beban lebih, gangguan tanah, serta koordinasi proteksi pada sistem distribusi dan transmisi.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('bf3132a4-795a-46d6-b477-1c45412b50ee', '5fd10a1a-f7e2-4520-adcb-8c64d71155b1', 'CPMK-3', 'Mahasiswa mampu menghasilkan rancangan arsitektur sederhana yang memenuhi aspek fungsi, estetika, kenyamanan, dan nilai Islami.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('bf36d397-1b0c-446e-b913-9d62bc3b0b32', 'e9d82287-6a84-4d8e-a06f-5c25894442ab', 'CPMK-2', 'Mampu mengembangkan kerangka teoritis dan metodologis yang sesuai untuk penelitian skripsi.', 21.43, '2026-01-16 22:56:38', '2026-01-17 00:58:09', 'CPL-01, CPL-02'), +('bf4c8f7c-435a-4969-bb85-272927503d0d', 'fcc12b73-1704-44cc-adaf-c571cdc59be0', 'CPMK-3', 'Mampu menganalisis karakteristik transistor MOSFET dan prinsip dasar sirkuit CMOS digital.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('bf5707c9-3c59-446d-a098-0af7bbe6a03f', 'a83fd291-7f8d-423f-ab21-e709c7b876c1', 'CPMK-1', 'Mampu menjelaskan konsep dasar limit dan kontinuitas dalam fungsi matematis.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', 'CPL-01'), +('bf59dffe-d6a8-4837-8156-22c5355de1a0', 'c378e358-586e-42d8-b8d8-8aad0ae97dc4', 'CPMK-4', 'Mampu mengidentifikasi dan menganalisis gangguan serta kestabilan sistem tenaga listrik, serta merancang solusi untuk meningkatkan stabilitas dan keandalan sistem.', 20.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30', ''), +('bf87734b-648b-469b-84db-f231f4063cc0', '06d52fc1-a1fb-455c-b5dd-a89ec654f8a9', 'CPMK-5', 'Mampu menggunakan perangkat bantu (seperti MATLAB atau Python) untuk memodelkan dan mensimulasikan sinyal serta menyajikan hasilnya secara benar.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('bfb2b93b-7ae2-4efb-9935-ac62f47577c0', 'ffd459b7-c016-41f0-8c3d-0290433eef19', 'CPMK-3', 'Mahasiswa mampu menghasilkan desain yang memadukan konsep arsitektur, perancangan kawasan, struktur, utilitas, dan prinsip berkelanjutan.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('bfb66b43-a536-4091-bc9c-4b217f73b45a', '969911f0-3df1-4705-af93-fd6807f1dcaa', 'CPMK-2', 'Mampu merancang algoritma rasterisasi dan pemodelan 3D.', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('bfd60148-8349-4ffb-a704-b5f8bf7704e0', 'f3971cd2-bb40-4a50-a3a5-a8a8b860933b', 'CPMK-6', 'Menunjukkan profesionalisme, integritas, dan etika dalam tata kelola keamanan informasi.', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('c0839bf2-2165-42b5-8170-25506a5b7e0c', 'a4900c13-be7a-4370-9e5e-10337a941445', 'CPMK-2', 'Mahasiswa mampu menghitung beban, gaya, dan deformasi pada struktur bentang lebar.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('c10902b3-cde0-4532-a76f-f422f31920f3', 'c6970f8e-a4ac-480a-b232-a45a42976f8e', 'CPMK-1', 'Mata kuliah ini membahas konsep dasar struktur atom, sistem periodik unsur, ikatan kimia, stoikiometri, larutan elektrolit, reaksi redoks, dan sifat-sifat material dari perspektif teknik, sebagai landasan pemahaman bahan dan energi dalam sistem kelistrikan dan elektronika.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('c11407e9-3341-4d10-8225-6732aac31738', 'e618216d-8b85-4f3d-95e7-afd4627a77bd', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar, sejarah, dan ruang lingkup AI.', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('c1141d16-4828-4075-9be8-97f99730e5fd', '0d90c7f0-af81-4b0a-9a50-1467d4617a98', 'CPMK-2', 'Mampu menjelaskan konsep dasar elektronika telekomunikasi, termasuk penguatan sinyal, modulasi, rangkaian RF, dan blok dasar pemancarΓÇôpenerima.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('c13c0f0b-f025-4a34-81ea-e71cc363e875', '0f73ece5-1a7d-4a9f-adb8-3b738ce322b5', 'CPMK-2', 'Mengimplementasikan teknik preprocessing teks seperti tokenisasi, stemming, dan stopword removal.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('c17b07a1-b3cc-4634-b03e-94a7de93bd74', '4acf9737-d545-4eb5-b80a-98178b9c9009', 'CPMK-5', 'menerapkan konsep sains kebumian dalam analisis awal untuk perencanaan teknik, termasuk penentuan kondisi tanah, tata air, kestabilan lereng, dan evaluasi lingkungan pada suatu wilayah', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('c1805052-d064-45a3-8fb5-3fa4141c233e', '507f7f49-d126-4c8f-88f1-17fdacab1a26', 'CPMK-4', 'Mampu menerapkan algoritma pembelajaran mesin sederhana pada mikrokontroler atau perangkat embedded lainnya.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('c1851b3a-fb0a-4fc6-8f52-6b999bac23ab', 'bbc86902-df05-422d-aeed-765362efa1a9', 'CPMK-1', 'Mata kuliah ini membahas penerapan konsep matematika lanjutan dalam bidang teknik\r\nelektro, meliputi persamaan diferensial, transformasi Laplace, transformasi Fourier, dan transformasi Z, serta aplikasinya pada analisis sistem dinamik, sinyal, dan rangkaian listrik. Mahasiswa mempelajari bagaimana model matematis digunakan untuk menganalisis sistem fisik dan sinyal teknik serta melakukan simulasi menggunakan MATLAB atau Python untuk mendukung analisis dan pemecahan masalah teknik elektro.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('c1aa08de-f254-41ec-812b-42f16296e718', 'd18b0cf0-e575-401a-ab1f-e36ff5e3e307', 'CPMK-4', 'Mengevaluasi dampak penerapan sistem informasi pada organisasi.', 0.25, '2026-01-16 23:21:02', '2026-01-17 00:49:33', ''), +('c1f4790e-92ab-465e-92ee-288c8ce536b5', '7fd58109-86e0-4427-8601-b8f6dbfc3642', 'CPMK-5', 'Melakukan uji hipotesis sederhana dan analisis regresi linier', 20.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11', ''), +('c263a528-80c4-4b26-9941-df356b4449f7', '9f7d6597-3b8a-4fce-b1bc-17977515d6d2', 'CPMK-3', 'Mengelola penyimpanan data besar menggunakan sistem terdistribusi', 0.17, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('c30b1c30-49be-4989-bdf9-e327c2b191e4', '75f4fc91-4001-4618-a823-366acbbdb9d9', 'CPMK-3', 'Melakukan pre-training dan fine-tuning model LLM untuk domain spesifik', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('c3275098-a04e-4311-9308-721decb5522f', '1fbe70aa-c19c-4076-9045-ffd606b71b01', 'CPMK-4', 'Mahasiswa mampu memilih material, teknologi, dan detail konstruksi yang mendukung kenyamanan, keamanan, dan kemudahan akses bagi semua pengguna.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('c355d2b8-ad9b-4c9d-a6aa-e2988fb87c60', 'cbaa232e-a1df-426b-bdea-af5c42b8da05', 'CPMK-6', 'Mampu menunjukkan kreativitas, inovasi, dan kemampuan pengembangan solusi teknik elektro yang aplikatif dan bernilai tambah.', 16.70, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''), +('c35a54e4-caab-4d02-acfc-13a010a78523', 'f3971cd2-bb40-4a50-a3a5-a8a8b860933b', 'CPMK-4', 'Mengimplementasikan metode penilaian risiko dan strategi mitigasi keamanan informasi.', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('c39fa27c-0391-4883-871d-dc08e47ec5ec', '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 'CPMK-4', 'Mampu menerapkan prinsip-prinsip AIK dalam konteks sosial dan budaya.', 21.43, '2026-01-16 22:56:36', '2026-01-17 00:58:08', 'CPL-04'), +('c3b8773c-9f28-4786-89f4-5dbf33616146', '9ad1d2e1-8ed4-4204-bb39-d149a56997cb', 'CPMK-4', 'Mahasiswa mampu menggambar detail konstruksi high-rise secara digital sesuai standar gambar kerja.', 0.20, '2026-01-16 22:56:50', '2026-01-17 00:52:38', ''), +('c4142d9a-f767-4b6e-b3ac-5b042826913c', 'bfed3b3c-17cc-4fe5-b044-2165e9e0af14', 'CPMK-7', 'Menunjukkan kemampuan berpikir logis, kolaboratif, dan etis dalam analisis masalah berbasis matematika', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('c41ba8eb-52ff-4e2a-b691-4d8d3c2a8e7f', 'f8984b12-c7e9-4b6d-89a2-8842ef9e4bf0', 'CPMK-3', 'Menguasai pengetahuan tentang cellular network beserta teknologinya', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('c42c7aca-0965-48af-81b0-4f5b9afa535e', 'cf549c6e-bc2b-44f0-80c0-3c17518e3b95', 'CPMK-4', 'Mampu menganalisis respon waktu serta mengevaluasi kestabilan sistem kontrol menggunakan metode grafik atau analitis.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('c4674ba5-1402-41cf-875c-6a31332bd4c1', '232eebe0-9a79-4c38-abc2-30b4af9f865b', 'CPMK-8', 'Mahasiswa mampu memahami dan menerapkan instruksi mesin dan bahasa assembly', 0.11, '2026-01-16 23:20:59', '2026-01-17 00:49:33', 'CPL-05'), +('c470d13b-21a3-41eb-bd15-2a206dc298f3', 'ebb65fa9-86c3-4d3f-b5a9-59c8d9b5489c', 'CPMK-1', 'Memahami prinsip dasar strategi algoritma seperti divide and conquer, greedy, dynamic programming, dan backtracking.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('c4beb9d0-dbde-4acb-9622-64302debd616', '0db07feb-d6da-4542-a6b4-304119e1bedf', 'CPMK-4', 'Menerapkan containerization dan deployment layanan menggunakan Docker dan Kubernetes.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('c4ec86cb-d894-41bf-be4a-ce6e05f7fa3d', 'f8832929-41c0-411b-9498-ad69856e6af7', 'CPMK-4', 'Mahasiswa mampu mengintegrasikan temuan perilaku pengguna ke dalam desain arsitektur yang humanis, inklusif, dan berkelanjutan.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('c4ecc1fa-511f-4beb-9b52-aab523b9fe2b', 'a8aaa007-c80c-4244-a47f-6746bc34c1ae', 'CPMK-6', 'Menunjukkan perilaku etis dan profesional dalam melaksanakan ethical hacking sesuai hukum dan standar industri', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('c5e6b400-aad8-4c78-a844-b102526a2cd4', '33fc18df-fd5b-45c5-9893-71f90e37ba61', 'CPMK-8', 'Mahasiswa mampu┬á memahami dan mengaplikasikan cara kerja perangkat lunak analisis dan tools desain', 0.09, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('c5e8e72f-68f7-4c10-b81e-dc42d0357bdc', '38429483-ed40-4442-9b3a-5f7f8cb48db8', 'CPMK-3', 'Mampu menganalisis performa antena (gain, pola radiasi, impedansi) serta menghitung parameter propagasi seperti path loss, redaman, dan multipath.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('c5f381ee-c6de-4aaf-8f34-06ea3e7ebe8e', '8b4bbddd-0548-4afb-8cbe-cddbafe189db', 'CPMK-2', 'Mengidentifikasi ancaman dan kerentanan (vulnerability) dalam lingkungan cloud.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('c618def2-b658-454e-8692-abae13d33565', 'c89c6727-5426-4f63-84b7-03f37d456ac3', 'CPMK-3', 'Mampu mengidentifikasi penyebab gangguan dalam sistem tenaga listrik dan menganalisis dampaknya terhadap kinerja sistem, serta merancang langkah-langkah mitigasi yang efektif.', 20.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30', ''), +('c63f88ad-4bc4-496f-aa84-837fcec64ae2', '72b71059-c5e0-4b7d-aebd-a7bdf2fdb566', 'CPMK-2', 'Mampu menjelaskan konsep dasar, potensi, dan karakteristik berbagai sumber energi baru dan terbarukan.', 20.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30', ''), +('c6ee32e4-bb27-4369-a42d-c2ffebd2c7b1', 'd8273dbe-018b-4c80-9074-6535f5fab03a', 'CPMK-3', 'Mampu memprogram fungsi map pada Arduino untuk mengolah pembacaan ADC dari tegangan sensor menjadi nilai tegangan terkalibrasi (milivolt), serta memverifikasi Hukum Ohm pada rangkaian PV.', 33.34, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('c70b830f-d413-45ff-b006-a838033060e5', 'b1e495e3-693f-4603-b725-1ef17519b241', 'CPMK-2', 'Mampu menyusun algoritma sederhana berdasarkan permasalahan yang diberikan.', 0.25, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('c71574c3-b0ad-45dd-ab2e-5bc8df9966da', 'd1386eb7-8de0-43bc-915b-ca0a5ffb29ae', 'CPMK-3', 'Mampu menerapkan pemikiran logis, sistematis, dan inovatif dalam konteks pengembangan atau implementasi ilmu pengetahuan dan tenologi yang memperhatikan dan menerapkan nilai humantora yang sesuai dengan bidang keahliannya', 0.20, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('c730a092-3619-47c7-8390-153ee9edde45', '0671a043-7c73-4101-b030-baa3d4609c3e', 'CPMK-2', 'Mengidentifikasi sumber bukti digital dari berbagai perangkat dan jaringan', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('c763237f-3dab-44ff-8304-58d879f1f2cb', '5368a6f5-ba60-42e6-848c-ed409d1d327a', 'CPMK-6', 'Mampu mensimulasikan dan menganalisis sistem modulasi digital tingkat lanjut (misalnya: QPSK Modulator) dan merepresentasikan data biner pada domain waktu dan scatterplot (diagram konstelasi).', 16.70, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''), +('c7f92efb-4b2c-498f-a156-2e6fd9a0f7f2', 'f7582245-dae4-4183-937b-0661ba62b33e', 'CPMK-2', 'Menerapkan aturan turunan dalam menyelesaikan persoalan teknik.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('c80b4e2a-0a29-430f-b1ef-2caf7364aedc', '8f123fd0-8007-40c9-9a13-0e28f9be5932', 'CPMK-3', 'Menganalisis risiko kerja dan kecelakaan kerja', 0.20, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('c82692a4-4ec9-46bf-a5a3-cd95b7830df9', 'dd7e57da-b160-4ecc-817e-4b644672aecb', 'CPMK-1', 'Mahasiswa mampu menganalisis kebutuhan perancangan pada skala kawasan, termasuk fungsi campuran (mixed-use) dan integrasi tata ruang.', 0.20, '2026-01-16 22:56:49', '2026-01-17 00:52:38', ''), +('c84d86d0-85eb-4745-a27c-80a7f81c9e9c', 'accf154a-1fa4-4804-bf46-fe4287399e61', 'CPMK-4', 'Mahasiswa mampu menunjukkan komitmen terhadap nilai keberlanjutan, amanah, dan keadilan dalam praktik akademik.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('c8570682-36f8-43ce-9f32-9a71be361b95', '9d631a44-dab4-4a20-bfc1-89e57deb46a5', 'CPMK-1', 'Mampu menganalisis dan merumuskan topik penelitian yang relevan dengan bidang studi', 21.43, '2026-01-16 22:56:39', '2026-01-17 00:58:09', 'CPL-01, CPL-02'), +('c8db0a1a-346c-4dae-84e5-93866929d8e7', 'fdef83bb-0100-4b6c-bf59-d4327e6542bf', 'CPMK-1', 'Mahasiswa dapat memahami dan menjelaskan tentang Desain dan Analisis Algoritma', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('c92be549-3296-4d96-a7ed-cff06dc9f2b2', 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 'CPMK-2', 'Mahasiswa mampu menguasai teknik presentasi manual 2D dan 3D sesuai standar grafis arsitektur.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('c935b14e-3d69-42d3-aeae-807cad6ce728', '0d0a669a-7571-4abf-93e0-a36fc3a324f0', 'CPMK-5', 'Mahasiswa mampu mengintegrasikan prinsip keberlanjutan, nilai Islami, dan kenyamanan lingkungan dalam desain ruang dalam.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('c9418530-c37f-44c6-a1c4-82735ceb56d0', '7cb0ea59-244f-43f8-9084-456e269bcefb', 'CPMK-5', 'Mengimplementasikan rancangan sederhana sistem terdistribusi dengan studi kasus (misalnya client-server, cloud, atau IoT).', 0.20, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('c9583f35-dcff-46e1-8796-b4b5329fa189', 'ebb65fa9-86c3-4d3f-b5a9-59c8d9b5489c', 'CPMK-4', 'Mengevaluasi performa algoritma berdasarkan kompleksitas waktu dan ruang.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('c99715a5-42a5-4677-a352-c055d1f645c1', '058cffc9-d74d-471f-936d-1d58853f99de', 'CPMK-3', 'Mahasiswa mampu menerapkan prinsip etika Islam, integritas, dan tanggung jawab sosial dalam aktivitas akademik dan interaksi profesional.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('c9a39126-5d32-462d-8f64-d9e659376a2b', '7d8ce821-3f52-4313-8bf1-d43ac8abc103', 'CPMK-2', 'Mampu menjelaskan prinsip dasar propagasi cahaya di dalam serat optik dan karakteristik material serat optik.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('c9aba430-1a31-41e9-88ca-336d024440ca', 'f0d05b36-12dd-45d7-869f-f975f4b0ebb1', 'CPMK-2', 'Mampu menjelaskan konsep dasar kecerdasan buatan dan ruang lingkup penerapannya pada sistem tenaga listrik.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('ca4e0688-b518-47b4-9733-5daf87ca8635', '7143e93e-2bb6-4f3b-8ac8-34aa07e37631', 'CPMK-5', 'Mampu menegevaluasi dan menginterpretasi fenomena mekanika dasar menggunakan pendekatan teoritis.', 14.29, '2026-01-17 00:58:12', '2026-01-17 00:58:12', ''), +('ca4f069e-55d4-4c18-909e-0abdff219397', '35eebf92-894d-4936-9d0f-6bdf47adc11f', 'CPMK-4', 'Mampu menerapkan prinsip keselamatan dan kesehatan kerja (K3) serta standar/peraturan terkait dalam perencanaan dan pelaksanaan proyek teknik.', 20.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('cacda38c-c295-49f6-a838-e629913dff5c', 'a83fd291-7f8d-423f-ab21-e709c7b876c1', 'CPMK-5', 'Mampu menyelesaikan masalah kalkulus yang melibatkan aplikasi dalam ilmu teknik dan sains.', 0.20, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('caf75408-41dc-46b3-a688-c070d5911d5d', 'ebc0373c-c9b3-4027-91eb-2aa050c5a292', 'CPMK-5', 'Mampu merancang, menguji, dan mengimplementasikan proyek sistem tertanam secara eksperimental untuk menghasilkan solusi inovatif yang aplikatif.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('cb6498c9-5bae-468b-a38c-dada74e7895e', '9c8516d1-31fd-4a36-ac3a-49787ada8218', 'CPMK-3', 'Mampu mendokumentasikan aktivitas dan hasil pembelajaran selama KKP-Plus secara sistematis.', 21.43, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('cb80cc4e-f73f-46cc-a82d-c18aa5b21602', 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 'CPMK-2', 'Menerapkan prinsip geometri dan trigonometri dalam analisis bentuk ruang dan struktur sederhana.', 0.20, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('cba6a320-1375-4485-baf8-0295e39d36b7', '03f5fe59-806c-4f28-842f-643d9654c781', 'CPMK-4', 'Melakukan simulasi serangan secara terkendali dan mendokumentasikan hasil pengujian dengan benar.', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('cbce9e7e-f220-412e-b91d-a00b9e6c86c2', '127aa76f-a30c-4598-ba43-1c212e1932b5', 'CPMK-2', 'Menganalisis kebutuhan sistem untuk mendukung scalability, availability, dan reliability.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('cc2d85f1-9469-4028-b0d6-5d5743d85ddf', 'f482e32c-c23a-4152-a846-c5cea2b72df6', 'CPMK-3', 'Mampu menerapkan hukum Coulomb, Gauss, Ohm, dan Kirchhoff untuk menyelesaikan perhitungan dasar pada medan listrik dan rangkaian arus searah.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13', ''), +('cc52d7ff-e3fb-4c82-bbba-31360e4c9e59', '9e1347ad-ea71-4d7d-a3aa-b04ab074c92b', 'CPMK-6', 'Menunjukkan kepemimpinan etis dan kolaborasi lintas disiplin dalam pengelolaan proyek AI', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('cc84ed57-82f6-4d35-9d88-7ac6c3b70209', 'c127b1fb-3fc9-4f73-8a94-080418b1450e', 'CPMK-1', 'Mata kuliah ini membahas konsep, prinsip, dan protokol komunikasi data, arsitektur jaringan komputer, media transmisi, serta topologi jaringan, dengan penekanan pada integrasi sistem komunikasi data dalam aplikasi teknik elektro.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('ccac29b4-8788-4827-a7f8-3b898d445d49', '1587fade-3952-4c21-95da-050058151ce1', 'CPMK-3', 'menghitung tekanan tanah aktif, pasif, dan keadaan diam menggunakan teori Rankine/Coulomb serta merancang dinding penahan tanah berdasarkan analisis stabilitas dan deformasi', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('ccbdad7c-5a60-45bc-bd40-8fd707b5764d', 'd18b0cf0-e575-401a-ab1f-e36ff5e3e307', 'CPMK-2', 'Mampu menganalisis kebutuhan sistem informasi dalam organisasi.', 0.25, '2026-01-16 23:21:02', '2026-01-17 00:49:33', ''), +('ccd0447c-e287-43e7-9e00-92f9945cdc5a', '7cb0ea59-244f-43f8-9084-456e269bcefb', 'CPMK-4', 'Menjelaskan aspek keamanan pada sistem terdistribusi.', 0.20, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('cce1c8e9-9d93-4b17-ba64-4d2d6057a32f', '255aebe2-a27d-4e29-a1f7-41483050dd1e', 'CPMK-2', 'Mengidentifikasi tahapan-tahapan utama dalam proses penetration testing.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('cd0907a9-ba70-40aa-935d-f24d06c6bcac', '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 'CPMK-1', 'Menganalisis konsep dasar dan prinsip-prinsip dalam Artificial Intelligence dan keislaman.', 21.43, '2026-01-16 22:56:38', '2026-01-17 00:58:09', 'CPL-01, CPL-04'), +('cd5fe35d-2c67-49b7-a048-8dfd9e62d3be', 'd1386eb7-8de0-43bc-915b-ca0a5ffb29ae', 'CPMK-1', 'Bertaqwa kepada Tuhan Yang Maha Esa dan mampu menunjukkan sikap religius', 0.20, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('cd76bd18-9173-492f-92dd-adb0c556c13a', 'b0d2039a-bcfb-486a-bf9c-fc811db72196', 'CPMK-5', 'Menerapkan deep learning sederhana menggunakan framework populer', 0.17, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('cd936bb6-16f4-4ea5-a74c-1921a041051f', 'd77faeee-6cfb-432f-91fb-36a9023649d2', 'CPMK-3', 'Mengevaluasi dampak sosial dan etika dari penerapan teknologi AI dalam berbagai bidang.', 21.43, '2026-01-16 22:56:52', '2026-01-17 00:58:10', 'CPL-01, CPL-04'), +('cdbba9c5-ae06-4294-bc79-f080db830f4b', '9db744c2-99cd-408d-a39d-7babdc37350c', 'CPMK-2', 'Mahasiswa mampu melakukan perhitungan dasar terkait penentuan waktu salat, fase bulan, dan kalender hijriah menggunakan metode hisab Muhammadiyah.', 25.00, '2026-01-16 22:56:49', '2026-01-17 00:58:10', ''), +('cde7e1ad-1565-4026-95e2-062a23a66ff0', '23115d0f-eec7-438c-b2ac-9a17e1c601b2', 'CPMK-1', 'Membahas prinsip dasar perancangan, struktur, dan cara kerja komputer dari tingkat perangkat keras hingga interaksi dengan perangkat lunak.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('cdf0000b-775c-46f3-8cbc-767ce3a529c9', '75f4fc91-4001-4618-a823-366acbbdb9d9', 'CPMK-5', 'Mengoptimalkan model melalui teknik prompt engineering, transfer learning, dan parameter-efficient fine-tuning', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('ce1034e7-0030-4fa2-a587-6afde98a14c2', 'aa134f8b-abba-401b-a847-cd9ceef9827b', 'CPMK-6', 'Menunjukkan etika profesional dan tanggung jawab dalam menjaga keamanan data dan privasi.', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('ce112d8d-37b1-4b5b-b694-568496ccbc2c', 'f7582245-dae4-4183-937b-0661ba62b33e', 'CPMK-4', 'Menghitung integral tak tentu dan tertentu dari fungsi polinomial.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('ce3cdff0-ea58-4875-b42e-971e5ef6c578', 'f2424441-6fbc-4788-85af-d4e3317a9c26', 'CPMK-4', 'Mampu merancang dan mengaplikasikan sistem konversi daya, seperti inverter dan rectifier, untuk mengubah daya DC ke AC dan sebaliknya.', 20.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('ce511e5e-d1cb-4614-aecc-2609afec52e5', '5dcb8762-b27a-419b-bdcd-a5c18a953fa9', 'CPMK-2', 'Mampu menjelaskan konsep dasar algoritma, logika pemrograman, struktur kontrol, dan pemodelan alur logika menggunakan flowchart atau pseudocode.', 20.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14', ''), +('ce5e2dd1-926c-4b4b-91b8-f929c8daf926', '53a5f150-9b86-43a7-ac28-6d0c300c5fab', 'CPMK-4', 'Mahasiswa mampu memahami pengertian Prinsip Rumah Merpati, permutasi dan kombinasi, kombinasi pada himpunan dengan pengulangan, Himpunan, Operasi himpunan, dan anggota, perhitungan anggota menggunakan prinsip inklusi-eksklusi', 0.14, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('ce84e49d-e79f-40f8-ab53-78a15e2d6250', '5a843477-00fd-4aae-99dc-915c49ad022c', 'CPMK-5', 'Mampu menerapkan prinsip keselamatan kerja, efisiensi energi, dan keberlanjutan dalam perancangan serta pelaksanaan instalasi listrik modern.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('cef751a2-377d-4f57-8324-fe85b76bb8db', '35839aaf-cb66-4d72-be1f-bf53c2aa1725', 'CPMK-2', 'Mampu menjelaskan konsep dasar citra digital, struktur piksel, teknik peningkatan citra, transformasi, serta algoritma dasar pengolahan citra.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('cf149d01-4a9b-4b95-b963-d99040e6ca86', '881a35ab-2427-447e-bb8a-e26a566f677a', 'CPMK-1', 'Mahasiswa mampu menjelaskan prinsip perancangan tapak dan ruang luar yang mempertimbangkan fungsi, estetika, lingkungan, dan keberlanjutan.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('cf1abe8d-1c2f-4b69-9d13-4dba0aab0fd5', 'b995e4ed-c305-4abc-b847-216f92bc9fa5', 'CPMK-5', 'Mahasiswa mampu menyusun rekomendasi perancangan arsitektur yang ramah lingkungan sesuai prinsip keberlanjutan dan nilai Islami.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('cfd5a3ce-8c35-4b4f-9b6d-c779db09f50e', 'd30e84e5-145d-41a0-90a2-337309aa1019', 'CPMK-2', 'Mampu menerapkan teknik pemrograman berbasis objek dalam pengembangan aplikasi sederhana.', 0.20, '2026-01-16 23:21:05', '2026-01-17 00:49:33', 'CPL-01, CPL-05'), +('cfe49560-262b-42ad-b843-32838e9dd7ec', '06d52fc1-a1fb-455c-b5dd-a89ec654f8a9', 'CPMK-4', 'Mampu merepresentasikan dan menganalisis sinyal menggunakan transformasi dasar (Laplace atau Fourier).', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('d000a2c3-4843-4fce-a960-812ad0ab02ae', 'ed089ed7-acb4-45a8-b1e8-95204c8cdb59', 'CPMK-1', 'Menghitung integral tak tentu dan tentu dari fungsi satu dan multi variabel.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('d009c4f5-b7f2-4a70-a912-e43ab8664918', 'ac2ca539-9694-48b3-93f8-0db6de719278', 'CPMK-1', 'Mampu menganalisis konteks sosial, budaya, dan lingkungan dalam perancangan arsitektur terpadu.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', 'CPL-01, CPL-02, CPL-04'), +('d048a213-ef69-4d8e-be90-8f65057ba560', '1f893129-5d23-499b-b7aa-46c839e97b2a', 'CPMK-7', 'Menunjukkan kerja tim, etika profesional, dan tanggung jawab dalam proyek pengembangan aplikasi mobile.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('d075c428-e4d1-4e5b-9b13-1501c195735d', '144da052-f49b-4f8f-808e-970811d759cd', 'CPMK-3', 'Menganalisis potensial listrik dan energi potensial muatan.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('d093ffa1-e6ae-4330-9826-1e17e2d0fea7', '9e1347ad-ea71-4d7d-a3aa-b04ab074c92b', 'CPMK-3', 'Mengidentifikasi risiko sosial dan hukum yang muncul dari penggunaan AI di berbagai domain', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('d09d9f87-95a0-484e-90f3-d4d2a374258d', '54b80847-e1c5-4402-9b4b-18bd2348c227', 'CPMK-6', 'Mahasiswa mampu menyusun dokumentasi dan laporan akhir.', 0.14, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('d176d858-c230-4302-b90a-23b5b68ffa16', 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 'CPMK-3', 'Mahasiswa mampu mengolah data perancangan ke dalam media presentasi manual yang kreatif, informatif, dan estetis sesuai prinsip desain humanis, berkelanjutan, dan Islami.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('d18a3b76-3e39-405d-a865-d86110d4594e', 'cbf257f3-8236-4008-8469-0a56592db1a8', 'CPMK-2', 'Mampu menjelaskan konsep dasar medan listrik, medan magnet, fluks, dan muatan dalam ruang vektor.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('d1947f6a-0c7e-492e-ab1a-9add63d08872', '39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 'CPMK-5', 'Mampu mengevaluasi hasil pemetaan dan memberikan rekomendasi perbaikan berdasarkan analisis yang dilakukan.', 0.20, '2026-01-16 22:56:56', '2026-01-17 00:52:38', 'CPL-01, CPL-04, CPL-06'), +('d203aabe-5e96-4d1f-8f21-aa58a106fbae', '5a843477-00fd-4aae-99dc-915c49ad022c', 'CPMK-4', 'Mampu merancang gambar instalasi listrik modern yang efisien, aman, dan sesuai standar teknis serta kebutuhan pengguna.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('d23bab5e-bfba-427b-abd4-e2f6419dd7ea', 'd30e84e5-145d-41a0-90a2-337309aa1019', 'CPMK-4', 'Mampu mengevaluasi dan mengoptimalkan kode program berbasis objek untuk meningkatkan efisiensi.', 0.20, '2026-01-16 23:21:05', '2026-01-17 00:49:33', 'CPL-05, CPL-01'), +('d2450e9c-6d58-4f63-ba5e-715ea3ad8253', '38429483-ed40-4442-9b3a-5f7f8cb48db8', 'CPMK-5', 'Mampu mengukur, menginterpretasi, dan mengevaluasi karakteristik antena serta kondisi kanal propagasi menggunakan alat ukur dan software yang relevan.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('d2aef54e-5961-42d1-a034-63be6a2e20a9', 'e517d812-8ad2-4124-ba9e-1f3dbbb2f815', 'CPMK-2', 'Melakukan konfigurasi keamanan jaringan (firewall, VPN, IDS/IPS)', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('d2ca3d4b-e4b7-4eec-968e-452cb495b818', '33fc18df-fd5b-45c5-9893-71f90e37ba61', 'CPMK-2', 'Mahasiswa mampu memahami dan mengetahui Rekayasa perangkat lunak', 0.09, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('d2dca31a-6e13-43fc-9236-d428f56cc54b', '2a1e22f4-5528-4ed1-90d5-cff876c85326', 'CPMK-3', 'Mampu menggunakan JavaScript dasar untuk menambahkan interaktivitas pada halaman web.', 0.20, '2026-01-16 23:21:00', '2026-01-17 00:49:33', 'CPL-01, CPL-02'), +('d2e5d19d-9e05-4482-958d-0abfb22bd7ef', '3f0fdc4a-aaf1-4331-9c72-b452b45e0737', 'CPMK-2', 'Mahasiswa dapat memahami dan menjelaskan tentang Tipe data Array', 0.33, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('d3038dfe-510c-4cd3-a9a0-2818387c3058', '1c5fec35-9053-40a5-9130-ad3a37b5a249', 'CPMK-3', 'Merancang dan mengimplementasikan mesin Turing sederhana.', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('d38c1659-4222-4fda-a634-00d0eaebe292', '14edd272-1d19-4646-b963-6df5b31d4a52', 'CPMK-2', 'Mahasiswa mampu menganalisis kebutuhan utilitas bangunan berdasarkan fungsi, kapasitas, dan karakteristik tapak.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('d3cc194f-db28-4529-b49b-8d9927bc6b39', 'b995e4ed-c305-4abc-b847-216f92bc9fa5', 'CPMK-3', 'Mahasiswa mampu memahami prinsip dasar Analisis Mengenai Dampak Lingkungan (AMDAL) dan prosedur pelaksanaannya.', 0.20, '2026-01-16 22:56:43', '2026-01-17 00:52:38', ''), +('d3ed3d8f-9592-4dd3-897c-f09ada0f8c58', '8b4bbddd-0548-4afb-8cbe-cddbafe189db', 'CPMK-6', 'Melakukan audit dan monitoring keamanan sistem berbasis cloud', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('d44f7cd6-3f62-41d8-a854-f1e54041e43c', '4f30b5fb-81d8-4ce3-a462-3e51386280ae', 'CPMK-2', 'Mahasiswa mampu menjelaskan┬á system operasi dan struktur system komputer', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('d46c6e90-56ff-41be-b59c-a26d41ed46ab', '5c71aa6a-f3d9-4ecc-b7c9-f9739fd5d117', 'CPMK-5', 'Menyajikan hasil rancangan hijau dalam bentuk gambar, laporan, dan presentasi yang sistematis.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('d48ea8cd-ce95-449a-915c-35ade944fb9d', 'cbf257f3-8236-4008-8469-0a56592db1a8', 'CPMK-1', 'Mata kuliah ini membahas teori dasar medan listrik dan magnet, hukum-hukum Maxwell, hukum Gauss, hukum Faraday, hukum Ampere, dan aplikasinya pada sistem teknik elektro seperti transformator, gelombang elektromagnetik, dan sistem transmisi tenaga dan komunikasi.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('d4a25d0a-ae5f-4b9e-b851-35bb3f01375c', '00a82311-cd30-46ff-ac59-f6280a6e6f3b', 'CPMK-4', 'Memahami perangkat keras dan perangkat lunak komputer', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', ''), +('d4dc1cb0-4cd8-4216-9f3a-03313909bf89', '37ef7d28-eb4a-42ef-a179-74880fa1e9b8', 'CPMK-2', 'Mahasiswa mampu menjelaskan metode pengumpulan dan penyajian data', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('d50c5efc-f22a-4c48-be63-d567c55ceaa0', 'e26f0f1d-d1d3-4795-96b2-d092a3fa5dc7', 'CPMK-4', 'Mampu merancang dan mengimplementasikan filter digital FIR/IIR menggunakan perangkat lunak teknik (MATLAB/Python).', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('d52fd749-5e78-4323-abfb-526560c7686c', '80b4b948-ddb7-40e4-89d1-ba78be1e1feb', 'CPMK-2', 'Mahasiswa mampu mengidentifikasi jenis sistem struktur dan konstruksi sederhana pada bangunan lowΓÇômid rise (2ΓÇô3 lantai) sesuai fungsi dan kondisi tapak.', 0.20, '2026-01-16 22:56:44', '2026-01-17 00:52:38', ''), +('d533054c-1180-446e-b08c-91c24560eb90', 'a7c11b9a-42a1-4ada-84bb-fd504a3ecb18', 'CPMK-2', 'Mahasiswa dapat memahami dan menjelaskan tentang Persamaan Non Linear, Iterasi, Nilai Error, dan Metode Penyelesaian Numerik', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('d546ace4-4814-473a-9060-c58ab7dbb4b1', 'ac5382bb-6368-4957-915a-00a06ec8c767', 'CPMK-1', 'Mahasiswa mampu merumuskan latar belakang, rumusan masalah, tujuan, dan manfaat penelitian/perancangan arsitektur.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('d556ea29-9aba-4f3d-80dd-7899d2f58d33', '232eebe0-9a79-4c38-abc2-30b4af9f865b', 'CPMK-1', 'Mahasiswa mampu mengingat dan memahami pengantar organisasi dan arsitetur komputer', 0.11, '2026-01-16 23:20:59', '2026-01-17 00:49:33', 'CPL-05'), +('d5588af2-c6ed-49aa-ab0f-00960d6e7631', 'dd7e57da-b160-4ecc-817e-4b644672aecb', 'CPMK-5', 'Mahasiswa mampu mengevaluasi desain berdasarkan analisis multi-kriteria, masukan berbagai pihak, dan kesesuaian dengan regulasi serta visi pengembangan kawasan.', 0.20, '2026-01-16 22:56:49', '2026-01-17 00:52:38', ''), +('d59167c8-47f0-482a-acb9-0c1ca5e65ecc', '7784e52e-24d5-4a05-9b4f-4e4d062d877e', 'CPMK-4', 'Menjelaskan penanganan ketidakpastian dalam sistem pakar.', 0.20, '2026-01-16 23:21:05', '2026-01-17 00:49:33', ''), +('d60fe165-13f4-420d-9602-5e77eae33e94', '35839aaf-cb66-4d72-be1f-bf53c2aa1725', 'CPMK-1', 'Mata kuliah ini membahas konsep, teknik, dan algoritma dalam pengolahan citra digital untuk keperluan analisis, peningkatan kualitas, segmentasi, dan ekstraksi fitur.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('d64bd181-d5cc-4b7d-8b60-33f93dab6a2d', 'e8c1e121-5df6-42af-a785-a199e62353fe', 'CPMK-3', 'Melakukan vulnerability assessment dengan berbagai scanner', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('d6eb5ae6-7548-4d31-b603-b359874851f2', 'd30e84e5-145d-41a0-90a2-337309aa1019', 'CPMK-1', 'Mampu menjelaskan konsep dasar pemrograman berbasis objek dan prinsip-prinsipnya.', 0.20, '2026-01-16 23:21:05', '2026-01-17 00:49:33', 'CPL-01, CPL-05'), +('d749e7fd-5556-4c60-bbbf-99973eb8f140', 'f75f20e0-1f04-4725-8c20-e138fd12d386', 'CPMK-7', 'Menunjukkan kerja tim, etika profesional, dan tanggung jawab dalam proyek pengembangan aplikasi mobile.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('d7838638-3f39-4029-bdc7-b7a6f284eea5', '4023e86d-3cf6-4ab9-b013-2b8bc8375c29', 'CPMK-3', 'Mampu menganalisis dan merancang rangkaian elektronika daya (rectifier, chopper, inverter, converter) untuk aplikasi robotika industri.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('d788fb94-5979-4818-84d5-78b6c676317b', '144da052-f49b-4f8f-808e-970811d759cd', 'CPMK-5', 'Memahami konsep fisika modern dasar seperti relativitas khusus dan kuantum.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('d79ecb53-0635-4ae1-a9b8-72cd0ae5d746', '39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 'CPMK-2', 'Mampu menerapkan metode pengukuran untuk mengumpulkan data geospasial dengan menggunakan alat yang tepat.', 0.20, '2026-01-16 22:56:55', '2026-01-17 00:52:38', 'CPL-02, CPL-08'), +('d7fabfab-842f-4eab-9dd6-5617f7ab28cf', '8b4bbddd-0548-4afb-8cbe-cddbafe189db', 'CPMK-4', 'Mengimplementasikan kontrol keamanan seperti IAM dan enkripsi.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('d836f8d9-01df-4db5-9577-66e6b74ac944', '0db07feb-d6da-4542-a6b4-304119e1bedf', 'CPMK-5', 'Mengintegrasikan API Gateway, service registry, dan circuit breaker pattern untuk manajemen layanan', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('d850164a-166c-4f0d-8e6b-c1b4bca0b5ed', '14db19d8-2f5c-4f53-b68d-53e65a32f898', 'CPMK-2', 'Merancang pipeline ETL untuk mengintegrasikan berbagai sumber data.', 0.14, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('d8587f9c-ad11-4a68-a43d-2b31cab801a8', '1f893129-5d23-499b-b7aa-46c839e97b2a', 'CPMK-2', 'Mendesain arsitektur aplikasi mobile dengan fokus pada modularitas, reusability, dan user experience', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('d8904f9c-8792-412a-ae2c-91da4326dd9f', '351b0a77-232c-4115-a7f2-ad4a4ebca9d2', 'CPMK-1', 'Mata kuliah ini membahas konsep dasar sistem pengukuran, karakteristik alat ukur, jenisΓÇôjenis besaran listrik dan non-listrik yang dapat diukur, teknik pengukuran analog dan digital, kesalahan pengukuran, serta pengantar sistem instrumentasi dalam teknik elektro. Mahasiswa juga mempelajari pengoperasian alat ukur dasar, akuisisi data, serta cara melakukan analisis hasil pengukuran secara benar, akurat, dan dapat dipertanggungjawabkan.', 20.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18', ''), +('d8acfdc5-4529-4da9-888c-1c3e70921d90', 'a442d9d7-1b63-4ac3-9f16-04d81176b460', 'CPMK-1', 'Mahasiswa mampu mengingat dan memahami pengantar komputasi Modern', 0.11, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('d8c58d98-0453-47ce-8531-72f6b6c35797', 'e618216d-8b85-4f3d-95e7-afd4627a77bd', 'CPMK-4', 'Mahasiswa mampu menjelaskan dan mengimplementasikan dasar-dasar machine learning.', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('d8f2b4a6-8048-4d98-8395-526e5b3178af', '539fc417-2c9b-472f-9b0f-445a8b749fc9', 'CPMK-2', 'Mahasiswa mampu mengidentifikasi karakteristik arsitektur Islam di berbagai wilayah dan konteks budaya.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('d8fcdd0f-8d36-4d3e-9d8d-d97bf232aff4', 'cbaa232e-a1df-426b-bdea-af5c42b8da05', 'CPMK-1', 'Mata kuliah Capstone Design merupakan mata kuliah proyek integratif yang memberikan kesempatan kepada mahasiswa untuk menerapkan secara komprehensif pengetahuan, keterampilan, dan nilai profesional yang telah dipelajari selama perkuliahan teknik elektro. Mahasiswa bekerja dalam tim untuk mengidentifikasi permasalahan nyata, merumuskan kebutuhan desain, serta mengembangkan solusi teknik elektro dalam bentuk rancangan sistem, prototipe, atau produk rekayasa berbasis teknologi modern.', 16.66, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''); +INSERT INTO `cpmk` (`id`, `id_mk`, `kode_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`, `matched_cpl`) VALUES +('d90b3a95-4ae5-4927-934d-d4d0f6f5ef9e', '5295f75b-658d-4e49-9c6f-b96e30c63a81', 'CPMK-4', 'Mampu merancang rangkaian filter (seri dan paralel) atau sistem resonansi untuk kebutuhan teknik sesuai spesifikasi.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('d961dfa8-ce8a-4d30-b5d9-6ca9877a9d16', '7143e93e-2bb6-4f3b-8ac8-34aa07e37631', 'CPMK-3', 'Mampu menerapkan hukum fisika (Newton, energi, momentum) dalam penyelesaian masalah teknik sederhana.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', ''), +('d9891dc7-11d4-4979-9071-99223c3399f4', 'fcc12b73-1704-44cc-adaf-c571cdc59be0', 'CPMK-5', 'Mampu menggunakan perangkat lunak perancangan VLSI (misalnya HDL, simulator, atau layout editor) untuk mensimulasikan, memverifikasi, dan mendokumentasikan sistem digital sederhana secara profesional.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('d9dd8093-6611-4299-b4a4-03bd9675940f', 'a4900c13-be7a-4370-9e5e-10337a941445', 'CPMK-5', 'Mahasiswa mampu menyusun laporan teknis terukur untuk proyek bentang lebar.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('d9fa2bc6-748e-428b-baac-3c45a1f2eb21', 'cbf257f3-8236-4008-8469-0a56592db1a8', 'CPMK-3', 'Mampu menerapkan hukum Gauss, Faraday, dan Ampere untuk menyelesaikan persoalan dasar medan elektromagnetik.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('da086eee-9f26-4066-9f00-c230ff4865a6', 'e618216d-8b85-4f3d-95e7-afd4627a77bd', 'CPMK-2', 'Mahasiswa mampu merepresentasikan pengetahuan dan logika untuk pemecahan masalah.', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('da2db151-a8e2-4a26-806e-abd1aa3a578e', 'b5e186b0-b06e-4fb7-b53d-3fccfa849544', 'CPMK-2', 'Mampu merancang dan mengimplementasikan model machine learning sesuai kebutuhan dan data yang tersedia', 0.25, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('dac147d0-e763-4c4b-8a75-caaab7e8bcd5', '7efb0e90-2bee-4647-8438-88bd0aebaa96', 'CPMK-1', 'Mata kuliah ini membahas prinsip, metodologi, dan tahapan perancangan sistem elektronika mulai dari analisis kebutuhan, pemilihan komponen, perancangan rangkaian analog/digital, integrasi mikrokontroler, hingga pengujian dan evaluasi prototipe.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('db27a072-a87c-489f-bb56-fb25b1aa163b', '5c71aa6a-f3d9-4ecc-b7c9-f9739fd5d117', 'CPMK-2', 'Mengidentifikasi strategi desain ramah lingkungan yang sesuai dengan iklim tropis dan kondisi tapak.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('db3d432a-57dc-443c-97f6-dbecc9472dd3', '5aec8529-0bc9-43dc-8b16-9d6350ca3958', 'CPMK-3', 'Mampu menganalisis distribusi medan listrik dan karakteristik tembus listrik pada sistem tegangan tinggi.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('dbb72d9a-e771-45f3-aacf-3e3e9226b456', '05c4ac5d-16dd-4458-bfba-1433b9779853', 'CPMK-4', 'Mampu menerapkan Smith Chart, perangkat lunak simulasi, dan metode analitis untuk merancang sistem pencocokan impedansi dan memecahkan masalah pada saluran transmisi.', 20.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29', ''), +('dc7fcbe3-32e5-4218-b2dc-30d3d8498529', '9272905d-e48e-4999-b6d4-1892ffe5277e', 'CPMK-4', 'Mampu mengimplementasikan sistem kontrol berbasis elektronika (sensor, penguat, pengendali, aktuator) untuk aplikasi tertentu.', 20.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33', ''), +('dca67261-1fd3-4330-a93a-7f4563ab7d4c', 'd1386eb7-8de0-43bc-915b-ca0a5ffb29ae', 'CPMK-4', 'Mampu mengambil keputusan secara tepat dalam konteks penyelesaian masalah di bidang keahliannya, berdasarkan hasil analisis informasi dan data', 0.20, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('dcb8eb48-a440-42c9-9e1d-00862660130d', 'dd3cfb97-dca0-419d-9ad9-235f4e91dcba', 'CPMK-5', 'Mampu menganalisis hasil perhitungan numerik, membandingkan metode berdasarkan akurasi, efisiensi, serta menyajikan hasilnya secara runtut dan logis.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('dd5a082a-3679-4db6-9bb7-4119c5ea6664', 'f38f3d61-837e-43f2-a0cf-980aa2e286ae', 'CPMK-2', 'Mampu menjelaskan konsep limit, sifat-sifat limit, dan kekontinuan fungsi satu variabel serta menerapkannya dalam analisis perubahan dan perilaku fungsi.', 21.43, '2026-01-17 00:58:11', '2026-01-17 00:58:11', ''), +('dd9093d6-59de-4711-8c7b-a3d1c79b5c33', '69a951bb-9cfb-45ac-9398-4b39daae89bd', 'CPMK-5', 'Mampu menulis karya ilmiah untuk publikasi', 16.66, '2026-01-16 22:56:37', '2026-01-17 00:58:09', ''), +('dda64fa2-2a1b-4693-948a-df58465e38ca', '4ef5dd3c-5811-474f-b555-8059d108f8e2', 'CPMK-2', 'Mampu menjelaskan konsep dasar trafik telekomunikasi, parameter trafik, dan karakteristik lalu lintas data/suara.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('de35b79c-796c-4e6e-9296-153c1477357d', 'd18b0cf0-e575-401a-ab1f-e36ff5e3e307', 'CPMK-1', 'Memahami dasar-dasar sistem informasi manajemen dan komponennya.', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('de5858dc-d09c-4bc6-8727-b9f3f837ab44', '5fd10a1a-f7e2-4520-adcb-8c64d71155b1', 'CPMK-1', 'Mahasiswa mampu mengidentifikasi potensi dan kendala tapak sederhana untuk bangunan fungsi tunggal skala kecil (1ΓÇô2 lantai).', 0.20, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('de72c009-5303-4534-9206-cef44cc23e9b', 'ed944acc-fdac-4399-84f4-e0bcebaa0351', 'CPMK-2', 'Menerapkan prinsip rekayasa dalam pengembangan desain detail.', 14.28, '2026-01-17 00:59:14', '2026-01-17 00:59:14', ''), +('de901801-4aec-40d7-832b-e4eefac6f66f', 'e517d812-8ad2-4124-ba9e-1f3dbbb2f815', 'CPMK-4', 'Mengimplementasikan protokol enkripsi dan keamanan data', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('ded74592-751c-42b7-bd26-ad290ebbbf0b', 'e80b63ba-8556-4a1b-a9ac-45e346bea6b3', 'CPMK-3', 'Menggambar peta topografi dari data hasil pengukuran', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('dee36e11-4d87-4c09-845c-eb32021cd96e', '930edaef-cab6-4382-b12d-4358e81fc316', 'CPMK-2', 'Menerapkan prinsip-prinsip elektronika dalam desain rangkaian telekomunikasi.', 21.43, '2026-01-17 00:58:39', '2026-01-17 00:58:39', 'CPL-01, CPL-02, CPL-04, CPL-05'), +('df3484b1-04a7-4837-96e9-abdcf42191bd', '73525a7c-f212-4b45-a48c-f6283a195746', 'CPMK-2', 'Mahasiswa mampu menganalisis struktur dan pola ruang kota berdasarkan kondisi eksisting, regulasi, serta potensi dan kendala kawasan.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('df7bf392-4dac-4ea3-9d79-bba26cc574c6', '4583364c-1191-46ac-af67-5fd1475a6b8f', 'CPMK-5', 'Mahasiswa mampu menjelaskan tentang invers matriks menggunakan matriks adjoin dan transformasi elementer', 0.14, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('dffe0dc3-224a-40a6-ba65-4ff9ca49059d', '8528a2e0-fee5-487c-b5fa-d104d0a31982', 'CPMK-4', 'Mampu menerapkan konsep fisika untuk memecahkan permasalahan teknik elektro yang berkaitan (misal propagasi sinyal, optoelektronik, atau medan listrik-magnet).', 20.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15', ''), +('e02dfbc3-5ee3-46b5-9b39-ebc9fd3813fb', '86dccf89-001f-40b2-8396-3df88537c00f', 'CPMK-7', 'Menunjukkan profesionalisme, etika, dan tanggung jawab dalam praktik keamanan cloud.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('e0447d2c-389e-4d8e-84f7-26b43d1c0679', '3a40a9d1-086d-4d41-9e2b-f4da42382168', 'CPMK-1', 'Mahasiswa mampu menjelaskan karakteristik iklim tropis dan implikasinya terhadap desain arsitektur.', 0.20, '2026-01-16 22:56:49', '2026-01-17 00:52:38', ''), +('e07561ac-b657-4054-9eca-781bc78af101', 'afa1034a-7eb4-498f-9a6f-b2213869aedc', 'CPMK-5', 'Mampu melakukan simulasi, konfigurasi dasar, serta evaluasi performa jaringan telekomunikasi menggunakan perangkat lunak atau alat ukur yang relevan.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('e07e9197-c4fd-4749-96d3-aed37fdcc4e8', '9035c0b3-6289-4c2c-ae2d-c0d6a74607be', 'CPMK-1', 'Mata kuliah ini membahas konsep dasar Internet of Things (IoT), arsitektur sistem IoT, komponen perangkat keras dan perangkat lunak, protokol komunikasi, serta contoh penerapan IoT pada bidang teknik elektro, energi, industri, dan smart city.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('e083d83a-0c96-4901-ad59-f1edbebfb89e', '2fa43052-36fd-4b90-9d94-20fff24bb411', 'CPMK-1', 'Mata kuliah Pengantar Teknik Elektro memberikan dasar-dasar pemahaman mengenai bidang teknik elektro, mencakup konsep-konsep utama dalam listrik, elektronik, dan elektromagnetik yang merupakan fondasi dalam pengembangan teknologi modern. Mahasiswa akan dikenalkan dengan prinsip dasar kelistrikan, komponen elektronik, serta penerapannya dalam berbagai sistem teknologi seperti sistem tenaga, telekomunikasi, dan peralatan elektronik. Selain itu, mata kuliah ini juga membahas perkembangan teknologi elektro terkini dan tantangan-tantangan yang dihadapi dalam bidang teknik elektro. Tujuan utama dari mata kuliah ini adalah untuk memberikan pemahaman dasar yang kuat mengenai bidang teknik elektro agar mahasiswa dapat melanjutkan ke mata kuliah teknik elektro yang lebih mendalam.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', 'CPL-01,CPL-02'), +('e0959638-c758-477c-8abd-d9b352a72d47', 'e6ff039a-b996-491a-afce-d8885e6cc8d7', 'CPMK-4', 'Mampu menjelaskan berbagai jenis radar (CW, Pulse, Doppler) dan sistem navigasi (GPS, INS, hybrid) beserta karakteristiknya.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('e0b27377-4864-4a50-a3f8-de602e5f7ba2', '71716d40-936e-436a-88c3-28df37794b3a', 'CPMK-1', 'Mata kuliah ini membahas prinsip, arsitektur, dan teknik perancangan sistem komunikasi satelit.', 21.43, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('e119e9af-8003-4387-a7ed-9683f6641edb', '6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 'CPMK-2', 'Menerapkan teknik-teknik revitalisasi dalam proyek studi kasus yang relevan.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', 'CPL-02, CPL-06'), +('e11ddd3f-f442-4c5a-b7f1-6522a9b723a4', '75e925ed-43ed-40e5-91de-706b0b1a1964', 'CPMK-3', 'Memahami keterkaitan arsitektur dengan aspek fungsi, estetika, struktur, lingkungan, dan budaya.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('e1278fe0-54da-4a79-92cf-aa7089da6b9b', '7143e93e-2bb6-4f3b-8ac8-34aa07e37631', 'CPMK-1', 'Mata kuliah ini membahas konsep dasar fisika klasik yang meliputi mekanika, dinamika, hukum Newton, energi, momentum, dan aplikasi dasar dalam konteks keteknikan elektro.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', ''), +('e15e7947-8788-4733-9403-4100142f003e', 'fc8b60c6-407c-41e6-8e95-d861fa7d02d5', 'CPMK-1', 'Mahasiswa mampu menjelaskan tentang Riset Operasional dan Jenis-Jenis Modulnya', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('e16b508a-50dc-4bc8-a9b5-e82f5be68f02', '2aaaf8e5-a8c5-4a4f-8a1b-1f977c1dfa75', 'CPMK-5', 'Mampu menyusun laporan analisis dan menyajikan hasil simulasi secara sistematis, akurat, dan profesional.', 20.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18', ''), +('e17e6247-cad1-4edf-b4ee-c311d7f749ca', '75f4fc91-4001-4618-a823-366acbbdb9d9', 'CPMK-1', 'Menjelaskan konsep dan arsitektur dasar Generative AI dan LLM', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('e1eb0e7b-76ee-4940-9dd2-08d90ff46ef3', '7cb0ea59-244f-43f8-9084-456e269bcefb', 'CPMK-3', 'Menguraikan algoritma konsistensi, replikasi, dan toleransi kesalahan.', 0.20, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('e2053134-64f2-47ce-93a9-b56351ec4595', 'c127b1fb-3fc9-4f73-8a94-080418b1450e', 'CPMK-2', 'Mampu menjelaskan konsep komunikasi data, protokol, dan arsitektur jaringan komputer.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('e29e179a-68e7-4e51-b104-9a62ad9c5d7a', '5295f75b-658d-4e49-9c6f-b96e30c63a81', 'CPMK-5', 'Mampu mensimulasikan rangkaian menggunakan software (mis. MATLAB/Simulink) dan mengevaluasi respons frekuensi atau resonansi sistem.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('e2b25735-1761-435c-a820-dc4aa1924b4e', '8528a2e0-fee5-487c-b5fa-d104d0a31982', 'CPMK-5', 'Mampu melakukan percobaan sederhana, mengolah data, dan menginterpretasikan hasil pengukuran fisika secara tepat.', 20.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15', ''), +('e2ce6b37-be16-4eea-963e-f32ebaa153a2', '47a09495-6df8-461c-ba4f-2ea176aa4405', 'CPMK-2', 'Mampu menjelaskan prinsip dasar sistem proteksi tenaga listrik, jenis gangguan, serta fungsi dan karakteristik peralatan proteksi secara tepat.', 20.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31', ''), +('e329c04f-f17e-4489-8a97-f249eaf09ed4', '2d0b3a7e-868a-4a2e-a703-bfef24d96141', 'CPMK-3', 'Merancang dan menerapkan kontrol keamanan pada tahap perancangan dan pengkodean.', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('e34981b8-d0df-463b-abe9-97835d2e3180', '75e925ed-43ed-40e5-91de-706b0b1a1964', 'CPMK-1', 'Menjelaskan pengertian, ruang lingkup, dan peran arsitektur dalam kehidupan manusia.', 0.20, '2026-01-16 22:56:40', '2026-01-17 00:52:38', ''), +('e3664070-9c30-44fb-8f15-95bd390a1b3b', 'a4900c13-be7a-4370-9e5e-10337a941445', 'CPMK-3', 'Mahasiswa mampu memilih material dan sistem konstruksi bentang lebar yang memenuhi aspek teknis, estetika, keberlanjutan, dan nilai Islami.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('e3acfd27-089d-448e-8193-6e81e8492b9d', '4b8ab6c1-3ce3-46c8-ab58-6c2ee7b80d6c', 'CPMK-2', 'Mahasiswa mampu menjelasan tentang pengertian Relasi dan fungsi.', 0.25, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('e3fc1518-9fcc-4fc4-9f3a-2a02d46103fc', '7c701b31-82ce-4116-9def-6b17591ec26f', 'CPMK-2', 'Mampu menjelaskan prinsip dasar komponen elektronika (dioda, transistor, MOSFET, op-amp) dan karakteristiknya dalam rangkaian elektronik dasar.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('e3fc73e8-a762-49e7-b981-4a76f921fb7f', '23115d0f-eec7-438c-b2ac-9a17e1c601b2', 'CPMK-4', 'Mampu menjelaskan dan menganalisis pengkodean instruksi, siklus eksekusi instruksi, serta konsep pipeline dan parameter performa (clock, cache, branch prediction).', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('e410da4f-1854-4c11-bf65-b69b1db8bf3d', 'b2c0cb8b-152d-4ee8-8cad-a19222f0d55d', 'CPMK-4', 'Menggunakan visual programming dengan Alice untuk memperkuat pemahaman algoritma', 0.20, '2026-01-16 23:20:57', '2026-01-17 00:49:33', ''), +('e44e25dd-a3c6-4fbb-a867-4983f417aeb4', 'cfc12f76-acef-4115-8337-838f76b7778e', 'CPMK-1', 'Mahasiswa mampu menjelaskan prinsip dasar kewarganegaraan, konstitusi, nilai Pancasila, dan sistem demokrasi Indonesia secara komprehensif.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('e47136ae-b37c-48e7-8875-bd36c6b159d8', 'cff6b13e-d1d3-4d8b-8e78-1269ad2b7f8d', 'CPMK-5', 'Mahasiswa mampu merancang aplikasi sederhana berbasis AI.', 0.17, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('e4dc0ed4-ec23-4ef4-8ca2-3135f686fe42', 'ac2ca539-9694-48b3-93f8-0db6de719278', 'CPMK-5', 'Mampu mengevaluasi dan merefleksikan hasil perancangan arsitektur serta memberikan kritik konstruktif terhadap karya sendiri dan orang lain.', 0.20, '2026-01-16 22:56:58', '2026-01-17 00:52:38', 'CPL-01, CPL-04'), +('e51950bf-81ec-4811-8f4e-d81184a5dd48', '35839aaf-cb66-4d72-be1f-bf53c2aa1725', 'CPMK-3', 'Mampu menganalisis kualitas citra, karakteristik noise, hasil filtering, dan performa algoritma pengolahan citra berbasis domain spasial maupun frekuensi.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('e51b9684-d31a-4c0c-ad71-1d4ae2646266', '3f0fdc4a-aaf1-4331-9c72-b452b45e0737', 'CPMK-1', 'Mahasiswa dapat memahami dan menjelaskan tentang Looping dan Jenis-jenisnya', 0.33, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('e57586d1-5c3e-4b06-adcc-5077a7f97c9d', 'dd7e57da-b160-4ecc-817e-4b644672aecb', 'CPMK-3', 'Mahasiswa mampu menghasilkan desain komprehensif dengan integrasi penuh aspek teknis, estetika, keberlanjutan, nilai Islami, dan inovasi.', 0.20, '2026-01-16 22:56:49', '2026-01-17 00:52:38', ''), +('e5cb12aa-6ddd-4243-9611-aae69048c322', 'afa1034a-7eb4-498f-9a6f-b2213869aedc', 'CPMK-4', 'Mampu merancang topologi jaringan telekomunikasi dasar hingga menengah, termasuk pemilihan perangkat, konfigurasi protokol, dan estimasi kebutuhan kapasitas.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('e65aa885-5e24-467a-acea-451ea940fa28', '665b5754-34f9-4794-8aff-4a493a7d702a', 'CPMK-1', 'Mahasiswa mampu memahami konsep dan prinsip estetika dalam desain arsitektur.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('e69a935a-a700-45f8-8dc8-97033c12dbf4', '53a5f150-9b86-43a7-ac28-6d0c300c5fab', 'CPMK-5', 'Mahasiswa mampu memahami definisi dari fungsi numerik, membuat pemodelan masalah menggunakan fungsi numerik dan memanipulasi fungsi numerik : penjumlahan, selisih, manipulasi S1 dan S1 , backward difference dan forward difference', 0.14, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('e6eb3627-f8a5-4149-ae1d-7483e0206992', 'e8460a71-2709-4bbc-b378-9b57ee3a4beb', 'CPMK-4', 'Menggunakan perangkat forensik (Autopsy, FTK Imager, Volatility, Wireshark) dalam investigasi.', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('e6fd1c45-7424-4d0b-8885-772ea2ffb26e', 'bbc86902-df05-422d-aeed-765362efa1a9', 'CPMK-5', 'Mampu menerapkan konsep matematika teknik secara integratif untuk memecahkan studi kasus nyata di bidang teknik elektro serta mengevaluasi hasilnya.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('e70387ce-b7b6-405a-ad19-aa6a36fa7fc8', 'b996bbc4-077b-4b3e-be50-266060bad564', 'CPMK-2', 'Mampu merancang dan mengembangkan solusi teknis yang inovatif untuk masalah yang diidentifikasi dalam proyek akhir.', 0.20, '2026-01-16 23:21:14', '2026-01-17 00:49:33', 'CPL-01, CPL-05'), +('e7102a6b-a61e-4f3a-88a4-374eb2addd9a', '93e41542-d15b-4385-93da-a3534835a907', 'CPMK-4', 'Mampu merancang sistem optoelektronik dasar (komunikasi optik atau deteksi) dengan mempertimbangkan efisiensi, responsivitas, konsumsi daya, dan stabilitas.', 20.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32', ''), +('e727d1a7-a5df-4bbf-a5bd-2d2d82500815', '4acf9737-d545-4eb5-b80a-98178b9c9009', 'CPMK-4', 'menjelaskan keterkaitan proses kebumian dengan sumber daya alam (air, mineral, energi) dan potensi kebencanaan geologi seperti gempa, longsor, banjir, serta upaya mitigasinya', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('e7356a84-8e62-402b-ae78-a6be0f506d12', 'e41854a3-6b44-4e52-b87f-f0d3e14c53ca', 'CPMK-3', 'Mampu menganalisis hubungan antara struktur mikroskopis material dengan sifat mekanik, termal, dan listriknya.', 21.43, '2026-01-17 00:58:12', '2026-01-17 00:58:12', 'CPL-01,CPL-03'), +('e7397c23-eafa-4dbb-946a-075321052e06', 'aa2fa177-91cd-4575-9a2b-0a7174f61b0a', 'CPMK-5', 'Menerapkan konsep data partitioning, sharding, dan message queues untuk meningkatkan throughput sistem.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('e7fc1568-8ed1-459f-aec8-92ce558737cb', 'ac5382bb-6368-4957-915a-00a06ec8c767', 'CPMK-4', 'Mahasiswa mampu menyusun proposal penelitian atau perancangan secara sistematis sesuai kaidah akademik dan etika ilmiah.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('e8506a22-8c3f-4236-bbb4-46d721d7938a', '86dccf89-001f-40b2-8396-3df88537c00f', 'CPMK-1', 'Menjelaskan konsep arsitektur cloud dan prinsip dasar keamanan cloud.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('e8d5cadb-b87d-465d-a8ee-4033df637cf3', 'a4900c13-be7a-4370-9e5e-10337a941445', 'CPMK-4', 'Mahasiswa mampu menggambar detail konstruksi bentang lebar secara manual maupun digital sesuai standar gambar kerja.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('e91b5936-3bab-4dcc-8d86-979efd67e251', '06d52fc1-a1fb-455c-b5dd-a89ec654f8a9', 'CPMK-1', 'Mata kuliah ini membahas konsep dasar sinyal kontinu dan diskrit, sistem linear waktu invarian (LTI), konvolusi, representasi sinyal pada domain waktu dan frekuensi, serta pengenalan transformasi Laplace dan Fourier sebagai dasar analisis sistem teknik elektro. (CPL 1)', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('e92c0f81-6434-454c-915c-cf659ba9c552', '150dfc2a-ef1f-4753-b044-24d32ea5aa63', 'CPMK-4', 'Mampu mengorganisasi rencana pengumpulan data dan jadwal pelaksanaan penelitian.', 0.00, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('e9543c92-85c6-4b46-892a-97f0abe803dc', '7ec43900-b6ac-42a4-b3d6-d1b254edc311', 'CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar, tujuan, dan sejarah kriptografi.', 0.14, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('e95993cf-e2c5-4fa6-94fc-5cc36d41d364', '6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 'CPMK-5', 'Membuat presentasi yang efektif tentang hasil analisis dan rencana revitalisasi yang dikembangkan.', 0.20, '2026-01-16 22:56:57', '2026-01-17 00:52:38', 'CPL-05, CPL-01'), +('e9f5fd77-c1af-4027-92f9-60302e014909', 'a83fd291-7f8d-423f-ab21-e709c7b876c1', 'CPMK-3', 'Mampu menerapkan aturan-aturan kalkulus dalam menghitung integral fungsi sederhana.', 0.20, '2026-01-16 23:20:58', '2026-01-17 00:49:33', ''), +('e9feaaee-afcd-4f45-9b52-b98c5f9bffda', '2b4d6814-0226-4349-9e22-645bb78fcf55', 'CPMK-2', 'Mampu menjelaskan prinsip etika profesi teknik elektro, tanggung jawab insinyur, dan standar keselamatan serta regulasi.', 20.00, '2026-01-16 22:56:54', '2026-01-17 00:58:29', ''), +('ea1b62bf-c61e-47ff-b01a-59d84c7ba92b', '7335b9e6-152a-4d2f-814e-3c2e7e65ca2f', 'CPMK-4', 'Mengevaluasi dan mengoptimalkan aplikasi web yang telah dibuat.', 0.25, '2026-01-16 23:21:02', '2026-01-17 00:49:33', ''), +('ea1ef067-2302-41d7-8b2b-10a065e28d92', '69a951bb-9cfb-45ac-9398-4b39daae89bd', 'CPMK-2', 'Mampu menyusun rancangan penelitian', 16.66, '2026-01-16 22:56:37', '2026-01-17 00:58:09', ''), +('ea463cec-ba24-404e-865c-8920daaea514', 'f2424441-6fbc-4788-85af-d4e3317a9c26', 'CPMK-5', 'Mampu mengevaluasi dan mengoptimalkan efisiensi serta kinerja sistem elektronika daya dalam aplikasi seperti kendaraan listrik, sistem tenaga terbarukan, dan sistem distribusi daya industri.', 20.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('ea6ae67a-676b-42ef-8063-a351de34a0b3', '07bd02d2-62ad-44b6-9b14-ec41ec3401af', 'CPMK-7', 'Menunjukkan kemampuan kerja tim, etika profesional, dan tanggung jawab dalam proyek NLP', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('ea6cd7e0-d3b1-4e7d-a98d-e6251a81d8bc', 'b0d71fa7-483d-41b4-b8b6-f111d8601ba1', 'CPMK-3', 'Mahasiswa dapat menerapkan dan menjelaskan Tenses Simple Present dan Present Continuous', 14.28, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('eadab676-d441-46a1-83fd-486701eee7b5', 'f75f20e0-1f04-4725-8c20-e138fd12d386', 'CPMK-1', 'Menjelaskan konsep pengembangan aplikasi mobile dan framework lintas platform.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('eaffbb94-225c-419b-bdd2-d3b2271aecc1', '8528a2e0-fee5-487c-b5fa-d104d0a31982', 'CPMK-3', 'Mampu menganalisis fenomena fisika menggunakan persamaan dasar serta model matematis yang relevan.', 20.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15', ''), +('eb40bea3-7438-432a-8cec-0b60b0694625', '2c23ca53-f3be-414c-976e-b30089d22f50', 'CPMK-1', 'Mata kuliah ini membahas dasar-dasar probabilitas, variabel acak, distribusi probabilitas, statistika deskriptif dan inferensial, serta penerapannya dalam analisis data dan pengambilan keputusan teknik elektro berbasis data.', 20.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15', 'CPL-01,CPL-03'), +('eb87bd12-6653-4fe2-a6a7-d066f8accd17', '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 'CPMK-3', 'Mampu menyusun laporan ilmiah yang sistematis dan komprehensif berdasarkan penelitian yang dilakukan.', 0.20, '2026-01-16 22:56:58', '2026-01-17 00:52:38', 'CPL-08, CPL-04'), +('ec1f5994-f17b-49b9-97af-1dd14155fc20', 'f75f20e0-1f04-4725-8c20-e138fd12d386', 'CPMK-6', 'Menerapkan prinsip desain UI/UX yang baik dan konsisten pada aplikasi lintas platform.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('ec220507-67cd-40f2-ba9e-82a274b2db12', '6ab811fd-20e3-44d8-9d2b-3fcd52515717', 'CPMK-4', 'Mengimplementasikan containerization dan deployment menggunakan Docker dan Kubernetes', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('ec820756-bda1-42cc-8e12-8030aa0aacab', 'a4590f2a-7e2f-45fc-ab6a-99bc2a93588f', 'CPMK-3', 'Melakukan pengumpulan dan analisis data ancaman dari berbagai sumber terbuka (OSINT) dan tertutup', 0.17, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('ec8b0771-e36a-4b67-8252-4e40e2e09372', '0f73ece5-1a7d-4a9f-adb8-3b738ce322b5', 'CPMK-6', 'Menerapkan teknik fine-tuning model pra-latih (BERT, GPT, T5) untuk aplikasi NLP spesifik', 0.14, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('ecb846f3-9675-4e6f-b1c5-2143206c9e7a', '93371a32-8651-4772-8c8f-4a772f2bfb7c', 'CPMK-1', 'Mata kuliah ini membahas prinsip, metode, dan implementasi perangkat lunak dalam sistem\r\ntelekomunikasi. Mahasiswa mempelajari bagaimana merancang, mengembangkan, menguji,\r\ndan mengimplementasikan aplikasi perangkat lunak yang mendukung fungsi komunikasi\r\ndigital, transmisi data, dan protokol jaringan. Fokus utama diberikan pada pemrograman\r\nsocket, simulasi jaringan, pengolahan sinyal digital berbasis software, dan penggunaan\r\nperangkat bantu modern seperti MATLAB, Python, dan software simulasi telekomunikasi.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('ecf6f97d-0fed-4117-8d41-82bc31b2725b', 'd30e84e5-145d-41a0-90a2-337309aa1019', 'CPMK-5', 'Mampu berkolaborasi dalam tim untuk mengembangkan proyek pemrograman berbasis objek dengan menggunakan alat manajemen versi.', 0.20, '2026-01-16 23:21:05', '2026-01-17 00:49:33', 'CPL-03, CPL-04, CPL-05'), +('ed4535a4-6aae-4991-9f80-6e9793a10b04', '4fc36d1c-942b-4bec-a9a5-d58075c3d137', 'CPMK-5', 'Mahasiswa mampu menyajikan rancangan pengkondisian bangunan dalam bentuk gambar teknis, diagram, dan laporan.', 0.20, '2026-01-16 22:56:46', '2026-01-17 00:52:38', ''), +('ed5b93d5-0638-43a8-9051-675c14d66d49', 'c89c6727-5426-4f63-84b7-03f37d456ac3', 'CPMK-4', 'Mampu menggunakan perangkat lunak simulasi untuk menganalisis dinamika dan stabilitas sistem tenaga listrik, serta memodelkan berbagai kondisi gangguan dan solusi pemulihan.', 20.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30', ''), +('ed6d2b52-a06e-4951-ae59-4a41c5cd101c', '5aec8529-0bc9-43dc-8b16-9d6350ca3958', 'CPMK-2', 'Mampu menjelaskan prinsip-prinsip dasar medan listrik, isolasi, dan fenomena tembus listrik pada berbagai media.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('ed6f8c42-5689-4c7f-a034-1748c7768ad6', '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 'CPMK-2', 'Mampu menganalisis data eksperimen dan menarik kesimpulan yang tepat berdasarkan hasil yang diperoleh.', 0.20, '2026-01-16 22:56:58', '2026-01-17 00:52:38', 'CPL-03, CPL-02'), +('edb08499-f8af-41eb-ae46-c8e479206bbe', 'e26f0f1d-d1d3-4795-96b2-d092a3fa5dc7', 'CPMK-5', 'Mampu menyajikan hasil analisis sistem pemrosesan sinyal digital secara runtut, sistematis, dan komunikatif.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('edb17d18-3b30-4a0d-bee9-1e5ba83f1137', '3a40a9d1-086d-4d41-9e2b-f4da42382168', 'CPMK-5', 'Mahasiswa mampu menyajikan rancangan arsitektur tropis dalam bentuk gambar, model, dan presentasi profesional.', 0.20, '2026-01-16 22:56:49', '2026-01-17 00:52:38', ''), +('edf85530-5a0c-4515-a905-35665ee0c1a4', '31eb6978-c476-454d-9b25-270f6e49c0ba', 'CPMK-3', 'Mampu merancang metodologi penelitian yang tepat untuk mencapai tujuan penelitian.', 21.43, '2026-01-16 22:56:54', '2026-01-17 00:58:11', 'CPL-03, CPL-04'), +('ee22cc57-951b-4a9c-9701-69ab19ef6614', 'dd7e57da-b160-4ecc-817e-4b644672aecb', 'CPMK-2', 'Mahasiswa mampu merumuskan konsep desain terpadu yang menggabungkan arsitektur, perancangan kawasan, sirkulasi, infrastruktur, dan lanskap.', 0.20, '2026-01-16 22:56:49', '2026-01-17 00:52:38', ''), +('ee72a156-f43f-47ea-bc85-18d37c90e768', '7df87425-930d-458e-bf91-8398825b82c1', 'CPMK-3', 'Mahasiswa mampu menganalisis perencanaan elemen struktur beton sederhana sesuai standar teknis yang berlaku.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('ee941851-5e89-4f9f-bdc8-33da71a00cef', '6cd02db2-b1f9-4aad-873b-349d154516f1', 'CPMK-3', 'Mahasiswa mampu menghasilkan desain rinci dengan pengaturan massa bangunan yang responsif terhadap tapak & lingkungan sekitar.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('eecfc0e7-34b7-4bc0-8013-57b669a59631', 'fc5285d1-6d74-447c-91ad-34144ba5b289', 'CPMK-5', 'Mampu merancang, membangun, dan mendemonstrasikan sebuah prototipe sistem instrumentasi elektronika fungsional secara berkelompok sebagai solusi atas masalah terapan.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('eeeada73-8522-408f-97aa-1cb8f8e65134', 'b996bbc4-077b-4b3e-be50-266060bad564', 'CPMK-1', 'Mampu merumuskan masalah yang relevan dalam proyek akhir berdasarkan analisis literatur dan kebutuhan industri.', 0.20, '2026-01-16 23:21:14', '2026-01-17 00:49:33', 'CPL-01, CPL-05'), +('ef12fc9c-9eb0-451c-b411-d468a849202a', 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 'CPMK-5', 'Menunjukkan ketelitian, tanggung jawab, dan etika akademik dalam menyelesaikan perhitungan dan tugas teknis.', 0.20, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('ef3a0ccd-f3eb-4f5f-a72b-d4a0fb77c52d', '7ec43900-b6ac-42a4-b3d6-d1b254edc311', 'CPMK-2', 'Mahasiswa mampu memahami dan menerapkan algoritma kriptografi klasik', 0.14, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('ef3ba8fa-04b2-4581-b9f6-2cc138c9852b', '7ec43900-b6ac-42a4-b3d6-d1b254edc311', 'CPMK-5', 'Mahasiswa mampu menjelaskan dan menerapkan fungsi hash dan tanda tangan digital.', 0.14, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('ef58dd56-bcf5-4de3-8119-7f9dbb4d338e', 'ed944acc-fdac-4399-84f4-e0bcebaa0351', 'CPMK-6', 'Menunjukkan sikap profesional dan etis dalam proses perancangan.', 14.28, '2026-01-17 00:59:14', '2026-01-17 00:59:14', ''), +('ef7f81e6-1175-4a8b-9d79-d0aeb02d7cc2', '0375adf6-4cb2-4d27-ae28-061bc9b51795', 'CPMK-2', 'Menerapkan konsep dasar interaktivitas menggunakan JavaScript.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('ef973446-7ff5-45f8-94c6-0075aa98c7f0', 'e69ba894-82ab-4345-b20e-aad1709ee7bf', 'CPMK-8', 'Mahasiswa mampu mengimplementasikan teknik pengkodean citra', 0.11, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('f008db96-9edb-4cbb-9181-05e746ee510e', '40a873e2-6b11-4708-bcb6-7bb94ae3bf0c', 'CPMK-4', 'Melakukan pengujian performa, keamanan, dan reliabilitas perangkat lunak.', 0.17, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('f015983b-976f-4622-9efd-f32fb627eb65', '7d8ce821-3f52-4313-8bf1-d43ac8abc103', 'CPMK-3', 'Mampu menganalisis redaman, dispersi, dan parameter performa pada sistem komunikasi serat optik.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('f0272179-692e-44e7-b68e-ab04d311907b', '5368a6f5-ba60-42e6-848c-ed409d1d327a', 'CPMK-1', 'Mata kuliah ini membahas konsep dan pemrograman PLC, dasar pemrograman MATLAB, serta analisis dan simulasi modulasi. Mahasiswa akan mempelajari arsitektur dan prinsip kerja PLC, pengenalan Zelio Soft 2, dan bahasa pemrograman Ladder Diagram (LD). Praktikum ini juga mencakup simulasi dan debugging program PLC, serta penerapannya pada kendali beban sederhana. Selain itu, mahasiswa akan belajar dasar pemrograman MATLAB, manipulasi matriks, dan visualisasi sinyal. Di bagian analisis modulasi, mahasiswa akan mempelajari simulasi modulasi analog (AM), analisis PSD, serta modulasi digital (QPSK) dan diagram konstelasi.', 16.66, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''), +('f04b783f-ede0-474c-a6c7-9313730e9f26', 'c127b1fb-3fc9-4f73-8a94-080418b1450e', 'CPMK-3', 'Mampu mengenali dan menjelaskan media transmisi, perangkat jaringan, serta karakteristik bandwidth.', 20.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21', ''), +('f070e9c7-f209-4fa7-b474-69119f976b31', 'f6f7c1a6-23c1-44b7-b523-acaff2a89c8c', 'CPMK-6', 'Menunjukkan profesionalisme dan kolaborasi dalam tim MLOps serta memperhatikan etika dan keamanan data', 0.17, '2026-01-16 23:21:09', '2026-01-17 00:49:33', ''), +('f0901b05-282d-4d16-a9d0-306c27a21b31', '54b80847-e1c5-4402-9b4b-18bd2348c227', 'CPMK-1', 'Mahasiswa mampu merancang proposal proyek akhir (Capstone Project)', 0.14, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('f0addc73-37c3-4431-89eb-05672e033f42', '1f893129-5d23-499b-b7aa-46c839e97b2a', 'CPMK-1', 'Menjelaskan konsep pengembangan aplikasi mobile dan framework lintas platform.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('f0c865cb-b74e-4325-8057-8a8a206ba433', '4023e86d-3cf6-4ab9-b013-2b8bc8375c29', 'CPMK-2', 'Mampu menjelaskan konsep dasar elektronika industri dan penerapannya dalam sistem robotika.', 20.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25', ''), +('f0cf0d24-e829-46a4-a551-8ea806a358ff', '14edd272-1d19-4646-b963-6df5b31d4a52', 'CPMK-4', 'Mahasiswa mampu mengintegrasikan sistem utilitas dengan rancangan arsitektur secara fungsional dan estetis.', 0.20, '2026-01-16 22:56:47', '2026-01-17 00:52:38', ''), +('f12fb9a7-69f8-4330-af36-59bdf7f5b6c3', '41ad4d39-fb6b-4d7a-b00b-8ca9a1204bd3', 'CPMK-2', 'Mahasiswa mampu menganalisis penerapan akidah dalam pembentukan akhlak, karakter profesional, dan integritas diri di lingkungan akademik dan sosial.', 0.00, '2026-01-16 22:56:35', '2026-01-17 00:58:07', ''), +('f13b6bd6-b0ef-4e26-b590-12ce619ca024', '8f123fd0-8007-40c9-9a13-0e28f9be5932', 'CPMK-4', 'Merancang prosedur dan sistem K3 di tempat kerja', 0.20, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('f1569b78-e6c0-453d-a8d5-280617349954', 'bdb4c8e8-b5ca-4d3d-926f-125fff9dff19', 'CPMK-5', ',serta mengevaluasi kualitas arsitektur dengan tools modern.', 0.20, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('f1592fd5-dc5a-42ff-9004-27b198861c35', '2b4d6814-0226-4349-9e22-645bb78fcf55', 'CPMK-4', 'Mampu menerapkan etika, keselamatan kerja, dan tanggung jawab sosial dalam praktik teknik serta penelitian.', 20.00, '2026-01-16 22:56:54', '2026-01-17 00:58:29', ''), +('f162c884-fd50-44e4-9468-0f6cfc68edb1', 'dd3cfb97-dca0-419d-9ad9-235f4e91dcba', 'CPMK-2', 'Mampu menjelaskan prinsip dasar pendekatan numerik, galat (error), konvergensi, dan stabilitas metode numerik.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19', ''), +('f1731dad-4014-4a3f-9d5d-67dd1bc6d0f1', '4583364c-1191-46ac-af67-5fd1475a6b8f', 'CPMK-2', 'Mahasiswa mampu menjelasan tentang pengertian Kombinasi Linier, Dimensi dan basis suatu Ruang Vektor.', 0.14, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('f1d53d8a-1730-4acd-a737-7ecb584247a7', 'a9797522-c7e0-4766-845b-d24035c68f96', 'CPMK-4', 'Mahasiswa mampu mengidentifikasi risiko proyek dan merumuskan strategi mitigasi.', 0.20, '2026-01-16 22:56:51', '2026-01-17 00:52:38', ''), +('f1dd2b33-f129-4b95-85d0-44d79ae5ad8f', 'f2424441-6fbc-4788-85af-d4e3317a9c26', 'CPMK-3', 'Mampu menganalisis dan merancang rangkaian pengendalian daya yang melibatkan perangkat elektronika daya untuk aplikasi praktis seperti konversi daya dan pengendalian motor.', 20.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23', ''), +('f1ea00c2-98c9-45b6-9ec9-8e023add1e7f', '9c8516d1-31fd-4a36-ac3a-49787ada8218', 'CPMK-1', 'Mampu menjelaskan tujuan dan mekanisme pelaksanaan KKP-Plus sebagai wahana pemagangan profesi.', 21.43, '2026-01-16 22:56:53', '2026-01-17 00:58:11', ''), +('f1f1837d-9896-4c19-8859-4abe68a6febc', '255aebe2-a27d-4e29-a1f7-41483050dd1e', 'CPMK-6', 'Menunjukkan perilaku etis dan profesional dalam melaksanakan ethical hacking sesuai hukum dan standar industri', 0.17, '2026-01-16 23:21:12', '2026-01-17 00:49:33', ''), +('f1f4a159-f447-4c29-8a60-f9d2ec08e31d', '5b58785e-cbc1-43d8-9e9c-810f25534f0b', 'CPMK-3', 'menganalisis arsitektur CNN, RNN dan Transformer untuk berbagai aplikasi AI', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('f205cfb6-0287-43e0-82a1-08fbbb484ad9', 'a4590f2a-7e2f-45fc-ab6a-99bc2a93588f', 'CPMK-1', 'Menjelaskan konsep dasar dan pentingnya Cyber Threat Intelligence dalam keamanan siber modern.', 0.17, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('f20c6ccc-e853-447b-bafc-c376d6765fcf', '7335b9e6-152a-4d2f-814e-3c2e7e65ca2f', 'CPMK-1', 'Memahami dasar-dasar HTML, CSS, dan JavaScript untuk pengembangan web.', 0.25, '2026-01-16 23:21:02', '2026-01-17 00:49:33', ''), +('f24dd30b-18c0-4c7d-b673-22097784c6a9', '2a1e22f4-5528-4ed1-90d5-cff876c85326', 'CPMK-1', 'Mampu menjelaskan konsep dasar pemrograman web dan arsitektur situs web.', 0.20, '2026-01-16 23:21:00', '2026-01-17 00:49:33', 'CPL-01, CPL-05'), +('f2e382ae-ebc0-42e0-85a8-f7dc20a18266', '539fc417-2c9b-472f-9b0f-445a8b749fc9', 'CPMK-1', 'Mahasiswa mampu memahami sejarah dan perkembangan arsitektur Islam dari masa klasik hingga kontemporer.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('f3078aed-22c2-49f2-826c-a264180a92f2', '9035c0b3-6289-4c2c-ae2d-c0d6a74607be', 'CPMK-5', 'Mampu menyusun laporan teknis dan mempresentasikan konsep dan rancang bangun IoT secara profesional.', 20.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22', ''), +('f30f9eb0-f70d-49a7-a806-5d31c0b74934', 'f8832929-41c0-411b-9498-ad69856e6af7', 'CPMK-3', 'Mahasiswa mampu mengembangkan rancangan ruang yang responsif terhadap kebutuhan fisik, sosial, psikologis, dan budaya pengguna.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('f3139063-0676-4c4d-9ab2-7ed95bd89482', '112b7cf2-b8cc-4b17-bc36-edd12049a4f5', 'CPMK-2', 'Merancang skema basis data menggunakan model relasional.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('f37fc2bf-9f8a-44e2-99d4-321d1b901658', '1d80cecb-e4ff-4ffe-aa8e-c9ecd2ab4515', 'CPMK-4', 'Mampu menjelaskan prinsip dan algoritma pengkodean sumber dan kanal.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('f41d52ee-0430-4393-a073-15d646a5c563', '127aa76f-a30c-4598-ba43-1c212e1932b5', 'CPMK-1', 'Menjelaskan prinsip desain sistem berskala besar dan karakteristik scalable architecture.', 0.14, '2026-01-16 23:21:10', '2026-01-17 00:49:33', ''), +('f42141c8-003c-43e6-9def-ab140be75693', 'cf549c6e-bc2b-44f0-80c0-3c17518e3b95', 'CPMK-1', 'Mata kuliah ini membahas konsep dan prinsip dasar sistem kontrol, pemodelan matematis sistem dinamik, analisis respon waktu, kestabilan sistem, dan pengenalan perancangan sistem kontrol sederhana untuk aplikasi teknik elektro.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('f44ea098-001e-4872-b705-266739e66eb7', '73beca28-8a3d-43ff-997e-2a26548d63ee', 'CPMK-4', 'Mahasiswa mampu menghasilkan dokumen gambar kerja dan presentasi arsitektur berbasis digital sesuai standar teknis.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('f490c641-d399-4a37-aa9a-a390ed6c5c52', 'bc9474a0-d6b1-4785-a0a0-9fb9bac6f6b1', 'CPMK-6', 'Menunjukkan tanggung jawab dan kolaborasi dalam pengembangan proyek cloud-native', 0.17, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('f4ff0118-28ef-40d6-b180-b1a073a99e42', 'fdef83bb-0100-4b6c-bf59-d4327e6542bf', 'CPMK-3', 'Mahasiswa dapat memahami dan menjelaskan tentang Notasi Asimptotik, Teorema Asimptotik, dan Kelas-Kelas Efisiensi Dasar', 0.25, '2026-01-16 23:21:04', '2026-01-17 00:49:33', ''), +('f54de24d-6aea-410e-a83f-549bb04a67a3', '8d797bee-168e-4e11-beba-9f3b587f7267', 'CPMK-5', 'Mampu melakukan pengukuran, simulasi, dan evaluasi performa sinyal nirkabel menggunakan alat ukur dan perangkat lunak yang relevan.', 20.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27', ''), +('f556dab1-731b-46ff-a996-159473fe451b', 'be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 'CPMK-3', 'Mampu menerapkan teknik dan metodologi desain yang sesuai untuk menyelesaikan proyek capstone.', 21.43, '2026-01-17 00:58:39', '2026-01-17 00:58:39', 'CPL-02, CPL-04, CPL-05'), +('f55d68ff-36e0-44e6-9028-e4a0f85096a7', 'bc9474a0-d6b1-4785-a0a0-9fb9bac6f6b1', 'CPMK-4', 'Mengelola container menggunakan Kubernetes', 0.17, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('f55edd99-fade-4ab5-bea6-f4b77bbb8bf2', '0671a043-7c73-4101-b030-baa3d4609c3e', 'CPMK-1', 'Menjelaskan konsep dasar digital forensics dan siklus respons insiden.', 0.17, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('f5badad3-824f-4eeb-aaee-1f6dce6aef8c', '47d4a2b5-492d-47a1-acc7-90919054c72e', 'CPMK-4', 'Mampu menyelesaikan perhitungan fungsi kompleks dan eksponensial kompleks serta menerapkannya pada perhitungan teknik sederhana.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14', ''), +('f613c7d9-d49d-4ae0-b150-8c43c517787d', 'a4590f2a-7e2f-45fc-ab6a-99bc2a93588f', 'CPMK-2', 'Mengidentifikasi dan mengelompokkan jenis-jenis ancaman siber (malware, phishing, APT, ransomware).', 0.17, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('f62162be-a674-459d-af35-f0816f34460c', '7d8ce821-3f52-4313-8bf1-d43ac8abc103', 'CPMK-5', 'Mampu merancang sistem komunikasi serat optik sederhana berdasarkan spesifikasi teknis yang diberikan.', 20.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('f6471973-5087-4cd8-bba0-b34bf6cfe362', '4acf9737-d545-4eb5-b80a-98178b9c9009', 'CPMK-3', 'menganalisis proses geologi (vulkanisme, tektonik, pelapukan, erosi, sedimentasi) dan mendeksripsikan bentuklahan (geomorfologi) serta implikasinya terhadap lingkungan dan pembangunan', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('f6bbe62e-9acc-45a9-86d0-f9a308705cb4', 'e69ba894-82ab-4345-b20e-aad1709ee7bf', 'CPMK-2', 'Mahasiswa mampu menjelasan tentang konsep dasar citra digital.', 0.11, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('f6c5aace-244d-4449-bee7-7efd35e7cd4f', 'fc5285d1-6d74-447c-91ad-34144ba5b289', 'CPMK-1', 'Mata kuliah ini memberikan pemahaman komprehensif mengenai prinsip dasar dan komponen yang membentuk sebuah sistem instrumentasi elektronika. Topik utama meliputi pengantar instrumentasi, karakteristik dan jenis-jenis sensor/transduser, teknik pengkondisian sinyal (penguatan, filtering, linearisasi), sistem akuisisi data (ADC/DAC), antarmuka mikrokontroler, serta visualisasi dan transmisi data. Pembelajaran akan diakhiri dengan perancangan dan implementasi proyek sistem instrumentasi terapan.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('f75a4fbd-9750-46ee-8250-16b44e453fd2', '2d60d13b-a014-432b-ac80-921ffa8a3be8', 'CPMK-1', 'Mata kuliah ini membahas prinsip dan metode perancangan sistem kontrol berbasis ruang keadaan, termasuk analisis kendali optimal, observer, serta penerapan sistem kontrol digital dan adaptif menggunakan perangkat lunak simulasi modern.', 20.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24', ''), +('f786eb5e-0737-4688-a171-7dd00d6b9f67', '4b816454-ee6c-4935-aba8-7212ec152ee3', 'CPMK-4', 'Mampu menganalisis dan membandingkan hasil perhitungan integral dan diferensial dengan pendekatan numerik.', 21.43, '2026-01-17 00:58:37', '2026-01-17 00:58:37', 'CPL-01, CPL-04'), +('f79800c1-a9b6-4390-a84b-bb357833f4fd', '58a2946b-86ee-43bf-a768-e0e5693bdb03', 'CPMK-3', 'Menjelaskan prinsip dasar kewirausahaan dan inovasi.', 20.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('f7a1a532-09d1-434c-96e8-bd2f85984848', '3cf978b3-53c6-4b52-85b3-950a31fcfdae', 'CPMK-1', 'Mampu mengidentifikasi dan menjelaskan konsep dasar KKP-Plus dalam konteks pembelajaran.', 21.43, '2026-01-16 22:56:54', '2026-01-17 00:58:11', 'CPL-04, CPL-03'), +('f7b368cc-7fde-4714-9004-d7e1814f8242', 'e0ff767f-6980-4036-868d-6b4ce30c741e', 'CPMK-3', 'Mahasiswa mampu menunjukkan sikap etis, empatik, dan bertanggung jawab dalam memahami keragaman sosial.', 0.25, '2026-01-16 22:56:41', '2026-01-17 00:52:38', ''), +('f8153dfe-030d-4a2a-8c3b-e650da34b9dc', '14db19d8-2f5c-4f53-b68d-53e65a32f898', 'CPMK-3', 'Mengimplementasikan pemrosesan batch dan stream menggunakan Apache Spark dan Kafka.', 0.14, '2026-01-16 23:21:06', '2026-01-17 00:49:33', ''), +('f8201506-e9d4-47cf-bbf2-b084b0d90cb8', 'c6970f8e-a4ac-480a-b232-a45a42976f8e', 'CPMK-4', 'Mampu menjelaskan konsep larutan elektrolit, pH, reaksi redoks, dan penerapannya dalam elektrokimia (mis. baterai, korosi).', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('f89f772f-c1a3-4dbc-9368-c0d2e9a83416', '233c8ab5-e116-443a-9610-55ad8a1c46ae', 'CPMK-4', 'Menggunakan internet, mesin pencari, email, dan platform digital secara efektif serta memahami etika digital, keamanan siber dasar, dan penggunaan teknologi secara bertanggung jawab', 25.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('f8ade799-dbf4-40e8-94f8-560cd1c6b086', '86dccf89-001f-40b2-8396-3df88537c00f', 'CPMK-4', 'Mengimplementasikan kontrol keamanan seperti IAM dan enkripsi.', 0.14, '2026-01-16 23:21:11', '2026-01-17 00:49:33', ''), +('f8ea79d0-4330-4caa-8343-3313f1f2fd97', '69a951bb-9cfb-45ac-9398-4b39daae89bd', 'CPMK-1', 'Menjelaskan konsep dasar penelitian ilmiah', 16.66, '2026-01-16 22:56:37', '2026-01-17 00:58:09', ''), +('f8f1252d-2700-49c2-b8b4-902edeb37c14', '8a1393c5-895f-4aca-ac56-495e43f660bb', 'CPMK-2', 'Menerapkan prinsip-prinsip Al Islam dan Kemuhammadiyahan dalam pengambilan keputusan etis.', 21.43, '2026-01-16 22:56:55', '2026-01-17 00:58:38', 'CPL-10, CPL-09'), +('f91f6d20-fe55-49b0-b9d6-97fefcc8f75a', '18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 'CPMK-4', 'Membuat rekomendasi strategis untuk penggunaan AI yang sesuai dengan prinsip-prinsip Islam.', 21.43, '2026-01-16 22:56:38', '2026-01-17 00:58:09', 'CPL-01, CPL-04'), +('f952aea8-727f-4ae1-b254-55079d5e87c1', '5c71aa6a-f3d9-4ecc-b7c9-f9739fd5d117', 'CPMK-1', 'Menjelaskan konsep, prinsip, dan tujuan arsitektur hijau dalam konteks pembangunan berkelanjutan.', 0.20, '2026-01-16 22:56:45', '2026-01-17 00:52:38', ''), +('f966bb04-c624-4d07-99af-efd53db9a46b', '71716d40-936e-436a-88c3-28df37794b3a', 'CPMK-5', 'Mampu merancang konsep sistem komunikasi satelit end-to-end serta menggunakan perangkat simulasi untuk mengevaluasi kinerjanya.', 14.29, '2026-01-17 00:58:34', '2026-01-17 00:58:34', ''), +('f9ba2df8-0936-4bd1-ae0a-22f7bed7cbf9', '58a2946b-86ee-43bf-a768-e0e5693bdb03', 'CPMK-5', 'Mempresentasikan rencana bisnis dan kepemimpinan tim secara profesional', 20.00, '2026-01-16 22:56:51', '2026-01-17 00:58:10', ''), +('f9c03765-57b8-497e-a515-369b78f0f1b3', 'b0d71fa7-483d-41b4-b8b6-f111d8601ba1', 'CPMK-6', 'Mahasiswa dapat memahami vocabulary bahasa inggris di bidang teknik', 14.28, '2026-01-16 22:56:35', '2026-01-17 00:58:08', ''), +('fa058e7d-1643-43ab-a163-63399cc715d1', '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 'CPMK-5', 'Mampu menyusun argumen yang koheren dan logis mengenai isu-isu terkini dalam kajian AIK.', 14.29, '2026-01-16 22:56:36', '2026-01-17 00:58:08', 'CPL-04, CPL-03'), +('fa18f474-a195-4514-b109-0df29d4852b7', '5368a6f5-ba60-42e6-848c-ed409d1d327a', 'CPMK-2', 'Mampu memahami arsitektur dan prinsip kerja Programmable Logic Controller (PLC) dan mengoperasikan software pemrograman (Zelio Soft 2).', 16.66, '2026-01-17 00:58:36', '2026-01-17 00:58:36', ''), +('fa2688f9-f668-4ff0-8d67-7203e2fae65c', 'be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 'CPMK-4', 'Mampu mengevaluasi dan merevisi desain berdasarkan umpan balik dan analisis kritis.', 21.43, '2026-01-17 00:58:39', '2026-01-17 00:58:39', 'CPL-02, CPL-04'), +('fa6fe10b-a82b-4dd9-b81f-fc803608e4ab', '665b5754-34f9-4794-8aff-4a493a7d702a', 'CPMK-2', 'Mahasiswa mampu mengidentifikasi elemen-elemen pembentuk estetika bentuk arsitektur.', 0.20, '2026-01-16 22:56:42', '2026-01-17 00:52:38', ''), +('fa7ec9e6-aa8e-4220-a4bd-0065045c46d1', '1fbe70aa-c19c-4076-9045-ffd606b71b01', 'CPMK-3', 'Mahasiswa mampu menerapkan prinsip desain inklusif pada perancangan bangunan dan lingkungan binaan sesuai standar aksesibilitas.', 0.20, '2026-01-16 22:56:48', '2026-01-17 00:52:38', ''), +('fa8f0535-0319-4d78-a5c0-7f37f2b0f4a6', 'bfed3b3c-17cc-4fe5-b044-2165e9e0af14', 'CPMK-1', 'Menjelaskan konsep dasar matematika yang relevan untuk AI: aljabar linear, kalkulus, dan probabilitas.', 0.14, '2026-01-16 23:21:07', '2026-01-17 00:49:33', ''), +('fb8b530c-6c46-4539-a24c-7c9f51d6eebf', '3f777130-87d1-459e-9a33-6af03d1b9ed5', 'CPMK-5', 'Mahasiswa mampu menyajikan proposal penelitian dalam bentuk presentasi yang komunikatif dan profesional.', 14.29, '2026-01-16 22:56:50', '2026-01-17 00:58:10', ''), +('fbcafb4c-4939-4186-bcaa-156f5de14207', '6f7a91bc-8054-45d6-ac08-84f31ec6b0d8', 'CPMK-4', 'Mampu menerapkan metode AI/ML untuk optimasi parameter sistem seperti daya, kanal, modulasi, dan QoS.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''), +('fbd4641f-d9b4-4420-8550-00e7203b2470', '1587fade-3952-4c21-95da-050058151ce1', 'CPMK-2', 'menganalisis stabilitas lereng menggunakan metode keseimbangan batas (Fellenius, Bishop, Janbu) dan menentukan faktor keamanan pada berbagai kondisi geometri, jenis tanah, dan muka air tanah', 20.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13', ''), +('fc015a1a-d876-4f1f-894f-51429bbd4b02', 'ea3e9e48-2f65-4f9c-945d-39875184582f', 'CPMK-1', 'Memahami dasar-dasar algoritma dan pemrograman menggunakan Java.', 0.25, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('fc5d531d-8b1e-4ad1-bf59-d93a8c0bd847', 'bdb4c8e8-b5ca-4d3d-926f-125fff9dff19', 'CPMK-3', 'merancang arsitektur dengan design pattern`', 0.20, '2026-01-16 23:21:08', '2026-01-17 00:49:33', ''), +('fca1a4a2-36ab-4b25-a508-0dcf7e6ef196', '7efb0e90-2bee-4647-8438-88bd0aebaa96', 'CPMK-5', 'Mampu membuat, menguji, dan mengevaluasi prototipe sistem elektronika berdasarkan standar rekayasa, serta menyusun dokumentasi teknis yang sistematis.', 20.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26', ''), +('fd4dee7f-2713-4344-89e2-c497c18e4828', '06d52fc1-a1fb-455c-b5dd-a89ec654f8a9', 'CPMK-2', 'Mampu mengklasifikasikan jenis-jenis sinyal dan sistem berdasarkan sifat waktu, linearitas, dan kestasionerannya.', 20.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17', ''), +('fddaeab0-a4af-4295-a3d1-37bf6df6b699', '4583364c-1191-46ac-af67-5fd1475a6b8f', 'CPMK-4', 'Mahasiswa mampu menjelaskan tentang determinan orde dua dan tiga, serta sifat ΓÇô sifat determinan minor / kofaktor.', 0.14, '2026-01-16 23:20:59', '2026-01-17 00:49:33', ''), +('fdf3913e-2fd7-4851-a1e8-a5bd811eb426', 'b8736e55-fb84-4f81-81b9-83adeca227b0', 'CPMK-3', 'Menghitung usaha, energi kinetik, energi potensial, dan penerapannya.', 20.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09', ''), +('fe4ceef3-0653-4719-97f5-cc444a5b28ab', '33fc18df-fd5b-45c5-9893-71f90e37ba61', 'CPMK-5', 'Mahasiswa mampu mengetahui┬á dan memahami software development life cycle', 0.09, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''); +INSERT INTO `cpmk` (`id`, `id_mk`, `kode_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`, `matched_cpl`) VALUES +('fe655fbf-ae67-4187-8cb2-ea40b895dc08', '3cc4949f-9540-4bd9-a451-594e0793c7f0', 'CPMK-3', 'Melakukan evaluasi antarmuka menggunakan metode evaluasi IMK.', 0.25, '2026-01-16 23:21:01', '2026-01-17 00:49:33', ''), +('fe78ffef-ab3d-44c1-aacd-7c9b0a6a10f2', '7d918e6b-7ec8-4127-a1a9-833e4cefc476', 'CPMK-4', 'Mengevaluasi performa algoritma berdasarkan kompleksitas waktu dan ruang.', 0.25, '2026-01-16 23:21:00', '2026-01-17 00:49:33', ''), +('fe975734-9f4d-412f-b8f6-30a3efdf1dba', '05c4ac5d-16dd-4458-bfba-1433b9779853', 'CPMK-1', 'Mata kuliah Saluran Transmisi membahas prinsip dasar dan karakteristik propagasi gelombang elektromagnetik pada media transmisi seperti kabel koaksial, saluran pasangan berpilin (twisted pair), dan saluran gelombang mikro. Mahasiswa mempelajari konsep impedansi karakteristik, refleksi, VSWR, atenuasi, dan matching, serta penggunaan alat bantu simulasi dan pengukuran (misal: Smith Chart, VNA, MATLAB, ADS, atau CST). Praktikum dan simulasi diarahkan untuk memberikan pemahaman menyeluruh terhadap teori dan penerapan saluran transmisi dalam sistem komunikasi modern.', 20.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28', ''), +('fea5e4c5-b671-4a16-9a51-5eabe3729e14', '5c6642c5-96f0-4cb7-b59e-d21a58defcad', 'CPMK-3', 'Mampu mengevaluasi sumber-sumber informasi yang relevan dalam kajian AIK secara kritis.', 21.43, '2026-01-16 22:56:36', '2026-01-17 00:58:08', 'CPL-01'), +('feb53413-8722-4da3-ab81-f6a47484900b', 'a4590f2a-7e2f-45fc-ab6a-99bc2a93588f', 'CPMK-5', 'Menyusun laporan intelijen ancaman yang sesuai standar (STIX/TAXII, Mitre ATT&CK framework).', 0.17, '2026-01-16 23:21:13', '2026-01-17 00:49:33', ''), +('ff019258-ef6f-47c5-87f3-34913105970c', '7c701b31-82ce-4116-9def-6b17591ec26f', 'CPMK-1', 'Mata kuliah ini membahas prinsip dasar elektronika analog yang meliputi karakteristik dan aplikasi komponen aktif dan pasif seperti dioda, transistor BJT, MOSFET, rangkaian penguat, biasing transistor, penguat multi-tahap, analisis frekuensi, dan penguat operasional. Mahasiswa diperkenalkan pada teknik analisis rangkaian, simulasi menggunakan perangkat lunak, serta pengukuran menggunakan instrumen laboratorium untuk memahami kinerja sistem elektronika sederhana hingga tingkat menengah.', 20.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20', ''), +('ff02a8c0-7041-4fab-aee0-9da1f75e6255', '515014e1-6438-408e-990f-e286b2ed75c3', 'CPMK-5', 'Mahasiswa mampu menunjukkan sikap kepemimpinan, kerja tim, komunikasi, dan inovasi.', 20.00, '2026-01-16 22:56:37', '2026-01-17 00:58:09', ''), +('ff13aa98-063f-4cac-ba57-23bcf050638e', 'e80b63ba-8556-4a1b-a9ac-45e346bea6b3', 'CPMK-5', 'Menyusun laporan hasil pengukuran dan pemetaan topografi.', 20.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10', ''), +('ff5c1ce0-ca9f-474e-87bb-d31878e1251a', 'e69ba894-82ab-4345-b20e-aad1709ee7bf', 'CPMK-5', 'Mahasiswa mampu menjelaskan tentang peningkatan mutu citra', 0.11, '2026-01-16 23:21:03', '2026-01-17 00:49:33', ''), +('ffd93474-1075-449c-8875-dc463ed66981', '1d80cecb-e4ff-4ffe-aa8e-c9ecd2ab4515', 'CPMK-3', 'Mampu menganalisis efisiensi transmisi menggunakan parameter entropi dan mutual information.', 20.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35', ''); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `konsentrasi` +-- + +CREATE TABLE `konsentrasi` ( + `id_konsentrasi` bigint(20) UNSIGNED NOT NULL, + `id_prodi` bigint(20) UNSIGNED NOT NULL, + `nama_konsentrasi` varchar(100) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `mahasiswa` +-- + +CREATE TABLE `mahasiswa` ( + `id_mhs` bigint(20) UNSIGNED NOT NULL, + `id_prodi` bigint(20) UNSIGNED NOT NULL, + `id_konsentrasi` bigint(20) UNSIGNED DEFAULT NULL, + `nim` varchar(30) NOT NULL, + `nama` varchar(200) NOT NULL, + `angkatan` int(11) NOT NULL, + `status` varchar(20) NOT NULL DEFAULT 'aktif' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `mahasiswa` +-- + +INSERT INTO `mahasiswa` (`id_mhs`, `id_prodi`, `id_konsentrasi`, `nim`, `nama`, `angkatan`, `status`) VALUES +(1, 3, NULL, '105841123822', 'Guntur Utami', 2022, 'AKTIF'), +(2, 3, NULL, '105841100422', 'Eko Susanto', 2022, 'AKTIF'), +(3, 3, NULL, '105841122722', 'Hendra Prasetyo', 2022, 'AKTIF'), +(4, 3, NULL, '105841151722', 'Budi Nugraha', 2022, 'AKTIF'), +(5, 3, NULL, '105841198222', 'Ika Gunawan', 2022, 'AKTIF'), +(6, 3, NULL, '105841134522', 'Siti Hidayat', 2022, 'AKTIF'), +(7, 3, NULL, '105841167122', 'Andi Pratama', 2022, 'AKTIF'), +(8, 3, NULL, '105841189022', 'Rina Lestari', 2022, 'AKTIF'), +(9, 3, NULL, '105841112322', 'Dedi Aminah', 2022, 'AKTIF'), +(10, 3, NULL, '105841145622', 'Maya Wijaya', 2022, 'AKTIF'), +(11, 3, NULL, '105841178922', 'Rizky Amelia', 2022, 'AKTIF'), +(12, 3, NULL, '105841121022', 'Laila Kurniawan', 2022, 'AKTIF'), +(13, 3, NULL, '105841154322', 'Fajar Saputri', 2022, 'AKTIF'), +(14, 3, NULL, '105841187622', 'Hendra Sari', 2022, 'AKTIF'), +(15, 3, NULL, '105841110922', 'Ahmad Nugraha', 2022, 'AKTIF'), +(16, 3, NULL, '105841143222', 'Zaskia Gunawan', 2022, 'AKTIF'), +(17, 3, NULL, '105841176522', 'Dewi Fikri', 2022, 'AKTIF'), +(18, 3, NULL, '105841109822', 'Eko Putri', 2022, 'AKTIF'), +(19, 3, NULL, '105841132122', 'Fitri Lestari', 2022, 'AKTIF'), +(20, 3, NULL, '105841165422', 'Guntur Susanto', 2022, 'AKTIF'), +(21, 3, NULL, '105841110523', 'Guntur Amelia', 2023, 'AKTIF'), +(22, 3, NULL, '105841180923', 'Hendra Santoso', 2023, 'AKTIF'), +(23, 3, NULL, '105841176923', 'Dedi Prasetyo', 2023, 'AKTIF'), +(24, 3, NULL, '105841130123', 'Rina Setyawati', 2023, 'AKTIF'), +(25, 3, NULL, '105841128623', 'Rina Nugraha', 2023, 'AKTIF'), +(26, 3, NULL, '105841141223', 'Andi Fikri', 2023, 'AKTIF'), +(27, 3, NULL, '105841151323', 'Siti Putri', 2023, 'AKTIF'), +(28, 3, NULL, '105841161423', 'Budi Lestari', 2023, 'AKTIF'), +(29, 3, NULL, '105841171523', 'Andi Susanto', 2023, 'AKTIF'), +(30, 3, NULL, '105841181623', 'Rina Rahayu', 2023, 'AKTIF'), +(31, 3, NULL, '105841191723', 'Dedi Wibowo', 2023, 'AKTIF'), +(32, 3, NULL, '105841111823', 'Maya Setyawati', 2023, 'AKTIF'), +(33, 3, NULL, '105841121923', 'Rizky Prasetyo', 2023, 'AKTIF'), +(34, 3, NULL, '105841132023', 'Laila Utami', 2023, 'AKTIF'), +(35, 3, NULL, '105841142123', 'Fajar Hidayat', 2023, 'AKTIF'), +(36, 3, NULL, '105841152223', 'Hendra Santoso', 2023, 'AKTIF'), +(37, 3, NULL, '105841162323', 'Ahmad Aminah', 2023, 'AKTIF'), +(38, 3, NULL, '105841172423', 'Zaskia Wijaya', 2023, 'AKTIF'), +(39, 3, NULL, '105841182523', 'Dewi Amelia', 2023, 'AKTIF'), +(40, 3, NULL, '105841192623', 'Eko Kurniawan', 2023, 'AKTIF'), +(41, 3, NULL, '105841112724', 'Rizky Kurniawan', 2024, 'AKTIF'), +(42, 3, NULL, '105841177724', 'Rizky Wibowo', 2024, 'AKTIF'), +(43, 3, NULL, '105841130224', 'Fitri Fikri', 2024, 'AKTIF'), +(44, 3, NULL, '105841140524', 'Ika Saputri', 2024, 'AKTIF'), +(45, 3, NULL, '105841118924', 'Rina Nugraha', 2024, 'AKTIF'), +(46, 3, NULL, '105841121024', 'Andi Santoso', 2024, 'AKTIF'), +(47, 3, NULL, '105841131124', 'Siti Aminah', 2024, 'AKTIF'), +(48, 3, NULL, '105841141224', 'Budi Wijaya', 2024, 'AKTIF'), +(49, 3, NULL, '105841151324', 'Andi Amelia', 2024, 'AKTIF'), +(50, 3, NULL, '105841161424', 'Rina Kurniawan', 2024, 'AKTIF'), +(51, 3, NULL, '105841171524', 'Dedi Saputri', 2024, 'AKTIF'), +(52, 3, NULL, '105841181624', 'Maya Sari', 2024, 'AKTIF'), +(53, 3, NULL, '105841191724', 'Rizky Nugraha', 2024, 'AKTIF'), +(54, 3, NULL, '105841111824', 'Laila Gunawan', 2024, 'AKTIF'), +(55, 3, NULL, '105841121924', 'Fajar Fikri', 2024, 'AKTIF'), +(56, 3, NULL, '105841132024', 'Hendra Putri', 2024, 'AKTIF'), +(57, 3, NULL, '105841142124', 'Ahmad Lestari', 2024, 'AKTIF'), +(58, 3, NULL, '105841152224', 'Zaskia Susanto', 2024, 'AKTIF'), +(59, 3, NULL, '105841162324', 'Dewi Rahayu', 2024, 'AKTIF'), +(60, 3, NULL, '105841172424', 'Eko Wibowo', 2024, 'AKTIF'), +(10000, 1, NULL, '1059034322', 'bagus', 2022, 'AKTIF'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `mk` +-- + +CREATE TABLE `mk` ( + `id` char(36) NOT NULL, + `id_prodi` bigint(20) UNSIGNED DEFAULT NULL, + `kode_mk` varchar(20) NOT NULL, + `nama_mk` varchar(255) NOT NULL, + `sks` int(11) DEFAULT 0, + `semester` int(11) DEFAULT 0, + `deskripsi` text DEFAULT NULL, + `is_active` tinyint(1) DEFAULT 1, + `created_at` timestamp NULL DEFAULT current_timestamp(), + `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Dumping data for table `mk` +-- + +INSERT INTO `mk` (`id`, `id_prodi`, `kode_mk`, `nama_mk`, `sks`, `semester`, `deskripsi`, `is_active`, `created_at`, `updated_at`) VALUES +('00a82311-cd30-46ff-ac59-f6280a6e6f3b', 5, 'CW6552022105', 'Pengantar Sains dan Informatika', 2, 1, '', 1, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('010163aa-d159-4aa5-aa52-b803e8192392', 5, 'CW6552021437', 'Praktikum Pemrograman WEB', 1, 4, '', 1, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('024d3e76-0845-4ebb-a000-ad72db9eccb3', 2, 'BW6044705', 'Kuliah Kerja Profesi Plus (KKP-Plus)', 4, 7, '', 1, '2026-01-16 22:56:35', '2026-01-17 00:59:04'), +('0375adf6-4cb2-4d27-ae28-061bc9b51795', 5, 'CW6552022212', 'Dasar Pemrograman Web', 2, 2, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('03f5fe59-806c-4f28-842f-643d9654c781', 5, 'CW6552022558', 'Ethical Hacking and Penetration Testing I', 2, 5, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('0426a4d1-85a6-48bc-96dd-4f3c974761aa', 5, 'CW6552022214', 'Konsep Teknologi Informasi', 2, 2, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('0508404c-ca6b-4f0b-b7d1-a15b8eab9d52', 5, 'CW6552021667', 'Praktikum Deep Learning and Neural Networks', 1, 6, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('058cffc9-d74d-471f-936d-1d58853f99de', 2, 'AW60910042206', 'AIK II (Peng. Studi Islam & Kemuh. 2)', 2, 2, '', 1, '2026-01-16 22:56:35', '2026-01-17 00:59:04'), +('05c4ac5d-16dd-4458-bfba-1433b9779853', 1, 'CW62020135007T', 'Saluran Transmisi', 3, 5, '', 1, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('062789e7-049e-4d8e-9a74-fa050c4d4a62', 2, 'AW60910042101', 'Pancasila', 2, 1, '', 1, '2026-01-16 22:56:35', '2026-01-17 00:59:04'), +('0671a043-7c73-4101-b030-baa3d4609c3e', 5, 'CW6552022684', 'Digital Forensics and Incident Response', 2, 6, '', 1, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 3, 'CW6232014801', 'Laboratorium Tugas Akhir', 4, 8, '', 1, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('06d52fc1-a1fb-455c-b5dd-a89ec654f8a9', 1, 'CW6202013319', 'Sinyal dan Sistem', 3, 3, '', 1, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('07bd02d2-62ad-44b6-9b14-ec41ec3401af', 5, 'CW6552021672', 'Praktikum Natural Language Processing (NLP)', 1, 6, '', 1, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('0c37b249-c21b-454a-871e-f6afb0fa9447', 5, 'CW6552020326', 'Praktikum Jaringan Komputer', 1, 3, '', 1, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('0d0a669a-7571-4abf-93e0-a36fc3a324f0', 3, 'CW6232013403', 'Perancangan Ruang Dalam', 3, 4, '', 1, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('0d90c7f0-af81-4b0a-9a50-1467d4617a98', 1, 'CW62020135004EK', 'Elektronika Telekomunikasi', 3, 5, '', 1, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('0db07feb-d6da-4542-a6b4-304119e1bedf', 5, 'CW6552021675', 'Praktikum Microservices: Design and Implementation', 1, 6, '', 1, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('0e792536-9f4b-4e87-ad13-403d4feed76b', 2, 'AW60910042103', 'Bahasa Indonesia', 2, 1, '', 1, '2026-01-16 22:56:35', '2026-01-17 00:59:04'), +('0f73ece5-1a7d-4a9f-adb8-3b738ce322b5', 5, 'CW6552022671', 'Natural Language Processing (NLP)', 2, 6, '', 1, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('112b7cf2-b8cc-4b17-bc36-edd12049a4f5', 5, 'CW6552022319', 'Sistem Basis Data Relasional', 2, 3, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('11987187-2fc3-48d5-9f09-12e6310d35e5', 1, 'CW6202013205', 'Aljabar Linear', 3, 2, '', 1, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('127aa76f-a30c-4598-ba43-1c212e1932b5', 5, 'CW6552022678', 'Scalable Systems Design', 2, 6, '', 1, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('144da052-f49b-4f8f-808e-970811d759cd', 2, 'CW6220202303', 'Fisika II', 3, 2, '', 1, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('14db19d8-2f5c-4f53-b68d-53e65a32f898', 5, 'CW6552022548', 'Data Engineering and Big Data Systems', 2, 5, '', 1, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('14edd272-1d19-4646-b963-6df5b31d4a52', 3, 'CW6232013406', 'Utilitas Bangunan', 3, 4, '', 1, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('150dfc2a-ef1f-4753-b044-24d32ea5aa63', 2, 'BW6046701', 'Tugas Akhir', 0, 7, '', 1, '2026-01-16 22:56:52', '2026-01-17 00:59:15'), +('1587fade-3952-4c21-95da-050058151ce1', 2, 'CW6222022509', 'Mekanika Tanah II', 2, 5, '', 1, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('162b0138-4e60-4567-a56a-17cddc27ed92', 2, 'BW6042501', 'Etika Profesi Perencanaan', 0, 5, '', 1, '2026-01-16 22:56:52', '2026-01-17 00:59:15'), +('170d427a-0030-47ed-9d6d-e653e8f19be4', 1, 'CW6202012213', 'Rangkaian logika', 2, 2, '', 1, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('18ea0402-3c11-483a-a40a-2e03fddf7bea', 3, 'CW6232012102', 'Perkembangan Arsitektur 1 (Umum)', 2, 1, '', 1, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('18fe1346-0bd9-4bc6-97f0-2e2f180e46ac', 2, 'AW60910040511', 'Komprehensif AIK', 0, 5, '', 1, '2026-01-16 22:56:38', '2026-01-17 00:59:05'), +('1a55adb5-cfea-4e52-be90-891d6be6aff0', 3, 'CW6232013307', 'Fisika Bangunan', 3, 3, '', 1, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('1afb1d0b-210e-4468-80fa-a91f11e7e0a2', 5, 'CW6552022674', 'Microservices: Design and Implementation', 2, 6, '', 1, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('1c5fec35-9053-40a5-9130-ad3a37b5a249', 5, 'CW6552022543', 'Teori Bahasa dan Otomata', 2, 5, '', 1, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('1d80cecb-e4ff-4ffe-aa8e-c9ecd2ab4515', 1, 'CW62020136013T', 'Teori Informasi dan Pengkodean', 2, 6, '', 1, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('1f893129-5d23-499b-b7aa-46c839e97b2a', 5, 'CW6552021681', 'Praktikum Mobile and Cross-Platform Development', 1, 6, '', 1, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('1fbe70aa-c19c-4076-9045-ffd606b71b01', 3, 'CP6232012503', 'Arsitektur Inklusif (Pilihan)', 2, 5, '', 1, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('2134a8cd-14cd-4be1-b213-3fd75f7c85ac', 2, 'BW6042603', 'Kepemimpinan dan Kewirausahaan', 2, 6, '', 1, '2026-01-16 22:56:51', '2026-01-17 00:59:08'), +('23115d0f-eec7-438c-b2ac-9a17e1c601b2', 1, 'CW62020135001EK', 'Arsitektur dan Organisasi Komputer', 3, 5, '', 1, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('232eebe0-9a79-4c38-abc2-30b4af9f865b', 5, 'CW6552022211', 'Organisasi dan Arsitektur Komputer (OSK)', 2, 2, '', 1, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('233c8ab5-e116-443a-9610-55ad8a1c46ae', 2, 'CW6220202102', 'Komputer 1', 2, 1, '', 1, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('2558fa96-0c5b-483b-9544-0b66c31356db', 5, 'CW6552022553', 'DevOps and CI/CD Pipelines', 2, 5, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('255aebe2-a27d-4e29-a1f7-41483050dd1e', 5, 'CW6552022687', 'Ethical Hacking and Penetration Testing II', 2, 6, '', 1, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('28a4f6b3-52de-4eaa-a3af-597f56d37351', 5, 'CW6552022103', 'Dasar Algoritma & Pemrograman', 2, 1, '', 1, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('2a1e22f4-5528-4ed1-90d5-cff876c85326', 5, 'CW6552021213', 'Praktikum Dasar Pemrograman Web', 1, 2, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('2aaaf8e5-a8c5-4a4f-8a1b-1f977c1dfa75', 1, 'CW6202013320', 'Sistem Komunikasi', 3, 3, '', 1, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('2b4d6814-0226-4349-9e22-645bb78fcf55', 2, 'BW6042602', 'Etika Profesi', 2, 6, '', 1, '2026-01-16 22:56:54', '2026-01-17 00:59:16'), +('2b7c4249-f21c-49dc-ab6a-5ef71f3d76c7', 3, 'CW6232012305', 'Perancangan Arsitektur Islam', 3, 3, '', 1, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('2c23ca53-f3be-414c-976e-b30089d22f50', 1, 'CW6202013315', 'Probabilistik dan Statistik', 3, 2, '', 1, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('2d0b3a7e-868a-4a2e-a703-bfef24d96141', 5, 'CW6552023676', 'Secure Software Development Lifecycle (DevSecOps)', 2, 6, '', 1, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('2d60d13b-a014-432b-ac80-921ffa8a3be8', 1, 'CW62020135005L', 'Perancangan Sistem Kontrol Modern', 3, 5, '', 1, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('2e4f8883-1d6f-425d-bcb1-e2e346778209', 5, 'CW6552021318', 'Praktikum Struktur Data', 0, 3, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('2fa43052-36fd-4b90-9d94-20fff24bb411', 1, 'CW6202012104', 'Pengantar Teknik Elektro', 2, 1, '', 1, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('30a91224-8d90-42ed-95c8-3860f33a85c9', 2, 'BW6040401', 'Praktikum Ilmu Falak', 0, 4, '', 1, '2026-01-16 22:56:36', '2026-01-17 00:59:05'), +('31eb6978-c476-454d-9b25-270f6e49c0ba', 2, 'BW6042803', 'Seminar Proposal', 0, 8, '', 1, '2026-01-16 22:56:54', '2026-01-17 00:59:16'), +('33fc18df-fd5b-45c5-9893-71f90e37ba61', 5, 'CW6552022324', 'Rekayasa Perangkat Lunak Skalabilitas', 2, 3, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('351b0a77-232c-4115-a7f2-ad4a4ebca9d2', 1, 'CW6202012321', 'Instrumentasi dan Pengukuran', 2, 3, '', 1, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('35839aaf-cb66-4d72-be1f-bf53c2aa1725', 1, 'CW62020135005T', 'Pengolahan Citra', 3, 5, '', 1, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('35eebf92-894d-4936-9d0f-6bdf47adc11f', 1, 'CW6202012632', 'Manajemen Proyek dan Keselamatan Kerja', 2, 6, '', 1, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('36f3e69d-ab34-4970-bec4-2a57f9a35d1e', 1, 'CW62020135004L', 'Pengoperasian Sistem Tenaga Listrik', 3, 5, '', 1, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('3701b7b5-54ae-4a36-bccf-83276943464b', 2, 'CW6220202308', 'Standarisasi Keselamatan Kerja', 2, 3, '', 1, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('37ef7d28-eb4a-42ef-a179-74880fa1e9b8', 5, 'CW6552022323', 'Statistika', 2, 3, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('38429483-ed40-4442-9b3a-5f7f8cb48db8', 1, 'CW62020135001T', 'Antena dan Propagasi', 3, 5, '', 1, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 3, 'CW6232013306', 'Pengukuran dan Pemetaan', 3, 3, '', 1, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('3a40a9d1-086d-4d41-9e2b-f4da42382168', 3, 'CP6232012504', 'Arsitektur Tropis (Pilihan)', 2, 5, '', 1, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('3cc4949f-9540-4bd9-a451-594e0793c7f0', 5, 'CW6552022434', 'Interaksi Manusia & Komputer', 2, 4, '', 1, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('3cf978b3-53c6-4b52-85b3-950a31fcfdae', 2, 'BW6044802', 'KKP- Plus', 0, 8, '', 1, '2026-01-16 22:56:54', '2026-01-17 00:59:16'), +('3f0fdc4a-aaf1-4331-9c72-b452b45e0737', 5, 'CW6552022317', 'Struktur Data', 2, 3, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('3f777130-87d1-459e-9a33-6af03d1b9ed5', 2, 'BW6042604', 'Metodologi Penelitian', 2, 6, '', 1, '2026-01-16 22:56:50', '2026-01-17 00:59:07'), +('4023e86d-3cf6-4ab9-b013-2b8bc8375c29', 1, 'CW62020135003EK', 'Elektronika Industri dan Robotika', 3, 5, '', 1, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('40a873e2-6b11-4708-bcb6-7bb94ae3bf0c', 5, 'CW6552023677', 'Advanced Software Testing and Quality Assurance', 2, 6, '', 1, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('41ad4d39-fb6b-4d7a-b00b-8ca9a1204bd3', 2, 'AW60910042307', 'AIK III (Aqidah Islam & Kemuh. 3)', 2, 3, '', 1, '2026-01-16 22:56:35', '2026-01-17 00:59:04'), +('4583364c-1191-46ac-af67-5fd1475a6b8f', 5, 'CW6552022208', 'Aljabar Linear & Matriks', 2, 2, '', 1, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('46b8cb78-c18e-446b-b090-0d1acfd66533', 3, 'CW6232012204', 'Mekanika Bangunan', 2, 2, '', 1, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('47a09495-6df8-461c-ba4f-2ea176aa4405', 1, 'CW62020136013L', 'Pengaman Tenaga Listrik', 3, 6, '', 1, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('47d4a2b5-492d-47a1-acc7-90919054c72e', 1, 'CW6202013208', 'Variabel Kompleks', 3, 2, '', 1, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('4acf9737-d545-4eb5-b80a-98178b9c9009', 2, 'CW6220202207', 'Sains Kebumian (Hidrologi I)', 2, 2, '', 1, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('4b816454-ee6c-4935-aba8-7212ec152ee3', 1, 'CW6202012212', 'Integral Diferensial', 2, 2, '', 1, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('4b8ab6c1-3ce3-46c8-ab58-6c2ee7b80d6c', 5, 'CW6552022102', 'Matematika Informatika', 2, 1, '', 1, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('4d7c057a-6920-447a-bfef-117238ea784f', 5, 'CW6552022551', 'Cloud-Native Application Development', 2, 5, '', 1, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('4ef5dd3c-5811-474f-b555-8059d108f8e2', 1, 'CW62020136011T', 'Rekayasa Trafik', 3, 6, '', 1, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('4f30b5fb-81d8-4ce3-a462-3e51386280ae', 5, 'CW6552022327', 'Sistem Operasi', 2, 3, '', 1, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('4fc36d1c-942b-4bec-a9a5-d58075c3d137', 3, 'CW6232013405', 'Pengkondisian Bangunan', 3, 4, '', 1, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('507f7f49-d126-4c8f-88f1-17fdacab1a26', 1, 'CW62020136010EK', 'Sistem Elektronika Cerdas', 3, 6, '', 1, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('515014e1-6438-408e-990f-e286b2ed75c3', 2, 'BW6042503', 'Technopreneurship (Kepemimpinan dan kewirausahaan)', 2, 5, '', 1, '2026-01-16 22:56:37', '2026-01-17 00:59:05'), +('5295f75b-658d-4e49-9c6f-b96e30c63a81', 1, 'CW6202013430', 'Rangkaian Listrik II', 3, 4, '', 1, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('5368a6f5-ba60-42e6-848c-ed409d1d327a', 1, 'CW6202010634', 'Praktikum IV', 0, 6, '', 1, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('539fc417-2c9b-472f-9b0f-445a8b749fc9', 3, 'CW6232012202', 'Perkembangan Arsitektur 2 (Islam)', 2, 2, '', 1, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('53a5f150-9b86-43a7-ac28-6d0c300c5fab', 5, 'CW6552022316', 'Aritmatika Komputer', 2, 3, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('54867a16-2212-4987-99f2-90a7e0f77ce1', 2, 'BW6046801', 'Tugas Akhir', 0, 8, '', 1, '2026-01-16 22:56:53', '2026-01-17 00:59:16'), +('54b80847-e1c5-4402-9b4b-18bd2348c227', 5, 'CW6552023789', 'Capstone Project', 3, 7, '', 1, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('555ac15b-7f41-42c9-a898-3549ae0c0333', 3, 'CW6232013404', 'Perancangan Permukiman', 3, 4, '', 1, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('58a2946b-86ee-43bf-a768-e0e5693bdb03', 2, 'BW6042303', 'Kepemimpinan & Kewirausahaan', 2, 3, '', 1, '2026-01-16 22:56:51', '2026-01-17 00:59:11'), +('5a843477-00fd-4aae-99dc-915c49ad022c', 1, 'CW62020126011L', 'Instalasi Listrik Modern', 2, 6, '', 1, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('5aec8529-0bc9-43dc-8b16-9d6350ca3958', 1, 'CW62020135007L', 'Teknik Tegangan Tinggi', 3, 5, '', 1, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('5b56f6e0-e5d9-4a89-8f34-39bc717dd9ad', 1, 'CW62020135003L', 'Mesin Listrik', 3, 5, '', 1, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('5b58785e-cbc1-43d8-9e9c-810f25534f0b', 5, 'CW6552022666', 'Deep Learning and Neural Networks', 2, 6, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('5c6642c5-96f0-4cb7-b59e-d21a58defcad', 2, 'AW60910040411', 'Komprehensif AIK', 0, 4, '', 1, '2026-01-16 22:56:36', '2026-01-17 00:59:05'), +('5c71aa6a-f3d9-4ecc-b7c9-f9739fd5d117', 3, 'CW6232012304', 'Arsitektur Hijau', 2, 3, '', 1, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('5dcb8762-b27a-419b-bdcd-a5c18a953fa9', 1, 'CW6202012209', 'Algoritma dan Pemrograman Dasar', 2, 2, '', 1, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('5fd10a1a-f7e2-4520-adcb-8c64d71155b1', 3, 'CW6232014201', 'Studio Perancangan Arsitektur 1', 4, 2, '', 1, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('6054f4b0-2914-4ac4-936d-26aefdbd51d6', 2, 'BW6042703', 'Seminar Proposal', 0, 7, '', 1, '2026-01-16 22:56:53', '2026-01-17 00:59:16'), +('615bed82-5916-4594-b5c4-7c4353b02636', 1, 'CW6202013318', 'Rangkaian Listrik I', 3, 3, '', 1, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('6511033c-07c2-4509-bc3e-95adee542c3d', 3, 'CP6232012602', 'Teknik Penulisan Artikel Ilmiah (Pilihan)', 2, 6, '', 1, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('665b5754-34f9-4794-8aff-4a493a7d702a', 3, 'CW6232012205', 'Estetika Bentuk', 2, 2, '', 1, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('66cc25e3-402c-49de-9ba4-6fd803e0795a', 3, 'CW6232012407', 'Konstruksi Baja', 2, 4, '', 1, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('67a5866d-9a48-41d3-ac5c-b7be2230c42c', 1, 'CW62020136012EK', 'Teknologi Transduser', 3, 6, '', 1, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('68d1b998-7db7-4f09-8718-27b33bad8f16', 2, 'BW6042502', 'Etika Profesi', 2, 5, '', 1, '2026-01-16 22:56:36', '2026-01-17 00:59:05'), +('69a951bb-9cfb-45ac-9398-4b39daae89bd', 2, 'BW6042504', 'Metodologi Penelitian dan Publikasi Ilmiah', 2, 5, '', 1, '2026-01-16 22:56:37', '2026-01-17 00:59:05'), +('6a67734b-34b2-4c73-b94f-65b5e40d1fa1', 5, 'CW6552020320', 'Praktikum Sistem Basis Data Relasional', 0, 3, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('6ab811fd-20e3-44d8-9d2b-3fcd52515717', 5, 'CW6552021554', 'Praktikum DevOps and CI/CD Pipelines', 0, 5, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 3, 'CP6232012601', 'Revitalisasi Bangunan & Kawasan (Pilihan)', 2, 6, '', 1, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('6cd02db2-b1f9-4aad-873b-349d154516f1', 3, 'CW6232014401', 'Studio Perancangan Arsitektur 3', 4, 4, '', 1, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('6f7a91bc-8054-45d6-ac08-84f31ec6b0d8', 1, 'CW62020136012T', 'Sistem Komunikasi Cerdas', 3, 6, '', 1, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('6ff71058-5546-45c2-af3c-e12770c3ad75', 2, 'CW6220202306', 'Hidrologi II', 3, 3, '', 1, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('7143e93e-2bb6-4f3b-8ac8-34aa07e37631', 1, 'CW6202013102', 'Fisika 1', 3, 1, '', 1, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('71716d40-936e-436a-88c3-28df37794b3a', 1, 'CW62020126008T', 'Komunikasi Satelit', 2, 6, '', 1, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('72b71059-c5e0-4b7d-aebd-a7bdf2fdb566', 1, 'CW62020126010L', 'Energi Baru dan Terbarukan', 2, 6, '', 1, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('7335b9e6-152a-4d2f-814e-3c2e7e65ca2f', 5, 'CW6552022436', 'Pemrograman WEB', 2, 4, '', 1, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('73525a7c-f212-4b45-a48c-f6283a195746', 3, 'CW6232013504', 'Perancangan Arsitektur Kota', 3, 5, '', 1, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('73beca28-8a3d-43ff-997e-2a26548d63ee', 3, 'CP6232012501', 'Arsitektur Digital (Pilihan)', 2, 5, '', 1, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('75e925ed-43ed-40e5-91de-706b0b1a1964', 3, 'CW6232012103', 'Pengantar Arsitektur 1 (Umum)', 2, 1, '', 1, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('75f4fc91-4001-4618-a823-366acbbdb9d9', 5, 'CW6552021669', 'Praktikum Generative AI and Large Language Models', 1, 6, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('7784e52e-24d5-4a05-9b4f-4e4d062d877e', 5, 'CW6552022545', 'Sistem Pakar', 2, 5, '', 1, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('78cc54ba-531c-4239-b542-049006cf8671', 2, 'AW60910042106', 'Bahasa Inggris Teknik', 2, 1, '', 1, '2026-01-16 22:56:35', '2026-01-17 00:59:04'), +('7a178668-cb76-41c6-a739-4a69f2959af0', 2, 'BW6042302', 'Etika Profesi', 2, 3, '', 1, '2026-01-16 22:56:51', '2026-01-17 00:59:08'), +('7aa965e2-fbec-467e-bf2d-79cd7f6a0dd2', 5, 'CW6552022433', 'Sistem Basis Data Modern', 2, 4, '', 1, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('7c701b31-82ce-4116-9def-6b17591ec26f', 1, 'CW6202013425', 'Elektronika', 3, 4, '', 1, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('7cb0ea59-244f-43f8-9084-456e269bcefb', 5, 'CW6552022440', 'Sistem Terdistribusi', 2, 4, '', 1, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('7d8ce821-3f52-4313-8bf1-d43ac8abc103', 1, 'CW62020126009T', 'Komunikasi Serat Optik', 2, 6, '', 1, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('7d918e6b-7ec8-4127-a1a9-833e4cefc476', 5, 'CW6552022321', 'Strategi dan Simulasi Algoritma', 2, 3, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('7df87425-930d-458e-bf91-8398825b82c1', 3, 'CW6232012303', 'Konstruksi Beton', 2, 3, '', 1, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('7ec43900-b6ac-42a4-b3d6-d1b254edc311', 5, 'CW6552022431', 'Kriptografi', 2, 4, '', 1, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('7efb0e90-2bee-4647-8438-88bd0aebaa96', 1, 'CW62020135005EK', 'Perancangan Sistem Elektronika', 3, 5, '', 1, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('7fad4df3-d503-4c05-8db8-f0109c58e8d6', 2, 'AW60910042408', 'AIK IV (Al Islam & Kemuhammadiyahan 4)', 2, 4, '', 1, '2026-01-16 22:56:35', '2026-01-17 00:59:04'), +('7fd58109-86e0-4427-8601-b8f6dbfc3642', 2, 'CW6220202305', 'Statistika & Probabilitas', 2, 3, '', 1, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('80b4b948-ddb7-40e4-89d1-ba78be1e1feb', 3, 'CW6232013302', 'Struktur dan Konstruksi Bangunan 1', 3, 3, '', 1, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('8528a2e0-fee5-487c-b5fa-d104d0a31982', 1, 'CW6202013314', 'Fisika III', 3, 3, '', 1, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('86dccf89-001f-40b2-8396-3df88537c00f', 5, 'CW6552021683', 'Praktikum Cloud Security Architecture', 1, 6, '', 1, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('8762c433-6fdd-462b-8494-1d264eb3dd15', 3, 'CW6232012104', 'Mekanika Teknik', 2, 1, '', 1, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('881a35ab-2427-447e-bb8a-e26a566f677a', 3, 'CW6232013503', 'Perancangan Tapak dan Ruang Luar', 3, 5, '', 1, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('8a1393c5-895f-4aca-ac56-495e43f660bb', 2, 'AW6091002408', 'Al Islam Kemuhammadiyahan IV', 2, 4, '', 1, '2026-01-16 22:56:55', '2026-01-17 00:59:17'), +('8b4bbddd-0548-4afb-8cbe-cddbafe189db', 5, 'CW6552022682', 'Cloud Security Architecture', 2, 6, '', 1, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('8d797bee-168e-4e11-beba-9f3b587f7267', 1, 'CW62020135004T', 'Komunikasi Nirkabel', 3, 5, '', 1, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('8e79442e-a7af-4718-984d-1b0995f8820b', 3, 'CW6232013402', 'Struktur dan Konstruksi Bangunan 2', 3, 4, '', 1, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('8f123fd0-8007-40c9-9a13-0e28f9be5932', 5, 'CP6552022544', 'Standarisasi Keselamatan Kerja', 2, 5, '', 1, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('9035c0b3-6289-4c2c-ae2d-c0d6a74607be', 1, 'CW6202012429', 'Pengantar Teknologi IoT', 2, 4, '', 1, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('9272905d-e48e-4999-b6d4-1892ffe5277e', 1, 'CW62020136011EK', 'Sistem Kontrol Elektronika', 3, 6, '', 1, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('930edaef-cab6-4382-b12d-4358e81fc316', 1, 'CW62020135002T', 'Elektronika Telekomunikasi', 3, 5, '', 1, '2026-01-17 00:58:38', '2026-01-17 00:58:38'), +('93371a32-8651-4772-8c8f-4a772f2bfb7c', 1, 'CW62020125006T', 'Perangkat Lunak Telekomunikasi', 2, 5, '', 1, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('93d0cec7-0e52-4182-9710-75887b21ecbd', 2, 'AW60910040402', 'Komprehensif AIK', 0, 4, '', 1, '2026-01-16 22:56:51', '2026-01-17 00:59:14'), +('93e41542-d15b-4385-93da-a3534835a907', 1, 'CW62020126008EK', 'Optoelektronika', 2, 6, '', 1, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('951e2391-bed9-4aa2-b1a2-d7772d358da7', 2, 'CW6220202204', 'Hidrolika Dasar', 2, 2, '', 1, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('9607961c-1c2e-4463-b3d8-b7028c83f58e', 5, 'CW6552022206', 'Eng for Computer Science', 2, 2, '', 1, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('969911f0-3df1-4705-af93-fd6807f1dcaa', 5, 'CW6552022542', 'Grafik Komputer', 2, 5, '', 1, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('999f2c17-b5ff-4a99-bb4c-2cc01e7ec2b9', 2, 'CW6220202205', 'Bahasa Inggris Teknik', 2, 2, '', 1, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('99d6d94e-53d3-46b2-9731-98f15e92e78b', 1, 'CW6202012316', 'Pemrograman Lanjut', 2, 3, '', 1, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('9ad1d2e1-8ed4-4204-bb39-d149a56997cb', 3, 'CW6232013602', 'Struktur dan Konstruksi Bangunan 4', 3, 6, '', 1, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('9c031dd3-cfaa-4aa4-80f6-5bf39f97cb22', 2, 'BW6044805', 'Kuliah Kerja Profesi - Plus (KKp-Plus)', 4, 8, '', 1, '2026-01-16 22:56:39', '2026-01-17 00:59:06'), +('9c479004-5b99-4b5a-8abd-d32551d4c43a', 2, 'CW6220202201', 'Mekanika Teknik I', 2, 2, '', 1, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('9c8516d1-31fd-4a36-ac3a-49787ada8218', 2, 'BW6044702', 'KKP- Plus', 0, 7, '', 1, '2026-01-16 22:56:53', '2026-01-17 00:59:15'), +('9cee2598-e3e8-4ab0-843b-88c513d01821', 1, 'CW6552020105', 'Praktikum Basic Command Line Linux', 0, 1, '', 1, '2026-01-16 23:20:58', '2026-01-17 00:58:08'), +('9d631a44-dab4-4a20-bfc1-89e57deb46a5', 2, 'BW6042806', 'Seminar dan Usulan skripsi', 2, 8, '', 1, '2026-01-16 22:56:39', '2026-01-17 00:59:06'), +('9db744c2-99cd-408d-a39d-7babdc37350c', 2, 'BW6040501', 'Praktikum Ilmu Falak', 0, 5, '', 1, '2026-01-16 22:56:49', '2026-01-17 00:59:07'), +('9e1347ad-ea71-4d7d-a3aa-b04ab074c92b', 5, 'CW6552023673', 'Responsible AI: Ethics and Governance', 2, 6, '', 1, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('9f7d6597-3b8a-4fce-b1bc-17977515d6d2', 5, 'CW6552021549', 'Praktikum Data Engineering and Big Data Systems', 0, 5, '', 1, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('a442d9d7-1b63-4ac3-9f16-04d81176b460', 5, 'CW6552022328', 'Pengantar Komputasi Modern', 2, 3, '', 1, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('a4590f2a-7e2f-45fc-ab6a-99bc2a93588f', 5, 'CW6552023689', 'Cyber Threat Intelligence', 2, 6, '', 1, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('a4900c13-be7a-4370-9e5e-10337a941445', 3, 'CW6232013502', 'Struktur dan Konstruksi Bangunan 3', 3, 5, '', 1, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('a4d898e9-f360-45d2-97a7-2c9b77d503f8', 1, 'CW6202010434', 'Praktikum II', 0, 4, '', 1, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('a4f1b0a6-99cb-40e0-ad0e-e176c57e102f', 1, 'CW62020125001L', 'Manajemen Energi Listrik', 2, 5, '', 1, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('a6cc5617-e75a-42ae-9d3e-e7bbf74e90ad', 2, 'BW6046807', 'Skripsi', 6, 8, '', 1, '2026-01-16 22:56:39', '2026-01-17 00:59:07'), +('a7c11b9a-42a1-4ada-84bb-fd504a3ecb18', 5, 'CW6552022315', 'Pemodelan dan Metode Numerik', 2, 3, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a83fd291-7f8d-423f-ab21-e709c7b876c1', 5, 'CW6552022207', 'Kalkulus', 2, 2, '', 1, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('a8aaa007-c80c-4244-a47f-6746bc34c1ae', 5, 'CW6552021688', 'Praktikum Ethical Hacking and Penetration Testing II', 1, 6, '', 1, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('a9797522-c7e0-4766-845b-d24035c68f96', 3, 'CW6232012603', 'Manajemen Proyek', 2, 6, '', 1, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('aa134f8b-abba-401b-a847-cd9ceef9827b', 5, 'CW6552023686', 'Cryptography and Secure Communications', 2, 6, '', 1, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('aa2fa177-91cd-4575-9a2b-0a7174f61b0a', 5, 'CW6552021679', 'Praktikum Scalable Systems Design', 1, 6, '', 1, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('ac2ca539-9694-48b3-93f8-0db6de719278', 3, 'CW6232014701', 'Studio Perancangan Arsitektur Terpadu', 4, 7, '', 1, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('ac5382bb-6368-4957-915a-00a06ec8c767', 2, 'BW6042706', 'Seminar Usul', 2, 7, '', 1, '2026-01-16 22:56:35', '2026-01-17 00:59:04'), +('accf154a-1fa4-4804-bf46-fe4287399e61', 2, 'AW60910042105', 'Pendidikan Agama Islam', 2, 1, '', 1, '2026-01-16 22:56:35', '2026-01-17 00:59:04'), +('afa1034a-7eb4-498f-9a6f-b2213869aedc', 1, 'CW62020135003T', 'Jaringan Telekomunikasi', 3, 5, '', 1, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('b0a2bd49-8e66-4f01-b099-3182c92da4b4', 3, 'CW6232012105', 'Matematika Teknik', 2, 1, '', 1, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('b0d2039a-bcfb-486a-bf9c-fc811db72196', 5, 'CW6552021547', 'Praktikum Applied Machine Learning', 0, 5, '', 1, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('b0d71fa7-483d-41b4-b8b6-f111d8601ba1', 2, 'AW60910042104', 'Bahasa Inggris', 2, 1, '', 1, '2026-01-16 22:56:35', '2026-01-17 00:59:04'), +('b135c7ea-764f-4962-9587-f1bc0df0000c', 2, 'CW6220202104', 'Menggambar Teknik', 2, 1, '', 1, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('b1e495e3-693f-4603-b725-1ef17519b241', 5, 'CW6552021210', 'Praktikum Algoritma dan Pemrograman Tingkat Lanjut', 1, 2, '', 1, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('b2c0cb8b-152d-4ee8-8cad-a19222f0d55d', 5, 'CW6552021104', 'Praktikum Dasar Algoritma & Pemrograman', 1, 1, '', 1, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('b5e186b0-b06e-4fb7-b53d-3fccfa849544', 5, 'CW6552022546', 'Applied Machine Learning', 2, 5, '', 1, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('b8736e55-fb84-4f81-81b9-83adeca227b0', 2, 'CW6220203103', 'Fisika I', 3, 1, '', 1, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('b995e4ed-c305-4abc-b847-216f92bc9fa5', 3, 'CW6232012207', 'Pengetahuan Lingkungan / AMDAL', 2, 2, '', 1, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('b996bbc4-077b-4b3e-be50-266060bad564', 5, 'CW6552023889', 'Capstone Project', 3, 8, '', 1, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('bbc86902-df05-422d-aeed-765362efa1a9', 1, 'CW6202013317', 'Matematika Teknik', 3, 3, '', 1, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('bc9474a0-d6b1-4785-a0a0-9fb9bac6f6b1', 5, 'CW6552021552', 'Praktikum Cloud-Native Application Development', 0, 5, '', 1, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('bdb4c8e8-b5ca-4d3d-926f-125fff9dff19', 5, 'CW6552022555', 'Advanced Software Design and Architecture', 2, 5, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('be6cd9e6-ec50-47d5-a8a3-fe20be80afc3', 1, 'CW6202014836', 'Capstone Desain', 4, 8, '', 1, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('bfed3b3c-17cc-4fe5-b044-2165e9e0af14', 5, 'CW6552022550', 'Mathematics for AI', 2, 5, '', 1, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('c127b1fb-3fc9-4f73-8a94-080418b1450e', 1, 'CW6202012427', 'Komunikasi Data dan Jaringan', 2, 4, '', 1, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('c378e358-586e-42d8-b8d8-8aad0ae97dc4', 1, 'CW62020136008L', 'Analisis Sistem Tenaga Listrik', 3, 6, '', 1, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 3, 'CW6232012101', 'Teknik Presentasi dan Komunikasi Arsitektur', 2, 1, '', 1, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('c6970f8e-a4ac-480a-b232-a45a42976f8e', 1, 'CW6202012423', 'Kimia', 2, 4, '', 1, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('c89c6727-5426-4f63-84b7-03f37d456ac3', 1, 'CW62020126009L', 'Dinamika dan Stabilitas Sistem Tenaga Listrik', 3, 6, '', 1, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('cbaa232e-a1df-426b-bdea-af5c42b8da05', 1, 'CW6202014735', 'Capstone Desain', 4, 7, '', 1, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('cbf257f3-8236-4008-8469-0a56592db1a8', 1, 'CW6202013426', 'Elektromagnetika', 2, 4, '', 1, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('cdcb2c97-4668-4236-a44f-cd926a9f934b', 1, 'CW62020125002EK', 'Perangkat Semikonduktor', 2, 5, '', 1, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('ce456cc0-536f-47f1-81b1-c8459b3f2da8', 2, 'CW6220202304', 'Geologi', 2, 3, '', 1, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('cf549c6e-bc2b-44f0-80c0-3c17518e3b95', 1, 'CW6202012424', 'Dasar Sistem Kontrol', 2, 4, '', 1, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('cfc12f76-acef-4115-8337-838f76b7778e', 2, 'AW60910042202', 'Kewarganegaraan', 2, 2, '', 1, '2026-01-16 22:56:35', '2026-01-17 00:59:04'), +('cff6b13e-d1d3-4d8b-8e78-1269ad2b7f8d', 5, 'CW6552021430', 'Praktikum Kecerdasan Buatan', 1, 4, '', 1, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('d1386eb7-8de0-43bc-915b-ca0a5ffb29ae', 5, 'CW6552022438', 'Rekayasa Komputasional', 2, 4, '', 1, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('d18b0cf0-e575-401a-ab1f-e36ff5e3e307', 5, 'CW6552022435', 'Sistem Informasi Manajemen', 2, 4, '', 1, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('d30e84e5-145d-41a0-90a2-337309aa1019', 5, 'CW6552012507', 'Pemrograman Berbasis Objek', 2, 5, '', 1, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('d4c20ee9-3e14-43b7-92d7-e44979d05d11', 1, 'CW6202012431', 'Sistem Mikroprosesor', 2, 4, '', 1, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('d77faeee-6cfb-432f-91fb-36a9023649d2', 2, 'AW60910040501', 'Komprehensif AIK', 0, 5, '', 1, '2026-01-16 22:56:52', '2026-01-17 00:59:15'), +('d8273dbe-018b-4c80-9074-6535f5fab03a', 1, 'CW6202010534', 'Praktikum III', 0, 5, '', 1, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('dd3cfb97-dca0-419d-9ad9-235f4e91dcba', 1, 'CW6202012422', 'Metode Numerik', 2, 4, '', 1, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('dd7e57da-b160-4ecc-817e-4b644672aecb', 3, 'CW6232014601', 'Studio Perancangan Arsitektur 5', 4, 6, '', 1, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('de1bf435-d79b-4db7-bd52-316a03e2691e', 3, 'CW6232012206', 'Pengantar Teknologi Bahan', 2, 2, '', 1, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('de51842a-bc59-402b-81d0-467a39a694cd', 5, 'CW6552022668', 'Generative AI and Large Language Models', 2, 6, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('e001a246-3d23-4e88-b982-3abbf29caf15', 3, 'CW6232014301', 'Studio Perancangan Arsitektur 2', 4, 3, '', 1, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('e0db289a-0522-4b75-8871-133ff0fc949d', 5, 'CW6552022556', 'Advanced Network Security and Protocols', 2, 5, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('e0ff767f-6980-4036-868d-6b4ce30c741e', 3, 'CW6232012106', 'Ilmu Sosial Budaya Dasar (ISBD)', 2, 1, '', 1, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('e26f0f1d-d1d3-4795-96b2-d092a3fa5dc7', 1, 'CW6202012428', 'Pemrosesan Sinyal Digital', 2, 4, '', 1, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('e41854a3-6b44-4e52-b87f-f0d3e14c53ca', 1, 'CW6202012103', 'Ilmu Bahan', 2, 1, '', 1, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('e517d812-8ad2-4124-ba9e-1f3dbbb2f815', 5, 'CW6552021557', 'Praktikum Advanced Network Security and Protocols', 0, 5, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('e618216d-8b85-4f3d-95e7-afd4627a77bd', 5, 'CW6552022429', 'Kecerdasan Buatan', 2, 4, '', 1, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('e69ba894-82ab-4345-b20e-aad1709ee7bf', 5, 'CW6552022439', 'Pengolahan Citra Digital', 2, 4, '', 1, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('e6ff039a-b996-491a-afce-d8885e6cc8d7', 1, 'CW62020126010T', 'Radar dan Navigasi', 2, 6, '', 1, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('e80b63ba-8556-4a1b-a9ac-45e346bea6b3', 2, 'CW6220202206', 'Ilmu Ukur Tanah & Pemetaan', 2, 2, '', 1, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('e8460a71-2709-4bbc-b378-9b57ee3a4beb', 5, 'CW6552021685', 'Praktikum Digital Forensics and Incident Response', 1, 6, '', 1, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('e8c1e121-5df6-42af-a785-a199e62353fe', 5, 'CW6552021559', 'Praktikum Ethical Hacking and Penetration Testing I', 0, 5, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('e9493d2b-1ba4-4338-9a38-815bcad65a6c', 1, 'CW6202010333', 'Praktikum 1', 0, 3, '', 1, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('e9c0f3fa-a9ba-432a-9a56-1adb88b462ae', 2, 'BW6042601', 'Metodologi Penelitian', 0, 6, '', 1, '2026-01-16 22:56:52', '2026-01-17 00:59:15'), +('e9d82287-6a84-4d8e-a06f-5c25894442ab', 2, 'BW6046707', 'Skripsi', 6, 7, '', 1, '2026-01-16 22:56:38', '2026-01-17 00:59:06'), +('ea3e9e48-2f65-4f9c-945d-39875184582f', 5, 'CW6552022209', 'Algoritma dan Pemrograman Tingkat Lanjut', 2, 2, '', 1, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('ebb65fa9-86c3-4d3f-b5a9-59c8d9b5489c', 5, 'CW6552021322', 'Praktikum Strategi dan Simulasi Algoritma', 1, 3, '', 1, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('ebc0373c-c9b3-4027-91eb-2aa050c5a292', 1, 'CW62020135007EK', 'Embedded System', 3, 5, '', 1, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('ed089ed7-acb4-45a8-b1e8-95204c8cdb59', 2, 'CW6220202302', 'Matematika II', 3, 2, '', 1, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('ed944acc-fdac-4399-84f4-e0bcebaa0351', 2, 'CW6222024701', 'Capstone Design', 4, 7, '', 1, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('f0d05b36-12dd-45d7-869f-f975f4b0ebb1', 1, 'CW62020126012L', 'Kecerdasan Buatan Dalam Sistem Tenaga Listrik', 2, 6, '', 1, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('f2424441-6fbc-4788-85af-d4e3317a9c26', 1, 'CW62020135002L', 'Elektronika Daya', 3, 5, '', 1, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('f309e2a0-9770-49d7-a055-8d8747fc4852', 5, 'CW6552023101', 'Matematika Dasar', 3, 1, '', 1, '2026-01-16 23:20:56', '2026-01-16 23:20:56'), +('f38f3d61-837e-43f2-a0cf-980aa2e286ae', 1, 'CW6202013101', 'Kalkulus', 3, 1, '', 1, '2026-01-17 00:58:11', '2026-01-17 00:58:11'), +('f3971cd2-bb40-4a50-a3a5-a8a8b860933b', 5, 'CW6552022560', 'Security Governance, Risk, and Compliance (GRC)', 2, 5, '', 1, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('f482e32c-c23a-4152-a846-c5cea2b72df6', 1, 'CW6202014206', 'Fisika II+Praktikum', 4, 2, '', 1, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('f6f7c1a6-23c1-44b7-b523-acaff2a89c8c', 5, 'CW6552023670', 'MLOps (Machine Learning in Production)', 2, 6, '', 1, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('f72b9162-c61c-4efa-b519-adc75f94258e', 2, 'CW6220202307', 'Pengelolaan Kualitas Jaringan Perpipaan', 2, 3, '', 1, '2026-01-17 00:59:12', '2026-01-17 00:59:12'), +('f7582245-dae4-4183-937b-0661ba62b33e', 2, 'CW6220202301', 'Matematika I', 3, 1, '', 1, '2026-01-17 00:59:08', '2026-01-17 00:59:08'), +('f75f20e0-1f04-4725-8c20-e138fd12d386', 5, 'CW6552022680', 'Mobile and Cross-Platform Development', 2, 6, '', 1, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('f8832929-41c0-411b-9498-ad69856e6af7', 3, 'CP6232012502', 'Arsitektur Perilaku (Pilihan)', 2, 5, '', 1, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('f8984b12-c7e9-4b6d-89a2-8842ef9e4bf0', 5, 'CW6552022325', 'Jaringan Komputer', 2, 3, '', 1, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('fc139184-d705-4176-a19e-9d7438af158e', 1, 'CW62020125006L', 'Sistem Tenaga Listrik', 2, 5, '', 1, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('fc5285d1-6d74-447c-91ad-34144ba5b289', 1, 'CW62020135006EK', 'Sistem Instrumentasi Elektronika', 3, 5, '', 1, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('fc8b60c6-407c-41e6-8e95-d861fa7d02d5', 5, 'CW6552022432', 'Riset Operasional', 2, 4, '', 1, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('fcc12b73-1704-44cc-adaf-c571cdc59be0', 1, 'CW62020136009EK', 'Perancangan Sistem VLSI', 3, 6, '', 1, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('fdef83bb-0100-4b6c-bf59-d4327e6542bf', 5, 'CW6552022541', 'Desain dan Analisis Algoritma', 2, 5, '', 1, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('fef3d744-dfa4-4059-aa84-578d1a6d432f', 3, 'CW6232012203', 'Pengantar Arsitektur 2 (Islam)', 2, 2, '', 1, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('ffd459b7-c016-41f0-8c3d-0290433eef19', 3, 'CW6232014501', 'Studio Perancangan Arsitektur 4', 4, 5, '', 1, '2026-01-16 22:56:47', '2026-01-16 22:56:47'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `nilai_cpl` +-- + +CREATE TABLE `nilai_cpl` ( + `id_nilai_cpl` bigint(20) UNSIGNED NOT NULL, + `id_mhs` bigint(20) UNSIGNED NOT NULL, + `id_cpl` bigint(20) UNSIGNED NOT NULL, + `semester_eval` tinyint(3) UNSIGNED NOT NULL, + `nilai_angka` decimal(5,2) NOT NULL, + `tanggal_hitung` datetime NOT NULL DEFAULT current_timestamp(), + `sumber` varchar(50) NOT NULL DEFAULT 'manual' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `nilai_cpl` +-- + +INSERT INTO `nilai_cpl` (`id_nilai_cpl`, `id_mhs`, `id_cpl`, `semester_eval`, `nilai_angka`, `tanggal_hitung`, `sumber`) VALUES +(1, 1, 21, 1, 71.50, '2025-12-22 08:30:23', 'recalc_import'), +(2, 1, 22, 1, 86.00, '2025-12-22 08:30:23', 'recalc_import'), +(3, 1, 23, 1, 81.33, '2025-12-22 08:30:23', 'recalc_import'), +(4, 1, 24, 1, 75.00, '2025-12-22 08:30:23', 'recalc_import'), +(5, 1, 25, 1, 65.67, '2025-12-22 08:30:23', 'recalc_import'), +(6, 1, 28, 1, 65.67, '2025-12-22 08:30:23', 'recalc_import'), +(7, 2, 21, 1, 94.75, '2025-12-22 08:30:23', 'recalc_import'), +(8, 2, 22, 1, 55.00, '2025-12-22 08:30:23', 'recalc_import'), +(9, 2, 23, 1, 72.33, '2025-12-22 08:30:23', 'recalc_import'), +(10, 2, 24, 1, 59.00, '2025-12-22 08:30:23', 'recalc_import'), +(11, 2, 25, 1, 82.00, '2025-12-22 08:30:23', 'recalc_import'), +(12, 2, 28, 1, 82.00, '2025-12-22 08:30:23', 'recalc_import'), +(13, 3, 21, 1, 87.50, '2025-12-22 08:30:23', 'recalc_import'), +(14, 3, 22, 1, 76.00, '2025-12-22 08:30:23', 'recalc_import'), +(15, 3, 23, 1, 84.33, '2025-12-22 08:30:23', 'recalc_import'), +(16, 3, 24, 1, 82.50, '2025-12-22 08:30:23', 'recalc_import'), +(17, 3, 25, 1, 58.67, '2025-12-22 08:30:23', 'recalc_import'), +(18, 3, 28, 1, 58.67, '2025-12-22 08:30:23', 'recalc_import'), +(19, 4, 21, 1, 74.75, '2025-12-22 08:30:23', 'recalc_import'), +(20, 4, 22, 1, 69.00, '2025-12-22 08:30:23', 'recalc_import'), +(21, 4, 23, 1, 79.00, '2025-12-22 08:30:23', 'recalc_import'), +(22, 4, 24, 1, 62.50, '2025-12-22 08:30:23', 'recalc_import'), +(23, 4, 25, 1, 66.00, '2025-12-22 08:30:23', 'recalc_import'), +(24, 4, 28, 1, 66.00, '2025-12-22 08:30:23', 'recalc_import'), +(25, 5, 21, 1, 67.50, '2025-12-22 08:30:23', 'recalc_import'), +(26, 5, 22, 1, 56.00, '2025-12-22 08:30:23', 'recalc_import'), +(27, 5, 23, 1, 69.67, '2025-12-22 08:30:23', 'recalc_import'), +(28, 5, 24, 1, 63.50, '2025-12-22 08:30:23', 'recalc_import'), +(29, 5, 25, 1, 65.33, '2025-12-22 08:30:23', 'recalc_import'), +(30, 5, 28, 1, 65.33, '2025-12-22 08:30:23', 'recalc_import'), +(31, 6, 21, 1, 77.75, '2025-12-22 08:30:23', 'recalc_import'), +(32, 6, 22, 1, 82.00, '2025-12-22 08:30:23', 'recalc_import'), +(33, 6, 23, 1, 67.33, '2025-12-22 08:30:23', 'recalc_import'), +(34, 6, 24, 1, 86.50, '2025-12-22 08:30:23', 'recalc_import'), +(35, 6, 25, 1, 76.67, '2025-12-22 08:30:23', 'recalc_import'), +(36, 6, 28, 1, 76.67, '2025-12-22 08:30:23', 'recalc_import'), +(37, 7, 21, 1, 70.00, '2025-12-22 08:30:23', 'recalc_import'), +(38, 7, 22, 1, 73.00, '2025-12-22 08:30:23', 'recalc_import'), +(39, 7, 23, 1, 84.33, '2025-12-22 08:30:23', 'recalc_import'), +(40, 7, 24, 1, 64.00, '2025-12-22 08:30:23', 'recalc_import'), +(41, 7, 25, 1, 70.33, '2025-12-22 08:30:23', 'recalc_import'), +(42, 7, 28, 1, 70.33, '2025-12-22 08:30:23', 'recalc_import'), +(43, 8, 21, 1, 75.25, '2025-12-22 08:30:23', 'recalc_import'), +(44, 8, 22, 1, 62.00, '2025-12-22 08:30:23', 'recalc_import'), +(45, 8, 23, 1, 62.33, '2025-12-22 08:30:23', 'recalc_import'), +(46, 8, 24, 1, 73.00, '2025-12-22 08:30:23', 'recalc_import'), +(47, 8, 25, 1, 87.33, '2025-12-22 08:30:23', 'recalc_import'), +(48, 8, 28, 1, 87.33, '2025-12-22 08:30:23', 'recalc_import'), +(49, 9, 21, 1, 74.75, '2025-12-22 08:30:23', 'recalc_import'), +(50, 9, 22, 1, 95.00, '2025-12-22 08:30:23', 'recalc_import'), +(51, 9, 23, 1, 84.33, '2025-12-22 08:30:23', 'recalc_import'), +(52, 9, 24, 1, 81.00, '2025-12-22 08:30:23', 'recalc_import'), +(53, 9, 25, 1, 64.67, '2025-12-22 08:30:23', 'recalc_import'), +(54, 9, 28, 1, 64.67, '2025-12-22 08:30:23', 'recalc_import'), +(55, 10, 21, 1, 73.25, '2025-12-22 08:30:23', 'recalc_import'), +(56, 10, 22, 1, 58.00, '2025-12-22 08:30:23', 'recalc_import'), +(57, 10, 23, 1, 71.67, '2025-12-22 08:30:23', 'recalc_import'), +(58, 10, 24, 1, 65.00, '2025-12-22 08:30:23', 'recalc_import'), +(59, 10, 25, 1, 76.67, '2025-12-22 08:30:23', 'recalc_import'), +(60, 10, 28, 1, 76.67, '2025-12-22 08:30:23', 'recalc_import'), +(61, 11, 21, 1, 75.00, '2025-12-22 08:30:23', 'recalc_import'), +(62, 11, 22, 1, 84.00, '2025-12-22 08:30:23', 'recalc_import'), +(63, 11, 23, 1, 78.33, '2025-12-22 08:30:23', 'recalc_import'), +(64, 11, 24, 1, 91.00, '2025-12-22 08:30:23', 'recalc_import'), +(65, 11, 25, 1, 65.00, '2025-12-22 08:30:23', 'recalc_import'), +(66, 11, 28, 1, 65.00, '2025-12-22 08:30:23', 'recalc_import'), +(67, 12, 21, 1, 80.00, '2025-12-22 08:30:23', 'recalc_import'), +(68, 12, 22, 1, 70.00, '2025-12-22 08:30:23', 'recalc_import'), +(69, 12, 23, 1, 69.00, '2025-12-22 08:30:23', 'recalc_import'), +(70, 12, 24, 1, 60.50, '2025-12-22 08:30:23', 'recalc_import'), +(71, 12, 25, 1, 87.00, '2025-12-22 08:30:23', 'recalc_import'), +(72, 12, 28, 1, 87.00, '2025-12-22 08:30:23', 'recalc_import'), +(73, 13, 21, 1, 65.50, '2025-12-22 08:30:23', 'recalc_import'), +(74, 13, 22, 1, 92.00, '2025-12-22 08:30:23', 'recalc_import'), +(75, 13, 23, 1, 80.00, '2025-12-22 08:30:23', 'recalc_import'), +(76, 13, 24, 1, 85.50, '2025-12-22 08:30:23', 'recalc_import'), +(77, 13, 25, 1, 66.67, '2025-12-22 08:30:23', 'recalc_import'), +(78, 13, 28, 1, 66.67, '2025-12-22 08:30:23', 'recalc_import'), +(79, 14, 21, 1, 81.00, '2025-12-22 08:30:23', 'recalc_import'), +(80, 14, 22, 1, 61.00, '2025-12-22 08:30:23', 'recalc_import'), +(81, 14, 23, 1, 66.00, '2025-12-22 08:30:23', 'recalc_import'), +(82, 14, 24, 1, 72.00, '2025-12-22 08:30:23', 'recalc_import'), +(83, 14, 25, 1, 79.67, '2025-12-22 08:30:23', 'recalc_import'), +(84, 14, 28, 1, 79.67, '2025-12-22 08:30:23', 'recalc_import'), +(85, 15, 21, 1, 73.25, '2025-12-22 08:30:23', 'recalc_import'), +(86, 15, 22, 1, 98.00, '2025-12-22 08:30:23', 'recalc_import'), +(87, 15, 23, 1, 86.00, '2025-12-22 08:30:23', 'recalc_import'), +(88, 15, 24, 1, 79.50, '2025-12-22 08:30:23', 'recalc_import'), +(89, 15, 25, 1, 75.00, '2025-12-22 08:30:23', 'recalc_import'), +(90, 15, 28, 1, 75.00, '2025-12-22 08:30:23', 'recalc_import'), +(91, 16, 21, 1, 67.50, '2025-12-22 08:30:23', 'recalc_import'), +(92, 16, 22, 1, 53.00, '2025-12-22 08:30:23', 'recalc_import'), +(93, 16, 23, 1, 66.00, '2025-12-22 08:30:23', 'recalc_import'), +(94, 16, 24, 1, 75.00, '2025-12-22 08:30:23', 'recalc_import'), +(95, 16, 25, 1, 72.67, '2025-12-22 08:30:23', 'recalc_import'), +(96, 16, 28, 1, 72.67, '2025-12-22 08:30:23', 'recalc_import'), +(97, 17, 21, 1, 74.50, '2025-12-22 08:30:23', 'recalc_import'), +(98, 17, 22, 1, 86.00, '2025-12-22 08:30:23', 'recalc_import'), +(99, 17, 23, 1, 73.67, '2025-12-22 08:30:23', 'recalc_import'), +(100, 17, 24, 1, 85.00, '2025-12-22 08:30:23', 'recalc_import'), +(101, 17, 25, 1, 72.33, '2025-12-22 08:30:23', 'recalc_import'), +(102, 17, 28, 1, 72.33, '2025-12-22 08:30:23', 'recalc_import'), +(103, 18, 21, 1, 75.00, '2025-12-22 08:30:23', 'recalc_import'), +(104, 18, 22, 1, 60.00, '2025-12-22 08:30:23', 'recalc_import'), +(105, 18, 23, 1, 76.33, '2025-12-22 08:30:23', 'recalc_import'), +(106, 18, 24, 1, 56.50, '2025-12-22 08:30:23', 'recalc_import'), +(107, 18, 25, 1, 71.67, '2025-12-22 08:30:23', 'recalc_import'), +(108, 18, 28, 1, 71.67, '2025-12-22 08:30:23', 'recalc_import'), +(109, 19, 21, 1, 66.75, '2025-12-22 08:30:23', 'recalc_import'), +(110, 19, 22, 1, 71.00, '2025-12-22 08:30:23', 'recalc_import'), +(111, 19, 23, 1, 63.67, '2025-12-22 08:30:23', 'recalc_import'), +(112, 19, 24, 1, 78.50, '2025-12-22 08:30:23', 'recalc_import'), +(113, 19, 25, 1, 86.00, '2025-12-22 08:30:23', 'recalc_import'), +(114, 19, 28, 1, 86.00, '2025-12-22 08:30:23', 'recalc_import'), +(115, 20, 21, 1, 78.50, '2025-12-22 08:30:23', 'recalc_import'), +(116, 20, 22, 1, 79.00, '2025-12-22 08:30:23', 'recalc_import'), +(117, 20, 23, 1, 78.33, '2025-12-22 08:30:23', 'recalc_import'), +(118, 20, 24, 1, 69.50, '2025-12-22 08:30:23', 'recalc_import'), +(119, 20, 25, 1, 72.67, '2025-12-22 08:30:23', 'recalc_import'), +(120, 20, 28, 1, 72.67, '2025-12-22 08:30:23', 'recalc_import'), +(121, 21, 21, 1, 73.00, '2025-12-22 08:30:23', 'recalc_import'), +(122, 21, 22, 1, 63.00, '2025-12-22 08:30:23', 'recalc_import'), +(123, 21, 23, 1, 81.00, '2025-12-22 08:30:23', 'recalc_import'), +(124, 21, 24, 1, 71.50, '2025-12-22 08:30:23', 'recalc_import'), +(125, 21, 25, 1, 70.33, '2025-12-22 08:30:23', 'recalc_import'), +(126, 21, 28, 1, 70.33, '2025-12-22 08:30:23', 'recalc_import'), +(127, 22, 21, 1, 80.50, '2025-12-22 08:30:23', 'recalc_import'), +(128, 22, 22, 1, 94.00, '2025-12-22 08:30:23', 'recalc_import'), +(129, 22, 23, 1, 78.00, '2025-12-22 08:30:23', 'recalc_import'), +(130, 22, 24, 1, 85.00, '2025-12-22 08:30:23', 'recalc_import'), +(131, 22, 25, 1, 83.33, '2025-12-22 08:30:23', 'recalc_import'), +(132, 22, 28, 1, 83.33, '2025-12-22 08:30:23', 'recalc_import'), +(133, 23, 21, 1, 74.25, '2025-12-22 08:30:23', 'recalc_import'), +(134, 23, 22, 1, 58.00, '2025-12-22 08:30:23', 'recalc_import'), +(135, 23, 23, 1, 71.33, '2025-12-22 08:30:23', 'recalc_import'), +(136, 23, 24, 1, 63.00, '2025-12-22 08:30:23', 'recalc_import'), +(137, 23, 25, 1, 60.00, '2025-12-22 08:30:23', 'recalc_import'), +(138, 23, 28, 1, 60.00, '2025-12-22 08:30:23', 'recalc_import'), +(139, 24, 21, 1, 80.00, '2025-12-22 08:30:23', 'recalc_import'), +(140, 24, 22, 1, 89.00, '2025-12-22 08:30:23', 'recalc_import'), +(141, 24, 23, 1, 66.00, '2025-12-22 08:30:23', 'recalc_import'), +(142, 24, 24, 1, 79.50, '2025-12-22 08:30:23', 'recalc_import'), +(143, 24, 25, 1, 93.67, '2025-12-22 08:30:23', 'recalc_import'), +(144, 24, 28, 1, 93.67, '2025-12-22 08:30:23', 'recalc_import'), +(145, 25, 21, 1, 75.50, '2025-12-22 08:30:23', 'recalc_import'), +(146, 25, 22, 1, 61.00, '2025-12-22 08:30:23', 'recalc_import'), +(147, 25, 23, 1, 73.00, '2025-12-22 08:30:23', 'recalc_import'), +(148, 25, 24, 1, 68.50, '2025-12-22 08:30:23', 'recalc_import'), +(149, 25, 25, 1, 79.00, '2025-12-22 08:30:23', 'recalc_import'), +(150, 25, 28, 1, 79.00, '2025-12-22 08:30:23', 'recalc_import'), +(151, 26, 21, 1, 73.75, '2025-12-22 08:30:23', 'recalc_import'), +(152, 26, 22, 1, 97.00, '2025-12-22 08:30:23', 'recalc_import'), +(153, 26, 23, 1, 80.67, '2025-12-22 08:30:23', 'recalc_import'), +(154, 26, 24, 1, 93.00, '2025-12-22 08:30:23', 'recalc_import'), +(155, 26, 25, 1, 62.00, '2025-12-22 08:30:23', 'recalc_import'), +(156, 26, 28, 1, 62.00, '2025-12-22 08:30:23', 'recalc_import'), +(157, 27, 21, 1, 70.25, '2025-12-22 08:30:23', 'recalc_import'), +(158, 27, 22, 1, 58.00, '2025-12-22 08:30:23', 'recalc_import'), +(159, 27, 23, 1, 77.33, '2025-12-22 08:30:23', 'recalc_import'), +(160, 27, 24, 1, 57.00, '2025-12-22 08:30:23', 'recalc_import'), +(161, 27, 25, 1, 86.33, '2025-12-22 08:30:23', 'recalc_import'), +(162, 27, 28, 1, 86.33, '2025-12-22 08:30:23', 'recalc_import'), +(163, 28, 21, 1, 83.25, '2025-12-22 08:30:23', 'recalc_import'), +(164, 28, 22, 1, 81.00, '2025-12-22 08:30:23', 'recalc_import'), +(165, 28, 23, 1, 66.33, '2025-12-22 08:30:23', 'recalc_import'), +(166, 28, 24, 1, 75.50, '2025-12-22 08:30:23', 'recalc_import'), +(167, 28, 25, 1, 70.67, '2025-12-22 08:30:23', 'recalc_import'), +(168, 28, 28, 1, 70.67, '2025-12-22 08:30:23', 'recalc_import'), +(169, 29, 21, 1, 64.00, '2025-12-22 08:30:23', 'recalc_import'), +(170, 29, 22, 1, 64.00, '2025-12-22 08:30:23', 'recalc_import'), +(171, 29, 23, 1, 79.33, '2025-12-22 08:30:23', 'recalc_import'), +(172, 29, 24, 1, 71.50, '2025-12-22 08:30:23', 'recalc_import'), +(173, 29, 25, 1, 72.00, '2025-12-22 08:30:23', 'recalc_import'), +(174, 29, 28, 1, 72.00, '2025-12-22 08:30:23', 'recalc_import'), +(175, 30, 21, 1, 74.50, '2025-12-22 08:30:23', 'recalc_import'), +(176, 30, 22, 1, 82.00, '2025-12-22 08:30:23', 'recalc_import'), +(177, 30, 23, 1, 68.33, '2025-12-22 08:30:23', 'recalc_import'), +(178, 30, 24, 1, 85.00, '2025-12-22 08:30:23', 'recalc_import'), +(179, 30, 25, 1, 66.00, '2025-12-22 08:30:23', 'recalc_import'), +(180, 30, 28, 1, 66.00, '2025-12-22 08:30:23', 'recalc_import'), +(181, 31, 21, 1, 88.50, '2025-12-22 08:30:23', 'recalc_import'), +(182, 31, 22, 1, 54.00, '2025-12-22 08:30:23', 'recalc_import'), +(183, 31, 23, 1, 70.67, '2025-12-22 08:30:23', 'recalc_import'), +(184, 31, 24, 1, 53.00, '2025-12-22 08:30:23', 'recalc_import'), +(185, 31, 25, 1, 81.33, '2025-12-22 08:30:23', 'recalc_import'), +(186, 31, 28, 1, 81.33, '2025-12-22 08:30:23', 'recalc_import'), +(187, 32, 21, 1, 77.00, '2025-12-22 08:30:23', 'recalc_import'), +(188, 32, 22, 1, 90.00, '2025-12-22 08:30:23', 'recalc_import'), +(189, 32, 23, 1, 85.33, '2025-12-22 08:30:23', 'recalc_import'), +(190, 32, 24, 1, 90.50, '2025-12-22 08:30:23', 'recalc_import'), +(191, 32, 25, 1, 64.33, '2025-12-22 08:30:23', 'recalc_import'), +(192, 32, 28, 1, 64.33, '2025-12-22 08:30:23', 'recalc_import'), +(193, 33, 21, 1, 62.25, '2025-12-22 08:30:23', 'recalc_import'), +(194, 33, 22, 1, 62.00, '2025-12-22 08:30:23', 'recalc_import'), +(195, 33, 23, 1, 61.33, '2025-12-22 08:30:23', 'recalc_import'), +(196, 33, 24, 1, 61.50, '2025-12-22 08:30:23', 'recalc_import'), +(197, 33, 25, 1, 74.33, '2025-12-22 08:30:23', 'recalc_import'), +(198, 33, 28, 1, 74.33, '2025-12-22 08:30:23', 'recalc_import'), +(199, 34, 21, 1, 80.25, '2025-12-22 08:30:23', 'recalc_import'), +(200, 34, 22, 1, 88.00, '2025-12-22 08:30:23', 'recalc_import'), +(201, 34, 23, 1, 78.67, '2025-12-22 08:30:23', 'recalc_import'), +(202, 34, 24, 1, 83.50, '2025-12-22 08:30:23', 'recalc_import'), +(203, 34, 25, 1, 76.00, '2025-12-22 08:30:23', 'recalc_import'), +(204, 34, 28, 1, 76.00, '2025-12-22 08:30:23', 'recalc_import'), +(205, 35, 21, 1, 79.75, '2025-12-22 08:30:23', 'recalc_import'), +(206, 35, 22, 1, 54.00, '2025-12-22 08:30:23', 'recalc_import'), +(207, 35, 23, 1, 76.67, '2025-12-22 08:30:23', 'recalc_import'), +(208, 35, 24, 1, 71.00, '2025-12-22 08:30:23', 'recalc_import'), +(209, 35, 25, 1, 74.33, '2025-12-22 08:30:23', 'recalc_import'), +(210, 35, 28, 1, 74.33, '2025-12-22 08:30:23', 'recalc_import'), +(211, 36, 21, 1, 69.50, '2025-12-22 08:30:23', 'recalc_import'), +(212, 36, 22, 1, 77.00, '2025-12-22 08:30:23', 'recalc_import'), +(213, 36, 23, 1, 61.33, '2025-12-22 08:30:23', 'recalc_import'), +(214, 36, 24, 1, 65.50, '2025-12-22 08:30:23', 'recalc_import'), +(215, 36, 25, 1, 74.33, '2025-12-22 08:30:23', 'recalc_import'), +(216, 36, 28, 1, 74.33, '2025-12-22 08:30:23', 'recalc_import'), +(217, 37, 21, 1, 73.75, '2025-12-22 08:30:23', 'recalc_import'), +(218, 37, 22, 1, 95.00, '2025-12-22 08:30:23', 'recalc_import'), +(219, 37, 23, 1, 92.00, '2025-12-22 08:30:23', 'recalc_import'), +(220, 37, 24, 1, 86.00, '2025-12-22 08:30:23', 'recalc_import'), +(221, 37, 25, 1, 72.00, '2025-12-22 08:30:23', 'recalc_import'), +(222, 37, 28, 1, 72.00, '2025-12-22 08:30:23', 'recalc_import'), +(223, 38, 21, 1, 83.75, '2025-12-22 08:30:23', 'recalc_import'), +(224, 38, 22, 1, 69.00, '2025-12-22 08:30:23', 'recalc_import'), +(225, 38, 23, 1, 68.67, '2025-12-22 08:30:23', 'recalc_import'), +(226, 38, 24, 1, 82.00, '2025-12-22 08:30:23', 'recalc_import'), +(227, 38, 25, 1, 75.33, '2025-12-22 08:30:23', 'recalc_import'), +(228, 38, 28, 1, 75.33, '2025-12-22 08:30:23', 'recalc_import'), +(229, 39, 21, 1, 61.75, '2025-12-22 08:30:23', 'recalc_import'), +(230, 39, 22, 1, 88.00, '2025-12-22 08:30:23', 'recalc_import'), +(231, 39, 23, 1, 77.00, '2025-12-22 08:30:23', 'recalc_import'), +(232, 39, 24, 1, 78.50, '2025-12-22 08:30:23', 'recalc_import'), +(233, 39, 25, 1, 76.67, '2025-12-22 08:30:23', 'recalc_import'), +(234, 39, 28, 1, 76.67, '2025-12-22 08:30:23', 'recalc_import'), +(235, 40, 21, 1, 79.75, '2025-12-22 08:30:23', 'recalc_import'), +(236, 40, 22, 1, 62.00, '2025-12-22 08:30:23', 'recalc_import'), +(237, 40, 23, 1, 75.33, '2025-12-22 08:30:23', 'recalc_import'), +(238, 40, 24, 1, 75.00, '2025-12-22 08:30:23', 'recalc_import'), +(239, 40, 25, 1, 77.00, '2025-12-22 08:30:23', 'recalc_import'), +(240, 40, 28, 1, 77.00, '2025-12-22 08:30:23', 'recalc_import'), +(241, 41, 21, 1, 73.25, '2025-12-22 08:30:23', 'recalc_import'), +(242, 41, 22, 1, 60.00, '2025-12-22 08:30:23', 'recalc_import'), +(243, 41, 23, 1, 66.00, '2025-12-22 08:30:23', 'recalc_import'), +(244, 41, 24, 1, 60.00, '2025-12-22 08:30:23', 'recalc_import'), +(245, 41, 25, 1, 66.33, '2025-12-22 08:30:23', 'recalc_import'), +(246, 41, 28, 1, 66.33, '2025-12-22 08:30:23', 'recalc_import'), +(247, 42, 21, 1, 70.00, '2025-12-22 08:30:23', 'recalc_import'), +(248, 42, 22, 1, 58.00, '2025-12-22 08:30:23', 'recalc_import'), +(249, 42, 23, 1, 68.67, '2025-12-22 08:30:23', 'recalc_import'), +(250, 42, 24, 1, 59.00, '2025-12-22 08:30:23', 'recalc_import'), +(251, 42, 25, 1, 87.33, '2025-12-22 08:30:23', 'recalc_import'), +(252, 42, 28, 1, 87.33, '2025-12-22 08:30:23', 'recalc_import'), +(253, 43, 21, 1, 76.25, '2025-12-22 08:30:23', 'recalc_import'), +(254, 43, 22, 1, 97.00, '2025-12-22 08:30:23', 'recalc_import'), +(255, 43, 23, 1, 97.33, '2025-12-22 08:30:23', 'recalc_import'), +(256, 43, 24, 1, 81.00, '2025-12-22 08:30:23', 'recalc_import'), +(257, 43, 25, 1, 84.33, '2025-12-22 08:30:23', 'recalc_import'), +(258, 43, 28, 1, 84.33, '2025-12-22 08:30:23', 'recalc_import'), +(259, 44, 21, 1, 76.75, '2025-12-22 08:30:23', 'recalc_import'), +(260, 44, 22, 1, 97.00, '2025-12-22 08:30:23', 'recalc_import'), +(261, 44, 23, 1, 94.33, '2025-12-22 08:30:23', 'recalc_import'), +(262, 44, 24, 1, 75.00, '2025-12-22 08:30:23', 'recalc_import'), +(263, 44, 25, 1, 69.00, '2025-12-22 08:30:23', 'recalc_import'), +(264, 44, 28, 1, 69.00, '2025-12-22 08:30:23', 'recalc_import'), +(265, 45, 21, 1, 71.75, '2025-12-22 08:30:23', 'recalc_import'), +(266, 45, 22, 1, 91.00, '2025-12-22 08:30:23', 'recalc_import'), +(267, 45, 23, 1, 87.67, '2025-12-22 08:30:23', 'recalc_import'), +(268, 45, 24, 1, 85.00, '2025-12-22 08:30:23', 'recalc_import'), +(269, 45, 25, 1, 65.00, '2025-12-22 08:30:23', 'recalc_import'), +(270, 45, 28, 1, 65.00, '2025-12-22 08:30:23', 'recalc_import'), +(271, 46, 21, 1, 80.50, '2025-12-22 08:30:23', 'recalc_import'), +(272, 46, 22, 1, 73.00, '2025-12-22 08:30:23', 'recalc_import'), +(273, 46, 23, 1, 68.67, '2025-12-22 08:30:23', 'recalc_import'), +(274, 46, 24, 1, 70.00, '2025-12-22 08:30:23', 'recalc_import'), +(275, 46, 25, 1, 77.33, '2025-12-22 08:30:23', 'recalc_import'), +(276, 46, 28, 1, 77.33, '2025-12-22 08:30:23', 'recalc_import'), +(277, 47, 21, 1, 67.50, '2025-12-22 08:30:23', 'recalc_import'), +(278, 47, 22, 1, 84.00, '2025-12-22 08:30:23', 'recalc_import'), +(279, 47, 23, 1, 76.67, '2025-12-22 08:30:23', 'recalc_import'), +(280, 47, 24, 1, 78.00, '2025-12-22 08:30:23', 'recalc_import'), +(281, 47, 25, 1, 66.33, '2025-12-22 08:30:23', 'recalc_import'), +(282, 47, 28, 1, 66.33, '2025-12-22 08:30:23', 'recalc_import'), +(283, 48, 21, 1, 79.00, '2025-12-22 08:30:23', 'recalc_import'), +(284, 48, 22, 1, 62.00, '2025-12-22 08:30:23', 'recalc_import'), +(285, 48, 23, 1, 74.67, '2025-12-22 08:30:23', 'recalc_import'), +(286, 48, 24, 1, 80.00, '2025-12-22 08:30:23', 'recalc_import'), +(287, 48, 25, 1, 77.00, '2025-12-22 08:30:23', 'recalc_import'), +(288, 48, 28, 1, 77.00, '2025-12-22 08:30:23', 'recalc_import'), +(289, 49, 21, 1, 68.75, '2025-12-22 08:30:23', 'recalc_import'), +(290, 49, 22, 1, 95.00, '2025-12-22 08:30:23', 'recalc_import'), +(291, 49, 23, 1, 70.00, '2025-12-22 08:30:23', 'recalc_import'), +(292, 49, 24, 1, 73.00, '2025-12-22 08:30:23', 'recalc_import'), +(293, 49, 25, 1, 69.00, '2025-12-22 08:30:23', 'recalc_import'), +(294, 49, 28, 1, 69.00, '2025-12-22 08:30:23', 'recalc_import'), +(295, 50, 21, 1, 77.75, '2025-12-22 08:30:23', 'recalc_import'), +(296, 50, 22, 1, 58.00, '2025-12-22 08:30:23', 'recalc_import'), +(297, 50, 23, 1, 81.33, '2025-12-22 08:30:23', 'recalc_import'), +(298, 50, 24, 1, 68.50, '2025-12-22 08:30:23', 'recalc_import'), +(299, 50, 25, 1, 87.33, '2025-12-22 08:30:23', 'recalc_import'), +(300, 50, 28, 1, 87.33, '2025-12-22 08:30:23', 'recalc_import'), +(301, 51, 21, 1, 71.75, '2025-12-22 08:30:23', 'recalc_import'), +(302, 51, 22, 1, 84.00, '2025-12-22 08:30:23', 'recalc_import'), +(303, 51, 23, 1, 69.00, '2025-12-22 08:30:23', 'recalc_import'), +(304, 51, 24, 1, 83.50, '2025-12-22 08:30:23', 'recalc_import'), +(305, 51, 25, 1, 62.67, '2025-12-22 08:30:23', 'recalc_import'), +(306, 51, 28, 1, 62.67, '2025-12-22 08:30:23', 'recalc_import'), +(307, 52, 21, 1, 78.00, '2025-12-22 08:30:23', 'recalc_import'), +(308, 52, 22, 1, 70.00, '2025-12-22 08:30:23', 'recalc_import'), +(309, 52, 23, 1, 76.00, '2025-12-22 08:30:23', 'recalc_import'), +(310, 52, 24, 1, 65.50, '2025-12-22 08:30:23', 'recalc_import'), +(311, 52, 25, 1, 70.00, '2025-12-22 08:30:23', 'recalc_import'), +(312, 52, 28, 1, 70.00, '2025-12-22 08:30:23', 'recalc_import'), +(313, 53, 21, 1, 64.50, '2025-12-22 08:30:23', 'recalc_import'), +(314, 53, 22, 1, 92.00, '2025-12-22 08:30:23', 'recalc_import'), +(315, 53, 23, 1, 81.33, '2025-12-22 08:30:23', 'recalc_import'), +(316, 53, 24, 1, 94.50, '2025-12-22 08:30:23', 'recalc_import'), +(317, 53, 25, 1, 74.00, '2025-12-22 08:30:23', 'recalc_import'), +(318, 53, 28, 1, 74.00, '2025-12-22 08:30:23', 'recalc_import'), +(319, 54, 21, 1, 82.75, '2025-12-22 08:30:23', 'recalc_import'), +(320, 54, 22, 1, 61.00, '2025-12-22 08:30:23', 'recalc_import'), +(321, 54, 23, 1, 70.33, '2025-12-22 08:30:23', 'recalc_import'), +(322, 54, 24, 1, 72.50, '2025-12-22 08:30:23', 'recalc_import'), +(323, 54, 25, 1, 74.33, '2025-12-22 08:30:23', 'recalc_import'), +(324, 54, 28, 1, 74.33, '2025-12-22 08:30:23', 'recalc_import'), +(325, 55, 21, 1, 67.25, '2025-12-22 08:30:23', 'recalc_import'), +(326, 55, 22, 1, 98.00, '2025-12-22 08:30:23', 'recalc_import'), +(327, 55, 23, 1, 79.33, '2025-12-22 08:30:23', 'recalc_import'), +(328, 55, 24, 1, 75.50, '2025-12-22 08:30:23', 'recalc_import'), +(329, 55, 25, 1, 84.67, '2025-12-22 08:30:23', 'recalc_import'), +(330, 55, 28, 1, 84.67, '2025-12-22 08:30:23', 'recalc_import'), +(331, 56, 21, 1, 83.25, '2025-12-22 08:30:23', 'recalc_import'), +(332, 56, 22, 1, 53.00, '2025-12-22 08:30:23', 'recalc_import'), +(333, 56, 23, 1, 69.33, '2025-12-22 08:30:23', 'recalc_import'), +(334, 56, 24, 1, 69.50, '2025-12-22 08:30:23', 'recalc_import'), +(335, 56, 25, 1, 85.67, '2025-12-22 08:30:23', 'recalc_import'), +(336, 56, 28, 1, 85.67, '2025-12-22 08:30:23', 'recalc_import'), +(337, 57, 21, 1, 70.50, '2025-12-22 08:30:23', 'recalc_import'), +(338, 57, 22, 1, 86.00, '2025-12-22 08:30:23', 'recalc_import'), +(339, 57, 23, 1, 70.33, '2025-12-22 08:30:23', 'recalc_import'), +(340, 57, 24, 1, 73.00, '2025-12-22 08:30:23', 'recalc_import'), +(341, 57, 25, 1, 55.67, '2025-12-22 08:30:23', 'recalc_import'), +(342, 57, 28, 1, 55.67, '2025-12-22 08:30:23', 'recalc_import'), +(343, 58, 21, 1, 64.25, '2025-12-22 08:30:23', 'recalc_import'), +(344, 58, 22, 1, 60.00, '2025-12-22 08:30:23', 'recalc_import'), +(345, 58, 23, 1, 71.00, '2025-12-22 08:30:23', 'recalc_import'), +(346, 58, 24, 1, 69.50, '2025-12-22 08:30:23', 'recalc_import'), +(347, 58, 25, 1, 83.67, '2025-12-22 08:30:23', 'recalc_import'), +(348, 58, 28, 1, 83.67, '2025-12-22 08:30:23', 'recalc_import'), +(349, 59, 21, 1, 85.00, '2025-12-22 08:30:23', 'recalc_import'), +(350, 59, 22, 1, 71.00, '2025-12-22 08:30:23', 'recalc_import'), +(351, 59, 23, 1, 75.33, '2025-12-22 08:30:23', 'recalc_import'), +(352, 59, 24, 1, 79.50, '2025-12-22 08:30:23', 'recalc_import'), +(353, 59, 25, 1, 67.67, '2025-12-22 08:30:23', 'recalc_import'), +(354, 59, 28, 1, 67.67, '2025-12-22 08:30:23', 'recalc_import'), +(355, 60, 21, 1, 66.25, '2025-12-22 08:30:23', 'recalc_import'), +(356, 60, 22, 1, 79.00, '2025-12-22 08:30:23', 'recalc_import'), +(357, 60, 23, 1, 77.33, '2025-12-22 08:30:23', 'recalc_import'), +(358, 60, 24, 1, 65.50, '2025-12-22 08:30:23', 'recalc_import'), +(359, 60, 25, 1, 68.67, '2025-12-22 08:30:23', 'recalc_import'), +(360, 60, 28, 1, 68.67, '2025-12-22 08:30:23', 'recalc_import'), +(512, 1, 21, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(513, 1, 22, 2, 77.50, '2025-12-19 10:42:38', 'recalc_import'), +(514, 1, 23, 2, 73.50, '2025-12-19 10:42:38', 'recalc_import'), +(515, 1, 24, 2, 77.25, '2025-12-19 10:42:38', 'recalc_import'), +(516, 1, 25, 2, 84.50, '2025-12-19 10:42:38', 'recalc_import'), +(517, 1, 26, 2, 91.00, '2025-12-19 10:42:38', 'recalc_import'), +(518, 1, 27, 2, 71.00, '2025-12-19 10:42:38', 'recalc_import'), +(519, 1, 28, 2, 83.00, '2025-12-19 10:42:38', 'recalc_import'), +(520, 2, 21, 2, 74.75, '2025-12-19 10:42:38', 'recalc_import'), +(521, 2, 22, 2, 84.25, '2025-12-19 10:42:38', 'recalc_import'), +(522, 2, 23, 2, 81.00, '2025-12-19 10:42:38', 'recalc_import'), +(523, 2, 24, 2, 78.00, '2025-12-19 10:42:38', 'recalc_import'), +(524, 2, 25, 2, 77.00, '2025-12-19 10:42:38', 'recalc_import'), +(525, 2, 26, 2, 81.50, '2025-12-19 10:42:38', 'recalc_import'), +(526, 2, 27, 2, 98.50, '2025-12-19 10:42:38', 'recalc_import'), +(527, 2, 28, 2, 99.00, '2025-12-19 10:42:38', 'recalc_import'), +(528, 3, 21, 2, 77.75, '2025-12-19 10:42:38', 'recalc_import'), +(529, 3, 22, 2, 76.50, '2025-12-19 10:42:38', 'recalc_import'), +(530, 3, 23, 2, 87.50, '2025-12-19 10:42:38', 'recalc_import'), +(531, 3, 24, 2, 65.75, '2025-12-19 10:42:38', 'recalc_import'), +(532, 3, 25, 2, 81.00, '2025-12-19 10:42:38', 'recalc_import'), +(533, 3, 26, 2, 84.50, '2025-12-19 10:42:38', 'recalc_import'), +(534, 3, 27, 2, 90.00, '2025-12-19 10:42:38', 'recalc_import'), +(535, 3, 28, 2, 86.00, '2025-12-19 10:42:38', 'recalc_import'), +(536, 4, 21, 2, 78.75, '2025-12-19 10:42:38', 'recalc_import'), +(537, 4, 22, 2, 64.25, '2025-12-19 10:42:38', 'recalc_import'), +(538, 4, 23, 2, 53.50, '2025-12-19 10:42:38', 'recalc_import'), +(539, 4, 24, 2, 59.25, '2025-12-19 10:42:38', 'recalc_import'), +(540, 4, 25, 2, 60.00, '2025-12-19 10:42:38', 'recalc_import'), +(541, 4, 26, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(542, 4, 27, 2, 66.00, '2025-12-19 10:42:38', 'recalc_import'), +(543, 4, 28, 2, 51.00, '2025-12-19 10:42:38', 'recalc_import'), +(544, 5, 21, 2, 68.00, '2025-12-19 10:42:38', 'recalc_import'), +(545, 5, 22, 2, 62.50, '2025-12-19 10:42:38', 'recalc_import'), +(546, 5, 23, 2, 65.00, '2025-12-19 10:42:38', 'recalc_import'), +(547, 5, 24, 2, 64.75, '2025-12-19 10:42:38', 'recalc_import'), +(548, 5, 25, 2, 57.50, '2025-12-19 10:42:38', 'recalc_import'), +(549, 5, 26, 2, 64.50, '2025-12-19 10:42:38', 'recalc_import'), +(550, 5, 27, 2, 71.00, '2025-12-19 10:42:38', 'recalc_import'), +(551, 5, 28, 2, 59.00, '2025-12-19 10:42:38', 'recalc_import'), +(552, 6, 21, 2, 72.75, '2025-12-19 10:42:38', 'recalc_import'), +(553, 6, 22, 2, 74.75, '2025-12-19 10:42:38', 'recalc_import'), +(554, 6, 23, 2, 82.50, '2025-12-19 10:42:38', 'recalc_import'), +(555, 6, 24, 2, 74.50, '2025-12-19 10:42:38', 'recalc_import'), +(556, 6, 25, 2, 78.00, '2025-12-19 10:42:38', 'recalc_import'), +(557, 6, 26, 2, 64.00, '2025-12-19 10:42:38', 'recalc_import'), +(558, 6, 27, 2, 70.00, '2025-12-19 10:42:38', 'recalc_import'), +(559, 6, 28, 2, 74.00, '2025-12-19 10:42:38', 'recalc_import'), +(560, 7, 21, 2, 74.00, '2025-12-19 10:42:38', 'recalc_import'), +(561, 7, 22, 2, 80.75, '2025-12-19 10:42:38', 'recalc_import'), +(562, 7, 23, 2, 72.50, '2025-12-19 10:42:38', 'recalc_import'), +(563, 7, 24, 2, 78.00, '2025-12-19 10:42:38', 'recalc_import'), +(564, 7, 25, 2, 81.50, '2025-12-19 10:42:38', 'recalc_import'), +(565, 7, 26, 2, 89.00, '2025-12-19 10:42:38', 'recalc_import'), +(566, 7, 27, 2, 91.00, '2025-12-19 10:42:38', 'recalc_import'), +(567, 7, 28, 2, 90.00, '2025-12-19 10:42:38', 'recalc_import'), +(568, 8, 21, 2, 80.75, '2025-12-19 10:42:38', 'recalc_import'), +(569, 8, 22, 2, 64.75, '2025-12-19 10:42:38', 'recalc_import'), +(570, 8, 23, 2, 70.00, '2025-12-19 10:42:38', 'recalc_import'), +(571, 8, 24, 2, 71.50, '2025-12-19 10:42:38', 'recalc_import'), +(572, 8, 25, 2, 59.00, '2025-12-19 10:42:38', 'recalc_import'), +(573, 8, 26, 2, 65.50, '2025-12-19 10:42:38', 'recalc_import'), +(574, 8, 27, 2, 53.00, '2025-12-19 10:42:38', 'recalc_import'), +(575, 8, 28, 2, 56.00, '2025-12-19 10:42:38', 'recalc_import'), +(576, 9, 21, 2, 64.25, '2025-12-19 10:42:38', 'recalc_import'), +(577, 9, 22, 2, 77.25, '2025-12-19 10:42:38', 'recalc_import'), +(578, 9, 23, 2, 75.00, '2025-12-19 10:42:38', 'recalc_import'), +(579, 9, 24, 2, 75.25, '2025-12-19 10:42:38', 'recalc_import'), +(580, 9, 25, 2, 89.00, '2025-12-19 10:42:38', 'recalc_import'), +(581, 9, 26, 2, 82.00, '2025-12-19 10:42:38', 'recalc_import'), +(582, 9, 27, 2, 80.00, '2025-12-19 10:42:38', 'recalc_import'), +(583, 9, 28, 2, 83.00, '2025-12-19 10:42:38', 'recalc_import'), +(584, 10, 21, 2, 74.25, '2025-12-19 10:42:38', 'recalc_import'), +(585, 10, 22, 2, 66.75, '2025-12-19 10:42:38', 'recalc_import'), +(586, 10, 23, 2, 67.00, '2025-12-19 10:42:38', 'recalc_import'), +(587, 10, 24, 2, 72.75, '2025-12-19 10:42:38', 'recalc_import'), +(588, 10, 25, 2, 60.00, '2025-12-19 10:42:38', 'recalc_import'), +(589, 10, 26, 2, 77.50, '2025-12-19 10:42:38', 'recalc_import'), +(590, 10, 27, 2, 63.00, '2025-12-19 10:42:38', 'recalc_import'), +(591, 10, 28, 2, 62.00, '2025-12-19 10:42:38', 'recalc_import'), +(592, 11, 21, 2, 74.25, '2025-12-19 10:42:38', 'recalc_import'), +(593, 11, 22, 2, 76.75, '2025-12-19 10:42:38', 'recalc_import'), +(594, 11, 23, 2, 86.50, '2025-12-19 10:42:38', 'recalc_import'), +(595, 11, 24, 2, 68.00, '2025-12-19 10:42:38', 'recalc_import'), +(596, 11, 25, 2, 79.50, '2025-12-19 10:42:38', 'recalc_import'), +(597, 11, 26, 2, 68.50, '2025-12-19 10:42:38', 'recalc_import'), +(598, 11, 27, 2, 82.00, '2025-12-19 10:42:38', 'recalc_import'), +(599, 11, 28, 2, 75.00, '2025-12-19 10:42:38', 'recalc_import'), +(600, 12, 21, 2, 75.25, '2025-12-19 10:42:38', 'recalc_import'), +(601, 12, 22, 2, 70.00, '2025-12-19 10:42:38', 'recalc_import'), +(602, 12, 23, 2, 66.00, '2025-12-19 10:42:38', 'recalc_import'), +(603, 12, 24, 2, 80.50, '2025-12-19 10:42:38', 'recalc_import'), +(604, 12, 25, 2, 75.50, '2025-12-19 10:42:38', 'recalc_import'), +(605, 12, 26, 2, 82.50, '2025-12-19 10:42:38', 'recalc_import'), +(606, 12, 27, 2, 67.00, '2025-12-19 10:42:38', 'recalc_import'), +(607, 12, 28, 2, 81.00, '2025-12-19 10:42:38', 'recalc_import'), +(608, 13, 21, 2, 72.00, '2025-12-19 10:42:38', 'recalc_import'), +(609, 13, 22, 2, 83.50, '2025-12-19 10:42:38', 'recalc_import'), +(610, 13, 23, 2, 73.00, '2025-12-19 10:42:38', 'recalc_import'), +(611, 13, 24, 2, 76.25, '2025-12-19 10:42:38', 'recalc_import'), +(612, 13, 25, 2, 79.50, '2025-12-19 10:42:38', 'recalc_import'), +(613, 13, 26, 2, 62.00, '2025-12-19 10:42:38', 'recalc_import'), +(614, 13, 27, 2, 79.00, '2025-12-19 10:42:38', 'recalc_import'), +(615, 13, 28, 2, 67.00, '2025-12-19 10:42:38', 'recalc_import'), +(616, 14, 21, 2, 72.25, '2025-12-19 10:42:38', 'recalc_import'), +(617, 14, 22, 2, 67.25, '2025-12-19 10:42:38', 'recalc_import'), +(618, 14, 23, 2, 87.50, '2025-12-19 10:42:38', 'recalc_import'), +(619, 14, 24, 2, 73.50, '2025-12-19 10:42:38', 'recalc_import'), +(620, 14, 25, 2, 76.50, '2025-12-19 10:42:38', 'recalc_import'), +(621, 14, 26, 2, 82.00, '2025-12-19 10:42:38', 'recalc_import'), +(622, 14, 27, 2, 78.50, '2025-12-19 10:42:38', 'recalc_import'), +(623, 14, 28, 2, 92.00, '2025-12-19 10:42:38', 'recalc_import'), +(624, 15, 21, 2, 74.25, '2025-12-19 10:42:38', 'recalc_import'), +(625, 15, 22, 2, 76.25, '2025-12-19 10:42:38', 'recalc_import'), +(626, 15, 23, 2, 57.50, '2025-12-19 10:42:38', 'recalc_import'), +(627, 15, 24, 2, 78.50, '2025-12-19 10:42:38', 'recalc_import'), +(628, 15, 25, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(629, 15, 26, 2, 70.00, '2025-12-19 10:42:38', 'recalc_import'), +(630, 15, 27, 2, 64.00, '2025-12-19 10:42:38', 'recalc_import'), +(631, 15, 28, 2, 54.00, '2025-12-19 10:42:38', 'recalc_import'), +(632, 16, 21, 2, 73.25, '2025-12-19 10:42:38', 'recalc_import'), +(633, 16, 22, 2, 76.50, '2025-12-19 10:42:38', 'recalc_import'), +(634, 16, 23, 2, 92.50, '2025-12-19 10:42:38', 'recalc_import'), +(635, 16, 24, 2, 70.75, '2025-12-19 10:42:38', 'recalc_import'), +(636, 16, 25, 2, 70.50, '2025-12-19 10:42:38', 'recalc_import'), +(637, 16, 26, 2, 75.50, '2025-12-19 10:42:38', 'recalc_import'), +(638, 16, 27, 2, 85.00, '2025-12-19 10:42:38', 'recalc_import'), +(639, 16, 28, 2, 88.00, '2025-12-19 10:42:38', 'recalc_import'), +(640, 17, 21, 2, 73.25, '2025-12-19 10:42:38', 'recalc_import'), +(641, 17, 22, 2, 64.50, '2025-12-19 10:42:38', 'recalc_import'), +(642, 17, 23, 2, 68.50, '2025-12-19 10:42:38', 'recalc_import'), +(643, 17, 24, 2, 68.00, '2025-12-19 10:42:38', 'recalc_import'), +(644, 17, 25, 2, 69.50, '2025-12-19 10:42:38', 'recalc_import'), +(645, 17, 26, 2, 65.00, '2025-12-19 10:42:38', 'recalc_import'), +(646, 17, 27, 2, 55.50, '2025-12-19 10:42:38', 'recalc_import'), +(647, 17, 28, 2, 53.00, '2025-12-19 10:42:38', 'recalc_import'), +(648, 18, 21, 2, 72.50, '2025-12-19 10:42:38', 'recalc_import'), +(649, 18, 22, 2, 83.50, '2025-12-19 10:42:38', 'recalc_import'), +(650, 18, 23, 2, 75.50, '2025-12-19 10:42:38', 'recalc_import'), +(651, 18, 24, 2, 80.50, '2025-12-19 10:42:38', 'recalc_import'), +(652, 18, 25, 2, 79.00, '2025-12-19 10:42:38', 'recalc_import'), +(653, 18, 26, 2, 94.00, '2025-12-19 10:42:38', 'recalc_import'), +(654, 18, 27, 2, 88.50, '2025-12-19 10:42:38', 'recalc_import'), +(655, 18, 28, 2, 98.00, '2025-12-19 10:42:38', 'recalc_import'), +(656, 19, 21, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(657, 19, 22, 2, 66.00, '2025-12-19 10:42:38', 'recalc_import'), +(658, 19, 23, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(659, 19, 24, 2, 75.50, '2025-12-19 10:42:38', 'recalc_import'), +(660, 19, 25, 2, 61.50, '2025-12-19 10:42:38', 'recalc_import'), +(661, 19, 26, 2, 57.50, '2025-12-19 10:42:38', 'recalc_import'), +(662, 19, 27, 2, 54.50, '2025-12-19 10:42:38', 'recalc_import'), +(663, 19, 28, 2, 52.00, '2025-12-19 10:42:38', 'recalc_import'), +(664, 20, 21, 2, 64.75, '2025-12-19 10:42:38', 'recalc_import'), +(665, 20, 22, 2, 73.50, '2025-12-19 10:42:38', 'recalc_import'), +(666, 20, 23, 2, 75.00, '2025-12-19 10:42:38', 'recalc_import'), +(667, 20, 24, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(668, 20, 25, 2, 84.50, '2025-12-19 10:42:38', 'recalc_import'), +(669, 20, 26, 2, 87.00, '2025-12-19 10:42:38', 'recalc_import'), +(670, 20, 27, 2, 81.00, '2025-12-19 10:42:38', 'recalc_import'), +(671, 20, 28, 2, 90.00, '2025-12-19 10:42:38', 'recalc_import'), +(672, 21, 21, 2, 75.75, '2025-12-19 10:42:38', 'recalc_import'), +(673, 21, 22, 2, 86.75, '2025-12-19 10:42:38', 'recalc_import'), +(674, 21, 23, 2, 89.50, '2025-12-19 10:42:38', 'recalc_import'), +(675, 21, 24, 2, 80.00, '2025-12-19 10:42:38', 'recalc_import'), +(676, 21, 25, 2, 81.00, '2025-12-19 10:42:38', 'recalc_import'), +(677, 21, 26, 2, 96.50, '2025-12-19 10:42:38', 'recalc_import'), +(678, 21, 27, 2, 92.50, '2025-12-19 10:42:38', 'recalc_import'), +(679, 21, 28, 2, 99.00, '2025-12-19 10:42:38', 'recalc_import'), +(680, 22, 21, 2, 79.75, '2025-12-19 10:42:38', 'recalc_import'), +(681, 22, 22, 2, 74.25, '2025-12-19 10:42:38', 'recalc_import'), +(682, 22, 23, 2, 71.50, '2025-12-19 10:42:38', 'recalc_import'), +(683, 22, 24, 2, 80.25, '2025-12-19 10:42:38', 'recalc_import'), +(684, 22, 25, 2, 80.50, '2025-12-19 10:42:38', 'recalc_import'), +(685, 22, 26, 2, 71.50, '2025-12-19 10:42:38', 'recalc_import'), +(686, 22, 27, 2, 65.50, '2025-12-19 10:42:38', 'recalc_import'), +(687, 22, 28, 2, 67.00, '2025-12-19 10:42:38', 'recalc_import'), +(688, 23, 21, 2, 67.50, '2025-12-19 10:42:38', 'recalc_import'), +(689, 23, 22, 2, 71.25, '2025-12-19 10:42:38', 'recalc_import'), +(690, 23, 23, 2, 77.50, '2025-12-19 10:42:38', 'recalc_import'), +(691, 23, 24, 2, 64.50, '2025-12-19 10:42:38', 'recalc_import'), +(692, 23, 25, 2, 72.50, '2025-12-19 10:42:38', 'recalc_import'), +(693, 23, 26, 2, 78.50, '2025-12-19 10:42:38', 'recalc_import'), +(694, 23, 27, 2, 86.50, '2025-12-19 10:42:38', 'recalc_import'), +(695, 23, 28, 2, 87.00, '2025-12-19 10:42:38', 'recalc_import'), +(696, 24, 21, 2, 79.75, '2025-12-19 10:42:38', 'recalc_import'), +(697, 24, 22, 2, 77.00, '2025-12-19 10:42:38', 'recalc_import'), +(698, 24, 23, 2, 68.50, '2025-12-19 10:42:38', 'recalc_import'), +(699, 24, 24, 2, 85.50, '2025-12-19 10:42:38', 'recalc_import'), +(700, 24, 25, 2, 78.00, '2025-12-19 10:42:38', 'recalc_import'), +(701, 24, 26, 2, 60.00, '2025-12-19 10:42:38', 'recalc_import'), +(702, 24, 27, 2, 61.50, '2025-12-19 10:42:38', 'recalc_import'), +(703, 24, 28, 2, 67.00, '2025-12-19 10:42:38', 'recalc_import'), +(704, 25, 21, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(705, 25, 22, 2, 70.50, '2025-12-19 10:42:38', 'recalc_import'), +(706, 25, 23, 2, 74.00, '2025-12-19 10:42:38', 'recalc_import'), +(707, 25, 24, 2, 69.50, '2025-12-19 10:42:38', 'recalc_import'), +(708, 25, 25, 2, 66.50, '2025-12-19 10:42:38', 'recalc_import'), +(709, 25, 26, 2, 82.00, '2025-12-19 10:42:38', 'recalc_import'), +(710, 25, 27, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(711, 25, 28, 2, 72.00, '2025-12-19 10:42:38', 'recalc_import'), +(712, 26, 21, 2, 69.50, '2025-12-19 10:42:38', 'recalc_import'), +(713, 26, 22, 2, 73.50, '2025-12-19 10:42:38', 'recalc_import'), +(714, 26, 23, 2, 75.00, '2025-12-19 10:42:38', 'recalc_import'), +(715, 26, 24, 2, 72.50, '2025-12-19 10:42:38', 'recalc_import'), +(716, 26, 25, 2, 79.00, '2025-12-19 10:42:38', 'recalc_import'), +(717, 26, 26, 2, 62.50, '2025-12-19 10:42:38', 'recalc_import'), +(718, 26, 27, 2, 71.00, '2025-12-19 10:42:38', 'recalc_import'), +(719, 26, 28, 2, 61.00, '2025-12-19 10:42:38', 'recalc_import'), +(720, 27, 21, 2, 80.75, '2025-12-19 10:42:38', 'recalc_import'), +(721, 27, 22, 2, 75.25, '2025-12-19 10:42:38', 'recalc_import'), +(722, 27, 23, 2, 65.50, '2025-12-19 10:42:38', 'recalc_import'), +(723, 27, 24, 2, 77.75, '2025-12-19 10:42:38', 'recalc_import'), +(724, 27, 25, 2, 66.50, '2025-12-19 10:42:38', 'recalc_import'), +(725, 27, 26, 2, 86.50, '2025-12-19 10:42:38', 'recalc_import'), +(726, 27, 27, 2, 75.50, '2025-12-19 10:42:38', 'recalc_import'), +(727, 27, 28, 2, 75.00, '2025-12-19 10:42:38', 'recalc_import'), +(728, 28, 21, 2, 68.00, '2025-12-19 10:42:38', 'recalc_import'), +(729, 28, 22, 2, 73.75, '2025-12-19 10:42:38', 'recalc_import'), +(730, 28, 23, 2, 83.00, '2025-12-19 10:42:38', 'recalc_import'), +(731, 28, 24, 2, 72.75, '2025-12-19 10:42:38', 'recalc_import'), +(732, 28, 25, 2, 88.50, '2025-12-19 10:42:38', 'recalc_import'), +(733, 28, 26, 2, 73.50, '2025-12-19 10:42:38', 'recalc_import'), +(734, 28, 27, 2, 81.50, '2025-12-19 10:42:38', 'recalc_import'), +(735, 28, 28, 2, 96.00, '2025-12-19 10:42:38', 'recalc_import'), +(736, 29, 21, 2, 75.50, '2025-12-19 10:42:38', 'recalc_import'), +(737, 29, 22, 2, 68.75, '2025-12-19 10:42:38', 'recalc_import'), +(738, 29, 23, 2, 66.00, '2025-12-19 10:42:38', 'recalc_import'), +(739, 29, 24, 2, 70.00, '2025-12-19 10:42:38', 'recalc_import'), +(740, 29, 25, 2, 58.50, '2025-12-19 10:42:38', 'recalc_import'), +(741, 29, 26, 2, 74.00, '2025-12-19 10:42:38', 'recalc_import'), +(742, 29, 27, 2, 66.00, '2025-12-19 10:42:38', 'recalc_import'), +(743, 29, 28, 2, 53.00, '2025-12-19 10:42:38', 'recalc_import'), +(744, 30, 21, 2, 69.50, '2025-12-19 10:42:38', 'recalc_import'), +(745, 30, 22, 2, 68.75, '2025-12-19 10:42:38', 'recalc_import'), +(746, 30, 23, 2, 78.50, '2025-12-19 10:42:38', 'recalc_import'), +(747, 30, 24, 2, 65.75, '2025-12-19 10:42:38', 'recalc_import'), +(748, 30, 25, 2, 75.50, '2025-12-19 10:42:38', 'recalc_import'), +(749, 30, 26, 2, 64.50, '2025-12-19 10:42:38', 'recalc_import'), +(750, 30, 27, 2, 66.00, '2025-12-19 10:42:38', 'recalc_import'), +(751, 30, 28, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(752, 31, 21, 2, 84.75, '2025-12-19 10:42:38', 'recalc_import'), +(753, 31, 22, 2, 78.00, '2025-12-19 10:42:38', 'recalc_import'), +(754, 31, 23, 2, 71.50, '2025-12-19 10:42:38', 'recalc_import'), +(755, 31, 24, 2, 78.00, '2025-12-19 10:42:38', 'recalc_import'), +(756, 31, 25, 2, 72.50, '2025-12-19 10:42:38', 'recalc_import'), +(757, 31, 26, 2, 85.00, '2025-12-19 10:42:38', 'recalc_import'), +(758, 31, 27, 2, 85.00, '2025-12-19 10:42:38', 'recalc_import'), +(759, 31, 28, 2, 91.00, '2025-12-19 10:42:38', 'recalc_import'), +(760, 32, 21, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(761, 32, 22, 2, 77.00, '2025-12-19 10:42:38', 'recalc_import'), +(762, 32, 23, 2, 87.00, '2025-12-19 10:42:38', 'recalc_import'), +(763, 32, 24, 2, 77.00, '2025-12-19 10:42:38', 'recalc_import'), +(764, 32, 25, 2, 86.50, '2025-12-19 10:42:38', 'recalc_import'), +(765, 32, 26, 2, 83.00, '2025-12-19 10:42:38', 'recalc_import'), +(766, 32, 27, 2, 83.00, '2025-12-19 10:42:38', 'recalc_import'), +(767, 32, 28, 2, 83.00, '2025-12-19 10:42:38', 'recalc_import'), +(768, 33, 21, 2, 72.50, '2025-12-19 10:42:38', 'recalc_import'), +(769, 33, 22, 2, 68.25, '2025-12-19 10:42:38', 'recalc_import'), +(770, 33, 23, 2, 60.00, '2025-12-19 10:42:38', 'recalc_import'), +(771, 33, 24, 2, 66.25, '2025-12-19 10:42:38', 'recalc_import'), +(772, 33, 25, 2, 60.50, '2025-12-19 10:42:38', 'recalc_import'), +(773, 33, 26, 2, 60.00, '2025-12-19 10:42:38', 'recalc_import'), +(774, 33, 27, 2, 60.00, '2025-12-19 10:42:38', 'recalc_import'), +(775, 33, 28, 2, 59.00, '2025-12-19 10:42:38', 'recalc_import'), +(776, 34, 21, 2, 74.50, '2025-12-19 10:42:38', 'recalc_import'), +(777, 34, 22, 2, 75.50, '2025-12-19 10:42:38', 'recalc_import'), +(778, 34, 23, 2, 79.00, '2025-12-19 10:42:38', 'recalc_import'), +(779, 34, 24, 2, 76.75, '2025-12-19 10:42:38', 'recalc_import'), +(780, 34, 25, 2, 83.50, '2025-12-19 10:42:38', 'recalc_import'), +(781, 34, 26, 2, 76.50, '2025-12-19 10:42:38', 'recalc_import'), +(782, 34, 27, 2, 76.50, '2025-12-19 10:42:38', 'recalc_import'), +(783, 34, 28, 2, 79.00, '2025-12-19 10:42:38', 'recalc_import'), +(784, 35, 21, 2, 76.25, '2025-12-19 10:42:38', 'recalc_import'), +(785, 35, 22, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(786, 35, 23, 2, 88.00, '2025-12-19 10:42:38', 'recalc_import'), +(787, 35, 24, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(788, 35, 25, 2, 71.00, '2025-12-19 10:42:38', 'recalc_import'), +(789, 35, 26, 2, 88.00, '2025-12-19 10:42:38', 'recalc_import'), +(790, 35, 27, 2, 88.00, '2025-12-19 10:42:38', 'recalc_import'), +(791, 35, 28, 2, 88.00, '2025-12-19 10:42:38', 'recalc_import'), +(792, 36, 21, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(793, 36, 22, 2, 69.50, '2025-12-19 10:42:38', 'recalc_import'), +(794, 36, 23, 2, 57.50, '2025-12-19 10:42:38', 'recalc_import'), +(795, 36, 24, 2, 71.75, '2025-12-19 10:42:38', 'recalc_import'), +(796, 36, 25, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(797, 36, 26, 2, 58.00, '2025-12-19 10:42:38', 'recalc_import'), +(798, 36, 27, 2, 56.50, '2025-12-19 10:42:38', 'recalc_import'), +(799, 36, 28, 2, 61.00, '2025-12-19 10:42:38', 'recalc_import'), +(800, 37, 21, 2, 71.50, '2025-12-19 10:42:38', 'recalc_import'), +(801, 37, 22, 2, 78.25, '2025-12-19 10:42:38', 'recalc_import'), +(802, 37, 23, 2, 75.50, '2025-12-19 10:42:38', 'recalc_import'), +(803, 37, 24, 2, 74.25, '2025-12-19 10:42:38', 'recalc_import'), +(804, 37, 25, 2, 84.50, '2025-12-19 10:42:38', 'recalc_import'), +(805, 37, 26, 2, 82.50, '2025-12-19 10:42:38', 'recalc_import'), +(806, 37, 27, 2, 82.00, '2025-12-19 10:42:38', 'recalc_import'), +(807, 37, 28, 2, 74.00, '2025-12-19 10:42:38', 'recalc_import'), +(808, 38, 21, 2, 72.50, '2025-12-19 10:42:38', 'recalc_import'), +(809, 38, 22, 2, 72.00, '2025-12-19 10:42:38', 'recalc_import'), +(810, 38, 23, 2, 91.50, '2025-12-19 10:42:38', 'recalc_import'), +(811, 38, 24, 2, 80.50, '2025-12-19 10:42:38', 'recalc_import'), +(812, 38, 25, 2, 78.50, '2025-12-19 10:42:38', 'recalc_import'), +(813, 38, 26, 2, 85.50, '2025-12-19 10:42:38', 'recalc_import'), +(814, 38, 27, 2, 71.00, '2025-12-19 10:42:38', 'recalc_import'), +(815, 38, 28, 2, 88.00, '2025-12-19 10:42:38', 'recalc_import'), +(816, 39, 21, 2, 77.75, '2025-12-19 10:42:38', 'recalc_import'), +(817, 39, 22, 2, 83.75, '2025-12-19 10:42:38', 'recalc_import'), +(818, 39, 23, 2, 65.00, '2025-12-19 10:42:38', 'recalc_import'), +(819, 39, 24, 2, 76.25, '2025-12-19 10:42:38', 'recalc_import'), +(820, 39, 25, 2, 74.50, '2025-12-19 10:42:38', 'recalc_import'), +(821, 39, 26, 2, 56.50, '2025-12-19 10:42:38', 'recalc_import'), +(822, 39, 27, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(823, 39, 28, 2, 61.00, '2025-12-19 10:42:38', 'recalc_import'), +(824, 40, 21, 2, 78.50, '2025-12-19 10:42:38', 'recalc_import'), +(825, 40, 22, 2, 69.75, '2025-12-19 10:42:38', 'recalc_import'), +(826, 40, 23, 2, 81.00, '2025-12-19 10:42:38', 'recalc_import'), +(827, 40, 24, 2, 69.75, '2025-12-19 10:42:38', 'recalc_import'), +(828, 40, 25, 2, 68.00, '2025-12-19 10:42:38', 'recalc_import'), +(829, 40, 26, 2, 82.00, '2025-12-19 10:42:38', 'recalc_import'), +(830, 40, 27, 2, 74.00, '2025-12-19 10:42:38', 'recalc_import'), +(831, 40, 28, 2, 74.00, '2025-12-19 10:42:38', 'recalc_import'), +(832, 41, 21, 2, 58.25, '2025-12-19 10:42:38', 'recalc_import'), +(833, 41, 22, 2, 55.50, '2025-12-19 10:42:38', 'recalc_import'), +(834, 41, 23, 2, 60.50, '2025-12-19 10:42:38', 'recalc_import'), +(835, 41, 24, 2, 66.50, '2025-12-19 10:42:38', 'recalc_import'), +(836, 41, 25, 2, 60.50, '2025-12-19 10:42:38', 'recalc_import'), +(837, 41, 26, 2, 74.00, '2025-12-19 10:42:38', 'recalc_import'), +(838, 41, 27, 2, 56.00, '2025-12-19 10:42:38', 'recalc_import'), +(839, 41, 28, 2, 61.00, '2025-12-19 10:42:38', 'recalc_import'), +(840, 42, 21, 2, 78.50, '2025-12-19 10:42:38', 'recalc_import'), +(841, 42, 22, 2, 75.75, '2025-12-19 10:42:38', 'recalc_import'), +(842, 42, 23, 2, 67.50, '2025-12-19 10:42:38', 'recalc_import'), +(843, 42, 24, 2, 78.50, '2025-12-19 10:42:38', 'recalc_import'), +(844, 42, 25, 2, 66.50, '2025-12-19 10:42:38', 'recalc_import'), +(845, 42, 26, 2, 69.50, '2025-12-19 10:42:38', 'recalc_import'), +(846, 42, 27, 2, 79.50, '2025-12-19 10:42:38', 'recalc_import'), +(847, 42, 28, 2, 75.00, '2025-12-19 10:42:38', 'recalc_import'), +(848, 43, 21, 2, 87.00, '2025-12-19 10:42:38', 'recalc_import'), +(849, 43, 22, 2, 97.50, '2025-12-19 10:42:38', 'recalc_import'), +(850, 43, 23, 2, 80.50, '2025-12-19 10:42:38', 'recalc_import'), +(851, 43, 24, 2, 93.00, '2025-12-19 10:42:38', 'recalc_import'), +(852, 43, 25, 2, 96.50, '2025-12-19 10:42:38', 'recalc_import'), +(853, 43, 26, 2, 97.00, '2025-12-19 10:42:38', 'recalc_import'), +(854, 43, 27, 2, 96.50, '2025-12-19 10:42:38', 'recalc_import'), +(855, 43, 28, 2, 96.00, '2025-12-19 10:42:38', 'recalc_import'), +(856, 44, 21, 2, 80.00, '2025-12-19 10:42:38', 'recalc_import'), +(857, 44, 22, 2, 75.00, '2025-12-19 10:42:38', 'recalc_import'), +(858, 44, 23, 2, 53.00, '2025-12-19 10:42:38', 'recalc_import'), +(859, 44, 24, 2, 68.25, '2025-12-19 10:42:38', 'recalc_import'), +(860, 44, 25, 2, 75.00, '2025-12-19 10:42:38', 'recalc_import'), +(861, 44, 26, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(862, 44, 27, 2, 70.00, '2025-12-19 10:42:38', 'recalc_import'), +(863, 44, 28, 2, 53.00, '2025-12-19 10:42:38', 'recalc_import'), +(864, 45, 21, 2, 73.25, '2025-12-19 10:42:38', 'recalc_import'), +(865, 45, 22, 2, 78.50, '2025-12-19 10:42:38', 'recalc_import'), +(866, 45, 23, 2, 74.00, '2025-12-19 10:42:38', 'recalc_import'), +(867, 45, 24, 2, 72.00, '2025-12-19 10:42:38', 'recalc_import'), +(868, 45, 25, 2, 80.00, '2025-12-19 10:42:38', 'recalc_import'), +(869, 45, 26, 2, 79.00, '2025-12-19 10:42:38', 'recalc_import'), +(870, 45, 27, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(871, 45, 28, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(872, 46, 21, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(873, 46, 22, 2, 71.50, '2025-12-19 10:42:38', 'recalc_import'), +(874, 46, 23, 2, 74.50, '2025-12-19 10:42:38', 'recalc_import'), +(875, 46, 24, 2, 74.25, '2025-12-19 10:42:38', 'recalc_import'), +(876, 46, 25, 2, 77.50, '2025-12-19 10:42:38', 'recalc_import'), +(877, 46, 26, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(878, 46, 27, 2, 79.50, '2025-12-19 10:42:38', 'recalc_import'), +(879, 46, 28, 2, 82.00, '2025-12-19 10:42:38', 'recalc_import'), +(880, 47, 21, 2, 75.00, '2025-12-19 10:42:38', 'recalc_import'), +(881, 47, 22, 2, 72.50, '2025-12-19 10:42:38', 'recalc_import'), +(882, 47, 23, 2, 65.50, '2025-12-19 10:42:38', 'recalc_import'), +(883, 47, 24, 2, 70.00, '2025-12-19 10:42:38', 'recalc_import'), +(884, 47, 25, 2, 71.50, '2025-12-19 10:42:38', 'recalc_import'), +(885, 47, 26, 2, 70.50, '2025-12-19 10:42:38', 'recalc_import'), +(886, 47, 27, 2, 61.50, '2025-12-19 10:42:38', 'recalc_import'), +(887, 47, 28, 2, 59.00, '2025-12-19 10:42:38', 'recalc_import'), +(888, 48, 21, 2, 73.00, '2025-12-19 10:42:38', 'recalc_import'), +(889, 48, 22, 2, 74.50, '2025-12-19 10:42:38', 'recalc_import'), +(890, 48, 23, 2, 93.00, '2025-12-19 10:42:38', 'recalc_import'), +(891, 48, 24, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(892, 48, 25, 2, 75.00, '2025-12-19 10:42:38', 'recalc_import'), +(893, 48, 26, 2, 80.50, '2025-12-19 10:42:38', 'recalc_import'), +(894, 48, 27, 2, 88.50, '2025-12-19 10:42:38', 'recalc_import'), +(895, 48, 28, 2, 88.00, '2025-12-19 10:42:38', 'recalc_import'), +(896, 49, 21, 2, 70.00, '2025-12-19 10:42:38', 'recalc_import'), +(897, 49, 22, 2, 69.50, '2025-12-19 10:42:38', 'recalc_import'), +(898, 49, 23, 2, 52.50, '2025-12-19 10:42:38', 'recalc_import'), +(899, 49, 24, 2, 71.75, '2025-12-19 10:42:38', 'recalc_import'), +(900, 49, 25, 2, 74.50, '2025-12-19 10:42:38', 'recalc_import'), +(901, 49, 26, 2, 58.00, '2025-12-19 10:42:38', 'recalc_import'), +(902, 49, 27, 2, 53.50, '2025-12-19 10:42:38', 'recalc_import'), +(903, 49, 28, 2, 54.00, '2025-12-19 10:42:38', 'recalc_import'), +(904, 50, 21, 2, 80.50, '2025-12-19 10:42:38', 'recalc_import'), +(905, 50, 22, 2, 76.25, '2025-12-19 10:42:38', 'recalc_import'), +(906, 50, 23, 2, 75.50, '2025-12-19 10:42:38', 'recalc_import'), +(907, 50, 24, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(908, 50, 25, 2, 65.00, '2025-12-19 10:42:38', 'recalc_import'), +(909, 50, 26, 2, 83.50, '2025-12-19 10:42:38', 'recalc_import'), +(910, 50, 27, 2, 81.50, '2025-12-19 10:42:38', 'recalc_import'), +(911, 50, 28, 2, 72.00, '2025-12-19 10:42:38', 'recalc_import'), +(912, 51, 21, 2, 61.25, '2025-12-19 10:42:38', 'recalc_import'), +(913, 51, 22, 2, 74.25, '2025-12-19 10:42:38', 'recalc_import'), +(914, 51, 23, 2, 90.00, '2025-12-19 10:42:38', 'recalc_import'), +(915, 51, 24, 2, 78.75, '2025-12-19 10:42:38', 'recalc_import'), +(916, 51, 25, 2, 90.50, '2025-12-19 10:42:38', 'recalc_import'), +(917, 51, 26, 2, 77.50, '2025-12-19 10:42:38', 'recalc_import'), +(918, 51, 27, 2, 81.00, '2025-12-19 10:42:38', 'recalc_import'), +(919, 51, 28, 2, 97.00, '2025-12-19 10:42:38', 'recalc_import'), +(920, 52, 21, 2, 76.50, '2025-12-19 10:42:38', 'recalc_import'), +(921, 52, 22, 2, 71.00, '2025-12-19 10:42:38', 'recalc_import'), +(922, 52, 23, 2, 61.00, '2025-12-19 10:42:38', 'recalc_import'), +(923, 52, 24, 2, 67.25, '2025-12-19 10:42:38', 'recalc_import'), +(924, 52, 25, 2, 65.50, '2025-12-19 10:42:38', 'recalc_import'), +(925, 52, 26, 2, 72.50, '2025-12-19 10:42:38', 'recalc_import'), +(926, 52, 27, 2, 67.50, '2025-12-19 10:42:38', 'recalc_import'), +(927, 52, 28, 2, 61.00, '2025-12-19 10:42:38', 'recalc_import'), +(928, 53, 21, 2, 71.00, '2025-12-19 10:42:38', 'recalc_import'), +(929, 53, 22, 2, 85.75, '2025-12-19 10:42:38', 'recalc_import'), +(930, 53, 23, 2, 91.50, '2025-12-19 10:42:38', 'recalc_import'), +(931, 53, 24, 2, 83.25, '2025-12-19 10:42:38', 'recalc_import'), +(932, 53, 25, 2, 89.00, '2025-12-19 10:42:38', 'recalc_import'), +(933, 53, 26, 2, 78.00, '2025-12-19 10:42:38', 'recalc_import'), +(934, 53, 27, 2, 84.00, '2025-12-19 10:42:38', 'recalc_import'), +(935, 53, 28, 2, 86.00, '2025-12-19 10:42:38', 'recalc_import'), +(936, 54, 21, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(937, 54, 22, 2, 60.00, '2025-12-19 10:42:38', 'recalc_import'), +(938, 54, 23, 2, 72.00, '2025-12-19 10:42:38', 'recalc_import'), +(939, 54, 24, 2, 62.25, '2025-12-19 10:42:38', 'recalc_import'), +(940, 54, 25, 2, 60.50, '2025-12-19 10:42:38', 'recalc_import'), +(941, 54, 26, 2, 76.00, '2025-12-19 10:42:38', 'recalc_import'), +(942, 54, 27, 2, 59.00, '2025-12-19 10:42:38', 'recalc_import'), +(943, 54, 28, 2, 60.00, '2025-12-19 10:42:38', 'recalc_import'), +(944, 55, 21, 2, 75.25, '2025-12-19 10:42:38', 'recalc_import'), +(945, 55, 22, 2, 89.50, '2025-12-19 10:42:38', 'recalc_import'), +(946, 55, 23, 2, 68.50, '2025-12-19 10:42:38', 'recalc_import'); +INSERT INTO `nilai_cpl` (`id_nilai_cpl`, `id_mhs`, `id_cpl`, `semester_eval`, `nilai_angka`, `tanggal_hitung`, `sumber`) VALUES +(947, 55, 24, 2, 93.50, '2025-12-19 10:42:38', 'recalc_import'), +(948, 55, 25, 2, 91.00, '2025-12-19 10:42:38', 'recalc_import'), +(949, 55, 26, 2, 72.50, '2025-12-19 10:42:38', 'recalc_import'), +(950, 55, 27, 2, 81.50, '2025-12-19 10:42:38', 'recalc_import'), +(951, 55, 28, 2, 84.00, '2025-12-19 10:42:38', 'recalc_import'), +(952, 56, 21, 2, 79.00, '2025-12-19 10:42:38', 'recalc_import'), +(953, 56, 22, 2, 68.25, '2025-12-19 10:42:38', 'recalc_import'), +(954, 56, 23, 2, 82.50, '2025-12-19 10:42:38', 'recalc_import'), +(955, 56, 24, 2, 74.50, '2025-12-19 10:42:38', 'recalc_import'), +(956, 56, 25, 2, 66.00, '2025-12-19 10:42:38', 'recalc_import'), +(957, 56, 26, 2, 88.50, '2025-12-19 10:42:38', 'recalc_import'), +(958, 56, 27, 2, 68.00, '2025-12-19 10:42:38', 'recalc_import'), +(959, 56, 28, 2, 79.00, '2025-12-19 10:42:38', 'recalc_import'), +(960, 57, 21, 2, 57.75, '2025-12-19 10:42:38', 'recalc_import'), +(961, 57, 22, 2, 74.75, '2025-12-19 10:42:38', 'recalc_import'), +(962, 57, 23, 2, 74.00, '2025-12-19 10:42:38', 'recalc_import'), +(963, 57, 24, 2, 71.50, '2025-12-19 10:42:38', 'recalc_import'), +(964, 57, 25, 2, 87.00, '2025-12-19 10:42:38', 'recalc_import'), +(965, 57, 26, 2, 70.50, '2025-12-19 10:42:38', 'recalc_import'), +(966, 57, 27, 2, 80.00, '2025-12-19 10:42:38', 'recalc_import'), +(967, 57, 28, 2, 88.00, '2025-12-19 10:42:38', 'recalc_import'), +(968, 58, 21, 2, 76.50, '2025-12-19 10:42:38', 'recalc_import'), +(969, 58, 22, 2, 66.25, '2025-12-19 10:42:38', 'recalc_import'), +(970, 58, 23, 2, 65.50, '2025-12-19 10:42:38', 'recalc_import'), +(971, 58, 24, 2, 72.25, '2025-12-19 10:42:38', 'recalc_import'), +(972, 58, 25, 2, 56.00, '2025-12-19 10:42:38', 'recalc_import'), +(973, 58, 26, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(974, 58, 27, 2, 59.50, '2025-12-19 10:42:38', 'recalc_import'), +(975, 58, 28, 2, 52.00, '2025-12-19 10:42:38', 'recalc_import'), +(976, 59, 21, 2, 81.50, '2025-12-19 10:42:38', 'recalc_import'), +(977, 59, 22, 2, 79.00, '2025-12-19 10:42:38', 'recalc_import'), +(978, 59, 23, 2, 89.00, '2025-12-19 10:42:38', 'recalc_import'), +(979, 59, 24, 2, 69.00, '2025-12-19 10:42:38', 'recalc_import'), +(980, 59, 25, 2, 80.50, '2025-12-19 10:42:38', 'recalc_import'), +(981, 59, 26, 2, 75.00, '2025-12-19 10:42:38', 'recalc_import'), +(982, 59, 27, 2, 92.50, '2025-12-19 10:42:38', 'recalc_import'), +(983, 59, 28, 2, 90.00, '2025-12-19 10:42:38', 'recalc_import'), +(984, 60, 21, 2, 68.75, '2025-12-19 10:42:38', 'recalc_import'), +(985, 60, 22, 2, 75.75, '2025-12-19 10:42:38', 'recalc_import'), +(986, 60, 23, 2, 57.50, '2025-12-19 10:42:38', 'recalc_import'), +(987, 60, 24, 2, 73.75, '2025-12-19 10:42:38', 'recalc_import'), +(988, 60, 25, 2, 71.00, '2025-12-19 10:42:38', 'recalc_import'), +(989, 60, 26, 2, 67.00, '2025-12-19 10:42:38', 'recalc_import'), +(990, 60, 27, 2, 72.50, '2025-12-19 10:42:38', 'recalc_import'), +(991, 60, 28, 2, 63.00, '2025-12-19 10:42:38', 'recalc_import'), +(1028, 1, 21, 4, 79.50, '2025-12-20 08:52:54', 'recalc_import'), +(1029, 1, 22, 4, 65.67, '2025-12-20 08:52:54', 'recalc_import'), +(1030, 1, 23, 4, 74.25, '2025-12-20 08:52:54', 'recalc_import'), +(1031, 1, 24, 4, 65.67, '2025-12-20 08:52:54', 'recalc_import'), +(1032, 1, 25, 4, 65.67, '2025-12-20 08:52:54', 'recalc_import'), +(1033, 1, 26, 4, 77.50, '2025-12-20 08:52:54', 'recalc_import'), +(1034, 1, 27, 4, 69.40, '2025-12-20 08:52:54', 'recalc_import'), +(1035, 1, 28, 4, 69.40, '2025-12-20 08:52:54', 'recalc_import'), +(1036, 2, 21, 4, 74.75, '2025-12-20 08:52:54', 'recalc_import'), +(1037, 2, 22, 4, 74.00, '2025-12-20 08:52:54', 'recalc_import'), +(1038, 2, 23, 4, 75.00, '2025-12-20 08:52:54', 'recalc_import'), +(1039, 2, 24, 4, 74.00, '2025-12-20 08:52:54', 'recalc_import'), +(1040, 2, 25, 4, 74.00, '2025-12-20 08:52:54', 'recalc_import'), +(1041, 2, 26, 4, 73.33, '2025-12-20 08:52:54', 'recalc_import'), +(1042, 2, 27, 4, 68.00, '2025-12-20 08:52:54', 'recalc_import'), +(1043, 2, 28, 4, 68.00, '2025-12-20 08:52:54', 'recalc_import'), +(1044, 3, 21, 4, 79.75, '2025-12-20 08:52:54', 'recalc_import'), +(1045, 3, 22, 4, 58.67, '2025-12-20 08:52:54', 'recalc_import'), +(1046, 3, 23, 4, 73.75, '2025-12-20 08:52:54', 'recalc_import'), +(1047, 3, 24, 4, 58.67, '2025-12-20 08:52:54', 'recalc_import'), +(1048, 3, 25, 4, 58.67, '2025-12-20 08:52:54', 'recalc_import'), +(1049, 3, 26, 4, 70.17, '2025-12-20 08:52:54', 'recalc_import'), +(1050, 3, 27, 4, 68.20, '2025-12-20 08:52:54', 'recalc_import'), +(1051, 3, 28, 4, 68.20, '2025-12-20 08:52:54', 'recalc_import'), +(1052, 4, 21, 4, 80.25, '2025-12-20 08:52:54', 'recalc_import'), +(1053, 4, 22, 4, 66.00, '2025-12-20 08:52:54', 'recalc_import'), +(1054, 4, 23, 4, 70.00, '2025-12-20 08:52:54', 'recalc_import'), +(1055, 4, 24, 4, 66.00, '2025-12-20 08:52:54', 'recalc_import'), +(1056, 4, 25, 4, 66.00, '2025-12-20 08:52:54', 'recalc_import'), +(1057, 4, 26, 4, 67.50, '2025-12-20 08:52:54', 'recalc_import'), +(1058, 4, 27, 4, 64.60, '2025-12-20 08:52:54', 'recalc_import'), +(1059, 4, 28, 4, 64.60, '2025-12-20 08:52:54', 'recalc_import'), +(1060, 5, 21, 4, 72.50, '2025-12-20 08:52:54', 'recalc_import'), +(1061, 5, 22, 4, 65.33, '2025-12-20 08:52:54', 'recalc_import'), +(1062, 5, 23, 4, 68.25, '2025-12-20 08:52:54', 'recalc_import'), +(1063, 5, 24, 4, 65.33, '2025-12-20 08:52:54', 'recalc_import'), +(1064, 5, 25, 4, 65.33, '2025-12-20 08:52:54', 'recalc_import'), +(1065, 5, 26, 4, 63.50, '2025-12-20 08:52:54', 'recalc_import'), +(1066, 5, 27, 4, 64.60, '2025-12-20 08:52:54', 'recalc_import'), +(1067, 5, 28, 4, 64.60, '2025-12-20 08:52:54', 'recalc_import'), +(1068, 6, 21, 4, 64.25, '2025-12-20 08:52:54', 'recalc_import'), +(1069, 6, 22, 4, 76.67, '2025-12-20 08:52:54', 'recalc_import'), +(1070, 6, 23, 4, 70.25, '2025-12-20 08:52:54', 'recalc_import'), +(1071, 6, 24, 4, 76.67, '2025-12-20 08:52:54', 'recalc_import'), +(1072, 6, 25, 4, 76.67, '2025-12-20 08:52:54', 'recalc_import'), +(1073, 6, 26, 4, 73.33, '2025-12-20 08:52:54', 'recalc_import'), +(1074, 6, 27, 4, 80.60, '2025-12-20 08:52:54', 'recalc_import'), +(1075, 6, 28, 4, 80.60, '2025-12-20 08:52:54', 'recalc_import'), +(1076, 7, 21, 4, 80.50, '2025-12-20 08:52:54', 'recalc_import'), +(1077, 7, 22, 4, 70.33, '2025-12-20 08:52:54', 'recalc_import'), +(1078, 7, 23, 4, 80.25, '2025-12-20 08:52:54', 'recalc_import'), +(1079, 7, 24, 4, 70.33, '2025-12-20 08:52:54', 'recalc_import'), +(1080, 7, 25, 4, 70.33, '2025-12-20 08:52:54', 'recalc_import'), +(1081, 7, 26, 4, 77.00, '2025-12-20 08:52:54', 'recalc_import'), +(1082, 7, 27, 4, 67.80, '2025-12-20 08:52:54', 'recalc_import'), +(1083, 7, 28, 4, 67.80, '2025-12-20 08:52:54', 'recalc_import'), +(1084, 8, 21, 4, 76.00, '2025-12-20 08:52:54', 'recalc_import'), +(1085, 8, 22, 4, 87.33, '2025-12-20 08:52:54', 'recalc_import'), +(1086, 8, 23, 4, 75.50, '2025-12-20 08:52:54', 'recalc_import'), +(1087, 8, 24, 4, 87.33, '2025-12-20 08:52:54', 'recalc_import'), +(1088, 8, 25, 4, 87.33, '2025-12-20 08:52:54', 'recalc_import'), +(1089, 8, 26, 4, 75.83, '2025-12-20 08:52:54', 'recalc_import'), +(1090, 8, 27, 4, 81.60, '2025-12-20 08:52:54', 'recalc_import'), +(1091, 8, 28, 4, 81.60, '2025-12-20 08:52:54', 'recalc_import'), +(1092, 9, 21, 4, 66.75, '2025-12-20 08:52:54', 'recalc_import'), +(1093, 9, 22, 4, 64.67, '2025-12-20 08:52:54', 'recalc_import'), +(1094, 9, 23, 4, 76.00, '2025-12-20 08:52:54', 'recalc_import'), +(1095, 9, 24, 4, 64.67, '2025-12-20 08:52:54', 'recalc_import'), +(1096, 9, 25, 4, 64.67, '2025-12-20 08:52:54', 'recalc_import'), +(1097, 9, 26, 4, 75.50, '2025-12-20 08:52:54', 'recalc_import'), +(1098, 9, 27, 4, 71.20, '2025-12-20 08:52:54', 'recalc_import'), +(1099, 9, 28, 4, 71.20, '2025-12-20 08:52:54', 'recalc_import'), +(1100, 10, 21, 4, 82.75, '2025-12-20 08:52:54', 'recalc_import'), +(1101, 10, 22, 4, 76.67, '2025-12-20 08:52:54', 'recalc_import'), +(1102, 10, 23, 4, 75.50, '2025-12-20 08:52:54', 'recalc_import'), +(1103, 10, 24, 4, 76.67, '2025-12-20 08:52:54', 'recalc_import'), +(1104, 10, 25, 4, 76.67, '2025-12-20 08:52:54', 'recalc_import'), +(1105, 10, 26, 4, 73.83, '2025-12-20 08:52:54', 'recalc_import'), +(1106, 10, 27, 4, 72.00, '2025-12-20 08:52:54', 'recalc_import'), +(1107, 10, 28, 4, 72.00, '2025-12-20 08:52:54', 'recalc_import'), +(1155, 1, 21, 3, 70.00, '2026-01-22 01:06:04', 'recalc_import'), +(1156, 1, 22, 3, 70.00, '2026-01-22 01:06:04', 'recalc_import'), +(1157, 1, 23, 3, 100.00, '2026-01-22 01:06:04', 'recalc_import'), +(1158, 1, 24, 3, 70.00, '2026-01-22 01:06:04', 'recalc_import'), +(1159, 1, 25, 3, 60.50, '2025-12-22 03:08:39', 'recalc_import'), +(1160, 1, 26, 3, 85.00, '2026-01-22 01:06:04', 'recalc_import'), +(1161, 1, 27, 3, 79.33, '2025-12-22 03:08:39', 'recalc_import'), +(1162, 1, 28, 3, 70.00, '2026-01-22 01:06:04', 'recalc_import'), +(1163, 2, 21, 3, 76.25, '2025-12-22 03:08:39', 'recalc_import'), +(1164, 2, 22, 3, 68.50, '2025-12-22 03:08:39', 'recalc_import'), +(1165, 2, 23, 3, 82.67, '2025-12-22 03:08:39', 'recalc_import'), +(1166, 2, 24, 3, 67.00, '2025-12-22 03:08:39', 'recalc_import'), +(1167, 2, 25, 3, 67.00, '2025-12-22 03:08:39', 'recalc_import'), +(1168, 2, 26, 3, 75.75, '2025-12-22 03:08:39', 'recalc_import'), +(1169, 2, 27, 3, 71.00, '2025-12-22 03:08:39', 'recalc_import'), +(1170, 2, 28, 3, 67.60, '2025-12-22 03:08:39', 'recalc_import'), +(1171, 3, 21, 3, 81.25, '2025-12-22 03:08:39', 'recalc_import'), +(1172, 3, 22, 3, 72.50, '2025-12-22 03:08:39', 'recalc_import'), +(1173, 3, 23, 3, 70.33, '2025-12-22 03:08:39', 'recalc_import'), +(1174, 3, 24, 3, 82.00, '2025-12-22 03:08:39', 'recalc_import'), +(1175, 3, 25, 3, 82.00, '2025-12-22 03:08:39', 'recalc_import'), +(1176, 3, 26, 3, 71.75, '2025-12-22 03:08:39', 'recalc_import'), +(1177, 3, 27, 3, 69.33, '2025-12-22 03:08:39', 'recalc_import'), +(1178, 3, 28, 3, 74.60, '2025-12-22 03:08:39', 'recalc_import'), +(1179, 4, 21, 3, 72.50, '2025-12-22 03:08:39', 'recalc_import'), +(1180, 4, 22, 3, 65.50, '2025-12-22 03:08:39', 'recalc_import'), +(1181, 4, 23, 3, 62.67, '2025-12-22 03:08:39', 'recalc_import'), +(1182, 4, 24, 3, 68.50, '2025-12-22 03:08:39', 'recalc_import'), +(1183, 4, 25, 3, 68.50, '2025-12-22 03:08:39', 'recalc_import'), +(1184, 4, 26, 3, 64.25, '2025-12-22 03:08:39', 'recalc_import'), +(1185, 4, 27, 3, 74.67, '2025-12-22 03:08:39', 'recalc_import'), +(1186, 4, 28, 3, 69.80, '2025-12-22 03:08:39', 'recalc_import'), +(1187, 5, 21, 3, 72.75, '2025-12-22 03:08:39', 'recalc_import'), +(1188, 5, 22, 3, 57.75, '2025-12-22 03:08:39', 'recalc_import'), +(1189, 5, 23, 3, 54.33, '2025-12-22 03:08:39', 'recalc_import'), +(1190, 5, 24, 3, 61.50, '2025-12-22 03:08:39', 'recalc_import'), +(1191, 5, 25, 3, 61.50, '2025-12-22 03:08:39', 'recalc_import'), +(1192, 5, 26, 3, 54.75, '2025-12-22 03:08:39', 'recalc_import'), +(1193, 5, 27, 3, 58.00, '2025-12-22 03:08:39', 'recalc_import'), +(1194, 5, 28, 3, 60.20, '2025-12-22 03:08:39', 'recalc_import'), +(1195, 6, 21, 3, 73.50, '2025-12-22 03:08:39', 'recalc_import'), +(1196, 6, 22, 3, 84.50, '2025-12-22 03:08:39', 'recalc_import'), +(1197, 6, 23, 3, 79.67, '2025-12-22 03:08:39', 'recalc_import'), +(1198, 6, 24, 3, 89.50, '2025-12-22 03:08:39', 'recalc_import'), +(1199, 6, 25, 3, 89.50, '2025-12-22 03:08:39', 'recalc_import'), +(1200, 6, 26, 3, 80.25, '2025-12-22 03:08:39', 'recalc_import'), +(1201, 6, 27, 3, 73.00, '2025-12-22 03:08:39', 'recalc_import'), +(1202, 6, 28, 3, 78.40, '2025-12-22 03:08:39', 'recalc_import'), +(1203, 7, 21, 3, 72.25, '2025-12-22 03:08:39', 'recalc_import'), +(1204, 7, 22, 3, 64.50, '2025-12-22 03:08:39', 'recalc_import'), +(1205, 7, 23, 3, 73.33, '2025-12-22 03:08:39', 'recalc_import'), +(1206, 7, 24, 3, 58.50, '2025-12-22 03:08:39', 'recalc_import'), +(1207, 7, 25, 3, 58.50, '2025-12-22 03:08:39', 'recalc_import'), +(1208, 7, 26, 3, 73.25, '2025-12-22 03:08:39', 'recalc_import'), +(1209, 7, 27, 3, 72.67, '2025-12-22 03:08:39', 'recalc_import'), +(1210, 7, 28, 3, 69.20, '2025-12-22 03:08:39', 'recalc_import'), +(1211, 8, 21, 3, 78.25, '2025-12-22 03:08:39', 'recalc_import'), +(1212, 8, 22, 3, 82.75, '2025-12-22 03:08:39', 'recalc_import'), +(1213, 8, 23, 3, 80.33, '2025-12-22 03:08:39', 'recalc_import'), +(1214, 8, 24, 3, 89.00, '2025-12-22 03:08:39', 'recalc_import'), +(1215, 8, 25, 3, 89.00, '2025-12-22 03:08:39', 'recalc_import'), +(1216, 8, 26, 3, 75.75, '2025-12-22 03:08:39', 'recalc_import'), +(1217, 8, 27, 3, 86.67, '2025-12-22 03:08:39', 'recalc_import'), +(1218, 8, 28, 3, 81.20, '2025-12-22 03:08:39', 'recalc_import'), +(1219, 9, 21, 3, 63.25, '2025-12-22 03:08:39', 'recalc_import'), +(1220, 9, 22, 3, 71.75, '2025-12-22 03:08:39', 'recalc_import'), +(1221, 9, 23, 3, 100.00, '2026-01-22 01:06:04', 'recalc_import'), +(1222, 9, 24, 3, 69.00, '2025-12-22 03:08:39', 'recalc_import'), +(1223, 9, 25, 3, 69.00, '2025-12-22 03:08:39', 'recalc_import'), +(1224, 9, 26, 3, 100.00, '2026-01-22 01:06:04', 'recalc_import'), +(1225, 9, 27, 3, 68.67, '2025-12-22 03:08:39', 'recalc_import'), +(1226, 9, 28, 3, 73.60, '2025-12-22 03:08:39', 'recalc_import'), +(1227, 10, 21, 3, 77.50, '2025-12-22 03:08:39', 'recalc_import'), +(1228, 10, 22, 3, 68.00, '2025-12-22 03:08:39', 'recalc_import'), +(1229, 10, 23, 3, 68.00, '2025-12-22 03:08:39', 'recalc_import'), +(1230, 10, 24, 3, 65.50, '2025-12-22 03:08:39', 'recalc_import'), +(1231, 10, 25, 3, 65.50, '2025-12-22 03:08:39', 'recalc_import'), +(1232, 10, 26, 3, 65.50, '2025-12-22 03:08:39', 'recalc_import'), +(1233, 10, 27, 3, 78.33, '2025-12-22 03:08:39', 'recalc_import'), +(1234, 10, 28, 3, 73.00, '2025-12-22 03:08:39', 'recalc_import'), +(1282, 1, 21, 5, 66.75, '2025-12-20 08:58:21', 'recalc_import'), +(1283, 1, 22, 5, 78.00, '2025-12-20 08:58:21', 'recalc_import'), +(1284, 1, 23, 5, 72.67, '2025-12-20 08:58:21', 'recalc_import'), +(1285, 1, 24, 5, 78.00, '2025-12-20 08:58:21', 'recalc_import'), +(1286, 1, 25, 5, 75.17, '2025-12-20 08:58:21', 'recalc_import'), +(1287, 1, 26, 5, 75.00, '2025-12-20 08:58:21', 'recalc_import'), +(1288, 1, 27, 5, 78.00, '2025-12-20 08:58:21', 'recalc_import'), +(1289, 1, 28, 5, 78.57, '2025-12-20 08:58:21', 'recalc_import'), +(1290, 2, 21, 5, 72.25, '2025-12-20 08:58:21', 'recalc_import'), +(1291, 2, 22, 5, 67.67, '2025-12-20 08:58:21', 'recalc_import'), +(1292, 2, 23, 5, 71.67, '2025-12-20 08:58:21', 'recalc_import'), +(1293, 2, 24, 5, 67.67, '2025-12-20 08:58:21', 'recalc_import'), +(1294, 2, 25, 5, 71.17, '2025-12-20 08:58:21', 'recalc_import'), +(1295, 2, 26, 5, 70.40, '2025-12-20 08:58:21', 'recalc_import'), +(1296, 2, 27, 5, 67.67, '2025-12-20 08:58:21', 'recalc_import'), +(1297, 2, 28, 5, 70.14, '2025-12-20 08:58:21', 'recalc_import'), +(1298, 3, 21, 5, 77.50, '2025-12-20 08:58:21', 'recalc_import'), +(1299, 3, 22, 5, 79.50, '2025-12-20 08:58:21', 'recalc_import'), +(1300, 3, 23, 5, 84.33, '2025-12-20 08:58:21', 'recalc_import'), +(1301, 3, 24, 5, 79.50, '2025-12-20 08:58:21', 'recalc_import'), +(1302, 3, 25, 5, 74.00, '2025-12-20 08:58:21', 'recalc_import'), +(1303, 3, 26, 5, 77.40, '2025-12-20 08:58:21', 'recalc_import'), +(1304, 3, 27, 5, 79.50, '2025-12-20 08:58:21', 'recalc_import'), +(1305, 3, 28, 5, 75.29, '2025-12-20 08:58:21', 'recalc_import'), +(1306, 4, 21, 5, 66.75, '2025-12-20 08:58:21', 'recalc_import'), +(1307, 4, 22, 5, 70.17, '2025-12-20 08:58:21', 'recalc_import'), +(1308, 4, 23, 5, 76.33, '2025-12-20 08:58:21', 'recalc_import'), +(1309, 4, 24, 5, 70.17, '2025-12-20 08:58:21', 'recalc_import'), +(1310, 4, 25, 5, 65.00, '2025-12-20 08:58:21', 'recalc_import'), +(1311, 4, 26, 5, 75.40, '2025-12-20 08:58:21', 'recalc_import'), +(1312, 4, 27, 5, 70.17, '2025-12-20 08:58:21', 'recalc_import'), +(1313, 4, 28, 5, 68.14, '2025-12-20 08:58:21', 'recalc_import'), +(1314, 5, 21, 5, 75.50, '2025-12-20 08:58:21', 'recalc_import'), +(1315, 5, 22, 5, 72.17, '2025-12-20 08:58:21', 'recalc_import'), +(1316, 5, 23, 5, 65.33, '2025-12-20 08:58:21', 'recalc_import'), +(1317, 5, 24, 5, 72.17, '2025-12-20 08:58:21', 'recalc_import'), +(1318, 5, 25, 5, 69.17, '2025-12-20 08:58:21', 'recalc_import'), +(1319, 5, 26, 5, 71.60, '2025-12-20 08:58:21', 'recalc_import'), +(1320, 5, 27, 5, 72.17, '2025-12-20 08:58:21', 'recalc_import'), +(1321, 5, 28, 5, 69.29, '2025-12-20 08:58:21', 'recalc_import'), +(1322, 6, 21, 5, 76.00, '2025-12-20 08:58:21', 'recalc_import'), +(1323, 6, 22, 5, 71.00, '2025-12-20 08:58:21', 'recalc_import'), +(1324, 6, 23, 5, 74.00, '2025-12-20 08:58:21', 'recalc_import'), +(1325, 6, 24, 5, 71.00, '2025-12-20 08:58:21', 'recalc_import'), +(1326, 6, 25, 5, 74.83, '2025-12-20 08:58:21', 'recalc_import'), +(1327, 6, 26, 5, 68.20, '2025-12-20 08:58:21', 'recalc_import'), +(1328, 6, 27, 5, 71.00, '2025-12-20 08:58:21', 'recalc_import'), +(1329, 6, 28, 5, 71.86, '2025-12-20 08:58:21', 'recalc_import'), +(1330, 7, 21, 5, 75.25, '2025-12-20 08:58:21', 'recalc_import'), +(1331, 7, 22, 5, 76.83, '2025-12-20 08:58:21', 'recalc_import'), +(1332, 7, 23, 5, 75.33, '2025-12-20 08:58:21', 'recalc_import'), +(1333, 7, 24, 5, 76.83, '2025-12-20 08:58:21', 'recalc_import'), +(1334, 7, 25, 5, 73.50, '2025-12-20 08:58:21', 'recalc_import'), +(1335, 7, 26, 5, 79.00, '2025-12-20 08:58:21', 'recalc_import'), +(1336, 7, 27, 5, 76.83, '2025-12-20 08:58:21', 'recalc_import'), +(1337, 7, 28, 5, 75.57, '2025-12-20 08:58:21', 'recalc_import'), +(1338, 8, 21, 5, 68.25, '2025-12-20 08:58:21', 'recalc_import'), +(1339, 8, 22, 5, 73.67, '2025-12-20 08:58:21', 'recalc_import'), +(1340, 8, 23, 5, 79.33, '2025-12-20 08:58:21', 'recalc_import'), +(1341, 8, 24, 5, 73.67, '2025-12-20 08:58:21', 'recalc_import'), +(1342, 8, 25, 5, 76.33, '2025-12-20 08:58:21', 'recalc_import'), +(1343, 8, 26, 5, 78.00, '2025-12-20 08:58:21', 'recalc_import'), +(1344, 8, 27, 5, 73.67, '2025-12-20 08:58:21', 'recalc_import'), +(1345, 8, 28, 5, 76.14, '2025-12-20 08:58:21', 'recalc_import'), +(1346, 9, 21, 5, 77.00, '2025-12-20 08:58:21', 'recalc_import'), +(1347, 9, 22, 5, 75.00, '2025-12-20 08:58:21', 'recalc_import'), +(1348, 9, 23, 5, 69.67, '2025-12-20 08:58:21', 'recalc_import'), +(1349, 9, 24, 5, 75.00, '2025-12-20 08:58:21', 'recalc_import'), +(1350, 9, 25, 5, 70.50, '2025-12-20 08:58:21', 'recalc_import'), +(1351, 9, 26, 5, 71.80, '2025-12-20 08:58:21', 'recalc_import'), +(1352, 9, 27, 5, 75.00, '2025-12-20 08:58:21', 'recalc_import'), +(1353, 9, 28, 5, 72.00, '2025-12-20 08:58:21', 'recalc_import'), +(1354, 10, 21, 5, 70.50, '2025-12-20 08:58:21', 'recalc_import'), +(1355, 10, 22, 5, 77.33, '2025-12-20 08:58:21', 'recalc_import'), +(1356, 10, 23, 5, 70.67, '2025-12-20 08:58:21', 'recalc_import'), +(1357, 10, 24, 5, 77.33, '2025-12-20 08:58:21', 'recalc_import'), +(1358, 10, 25, 5, 75.67, '2025-12-20 08:58:21', 'recalc_import'), +(1359, 10, 26, 5, 78.60, '2025-12-20 08:58:21', 'recalc_import'), +(1360, 10, 27, 5, 77.33, '2025-12-20 08:58:21', 'recalc_import'), +(1361, 10, 28, 5, 78.14, '2025-12-20 08:58:21', 'recalc_import'), +(1409, 1, 21, 6, 74.50, '2026-01-22 10:28:13', 'recalc_import'), +(1410, 1, 22, 6, 50.00, '2026-01-22 10:28:13', 'recalc_import'), +(1411, 1, 23, 6, 66.33, '2025-12-20 08:58:35', 'recalc_import'), +(1412, 1, 24, 6, 74.50, '2026-01-22 10:28:13', 'recalc_import'), +(1413, 1, 25, 6, 74.50, '2026-01-22 10:28:13', 'recalc_import'), +(1414, 1, 26, 6, 50.00, '2026-01-22 10:28:13', 'recalc_import'), +(1415, 1, 27, 6, 71.00, '2025-12-20 08:58:35', 'recalc_import'), +(1416, 1, 28, 6, 99.00, '2026-01-22 10:28:13', 'recalc_import'), +(1417, 2, 21, 6, 73.67, '2025-12-20 08:58:35', 'recalc_import'), +(1418, 2, 22, 6, 57.50, '2025-12-20 08:58:35', 'recalc_import'), +(1419, 2, 23, 6, 59.67, '2025-12-20 08:58:35', 'recalc_import'), +(1420, 2, 24, 6, 71.17, '2025-12-20 08:58:35', 'recalc_import'), +(1421, 2, 25, 6, 65.60, '2025-12-20 08:58:35', 'recalc_import'), +(1422, 2, 26, 6, 63.00, '2025-12-20 08:58:35', 'recalc_import'), +(1423, 2, 27, 6, 57.50, '2025-12-20 08:58:35', 'recalc_import'), +(1424, 2, 28, 6, 71.17, '2025-12-20 08:58:35', 'recalc_import'), +(1425, 3, 21, 6, 63.33, '2025-12-20 08:58:35', 'recalc_import'), +(1426, 3, 22, 6, 90.50, '2025-12-20 08:58:35', 'recalc_import'), +(1427, 3, 23, 6, 85.33, '2025-12-20 08:58:35', 'recalc_import'), +(1428, 3, 24, 6, 74.00, '2025-12-20 08:58:35', 'recalc_import'), +(1429, 3, 25, 6, 71.60, '2025-12-20 08:58:35', 'recalc_import'), +(1430, 3, 26, 6, 76.75, '2025-12-20 08:58:35', 'recalc_import'), +(1431, 3, 27, 6, 90.50, '2025-12-20 08:58:35', 'recalc_import'), +(1432, 3, 28, 6, 74.00, '2025-12-20 08:58:35', 'recalc_import'), +(1433, 4, 21, 6, 57.67, '2025-12-20 08:58:35', 'recalc_import'), +(1434, 4, 22, 6, 76.50, '2025-12-20 08:58:35', 'recalc_import'), +(1435, 4, 23, 6, 78.00, '2025-12-20 08:58:35', 'recalc_import'), +(1436, 4, 24, 6, 65.00, '2025-12-20 08:58:35', 'recalc_import'), +(1437, 4, 25, 6, 67.80, '2025-12-20 08:58:35', 'recalc_import'), +(1438, 4, 26, 6, 73.75, '2025-12-20 08:58:35', 'recalc_import'), +(1439, 4, 27, 6, 76.50, '2025-12-20 08:58:35', 'recalc_import'), +(1440, 4, 28, 6, 65.00, '2025-12-20 08:58:35', 'recalc_import'), +(1441, 5, 21, 6, 71.67, '2025-12-20 08:58:35', 'recalc_import'), +(1442, 5, 22, 6, 78.00, '2025-12-20 08:58:35', 'recalc_import'), +(1443, 5, 23, 6, 69.33, '2025-12-20 08:58:35', 'recalc_import'), +(1444, 5, 24, 6, 69.17, '2025-12-20 08:58:35', 'recalc_import'), +(1445, 5, 25, 6, 71.20, '2025-12-20 08:58:35', 'recalc_import'), +(1446, 5, 26, 6, 75.00, '2025-12-20 08:58:35', 'recalc_import'), +(1447, 5, 27, 6, 78.00, '2025-12-20 08:58:35', 'recalc_import'), +(1448, 5, 28, 6, 69.17, '2025-12-20 08:58:35', 'recalc_import'), +(1449, 6, 21, 6, 77.67, '2025-12-20 08:58:35', 'recalc_import'), +(1450, 6, 22, 6, 75.50, '2025-12-20 08:58:35', 'recalc_import'), +(1451, 6, 23, 6, 79.67, '2025-12-20 08:58:35', 'recalc_import'), +(1452, 6, 24, 6, 74.83, '2025-12-20 08:58:35', 'recalc_import'), +(1453, 6, 25, 6, 75.00, '2025-12-20 08:58:35', 'recalc_import'), +(1454, 6, 26, 6, 76.00, '2025-12-20 08:58:35', 'recalc_import'), +(1455, 6, 27, 6, 75.50, '2025-12-20 08:58:35', 'recalc_import'), +(1456, 6, 28, 6, 74.83, '2025-12-20 08:58:35', 'recalc_import'), +(1457, 7, 21, 6, 68.00, '2025-12-20 08:58:35', 'recalc_import'), +(1458, 7, 22, 6, 64.50, '2025-12-20 08:58:35', 'recalc_import'), +(1459, 7, 23, 6, 63.67, '2025-12-20 08:58:35', 'recalc_import'), +(1460, 7, 24, 6, 73.50, '2025-12-20 08:58:35', 'recalc_import'), +(1461, 7, 25, 6, 70.20, '2025-12-20 08:58:35', 'recalc_import'), +(1462, 7, 26, 6, 68.00, '2025-12-20 08:58:35', 'recalc_import'), +(1463, 7, 27, 6, 64.50, '2025-12-20 08:58:35', 'recalc_import'), +(1464, 7, 28, 6, 73.50, '2025-12-20 08:58:35', 'recalc_import'), +(1465, 8, 21, 6, 84.00, '2025-12-20 08:58:35', 'recalc_import'), +(1466, 8, 22, 6, 86.00, '2025-12-20 08:58:35', 'recalc_import'), +(1467, 8, 23, 6, 88.67, '2025-12-20 08:58:35', 'recalc_import'), +(1468, 8, 24, 6, 76.33, '2025-12-20 08:58:35', 'recalc_import'), +(1469, 8, 25, 6, 80.40, '2025-12-20 08:58:35', 'recalc_import'), +(1470, 8, 26, 6, 85.75, '2025-12-20 08:58:35', 'recalc_import'), +(1471, 8, 27, 6, 86.00, '2025-12-20 08:58:35', 'recalc_import'), +(1472, 8, 28, 6, 76.33, '2025-12-20 08:58:35', 'recalc_import'), +(1473, 9, 21, 6, 63.33, '2025-12-20 08:58:35', 'recalc_import'), +(1474, 9, 22, 6, 61.00, '2025-12-20 08:58:35', 'recalc_import'), +(1475, 9, 23, 6, 64.33, '2025-12-20 08:58:35', 'recalc_import'), +(1476, 9, 24, 6, 70.50, '2025-12-20 08:58:35', 'recalc_import'), +(1477, 9, 25, 6, 68.00, '2025-12-20 08:58:35', 'recalc_import'), +(1478, 9, 26, 6, 65.50, '2025-12-20 08:58:35', 'recalc_import'), +(1479, 9, 27, 6, 61.00, '2025-12-20 08:58:35', 'recalc_import'), +(1480, 9, 28, 6, 70.50, '2025-12-20 08:58:35', 'recalc_import'), +(1481, 10, 21, 6, 81.00, '2025-12-20 08:58:35', 'recalc_import'), +(1482, 10, 22, 6, 81.50, '2025-12-20 08:58:35', 'recalc_import'), +(1483, 10, 23, 6, 74.00, '2025-12-20 08:58:35', 'recalc_import'), +(1484, 10, 24, 6, 75.67, '2025-12-20 08:58:35', 'recalc_import'), +(1485, 10, 25, 6, 78.40, '2025-12-20 08:58:35', 'recalc_import'), +(1486, 10, 26, 6, 77.50, '2025-12-20 08:58:35', 'recalc_import'), +(1487, 10, 27, 6, 81.50, '2025-12-20 08:58:35', 'recalc_import'), +(1488, 10, 28, 6, 75.67, '2025-12-20 08:58:35', 'recalc_import'), +(1536, 1, 21, 7, 76.00, '2025-12-20 08:58:49', 'recalc_import'), +(1537, 1, 22, 7, 72.50, '2025-12-20 08:58:49', 'recalc_import'), +(1538, 1, 23, 7, 72.50, '2025-12-20 08:58:49', 'recalc_import'), +(1539, 1, 24, 7, 76.00, '2025-12-20 08:58:49', 'recalc_import'), +(1540, 1, 25, 7, 76.00, '2025-12-20 08:58:49', 'recalc_import'), +(1541, 1, 26, 7, 72.50, '2025-12-20 08:58:49', 'recalc_import'), +(1542, 1, 27, 7, 72.50, '2025-12-20 08:58:49', 'recalc_import'), +(1543, 1, 28, 7, 76.00, '2025-12-20 08:58:49', 'recalc_import'), +(1544, 2, 21, 7, 79.67, '2025-12-20 08:58:49', 'recalc_import'), +(1545, 2, 22, 7, 70.00, '2025-12-20 08:58:49', 'recalc_import'), +(1546, 2, 23, 7, 70.00, '2025-12-20 08:58:49', 'recalc_import'), +(1547, 2, 24, 7, 79.67, '2025-12-20 08:58:49', 'recalc_import'), +(1548, 2, 25, 7, 79.67, '2025-12-20 08:58:49', 'recalc_import'), +(1549, 2, 26, 7, 70.00, '2025-12-20 08:58:49', 'recalc_import'), +(1550, 2, 27, 7, 70.00, '2025-12-20 08:58:49', 'recalc_import'), +(1551, 2, 28, 7, 79.67, '2025-12-20 08:58:49', 'recalc_import'), +(1552, 3, 21, 7, 84.33, '2025-12-20 08:58:49', 'recalc_import'), +(1553, 3, 22, 7, 83.50, '2025-12-20 08:58:49', 'recalc_import'), +(1554, 3, 23, 7, 83.50, '2025-12-20 08:58:49', 'recalc_import'), +(1555, 3, 24, 7, 84.33, '2025-12-20 08:58:49', 'recalc_import'), +(1556, 3, 25, 7, 84.33, '2025-12-20 08:58:49', 'recalc_import'), +(1557, 3, 26, 7, 83.50, '2025-12-20 08:58:49', 'recalc_import'), +(1558, 3, 27, 7, 83.50, '2025-12-20 08:58:49', 'recalc_import'), +(1559, 3, 28, 7, 84.33, '2025-12-20 08:58:49', 'recalc_import'), +(1560, 4, 21, 7, 76.33, '2025-12-20 08:58:49', 'recalc_import'), +(1561, 4, 22, 7, 89.00, '2025-12-20 08:58:49', 'recalc_import'), +(1562, 4, 23, 7, 89.00, '2025-12-20 08:58:49', 'recalc_import'), +(1563, 4, 24, 7, 76.33, '2025-12-20 08:58:49', 'recalc_import'), +(1564, 4, 25, 7, 76.33, '2025-12-20 08:58:49', 'recalc_import'), +(1565, 4, 26, 7, 89.00, '2025-12-20 08:58:49', 'recalc_import'), +(1566, 4, 27, 7, 89.00, '2025-12-20 08:58:49', 'recalc_import'), +(1567, 4, 28, 7, 76.33, '2025-12-20 08:58:49', 'recalc_import'), +(1568, 5, 21, 7, 65.33, '2025-12-20 08:58:49', 'recalc_import'), +(1569, 5, 22, 7, 68.50, '2025-12-20 08:58:49', 'recalc_import'), +(1570, 5, 23, 7, 68.50, '2025-12-20 08:58:49', 'recalc_import'), +(1571, 5, 24, 7, 65.33, '2025-12-20 08:58:49', 'recalc_import'), +(1572, 5, 25, 7, 65.33, '2025-12-20 08:58:49', 'recalc_import'), +(1573, 5, 26, 7, 68.50, '2025-12-20 08:58:49', 'recalc_import'), +(1574, 5, 27, 7, 68.50, '2025-12-20 08:58:49', 'recalc_import'), +(1575, 5, 28, 7, 65.33, '2025-12-20 08:58:49', 'recalc_import'), +(1576, 6, 21, 7, 80.33, '2025-12-20 08:58:49', 'recalc_import'), +(1577, 6, 22, 7, 83.50, '2025-12-20 08:58:49', 'recalc_import'), +(1578, 6, 23, 7, 83.50, '2025-12-20 08:58:49', 'recalc_import'), +(1579, 6, 24, 7, 80.33, '2025-12-20 08:58:49', 'recalc_import'), +(1580, 6, 25, 7, 80.33, '2025-12-20 08:58:49', 'recalc_import'), +(1581, 6, 26, 7, 83.50, '2025-12-20 08:58:49', 'recalc_import'), +(1582, 6, 27, 7, 83.50, '2025-12-20 08:58:49', 'recalc_import'), +(1583, 6, 28, 7, 80.33, '2025-12-20 08:58:49', 'recalc_import'), +(1584, 7, 21, 7, 75.33, '2025-12-20 08:58:49', 'recalc_import'), +(1585, 7, 22, 7, 68.00, '2025-12-20 08:58:49', 'recalc_import'), +(1586, 7, 23, 7, 68.00, '2025-12-20 08:58:49', 'recalc_import'), +(1587, 7, 24, 7, 75.33, '2025-12-20 08:58:49', 'recalc_import'), +(1588, 7, 25, 7, 75.33, '2025-12-20 08:58:49', 'recalc_import'), +(1589, 7, 26, 7, 68.00, '2025-12-20 08:58:49', 'recalc_import'), +(1590, 7, 27, 7, 68.00, '2025-12-20 08:58:49', 'recalc_import'), +(1591, 7, 28, 7, 75.33, '2025-12-20 08:58:49', 'recalc_import'), +(1592, 8, 21, 7, 79.33, '2025-12-20 08:58:49', 'recalc_import'), +(1593, 8, 22, 7, 91.00, '2025-12-20 08:58:49', 'recalc_import'), +(1594, 8, 23, 7, 91.00, '2025-12-20 08:58:49', 'recalc_import'), +(1595, 8, 24, 7, 79.33, '2025-12-20 08:58:49', 'recalc_import'), +(1596, 8, 25, 7, 79.33, '2025-12-20 08:58:49', 'recalc_import'), +(1597, 8, 26, 7, 91.00, '2025-12-20 08:58:49', 'recalc_import'), +(1598, 8, 27, 7, 91.00, '2025-12-20 08:58:49', 'recalc_import'), +(1599, 8, 28, 7, 79.33, '2025-12-20 08:58:49', 'recalc_import'), +(1600, 9, 21, 7, 83.67, '2025-12-20 08:58:49', 'recalc_import'), +(1601, 9, 22, 7, 84.00, '2025-12-20 08:58:49', 'recalc_import'), +(1602, 9, 23, 7, 84.00, '2025-12-20 08:58:49', 'recalc_import'), +(1603, 9, 24, 7, 83.67, '2025-12-20 08:58:49', 'recalc_import'), +(1604, 9, 25, 7, 83.67, '2025-12-20 08:58:49', 'recalc_import'), +(1605, 9, 26, 7, 84.00, '2025-12-20 08:58:49', 'recalc_import'), +(1606, 9, 27, 7, 84.00, '2025-12-20 08:58:49', 'recalc_import'), +(1607, 9, 28, 7, 83.67, '2025-12-20 08:58:49', 'recalc_import'), +(1608, 10, 21, 7, 70.67, '2025-12-20 08:58:49', 'recalc_import'), +(1609, 10, 22, 7, 75.00, '2025-12-20 08:58:49', 'recalc_import'), +(1610, 10, 23, 7, 75.00, '2025-12-20 08:58:49', 'recalc_import'), +(1611, 10, 24, 7, 70.67, '2025-12-20 08:58:49', 'recalc_import'), +(1612, 10, 25, 7, 70.67, '2025-12-20 08:58:49', 'recalc_import'), +(1613, 10, 26, 7, 75.00, '2025-12-20 08:58:49', 'recalc_import'), +(1614, 10, 27, 7, 75.00, '2025-12-20 08:58:49', 'recalc_import'), +(1615, 10, 28, 7, 70.67, '2025-12-20 08:58:49', 'recalc_import'), +(1663, 1, 21, 8, 91.00, '2026-01-22 07:55:27', 'recalc_import'), +(1664, 1, 22, 8, 91.00, '2026-01-22 07:55:27', 'recalc_import'), +(1665, 1, 23, 8, 91.00, '2026-01-22 07:55:27', 'recalc_import'), +(1666, 1, 24, 8, 91.00, '2026-01-22 07:55:27', 'recalc_import'), +(1667, 1, 25, 8, 91.00, '2026-01-22 07:55:27', 'recalc_import'), +(1668, 1, 26, 8, 72.50, '2025-12-20 08:59:01', 'recalc_import'), +(1669, 1, 27, 8, 72.50, '2025-12-20 08:59:01', 'recalc_import'), +(1670, 1, 28, 8, 91.00, '2026-01-22 07:55:27', 'recalc_import'), +(1671, 2, 21, 8, 70.00, '2025-12-20 08:59:01', 'recalc_import'), +(1672, 2, 22, 8, 70.00, '2025-12-20 08:59:01', 'recalc_import'), +(1673, 2, 23, 8, 70.00, '2025-12-20 08:59:01', 'recalc_import'), +(1674, 2, 24, 8, 70.00, '2025-12-20 08:59:01', 'recalc_import'), +(1675, 2, 25, 8, 70.00, '2025-12-20 08:59:01', 'recalc_import'), +(1676, 2, 26, 8, 70.00, '2025-12-20 08:59:01', 'recalc_import'), +(1677, 2, 27, 8, 70.00, '2025-12-20 08:59:01', 'recalc_import'), +(1678, 2, 28, 8, 70.00, '2025-12-20 08:59:01', 'recalc_import'), +(1679, 3, 21, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1680, 3, 22, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1681, 3, 23, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1682, 3, 24, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1683, 3, 25, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1684, 3, 26, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1685, 3, 27, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1686, 3, 28, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1687, 4, 21, 8, 89.00, '2025-12-20 08:59:01', 'recalc_import'), +(1688, 4, 22, 8, 89.00, '2025-12-20 08:59:01', 'recalc_import'), +(1689, 4, 23, 8, 89.00, '2025-12-20 08:59:01', 'recalc_import'), +(1690, 4, 24, 8, 89.00, '2025-12-20 08:59:01', 'recalc_import'), +(1691, 4, 25, 8, 89.00, '2025-12-20 08:59:01', 'recalc_import'), +(1692, 4, 26, 8, 89.00, '2025-12-20 08:59:01', 'recalc_import'), +(1693, 4, 27, 8, 89.00, '2025-12-20 08:59:01', 'recalc_import'), +(1694, 4, 28, 8, 89.00, '2025-12-20 08:59:01', 'recalc_import'), +(1695, 5, 21, 8, 68.50, '2025-12-20 08:59:01', 'recalc_import'), +(1696, 5, 22, 8, 68.50, '2025-12-20 08:59:01', 'recalc_import'), +(1697, 5, 23, 8, 68.50, '2025-12-20 08:59:01', 'recalc_import'), +(1698, 5, 24, 8, 68.50, '2025-12-20 08:59:01', 'recalc_import'), +(1699, 5, 25, 8, 68.50, '2025-12-20 08:59:01', 'recalc_import'), +(1700, 5, 26, 8, 68.50, '2025-12-20 08:59:01', 'recalc_import'), +(1701, 5, 27, 8, 68.50, '2025-12-20 08:59:01', 'recalc_import'), +(1702, 5, 28, 8, 68.50, '2025-12-20 08:59:01', 'recalc_import'), +(1703, 6, 21, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1704, 6, 22, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1705, 6, 23, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1706, 6, 24, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1707, 6, 25, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1708, 6, 26, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1709, 6, 27, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1710, 6, 28, 8, 83.50, '2025-12-20 08:59:01', 'recalc_import'), +(1711, 7, 21, 8, 68.00, '2025-12-20 08:59:01', 'recalc_import'), +(1712, 7, 22, 8, 68.00, '2025-12-20 08:59:01', 'recalc_import'), +(1713, 7, 23, 8, 68.00, '2025-12-20 08:59:01', 'recalc_import'), +(1714, 7, 24, 8, 68.00, '2025-12-20 08:59:01', 'recalc_import'), +(1715, 7, 25, 8, 68.00, '2025-12-20 08:59:01', 'recalc_import'), +(1716, 7, 26, 8, 68.00, '2025-12-20 08:59:01', 'recalc_import'), +(1717, 7, 27, 8, 68.00, '2025-12-20 08:59:01', 'recalc_import'), +(1718, 7, 28, 8, 68.00, '2025-12-20 08:59:01', 'recalc_import'), +(1719, 8, 21, 8, 91.00, '2025-12-20 08:59:01', 'recalc_import'), +(1720, 8, 22, 8, 91.00, '2025-12-20 08:59:01', 'recalc_import'), +(1721, 8, 23, 8, 91.00, '2025-12-20 08:59:01', 'recalc_import'), +(1722, 8, 24, 8, 91.00, '2025-12-20 08:59:01', 'recalc_import'), +(1723, 8, 25, 8, 91.00, '2025-12-20 08:59:01', 'recalc_import'), +(1724, 8, 26, 8, 91.00, '2025-12-20 08:59:01', 'recalc_import'), +(1725, 8, 27, 8, 91.00, '2025-12-20 08:59:01', 'recalc_import'), +(1726, 8, 28, 8, 91.00, '2025-12-20 08:59:01', 'recalc_import'), +(1727, 9, 21, 8, 100.00, '2026-01-22 07:55:27', 'recalc_import'), +(1728, 9, 22, 8, 100.00, '2026-01-22 07:55:27', 'recalc_import'), +(1729, 9, 23, 8, 100.00, '2026-01-22 07:55:27', 'recalc_import'), +(1730, 9, 24, 8, 100.00, '2026-01-22 07:55:27', 'recalc_import'), +(1731, 9, 25, 8, 100.00, '2026-01-22 07:55:27', 'recalc_import'), +(1732, 9, 26, 8, 84.00, '2025-12-20 08:59:01', 'recalc_import'), +(1733, 9, 27, 8, 84.00, '2025-12-20 08:59:01', 'recalc_import'), +(1734, 9, 28, 8, 100.00, '2026-01-22 07:55:27', 'recalc_import'), +(1735, 10, 21, 8, 75.00, '2025-12-20 08:59:01', 'recalc_import'), +(1736, 10, 22, 8, 75.00, '2025-12-20 08:59:01', 'recalc_import'), +(1737, 10, 23, 8, 75.00, '2025-12-20 08:59:01', 'recalc_import'), +(1738, 10, 24, 8, 75.00, '2025-12-20 08:59:01', 'recalc_import'), +(1739, 10, 25, 8, 75.00, '2025-12-20 08:59:01', 'recalc_import'), +(1740, 10, 26, 8, 75.00, '2025-12-20 08:59:01', 'recalc_import'), +(1741, 10, 27, 8, 75.00, '2025-12-20 08:59:01', 'recalc_import'), +(1742, 10, 28, 8, 75.00, '2025-12-20 08:59:01', 'recalc_import'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `nilai_cpmk` +-- + +CREATE TABLE `nilai_cpmk` ( + `id_mhs` bigint(20) UNSIGNED NOT NULL, + `id_cpmk` bigint(20) UNSIGNED NOT NULL, + `nilai` float NOT NULL DEFAULT 0 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `nilai_cpmk` +-- + +INSERT INTO `nilai_cpmk` (`id_mhs`, `id_cpmk`, `nilai`) VALUES +(1, 1, 91), +(1, 2, 88), +(1, 3, 97), +(1, 4, 71), +(1, 5, 87), +(1, 6, 84), +(1, 7, 97), +(1, 8, 82), +(1, 9, 66), +(1, 10, 71), +(1, 11, 65), +(1, 12, 91), +(1, 13, 82), +(1, 14, 93), +(1, 15, 99), +(1, 16, 67), +(1, 17, 85), +(1, 18, 84), +(1, 19, 86), +(1, 20, 86), +(1, 21, 90), +(1, 22, 70), +(1, 23, 68), +(1, 24, 99), +(1, 25, 91), +(1, 26, 69), +(1, 27, 96), +(1, 28, 82), +(1, 29, 87), +(1, 30, 95), +(1, 31, 87), +(1, 32, 80), +(1, 33, 96), +(1, 34, 94), +(1, 35, 96), +(1, 36, 65), +(1, 37, 67), +(1, 38, 96), +(1, 39, 98), +(1, 40, 84), +(1, 41, 73), +(1, 42, 97), +(1, 43, 75), +(1, 44, 83), +(1, 45, 75), +(1, 46, 86), +(1, 47, 84), +(1, 48, 80), +(1, 49, 79), +(1, 50, 92), +(1, 51, 75), +(1, 52, 67), +(1, 53, 98), +(1, 54, 99), +(1, 55, 94), +(1, 56, 99), +(1, 57, 99), +(1, 58, 89), +(1, 59, 71), +(1, 60, 76), +(1, 61, 99), +(1, 62, 75), +(1, 63, 89), +(1, 64, 87), +(1, 65, 86), +(1, 66, 73), +(1, 67, 65), +(1, 68, 68), +(1, 69, 91), +(1, 70, 73), +(1, 71, 80), +(1, 72, 86), +(1, 73, 76), +(1, 74, 66), +(1, 75, 81), +(1, 76, 91), +(1, 77, 97), +(1, 78, 91), +(1, 79, 91), +(1, 80, 94), +(1, 81, 68), +(1, 82, 74), +(1, 83, 78), +(1, 84, 80), +(1, 85, 85), +(1, 86, 81), +(1, 87, 98), +(1, 88, 89), +(1, 89, 91), +(1, 90, 85), +(1, 91, 68), +(1, 92, 90), +(1, 93, 89), +(1, 94, 84), +(1, 95, 65), +(1, 96, 78), +(1, 97, 99), +(1, 98, 75), +(1, 99, 98), +(1, 100, 91), +(1, 101, 94), +(1, 102, 98), +(1, 103, 65), +(1, 104, 89), +(1, 105, 91), +(1, 106, 68), +(1, 107, 73), +(1, 108, 85), +(1, 109, 81), +(1, 110, 91), +(1, 111, 87), +(1, 112, 81), +(1, 113, 85), +(1, 114, 92), +(1, 115, 93), +(1, 116, 93), +(1, 117, 77), +(1, 118, 84), +(1, 119, 90), +(1, 120, 81), +(1, 121, 73), +(1, 122, 89), +(1, 123, 84), +(1, 124, 72), +(1, 125, 95), +(1, 126, 93), +(1, 127, 81), +(1, 128, 70), +(1, 129, 71), +(1, 130, 75), +(1, 131, 66), +(1, 132, 68), +(1, 133, 70), +(1, 134, 80), +(1, 135, 87), +(1, 136, 90), +(1, 137, 99), +(1, 138, 84), +(1, 139, 70), +(1, 140, 77), +(1, 141, 68), +(1, 142, 77), +(1, 143, 82), +(1, 144, 74), +(1, 145, 80), +(1, 146, 86), +(1, 147, 72), +(1, 148, 67), +(1, 149, 80), +(1, 150, 97), +(1, 151, 81), +(1, 152, 68), +(1, 153, 77), +(1, 154, 83), +(1, 155, 91), +(1, 156, 74), +(1, 157, 69), +(1, 158, 94), +(1, 159, 65), +(1, 160, 74), +(1, 161, 68), +(1, 162, 88), +(1, 163, 92), +(1, 164, 89), +(1, 165, 69), +(1, 166, 84), +(1, 167, 92), +(1, 168, 83), +(1, 169, 75), +(1, 170, 83), +(1, 171, 73), +(1, 172, 84), +(1, 173, 85), +(1, 174, 67), +(1, 175, 78), +(1, 176, 82), +(1, 177, 97), +(1, 178, 68), +(1, 179, 89), +(1, 180, 69), +(1, 181, 90), +(1, 182, 66), +(1, 183, 83), +(1, 184, 99), +(1, 185, 81), +(1, 186, 67), +(1, 187, 85), +(1, 188, 85), +(1, 189, 75), +(1, 190, 82), +(1, 191, 75), +(1, 192, 81), +(1, 193, 90), +(1, 194, 75), +(1, 195, 82), +(1, 196, 84), +(1, 197, 88), +(1, 198, 98), +(1, 199, 66), +(1, 200, 73), +(1, 201, 96), +(1, 202, 76), +(1, 203, 90), +(1, 204, 96), +(1, 205, 93), +(1, 206, 93), +(1, 207, 71), +(1, 208, 87), +(1, 209, 92), +(1, 210, 79), +(1, 211, 85), +(1, 212, 96), +(1, 213, 89), +(1, 214, 76), +(1, 215, 87), +(1, 216, 92), +(1, 217, 79), +(1, 218, 93), +(1, 219, 80), +(1, 220, 70), +(1, 221, 76), +(1, 222, 97), +(1, 223, 83), +(1, 224, 83), +(1, 225, 96), +(1, 226, 88), +(1, 227, 89), +(1, 228, 85), +(1, 229, 67), +(1, 230, 89), +(1, 231, 65), +(1, 232, 89), +(1, 233, 97), +(1, 234, 80), +(1, 235, 76), +(1, 236, 92), +(1, 237, 89), +(1, 238, 69), +(1, 239, 97), +(1, 240, 81), +(1, 241, 66), +(1, 242, 84), +(1, 243, 90), +(1, 244, 78), +(1, 245, 99), +(1, 246, 94), +(1, 247, 97), +(1, 248, 82), +(1, 249, 66), +(1, 250, 70), +(1, 251, 71), +(1, 252, 82), +(1, 253, 95), +(1, 254, 87), +(1, 255, 76), +(1, 256, 98), +(1, 257, 91), +(1, 258, 78), +(1, 259, 80), +(1, 260, 89), +(1, 261, 89), +(1, 262, 69), +(1, 263, 83), +(1, 264, 88), +(1, 265, 89), +(1, 266, 71), +(1, 267, 65), +(1, 268, 76), +(1, 269, 95), +(1, 270, 97), +(1, 271, 98), +(1, 272, 90), +(1, 273, 87), +(1, 274, 91), +(1, 275, 90), +(1, 276, 95), +(1, 277, 80), +(1, 278, 88), +(1, 279, 88), +(1, 280, 75), +(1, 281, 69), +(1, 282, 87), +(2, 1, 82), +(2, 2, 78), +(2, 3, 89), +(2, 4, 73), +(2, 5, 88), +(2, 6, 99), +(2, 7, 86), +(2, 8, 84), +(2, 9, 91), +(2, 10, 88), +(2, 11, 86), +(2, 12, 65), +(2, 13, 66), +(2, 14, 77), +(2, 15, 93), +(2, 16, 79), +(2, 17, 80), +(2, 18, 67), +(2, 19, 95), +(2, 20, 67), +(2, 21, 83), +(2, 22, 85), +(2, 23, 86), +(2, 24, 76), +(2, 25, 97), +(2, 26, 74), +(2, 27, 95), +(2, 28, 97), +(2, 29, 91), +(2, 30, 86), +(2, 31, 86), +(2, 32, 73), +(2, 33, 67), +(2, 34, 93), +(2, 35, 80), +(2, 36, 83), +(2, 37, 82), +(2, 38, 99), +(2, 39, 81), +(2, 40, 77), +(2, 41, 79), +(2, 42, 87), +(2, 43, 93), +(2, 44, 99), +(2, 45, 88), +(2, 46, 74), +(2, 47, 98), +(2, 48, 68), +(2, 49, 86), +(2, 50, 83), +(2, 51, 78), +(2, 52, 70), +(2, 53, 70), +(2, 54, 95), +(2, 55, 89), +(2, 56, 74), +(2, 57, 66), +(2, 58, 83), +(2, 59, 65), +(2, 60, 98), +(2, 61, 98), +(2, 62, 97), +(2, 63, 89), +(2, 64, 65), +(2, 65, 70), +(2, 66, 89), +(2, 67, 91), +(2, 68, 78), +(2, 69, 77), +(2, 70, 95), +(2, 71, 68), +(2, 72, 72), +(2, 73, 90), +(2, 74, 81), +(2, 75, 86), +(2, 76, 81), +(2, 77, 84), +(2, 78, 74), +(2, 79, 79), +(2, 80, 87), +(2, 81, 85), +(2, 82, 86), +(2, 83, 98), +(2, 84, 83), +(2, 85, 66), +(2, 86, 80), +(2, 87, 79), +(2, 88, 83), +(2, 89, 70), +(2, 90, 85), +(2, 91, 71), +(2, 92, 95), +(2, 93, 97), +(2, 94, 71), +(2, 95, 72), +(2, 96, 95), +(2, 97, 89), +(2, 98, 76), +(2, 99, 67), +(2, 100, 84), +(2, 101, 97), +(2, 102, 80), +(2, 103, 84), +(2, 104, 93), +(2, 105, 93), +(2, 106, 71), +(2, 107, 99), +(2, 108, 96), +(2, 109, 95), +(2, 110, 81), +(2, 111, 97), +(2, 112, 93), +(2, 113, 87), +(2, 114, 93), +(2, 115, 74), +(2, 116, 79), +(2, 117, 75), +(2, 118, 84), +(2, 119, 66), +(2, 120, 91), +(2, 121, 97), +(2, 122, 97), +(2, 123, 66), +(2, 124, 97), +(2, 125, 76), +(2, 126, 70), +(2, 127, 68), +(2, 128, 87), +(2, 129, 94), +(2, 130, 87), +(2, 131, 97), +(2, 132, 69), +(2, 133, 99), +(2, 134, 90), +(2, 135, 95), +(2, 136, 79), +(2, 137, 65), +(2, 138, 80), +(2, 139, 91), +(2, 140, 78), +(2, 141, 80), +(2, 142, 84), +(2, 143, 75), +(2, 144, 77), +(2, 145, 82), +(2, 146, 80), +(2, 147, 78), +(2, 148, 91), +(2, 149, 78), +(2, 150, 94), +(2, 151, 67), +(2, 152, 79), +(2, 153, 69), +(2, 154, 98), +(2, 155, 84), +(2, 156, 77), +(2, 157, 74), +(2, 158, 73), +(2, 159, 70), +(2, 160, 70), +(2, 161, 91), +(2, 162, 90), +(2, 163, 84), +(2, 164, 93), +(2, 165, 78), +(2, 166, 72), +(2, 167, 65), +(2, 168, 77), +(2, 169, 72), +(2, 170, 83), +(2, 171, 70), +(2, 172, 96), +(2, 173, 79), +(2, 174, 68), +(2, 175, 79), +(2, 176, 78), +(2, 177, 76), +(2, 178, 82), +(2, 179, 95), +(2, 180, 99), +(2, 181, 83), +(2, 182, 84), +(2, 183, 78), +(2, 184, 90), +(2, 185, 81), +(2, 186, 85), +(2, 187, 73), +(2, 188, 95), +(2, 189, 94), +(2, 190, 96), +(2, 191, 75), +(2, 192, 65), +(2, 193, 88), +(2, 194, 86), +(2, 195, 73), +(2, 196, 96), +(2, 197, 70), +(2, 198, 93), +(2, 199, 86), +(2, 200, 80), +(2, 201, 78), +(2, 202, 88), +(2, 203, 74), +(2, 204, 85), +(2, 205, 76), +(2, 206, 94), +(2, 207, 87), +(2, 208, 85), +(2, 209, 75), +(2, 210, 86), +(2, 211, 84), +(2, 212, 98), +(2, 213, 99), +(2, 214, 78), +(2, 215, 81), +(2, 216, 93), +(2, 217, 84), +(2, 218, 68), +(2, 219, 95), +(2, 220, 90), +(2, 221, 77), +(2, 222, 79), +(2, 223, 99), +(2, 224, 99), +(2, 225, 82), +(2, 226, 98), +(2, 227, 77), +(2, 228, 81), +(2, 229, 97), +(2, 230, 72), +(2, 231, 69), +(2, 232, 72), +(2, 233, 84), +(2, 234, 99), +(2, 235, 79), +(2, 236, 74), +(2, 237, 65), +(2, 238, 97), +(2, 239, 65), +(2, 240, 92), +(2, 241, 79), +(2, 242, 80), +(2, 243, 96), +(2, 244, 98), +(2, 245, 93), +(2, 246, 84), +(2, 247, 76), +(2, 248, 79), +(2, 249, 96), +(2, 250, 93), +(2, 251, 92), +(2, 252, 83), +(2, 253, 75), +(2, 254, 68), +(2, 255, 87), +(2, 256, 81), +(2, 257, 68), +(2, 258, 80), +(2, 259, 98), +(2, 260, 79), +(2, 261, 79), +(2, 262, 80), +(2, 263, 84), +(2, 264, 94), +(2, 265, 78), +(2, 266, 87), +(2, 267, 71), +(2, 268, 88), +(2, 269, 72), +(2, 270, 95), +(2, 271, 67), +(2, 272, 82), +(2, 273, 98), +(2, 274, 68), +(2, 275, 68), +(2, 276, 99), +(2, 277, 66), +(2, 278, 97), +(2, 279, 74), +(2, 280, 67), +(2, 281, 73), +(2, 282, 73), +(3, 1, 72), +(3, 2, 94), +(3, 3, 90), +(3, 4, 90), +(3, 5, 80), +(3, 6, 75), +(3, 7, 74), +(3, 8, 71), +(3, 9, 86), +(3, 10, 92), +(3, 11, 65), +(3, 12, 92), +(3, 13, 90), +(3, 14, 74), +(3, 15, 67), +(3, 16, 95), +(3, 17, 81), +(3, 18, 88), +(3, 19, 84), +(3, 20, 84), +(3, 21, 78), +(3, 22, 82), +(3, 23, 92), +(3, 24, 88), +(3, 25, 80), +(3, 26, 98), +(3, 27, 86), +(3, 28, 70), +(3, 29, 98), +(3, 30, 79), +(3, 31, 68), +(3, 32, 99), +(3, 33, 88), +(3, 34, 85), +(3, 35, 82), +(3, 36, 86), +(3, 37, 74), +(3, 38, 73), +(3, 39, 83), +(3, 40, 72), +(3, 41, 80), +(3, 42, 79), +(3, 43, 70), +(3, 44, 76), +(3, 45, 79), +(3, 46, 80), +(3, 47, 66), +(3, 48, 70), +(3, 49, 94), +(3, 50, 75), +(3, 51, 66), +(3, 52, 86), +(3, 53, 96), +(3, 54, 82), +(3, 55, 65), +(3, 56, 78), +(3, 57, 76), +(3, 58, 81), +(3, 59, 81), +(3, 60, 92), +(3, 61, 93), +(3, 62, 93), +(3, 63, 78), +(3, 64, 69), +(3, 65, 65), +(3, 66, 92), +(3, 67, 91), +(3, 68, 85), +(3, 69, 84), +(3, 70, 86), +(3, 71, 69), +(3, 72, 71), +(3, 73, 88), +(3, 74, 76), +(3, 75, 90), +(3, 76, 71), +(3, 77, 66), +(3, 78, 99), +(3, 79, 94), +(3, 80, 88), +(3, 81, 85), +(3, 82, 72), +(3, 83, 88), +(3, 84, 74), +(3, 85, 78), +(3, 86, 95), +(3, 87, 71), +(3, 88, 85), +(3, 89, 83), +(3, 90, 69), +(3, 91, 85), +(3, 92, 71), +(3, 93, 84), +(3, 94, 71), +(3, 95, 65), +(3, 96, 71), +(3, 97, 84), +(3, 98, 88), +(3, 99, 81), +(3, 100, 84), +(3, 101, 69), +(3, 102, 78), +(3, 103, 90), +(3, 104, 99), +(3, 105, 92), +(3, 106, 83), +(3, 107, 70), +(3, 108, 89), +(3, 109, 95), +(3, 110, 68), +(3, 111, 90), +(3, 112, 87), +(3, 113, 82), +(3, 114, 89), +(3, 115, 96), +(3, 116, 85), +(3, 117, 82), +(3, 118, 69), +(3, 119, 65), +(3, 120, 79), +(3, 121, 96), +(3, 122, 83), +(3, 123, 84), +(3, 124, 65), +(3, 125, 66), +(3, 126, 77), +(3, 127, 67), +(3, 128, 91), +(3, 129, 88), +(3, 130, 76), +(3, 131, 83), +(3, 132, 75), +(3, 133, 78), +(3, 134, 75), +(3, 135, 76), +(3, 136, 96), +(3, 137, 70), +(3, 138, 82), +(3, 139, 76), +(3, 140, 95), +(3, 141, 97), +(3, 142, 90), +(3, 143, 65), +(3, 144, 65), +(3, 145, 74), +(3, 146, 79), +(3, 147, 73), +(3, 148, 82), +(3, 149, 86), +(3, 150, 83), +(3, 151, 99), +(3, 152, 90), +(3, 153, 84), +(3, 154, 71), +(3, 155, 84), +(3, 156, 65), +(3, 157, 97), +(3, 158, 88), +(3, 159, 92), +(3, 160, 98), +(3, 161, 81), +(3, 162, 85), +(3, 163, 76), +(3, 164, 66), +(3, 165, 87), +(3, 166, 78), +(3, 167, 89), +(3, 168, 72), +(3, 169, 69), +(3, 170, 66), +(3, 171, 66), +(3, 172, 92), +(3, 173, 74), +(3, 174, 72), +(3, 175, 96), +(3, 176, 81), +(3, 177, 95), +(3, 178, 70), +(3, 179, 75), +(3, 180, 86), +(3, 181, 83), +(3, 182, 88), +(3, 183, 77), +(3, 184, 88), +(3, 185, 97), +(3, 186, 88), +(3, 187, 79), +(3, 188, 86), +(3, 189, 75), +(3, 190, 98), +(3, 191, 84), +(3, 192, 89), +(3, 193, 69), +(3, 194, 71), +(3, 195, 89), +(3, 196, 92), +(3, 197, 94), +(3, 198, 70), +(3, 199, 96), +(3, 200, 84), +(3, 201, 74), +(3, 202, 74), +(3, 203, 67), +(3, 204, 75), +(3, 205, 72), +(3, 206, 88), +(3, 207, 91), +(3, 208, 65), +(3, 209, 67), +(3, 210, 92), +(3, 211, 66), +(3, 212, 67), +(3, 213, 92), +(3, 214, 98), +(3, 215, 78), +(3, 216, 87), +(3, 217, 83), +(3, 218, 99), +(3, 219, 65), +(3, 220, 70), +(3, 221, 91), +(3, 222, 76), +(3, 223, 77), +(3, 224, 77), +(3, 225, 94), +(3, 226, 90), +(3, 227, 90), +(3, 228, 86), +(3, 229, 76), +(3, 230, 95), +(3, 231, 84), +(3, 232, 99), +(3, 233, 99), +(3, 234, 83), +(3, 235, 67), +(3, 236, 68), +(3, 237, 66), +(3, 238, 75), +(3, 239, 74), +(3, 240, 81), +(3, 241, 96), +(3, 242, 86), +(3, 243, 75), +(3, 244, 90), +(3, 245, 71), +(3, 246, 75), +(3, 247, 98), +(3, 248, 85), +(3, 249, 78), +(3, 250, 88), +(3, 251, 77), +(3, 252, 71), +(3, 253, 95), +(3, 254, 86), +(3, 255, 75), +(3, 256, 85), +(3, 257, 72), +(3, 258, 99), +(3, 259, 78), +(3, 260, 99), +(3, 261, 97), +(3, 262, 92), +(3, 263, 70), +(3, 264, 71), +(3, 265, 92), +(3, 266, 90), +(3, 267, 97), +(3, 268, 80), +(3, 269, 80), +(3, 270, 81), +(3, 271, 81), +(3, 272, 74), +(3, 273, 95), +(3, 274, 73), +(3, 275, 77), +(3, 276, 74), +(3, 277, 92), +(3, 278, 84), +(3, 279, 76), +(3, 280, 79), +(3, 281, 94), +(3, 282, 77), +(4, 1, 86), +(4, 2, 70), +(4, 3, 83), +(4, 4, 95), +(4, 5, 73), +(4, 6, 81), +(4, 7, 81), +(4, 8, 76), +(4, 9, 94), +(4, 10, 65), +(4, 11, 74), +(4, 12, 94), +(4, 13, 80), +(4, 14, 76), +(4, 15, 99), +(4, 16, 68), +(4, 17, 65), +(4, 18, 71), +(4, 19, 71), +(4, 20, 84), +(4, 21, 79), +(4, 22, 89), +(4, 23, 99), +(4, 24, 77), +(4, 25, 80), +(4, 26, 97), +(4, 27, 79), +(4, 28, 66), +(4, 29, 81), +(4, 30, 72), +(4, 31, 90), +(4, 32, 68), +(4, 33, 69), +(4, 34, 79), +(4, 35, 70), +(4, 36, 78), +(4, 37, 93), +(4, 38, 73), +(4, 39, 72), +(4, 40, 99), +(4, 41, 97), +(4, 42, 70), +(4, 43, 78), +(4, 44, 88), +(4, 45, 66), +(4, 46, 79), +(4, 47, 79), +(4, 48, 80), +(4, 49, 75), +(4, 50, 97), +(4, 51, 68), +(4, 52, 84), +(4, 53, 68), +(4, 54, 92), +(4, 55, 99), +(4, 56, 69), +(4, 57, 81), +(4, 58, 92), +(4, 59, 77), +(4, 60, 65), +(4, 61, 73), +(4, 62, 72), +(4, 63, 94), +(4, 64, 87), +(4, 65, 83), +(4, 66, 94), +(4, 67, 81), +(4, 68, 94), +(4, 69, 86), +(4, 70, 79), +(4, 71, 78), +(4, 72, 76), +(4, 73, 72), +(4, 74, 72), +(4, 75, 91), +(4, 76, 80), +(4, 77, 80), +(4, 78, 72), +(4, 79, 65), +(4, 80, 79), +(4, 81, 72), +(4, 82, 73), +(4, 83, 81), +(4, 84, 94), +(4, 85, 92), +(4, 86, 67), +(4, 87, 89), +(4, 88, 77), +(4, 89, 72), +(4, 90, 98), +(4, 91, 80), +(4, 92, 75), +(4, 93, 97), +(4, 94, 77), +(4, 95, 78), +(4, 96, 75), +(4, 97, 87), +(4, 98, 77), +(4, 99, 69), +(4, 100, 66), +(4, 101, 96), +(4, 102, 82), +(4, 103, 97), +(4, 104, 82), +(4, 105, 82), +(4, 106, 69), +(4, 107, 96), +(4, 108, 95), +(4, 109, 92), +(4, 110, 67), +(4, 111, 93), +(4, 112, 91), +(4, 113, 82), +(4, 114, 67), +(4, 115, 88), +(4, 116, 91), +(4, 117, 83), +(4, 118, 65), +(4, 119, 65), +(4, 120, 93), +(4, 121, 89), +(4, 122, 93), +(4, 123, 87), +(4, 124, 73), +(4, 125, 72), +(4, 126, 75), +(4, 127, 68), +(4, 128, 96), +(4, 129, 94), +(4, 130, 87), +(4, 131, 96), +(4, 132, 69), +(4, 133, 65), +(4, 134, 74), +(4, 135, 69), +(4, 136, 73), +(4, 137, 92), +(4, 138, 73), +(4, 139, 75), +(4, 140, 72), +(4, 141, 74), +(4, 142, 98), +(4, 143, 72), +(4, 144, 96), +(4, 145, 91), +(4, 146, 92), +(4, 147, 67), +(4, 148, 76), +(4, 149, 96), +(4, 150, 66), +(4, 151, 89), +(4, 152, 79), +(4, 153, 80), +(4, 154, 68), +(4, 155, 66), +(4, 156, 65), +(4, 157, 93), +(4, 158, 86), +(4, 159, 79), +(4, 160, 76), +(4, 161, 68), +(4, 162, 90), +(4, 163, 67), +(4, 164, 92), +(4, 165, 67), +(4, 166, 73), +(4, 167, 81), +(4, 168, 67), +(4, 169, 67), +(4, 170, 89), +(4, 171, 89), +(4, 172, 75), +(4, 173, 71), +(4, 174, 94), +(4, 175, 71), +(4, 176, 70), +(4, 177, 77), +(4, 178, 72), +(4, 179, 95), +(4, 180, 66), +(4, 181, 98), +(4, 182, 90), +(4, 183, 87), +(4, 184, 73), +(4, 185, 70), +(4, 186, 86), +(4, 187, 77), +(4, 188, 80), +(4, 189, 99), +(4, 190, 71), +(4, 191, 96), +(4, 192, 77), +(4, 193, 87), +(4, 194, 68), +(4, 195, 94), +(4, 196, 71), +(4, 197, 90), +(4, 198, 76), +(4, 199, 90), +(4, 200, 80), +(4, 201, 71), +(4, 202, 79), +(4, 203, 87), +(4, 204, 91), +(4, 205, 67), +(4, 206, 96), +(4, 207, 92), +(4, 208, 78), +(4, 209, 81), +(4, 210, 66), +(4, 211, 83), +(4, 212, 80), +(4, 213, 97), +(4, 214, 86), +(4, 215, 85), +(4, 216, 94), +(4, 217, 98), +(4, 218, 88), +(4, 219, 80), +(4, 220, 86), +(4, 221, 91), +(4, 222, 78), +(4, 223, 95), +(4, 224, 94), +(4, 225, 89), +(4, 226, 90), +(4, 227, 85), +(4, 228, 86), +(4, 229, 97), +(4, 230, 92), +(4, 231, 80), +(4, 232, 73), +(4, 233, 72), +(4, 234, 91), +(4, 235, 71), +(4, 236, 86), +(4, 237, 68), +(4, 238, 90), +(4, 239, 74), +(4, 240, 65), +(4, 241, 76), +(4, 242, 87), +(4, 243, 93), +(4, 244, 90), +(4, 245, 81), +(4, 246, 93), +(4, 247, 91), +(4, 248, 89), +(4, 249, 71), +(4, 250, 97), +(4, 251, 78), +(4, 252, 75), +(4, 253, 82), +(4, 254, 91), +(4, 255, 82), +(4, 256, 81), +(4, 257, 90), +(4, 258, 88), +(4, 259, 66), +(4, 260, 89), +(4, 261, 81), +(4, 262, 87), +(4, 263, 67), +(4, 264, 77), +(4, 265, 95), +(4, 266, 88), +(4, 267, 66), +(4, 268, 70), +(4, 269, 84), +(4, 270, 93), +(4, 271, 70), +(4, 272, 97), +(4, 273, 82), +(4, 274, 98), +(4, 275, 78), +(4, 276, 80), +(4, 277, 93), +(4, 278, 65), +(4, 279, 93), +(4, 280, 93), +(4, 281, 80), +(4, 282, 99), +(5, 1, 78), +(5, 2, 70), +(5, 3, 82), +(5, 4, 71), +(5, 5, 93), +(5, 6, 84), +(5, 7, 85), +(5, 8, 68), +(5, 9, 79), +(5, 10, 86), +(5, 11, 76), +(5, 12, 96), +(5, 13, 69), +(5, 14, 93), +(5, 15, 90), +(5, 16, 98), +(5, 17, 88), +(5, 18, 94), +(5, 19, 74), +(5, 20, 70), +(5, 21, 93), +(5, 22, 65), +(5, 23, 88), +(5, 24, 93), +(5, 25, 94), +(5, 26, 95), +(5, 27, 75), +(5, 28, 89), +(5, 29, 83), +(5, 30, 93), +(5, 31, 74), +(5, 32, 87), +(5, 33, 88), +(5, 34, 78), +(5, 35, 75), +(5, 36, 71), +(5, 37, 76), +(5, 38, 81), +(5, 39, 82), +(5, 40, 73), +(5, 41, 75), +(5, 42, 84), +(5, 43, 79), +(5, 44, 79), +(5, 45, 99), +(5, 46, 90), +(5, 47, 98), +(5, 48, 91), +(5, 49, 67), +(5, 50, 91), +(5, 51, 74), +(5, 52, 97), +(5, 53, 90), +(5, 54, 81), +(5, 55, 93), +(5, 56, 84), +(5, 57, 75), +(5, 58, 83), +(5, 59, 76), +(5, 60, 90), +(5, 61, 91), +(5, 62, 88), +(5, 63, 67), +(5, 64, 92), +(5, 65, 85), +(5, 66, 92), +(5, 67, 69), +(5, 68, 79), +(5, 69, 79), +(5, 70, 75), +(5, 71, 81), +(5, 72, 68), +(5, 73, 66), +(5, 74, 67), +(5, 75, 86), +(5, 76, 89), +(5, 77, 69), +(5, 78, 69), +(5, 79, 83), +(5, 80, 67), +(5, 81, 75), +(5, 82, 84), +(5, 83, 75), +(5, 84, 77), +(5, 85, 92), +(5, 86, 88), +(5, 87, 96), +(5, 88, 65), +(5, 89, 80), +(5, 90, 77), +(5, 91, 79), +(5, 92, 98), +(5, 93, 99), +(5, 94, 72), +(5, 95, 98), +(5, 96, 98), +(5, 97, 84), +(5, 98, 93), +(5, 99, 74), +(5, 100, 85), +(5, 101, 67), +(5, 102, 79), +(5, 103, 82), +(5, 104, 84), +(5, 105, 71), +(5, 106, 67), +(5, 107, 66), +(5, 108, 70), +(5, 109, 76), +(5, 110, 66), +(5, 111, 98), +(5, 112, 95), +(5, 113, 67), +(5, 114, 72), +(5, 115, 89), +(5, 116, 65), +(5, 117, 70), +(5, 118, 89), +(5, 119, 65), +(5, 120, 94), +(5, 121, 95), +(5, 122, 84), +(5, 123, 85), +(5, 124, 70), +(5, 125, 96), +(5, 126, 81), +(5, 127, 75), +(5, 128, 71), +(5, 129, 69), +(5, 130, 72), +(5, 131, 94), +(5, 132, 91), +(5, 133, 95), +(5, 134, 82), +(5, 135, 85), +(5, 136, 83), +(5, 137, 78), +(5, 138, 86), +(5, 139, 85), +(5, 140, 80), +(5, 141, 87), +(5, 142, 84), +(5, 143, 98), +(5, 144, 83), +(5, 145, 65), +(5, 146, 87), +(5, 147, 86), +(5, 148, 68), +(5, 149, 88), +(5, 150, 87), +(5, 151, 83), +(5, 152, 95), +(5, 153, 82), +(5, 154, 95), +(5, 155, 86), +(5, 156, 67), +(5, 157, 74), +(5, 158, 65), +(5, 159, 88), +(5, 160, 92), +(5, 161, 68), +(5, 162, 96), +(5, 163, 74), +(5, 164, 92), +(5, 165, 78), +(5, 166, 69), +(5, 167, 75), +(5, 168, 86), +(5, 169, 99), +(5, 170, 77), +(5, 171, 81), +(5, 172, 68), +(5, 173, 66), +(5, 174, 83), +(5, 175, 75), +(5, 176, 79), +(5, 177, 69), +(5, 178, 89), +(5, 179, 81), +(5, 180, 79), +(5, 181, 72), +(5, 182, 85), +(5, 183, 69), +(5, 184, 71), +(5, 185, 66), +(5, 186, 67), +(5, 187, 82), +(5, 188, 77), +(5, 189, 98), +(5, 190, 65), +(5, 191, 92), +(5, 192, 92), +(5, 193, 93), +(5, 194, 95), +(5, 195, 67), +(5, 196, 88), +(5, 197, 70), +(5, 198, 71), +(5, 199, 95), +(5, 200, 84), +(5, 201, 67), +(5, 202, 71), +(5, 203, 97), +(5, 204, 95), +(5, 205, 91), +(5, 206, 82), +(5, 207, 88), +(5, 208, 93), +(5, 209, 68), +(5, 210, 95), +(5, 211, 83), +(5, 212, 65), +(5, 213, 77), +(5, 214, 70), +(5, 215, 89), +(5, 216, 74), +(5, 217, 73), +(5, 218, 77), +(5, 219, 70), +(5, 220, 84), +(5, 221, 81), +(5, 222, 95), +(5, 223, 73), +(5, 224, 67), +(5, 225, 98), +(5, 226, 83), +(5, 227, 90), +(5, 228, 76), +(5, 229, 89), +(5, 230, 74), +(5, 231, 84), +(5, 232, 73), +(5, 233, 71), +(5, 234, 69), +(5, 235, 89), +(5, 236, 94), +(5, 237, 79), +(5, 238, 92), +(5, 239, 87), +(5, 240, 89), +(5, 241, 94), +(5, 242, 79), +(5, 243, 72), +(5, 244, 82), +(5, 245, 91), +(5, 246, 68), +(5, 247, 95), +(5, 248, 92), +(5, 249, 94), +(5, 250, 84), +(5, 251, 95), +(5, 252, 99), +(5, 253, 94), +(5, 254, 96), +(5, 255, 88), +(5, 256, 85), +(5, 257, 66), +(5, 258, 80), +(5, 259, 67), +(5, 260, 85), +(5, 261, 81), +(5, 262, 95), +(5, 263, 97), +(5, 264, 73), +(5, 265, 96), +(5, 266, 71), +(5, 267, 81), +(5, 268, 82), +(5, 269, 81), +(5, 270, 87), +(5, 271, 76), +(5, 272, 92), +(5, 273, 97), +(5, 274, 65), +(5, 275, 97), +(5, 276, 79), +(5, 277, 89), +(5, 278, 77), +(5, 279, 67), +(5, 280, 94), +(5, 281, 91), +(5, 282, 94), +(6, 1, 68), +(6, 2, 76), +(6, 3, 98), +(6, 4, 76), +(6, 5, 77), +(6, 6, 75), +(6, 7, 82), +(6, 8, 81), +(6, 9, 82), +(6, 10, 67), +(6, 11, 91), +(6, 12, 99), +(6, 13, 72), +(6, 14, 70), +(6, 15, 86), +(6, 16, 80), +(6, 17, 74), +(6, 18, 90), +(6, 19, 90), +(6, 20, 66), +(6, 21, 97), +(6, 22, 98), +(6, 23, 77), +(6, 24, 97), +(6, 25, 97), +(6, 26, 81), +(6, 27, 71), +(6, 28, 80), +(6, 29, 72), +(6, 30, 79), +(6, 31, 71), +(6, 32, 94), +(6, 33, 98), +(6, 34, 86), +(6, 35, 65), +(6, 36, 89), +(6, 37, 73), +(6, 38, 89), +(6, 39, 95), +(6, 40, 73), +(6, 41, 91), +(6, 42, 75), +(6, 43, 95), +(6, 44, 66), +(6, 45, 93), +(6, 46, 80), +(6, 47, 81), +(6, 48, 82), +(6, 49, 77), +(6, 50, 65), +(6, 51, 66), +(6, 52, 65), +(6, 53, 78), +(6, 54, 66), +(6, 55, 68), +(6, 56, 75), +(6, 57, 71), +(6, 58, 73), +(6, 59, 86), +(6, 60, 84), +(6, 61, 65), +(6, 62, 90), +(6, 63, 95), +(6, 64, 65), +(6, 65, 76), +(6, 66, 82), +(6, 67, 73), +(6, 68, 84), +(6, 69, 73), +(6, 70, 74), +(6, 71, 74), +(6, 72, 84), +(6, 73, 86), +(6, 74, 90), +(6, 75, 92), +(6, 76, 70), +(6, 77, 74), +(6, 78, 97), +(6, 79, 87), +(6, 80, 67), +(6, 81, 95), +(6, 82, 68), +(6, 83, 66), +(6, 84, 72), +(6, 85, 85), +(6, 86, 68), +(6, 87, 81), +(6, 88, 66), +(6, 89, 87), +(6, 90, 98), +(6, 91, 89), +(6, 92, 94), +(6, 93, 72), +(6, 94, 65), +(6, 95, 86), +(6, 96, 93), +(6, 97, 94), +(6, 98, 99), +(6, 99, 98), +(6, 100, 94), +(6, 101, 89), +(6, 102, 85), +(6, 103, 90), +(6, 104, 73), +(6, 105, 79), +(6, 106, 98), +(6, 107, 80), +(6, 108, 73), +(6, 109, 72), +(6, 110, 99), +(6, 111, 74), +(6, 112, 67), +(6, 113, 92), +(6, 114, 96), +(6, 115, 83), +(6, 116, 91), +(6, 117, 72), +(6, 118, 81), +(6, 119, 98), +(6, 120, 93), +(6, 121, 71), +(6, 122, 75), +(6, 123, 99), +(6, 124, 67), +(6, 125, 95), +(6, 126, 81), +(6, 127, 71), +(6, 128, 72), +(6, 129, 68), +(6, 130, 69), +(6, 131, 84), +(6, 132, 78), +(6, 133, 76), +(6, 134, 89), +(6, 135, 84), +(6, 136, 97), +(6, 137, 85), +(6, 138, 80), +(6, 139, 98), +(6, 140, 83), +(6, 141, 79), +(6, 142, 97), +(6, 143, 72), +(6, 144, 96), +(6, 145, 92), +(6, 146, 94), +(6, 147, 95), +(6, 148, 81), +(6, 149, 86), +(6, 150, 69), +(6, 151, 85), +(6, 152, 71), +(6, 153, 69), +(6, 154, 68), +(6, 155, 97), +(6, 156, 75), +(6, 157, 98), +(6, 158, 75), +(6, 159, 71), +(6, 160, 98), +(6, 161, 69), +(6, 162, 75), +(6, 163, 72), +(6, 164, 82), +(6, 165, 90), +(6, 166, 97), +(6, 167, 66), +(6, 168, 95), +(6, 169, 87), +(6, 170, 88), +(6, 171, 70), +(6, 172, 88), +(6, 173, 88), +(6, 174, 69), +(6, 175, 96), +(6, 176, 84), +(6, 177, 84), +(6, 178, 93), +(6, 179, 92), +(6, 180, 98), +(6, 181, 72), +(6, 182, 90), +(6, 183, 88), +(6, 184, 70), +(6, 185, 92), +(6, 186, 84), +(6, 187, 82), +(6, 188, 80), +(6, 189, 95), +(6, 190, 84), +(6, 191, 76), +(6, 192, 93), +(6, 193, 69), +(6, 194, 69), +(6, 195, 92), +(6, 196, 91), +(6, 197, 83), +(6, 198, 99), +(6, 199, 71), +(6, 200, 79), +(6, 201, 94), +(6, 202, 88), +(6, 203, 90), +(6, 204, 66), +(6, 205, 84), +(6, 206, 93), +(6, 207, 99), +(6, 208, 96), +(6, 209, 70), +(6, 210, 74), +(6, 211, 66), +(6, 212, 90), +(6, 213, 98), +(6, 214, 65), +(6, 215, 91), +(6, 216, 91), +(6, 217, 77), +(6, 218, 93), +(6, 219, 82), +(6, 220, 99), +(6, 221, 67), +(6, 222, 74), +(6, 223, 87), +(6, 224, 95), +(6, 225, 87), +(6, 226, 79), +(6, 227, 95), +(6, 228, 89), +(6, 229, 87), +(6, 230, 66), +(6, 231, 80), +(6, 232, 80), +(6, 233, 72), +(6, 234, 80), +(6, 235, 97), +(6, 236, 75), +(6, 237, 91), +(6, 238, 88), +(6, 239, 75), +(6, 240, 80), +(6, 241, 75), +(6, 242, 68), +(6, 243, 86), +(6, 244, 74), +(6, 245, 77), +(6, 246, 69), +(6, 247, 68), +(6, 248, 93), +(6, 249, 88), +(6, 250, 67), +(6, 251, 73), +(6, 252, 66), +(6, 253, 89), +(6, 254, 74), +(6, 255, 95), +(6, 256, 83), +(6, 257, 67), +(6, 258, 68), +(6, 259, 71), +(6, 260, 91), +(6, 261, 99), +(6, 262, 80), +(6, 263, 81), +(6, 264, 69), +(6, 265, 99), +(6, 266, 99), +(6, 267, 72), +(6, 268, 98), +(6, 269, 90), +(6, 270, 93), +(6, 271, 73), +(6, 272, 68), +(6, 273, 66), +(6, 274, 73), +(6, 275, 82), +(6, 276, 91), +(6, 277, 68), +(6, 278, 93), +(6, 279, 98), +(6, 280, 92), +(6, 281, 81), +(6, 282, 76), +(7, 1, 75), +(7, 2, 72), +(7, 3, 71), +(7, 4, 68), +(7, 5, 75), +(7, 6, 95), +(7, 7, 90), +(7, 8, 66), +(7, 9, 73), +(7, 10, 82), +(7, 11, 93), +(7, 12, 72), +(7, 13, 91), +(7, 14, 74), +(7, 15, 95), +(7, 16, 76), +(7, 17, 76), +(7, 18, 69), +(7, 19, 97), +(7, 20, 92), +(7, 21, 71), +(7, 22, 93), +(7, 23, 91), +(7, 24, 73), +(7, 25, 68), +(7, 26, 94), +(7, 27, 65), +(7, 28, 66), +(7, 29, 80), +(7, 30, 88), +(7, 31, 67), +(7, 32, 74), +(7, 33, 92), +(7, 34, 96), +(7, 35, 72), +(7, 36, 97), +(7, 37, 70), +(7, 38, 66), +(7, 39, 96), +(7, 40, 82), +(7, 41, 96), +(7, 42, 95), +(7, 43, 71), +(7, 44, 97), +(7, 45, 70), +(7, 46, 65), +(7, 47, 81), +(7, 48, 71), +(7, 49, 87), +(7, 50, 92), +(7, 51, 79), +(7, 52, 76), +(7, 53, 90), +(7, 54, 90), +(7, 55, 67), +(7, 56, 96), +(7, 57, 66), +(7, 58, 89), +(7, 59, 65), +(7, 60, 86), +(7, 61, 93), +(7, 62, 88), +(7, 63, 67), +(7, 64, 91), +(7, 65, 97), +(7, 66, 67), +(7, 67, 93), +(7, 68, 85), +(7, 69, 98), +(7, 70, 78), +(7, 71, 98), +(7, 72, 78), +(7, 73, 98), +(7, 74, 80), +(7, 75, 68), +(7, 76, 90), +(7, 77, 65), +(7, 78, 75), +(7, 79, 84), +(7, 80, 71), +(7, 81, 81), +(7, 82, 91), +(7, 83, 79), +(7, 84, 67), +(7, 85, 87), +(7, 86, 83), +(7, 87, 85), +(7, 88, 68), +(7, 89, 92), +(7, 90, 89), +(7, 91, 74), +(7, 92, 76), +(7, 93, 66), +(7, 94, 82), +(7, 95, 73), +(7, 96, 74), +(7, 97, 86), +(7, 98, 81), +(7, 99, 97), +(7, 100, 81), +(7, 101, 73), +(7, 102, 87), +(7, 103, 67), +(7, 104, 84), +(7, 105, 80), +(7, 106, 83), +(7, 107, 67), +(7, 108, 91), +(7, 109, 71), +(7, 110, 95), +(7, 111, 83), +(7, 112, 90), +(7, 113, 90), +(7, 114, 93), +(7, 115, 80), +(7, 116, 90), +(7, 117, 84), +(7, 118, 73), +(7, 119, 91), +(7, 120, 81), +(7, 121, 77), +(7, 122, 95), +(7, 123, 72), +(7, 124, 94), +(7, 125, 88), +(7, 126, 98), +(7, 127, 99), +(7, 128, 82), +(7, 129, 68), +(7, 130, 65), +(7, 131, 72), +(7, 132, 88), +(7, 133, 99), +(7, 134, 98), +(7, 135, 68), +(7, 136, 65), +(7, 137, 93), +(7, 138, 75), +(7, 139, 65), +(7, 140, 76), +(7, 141, 69), +(7, 142, 65), +(7, 143, 70), +(7, 144, 97), +(7, 145, 94), +(7, 146, 74), +(7, 147, 84), +(7, 148, 70), +(7, 149, 69), +(7, 150, 88), +(7, 151, 78), +(7, 152, 75), +(7, 153, 70), +(7, 154, 95), +(7, 155, 91), +(7, 156, 76), +(7, 157, 97), +(7, 158, 80), +(7, 159, 94), +(7, 160, 78), +(7, 161, 79), +(7, 162, 94), +(7, 163, 74), +(7, 164, 73), +(7, 165, 80), +(7, 166, 73), +(7, 167, 74), +(7, 168, 81), +(7, 169, 75), +(7, 170, 76), +(7, 171, 81), +(7, 172, 65), +(7, 173, 75), +(7, 174, 67), +(7, 175, 84), +(7, 176, 84), +(7, 177, 79), +(7, 178, 98), +(7, 179, 81), +(7, 180, 84), +(7, 181, 80), +(7, 182, 98), +(7, 183, 99), +(7, 184, 71), +(7, 185, 92), +(7, 186, 82), +(7, 187, 99), +(7, 188, 70), +(7, 189, 80), +(7, 190, 88), +(7, 191, 71), +(7, 192, 91), +(7, 193, 71), +(7, 194, 98), +(7, 195, 89), +(7, 196, 91), +(7, 197, 71), +(7, 198, 78), +(7, 199, 76), +(7, 200, 80), +(7, 201, 65), +(7, 202, 95), +(7, 203, 97), +(7, 204, 86), +(7, 205, 82), +(7, 206, 84), +(7, 207, 98), +(7, 208, 67), +(7, 209, 83), +(7, 210, 91), +(7, 211, 88), +(7, 212, 86), +(7, 213, 88), +(7, 214, 85), +(7, 215, 87), +(7, 216, 66), +(7, 217, 67), +(7, 218, 65), +(7, 219, 99), +(7, 220, 72), +(7, 221, 98), +(7, 222, 92), +(7, 223, 81), +(7, 224, 69), +(7, 225, 76), +(7, 226, 83), +(7, 227, 70), +(7, 228, 86), +(7, 229, 67), +(7, 230, 76), +(7, 231, 85), +(7, 232, 85), +(7, 233, 84), +(7, 234, 92), +(7, 235, 83), +(7, 236, 66), +(7, 237, 83), +(7, 238, 98), +(7, 239, 87), +(7, 240, 70), +(7, 241, 99), +(7, 242, 73), +(7, 243, 77), +(7, 244, 95), +(7, 245, 82), +(7, 246, 75), +(7, 247, 96), +(7, 248, 89), +(7, 249, 93), +(7, 250, 86), +(7, 251, 83), +(7, 252, 72), +(7, 253, 98), +(7, 254, 86), +(7, 255, 74), +(7, 256, 94), +(7, 257, 73), +(7, 258, 71), +(7, 259, 89), +(7, 260, 65), +(7, 261, 83), +(7, 262, 86), +(7, 263, 85), +(7, 264, 98), +(7, 265, 70), +(7, 266, 74), +(7, 267, 88), +(7, 268, 74), +(7, 269, 72), +(7, 270, 68), +(7, 271, 70), +(7, 272, 71), +(7, 273, 79), +(7, 274, 70), +(7, 275, 88), +(7, 276, 84), +(7, 277, 79), +(7, 278, 65), +(7, 279, 85), +(7, 280, 77), +(7, 281, 68), +(7, 282, 66), +(8, 1, 71), +(8, 2, 66), +(8, 3, 69), +(8, 4, 80), +(8, 5, 80), +(8, 6, 81), +(8, 7, 71), +(8, 8, 92), +(8, 9, 88), +(8, 10, 74), +(8, 11, 92), +(8, 12, 68), +(8, 13, 70), +(8, 14, 95), +(8, 15, 82), +(8, 16, 77), +(8, 17, 94), +(8, 18, 79), +(8, 19, 77), +(8, 20, 94), +(8, 21, 69), +(8, 22, 69), +(8, 23, 90), +(8, 24, 81), +(8, 25, 91), +(8, 26, 89), +(8, 27, 84), +(8, 28, 95), +(8, 29, 85), +(8, 30, 67), +(8, 31, 93), +(8, 32, 96), +(8, 33, 66), +(8, 34, 89), +(8, 35, 99), +(8, 36, 82), +(8, 37, 67), +(8, 38, 68), +(8, 39, 93), +(8, 40, 93), +(8, 41, 73), +(8, 42, 78), +(8, 43, 76), +(8, 44, 83), +(8, 45, 76), +(8, 46, 89), +(8, 47, 98), +(8, 48, 78), +(8, 49, 68), +(8, 50, 94), +(8, 51, 65), +(8, 52, 82), +(8, 53, 81), +(8, 54, 84), +(8, 55, 67), +(8, 56, 85), +(8, 57, 85), +(8, 58, 92), +(8, 59, 75), +(8, 60, 81), +(8, 61, 99), +(8, 62, 69), +(8, 63, 90), +(8, 64, 90), +(8, 65, 86), +(8, 66, 94), +(8, 67, 78), +(8, 68, 74), +(8, 69, 66), +(8, 70, 70), +(8, 71, 99), +(8, 72, 76), +(8, 73, 97), +(8, 74, 66), +(8, 75, 71), +(8, 76, 69), +(8, 77, 73), +(8, 78, 90), +(8, 79, 97), +(8, 80, 88), +(8, 81, 89), +(8, 82, 84), +(8, 83, 97), +(8, 84, 90), +(8, 85, 77), +(8, 86, 78), +(8, 87, 81), +(8, 88, 78), +(8, 89, 68), +(8, 90, 86), +(8, 91, 75), +(8, 92, 70), +(8, 93, 86), +(8, 94, 78), +(8, 95, 76), +(8, 96, 97), +(8, 97, 80), +(8, 98, 80), +(8, 99, 91), +(8, 100, 91), +(8, 101, 68), +(8, 102, 81), +(8, 103, 74), +(8, 104, 65), +(8, 105, 65), +(8, 106, 94), +(8, 107, 66), +(8, 108, 65), +(8, 109, 72), +(8, 110, 75), +(8, 111, 91), +(8, 112, 79), +(8, 113, 73), +(8, 114, 80), +(8, 115, 89), +(8, 116, 78), +(8, 117, 70), +(8, 118, 92), +(8, 119, 99), +(8, 120, 98), +(8, 121, 71), +(8, 122, 80), +(8, 123, 67), +(8, 124, 99), +(8, 125, 90), +(8, 126, 78), +(8, 127, 80), +(8, 128, 95), +(8, 129, 73), +(8, 130, 91), +(8, 131, 81), +(8, 132, 69), +(8, 133, 65), +(8, 134, 89), +(8, 135, 90), +(8, 136, 73), +(8, 137, 74), +(8, 138, 72), +(8, 139, 73), +(8, 140, 68), +(8, 141, 78), +(8, 142, 75), +(8, 143, 71), +(8, 144, 96), +(8, 145, 96), +(8, 146, 95), +(8, 147, 71), +(8, 148, 74), +(8, 149, 90), +(8, 150, 66), +(8, 151, 68), +(8, 152, 98), +(8, 153, 80), +(8, 154, 66), +(8, 155, 65), +(8, 156, 87), +(8, 157, 93), +(8, 158, 76), +(8, 159, 90), +(8, 160, 69), +(8, 161, 86), +(8, 162, 76), +(8, 163, 88), +(8, 164, 88), +(8, 165, 66), +(8, 166, 79), +(8, 167, 76), +(8, 168, 93), +(8, 169, 82), +(8, 170, 87), +(8, 171, 93), +(8, 172, 67), +(8, 173, 79), +(8, 174, 98), +(8, 175, 69), +(8, 176, 70), +(8, 177, 81), +(8, 178, 78), +(8, 179, 99), +(8, 180, 98), +(8, 181, 85), +(8, 182, 82), +(8, 183, 97), +(8, 184, 83), +(8, 185, 86), +(8, 186, 94), +(8, 187, 81), +(8, 188, 80), +(8, 189, 88), +(8, 190, 91), +(8, 191, 97), +(8, 192, 75), +(8, 193, 83), +(8, 194, 79), +(8, 195, 71), +(8, 196, 84), +(8, 197, 75), +(8, 198, 97), +(8, 199, 65), +(8, 200, 98), +(8, 201, 83), +(8, 202, 74), +(8, 203, 77), +(8, 204, 99), +(8, 205, 93), +(8, 206, 75), +(8, 207, 91), +(8, 208, 89), +(8, 209, 68), +(8, 210, 99), +(8, 211, 72), +(8, 212, 94), +(8, 213, 83), +(8, 214, 95), +(8, 215, 99), +(8, 216, 95), +(8, 217, 72), +(8, 218, 86), +(8, 219, 82), +(8, 220, 68), +(8, 221, 85), +(8, 222, 66), +(8, 223, 78), +(8, 224, 67), +(8, 225, 92), +(8, 226, 80), +(8, 227, 72), +(8, 228, 96), +(8, 229, 82), +(8, 230, 83), +(8, 231, 85), +(8, 232, 82), +(8, 233, 68), +(8, 234, 86), +(8, 235, 96), +(8, 236, 74), +(8, 237, 77), +(8, 238, 93), +(8, 239, 74), +(8, 240, 79), +(8, 241, 66), +(8, 242, 98), +(8, 243, 66), +(8, 244, 83), +(8, 245, 81), +(8, 246, 67), +(8, 247, 73), +(8, 248, 69), +(8, 249, 67), +(8, 250, 97), +(8, 251, 65), +(8, 252, 96), +(8, 253, 88), +(8, 254, 75), +(8, 255, 93), +(8, 256, 88), +(8, 257, 99), +(8, 258, 88), +(8, 259, 65), +(8, 260, 95), +(8, 261, 90), +(8, 262, 91), +(8, 263, 83), +(8, 264, 78), +(8, 265, 94), +(8, 266, 79), +(8, 267, 87), +(8, 268, 84), +(8, 269, 95), +(8, 270, 66), +(8, 271, 69), +(8, 272, 84), +(8, 273, 99), +(8, 274, 99), +(8, 275, 95), +(8, 276, 83), +(8, 277, 92), +(8, 278, 87), +(8, 279, 65), +(8, 280, 79), +(8, 281, 67), +(8, 282, 72), +(9, 1, 67), +(9, 2, 84), +(9, 3, 67), +(9, 4, 97), +(9, 5, 77), +(9, 6, 91), +(9, 7, 91), +(9, 8, 94), +(9, 9, 89), +(9, 10, 94), +(9, 11, 81), +(9, 12, 97), +(9, 13, 83), +(9, 14, 86), +(9, 15, 96), +(9, 16, 92), +(9, 17, 75), +(9, 18, 87), +(9, 19, 67), +(9, 20, 93), +(9, 21, 65), +(9, 22, 74), +(9, 23, 76), +(9, 24, 84), +(9, 25, 79), +(9, 26, 67), +(9, 27, 89), +(9, 28, 74), +(9, 29, 84), +(9, 30, 79), +(9, 31, 93), +(9, 32, 86), +(9, 33, 94), +(9, 34, 92), +(9, 35, 74), +(9, 36, 93), +(9, 37, 94), +(9, 38, 78), +(9, 39, 77), +(9, 40, 83), +(9, 41, 82), +(9, 42, 78), +(9, 43, 65), +(9, 44, 93), +(9, 45, 68), +(9, 46, 81), +(9, 47, 80), +(9, 48, 79), +(9, 49, 86), +(9, 50, 95), +(9, 51, 93), +(9, 52, 85), +(9, 53, 70), +(9, 54, 85), +(9, 55, 69), +(9, 56, 74), +(9, 57, 92), +(9, 58, 94), +(9, 59, 80), +(9, 60, 80), +(9, 61, 82), +(9, 62, 86), +(9, 63, 81), +(9, 64, 76), +(9, 65, 75), +(9, 66, 99), +(9, 67, 79), +(9, 68, 84), +(9, 69, 79), +(9, 70, 88), +(9, 71, 65), +(9, 72, 79), +(9, 73, 90), +(9, 74, 93), +(9, 75, 83), +(9, 76, 83), +(9, 77, 72), +(9, 78, 91), +(9, 79, 96), +(9, 80, 95), +(9, 81, 68), +(9, 82, 82), +(9, 83, 79), +(9, 84, 77), +(9, 85, 94), +(9, 86, 77), +(9, 87, 89), +(9, 88, 87), +(9, 89, 68), +(9, 90, 66), +(9, 91, 87), +(9, 92, 93), +(9, 93, 97), +(9, 94, 79), +(9, 95, 98), +(9, 96, 94), +(9, 97, 79), +(9, 98, 90), +(9, 99, 67), +(9, 100, 79), +(9, 101, 92), +(9, 102, 81), +(9, 103, 66), +(9, 104, 82), +(9, 105, 93), +(9, 106, 87), +(9, 107, 67), +(9, 108, 93), +(9, 109, 83), +(9, 110, 99), +(9, 111, 74), +(9, 112, 97), +(9, 113, 66), +(9, 114, 91), +(9, 115, 71), +(9, 116, 90), +(9, 117, 71), +(9, 118, 73), +(9, 119, 85), +(9, 120, 79), +(9, 121, 93), +(9, 122, 84), +(9, 123, 89), +(9, 124, 77), +(9, 125, 86), +(9, 126, 66), +(9, 127, 73), +(9, 128, 93), +(9, 129, 97), +(9, 130, 89), +(9, 131, 87), +(9, 132, 89), +(9, 133, 70), +(9, 134, 86), +(9, 135, 78), +(9, 136, 74), +(9, 137, 99), +(9, 138, 72), +(9, 139, 70), +(9, 140, 83), +(9, 141, 85), +(9, 142, 80), +(9, 143, 81), +(9, 144, 92), +(9, 145, 99), +(9, 146, 82), +(9, 147, 70), +(9, 148, 98), +(9, 149, 75), +(9, 150, 70), +(9, 151, 77), +(9, 152, 97), +(9, 153, 89), +(9, 154, 87), +(9, 155, 92), +(9, 156, 74), +(9, 157, 74), +(9, 158, 76), +(9, 159, 69), +(9, 160, 81), +(9, 161, 96), +(9, 162, 68), +(9, 163, 83), +(9, 164, 88), +(9, 165, 94), +(9, 166, 75), +(9, 167, 92), +(9, 168, 87), +(9, 169, 88), +(9, 170, 72), +(9, 171, 87), +(9, 172, 76), +(9, 173, 71), +(9, 174, 86), +(9, 175, 66), +(9, 176, 66), +(9, 177, 65), +(9, 178, 68), +(9, 179, 82), +(9, 180, 66), +(9, 181, 86), +(9, 182, 90), +(9, 183, 87), +(9, 184, 65), +(9, 185, 89), +(9, 186, 91), +(9, 187, 78), +(9, 188, 91), +(9, 189, 98), +(9, 190, 90), +(9, 191, 71), +(9, 192, 71), +(9, 193, 71), +(9, 194, 73), +(9, 195, 93), +(9, 196, 80), +(9, 197, 98), +(9, 198, 84), +(9, 199, 71), +(9, 200, 80), +(9, 201, 87), +(9, 202, 90), +(9, 203, 66), +(9, 204, 66), +(9, 205, 85), +(9, 206, 95), +(9, 207, 96), +(9, 208, 73), +(9, 209, 95), +(9, 210, 88), +(9, 211, 66), +(9, 212, 77), +(9, 213, 84), +(9, 214, 86), +(9, 215, 66), +(9, 216, 73), +(9, 217, 98), +(9, 218, 65), +(9, 219, 81), +(9, 220, 94), +(9, 221, 67), +(9, 222, 97), +(9, 223, 84), +(9, 224, 99), +(9, 225, 95), +(9, 226, 84), +(9, 227, 84), +(9, 228, 89), +(9, 229, 73), +(9, 230, 89), +(9, 231, 69), +(9, 232, 94), +(9, 233, 94), +(9, 234, 88), +(9, 235, 97), +(9, 236, 72), +(9, 237, 73), +(9, 238, 71), +(9, 239, 81), +(9, 240, 85), +(9, 241, 72), +(9, 242, 66), +(9, 243, 67), +(9, 244, 66), +(9, 245, 93), +(9, 246, 83), +(9, 247, 81), +(9, 248, 80), +(9, 249, 98), +(9, 250, 91), +(9, 251, 78), +(9, 252, 96), +(9, 253, 84), +(9, 254, 86), +(9, 255, 73), +(9, 256, 91), +(9, 257, 70), +(9, 258, 93), +(9, 259, 65), +(9, 260, 74), +(9, 261, 65), +(9, 262, 97), +(9, 263, 94), +(9, 264, 67), +(9, 265, 89), +(9, 266, 76), +(9, 267, 74), +(9, 268, 97), +(9, 269, 91), +(9, 270, 97), +(9, 271, 68), +(9, 272, 76), +(9, 273, 89), +(9, 274, 84), +(9, 275, 76), +(9, 276, 96), +(9, 277, 89), +(9, 278, 71), +(9, 279, 75), +(9, 280, 66), +(9, 281, 99), +(9, 282, 97), +(10, 1, 91), +(10, 2, 87), +(10, 3, 65), +(10, 4, 77), +(10, 5, 79), +(10, 6, 76), +(10, 7, 70), +(10, 8, 93), +(10, 9, 83), +(10, 10, 78), +(10, 11, 65), +(10, 12, 75), +(10, 13, 69), +(10, 14, 80), +(10, 15, 65), +(10, 16, 92), +(10, 17, 97), +(10, 18, 65), +(10, 19, 76), +(10, 20, 85), +(10, 21, 92), +(10, 22, 96), +(10, 23, 80), +(10, 24, 76), +(10, 25, 92), +(10, 26, 70), +(10, 27, 97), +(10, 28, 88), +(10, 29, 68), +(10, 30, 92), +(10, 31, 89), +(10, 32, 79), +(10, 33, 68), +(10, 34, 95), +(10, 35, 79), +(10, 36, 82), +(10, 37, 99), +(10, 38, 88), +(10, 39, 76), +(10, 40, 73), +(10, 41, 93), +(10, 42, 88), +(10, 43, 67), +(10, 44, 83), +(10, 45, 84), +(10, 46, 75), +(10, 47, 74), +(10, 48, 96), +(10, 49, 90), +(10, 50, 96), +(10, 51, 98), +(10, 52, 77), +(10, 53, 80), +(10, 54, 75), +(10, 55, 78), +(10, 56, 86), +(10, 57, 70), +(10, 58, 92), +(10, 59, 77), +(10, 60, 93), +(10, 61, 84), +(10, 62, 89), +(10, 63, 70), +(10, 64, 82), +(10, 65, 88), +(10, 66, 80), +(10, 67, 97), +(10, 68, 97), +(10, 69, 94), +(10, 70, 94), +(10, 71, 70), +(10, 72, 67), +(10, 73, 95), +(10, 74, 98), +(10, 75, 70), +(10, 76, 71), +(10, 77, 75), +(10, 78, 85), +(10, 79, 92), +(10, 80, 77), +(10, 81, 79), +(10, 82, 93), +(10, 83, 72), +(10, 84, 84), +(10, 85, 73), +(10, 86, 85), +(10, 87, 65), +(10, 88, 65), +(10, 89, 70), +(10, 90, 76), +(10, 91, 75), +(10, 92, 87), +(10, 93, 93), +(10, 94, 98), +(10, 95, 91), +(10, 96, 79), +(10, 97, 88), +(10, 98, 78), +(10, 99, 67), +(10, 100, 90), +(10, 101, 86), +(10, 102, 95), +(10, 103, 80), +(10, 104, 78), +(10, 105, 97), +(10, 106, 86), +(10, 107, 69), +(10, 108, 66), +(10, 109, 98), +(10, 110, 99), +(10, 111, 67), +(10, 112, 79), +(10, 113, 82), +(10, 114, 80), +(10, 115, 93), +(10, 116, 84), +(10, 117, 78), +(10, 118, 94), +(10, 119, 98), +(10, 120, 70), +(10, 121, 86), +(10, 122, 80), +(10, 123, 75), +(10, 124, 97), +(10, 125, 98), +(10, 126, 65), +(10, 127, 97), +(10, 128, 83), +(10, 129, 95), +(10, 130, 71), +(10, 131, 92), +(10, 132, 70), +(10, 133, 87), +(10, 134, 99), +(10, 135, 91), +(10, 136, 85), +(10, 137, 66), +(10, 138, 77), +(10, 139, 65), +(10, 140, 75), +(10, 141, 90), +(10, 142, 75), +(10, 143, 90), +(10, 144, 71), +(10, 145, 73), +(10, 146, 95), +(10, 147, 76), +(10, 148, 98), +(10, 149, 73), +(10, 150, 86), +(10, 151, 82), +(10, 152, 89), +(10, 153, 70), +(10, 154, 65), +(10, 155, 97), +(10, 156, 78), +(10, 157, 98), +(10, 158, 85), +(10, 159, 77), +(10, 160, 98), +(10, 161, 89), +(10, 162, 84), +(10, 163, 87), +(10, 164, 75), +(10, 165, 69), +(10, 166, 74), +(10, 167, 96), +(10, 168, 90), +(10, 169, 94), +(10, 170, 68), +(10, 171, 92), +(10, 172, 81), +(10, 173, 89), +(10, 174, 69), +(10, 175, 90), +(10, 176, 90), +(10, 177, 91), +(10, 178, 74), +(10, 179, 85), +(10, 180, 78), +(10, 181, 76), +(10, 182, 68), +(10, 183, 80), +(10, 184, 81), +(10, 185, 85), +(10, 186, 71), +(10, 187, 83), +(10, 188, 79), +(10, 189, 94), +(10, 190, 78), +(10, 191, 67), +(10, 192, 67), +(10, 193, 73), +(10, 194, 96), +(10, 195, 84), +(10, 196, 85), +(10, 197, 97), +(10, 198, 97), +(10, 199, 95), +(10, 200, 79), +(10, 201, 84), +(10, 202, 96), +(10, 203, 67), +(10, 204, 73), +(10, 205, 80), +(10, 206, 79), +(10, 207, 75), +(10, 208, 71), +(10, 209, 68), +(10, 210, 77), +(10, 211, 84), +(10, 212, 76), +(10, 213, 74), +(10, 214, 79), +(10, 215, 74), +(10, 216, 88), +(10, 217, 66), +(10, 218, 72), +(10, 219, 94), +(10, 220, 96), +(10, 221, 85), +(10, 222, 82), +(10, 223, 86), +(10, 224, 89), +(10, 225, 66), +(10, 226, 83), +(10, 227, 69), +(10, 228, 93), +(10, 229, 90), +(10, 230, 97), +(10, 231, 95), +(10, 232, 87), +(10, 233, 97), +(10, 234, 85), +(10, 235, 96), +(10, 236, 73), +(10, 237, 67), +(10, 238, 83), +(10, 239, 85), +(10, 240, 87), +(10, 241, 98), +(10, 242, 77), +(10, 243, 71), +(10, 244, 87), +(10, 245, 89), +(10, 246, 78), +(10, 247, 87), +(10, 248, 95), +(10, 249, 81), +(10, 250, 65), +(10, 251, 99), +(10, 252, 93), +(10, 253, 91), +(10, 254, 71), +(10, 255, 91), +(10, 256, 95), +(10, 257, 95), +(10, 258, 68), +(10, 259, 97), +(10, 260, 91), +(10, 261, 95), +(10, 262, 75), +(10, 263, 88), +(10, 264, 70), +(10, 265, 98), +(10, 266, 76), +(10, 267, 80), +(10, 268, 97), +(10, 269, 68), +(10, 270, 82), +(10, 271, 71), +(10, 272, 96), +(10, 273, 81), +(10, 274, 90), +(10, 275, 68), +(10, 276, 99), +(10, 277, 68), +(10, 278, 97), +(10, 279, 81), +(10, 280, 99), +(10, 281, 92), +(10, 282, 66), +(11, 1, 87), +(11, 2, 87), +(11, 3, 92), +(11, 4, 99), +(11, 5, 99), +(11, 6, 77), +(11, 7, 84), +(11, 8, 86), +(11, 9, 81), +(11, 10, 81), +(11, 11, 87), +(11, 12, 88), +(11, 13, 69), +(11, 14, 76), +(11, 15, 78), +(11, 16, 87), +(11, 17, 88), +(11, 18, 68), +(11, 19, 76), +(11, 20, 79), +(11, 21, 93), +(11, 22, 88), +(11, 23, 75), +(11, 24, 67), +(11, 25, 91), +(11, 26, 87), +(11, 27, 80), +(11, 28, 86), +(11, 29, 92), +(11, 30, 90), +(11, 31, 67), +(11, 32, 72), +(11, 33, 97), +(11, 34, 97), +(11, 35, 74), +(11, 36, 68), +(11, 37, 79), +(11, 38, 69), +(11, 39, 84), +(11, 40, 86), +(11, 41, 83), +(11, 42, 74), +(11, 43, 75), +(11, 44, 72), +(11, 45, 81), +(11, 46, 68), +(11, 47, 67), +(11, 48, 72), +(11, 49, 92), +(11, 50, 92), +(11, 51, 77), +(11, 52, 68), +(11, 53, 90), +(11, 54, 88), +(11, 55, 86), +(11, 56, 72), +(11, 57, 81), +(11, 58, 79), +(11, 59, 78), +(11, 60, 91), +(11, 61, 76), +(11, 62, 87), +(11, 63, 79), +(11, 64, 83), +(11, 65, 81), +(11, 66, 73), +(11, 67, 77), +(11, 68, 65), +(11, 69, 66), +(11, 70, 73), +(11, 71, 91), +(11, 72, 68), +(11, 73, 69), +(11, 74, 78), +(11, 75, 73), +(11, 76, 75), +(11, 77, 93), +(11, 78, 86), +(11, 79, 70), +(11, 80, 70), +(11, 81, 89), +(11, 82, 86), +(11, 83, 95), +(11, 84, 93), +(11, 85, 86), +(11, 86, 96), +(11, 87, 66), +(11, 88, 70), +(11, 89, 82), +(11, 90, 80), +(11, 91, 86), +(11, 92, 89), +(11, 93, 73), +(11, 94, 83), +(11, 95, 95), +(11, 96, 82), +(11, 97, 72), +(11, 98, 88), +(11, 99, 68), +(11, 100, 80), +(11, 101, 88), +(11, 102, 97), +(11, 103, 69), +(11, 104, 79), +(11, 105, 73), +(11, 106, 72), +(11, 107, 83), +(11, 108, 92), +(11, 109, 71), +(11, 110, 65), +(11, 111, 83), +(11, 112, 74), +(11, 113, 77), +(11, 114, 96), +(11, 115, 83), +(11, 116, 84), +(11, 117, 77), +(11, 118, 82), +(11, 119, 67), +(11, 120, 85), +(11, 121, 84), +(11, 122, 86), +(11, 123, 77), +(11, 124, 85), +(11, 125, 95), +(11, 126, 97), +(11, 127, 94), +(11, 128, 69), +(11, 129, 87), +(11, 130, 96), +(11, 131, 65), +(11, 132, 87), +(11, 133, 92), +(11, 134, 66), +(11, 135, 84), +(11, 136, 69), +(11, 137, 76), +(11, 138, 72), +(11, 139, 87), +(11, 140, 99), +(11, 141, 96), +(11, 142, 69), +(11, 143, 76), +(11, 144, 83), +(11, 145, 74), +(11, 146, 93), +(11, 147, 67), +(11, 148, 95), +(11, 149, 78), +(11, 150, 88), +(11, 151, 81), +(11, 152, 91), +(11, 153, 87), +(11, 154, 69), +(11, 155, 72), +(11, 156, 70), +(11, 157, 98), +(11, 158, 97), +(11, 159, 82), +(11, 160, 76), +(11, 161, 89), +(11, 162, 81), +(11, 163, 87), +(11, 164, 81), +(11, 165, 70), +(11, 166, 81), +(11, 167, 69), +(11, 168, 89), +(11, 169, 71), +(11, 170, 97), +(11, 171, 65), +(11, 172, 74), +(11, 173, 96), +(11, 174, 93), +(11, 175, 82), +(11, 176, 83), +(11, 177, 89), +(11, 178, 69), +(11, 179, 77), +(11, 180, 90), +(11, 181, 92), +(11, 182, 74), +(11, 183, 76), +(11, 184, 79), +(11, 185, 95), +(11, 186, 89), +(11, 187, 82), +(11, 188, 92), +(11, 189, 77), +(11, 190, 90), +(11, 191, 91), +(11, 192, 93), +(11, 193, 88), +(11, 194, 95), +(11, 195, 75), +(11, 196, 85), +(11, 197, 92), +(11, 198, 65), +(11, 199, 91), +(11, 200, 88), +(11, 201, 96), +(11, 202, 74), +(11, 203, 76), +(11, 204, 67), +(11, 205, 80), +(11, 206, 80), +(11, 207, 90), +(11, 208, 69), +(11, 209, 96), +(11, 210, 92), +(11, 211, 86), +(11, 212, 82), +(11, 213, 89), +(11, 214, 71), +(11, 215, 70), +(11, 216, 84), +(11, 217, 77), +(11, 218, 65), +(11, 219, 93), +(11, 220, 99), +(11, 221, 90), +(11, 222, 87), +(11, 223, 80), +(11, 224, 85), +(11, 225, 83), +(11, 226, 98), +(11, 227, 65), +(11, 228, 65), +(11, 229, 95), +(11, 230, 82), +(11, 231, 66), +(11, 232, 88), +(11, 233, 70), +(11, 234, 96), +(11, 235, 89), +(11, 236, 85), +(11, 237, 89), +(11, 238, 67), +(11, 239, 79), +(11, 240, 84), +(11, 241, 71), +(11, 242, 87), +(11, 243, 92), +(11, 244, 68), +(11, 245, 68), +(11, 246, 78), +(11, 247, 92), +(11, 248, 66), +(11, 249, 83), +(11, 250, 94), +(11, 251, 88), +(11, 252, 77), +(11, 253, 68), +(11, 254, 68), +(11, 255, 68), +(11, 256, 67), +(11, 257, 97), +(11, 258, 99), +(11, 259, 87), +(11, 260, 98), +(11, 261, 75), +(11, 262, 93), +(11, 263, 91), +(11, 264, 85), +(11, 265, 90), +(11, 266, 88), +(11, 267, 76), +(11, 268, 98), +(11, 269, 74), +(11, 270, 90), +(11, 271, 85), +(11, 272, 85), +(11, 273, 75), +(11, 274, 67), +(11, 275, 80), +(11, 276, 70), +(11, 277, 81), +(11, 278, 69), +(11, 279, 81), +(11, 280, 92), +(11, 281, 98), +(11, 282, 81), +(12, 1, 95), +(12, 2, 71), +(12, 3, 95), +(12, 4, 93), +(12, 5, 87), +(12, 6, 92), +(12, 7, 77), +(12, 8, 85), +(12, 9, 92), +(12, 10, 71), +(12, 11, 71), +(12, 12, 81), +(12, 13, 71), +(12, 14, 74), +(12, 15, 96), +(12, 16, 93), +(12, 17, 88), +(12, 18, 83), +(12, 19, 88), +(12, 20, 75), +(12, 21, 91), +(12, 22, 88), +(12, 23, 68), +(12, 24, 77), +(12, 25, 77), +(12, 26, 90), +(12, 27, 79), +(12, 28, 65), +(12, 29, 87), +(12, 30, 73), +(12, 31, 74), +(12, 32, 94), +(12, 33, 77), +(12, 34, 68), +(12, 35, 68), +(12, 36, 65), +(12, 37, 68), +(12, 38, 89), +(12, 39, 93), +(12, 40, 76), +(12, 41, 74), +(12, 42, 78), +(12, 43, 78), +(12, 44, 83), +(12, 45, 89), +(12, 46, 85), +(12, 47, 83), +(12, 48, 79), +(12, 49, 89), +(12, 50, 75), +(12, 51, 97), +(12, 52, 79), +(12, 53, 73), +(12, 54, 82), +(12, 55, 95), +(12, 56, 74), +(12, 57, 95), +(12, 58, 90), +(12, 59, 95), +(12, 60, 76), +(12, 61, 98), +(12, 62, 68), +(12, 63, 85), +(12, 64, 69), +(12, 65, 76), +(12, 66, 97), +(12, 67, 65), +(12, 68, 75), +(12, 69, 89), +(12, 70, 87), +(12, 71, 73), +(12, 72, 74), +(12, 73, 65), +(12, 74, 67), +(12, 75, 88), +(12, 76, 65), +(12, 77, 74), +(12, 78, 78), +(12, 79, 81), +(12, 80, 89), +(12, 81, 76), +(12, 82, 84), +(12, 83, 89), +(12, 84, 79), +(12, 85, 76), +(12, 86, 88), +(12, 87, 68), +(12, 88, 91), +(12, 89, 67), +(12, 90, 76), +(12, 91, 71), +(12, 92, 86), +(12, 93, 91), +(12, 94, 92), +(12, 95, 69), +(12, 96, 73), +(12, 97, 65), +(12, 98, 72), +(12, 99, 76), +(12, 100, 67), +(12, 101, 85), +(12, 102, 68), +(12, 103, 75), +(12, 104, 96), +(12, 105, 80), +(12, 106, 73), +(12, 107, 72), +(12, 108, 93), +(12, 109, 69), +(12, 110, 68), +(12, 111, 78), +(12, 112, 70), +(12, 113, 77), +(12, 114, 70), +(12, 115, 73), +(12, 116, 70), +(12, 117, 86), +(12, 118, 98), +(12, 119, 82), +(12, 120, 80), +(12, 121, 99), +(12, 122, 91), +(12, 123, 97), +(12, 124, 68), +(12, 125, 83), +(12, 126, 85), +(12, 127, 78), +(12, 128, 67), +(12, 129, 84), +(12, 130, 96), +(12, 131, 89), +(12, 132, 90), +(12, 133, 66), +(12, 134, 73), +(12, 135, 85), +(12, 136, 97), +(12, 137, 80), +(12, 138, 65), +(12, 139, 70), +(12, 140, 97), +(12, 141, 75), +(12, 142, 92), +(12, 143, 77), +(12, 144, 70), +(12, 145, 86), +(12, 146, 83), +(12, 147, 80), +(12, 148, 82), +(12, 149, 69), +(12, 150, 81), +(12, 151, 92), +(12, 152, 88), +(12, 153, 93), +(12, 154, 88), +(12, 155, 78), +(12, 156, 84), +(12, 157, 96), +(12, 158, 99), +(12, 159, 78), +(12, 160, 92), +(12, 161, 81), +(12, 162, 86), +(12, 163, 73), +(12, 164, 79), +(12, 165, 77), +(12, 166, 85), +(12, 167, 65), +(12, 168, 76), +(12, 169, 80), +(12, 170, 73), +(12, 171, 89), +(12, 172, 66), +(12, 173, 78), +(12, 174, 87), +(12, 175, 78), +(12, 176, 80), +(12, 177, 72), +(12, 178, 92), +(12, 179, 67), +(12, 180, 84), +(12, 181, 97), +(12, 182, 68), +(12, 183, 76), +(12, 184, 84), +(12, 185, 86), +(12, 186, 99), +(12, 187, 96), +(12, 188, 88), +(12, 189, 74), +(12, 190, 83), +(12, 191, 87), +(12, 192, 93), +(12, 193, 87), +(12, 194, 84), +(12, 195, 93), +(12, 196, 72), +(12, 197, 67), +(12, 198, 75), +(12, 199, 73), +(12, 200, 69), +(12, 201, 91), +(12, 202, 88), +(12, 203, 77), +(12, 204, 88), +(12, 205, 98), +(12, 206, 99), +(12, 207, 90), +(12, 208, 69), +(12, 209, 71), +(12, 210, 92), +(12, 211, 79), +(12, 212, 83), +(12, 213, 88), +(12, 214, 92), +(12, 215, 66), +(12, 216, 93), +(12, 217, 88), +(12, 218, 80), +(12, 219, 83), +(12, 220, 74), +(12, 221, 94), +(12, 222, 91), +(12, 223, 77), +(12, 224, 92), +(12, 225, 85), +(12, 226, 69), +(12, 227, 88), +(12, 228, 84), +(12, 229, 73), +(12, 230, 90), +(12, 231, 85), +(12, 232, 82), +(12, 233, 65), +(12, 234, 91), +(12, 235, 93), +(12, 236, 73), +(12, 237, 74), +(12, 238, 91), +(12, 239, 77), +(12, 240, 92), +(12, 241, 99), +(12, 242, 68), +(12, 243, 79), +(12, 244, 84), +(12, 245, 76), +(12, 246, 91), +(12, 247, 67), +(12, 248, 85), +(12, 249, 73), +(12, 250, 70), +(12, 251, 82), +(12, 252, 78), +(12, 253, 74), +(12, 254, 99), +(12, 255, 71), +(12, 256, 88), +(12, 257, 99), +(12, 258, 86), +(12, 259, 80), +(12, 260, 84), +(12, 261, 97), +(12, 262, 69), +(12, 263, 93), +(12, 264, 79), +(12, 265, 92), +(12, 266, 79), +(12, 267, 78), +(12, 268, 97), +(12, 269, 65), +(12, 270, 71), +(12, 271, 78), +(12, 272, 72), +(12, 273, 66), +(12, 274, 70), +(12, 275, 98), +(12, 276, 96), +(12, 277, 98), +(12, 278, 94), +(12, 279, 98), +(12, 280, 65), +(12, 281, 79), +(12, 282, 70), +(13, 1, 81), +(13, 2, 99), +(13, 3, 67), +(13, 4, 69), +(13, 5, 76), +(13, 6, 94), +(13, 7, 68), +(13, 8, 69), +(13, 9, 81), +(13, 10, 84), +(13, 11, 65), +(13, 12, 78), +(13, 13, 84), +(13, 14, 81), +(13, 15, 77), +(13, 16, 69), +(13, 17, 76), +(13, 18, 76), +(13, 19, 77), +(13, 20, 76), +(13, 21, 76), +(13, 22, 77), +(13, 23, 88), +(13, 24, 85), +(13, 25, 84), +(13, 26, 91), +(13, 27, 92), +(13, 28, 71), +(13, 29, 93), +(13, 30, 67), +(13, 31, 71), +(13, 32, 85), +(13, 33, 66), +(13, 34, 87), +(13, 35, 88), +(13, 36, 92), +(13, 37, 72), +(13, 38, 66), +(13, 39, 78), +(13, 40, 91), +(13, 41, 89), +(13, 42, 66), +(13, 43, 97), +(13, 44, 98), +(13, 45, 70), +(13, 46, 88), +(13, 47, 80), +(13, 48, 78), +(13, 49, 73), +(13, 50, 67), +(13, 51, 83), +(13, 52, 93), +(13, 53, 67), +(13, 54, 81), +(13, 55, 82), +(13, 56, 87), +(13, 57, 97), +(13, 58, 80), +(13, 59, 73), +(13, 60, 76), +(13, 61, 94), +(13, 62, 86), +(13, 63, 88), +(13, 64, 65), +(13, 65, 75), +(13, 66, 95), +(13, 67, 99), +(13, 68, 81), +(13, 69, 76), +(13, 70, 82), +(13, 71, 65), +(13, 72, 67), +(13, 73, 91), +(13, 74, 70), +(13, 75, 86), +(13, 76, 71), +(13, 77, 93), +(13, 78, 99), +(13, 79, 93), +(13, 80, 66), +(13, 81, 81), +(13, 82, 65), +(13, 83, 95), +(13, 84, 84), +(13, 85, 94), +(13, 86, 88), +(13, 87, 78), +(13, 88, 75), +(13, 89, 95), +(13, 90, 75), +(13, 91, 67), +(13, 92, 97), +(13, 93, 69), +(13, 94, 77), +(13, 95, 66), +(13, 96, 90), +(13, 97, 78), +(13, 98, 65), +(13, 99, 78), +(13, 100, 98), +(13, 101, 96), +(13, 102, 90), +(13, 103, 68), +(13, 104, 74), +(13, 105, 80), +(13, 106, 82), +(13, 107, 81), +(13, 108, 87), +(13, 109, 67), +(13, 110, 80), +(13, 111, 76), +(13, 112, 96), +(13, 113, 88), +(13, 114, 67), +(13, 115, 84), +(13, 116, 67), +(13, 117, 67), +(13, 118, 75), +(13, 119, 76), +(13, 120, 82), +(13, 121, 74), +(13, 122, 97), +(13, 123, 84), +(13, 124, 89), +(13, 125, 98), +(13, 126, 73), +(13, 127, 82), +(13, 128, 65), +(13, 129, 96), +(13, 130, 93), +(13, 131, 80), +(13, 132, 90), +(13, 133, 94), +(13, 134, 69), +(13, 135, 75), +(13, 136, 73), +(13, 137, 73), +(13, 138, 77), +(13, 139, 93), +(13, 140, 92), +(13, 141, 94), +(13, 142, 84), +(13, 143, 95), +(13, 144, 71), +(13, 145, 73), +(13, 146, 72), +(13, 147, 66), +(13, 148, 94), +(13, 149, 81), +(13, 150, 78), +(13, 151, 82), +(13, 152, 68), +(13, 153, 68), +(13, 154, 98), +(13, 155, 72), +(13, 156, 78), +(13, 157, 88), +(13, 158, 66), +(13, 159, 80), +(13, 160, 65), +(13, 161, 71), +(13, 162, 90), +(13, 163, 77), +(13, 164, 89), +(13, 165, 77), +(13, 166, 82), +(13, 167, 87), +(13, 168, 83), +(13, 169, 85), +(13, 170, 82), +(13, 171, 80), +(13, 172, 78), +(13, 173, 75), +(13, 174, 92), +(13, 175, 79), +(13, 176, 85), +(13, 177, 98), +(13, 178, 82), +(13, 179, 76), +(13, 180, 85), +(13, 181, 76), +(13, 182, 89), +(13, 183, 88), +(13, 184, 85), +(13, 185, 80), +(13, 186, 91), +(13, 187, 97), +(13, 188, 67), +(13, 189, 75), +(13, 190, 78), +(13, 191, 96), +(13, 192, 87), +(13, 193, 71), +(13, 194, 71), +(13, 195, 71), +(13, 196, 73), +(13, 197, 99), +(13, 198, 81), +(13, 199, 95), +(13, 200, 87), +(13, 201, 71), +(13, 202, 83), +(13, 203, 94), +(13, 204, 67), +(13, 205, 80), +(13, 206, 85), +(13, 207, 82), +(13, 208, 72), +(13, 209, 73), +(13, 210, 87), +(13, 211, 72), +(13, 212, 71), +(13, 213, 75), +(13, 214, 76), +(13, 215, 90), +(13, 216, 78), +(13, 217, 73), +(13, 218, 73), +(13, 219, 74), +(13, 220, 78), +(13, 221, 65), +(13, 222, 93), +(13, 223, 82), +(13, 224, 72), +(13, 225, 75), +(13, 226, 92), +(13, 227, 75), +(13, 228, 91), +(13, 229, 83), +(13, 230, 72), +(13, 231, 91), +(13, 232, 81), +(13, 233, 86), +(13, 234, 67), +(13, 235, 97), +(13, 236, 78), +(13, 237, 71), +(13, 238, 84), +(13, 239, 83), +(13, 240, 73), +(13, 241, 80), +(13, 242, 87), +(13, 243, 86), +(13, 244, 80), +(13, 245, 77), +(13, 246, 87), +(13, 247, 97), +(13, 248, 92), +(13, 249, 88), +(13, 250, 74), +(13, 251, 79), +(13, 252, 92), +(13, 253, 67), +(13, 254, 85), +(13, 255, 88), +(13, 256, 72), +(13, 257, 69), +(13, 258, 69), +(13, 259, 76), +(13, 260, 96), +(13, 261, 92), +(13, 262, 73), +(13, 263, 94), +(13, 264, 75), +(13, 265, 88), +(13, 266, 66), +(13, 267, 97), +(13, 268, 92), +(13, 269, 76), +(13, 270, 91), +(13, 271, 68), +(13, 272, 74), +(13, 273, 79), +(13, 274, 83), +(13, 275, 81), +(13, 276, 65), +(13, 277, 79), +(13, 278, 92), +(13, 279, 79), +(13, 280, 88), +(13, 281, 73), +(13, 282, 80), +(14, 1, 90), +(14, 2, 78), +(14, 3, 91), +(14, 4, 73), +(14, 5, 89), +(14, 6, 95), +(14, 7, 78), +(14, 8, 96), +(14, 9, 66), +(14, 10, 69), +(14, 11, 80), +(14, 12, 83), +(14, 13, 74), +(14, 14, 80), +(14, 15, 65), +(14, 16, 72), +(14, 17, 88), +(14, 18, 66), +(14, 19, 93), +(14, 20, 88), +(14, 21, 79), +(14, 22, 90), +(14, 23, 65), +(14, 24, 92), +(14, 25, 90), +(14, 26, 86), +(14, 27, 87), +(14, 28, 98), +(14, 29, 69), +(14, 30, 86), +(14, 31, 65), +(14, 32, 79), +(14, 33, 69), +(14, 34, 97), +(14, 35, 66), +(14, 36, 95), +(14, 37, 94), +(14, 38, 69), +(14, 39, 84), +(14, 40, 95), +(14, 41, 87), +(14, 42, 66), +(14, 43, 82), +(14, 44, 73), +(14, 45, 85), +(14, 46, 83), +(14, 47, 87), +(14, 48, 89), +(14, 49, 68), +(14, 50, 84), +(14, 51, 97), +(14, 52, 93), +(14, 53, 87), +(14, 54, 94), +(14, 55, 96), +(14, 56, 79), +(14, 57, 66), +(14, 58, 98), +(14, 59, 86), +(14, 60, 90), +(14, 61, 76), +(14, 62, 90), +(14, 63, 88), +(14, 64, 89), +(14, 65, 79), +(14, 66, 86), +(14, 67, 97), +(14, 68, 80), +(14, 69, 85), +(14, 70, 84), +(14, 71, 74), +(14, 72, 86), +(14, 73, 91), +(14, 74, 85), +(14, 75, 66), +(14, 76, 96), +(14, 77, 75), +(14, 78, 95), +(14, 79, 90), +(14, 80, 69), +(14, 81, 80), +(14, 82, 79), +(14, 83, 75), +(14, 84, 85), +(14, 85, 71), +(14, 86, 78), +(14, 87, 85), +(14, 88, 71), +(14, 89, 68), +(14, 90, 81), +(14, 91, 92), +(14, 92, 94), +(14, 93, 75), +(14, 94, 79), +(14, 95, 93), +(14, 96, 97), +(14, 97, 98), +(14, 98, 81), +(14, 99, 94), +(14, 100, 87), +(14, 101, 89), +(14, 102, 76), +(14, 103, 84), +(14, 104, 89), +(14, 105, 96), +(14, 106, 92), +(14, 107, 90), +(14, 108, 91), +(14, 109, 65), +(14, 110, 97), +(14, 111, 85), +(14, 112, 65), +(14, 113, 74), +(14, 114, 97), +(14, 115, 67), +(14, 116, 97), +(14, 117, 82), +(14, 118, 88), +(14, 119, 67), +(14, 120, 70), +(14, 121, 76), +(14, 122, 79), +(14, 123, 65), +(14, 124, 74), +(14, 125, 73), +(14, 126, 77), +(14, 127, 75), +(14, 128, 93), +(14, 129, 94), +(14, 130, 79), +(14, 131, 70), +(14, 132, 80), +(14, 133, 66), +(14, 134, 94), +(14, 135, 87), +(14, 136, 78), +(14, 137, 97), +(14, 138, 90), +(14, 139, 85), +(14, 140, 67), +(14, 141, 74), +(14, 142, 78), +(14, 143, 75), +(14, 144, 81), +(14, 145, 80), +(14, 146, 83), +(14, 147, 93), +(14, 148, 92), +(14, 149, 67), +(14, 150, 80), +(14, 151, 71), +(14, 152, 81), +(14, 153, 67), +(14, 154, 89), +(14, 155, 97), +(14, 156, 74), +(14, 157, 86), +(14, 158, 75), +(14, 159, 68), +(14, 160, 87), +(14, 161, 86), +(14, 162, 91), +(14, 163, 99), +(14, 164, 74), +(14, 165, 91), +(14, 166, 89), +(14, 167, 72), +(14, 168, 89), +(14, 169, 87), +(14, 170, 91), +(14, 171, 69), +(14, 172, 90), +(14, 173, 76), +(14, 174, 99), +(14, 175, 95), +(14, 176, 88), +(14, 177, 69), +(14, 178, 73), +(14, 179, 80), +(14, 180, 72), +(14, 181, 96), +(14, 182, 73), +(14, 183, 75), +(14, 184, 73), +(14, 185, 78), +(14, 186, 94), +(14, 187, 65), +(14, 188, 77), +(14, 189, 87), +(14, 190, 79), +(14, 191, 83), +(14, 192, 91), +(14, 193, 99), +(14, 194, 76), +(14, 195, 80), +(14, 196, 86), +(14, 197, 92), +(14, 198, 78), +(14, 199, 85), +(14, 200, 94), +(14, 201, 85), +(14, 202, 87), +(14, 203, 70), +(14, 204, 79), +(14, 205, 77), +(14, 206, 65), +(14, 207, 77), +(14, 208, 87), +(14, 209, 87), +(14, 210, 96), +(14, 211, 93), +(14, 212, 75), +(14, 213, 81), +(14, 214, 76), +(14, 215, 81), +(14, 216, 83), +(14, 217, 72), +(14, 218, 93), +(14, 219, 91), +(14, 220, 68), +(14, 221, 85), +(14, 222, 92), +(14, 223, 79), +(14, 224, 90), +(14, 225, 91), +(14, 226, 84), +(14, 227, 81), +(14, 228, 70), +(14, 229, 98), +(14, 230, 92), +(14, 231, 68), +(14, 232, 93), +(14, 233, 99), +(14, 234, 69), +(14, 235, 73), +(14, 236, 72), +(14, 237, 71), +(14, 238, 81), +(14, 239, 85), +(14, 240, 93), +(14, 241, 71), +(14, 242, 95), +(14, 243, 97), +(14, 244, 84), +(14, 245, 91), +(14, 246, 99), +(14, 247, 78), +(14, 248, 72), +(14, 249, 85), +(14, 250, 95), +(14, 251, 86), +(14, 252, 92), +(14, 253, 83), +(14, 254, 99), +(14, 255, 91), +(14, 256, 99), +(14, 257, 90), +(14, 258, 92), +(14, 259, 73), +(14, 260, 91), +(14, 261, 66), +(14, 262, 93), +(14, 263, 88), +(14, 264, 77), +(14, 265, 67), +(14, 266, 98), +(14, 267, 82), +(14, 268, 68), +(14, 269, 85), +(14, 270, 72), +(14, 271, 80), +(14, 272, 89), +(14, 273, 94), +(14, 274, 72), +(14, 275, 80), +(14, 276, 76), +(14, 277, 72), +(14, 278, 80), +(14, 279, 70), +(14, 280, 75), +(14, 281, 97), +(14, 282, 91), +(15, 1, 74), +(15, 2, 66), +(15, 3, 85), +(15, 4, 94), +(15, 5, 82), +(15, 6, 96), +(15, 7, 89), +(15, 8, 66), +(15, 9, 90), +(15, 10, 67), +(15, 11, 73), +(15, 12, 79), +(15, 13, 89), +(15, 14, 94), +(15, 15, 66), +(15, 16, 91), +(15, 17, 75), +(15, 18, 71), +(15, 19, 99), +(15, 20, 78), +(15, 21, 65), +(15, 22, 86), +(15, 23, 67), +(15, 24, 73), +(15, 25, 96), +(15, 26, 91), +(15, 27, 96), +(15, 28, 71), +(15, 29, 74), +(15, 30, 94), +(15, 31, 85), +(15, 32, 74), +(15, 33, 84), +(15, 34, 90), +(15, 35, 71), +(15, 36, 65), +(15, 37, 85), +(15, 38, 84), +(15, 39, 84), +(15, 40, 68), +(15, 41, 72), +(15, 42, 66), +(15, 43, 92), +(15, 44, 74), +(15, 45, 80), +(15, 46, 87), +(15, 47, 97), +(15, 48, 76), +(15, 49, 90), +(15, 50, 82), +(15, 51, 65), +(15, 52, 87), +(15, 53, 99), +(15, 54, 94), +(15, 55, 65), +(15, 56, 68), +(15, 57, 81), +(15, 58, 81), +(15, 59, 76), +(15, 60, 87), +(15, 61, 70), +(15, 62, 92), +(15, 63, 73), +(15, 64, 79), +(15, 65, 70), +(15, 66, 78), +(15, 67, 88), +(15, 68, 92), +(15, 69, 95), +(15, 70, 75), +(15, 71, 78), +(15, 72, 92), +(15, 73, 83), +(15, 74, 80), +(15, 75, 80), +(15, 76, 96), +(15, 77, 67), +(15, 78, 78), +(15, 79, 73), +(15, 80, 81), +(15, 81, 91), +(15, 82, 99), +(15, 83, 96), +(15, 84, 74), +(15, 85, 80), +(15, 86, 94), +(15, 87, 93), +(15, 88, 68), +(15, 89, 95), +(15, 90, 83), +(15, 91, 90), +(15, 92, 79), +(15, 93, 71), +(15, 94, 66), +(15, 95, 98), +(15, 96, 79), +(15, 97, 86), +(15, 98, 78), +(15, 99, 69), +(15, 100, 76), +(15, 101, 95), +(15, 102, 80), +(15, 103, 81), +(15, 104, 88), +(15, 105, 72), +(15, 106, 81), +(15, 107, 73), +(15, 108, 96), +(15, 109, 93), +(15, 110, 76), +(15, 111, 94), +(15, 112, 77), +(15, 113, 75), +(15, 114, 80), +(15, 115, 90), +(15, 116, 79), +(15, 117, 73), +(15, 118, 78), +(15, 119, 79), +(15, 120, 75), +(15, 121, 96), +(15, 122, 73), +(15, 123, 76), +(15, 124, 70), +(15, 125, 75), +(15, 126, 67), +(15, 127, 66), +(15, 128, 68), +(15, 129, 81), +(15, 130, 87), +(15, 131, 78), +(15, 132, 65), +(15, 133, 90), +(15, 134, 97), +(15, 135, 77), +(15, 136, 72), +(15, 137, 97), +(15, 138, 85), +(15, 139, 82), +(15, 140, 99), +(15, 141, 92), +(15, 142, 75), +(15, 143, 96), +(15, 144, 91), +(15, 145, 78), +(15, 146, 97), +(15, 147, 99), +(15, 148, 77), +(15, 149, 94), +(15, 150, 68), +(15, 151, 81), +(15, 152, 66), +(15, 153, 68), +(15, 154, 89), +(15, 155, 65), +(15, 156, 72), +(15, 157, 65), +(15, 158, 79), +(15, 159, 68), +(15, 160, 73), +(15, 161, 80), +(15, 162, 85), +(15, 163, 95), +(15, 164, 74), +(15, 165, 86), +(15, 166, 99), +(15, 167, 70), +(15, 168, 96), +(15, 169, 79), +(15, 170, 73), +(15, 171, 75), +(15, 172, 82), +(15, 173, 90), +(15, 174, 85), +(15, 175, 70), +(15, 176, 83), +(15, 177, 92), +(15, 178, 87), +(15, 179, 73), +(15, 180, 76), +(15, 181, 79), +(15, 182, 65), +(15, 183, 83), +(15, 184, 79), +(15, 185, 87), +(15, 186, 97), +(15, 187, 73), +(15, 188, 83), +(15, 189, 75), +(15, 190, 94), +(15, 191, 66), +(15, 192, 93), +(15, 193, 76), +(15, 194, 65), +(15, 195, 91), +(15, 196, 78), +(15, 197, 99), +(15, 198, 82), +(15, 199, 78), +(15, 200, 73), +(15, 201, 80), +(15, 202, 88), +(15, 203, 71), +(15, 204, 93), +(15, 205, 80), +(15, 206, 74), +(15, 207, 73), +(15, 208, 87), +(15, 209, 81), +(15, 210, 83), +(15, 211, 80), +(15, 212, 98), +(15, 213, 80); +INSERT INTO `nilai_cpmk` (`id_mhs`, `id_cpmk`, `nilai`) VALUES +(15, 214, 86), +(15, 215, 70), +(15, 216, 81), +(15, 217, 77), +(15, 218, 77), +(15, 219, 96), +(15, 220, 77), +(15, 221, 97), +(15, 222, 83), +(15, 223, 82), +(15, 224, 65), +(15, 225, 95), +(15, 226, 82), +(15, 227, 82), +(15, 228, 82), +(15, 229, 73), +(15, 230, 75), +(15, 231, 71), +(15, 232, 88), +(15, 233, 68), +(15, 234, 78), +(15, 235, 80), +(15, 236, 97), +(15, 237, 77), +(15, 238, 90), +(15, 239, 76), +(15, 240, 80), +(15, 241, 87), +(15, 242, 80), +(15, 243, 90), +(15, 244, 80), +(15, 245, 92), +(15, 246, 96), +(15, 247, 72), +(15, 248, 88), +(15, 249, 96), +(15, 250, 84), +(15, 251, 92), +(15, 252, 85), +(15, 253, 79), +(15, 254, 72), +(15, 255, 90), +(15, 256, 77), +(15, 257, 74), +(15, 258, 83), +(15, 259, 74), +(15, 260, 69), +(15, 261, 98), +(15, 262, 76), +(15, 263, 96), +(15, 264, 92), +(15, 265, 76), +(15, 266, 89), +(15, 267, 89), +(15, 268, 70), +(15, 269, 99), +(15, 270, 92), +(15, 271, 94), +(15, 272, 89), +(15, 273, 98), +(15, 274, 80), +(15, 275, 93), +(15, 276, 86), +(15, 277, 95), +(15, 278, 95), +(15, 279, 83), +(15, 280, 80), +(15, 281, 97), +(15, 282, 80), +(16, 1, 67), +(16, 2, 98), +(16, 3, 86), +(16, 4, 81), +(16, 5, 79), +(16, 6, 93), +(16, 7, 76), +(16, 8, 83), +(16, 9, 85), +(16, 10, 96), +(16, 11, 94), +(16, 12, 82), +(16, 13, 89), +(16, 14, 97), +(16, 15, 72), +(16, 16, 67), +(16, 17, 81), +(16, 18, 94), +(16, 19, 82), +(16, 20, 96), +(16, 21, 96), +(16, 22, 95), +(16, 23, 75), +(16, 24, 93), +(16, 25, 77), +(16, 26, 65), +(16, 27, 83), +(16, 28, 66), +(16, 29, 96), +(16, 30, 77), +(16, 31, 96), +(16, 32, 71), +(16, 33, 78), +(16, 34, 94), +(16, 35, 92), +(16, 36, 80), +(16, 37, 79), +(16, 38, 77), +(16, 39, 70), +(16, 40, 94), +(16, 41, 67), +(16, 42, 71), +(16, 43, 77), +(16, 44, 88), +(16, 45, 80), +(16, 46, 89), +(16, 47, 87), +(16, 48, 82), +(16, 49, 78), +(16, 50, 93), +(16, 51, 73), +(16, 52, 90), +(16, 53, 65), +(16, 54, 88), +(16, 55, 79), +(16, 56, 75), +(16, 57, 72), +(16, 58, 83), +(16, 59, 90), +(16, 60, 99), +(16, 61, 91), +(16, 62, 90), +(16, 63, 74), +(16, 64, 66), +(16, 65, 86), +(16, 66, 70), +(16, 67, 82), +(16, 68, 88), +(16, 69, 87), +(16, 70, 95), +(16, 71, 66), +(16, 72, 69), +(16, 73, 75), +(16, 74, 80), +(16, 75, 67), +(16, 76, 93), +(16, 77, 81), +(16, 78, 73), +(16, 79, 97), +(16, 80, 66), +(16, 81, 80), +(16, 82, 90), +(16, 83, 86), +(16, 84, 86), +(16, 85, 85), +(16, 86, 69), +(16, 87, 77), +(16, 88, 95), +(16, 89, 68), +(16, 90, 72), +(16, 91, 74), +(16, 92, 81), +(16, 93, 99), +(16, 94, 99), +(16, 95, 75), +(16, 96, 76), +(16, 97, 73), +(16, 98, 79), +(16, 99, 69), +(16, 100, 91), +(16, 101, 72), +(16, 102, 72), +(16, 103, 91), +(16, 104, 75), +(16, 105, 75), +(16, 106, 98), +(16, 107, 66), +(16, 108, 71), +(16, 109, 67), +(16, 110, 96), +(16, 111, 84), +(16, 112, 92), +(16, 113, 91), +(16, 114, 79), +(16, 115, 78), +(16, 116, 75), +(16, 117, 92), +(16, 118, 96), +(16, 119, 95), +(16, 120, 99), +(16, 121, 82), +(16, 122, 98), +(16, 123, 88), +(16, 124, 67), +(16, 125, 93), +(16, 126, 74), +(16, 127, 74), +(16, 128, 98), +(16, 129, 95), +(16, 130, 96), +(16, 131, 84), +(16, 132, 92), +(16, 133, 83), +(16, 134, 67), +(16, 135, 95), +(16, 136, 98), +(16, 137, 94), +(16, 138, 91), +(16, 139, 92), +(16, 140, 90), +(16, 141, 71), +(16, 142, 77), +(16, 143, 85), +(16, 144, 78), +(16, 145, 88), +(16, 146, 67), +(16, 147, 80), +(16, 148, 82), +(16, 149, 67), +(16, 150, 69), +(16, 151, 91), +(16, 152, 92), +(16, 153, 73), +(16, 154, 76), +(16, 155, 76), +(16, 156, 71), +(16, 157, 73), +(16, 158, 69), +(16, 159, 73), +(16, 160, 72), +(16, 161, 77), +(16, 162, 89), +(16, 163, 79), +(16, 164, 83), +(16, 165, 94), +(16, 166, 94), +(16, 167, 68), +(16, 168, 79), +(16, 169, 71), +(16, 170, 99), +(16, 171, 71), +(16, 172, 75), +(16, 173, 89), +(16, 174, 66), +(16, 175, 68), +(16, 176, 86), +(16, 177, 83), +(16, 178, 81), +(16, 179, 95), +(16, 180, 65), +(16, 181, 79), +(16, 182, 79), +(16, 183, 91), +(16, 184, 77), +(16, 185, 99), +(16, 186, 70), +(16, 187, 70), +(16, 188, 86), +(16, 189, 85), +(16, 190, 65), +(16, 191, 85), +(16, 192, 94), +(16, 193, 90), +(16, 194, 70), +(16, 195, 77), +(16, 196, 65), +(16, 197, 84), +(16, 198, 78), +(16, 199, 71), +(16, 200, 89), +(16, 201, 79), +(16, 202, 79), +(16, 203, 83), +(16, 204, 94), +(16, 205, 70), +(16, 206, 74), +(16, 207, 70), +(16, 208, 73), +(16, 209, 79), +(16, 210, 98), +(16, 211, 92), +(16, 212, 97), +(16, 213, 94), +(16, 214, 67), +(16, 215, 80), +(16, 216, 91), +(16, 217, 70), +(16, 218, 78), +(16, 219, 74), +(16, 220, 82), +(16, 221, 95), +(16, 222, 75), +(16, 223, 76), +(16, 224, 94), +(16, 225, 67), +(16, 226, 90), +(16, 227, 67), +(16, 228, 66), +(16, 229, 73), +(16, 230, 72), +(16, 231, 88), +(16, 232, 95), +(16, 233, 85), +(16, 234, 83), +(16, 235, 82), +(16, 236, 66), +(16, 237, 73), +(16, 238, 72), +(16, 239, 98), +(16, 240, 90), +(16, 241, 85), +(16, 242, 87), +(16, 243, 96), +(16, 244, 86), +(16, 245, 85), +(16, 246, 86), +(16, 247, 96), +(16, 248, 92), +(16, 249, 93), +(16, 250, 68), +(16, 251, 68), +(16, 252, 82), +(16, 253, 81), +(16, 254, 66), +(16, 255, 79), +(16, 256, 92), +(16, 257, 69), +(16, 258, 77), +(16, 259, 84), +(16, 260, 80), +(16, 261, 85), +(16, 262, 72), +(16, 263, 80), +(16, 264, 97), +(16, 265, 78), +(16, 266, 85), +(16, 267, 97), +(16, 268, 83), +(16, 269, 70), +(16, 270, 74), +(16, 271, 98), +(16, 272, 77), +(16, 273, 75), +(16, 274, 83), +(16, 275, 92), +(16, 276, 68), +(16, 277, 88), +(16, 278, 98), +(16, 279, 73), +(16, 280, 77), +(16, 281, 96), +(16, 282, 97), +(17, 1, 87), +(17, 2, 89), +(17, 3, 75), +(17, 4, 92), +(17, 5, 84), +(17, 6, 78), +(17, 7, 85), +(17, 8, 84), +(17, 9, 92), +(17, 10, 77), +(17, 11, 83), +(17, 12, 73), +(17, 13, 76), +(17, 14, 66), +(17, 15, 97), +(17, 16, 69), +(17, 17, 83), +(17, 18, 87), +(17, 19, 85), +(17, 20, 77), +(17, 21, 78), +(17, 22, 81), +(17, 23, 75), +(17, 24, 79), +(17, 25, 68), +(17, 26, 90), +(17, 27, 99), +(17, 28, 88), +(17, 29, 90), +(17, 30, 75), +(17, 31, 88), +(17, 32, 66), +(17, 33, 72), +(17, 34, 67), +(17, 35, 80), +(17, 36, 69), +(17, 37, 73), +(17, 38, 69), +(17, 39, 66), +(17, 40, 98), +(17, 41, 90), +(17, 42, 91), +(17, 43, 78), +(17, 44, 83), +(17, 45, 97), +(17, 46, 81), +(17, 47, 80), +(17, 48, 85), +(17, 49, 91), +(17, 50, 86), +(17, 51, 73), +(17, 52, 92), +(17, 53, 70), +(17, 54, 93), +(17, 55, 99), +(17, 56, 69), +(17, 57, 88), +(17, 58, 71), +(17, 59, 90), +(17, 60, 66), +(17, 61, 74), +(17, 62, 74), +(17, 63, 87), +(17, 64, 97), +(17, 65, 84), +(17, 66, 86), +(17, 67, 85), +(17, 68, 97), +(17, 69, 86), +(17, 70, 81), +(17, 71, 68), +(17, 72, 75), +(17, 73, 98), +(17, 74, 95), +(17, 75, 66), +(17, 76, 79), +(17, 77, 70), +(17, 78, 68), +(17, 79, 99), +(17, 80, 90), +(17, 81, 98), +(17, 82, 89), +(17, 83, 77), +(17, 84, 72), +(17, 85, 88), +(17, 86, 67), +(17, 87, 76), +(17, 88, 70), +(17, 89, 94), +(17, 90, 82), +(17, 91, 71), +(17, 92, 72), +(17, 93, 79), +(17, 94, 93), +(17, 95, 88), +(17, 96, 78), +(17, 97, 76), +(17, 98, 96), +(17, 99, 73), +(17, 100, 90), +(17, 101, 79), +(17, 102, 92), +(17, 103, 77), +(17, 104, 79), +(17, 105, 95), +(17, 106, 77), +(17, 107, 82), +(17, 108, 73), +(17, 109, 97), +(17, 110, 80), +(17, 111, 71), +(17, 112, 92), +(17, 113, 95), +(17, 114, 90), +(17, 115, 91), +(17, 116, 72), +(17, 117, 71), +(17, 118, 78), +(17, 119, 67), +(17, 120, 66), +(17, 121, 92), +(17, 122, 68), +(17, 123, 77), +(17, 124, 96), +(17, 125, 71), +(17, 126, 69), +(17, 127, 71), +(17, 128, 85), +(17, 129, 96), +(17, 130, 85), +(17, 131, 84), +(17, 132, 94), +(17, 133, 78), +(17, 134, 86), +(17, 135, 74), +(17, 136, 70), +(17, 137, 77), +(17, 138, 65), +(17, 139, 77), +(17, 140, 87), +(17, 141, 85), +(17, 142, 94), +(17, 143, 71), +(17, 144, 89), +(17, 145, 71), +(17, 146, 84), +(17, 147, 73), +(17, 148, 78), +(17, 149, 94), +(17, 150, 77), +(17, 151, 79), +(17, 152, 94), +(17, 153, 95), +(17, 154, 86), +(17, 155, 84), +(17, 156, 75), +(17, 157, 72), +(17, 158, 80), +(17, 159, 97), +(17, 160, 78), +(17, 161, 79), +(17, 162, 91), +(17, 163, 79), +(17, 164, 94), +(17, 165, 78), +(17, 166, 75), +(17, 167, 67), +(17, 168, 76), +(17, 169, 87), +(17, 170, 72), +(17, 171, 98), +(17, 172, 67), +(17, 173, 74), +(17, 174, 77), +(17, 175, 68), +(17, 176, 84), +(17, 177, 75), +(17, 178, 80), +(17, 179, 87), +(17, 180, 69), +(17, 181, 95), +(17, 182, 99), +(17, 183, 70), +(17, 184, 86), +(17, 185, 65), +(17, 186, 97), +(17, 187, 68), +(17, 188, 79), +(17, 189, 67), +(17, 190, 83), +(17, 191, 94), +(17, 192, 92), +(17, 193, 86), +(17, 194, 88), +(17, 195, 84), +(17, 196, 98), +(17, 197, 91), +(17, 198, 79), +(17, 199, 93), +(17, 200, 91), +(17, 201, 91), +(17, 202, 66), +(17, 203, 65), +(17, 204, 90), +(17, 205, 82), +(17, 206, 86), +(17, 207, 65), +(17, 208, 75), +(17, 209, 89), +(17, 210, 71), +(17, 211, 84), +(17, 212, 92), +(17, 213, 93), +(17, 214, 84), +(17, 215, 91), +(17, 216, 79), +(17, 217, 88), +(17, 218, 93), +(17, 219, 88), +(17, 220, 81), +(17, 221, 82), +(17, 222, 98), +(17, 223, 70), +(17, 224, 70), +(17, 225, 90), +(17, 226, 69), +(17, 227, 95), +(17, 228, 90), +(17, 229, 85), +(17, 230, 68), +(17, 231, 90), +(17, 232, 79), +(17, 233, 83), +(17, 234, 83), +(17, 235, 68), +(17, 236, 77), +(17, 237, 67), +(17, 238, 94), +(17, 239, 90), +(17, 240, 75), +(17, 241, 67), +(17, 242, 93), +(17, 243, 73), +(17, 244, 89), +(17, 245, 85), +(17, 246, 75), +(17, 247, 93), +(17, 248, 94), +(17, 249, 75), +(17, 250, 95), +(17, 251, 70), +(17, 252, 94), +(17, 253, 68), +(17, 254, 84), +(17, 255, 95), +(17, 256, 96), +(17, 257, 93), +(17, 258, 71), +(17, 259, 66), +(17, 260, 90), +(17, 261, 68), +(17, 262, 65), +(17, 263, 83), +(17, 264, 72), +(17, 265, 97), +(17, 266, 92), +(17, 267, 87), +(17, 268, 71), +(17, 269, 91), +(17, 270, 66), +(17, 271, 71), +(17, 272, 91), +(17, 273, 85), +(17, 274, 77), +(17, 275, 79), +(17, 276, 89), +(17, 277, 91), +(17, 278, 72), +(17, 279, 84), +(17, 280, 79), +(17, 281, 87), +(17, 282, 75), +(18, 1, 99), +(18, 2, 88), +(18, 3, 86), +(18, 4, 84), +(18, 5, 84), +(18, 6, 81), +(18, 7, 96), +(18, 8, 73), +(18, 9, 69), +(18, 10, 66), +(18, 11, 67), +(18, 12, 89), +(18, 13, 84), +(18, 14, 79), +(18, 15, 98), +(18, 16, 78), +(18, 17, 73), +(18, 18, 88), +(18, 19, 78), +(18, 20, 68), +(18, 21, 73), +(18, 22, 92), +(18, 23, 85), +(18, 24, 85), +(18, 25, 78), +(18, 26, 85), +(18, 27, 76), +(18, 28, 73), +(18, 29, 96), +(18, 30, 80), +(18, 31, 87), +(18, 32, 88), +(18, 33, 97), +(18, 34, 91), +(18, 35, 95), +(18, 36, 78), +(18, 37, 99), +(18, 38, 86), +(18, 39, 92), +(18, 40, 73), +(18, 41, 80), +(18, 42, 72), +(18, 43, 97), +(18, 44, 85), +(18, 45, 76), +(18, 46, 75), +(18, 47, 75), +(18, 48, 78), +(18, 49, 84), +(18, 50, 86), +(18, 51, 79), +(18, 52, 87), +(18, 53, 89), +(18, 54, 68), +(18, 55, 88), +(18, 56, 94), +(18, 57, 90), +(18, 58, 78), +(18, 59, 79), +(18, 60, 75), +(18, 61, 70), +(18, 62, 69), +(18, 63, 79), +(18, 64, 82), +(18, 65, 99), +(18, 66, 87), +(18, 67, 78), +(18, 68, 86), +(18, 69, 69), +(18, 70, 90), +(18, 71, 75), +(18, 72, 66), +(18, 73, 95), +(18, 74, 67), +(18, 75, 97), +(18, 76, 85), +(18, 77, 79), +(18, 78, 91), +(18, 79, 69), +(18, 80, 82), +(18, 81, 82), +(18, 82, 74), +(18, 83, 97), +(18, 84, 73), +(18, 85, 84), +(18, 86, 65), +(18, 87, 84), +(18, 88, 67), +(18, 89, 96), +(18, 90, 95), +(18, 91, 66), +(18, 92, 87), +(18, 93, 66), +(18, 94, 65), +(18, 95, 82), +(18, 96, 97), +(18, 97, 98), +(18, 98, 73), +(18, 99, 93), +(18, 100, 78), +(18, 101, 80), +(18, 102, 74), +(18, 103, 81), +(18, 104, 72), +(18, 105, 82), +(18, 106, 97), +(18, 107, 76), +(18, 108, 90), +(18, 109, 78), +(18, 110, 84), +(18, 111, 73), +(18, 112, 87), +(18, 113, 69), +(18, 114, 81), +(18, 115, 88), +(18, 116, 70), +(18, 117, 84), +(18, 118, 71), +(18, 119, 89), +(18, 120, 73), +(18, 121, 80), +(18, 122, 86), +(18, 123, 92), +(18, 124, 74), +(18, 125, 80), +(18, 126, 95), +(18, 127, 70), +(18, 128, 65), +(18, 129, 95), +(18, 130, 72), +(18, 131, 71), +(18, 132, 97), +(18, 133, 79), +(18, 134, 96), +(18, 135, 90), +(18, 136, 97), +(18, 137, 75), +(18, 138, 92), +(18, 139, 82), +(18, 140, 68), +(18, 141, 75), +(18, 142, 70), +(18, 143, 73), +(18, 144, 77), +(18, 145, 95), +(18, 146, 83), +(18, 147, 98), +(18, 148, 79), +(18, 149, 97), +(18, 150, 78), +(18, 151, 90), +(18, 152, 96), +(18, 153, 89), +(18, 154, 67), +(18, 155, 92), +(18, 156, 99), +(18, 157, 77), +(18, 158, 94), +(18, 159, 95), +(18, 160, 76), +(18, 161, 68), +(18, 162, 87), +(18, 163, 93), +(18, 164, 86), +(18, 165, 80), +(18, 166, 99), +(18, 167, 65), +(18, 168, 79), +(18, 169, 89), +(18, 170, 67), +(18, 171, 75), +(18, 172, 79), +(18, 173, 76), +(18, 174, 90), +(18, 175, 71), +(18, 176, 97), +(18, 177, 98), +(18, 178, 94), +(18, 179, 86), +(18, 180, 85), +(18, 181, 67), +(18, 182, 89), +(18, 183, 83), +(18, 184, 97), +(18, 185, 68), +(18, 186, 71), +(18, 187, 65), +(18, 188, 73), +(18, 189, 84), +(18, 190, 88), +(18, 191, 79), +(18, 192, 77), +(18, 193, 98), +(18, 194, 96), +(18, 195, 89), +(18, 196, 89), +(18, 197, 70), +(18, 198, 98), +(18, 199, 79), +(18, 200, 88), +(18, 201, 83), +(18, 202, 98), +(18, 203, 84), +(18, 204, 70), +(18, 205, 98), +(18, 206, 73), +(18, 207, 85), +(18, 208, 92), +(18, 209, 71), +(18, 210, 67), +(18, 211, 79), +(18, 212, 67), +(18, 213, 86), +(18, 214, 86), +(18, 215, 78), +(18, 216, 93), +(18, 217, 95), +(18, 218, 96), +(18, 219, 83), +(18, 220, 93), +(18, 221, 96), +(18, 222, 94), +(18, 223, 90), +(18, 224, 75), +(18, 225, 82), +(18, 226, 83), +(18, 227, 67), +(18, 228, 84), +(18, 229, 70), +(18, 230, 96), +(18, 231, 89), +(18, 232, 78), +(18, 233, 99), +(18, 234, 67), +(18, 235, 65), +(18, 236, 90), +(18, 237, 88), +(18, 238, 84), +(18, 239, 93), +(18, 240, 74), +(18, 241, 85), +(18, 242, 70), +(18, 243, 85), +(18, 244, 87), +(18, 245, 73), +(18, 246, 88), +(18, 247, 78), +(18, 248, 96), +(18, 249, 66), +(18, 250, 66), +(18, 251, 81), +(18, 252, 89), +(18, 253, 67), +(18, 254, 90), +(18, 255, 68), +(18, 256, 68), +(18, 257, 89), +(18, 258, 94), +(18, 259, 84), +(18, 260, 77), +(18, 261, 88), +(18, 262, 83), +(18, 263, 78), +(18, 264, 74), +(18, 265, 82), +(18, 266, 73), +(18, 267, 77), +(18, 268, 75), +(18, 269, 76), +(18, 270, 77), +(18, 271, 66), +(18, 272, 90), +(18, 273, 68), +(18, 274, 72), +(18, 275, 92), +(18, 276, 72), +(18, 277, 92), +(18, 278, 73), +(18, 279, 67), +(18, 280, 67), +(18, 281, 83), +(18, 282, 90), +(19, 1, 98), +(19, 2, 72), +(19, 3, 73), +(19, 4, 78), +(19, 5, 69), +(19, 6, 71), +(19, 7, 89), +(19, 8, 81), +(19, 9, 74), +(19, 10, 70), +(19, 11, 92), +(19, 12, 93), +(19, 13, 93), +(19, 14, 99), +(19, 15, 67), +(19, 16, 85), +(19, 17, 85), +(19, 18, 80), +(19, 19, 71), +(19, 20, 79), +(19, 21, 66), +(19, 22, 83), +(19, 23, 65), +(19, 24, 89), +(19, 25, 86), +(19, 26, 89), +(19, 27, 90), +(19, 28, 73), +(19, 29, 78), +(19, 30, 73), +(19, 31, 71), +(19, 32, 71), +(19, 33, 98), +(19, 34, 85), +(19, 35, 66), +(19, 36, 81), +(19, 37, 73), +(19, 38, 86), +(19, 39, 92), +(19, 40, 76), +(19, 41, 67), +(19, 42, 94), +(19, 43, 80), +(19, 44, 79), +(19, 45, 93), +(19, 46, 69), +(19, 47, 71), +(19, 48, 69), +(19, 49, 82), +(19, 50, 74), +(19, 51, 78), +(19, 52, 98), +(19, 53, 99), +(19, 54, 68), +(19, 55, 81), +(19, 56, 92), +(19, 57, 85), +(19, 58, 79), +(19, 59, 97), +(19, 60, 76), +(19, 61, 97), +(19, 62, 97), +(19, 63, 69), +(19, 64, 92), +(19, 65, 73), +(19, 66, 74), +(19, 67, 72), +(19, 68, 76), +(19, 69, 94), +(19, 70, 71), +(19, 71, 75), +(19, 72, 78), +(19, 73, 80), +(19, 74, 89), +(19, 75, 84), +(19, 76, 89), +(19, 77, 82), +(19, 78, 80), +(19, 79, 90), +(19, 80, 77), +(19, 81, 86), +(19, 82, 76), +(19, 83, 87), +(19, 84, 86), +(19, 85, 93), +(19, 86, 92), +(19, 87, 90), +(19, 88, 96), +(19, 89, 65), +(19, 90, 94), +(19, 91, 91), +(19, 92, 84), +(19, 93, 65), +(19, 94, 90), +(19, 95, 80), +(19, 96, 83), +(19, 97, 90), +(19, 98, 85), +(19, 99, 79), +(19, 100, 89), +(19, 101, 98), +(19, 102, 65), +(19, 103, 76), +(19, 104, 94), +(19, 105, 93), +(19, 106, 84), +(19, 107, 70), +(19, 108, 94), +(19, 109, 70), +(19, 110, 79), +(19, 111, 90), +(19, 112, 95), +(19, 113, 99), +(19, 114, 68), +(19, 115, 65), +(19, 116, 71), +(19, 117, 73), +(19, 118, 93), +(19, 119, 76), +(19, 120, 70), +(19, 121, 94), +(19, 122, 92), +(19, 123, 92), +(19, 124, 86), +(19, 125, 89), +(19, 126, 98), +(19, 127, 72), +(19, 128, 74), +(19, 129, 90), +(19, 130, 77), +(19, 131, 71), +(19, 132, 67), +(19, 133, 97), +(19, 134, 84), +(19, 135, 95), +(19, 136, 68), +(19, 137, 81), +(19, 138, 94), +(19, 139, 80), +(19, 140, 81), +(19, 141, 91), +(19, 142, 73), +(19, 143, 86), +(19, 144, 87), +(19, 145, 93), +(19, 146, 67), +(19, 147, 67), +(19, 148, 98), +(19, 149, 72), +(19, 150, 93), +(19, 151, 79), +(19, 152, 96), +(19, 153, 94), +(19, 154, 82), +(19, 155, 72), +(19, 156, 66), +(19, 157, 68), +(19, 158, 92), +(19, 159, 87), +(19, 160, 80), +(19, 161, 71), +(19, 162, 97), +(19, 163, 93), +(19, 164, 82), +(19, 165, 65), +(19, 166, 66), +(19, 167, 94), +(19, 168, 66), +(19, 169, 84), +(19, 170, 92), +(19, 171, 86), +(19, 172, 94), +(19, 173, 90), +(19, 174, 83), +(19, 175, 88), +(19, 176, 65), +(19, 177, 94), +(19, 178, 97), +(19, 179, 67), +(19, 180, 81), +(19, 181, 90), +(19, 182, 83), +(19, 183, 70), +(19, 184, 94), +(19, 185, 80), +(19, 186, 68), +(19, 187, 93), +(19, 188, 99), +(19, 189, 87), +(19, 190, 88), +(19, 191, 82), +(19, 192, 82), +(19, 193, 96), +(19, 194, 82), +(19, 195, 93), +(19, 196, 89), +(19, 197, 84), +(19, 198, 82), +(19, 199, 88), +(19, 200, 67), +(19, 201, 76), +(19, 202, 87), +(19, 203, 88), +(19, 204, 84), +(19, 205, 75), +(19, 206, 78), +(19, 207, 95), +(19, 208, 66), +(19, 209, 96), +(19, 210, 94), +(19, 211, 78), +(19, 212, 67), +(19, 213, 84), +(19, 214, 75), +(19, 215, 88), +(19, 216, 93), +(19, 217, 79), +(19, 218, 67), +(19, 219, 89), +(19, 220, 87), +(19, 221, 65), +(19, 222, 76), +(19, 223, 73), +(19, 224, 98), +(19, 225, 74), +(19, 226, 73), +(19, 227, 93), +(19, 228, 83), +(19, 229, 65), +(19, 230, 72), +(19, 231, 76), +(19, 232, 88), +(19, 233, 74), +(19, 234, 92), +(19, 235, 93), +(19, 236, 85), +(19, 237, 70), +(19, 238, 76), +(19, 239, 96), +(19, 240, 84), +(19, 241, 89), +(19, 242, 79), +(19, 243, 72), +(19, 244, 69), +(19, 245, 79), +(19, 246, 82), +(19, 247, 81), +(19, 248, 97), +(19, 249, 75), +(19, 250, 86), +(19, 251, 95), +(19, 252, 65), +(19, 253, 68), +(19, 254, 99), +(19, 255, 97), +(19, 256, 91), +(19, 257, 68), +(19, 258, 87), +(19, 259, 88), +(19, 260, 85), +(19, 261, 69), +(19, 262, 84), +(19, 263, 74), +(19, 264, 90), +(19, 265, 88), +(19, 266, 95), +(19, 267, 95), +(19, 268, 97), +(19, 269, 77), +(19, 270, 89), +(19, 271, 89), +(19, 272, 78), +(19, 273, 89), +(19, 274, 97), +(19, 275, 89), +(19, 276, 98), +(19, 277, 87), +(19, 278, 82), +(19, 279, 89), +(19, 280, 66), +(19, 281, 90), +(19, 282, 89), +(20, 1, 96), +(20, 2, 68), +(20, 3, 75), +(20, 4, 74), +(20, 5, 98), +(20, 6, 83), +(20, 7, 95), +(20, 8, 86), +(20, 9, 98), +(20, 10, 86), +(20, 11, 90), +(20, 12, 97), +(20, 13, 78), +(20, 14, 86), +(20, 15, 80), +(20, 16, 92), +(20, 17, 72), +(20, 18, 72), +(20, 19, 91), +(20, 20, 91), +(20, 21, 83), +(20, 22, 74), +(20, 23, 75), +(20, 24, 92), +(20, 25, 97), +(20, 26, 93), +(20, 27, 87), +(20, 28, 80), +(20, 29, 70), +(20, 30, 99), +(20, 31, 67), +(20, 32, 97), +(20, 33, 99), +(20, 34, 90), +(20, 35, 84), +(20, 36, 72), +(20, 37, 72), +(20, 38, 75), +(20, 39, 86), +(20, 40, 96), +(20, 41, 98), +(20, 42, 82), +(20, 43, 82), +(20, 44, 76), +(20, 45, 69), +(20, 46, 91), +(20, 47, 98), +(20, 48, 83), +(20, 49, 95), +(20, 50, 83), +(20, 51, 89), +(20, 52, 93), +(20, 53, 94), +(20, 54, 69), +(20, 55, 73), +(20, 56, 79), +(20, 57, 92), +(20, 58, 94), +(20, 59, 80), +(20, 60, 89), +(20, 61, 73), +(20, 62, 73), +(20, 63, 77), +(20, 64, 79), +(20, 65, 72), +(20, 66, 82), +(20, 67, 94), +(20, 68, 90), +(20, 69, 92), +(20, 70, 92), +(20, 71, 84), +(20, 72, 91), +(20, 73, 87), +(20, 74, 74), +(20, 75, 65), +(20, 76, 91), +(20, 77, 77), +(20, 78, 98), +(20, 79, 71), +(20, 80, 75), +(20, 81, 85), +(20, 82, 91), +(20, 83, 76), +(20, 84, 76), +(20, 85, 79), +(20, 86, 96), +(20, 87, 67), +(20, 88, 75), +(20, 89, 76), +(20, 90, 83), +(20, 91, 87), +(20, 92, 95), +(20, 93, 99), +(20, 94, 85), +(20, 95, 92), +(20, 96, 94), +(20, 97, 91), +(20, 98, 70), +(20, 99, 84), +(20, 100, 79), +(20, 101, 79), +(20, 102, 73), +(20, 103, 74), +(20, 104, 86), +(20, 105, 85), +(20, 106, 98), +(20, 107, 91), +(20, 108, 65), +(20, 109, 87), +(20, 110, 78), +(20, 111, 96), +(20, 112, 81), +(20, 113, 84), +(20, 114, 67), +(20, 115, 68), +(20, 116, 79), +(20, 117, 82), +(20, 118, 82), +(20, 119, 84), +(20, 120, 65), +(20, 121, 98), +(20, 122, 66), +(20, 123, 87), +(20, 124, 75), +(20, 125, 68), +(20, 126, 72), +(20, 127, 88), +(20, 128, 76), +(20, 129, 98), +(20, 130, 69), +(20, 131, 78), +(20, 132, 83), +(20, 133, 77), +(20, 134, 69), +(20, 135, 71), +(20, 136, 91), +(20, 137, 78), +(20, 138, 96), +(20, 139, 89), +(20, 140, 70), +(20, 141, 97), +(20, 142, 93), +(20, 143, 75), +(20, 144, 69), +(20, 145, 83), +(20, 146, 89), +(20, 147, 78), +(20, 148, 81), +(20, 149, 71), +(20, 150, 65), +(20, 151, 95), +(20, 152, 91), +(20, 153, 70), +(20, 154, 76), +(20, 155, 92), +(20, 156, 75), +(20, 157, 81), +(20, 158, 82), +(20, 159, 82), +(20, 160, 73), +(20, 161, 88), +(20, 162, 90), +(20, 163, 88), +(20, 164, 88), +(20, 165, 92), +(20, 166, 74), +(20, 167, 73), +(20, 168, 99), +(20, 169, 90), +(20, 170, 88), +(20, 171, 70), +(20, 172, 65), +(20, 173, 89), +(20, 174, 79), +(20, 175, 92), +(20, 176, 73), +(20, 177, 77), +(20, 178, 65), +(20, 179, 82), +(20, 180, 87), +(20, 181, 79), +(20, 182, 84), +(20, 183, 71), +(20, 184, 80), +(20, 185, 98), +(20, 186, 65), +(20, 187, 99), +(20, 188, 73), +(20, 189, 81), +(20, 190, 78), +(20, 191, 75), +(20, 192, 77), +(20, 193, 89), +(20, 194, 92), +(20, 195, 99), +(20, 196, 76), +(20, 197, 77), +(20, 198, 87), +(20, 199, 67), +(20, 200, 79), +(20, 201, 69), +(20, 202, 76), +(20, 203, 91), +(20, 204, 78), +(20, 205, 86), +(20, 206, 70), +(20, 207, 88), +(20, 208, 95), +(20, 209, 96), +(20, 210, 98), +(20, 211, 89), +(20, 212, 69), +(20, 213, 65), +(20, 214, 89), +(20, 215, 72), +(20, 216, 88), +(20, 217, 78), +(20, 218, 85), +(20, 219, 93), +(20, 220, 93), +(20, 221, 77), +(20, 222, 69), +(20, 223, 66), +(20, 224, 97), +(20, 225, 95), +(20, 226, 88), +(20, 227, 93), +(20, 228, 98), +(20, 229, 87), +(20, 230, 79), +(20, 231, 80), +(20, 232, 72), +(20, 233, 79), +(20, 234, 87), +(20, 235, 99), +(20, 236, 88), +(20, 237, 93), +(20, 238, 97), +(20, 239, 99), +(20, 240, 95), +(20, 241, 90), +(20, 242, 83), +(20, 243, 74), +(20, 244, 90), +(20, 245, 77), +(20, 246, 82), +(20, 247, 73), +(20, 248, 98), +(20, 249, 79), +(20, 250, 98), +(20, 251, 65), +(20, 252, 95), +(20, 253, 73), +(20, 254, 89), +(20, 255, 75), +(20, 256, 83), +(20, 257, 78), +(20, 258, 88), +(20, 259, 86), +(20, 260, 95), +(20, 261, 88), +(20, 262, 73), +(20, 263, 70), +(20, 264, 93), +(20, 265, 96), +(20, 266, 85), +(20, 267, 73), +(20, 268, 90), +(20, 269, 95), +(20, 270, 78), +(20, 271, 77), +(20, 272, 87), +(20, 273, 73), +(20, 274, 67), +(20, 275, 67), +(20, 276, 68), +(20, 277, 95), +(20, 278, 93), +(20, 279, 76), +(20, 280, 66), +(20, 281, 66), +(20, 282, 75), +(21, 1, 87), +(21, 2, 94), +(21, 3, 92), +(21, 4, 72), +(21, 5, 81), +(21, 6, 67), +(21, 7, 72), +(21, 8, 89), +(21, 9, 65), +(21, 10, 85), +(21, 11, 75), +(21, 12, 71), +(21, 13, 81), +(21, 14, 72), +(21, 15, 66), +(21, 16, 71), +(21, 17, 75), +(21, 18, 91), +(21, 19, 72), +(21, 20, 85), +(21, 21, 81), +(21, 22, 90), +(21, 23, 81), +(21, 24, 90), +(21, 25, 94), +(21, 26, 98), +(21, 27, 65), +(21, 28, 83), +(21, 29, 86), +(21, 30, 68), +(21, 31, 94), +(21, 32, 68), +(21, 33, 70), +(21, 34, 93), +(21, 35, 89), +(21, 36, 89), +(21, 37, 79), +(21, 38, 85), +(21, 39, 89), +(21, 40, 83), +(21, 41, 87), +(21, 42, 65), +(21, 43, 70), +(21, 44, 79), +(21, 45, 73), +(21, 46, 79), +(21, 47, 74), +(21, 48, 75), +(21, 49, 93), +(21, 50, 93), +(21, 51, 74), +(21, 52, 71), +(21, 53, 73), +(21, 54, 76), +(21, 55, 95), +(21, 56, 88), +(21, 57, 69), +(21, 58, 66), +(21, 59, 77), +(21, 60, 84), +(21, 61, 76), +(21, 62, 78), +(21, 63, 79), +(21, 64, 89), +(21, 65, 75), +(21, 66, 86), +(21, 67, 85), +(21, 68, 91), +(21, 69, 79), +(21, 70, 77), +(21, 71, 96), +(21, 72, 88), +(21, 73, 97), +(21, 74, 74), +(21, 75, 79), +(21, 76, 88), +(21, 77, 73), +(21, 78, 80), +(21, 79, 90), +(21, 80, 78), +(21, 81, 67), +(21, 82, 93), +(21, 83, 90), +(21, 84, 93), +(21, 85, 88), +(21, 86, 68), +(21, 87, 70), +(21, 88, 94), +(21, 89, 87), +(21, 90, 71), +(21, 91, 98), +(21, 92, 86), +(21, 93, 95), +(21, 94, 89), +(21, 95, 82), +(21, 96, 85), +(21, 97, 89), +(21, 98, 66), +(21, 99, 83), +(21, 100, 98), +(21, 101, 75), +(21, 102, 72), +(21, 103, 75), +(21, 104, 81), +(21, 105, 82), +(21, 106, 71), +(21, 107, 77), +(21, 108, 83), +(21, 109, 89), +(21, 110, 90), +(21, 111, 77), +(21, 112, 87), +(21, 113, 91), +(21, 114, 68), +(21, 115, 80), +(21, 116, 82), +(21, 117, 92), +(21, 118, 65), +(21, 119, 91), +(21, 120, 85), +(21, 121, 70), +(21, 122, 96), +(21, 123, 92), +(21, 124, 89), +(21, 125, 81), +(21, 126, 70), +(21, 127, 87), +(21, 128, 95), +(21, 129, 88), +(21, 130, 83), +(21, 131, 78), +(21, 132, 82), +(21, 133, 65), +(21, 134, 65), +(21, 135, 75), +(21, 136, 83), +(21, 137, 83), +(21, 138, 97), +(21, 139, 71), +(21, 140, 78), +(21, 141, 78), +(21, 142, 73), +(21, 143, 87), +(21, 144, 88), +(21, 145, 68), +(21, 146, 73), +(21, 147, 92), +(21, 148, 84), +(21, 149, 75), +(21, 150, 85), +(21, 151, 68), +(21, 152, 71), +(21, 153, 75), +(21, 154, 70), +(21, 155, 72), +(21, 156, 74), +(21, 157, 99), +(21, 158, 69), +(21, 159, 86), +(21, 160, 95), +(21, 161, 94), +(21, 162, 96), +(21, 163, 96), +(21, 164, 94), +(21, 165, 92), +(21, 166, 71), +(21, 167, 86), +(21, 168, 94), +(21, 169, 97), +(21, 170, 65), +(21, 171, 96), +(21, 172, 81), +(21, 173, 77), +(21, 174, 84), +(21, 175, 98), +(21, 176, 72), +(21, 177, 74), +(21, 178, 78), +(21, 179, 78), +(21, 180, 93), +(21, 181, 97), +(21, 182, 73), +(21, 183, 80), +(21, 184, 88), +(21, 185, 80), +(21, 186, 91), +(21, 187, 82), +(21, 188, 71), +(21, 189, 81), +(21, 190, 95), +(21, 191, 98), +(21, 192, 74), +(21, 193, 90), +(21, 194, 80), +(21, 195, 80), +(21, 196, 84), +(21, 197, 65), +(21, 198, 91), +(21, 199, 78), +(21, 200, 93), +(21, 201, 87), +(21, 202, 91), +(21, 203, 89), +(21, 204, 73), +(21, 205, 73), +(21, 206, 89), +(21, 207, 88), +(21, 208, 74), +(21, 209, 94), +(21, 210, 73), +(21, 211, 75), +(21, 212, 79), +(21, 213, 79), +(21, 214, 85), +(21, 215, 68), +(21, 216, 96), +(21, 217, 88), +(21, 218, 93), +(21, 219, 65), +(21, 220, 68), +(21, 221, 89), +(21, 222, 87), +(21, 223, 80), +(21, 224, 93), +(21, 225, 85), +(21, 226, 84), +(21, 227, 88), +(21, 228, 72), +(21, 229, 68), +(21, 230, 77), +(21, 231, 76), +(21, 232, 66), +(21, 233, 73), +(21, 234, 94), +(21, 235, 82), +(21, 236, 85), +(21, 237, 84), +(21, 238, 90), +(21, 239, 74), +(21, 240, 90), +(21, 241, 83), +(21, 242, 79), +(21, 243, 90), +(21, 244, 73), +(21, 245, 82), +(21, 246, 98), +(21, 247, 91), +(21, 248, 66), +(21, 249, 70), +(21, 250, 99), +(21, 251, 78), +(21, 252, 77), +(21, 253, 97), +(21, 254, 82), +(21, 255, 91), +(21, 256, 77), +(21, 257, 87), +(21, 258, 80), +(21, 259, 67), +(21, 260, 86), +(21, 261, 95), +(21, 262, 82), +(21, 263, 66), +(21, 264, 96), +(21, 265, 79), +(21, 266, 75), +(21, 267, 87), +(21, 268, 96), +(21, 269, 71), +(21, 270, 96), +(21, 271, 90), +(21, 272, 70), +(21, 273, 69), +(21, 274, 86), +(21, 275, 74), +(21, 276, 88), +(21, 277, 80), +(21, 278, 82), +(21, 279, 82), +(21, 280, 68), +(21, 281, 67), +(21, 282, 81), +(22, 1, 79), +(22, 2, 96), +(22, 3, 99), +(22, 4, 74), +(22, 5, 78), +(22, 6, 91), +(22, 7, 79), +(22, 8, 86), +(22, 9, 69), +(22, 10, 67), +(22, 11, 75), +(22, 12, 72), +(22, 13, 70), +(22, 14, 70), +(22, 15, 97), +(22, 16, 84), +(22, 17, 95), +(22, 18, 70), +(22, 19, 92), +(22, 20, 89), +(22, 21, 93), +(22, 22, 93), +(22, 23, 79), +(22, 24, 77), +(22, 25, 77), +(22, 26, 78), +(22, 27, 68), +(22, 28, 74), +(22, 29, 87), +(22, 30, 87), +(22, 31, 96), +(22, 32, 91), +(22, 33, 90), +(22, 34, 95), +(22, 35, 93), +(22, 36, 95), +(22, 37, 76), +(22, 38, 65), +(22, 39, 86), +(22, 40, 96), +(22, 41, 77), +(22, 42, 85), +(22, 43, 74), +(22, 44, 68), +(22, 45, 91), +(22, 46, 92), +(22, 47, 83), +(22, 48, 96), +(22, 49, 81), +(22, 50, 79), +(22, 51, 74), +(22, 52, 82), +(22, 53, 88), +(22, 54, 73), +(22, 55, 87), +(22, 56, 70), +(22, 57, 74), +(22, 58, 86), +(22, 59, 81), +(22, 60, 88), +(22, 61, 99), +(22, 62, 73), +(22, 63, 65), +(22, 64, 75), +(22, 65, 98), +(22, 66, 87), +(22, 67, 77), +(22, 68, 84), +(22, 69, 91), +(22, 70, 80), +(22, 71, 94), +(22, 72, 67), +(22, 73, 88), +(22, 74, 86), +(22, 75, 66), +(22, 76, 69), +(22, 77, 68), +(22, 78, 79), +(22, 79, 68), +(22, 80, 99), +(22, 81, 85), +(22, 82, 94), +(22, 83, 89), +(22, 84, 65), +(22, 85, 66), +(22, 86, 93), +(22, 87, 85), +(22, 88, 74), +(22, 89, 72), +(22, 90, 77), +(22, 91, 94), +(22, 92, 84), +(22, 93, 77), +(22, 94, 92), +(22, 95, 73), +(22, 96, 78), +(22, 97, 70), +(22, 98, 92), +(22, 99, 97), +(22, 100, 83), +(22, 101, 71), +(22, 102, 77), +(22, 103, 90), +(22, 104, 83), +(22, 105, 88), +(22, 106, 66), +(22, 107, 84), +(22, 108, 88), +(22, 109, 84), +(22, 110, 82), +(22, 111, 65), +(22, 112, 94), +(22, 113, 71), +(22, 114, 72), +(22, 115, 95), +(22, 116, 73), +(22, 117, 79), +(22, 118, 87), +(22, 119, 71), +(22, 120, 94), +(22, 121, 97), +(22, 122, 78), +(22, 123, 67), +(22, 124, 84), +(22, 125, 66), +(22, 126, 69), +(22, 127, 71), +(22, 128, 76), +(22, 129, 80), +(22, 130, 73), +(22, 131, 92), +(22, 132, 95), +(22, 133, 65), +(22, 134, 85), +(22, 135, 97), +(22, 136, 77), +(22, 137, 82), +(22, 138, 99), +(22, 139, 92), +(22, 140, 78), +(22, 141, 68), +(22, 142, 95), +(22, 143, 76), +(22, 144, 66), +(22, 145, 98), +(22, 146, 70), +(22, 147, 92), +(22, 148, 76), +(22, 149, 98), +(22, 150, 95), +(22, 151, 97), +(22, 152, 84), +(22, 153, 97), +(22, 154, 90), +(22, 155, 92), +(22, 156, 83), +(22, 157, 84), +(22, 158, 68), +(22, 159, 86), +(22, 160, 85), +(22, 161, 69), +(22, 162, 73), +(22, 163, 83), +(22, 164, 71), +(22, 165, 88), +(22, 166, 71), +(22, 167, 78), +(22, 168, 72), +(22, 169, 80), +(22, 170, 67), +(22, 171, 65), +(22, 172, 77), +(22, 173, 89), +(22, 174, 82), +(22, 175, 78), +(22, 176, 74), +(22, 177, 74), +(22, 178, 93), +(22, 179, 77), +(22, 180, 69), +(22, 181, 77), +(22, 182, 81), +(22, 183, 89), +(22, 184, 99), +(22, 185, 78), +(22, 186, 89), +(22, 187, 84), +(22, 188, 72), +(22, 189, 95), +(22, 190, 74), +(22, 191, 95), +(22, 192, 74), +(22, 193, 86), +(22, 194, 93), +(22, 195, 74), +(22, 196, 94), +(22, 197, 99), +(22, 198, 94), +(22, 199, 90), +(22, 200, 92), +(22, 201, 92), +(22, 202, 90), +(22, 203, 72), +(22, 204, 66), +(22, 205, 76), +(22, 206, 98), +(22, 207, 79), +(22, 208, 88), +(22, 209, 81), +(22, 210, 76), +(22, 211, 81), +(22, 212, 87), +(22, 213, 65), +(22, 214, 93), +(22, 215, 92), +(22, 216, 80), +(22, 217, 75), +(22, 218, 76), +(22, 219, 85), +(22, 220, 69), +(22, 221, 83), +(22, 222, 95), +(22, 223, 66), +(22, 224, 72), +(22, 225, 74), +(22, 226, 91), +(22, 227, 97), +(22, 228, 71), +(22, 229, 87), +(22, 230, 86), +(22, 231, 73), +(22, 232, 86), +(22, 233, 99), +(22, 234, 75), +(22, 235, 81), +(22, 236, 99), +(22, 237, 75), +(22, 238, 93), +(22, 239, 80), +(22, 240, 98), +(22, 241, 80), +(22, 242, 83), +(22, 243, 94), +(22, 244, 66), +(22, 245, 79), +(22, 246, 74), +(22, 247, 65), +(22, 248, 76), +(22, 249, 86), +(22, 250, 65), +(22, 251, 94), +(22, 252, 72), +(22, 253, 95), +(22, 254, 81), +(22, 255, 93), +(22, 256, 71), +(22, 257, 65), +(22, 258, 71), +(22, 259, 83), +(22, 260, 78), +(22, 261, 79), +(22, 262, 94), +(22, 263, 88), +(22, 264, 68), +(22, 265, 80), +(22, 266, 91), +(22, 267, 81), +(22, 268, 74), +(22, 269, 78), +(22, 270, 73), +(22, 271, 83), +(22, 272, 95), +(22, 273, 95), +(22, 274, 91), +(22, 275, 70), +(22, 276, 65), +(22, 277, 83), +(22, 278, 69), +(22, 279, 82), +(22, 280, 77), +(22, 281, 73), +(22, 282, 80), +(23, 1, 73), +(23, 2, 97), +(23, 3, 87), +(23, 4, 91), +(23, 5, 85), +(23, 6, 84), +(23, 7, 80), +(23, 8, 98), +(23, 9, 87), +(23, 10, 86), +(23, 11, 85), +(23, 12, 82), +(23, 13, 80), +(23, 14, 71), +(23, 15, 80), +(23, 16, 71), +(23, 17, 82), +(23, 18, 81), +(23, 19, 76), +(23, 20, 87), +(23, 21, 88), +(23, 22, 98), +(23, 23, 90), +(23, 24, 83), +(23, 25, 76), +(23, 26, 67), +(23, 27, 81), +(23, 28, 92), +(23, 29, 77), +(23, 30, 93), +(23, 31, 99), +(23, 32, 80), +(23, 33, 73), +(23, 34, 98), +(23, 35, 97), +(23, 36, 71), +(23, 37, 81), +(23, 38, 77), +(23, 39, 99), +(23, 40, 99), +(23, 41, 94), +(23, 42, 94), +(23, 43, 96), +(23, 44, 71), +(23, 45, 67), +(23, 46, 89), +(23, 47, 93), +(23, 48, 84), +(23, 49, 95), +(23, 50, 90), +(23, 51, 85), +(23, 52, 99), +(23, 53, 88), +(23, 54, 71), +(23, 55, 87), +(23, 56, 92), +(23, 57, 97), +(23, 58, 65), +(23, 59, 76), +(23, 60, 91), +(23, 61, 96), +(23, 62, 68), +(23, 63, 92), +(23, 64, 79), +(23, 65, 94), +(23, 66, 78), +(23, 67, 67), +(23, 68, 82), +(23, 69, 82), +(23, 70, 68), +(23, 71, 81), +(23, 72, 75), +(23, 73, 84), +(23, 74, 71), +(23, 75, 97), +(23, 76, 86), +(23, 77, 91), +(23, 78, 89), +(23, 79, 75), +(23, 80, 94), +(23, 81, 91), +(23, 82, 92), +(23, 83, 75), +(23, 84, 89), +(23, 85, 72), +(23, 86, 94), +(23, 87, 78), +(23, 88, 95), +(23, 89, 69), +(23, 90, 71), +(23, 91, 75), +(23, 92, 94), +(23, 93, 73), +(23, 94, 92), +(23, 95, 86), +(23, 96, 70), +(23, 97, 87), +(23, 98, 93), +(23, 99, 70), +(23, 100, 92), +(23, 101, 67), +(23, 102, 67), +(23, 103, 91), +(23, 104, 73), +(23, 105, 98), +(23, 106, 87), +(23, 107, 89), +(23, 108, 89), +(23, 109, 91), +(23, 110, 73), +(23, 111, 65), +(23, 112, 75), +(23, 113, 88), +(23, 114, 93), +(23, 115, 68), +(23, 116, 89), +(23, 117, 92), +(23, 118, 70), +(23, 119, 84), +(23, 120, 81), +(23, 121, 71), +(23, 122, 73), +(23, 123, 97), +(23, 124, 91), +(23, 125, 91), +(23, 126, 70), +(23, 127, 99), +(23, 128, 67), +(23, 129, 72), +(23, 130, 89), +(23, 131, 93), +(23, 132, 93), +(23, 133, 67), +(23, 134, 98), +(23, 135, 92), +(23, 136, 70), +(23, 137, 98), +(23, 138, 67), +(23, 139, 78), +(23, 140, 93), +(23, 141, 79), +(23, 142, 83), +(23, 143, 91), +(23, 144, 72), +(23, 145, 80), +(23, 146, 68), +(23, 147, 86), +(23, 148, 97), +(23, 149, 96), +(23, 150, 87), +(23, 151, 74), +(23, 152, 74), +(23, 153, 91), +(23, 154, 73), +(23, 155, 75), +(23, 156, 94), +(23, 157, 95), +(23, 158, 67), +(23, 159, 70), +(23, 160, 77), +(23, 161, 68), +(23, 162, 85), +(23, 163, 97), +(23, 164, 79), +(23, 165, 99), +(23, 166, 74), +(23, 167, 68), +(23, 168, 82), +(23, 169, 79), +(23, 170, 74), +(23, 171, 78), +(23, 172, 78), +(23, 173, 80), +(23, 174, 94), +(23, 175, 68), +(23, 176, 90), +(23, 177, 85), +(23, 178, 98), +(23, 179, 86), +(23, 180, 70), +(23, 181, 67), +(23, 182, 89), +(23, 183, 69), +(23, 184, 97), +(23, 185, 84), +(23, 186, 72), +(23, 187, 73), +(23, 188, 82), +(23, 189, 99), +(23, 190, 91), +(23, 191, 84), +(23, 192, 85), +(23, 193, 94), +(23, 194, 90), +(23, 195, 67), +(23, 196, 83), +(23, 197, 96), +(23, 198, 95), +(23, 199, 82), +(23, 200, 82), +(23, 201, 99), +(23, 202, 80), +(23, 203, 98), +(23, 204, 83), +(23, 205, 95), +(23, 206, 91), +(23, 207, 67), +(23, 208, 85), +(23, 209, 93), +(23, 210, 97), +(23, 211, 80), +(23, 212, 99), +(23, 213, 93), +(23, 214, 75), +(23, 215, 86), +(23, 216, 82), +(23, 217, 78), +(23, 218, 70), +(23, 219, 97), +(23, 220, 74), +(23, 221, 80), +(23, 222, 79), +(23, 223, 99), +(23, 224, 85), +(23, 225, 88), +(23, 226, 67), +(23, 227, 87), +(23, 228, 74), +(23, 229, 96), +(23, 230, 98), +(23, 231, 73), +(23, 232, 99), +(23, 233, 71), +(23, 234, 98), +(23, 235, 98), +(23, 236, 69), +(23, 237, 94), +(23, 238, 95), +(23, 239, 78), +(23, 240, 89), +(23, 241, 88), +(23, 242, 77), +(23, 243, 66), +(23, 244, 82), +(23, 245, 86), +(23, 246, 84), +(23, 247, 95), +(23, 248, 83), +(23, 249, 82), +(23, 250, 66), +(23, 251, 70), +(23, 252, 96), +(23, 253, 88), +(23, 254, 93), +(23, 255, 93), +(23, 256, 94), +(23, 257, 71), +(23, 258, 87), +(23, 259, 78), +(23, 260, 71), +(23, 261, 81), +(23, 262, 87), +(23, 263, 73), +(23, 264, 93), +(23, 265, 98), +(23, 266, 94), +(23, 267, 81), +(23, 268, 86), +(23, 269, 76), +(23, 270, 85), +(23, 271, 82), +(23, 272, 93), +(23, 273, 98), +(23, 274, 65), +(23, 275, 97), +(23, 276, 68), +(23, 277, 77), +(23, 278, 69), +(23, 279, 99), +(23, 280, 83), +(23, 281, 65), +(23, 282, 91), +(24, 1, 96), +(24, 2, 65), +(24, 3, 72), +(24, 4, 97), +(24, 5, 90), +(24, 6, 84), +(24, 7, 65), +(24, 8, 97), +(24, 9, 95), +(24, 10, 95), +(24, 11, 99), +(24, 12, 95), +(24, 13, 90), +(24, 14, 82), +(24, 15, 78), +(24, 16, 72), +(24, 17, 95), +(24, 18, 96), +(24, 19, 76), +(24, 20, 71), +(24, 21, 95), +(24, 22, 76), +(24, 23, 79), +(24, 24, 86), +(24, 25, 83), +(24, 26, 68), +(24, 27, 67), +(24, 28, 69), +(24, 29, 95), +(24, 30, 70), +(24, 31, 72), +(24, 32, 65), +(24, 33, 67), +(24, 34, 68), +(24, 35, 72), +(24, 36, 79), +(24, 37, 75), +(24, 38, 91), +(24, 39, 69), +(24, 40, 74), +(24, 41, 70), +(24, 42, 82), +(24, 43, 90), +(24, 44, 89), +(24, 45, 66), +(24, 46, 71), +(24, 47, 82), +(24, 48, 68), +(24, 49, 98), +(24, 50, 76), +(24, 51, 70), +(24, 52, 76), +(24, 53, 74), +(24, 54, 75), +(24, 55, 72), +(24, 56, 78), +(24, 57, 96), +(24, 58, 69), +(24, 59, 73), +(24, 60, 89), +(24, 61, 86), +(24, 62, 89), +(24, 63, 95), +(24, 64, 71), +(24, 65, 77), +(24, 66, 97), +(24, 67, 75), +(24, 68, 95), +(24, 69, 71), +(24, 70, 69), +(24, 71, 92), +(24, 72, 76), +(24, 73, 90), +(24, 74, 68), +(24, 75, 84), +(24, 76, 87), +(24, 77, 81), +(24, 78, 73), +(24, 79, 70), +(24, 80, 72), +(24, 81, 66), +(24, 82, 76), +(24, 83, 77), +(24, 84, 81), +(24, 85, 98), +(24, 86, 90), +(24, 87, 72), +(24, 88, 83), +(24, 89, 99), +(24, 90, 94), +(24, 91, 98), +(24, 92, 85), +(24, 93, 69), +(24, 94, 84), +(24, 95, 77), +(24, 96, 88), +(24, 97, 92), +(24, 98, 89), +(24, 99, 98), +(24, 100, 77), +(24, 101, 93), +(24, 102, 77), +(24, 103, 84), +(24, 104, 88), +(24, 105, 89), +(24, 106, 68), +(24, 107, 93), +(24, 108, 82), +(24, 109, 68), +(24, 110, 91), +(24, 111, 67), +(24, 112, 65), +(24, 113, 92), +(24, 114, 80), +(24, 115, 95), +(24, 116, 91), +(24, 117, 85), +(24, 118, 94), +(24, 119, 76), +(24, 120, 93), +(24, 121, 69), +(24, 122, 99), +(24, 123, 79), +(24, 124, 65), +(24, 125, 90), +(24, 126, 80), +(24, 127, 80), +(24, 128, 79), +(24, 129, 90), +(24, 130, 91), +(24, 131, 87), +(24, 132, 82), +(24, 133, 73), +(24, 134, 67), +(24, 135, 69), +(24, 136, 89), +(24, 137, 74), +(24, 138, 81), +(24, 139, 83), +(24, 140, 95), +(24, 141, 89), +(24, 142, 66), +(24, 143, 92), +(24, 144, 95), +(24, 145, 79), +(24, 146, 66), +(24, 147, 87), +(24, 148, 90), +(24, 149, 87), +(24, 150, 84), +(24, 151, 85), +(24, 152, 90), +(24, 153, 65), +(24, 154, 66), +(24, 155, 69), +(24, 156, 84), +(24, 157, 86), +(24, 158, 69), +(24, 159, 97), +(24, 160, 65), +(24, 161, 70), +(24, 162, 70), +(24, 163, 68), +(24, 164, 84), +(24, 165, 96), +(24, 166, 94), +(24, 167, 77), +(24, 168, 98), +(24, 169, 90), +(24, 170, 68), +(24, 171, 95), +(24, 172, 95), +(24, 173, 68), +(24, 174, 92), +(24, 175, 77), +(24, 176, 94), +(24, 177, 67), +(24, 178, 75), +(24, 179, 98), +(24, 180, 80), +(24, 181, 71), +(24, 182, 65), +(24, 183, 83), +(24, 184, 89), +(24, 185, 89), +(24, 186, 98), +(24, 187, 84), +(24, 188, 93), +(24, 189, 75), +(24, 190, 99), +(24, 191, 70), +(24, 192, 69), +(24, 193, 76), +(24, 194, 74), +(24, 195, 81), +(24, 196, 70), +(24, 197, 86), +(24, 198, 96), +(24, 199, 74), +(24, 200, 69), +(24, 201, 85), +(24, 202, 99), +(24, 203, 73), +(24, 204, 83), +(24, 205, 79), +(24, 206, 97), +(24, 207, 69), +(24, 208, 95), +(24, 209, 89), +(24, 210, 89), +(24, 211, 92), +(24, 212, 66), +(24, 213, 67), +(24, 214, 67), +(24, 215, 89), +(24, 216, 73), +(24, 217, 65), +(24, 218, 93), +(24, 219, 94), +(24, 220, 99), +(24, 221, 88), +(24, 222, 82), +(24, 223, 89), +(24, 224, 78), +(24, 225, 80), +(24, 226, 71), +(24, 227, 80), +(24, 228, 94), +(24, 229, 82), +(24, 230, 65), +(24, 231, 82), +(24, 232, 66), +(24, 233, 99), +(24, 234, 95), +(24, 235, 77), +(24, 236, 88), +(24, 237, 74), +(24, 238, 97), +(24, 239, 84), +(24, 240, 83), +(24, 241, 99), +(24, 242, 71), +(24, 243, 87), +(24, 244, 78), +(24, 245, 92), +(24, 246, 96), +(24, 247, 75), +(24, 248, 86), +(24, 249, 89), +(24, 250, 74), +(24, 251, 71), +(24, 252, 98), +(24, 253, 88), +(24, 254, 86), +(24, 255, 88), +(24, 256, 89), +(24, 257, 94), +(24, 258, 87), +(24, 259, 76), +(24, 260, 90), +(24, 261, 67), +(24, 262, 87), +(24, 263, 72), +(24, 264, 90), +(24, 265, 82), +(24, 266, 98), +(24, 267, 97), +(24, 268, 75), +(24, 269, 81), +(24, 270, 72), +(24, 271, 94), +(24, 272, 82), +(24, 273, 71), +(24, 274, 93), +(24, 275, 73), +(24, 276, 78), +(24, 277, 71), +(24, 278, 74), +(24, 279, 79), +(24, 280, 83), +(24, 281, 74), +(24, 282, 81), +(25, 1, 93), +(25, 2, 76), +(25, 3, 71), +(25, 4, 77), +(25, 5, 94), +(25, 6, 66), +(25, 7, 90), +(25, 8, 94), +(25, 9, 79), +(25, 10, 81), +(25, 11, 72), +(25, 12, 92), +(25, 13, 75), +(25, 14, 94), +(25, 15, 89), +(25, 16, 86), +(25, 17, 95), +(25, 18, 68), +(25, 19, 86), +(25, 20, 97), +(25, 21, 77), +(25, 22, 89), +(25, 23, 95), +(25, 24, 81), +(25, 25, 88), +(25, 26, 78), +(25, 27, 96), +(25, 28, 72), +(25, 29, 75), +(25, 30, 78), +(25, 31, 69), +(25, 32, 88), +(25, 33, 84), +(25, 34, 90), +(25, 35, 75), +(25, 36, 79), +(25, 37, 70), +(25, 38, 87), +(25, 39, 90), +(25, 40, 75), +(25, 41, 75), +(25, 42, 98), +(25, 43, 97), +(25, 44, 97), +(25, 45, 99), +(25, 46, 90), +(25, 47, 67), +(25, 48, 93), +(25, 49, 70), +(25, 50, 81), +(25, 51, 98), +(25, 52, 92), +(25, 53, 79), +(25, 54, 96), +(25, 55, 68), +(25, 56, 87), +(25, 57, 88), +(25, 58, 89), +(25, 59, 72), +(25, 60, 73), +(25, 61, 75), +(25, 62, 73), +(25, 63, 67), +(25, 64, 86), +(25, 65, 75), +(25, 66, 81), +(25, 67, 75), +(25, 68, 95), +(25, 69, 82), +(25, 70, 79), +(25, 71, 84), +(25, 72, 92), +(25, 73, 65), +(25, 74, 98), +(25, 75, 99), +(25, 76, 78), +(25, 77, 70), +(25, 78, 69), +(25, 79, 97), +(25, 80, 84), +(25, 81, 98), +(25, 82, 77), +(25, 83, 95), +(25, 84, 73), +(25, 85, 71), +(25, 86, 67), +(25, 87, 98), +(25, 88, 67), +(25, 89, 84), +(25, 90, 89), +(25, 91, 96), +(25, 92, 80), +(25, 93, 95), +(25, 94, 82), +(25, 95, 98), +(25, 96, 96), +(25, 97, 98), +(25, 98, 67), +(25, 99, 77), +(25, 100, 81), +(25, 101, 92), +(25, 102, 82), +(25, 103, 83), +(25, 104, 83), +(25, 105, 88), +(25, 106, 83), +(25, 107, 99), +(25, 108, 77), +(25, 109, 74), +(25, 110, 66), +(25, 111, 73), +(25, 112, 68), +(25, 113, 95), +(25, 114, 90), +(25, 115, 65), +(25, 116, 92), +(25, 117, 87), +(25, 118, 89), +(25, 119, 97), +(25, 120, 88), +(25, 121, 66), +(25, 122, 74), +(25, 123, 77), +(25, 124, 94), +(25, 125, 76), +(25, 126, 89), +(25, 127, 72), +(25, 128, 91), +(25, 129, 65), +(25, 130, 86), +(25, 131, 94), +(25, 132, 67), +(25, 133, 66), +(25, 134, 79), +(25, 135, 72), +(25, 136, 66), +(25, 137, 83), +(25, 138, 69), +(25, 139, 84), +(25, 140, 96), +(25, 141, 76), +(25, 142, 89), +(25, 143, 89), +(25, 144, 92), +(25, 145, 88), +(25, 146, 97), +(25, 147, 77), +(25, 148, 94), +(25, 149, 82), +(25, 150, 93), +(25, 151, 71), +(25, 152, 94), +(25, 153, 94), +(25, 154, 82), +(25, 155, 92), +(25, 156, 73), +(25, 157, 82), +(25, 158, 80), +(25, 159, 73), +(25, 160, 65), +(25, 161, 83), +(25, 162, 66), +(25, 163, 89), +(25, 164, 83), +(25, 165, 85), +(25, 166, 80), +(25, 167, 80), +(25, 168, 71), +(25, 169, 78), +(25, 170, 92), +(25, 171, 71), +(25, 172, 71), +(25, 173, 71), +(25, 174, 75), +(25, 175, 80), +(25, 176, 98), +(25, 177, 86), +(25, 178, 88), +(25, 179, 65), +(25, 180, 91), +(25, 181, 93), +(25, 182, 98), +(25, 183, 74), +(25, 184, 91), +(25, 185, 90), +(25, 186, 68), +(25, 187, 68), +(25, 188, 86), +(25, 189, 85), +(25, 190, 87), +(25, 191, 70), +(25, 192, 93), +(25, 193, 72), +(25, 194, 68), +(25, 195, 71), +(25, 196, 71), +(25, 197, 74), +(25, 198, 96), +(25, 199, 95), +(25, 200, 72), +(25, 201, 99), +(25, 202, 87), +(25, 203, 73), +(25, 204, 66), +(25, 205, 81), +(25, 206, 76), +(25, 207, 79), +(25, 208, 88), +(25, 209, 65), +(25, 210, 88), +(25, 211, 87), +(25, 212, 72), +(25, 213, 97), +(25, 214, 83), +(25, 215, 87), +(25, 216, 88), +(25, 217, 99), +(25, 218, 86), +(25, 219, 81), +(25, 220, 70), +(25, 221, 99), +(25, 222, 74), +(25, 223, 87), +(25, 224, 70), +(25, 225, 74), +(25, 226, 87), +(25, 227, 73), +(25, 228, 76), +(25, 229, 95), +(25, 230, 68), +(25, 231, 92), +(25, 232, 73), +(25, 233, 77), +(25, 234, 83), +(25, 235, 98), +(25, 236, 65), +(25, 237, 94), +(25, 238, 66), +(25, 239, 88), +(25, 240, 86), +(25, 241, 96), +(25, 242, 93), +(25, 243, 68), +(25, 244, 78), +(25, 245, 67), +(25, 246, 94), +(25, 247, 95), +(25, 248, 83), +(25, 249, 66), +(25, 250, 73), +(25, 251, 79), +(25, 252, 67), +(25, 253, 77), +(25, 254, 87), +(25, 255, 94), +(25, 256, 97), +(25, 257, 88), +(25, 258, 75), +(25, 259, 85), +(25, 260, 69), +(25, 261, 96), +(25, 262, 77), +(25, 263, 76), +(25, 264, 71), +(25, 265, 85), +(25, 266, 75), +(25, 267, 74), +(25, 268, 89), +(25, 269, 79), +(25, 270, 74), +(25, 271, 91), +(25, 272, 99), +(25, 273, 65), +(25, 274, 65), +(25, 275, 78), +(25, 276, 87), +(25, 277, 96), +(25, 278, 97), +(25, 279, 70), +(25, 280, 66), +(25, 281, 79), +(25, 282, 70), +(26, 1, 75), +(26, 2, 82), +(26, 3, 72), +(26, 4, 99), +(26, 5, 66), +(26, 6, 87), +(26, 7, 85), +(26, 8, 79), +(26, 9, 81), +(26, 10, 93), +(26, 11, 66), +(26, 12, 78), +(26, 13, 74), +(26, 14, 93), +(26, 15, 74), +(26, 16, 77), +(26, 17, 89), +(26, 18, 94), +(26, 19, 68), +(26, 20, 71), +(26, 21, 72), +(26, 22, 85), +(26, 23, 68), +(26, 24, 81), +(26, 25, 93), +(26, 26, 86), +(26, 27, 77), +(26, 28, 92), +(26, 29, 94), +(26, 30, 80), +(26, 31, 99), +(26, 32, 76), +(26, 33, 85), +(26, 34, 75), +(26, 35, 93), +(26, 36, 94), +(26, 37, 96), +(26, 38, 66), +(26, 39, 70), +(26, 40, 90), +(26, 41, 98), +(26, 42, 75), +(26, 43, 81), +(26, 44, 82), +(26, 45, 94), +(26, 46, 69), +(26, 47, 92), +(26, 48, 93), +(26, 49, 99), +(26, 50, 76), +(26, 51, 76), +(26, 52, 96), +(26, 53, 74), +(26, 54, 87), +(26, 55, 97), +(26, 56, 66), +(26, 57, 89), +(26, 58, 67), +(26, 59, 74), +(26, 60, 67), +(26, 61, 88), +(26, 62, 66), +(26, 63, 90), +(26, 64, 84), +(26, 65, 77), +(26, 66, 85), +(26, 67, 87), +(26, 68, 91), +(26, 69, 96), +(26, 70, 89), +(26, 71, 81), +(26, 72, 96), +(26, 73, 94), +(26, 74, 82), +(26, 75, 72), +(26, 76, 66), +(26, 77, 77), +(26, 78, 95), +(26, 79, 71), +(26, 80, 69), +(26, 81, 86), +(26, 82, 90), +(26, 83, 77), +(26, 84, 92), +(26, 85, 65), +(26, 86, 72), +(26, 87, 67), +(26, 88, 89), +(26, 89, 96), +(26, 90, 99), +(26, 91, 88), +(26, 92, 81), +(26, 93, 99), +(26, 94, 92), +(26, 95, 91), +(26, 96, 83), +(26, 97, 81), +(26, 98, 72), +(26, 99, 95), +(26, 100, 73), +(26, 101, 82), +(26, 102, 81), +(26, 103, 65), +(26, 104, 90), +(26, 105, 73), +(26, 106, 76), +(26, 107, 80), +(26, 108, 77), +(26, 109, 65), +(26, 110, 97), +(26, 111, 65), +(26, 112, 81), +(26, 113, 67), +(26, 114, 78), +(26, 115, 83), +(26, 116, 84), +(26, 117, 79), +(26, 118, 99), +(26, 119, 85), +(26, 120, 97), +(26, 121, 94), +(26, 122, 76), +(26, 123, 84), +(26, 124, 72), +(26, 125, 81), +(26, 126, 73), +(26, 127, 90), +(26, 128, 86), +(26, 129, 95), +(26, 130, 94), +(26, 131, 72), +(26, 132, 96), +(26, 133, 81), +(26, 134, 95), +(26, 135, 90), +(26, 136, 70), +(26, 137, 91), +(26, 138, 73), +(26, 139, 70), +(26, 140, 97), +(26, 141, 82), +(26, 142, 77), +(26, 143, 70), +(26, 144, 73), +(26, 145, 71), +(26, 146, 80), +(26, 147, 94), +(26, 148, 65), +(26, 149, 86), +(26, 150, 81), +(26, 151, 70), +(26, 152, 98), +(26, 153, 71), +(26, 154, 76), +(26, 155, 83), +(26, 156, 83), +(26, 157, 85), +(26, 158, 93), +(26, 159, 77), +(26, 160, 67), +(26, 161, 68), +(26, 162, 90), +(26, 163, 69), +(26, 164, 97), +(26, 165, 70), +(26, 166, 86), +(26, 167, 70), +(26, 168, 70), +(26, 169, 93), +(26, 170, 85), +(26, 171, 76), +(26, 172, 75), +(26, 173, 86), +(26, 174, 71), +(26, 175, 69), +(26, 176, 76), +(26, 177, 96), +(26, 178, 80), +(26, 179, 71), +(26, 180, 82), +(26, 181, 81), +(26, 182, 90), +(26, 183, 91), +(26, 184, 87), +(26, 185, 86), +(26, 186, 90), +(26, 187, 93), +(26, 188, 86), +(26, 189, 99), +(26, 190, 73), +(26, 191, 73), +(26, 192, 90), +(26, 193, 65), +(26, 194, 91), +(26, 195, 81), +(26, 196, 78), +(26, 197, 84), +(26, 198, 91), +(26, 199, 82), +(26, 200, 88), +(26, 201, 68), +(26, 202, 73), +(26, 203, 82), +(26, 204, 84), +(26, 205, 67), +(26, 206, 94), +(26, 207, 89), +(26, 208, 88), +(26, 209, 66), +(26, 210, 75), +(26, 211, 96), +(26, 212, 97), +(26, 213, 80), +(26, 214, 76), +(26, 215, 68), +(26, 216, 85), +(26, 217, 93), +(26, 218, 87), +(26, 219, 92), +(26, 220, 92), +(26, 221, 98), +(26, 222, 94), +(26, 223, 67), +(26, 224, 88), +(26, 225, 98), +(26, 226, 90), +(26, 227, 94), +(26, 228, 69), +(26, 229, 94), +(26, 230, 83), +(26, 231, 80), +(26, 232, 70), +(26, 233, 94), +(26, 234, 66), +(26, 235, 88), +(26, 236, 65), +(26, 237, 81), +(26, 238, 80), +(26, 239, 87), +(26, 240, 82), +(26, 241, 83), +(26, 242, 85), +(26, 243, 82), +(26, 244, 93), +(26, 245, 99), +(26, 246, 84), +(26, 247, 81), +(26, 248, 93), +(26, 249, 69), +(26, 250, 77), +(26, 251, 85), +(26, 252, 82), +(26, 253, 90), +(26, 254, 79), +(26, 255, 73), +(26, 256, 83), +(26, 257, 92), +(26, 258, 83), +(26, 259, 94), +(26, 260, 78), +(26, 261, 77), +(26, 262, 94), +(26, 263, 67), +(26, 264, 91), +(26, 265, 81), +(26, 266, 86), +(26, 267, 84), +(26, 268, 85), +(26, 269, 86), +(26, 270, 91), +(26, 271, 75), +(26, 272, 81), +(26, 273, 85), +(26, 274, 86), +(26, 275, 71), +(26, 276, 67), +(26, 277, 97), +(26, 278, 95), +(26, 279, 84), +(26, 280, 88), +(26, 281, 70), +(26, 282, 74), +(27, 1, 69), +(27, 2, 83), +(27, 3, 84), +(27, 4, 95), +(27, 5, 90), +(27, 6, 99), +(27, 7, 89), +(27, 8, 83), +(27, 9, 68), +(27, 10, 88), +(27, 11, 87), +(27, 12, 82), +(27, 13, 81), +(27, 14, 82), +(27, 15, 75), +(27, 16, 98), +(27, 17, 95), +(27, 18, 94), +(27, 19, 88), +(27, 20, 67), +(27, 21, 98), +(27, 22, 95), +(27, 23, 94), +(27, 24, 98), +(27, 25, 98), +(27, 26, 95), +(27, 27, 66), +(27, 28, 72), +(27, 29, 77), +(27, 30, 67), +(27, 31, 83), +(27, 32, 88), +(27, 33, 72), +(27, 34, 76), +(27, 35, 73), +(27, 36, 99), +(27, 37, 99), +(27, 38, 71), +(27, 39, 86), +(27, 40, 92), +(27, 41, 96), +(27, 42, 87), +(27, 43, 84), +(27, 44, 89), +(27, 45, 74), +(27, 46, 81), +(27, 47, 91), +(27, 48, 85), +(27, 49, 79), +(27, 50, 73), +(27, 51, 93), +(27, 52, 69), +(27, 53, 67), +(27, 54, 82), +(27, 55, 74), +(27, 56, 76), +(27, 57, 82), +(27, 58, 76), +(27, 59, 92), +(27, 60, 89), +(27, 61, 83), +(27, 62, 85), +(27, 63, 77), +(27, 64, 97), +(27, 65, 98), +(27, 66, 83), +(27, 67, 74), +(27, 68, 69), +(27, 69, 99), +(27, 70, 74), +(27, 71, 88), +(27, 72, 71), +(27, 73, 73), +(27, 74, 84), +(27, 75, 69), +(27, 76, 68), +(27, 77, 76), +(27, 78, 65), +(27, 79, 69), +(27, 80, 98), +(27, 81, 73), +(27, 82, 84), +(27, 83, 71), +(27, 84, 73), +(27, 85, 84), +(27, 86, 96), +(27, 87, 81), +(27, 88, 75), +(27, 89, 90), +(27, 90, 93), +(27, 91, 87), +(27, 92, 65), +(27, 93, 75), +(27, 94, 80), +(27, 95, 97), +(27, 96, 96), +(27, 97, 80), +(27, 98, 95), +(27, 99, 77), +(27, 100, 94), +(27, 101, 71), +(27, 102, 93), +(27, 103, 79), +(27, 104, 65), +(27, 105, 70), +(27, 106, 66), +(27, 107, 75), +(27, 108, 87), +(27, 109, 75), +(27, 110, 82), +(27, 111, 76), +(27, 112, 66), +(27, 113, 88), +(27, 114, 90), +(27, 115, 83), +(27, 116, 82), +(27, 117, 68), +(27, 118, 96), +(27, 119, 73), +(27, 120, 87), +(27, 121, 67), +(27, 122, 95), +(27, 123, 89), +(27, 124, 81), +(27, 125, 76), +(27, 126, 67), +(27, 127, 99), +(27, 128, 91), +(27, 129, 78), +(27, 130, 79), +(27, 131, 84), +(27, 132, 72), +(27, 133, 72), +(27, 134, 67), +(27, 135, 66), +(27, 136, 85), +(27, 137, 73), +(27, 138, 94), +(27, 139, 69), +(27, 140, 98), +(27, 141, 82), +(27, 142, 86), +(27, 143, 86), +(27, 144, 96), +(27, 145, 94), +(27, 146, 79), +(27, 147, 72), +(27, 148, 82), +(27, 149, 85), +(27, 150, 96), +(27, 151, 73), +(27, 152, 73), +(27, 153, 78), +(27, 154, 70), +(27, 155, 74), +(27, 156, 98), +(27, 157, 83), +(27, 158, 92), +(27, 159, 65), +(27, 160, 75), +(27, 161, 97), +(27, 162, 82), +(27, 163, 86), +(27, 164, 67), +(27, 165, 66), +(27, 166, 90), +(27, 167, 82), +(27, 168, 70), +(27, 169, 97), +(27, 170, 85), +(27, 171, 69), +(27, 172, 99), +(27, 173, 82), +(27, 174, 67), +(27, 175, 77), +(27, 176, 93), +(27, 177, 88), +(27, 178, 72), +(27, 179, 97), +(27, 180, 71), +(27, 181, 95), +(27, 182, 93), +(27, 183, 98), +(27, 184, 96), +(27, 185, 96), +(27, 186, 77), +(27, 187, 91), +(27, 188, 71), +(27, 189, 69), +(27, 190, 73), +(27, 191, 93), +(27, 192, 72), +(27, 193, 79), +(27, 194, 79), +(27, 195, 91), +(27, 196, 79), +(27, 197, 99), +(27, 198, 69), +(27, 199, 98), +(27, 200, 88), +(27, 201, 87), +(27, 202, 76), +(27, 203, 91), +(27, 204, 89), +(27, 205, 97), +(27, 206, 73), +(27, 207, 74), +(27, 208, 76), +(27, 209, 69), +(27, 210, 80), +(27, 211, 81), +(27, 212, 67), +(27, 213, 79), +(27, 214, 67), +(27, 215, 85), +(27, 216, 96), +(27, 217, 70), +(27, 218, 77), +(27, 219, 85), +(27, 220, 79), +(27, 221, 95), +(27, 222, 76), +(27, 223, 79), +(27, 224, 92), +(27, 225, 66), +(27, 226, 90), +(27, 227, 82), +(27, 228, 88), +(27, 229, 86), +(27, 230, 77), +(27, 231, 95), +(27, 232, 99), +(27, 233, 70), +(27, 234, 84), +(27, 235, 80), +(27, 236, 65), +(27, 237, 92), +(27, 238, 66), +(27, 239, 71), +(27, 240, 86), +(27, 241, 98), +(27, 242, 82), +(27, 243, 75), +(27, 244, 96), +(27, 245, 88), +(27, 246, 74), +(27, 247, 90), +(27, 248, 79), +(27, 249, 80), +(27, 250, 67), +(27, 251, 87), +(27, 252, 76), +(27, 253, 86), +(27, 254, 67), +(27, 255, 89), +(27, 256, 94), +(27, 257, 97), +(27, 258, 92), +(27, 259, 82), +(27, 260, 84), +(27, 261, 66), +(27, 262, 69), +(27, 263, 75), +(27, 264, 71), +(27, 265, 85), +(27, 266, 71), +(27, 267, 98), +(27, 268, 95), +(27, 269, 96), +(27, 270, 96), +(27, 271, 72), +(27, 272, 80), +(27, 273, 96), +(27, 274, 65), +(27, 275, 92), +(27, 276, 80), +(27, 277, 95), +(27, 278, 84), +(27, 279, 74), +(27, 280, 70), +(27, 281, 86), +(27, 282, 96), +(28, 1, 89), +(28, 2, 72), +(28, 3, 69), +(28, 4, 80), +(28, 5, 82), +(28, 6, 68), +(28, 7, 90), +(28, 8, 78), +(28, 9, 69), +(28, 10, 97), +(28, 11, 68), +(28, 12, 78), +(28, 13, 84), +(28, 14, 68), +(28, 15, 86), +(28, 16, 92), +(28, 17, 72), +(28, 18, 90), +(28, 19, 66), +(28, 20, 92), +(28, 21, 71), +(28, 22, 83), +(28, 23, 97), +(28, 24, 79), +(28, 25, 80), +(28, 26, 82), +(28, 27, 71), +(28, 28, 89), +(28, 29, 73), +(28, 30, 98), +(28, 31, 89), +(28, 32, 77), +(28, 33, 78), +(28, 34, 88), +(28, 35, 91), +(28, 36, 78), +(28, 37, 75), +(28, 38, 95), +(28, 39, 86), +(28, 40, 89), +(28, 41, 88), +(28, 42, 74), +(28, 43, 78), +(28, 44, 67), +(28, 45, 93), +(28, 46, 99), +(28, 47, 81), +(28, 48, 84), +(28, 49, 70), +(28, 50, 73), +(28, 51, 68), +(28, 52, 98), +(28, 53, 83), +(28, 54, 84), +(28, 55, 85), +(28, 56, 80), +(28, 57, 76), +(28, 58, 76), +(28, 59, 68), +(28, 60, 75), +(28, 61, 83), +(28, 62, 91), +(28, 63, 89), +(28, 64, 65), +(28, 65, 87), +(28, 66, 94), +(28, 67, 78), +(28, 68, 79), +(28, 69, 73), +(28, 70, 71), +(28, 71, 98), +(28, 72, 71), +(28, 73, 90), +(28, 74, 77), +(28, 75, 67), +(28, 76, 75), +(28, 77, 83), +(28, 78, 78), +(28, 79, 66), +(28, 80, 79), +(28, 81, 77), +(28, 82, 88), +(28, 83, 93), +(28, 84, 92), +(28, 85, 91), +(28, 86, 92), +(28, 87, 69), +(28, 88, 79), +(28, 89, 98), +(28, 90, 70), +(28, 91, 70), +(28, 92, 85), +(28, 93, 86), +(28, 94, 95), +(28, 95, 75), +(28, 96, 95), +(28, 97, 94), +(28, 98, 88), +(28, 99, 68), +(28, 100, 81), +(28, 101, 80), +(28, 102, 89), +(28, 103, 67), +(28, 104, 96), +(28, 105, 68), +(28, 106, 73), +(28, 107, 70), +(28, 108, 70), +(28, 109, 78), +(28, 110, 90), +(28, 111, 87), +(28, 112, 92), +(28, 113, 72), +(28, 114, 82), +(28, 115, 69), +(28, 116, 92), +(28, 117, 75), +(28, 118, 82), +(28, 119, 81), +(28, 120, 80), +(28, 121, 96), +(28, 122, 78), +(28, 123, 93), +(28, 124, 89), +(28, 125, 72), +(28, 126, 85), +(28, 127, 93), +(28, 128, 97), +(28, 129, 73), +(28, 130, 81), +(28, 131, 68), +(28, 132, 78), +(28, 133, 89), +(28, 134, 90), +(28, 135, 98), +(28, 136, 81), +(28, 137, 97), +(28, 138, 81), +(28, 139, 70), +(28, 140, 97), +(28, 141, 66), +(28, 142, 67), +(28, 143, 88), +(28, 144, 91), +(28, 145, 89), +(28, 146, 93), +(28, 147, 83), +(28, 148, 81), +(28, 149, 66), +(28, 150, 66), +(28, 151, 90), +(28, 152, 77), +(28, 153, 77), +(28, 154, 93), +(28, 155, 92), +(28, 156, 71), +(28, 157, 93), +(28, 158, 79), +(28, 159, 68), +(28, 160, 76), +(28, 161, 78), +(28, 162, 77), +(28, 163, 88), +(28, 164, 83), +(28, 165, 92), +(28, 166, 95), +(28, 167, 65), +(28, 168, 77), +(28, 169, 71), +(28, 170, 72), +(28, 171, 88), +(28, 172, 65), +(28, 173, 87), +(28, 174, 91), +(28, 175, 77), +(28, 176, 66), +(28, 177, 88), +(28, 178, 91), +(28, 179, 99), +(28, 180, 82), +(28, 181, 65), +(28, 182, 97), +(28, 183, 83), +(28, 184, 87), +(28, 185, 86), +(28, 186, 84), +(28, 187, 77), +(28, 188, 70), +(28, 189, 91), +(28, 190, 81), +(28, 191, 75), +(28, 192, 93), +(28, 193, 67), +(28, 194, 94), +(28, 195, 80), +(28, 196, 95), +(28, 197, 73), +(28, 198, 78), +(28, 199, 74), +(28, 200, 77), +(28, 201, 95), +(28, 202, 94), +(28, 203, 74), +(28, 204, 93), +(28, 205, 79), +(28, 206, 87), +(28, 207, 71), +(28, 208, 88), +(28, 209, 85), +(28, 210, 78), +(28, 211, 88), +(28, 212, 84), +(28, 213, 90), +(28, 214, 77), +(28, 215, 86), +(28, 216, 92), +(28, 217, 76), +(28, 218, 96), +(28, 219, 83), +(28, 220, 90), +(28, 221, 81), +(28, 222, 69), +(28, 223, 97), +(28, 224, 98), +(28, 225, 76), +(28, 226, 78), +(28, 227, 97), +(28, 228, 65), +(28, 229, 83), +(28, 230, 71), +(28, 231, 99), +(28, 232, 79), +(28, 233, 71), +(28, 234, 91), +(28, 235, 74), +(28, 236, 66), +(28, 237, 85), +(28, 238, 97), +(28, 239, 67), +(28, 240, 87), +(28, 241, 71), +(28, 242, 88), +(28, 243, 65), +(28, 244, 66), +(28, 245, 82), +(28, 246, 87), +(28, 247, 72), +(28, 248, 90), +(28, 249, 94), +(28, 250, 76), +(28, 251, 82), +(28, 252, 66), +(28, 253, 96), +(28, 254, 70), +(28, 255, 90), +(28, 256, 89), +(28, 257, 73), +(28, 258, 75), +(28, 259, 98), +(28, 260, 88), +(28, 261, 70), +(28, 262, 70), +(28, 263, 75), +(28, 264, 91), +(28, 265, 80), +(28, 266, 66), +(28, 267, 69), +(28, 268, 85), +(28, 269, 85), +(28, 270, 74), +(28, 271, 70), +(28, 272, 92), +(28, 273, 91), +(28, 274, 72), +(28, 275, 78), +(28, 276, 65), +(28, 277, 88), +(28, 278, 69), +(28, 279, 89), +(28, 280, 91), +(28, 281, 87), +(28, 282, 90), +(29, 1, 69), +(29, 2, 81), +(29, 3, 98), +(29, 4, 84), +(29, 5, 76), +(29, 6, 81), +(29, 7, 87), +(29, 8, 75), +(29, 9, 76), +(29, 10, 85), +(29, 11, 84), +(29, 12, 80), +(29, 13, 78), +(29, 14, 97), +(29, 15, 72), +(29, 16, 99), +(29, 17, 84), +(29, 18, 70), +(29, 19, 74), +(29, 20, 90), +(29, 21, 99), +(29, 22, 99), +(29, 23, 68), +(29, 24, 72), +(29, 25, 77), +(29, 26, 96), +(29, 27, 93), +(29, 28, 95), +(29, 29, 68), +(29, 30, 87), +(29, 31, 97), +(29, 32, 93), +(29, 33, 75), +(29, 34, 80), +(29, 35, 66), +(29, 36, 65), +(29, 37, 81), +(29, 38, 90), +(29, 39, 71), +(29, 40, 71), +(29, 41, 86), +(29, 42, 80), +(29, 43, 72), +(29, 44, 71), +(29, 45, 73), +(29, 46, 83), +(29, 47, 67), +(29, 48, 99), +(29, 49, 84), +(29, 50, 82), +(29, 51, 66), +(29, 52, 78), +(29, 53, 81), +(29, 54, 75), +(29, 55, 70), +(29, 56, 76), +(29, 57, 69), +(29, 58, 89), +(29, 59, 71), +(29, 60, 76), +(29, 61, 70), +(29, 62, 99), +(29, 63, 78), +(29, 64, 72), +(29, 65, 79), +(29, 66, 89), +(29, 67, 71), +(29, 68, 88), +(29, 69, 73), +(29, 70, 70), +(29, 71, 92), +(29, 72, 79), +(29, 73, 93), +(29, 74, 67), +(29, 75, 95), +(29, 76, 70), +(29, 77, 88), +(29, 78, 99), +(29, 79, 94), +(29, 80, 74), +(29, 81, 68), +(29, 82, 89), +(29, 83, 85), +(29, 84, 74), +(29, 85, 66), +(29, 86, 75), +(29, 87, 76), +(29, 88, 71), +(29, 89, 85), +(29, 90, 77), +(29, 91, 96), +(29, 92, 97), +(29, 93, 68), +(29, 94, 65), +(29, 95, 92), +(29, 96, 87), +(29, 97, 94), +(29, 98, 90), +(29, 99, 79), +(29, 100, 95), +(29, 101, 88), +(29, 102, 67), +(29, 103, 66), +(29, 104, 80), +(29, 105, 98), +(29, 106, 69), +(29, 107, 96), +(29, 108, 94), +(29, 109, 66), +(29, 110, 69), +(29, 111, 73), +(29, 112, 95), +(29, 113, 66), +(29, 114, 76), +(29, 115, 67), +(29, 116, 81), +(29, 117, 72), +(29, 118, 91), +(29, 119, 87), +(29, 120, 75), +(29, 121, 75), +(29, 122, 75), +(29, 123, 65), +(29, 124, 70), +(29, 125, 70), +(29, 126, 89), +(29, 127, 66), +(29, 128, 79), +(29, 129, 68), +(29, 130, 67), +(29, 131, 96), +(29, 132, 74), +(29, 133, 92), +(29, 134, 79), +(29, 135, 87), +(29, 136, 85), +(29, 137, 96), +(29, 138, 93), +(29, 139, 79), +(29, 140, 95), +(29, 141, 89), +(29, 142, 80), +(29, 143, 80), +(29, 144, 69), +(29, 145, 99), +(29, 146, 93), +(29, 147, 65), +(29, 148, 96), +(29, 149, 82), +(29, 150, 83), +(29, 151, 95), +(29, 152, 67), +(29, 153, 85), +(29, 154, 86), +(29, 155, 66), +(29, 156, 69), +(29, 157, 84), +(29, 158, 91), +(29, 159, 81), +(29, 160, 90), +(29, 161, 70), +(29, 162, 73), +(29, 163, 83), +(29, 164, 80), +(29, 165, 90), +(29, 166, 68), +(29, 167, 85), +(29, 168, 73), +(29, 169, 71), +(29, 170, 76), +(29, 171, 99), +(29, 172, 68), +(29, 173, 91), +(29, 174, 86), +(29, 175, 88), +(29, 176, 93), +(29, 177, 74), +(29, 178, 69), +(29, 179, 73), +(29, 180, 94), +(29, 181, 81), +(29, 182, 69), +(29, 183, 92), +(29, 184, 80), +(29, 185, 76), +(29, 186, 90), +(29, 187, 84), +(29, 188, 73), +(29, 189, 80), +(29, 190, 88), +(29, 191, 69), +(29, 192, 82), +(29, 193, 66), +(29, 194, 98), +(29, 195, 99), +(29, 196, 68), +(29, 197, 73), +(29, 198, 82), +(29, 199, 80), +(29, 200, 91), +(29, 201, 78), +(29, 202, 74), +(29, 203, 67), +(29, 204, 99), +(29, 205, 75), +(29, 206, 82), +(29, 207, 71), +(29, 208, 78), +(29, 209, 80), +(29, 210, 84), +(29, 211, 99), +(29, 212, 85), +(29, 213, 79), +(29, 214, 85), +(29, 215, 74), +(29, 216, 72), +(29, 217, 71), +(29, 218, 80), +(29, 219, 94), +(29, 220, 79), +(29, 221, 89), +(29, 222, 90); +INSERT INTO `nilai_cpmk` (`id_mhs`, `id_cpmk`, `nilai`) VALUES +(29, 223, 76), +(29, 224, 81), +(29, 225, 80), +(29, 226, 93), +(29, 227, 72), +(29, 228, 99), +(29, 229, 94), +(29, 230, 94), +(29, 231, 76), +(29, 232, 72), +(29, 233, 84), +(29, 234, 65), +(29, 235, 66), +(29, 236, 70), +(29, 237, 81), +(29, 238, 81), +(29, 239, 93), +(29, 240, 75), +(29, 241, 67), +(29, 242, 97), +(29, 243, 67), +(29, 244, 81), +(29, 245, 80), +(29, 246, 79), +(29, 247, 94), +(29, 248, 75), +(29, 249, 95), +(29, 250, 79), +(29, 251, 83), +(29, 252, 74), +(29, 253, 88), +(29, 254, 84), +(29, 255, 84), +(29, 256, 99), +(29, 257, 81), +(29, 258, 70), +(29, 259, 74), +(29, 260, 89), +(29, 261, 85), +(29, 262, 78), +(29, 263, 84), +(29, 264, 69), +(29, 265, 83), +(29, 266, 90), +(29, 267, 92), +(29, 268, 73), +(29, 269, 74), +(29, 270, 88), +(29, 271, 68), +(29, 272, 85), +(29, 273, 66), +(29, 274, 65), +(29, 275, 82), +(29, 276, 89), +(29, 277, 90), +(29, 278, 98), +(29, 279, 88), +(29, 280, 79), +(29, 281, 74), +(29, 282, 97), +(30, 1, 84), +(30, 2, 88), +(30, 3, 78), +(30, 4, 81), +(30, 5, 69), +(30, 6, 69), +(30, 7, 97), +(30, 8, 78), +(30, 9, 72), +(30, 10, 69), +(30, 11, 81), +(30, 12, 99), +(30, 13, 73), +(30, 14, 79), +(30, 15, 72), +(30, 16, 86), +(30, 17, 66), +(30, 18, 82), +(30, 19, 69), +(30, 20, 74), +(30, 21, 80), +(30, 22, 80), +(30, 23, 92), +(30, 24, 94), +(30, 25, 77), +(30, 26, 98), +(30, 27, 80), +(30, 28, 75), +(30, 29, 92), +(30, 30, 77), +(30, 31, 82), +(30, 32, 96), +(30, 33, 75), +(30, 34, 70), +(30, 35, 96), +(30, 36, 97), +(30, 37, 83), +(30, 38, 66), +(30, 39, 70), +(30, 40, 93), +(30, 41, 66), +(30, 42, 77), +(30, 43, 99), +(30, 44, 90), +(30, 45, 93), +(30, 46, 87), +(30, 47, 99), +(30, 48, 73), +(30, 49, 74), +(30, 50, 92), +(30, 51, 95), +(30, 52, 65), +(30, 53, 92), +(30, 54, 95), +(30, 55, 66), +(30, 56, 72), +(30, 57, 88), +(30, 58, 82), +(30, 59, 85), +(30, 60, 92), +(30, 61, 68), +(30, 62, 90), +(30, 63, 93), +(30, 64, 69), +(30, 65, 68), +(30, 66, 98), +(30, 67, 92), +(30, 68, 70), +(30, 69, 82), +(30, 70, 72), +(30, 71, 66), +(30, 72, 81), +(30, 73, 96), +(30, 74, 76), +(30, 75, 72), +(30, 76, 97), +(30, 77, 93), +(30, 78, 90), +(30, 79, 67), +(30, 80, 65), +(30, 81, 79), +(30, 82, 79), +(30, 83, 79), +(30, 84, 97), +(30, 85, 65), +(30, 86, 67), +(30, 87, 70), +(30, 88, 86), +(30, 89, 65), +(30, 90, 75), +(30, 91, 65), +(30, 92, 97), +(30, 93, 87), +(30, 94, 80), +(30, 95, 99), +(30, 96, 85), +(30, 97, 90), +(30, 98, 87), +(30, 99, 94), +(30, 100, 97), +(30, 101, 99), +(30, 102, 71), +(30, 103, 68), +(30, 104, 83), +(30, 105, 85), +(30, 106, 94), +(30, 107, 67), +(30, 108, 90), +(30, 109, 65), +(30, 110, 81), +(30, 111, 74), +(30, 112, 99), +(30, 113, 83), +(30, 114, 68), +(30, 115, 96), +(30, 116, 97), +(30, 117, 71), +(30, 118, 75), +(30, 119, 91), +(30, 120, 69), +(30, 121, 90), +(30, 122, 75), +(30, 123, 87), +(30, 124, 89), +(30, 125, 70), +(30, 126, 92), +(30, 127, 92), +(30, 128, 72), +(30, 129, 92), +(30, 130, 66), +(30, 131, 72), +(30, 132, 71), +(30, 133, 94), +(30, 134, 99), +(30, 135, 76), +(30, 136, 82), +(30, 137, 92), +(30, 138, 87), +(30, 139, 84), +(30, 140, 82), +(30, 141, 78), +(30, 142, 65), +(30, 143, 72), +(30, 144, 78), +(30, 145, 92), +(30, 146, 86), +(30, 147, 81), +(30, 148, 65), +(30, 149, 77), +(30, 150, 83), +(30, 151, 72), +(30, 152, 76), +(30, 153, 94), +(30, 154, 88), +(30, 155, 97), +(30, 156, 65), +(30, 157, 77), +(30, 158, 84), +(30, 159, 99), +(30, 160, 86), +(30, 161, 86), +(30, 162, 70), +(30, 163, 87), +(30, 164, 87), +(30, 165, 76), +(30, 166, 96), +(30, 167, 95), +(30, 168, 70), +(30, 169, 76), +(30, 170, 97), +(30, 171, 94), +(30, 172, 81), +(30, 173, 94), +(30, 174, 92), +(30, 175, 76), +(30, 176, 98), +(30, 177, 76), +(30, 178, 78), +(30, 179, 70), +(30, 180, 92), +(30, 181, 73), +(30, 182, 96), +(30, 183, 77), +(30, 184, 74), +(30, 185, 93), +(30, 186, 99), +(30, 187, 90), +(30, 188, 90), +(30, 189, 94), +(30, 190, 96), +(30, 191, 87), +(30, 192, 66), +(30, 193, 66), +(30, 194, 73), +(30, 195, 82), +(30, 196, 97), +(30, 197, 83), +(30, 198, 79), +(30, 199, 78), +(30, 200, 89), +(30, 201, 75), +(30, 202, 91), +(30, 203, 84), +(30, 204, 82), +(30, 205, 73), +(30, 206, 85), +(30, 207, 77), +(30, 208, 94), +(30, 209, 84), +(30, 210, 88), +(30, 211, 96), +(30, 212, 71), +(30, 213, 94), +(30, 214, 96), +(30, 215, 85), +(30, 216, 90), +(30, 217, 98), +(30, 218, 80), +(30, 219, 86), +(30, 220, 94), +(30, 221, 68), +(30, 222, 72), +(30, 223, 94), +(30, 224, 79), +(30, 225, 76), +(30, 226, 95), +(30, 227, 75), +(30, 228, 98), +(30, 229, 86), +(30, 230, 87), +(30, 231, 89), +(30, 232, 91), +(30, 233, 69), +(30, 234, 93), +(30, 235, 77), +(30, 236, 89), +(30, 237, 87), +(30, 238, 83), +(30, 239, 94), +(30, 240, 86), +(30, 241, 94), +(30, 242, 84), +(30, 243, 79), +(30, 244, 73), +(30, 245, 89), +(30, 246, 67), +(30, 247, 87), +(30, 248, 78), +(30, 249, 94), +(30, 250, 66), +(30, 251, 71), +(30, 252, 73), +(30, 253, 85), +(30, 254, 75), +(30, 255, 84), +(30, 256, 91), +(30, 257, 86), +(30, 258, 96), +(30, 259, 81), +(30, 260, 81), +(30, 261, 84), +(30, 262, 78), +(30, 263, 96), +(30, 264, 80), +(30, 265, 77), +(30, 266, 82), +(30, 267, 83), +(30, 268, 82), +(30, 269, 86), +(30, 270, 84), +(30, 271, 67), +(30, 272, 83), +(30, 273, 97), +(30, 274, 80), +(30, 275, 79), +(30, 276, 80), +(30, 277, 86), +(30, 278, 79), +(30, 279, 75), +(30, 280, 90), +(30, 281, 80), +(30, 282, 81), +(31, 1, 79), +(31, 2, 99), +(31, 3, 67), +(31, 4, 87), +(31, 5, 89), +(31, 6, 70), +(31, 7, 91), +(31, 8, 67), +(31, 9, 69), +(31, 10, 96), +(31, 11, 90), +(31, 12, 88), +(31, 13, 67), +(31, 14, 74), +(31, 15, 79), +(31, 16, 67), +(31, 17, 86), +(31, 18, 69), +(31, 19, 93), +(31, 20, 70), +(31, 21, 71), +(31, 22, 70), +(31, 23, 84), +(31, 24, 83), +(31, 25, 92), +(31, 26, 68), +(31, 27, 93), +(31, 28, 93), +(31, 29, 86), +(31, 30, 95), +(31, 31, 89), +(31, 32, 69), +(31, 33, 87), +(31, 34, 80), +(31, 35, 80), +(31, 36, 84), +(31, 37, 72), +(31, 38, 67), +(31, 39, 71), +(31, 40, 81), +(31, 41, 76), +(31, 42, 82), +(31, 43, 75), +(31, 44, 68), +(31, 45, 75), +(31, 46, 88), +(31, 47, 87), +(31, 48, 72), +(31, 49, 89), +(31, 50, 78), +(31, 51, 72), +(31, 52, 98), +(31, 53, 83), +(31, 54, 78), +(31, 55, 88), +(31, 56, 67), +(31, 57, 66), +(31, 58, 81), +(31, 59, 78), +(31, 60, 98), +(31, 61, 67), +(31, 62, 87), +(31, 63, 99), +(31, 64, 96), +(31, 65, 75), +(31, 66, 88), +(31, 67, 76), +(31, 68, 92), +(31, 69, 93), +(31, 70, 84), +(31, 71, 94), +(31, 72, 69), +(31, 73, 68), +(31, 74, 77), +(31, 75, 81), +(31, 76, 69), +(31, 77, 66), +(31, 78, 87), +(31, 79, 93), +(31, 80, 74), +(31, 81, 92), +(31, 82, 65), +(31, 83, 74), +(31, 84, 93), +(31, 85, 95), +(31, 86, 80), +(31, 87, 94), +(31, 88, 83), +(31, 89, 79), +(31, 90, 77), +(31, 91, 77), +(31, 92, 94), +(31, 93, 99), +(31, 94, 72), +(31, 95, 83), +(31, 96, 65), +(31, 97, 70), +(31, 98, 99), +(31, 99, 99), +(31, 100, 65), +(31, 101, 96), +(31, 102, 92), +(31, 103, 75), +(31, 104, 74), +(31, 105, 98), +(31, 106, 94), +(31, 107, 85), +(31, 108, 68), +(31, 109, 98), +(31, 110, 98), +(31, 111, 85), +(31, 112, 73), +(31, 113, 81), +(31, 114, 83), +(31, 115, 77), +(31, 116, 74), +(31, 117, 74), +(31, 118, 75), +(31, 119, 96), +(31, 120, 89), +(31, 121, 91), +(31, 122, 85), +(31, 123, 71), +(31, 124, 66), +(31, 125, 73), +(31, 126, 93), +(31, 127, 92), +(31, 128, 96), +(31, 129, 85), +(31, 130, 98), +(31, 131, 77), +(31, 132, 71), +(31, 133, 93), +(31, 134, 85), +(31, 135, 92), +(31, 136, 93), +(31, 137, 70), +(31, 138, 92), +(31, 139, 85), +(31, 140, 94), +(31, 141, 93), +(31, 142, 89), +(31, 143, 92), +(31, 144, 84), +(31, 145, 65), +(31, 146, 88), +(31, 147, 75), +(31, 148, 79), +(31, 149, 73), +(31, 150, 65), +(31, 151, 80), +(31, 152, 78), +(31, 153, 83), +(31, 154, 81), +(31, 155, 83), +(31, 156, 89), +(31, 157, 67), +(31, 158, 81), +(31, 159, 82), +(31, 160, 96), +(31, 161, 87), +(31, 162, 68), +(31, 163, 87), +(31, 164, 96), +(31, 165, 82), +(31, 166, 71), +(31, 167, 85), +(31, 168, 69), +(31, 169, 69), +(31, 170, 88), +(31, 171, 73), +(31, 172, 66), +(31, 173, 99), +(31, 174, 69), +(31, 175, 88), +(31, 176, 75), +(31, 177, 93), +(31, 178, 84), +(31, 179, 69), +(31, 180, 76), +(31, 181, 92), +(31, 182, 69), +(31, 183, 79), +(31, 184, 66), +(31, 185, 70), +(31, 186, 90), +(31, 187, 97), +(31, 188, 98), +(31, 189, 96), +(31, 190, 83), +(31, 191, 95), +(31, 192, 89), +(31, 193, 67), +(31, 194, 75), +(31, 195, 85), +(31, 196, 77), +(31, 197, 98), +(31, 198, 83), +(31, 199, 86), +(31, 200, 73), +(31, 201, 78), +(31, 202, 67), +(31, 203, 84), +(31, 204, 83), +(31, 205, 74), +(31, 206, 80), +(31, 207, 74), +(31, 208, 68), +(31, 209, 78), +(31, 210, 89), +(31, 211, 83), +(31, 212, 71), +(31, 213, 66), +(31, 214, 89), +(31, 215, 68), +(31, 216, 99), +(31, 217, 71), +(31, 218, 98), +(31, 219, 83), +(31, 220, 65), +(31, 221, 78), +(31, 222, 96), +(31, 223, 75), +(31, 224, 86), +(31, 225, 74), +(31, 226, 98), +(31, 227, 92), +(31, 228, 93), +(31, 229, 82), +(31, 230, 88), +(31, 231, 83), +(31, 232, 70), +(31, 233, 65), +(31, 234, 66), +(31, 235, 87), +(31, 236, 67), +(31, 237, 94), +(31, 238, 75), +(31, 239, 92), +(31, 240, 68), +(31, 241, 66), +(31, 242, 65), +(31, 243, 93), +(31, 244, 92), +(31, 245, 71), +(31, 246, 71), +(31, 247, 86), +(31, 248, 66), +(31, 249, 86), +(31, 250, 65), +(31, 251, 74), +(31, 252, 77), +(31, 253, 98), +(31, 254, 94), +(31, 255, 72), +(31, 256, 94), +(31, 257, 87), +(31, 258, 65), +(31, 259, 83), +(31, 260, 74), +(31, 261, 66), +(31, 262, 94), +(31, 263, 92), +(31, 264, 93), +(31, 265, 69), +(31, 266, 74), +(31, 267, 72), +(31, 268, 91), +(31, 269, 73), +(31, 270, 92), +(31, 271, 65), +(31, 272, 98), +(31, 273, 84), +(31, 274, 70), +(31, 275, 83), +(31, 276, 69), +(31, 277, 96), +(31, 278, 73), +(31, 279, 79), +(31, 280, 78), +(31, 281, 79), +(31, 282, 84), +(32, 1, 77), +(32, 2, 97), +(32, 3, 71), +(32, 4, 94), +(32, 5, 66), +(32, 6, 81), +(32, 7, 98), +(32, 8, 68), +(32, 9, 98), +(32, 10, 67), +(32, 11, 71), +(32, 12, 78), +(32, 13, 87), +(32, 14, 69), +(32, 15, 81), +(32, 16, 84), +(32, 17, 95), +(32, 18, 68), +(32, 19, 91), +(32, 20, 97), +(32, 21, 86), +(32, 22, 83), +(32, 23, 80), +(32, 24, 67), +(32, 25, 92), +(32, 26, 88), +(32, 27, 89), +(32, 28, 74), +(32, 29, 90), +(32, 30, 73), +(32, 31, 99), +(32, 32, 97), +(32, 33, 77), +(32, 34, 90), +(32, 35, 82), +(32, 36, 67), +(32, 37, 82), +(32, 38, 71), +(32, 39, 80), +(32, 40, 96), +(32, 41, 86), +(32, 42, 80), +(32, 43, 81), +(32, 44, 74), +(32, 45, 66), +(32, 46, 78), +(32, 47, 75), +(32, 48, 79), +(32, 49, 88), +(32, 50, 87), +(32, 51, 82), +(32, 52, 88), +(32, 53, 75), +(32, 54, 78), +(32, 55, 74), +(32, 56, 92), +(32, 57, 70), +(32, 58, 91), +(32, 59, 68), +(32, 60, 79), +(32, 61, 66), +(32, 62, 65), +(32, 63, 80), +(32, 64, 71), +(32, 65, 71), +(32, 66, 83), +(32, 67, 75), +(32, 68, 78), +(32, 69, 83), +(32, 70, 70), +(32, 71, 67), +(32, 72, 71), +(32, 73, 91), +(32, 74, 95), +(32, 75, 90), +(32, 76, 96), +(32, 77, 91), +(32, 78, 68), +(32, 79, 95), +(32, 80, 77), +(32, 81, 87), +(32, 82, 93), +(32, 83, 71), +(32, 84, 75), +(32, 85, 79), +(32, 86, 67), +(32, 87, 92), +(32, 88, 95), +(32, 89, 65), +(32, 90, 97), +(32, 91, 90), +(32, 92, 79), +(32, 93, 98), +(32, 94, 91), +(32, 95, 91), +(32, 96, 77), +(32, 97, 82), +(32, 98, 67), +(32, 99, 77), +(32, 100, 73), +(32, 101, 84), +(32, 102, 75), +(32, 103, 71), +(32, 104, 92), +(32, 105, 69), +(32, 106, 89), +(32, 107, 90), +(32, 108, 78), +(32, 109, 92), +(32, 110, 79), +(32, 111, 68), +(32, 112, 75), +(32, 113, 95), +(32, 114, 77), +(32, 115, 67), +(32, 116, 86), +(32, 117, 94), +(32, 118, 83), +(32, 119, 72), +(32, 120, 72), +(32, 121, 85), +(32, 122, 66), +(32, 123, 99), +(32, 124, 67), +(32, 125, 93), +(32, 126, 91), +(32, 127, 86), +(32, 128, 94), +(32, 129, 85), +(32, 130, 87), +(32, 131, 68), +(32, 132, 77), +(32, 133, 85), +(32, 134, 66), +(32, 135, 96), +(32, 136, 82), +(32, 137, 80), +(32, 138, 65), +(32, 139, 71), +(32, 140, 93), +(32, 141, 97), +(32, 142, 83), +(32, 143, 74), +(32, 144, 85), +(32, 145, 88), +(32, 146, 82), +(32, 147, 67), +(32, 148, 99), +(32, 149, 72), +(32, 150, 83), +(32, 151, 83), +(32, 152, 96), +(32, 153, 69), +(32, 154, 75), +(32, 155, 94), +(32, 156, 81), +(32, 157, 76), +(32, 158, 90), +(32, 159, 85), +(32, 160, 87), +(32, 161, 75), +(32, 162, 66), +(32, 163, 72), +(32, 164, 85), +(32, 165, 80), +(32, 166, 72), +(32, 167, 75), +(32, 168, 70), +(32, 169, 87), +(32, 170, 83), +(32, 171, 88), +(32, 172, 95), +(32, 173, 78), +(32, 174, 73), +(32, 175, 75), +(32, 176, 88), +(32, 177, 70), +(32, 178, 86), +(32, 179, 68), +(32, 180, 74), +(32, 181, 70), +(32, 182, 95), +(32, 183, 98), +(32, 184, 79), +(32, 185, 74), +(32, 186, 87), +(32, 187, 80), +(32, 188, 83), +(32, 189, 65), +(32, 190, 97), +(32, 191, 80), +(32, 192, 77), +(32, 193, 74), +(32, 194, 93), +(32, 195, 80), +(32, 196, 98), +(32, 197, 68), +(32, 198, 78), +(32, 199, 97), +(32, 200, 67), +(32, 201, 99), +(32, 202, 65), +(32, 203, 70), +(32, 204, 71), +(32, 205, 89), +(32, 206, 82), +(32, 207, 72), +(32, 208, 98), +(32, 209, 76), +(32, 210, 81), +(32, 211, 96), +(32, 212, 80), +(32, 213, 89), +(32, 214, 91), +(32, 215, 92), +(32, 216, 89), +(32, 217, 69), +(32, 218, 80), +(32, 219, 95), +(32, 220, 85), +(32, 221, 86), +(32, 222, 92), +(32, 223, 97), +(32, 224, 97), +(32, 225, 78), +(32, 226, 69), +(32, 227, 67), +(32, 228, 73), +(32, 229, 87), +(32, 230, 80), +(32, 231, 82), +(32, 232, 84), +(32, 233, 90), +(32, 234, 93), +(32, 235, 71), +(32, 236, 70), +(32, 237, 73), +(32, 238, 96), +(32, 239, 79), +(32, 240, 91), +(32, 241, 85), +(32, 242, 80), +(32, 243, 95), +(32, 244, 72), +(32, 245, 93), +(32, 246, 91), +(32, 247, 69), +(32, 248, 67), +(32, 249, 81), +(32, 250, 99), +(32, 251, 94), +(32, 252, 66), +(32, 253, 99), +(32, 254, 78), +(32, 255, 76), +(32, 256, 99), +(32, 257, 80), +(32, 258, 78), +(32, 259, 73), +(32, 260, 99), +(32, 261, 81), +(32, 262, 65), +(32, 263, 74), +(32, 264, 89), +(32, 265, 87), +(32, 266, 97), +(32, 267, 84), +(32, 268, 74), +(32, 269, 77), +(32, 270, 71), +(32, 271, 95), +(32, 272, 70), +(32, 273, 66), +(32, 274, 82), +(32, 275, 79), +(32, 276, 75), +(32, 277, 86), +(32, 278, 98), +(32, 279, 72), +(32, 280, 93), +(32, 281, 89), +(32, 282, 76), +(33, 1, 85), +(33, 2, 88), +(33, 3, 88), +(33, 4, 75), +(33, 5, 70), +(33, 6, 94), +(33, 7, 85), +(33, 8, 77), +(33, 9, 78), +(33, 10, 88), +(33, 11, 91), +(33, 12, 94), +(33, 13, 98), +(33, 14, 92), +(33, 15, 66), +(33, 16, 86), +(33, 17, 85), +(33, 18, 69), +(33, 19, 76), +(33, 20, 72), +(33, 21, 81), +(33, 22, 68), +(33, 23, 85), +(33, 24, 94), +(33, 25, 88), +(33, 26, 66), +(33, 27, 67), +(33, 28, 93), +(33, 29, 91), +(33, 30, 87), +(33, 31, 97), +(33, 32, 71), +(33, 33, 92), +(33, 34, 76), +(33, 35, 71), +(33, 36, 86), +(33, 37, 93), +(33, 38, 88), +(33, 39, 89), +(33, 40, 68), +(33, 41, 66), +(33, 42, 88), +(33, 43, 82), +(33, 44, 66), +(33, 45, 75), +(33, 46, 96), +(33, 47, 84), +(33, 48, 81), +(33, 49, 72), +(33, 50, 99), +(33, 51, 96), +(33, 52, 85), +(33, 53, 95), +(33, 54, 90), +(33, 55, 76), +(33, 56, 88), +(33, 57, 86), +(33, 58, 80), +(33, 59, 79), +(33, 60, 72), +(33, 61, 98), +(33, 62, 68), +(33, 63, 73), +(33, 64, 73), +(33, 65, 66), +(33, 66, 88), +(33, 67, 84), +(33, 68, 83), +(33, 69, 71), +(33, 70, 69), +(33, 71, 96), +(33, 72, 84), +(33, 73, 83), +(33, 74, 75), +(33, 75, 69), +(33, 76, 70), +(33, 77, 87), +(33, 78, 82), +(33, 79, 97), +(33, 80, 98), +(33, 81, 94), +(33, 82, 68), +(33, 83, 68), +(33, 84, 65), +(33, 85, 77), +(33, 86, 66), +(33, 87, 78), +(33, 88, 91), +(33, 89, 92), +(33, 90, 87), +(33, 91, 84), +(33, 92, 82), +(33, 93, 92), +(33, 94, 71), +(33, 95, 69), +(33, 96, 88), +(33, 97, 67), +(33, 98, 80), +(33, 99, 94), +(33, 100, 70), +(33, 101, 69), +(33, 102, 70), +(33, 103, 68), +(33, 104, 68), +(33, 105, 89), +(33, 106, 65), +(33, 107, 94), +(33, 108, 87), +(33, 109, 65), +(33, 110, 72), +(33, 111, 93), +(33, 112, 91), +(33, 113, 96), +(33, 114, 69), +(33, 115, 74), +(33, 116, 72), +(33, 117, 76), +(33, 118, 93), +(33, 119, 79), +(33, 120, 97), +(33, 121, 87), +(33, 122, 80), +(33, 123, 75), +(33, 124, 75), +(33, 125, 78), +(33, 126, 77), +(33, 127, 89), +(33, 128, 83), +(33, 129, 72), +(33, 130, 76), +(33, 131, 79), +(33, 132, 73), +(33, 133, 81), +(33, 134, 81), +(33, 135, 71), +(33, 136, 69), +(33, 137, 89), +(33, 138, 89), +(33, 139, 72), +(33, 140, 82), +(33, 141, 73), +(33, 142, 83), +(33, 143, 99), +(33, 144, 76), +(33, 145, 78), +(33, 146, 80), +(33, 147, 82), +(33, 148, 88), +(33, 149, 74), +(33, 150, 87), +(33, 151, 75), +(33, 152, 78), +(33, 153, 65), +(33, 154, 67), +(33, 155, 86), +(33, 156, 75), +(33, 157, 78), +(33, 158, 74), +(33, 159, 80), +(33, 160, 84), +(33, 161, 88), +(33, 162, 95), +(33, 163, 71), +(33, 164, 73), +(33, 165, 91), +(33, 166, 84), +(33, 167, 92), +(33, 168, 78), +(33, 169, 94), +(33, 170, 89), +(33, 171, 86), +(33, 172, 69), +(33, 173, 98), +(33, 174, 94), +(33, 175, 82), +(33, 176, 80), +(33, 177, 76), +(33, 178, 79), +(33, 179, 70), +(33, 180, 77), +(33, 181, 83), +(33, 182, 99), +(33, 183, 86), +(33, 184, 65), +(33, 185, 98), +(33, 186, 67), +(33, 187, 81), +(33, 188, 91), +(33, 189, 78), +(33, 190, 68), +(33, 191, 83), +(33, 192, 90), +(33, 193, 69), +(33, 194, 72), +(33, 195, 81), +(33, 196, 88), +(33, 197, 88), +(33, 198, 76), +(33, 199, 91), +(33, 200, 87), +(33, 201, 91), +(33, 202, 96), +(33, 203, 66), +(33, 204, 74), +(33, 205, 86), +(33, 206, 67), +(33, 207, 76), +(33, 208, 82), +(33, 209, 80), +(33, 210, 75), +(33, 211, 97), +(33, 212, 86), +(33, 213, 74), +(33, 214, 89), +(33, 215, 86), +(33, 216, 85), +(33, 217, 65), +(33, 218, 78), +(33, 219, 91), +(33, 220, 95), +(33, 221, 98), +(33, 222, 76), +(33, 223, 90), +(33, 224, 91), +(33, 225, 69), +(33, 226, 92), +(33, 227, 65), +(33, 228, 88), +(33, 229, 90), +(33, 230, 70), +(33, 231, 97), +(33, 232, 76), +(33, 233, 85), +(33, 234, 98), +(33, 235, 97), +(33, 236, 87), +(33, 237, 87), +(33, 238, 86), +(33, 239, 90), +(33, 240, 78), +(33, 241, 94), +(33, 242, 69), +(33, 243, 94), +(33, 244, 90), +(33, 245, 84), +(33, 246, 70), +(33, 247, 93), +(33, 248, 74), +(33, 249, 86), +(33, 250, 93), +(33, 251, 77), +(33, 252, 72), +(33, 253, 67), +(33, 254, 75), +(33, 255, 65), +(33, 256, 79), +(33, 257, 73), +(33, 258, 93), +(33, 259, 89), +(33, 260, 66), +(33, 261, 75), +(33, 262, 85), +(33, 263, 98), +(33, 264, 68), +(33, 265, 91), +(33, 266, 92), +(33, 267, 71), +(33, 268, 69), +(33, 269, 68), +(33, 270, 84), +(33, 271, 76), +(33, 272, 99), +(33, 273, 81), +(33, 274, 66), +(33, 275, 83), +(33, 276, 69), +(33, 277, 79), +(33, 278, 65), +(33, 279, 95), +(33, 280, 96), +(33, 281, 73), +(33, 282, 65), +(34, 1, 94), +(34, 2, 82), +(34, 3, 94), +(34, 4, 98), +(34, 5, 87), +(34, 6, 95), +(34, 7, 99), +(34, 8, 83), +(34, 9, 66), +(34, 10, 68), +(34, 11, 72), +(34, 12, 70), +(34, 13, 96), +(34, 14, 85), +(34, 15, 95), +(34, 16, 76), +(34, 17, 73), +(34, 18, 78), +(34, 19, 76), +(34, 20, 76), +(34, 21, 84), +(34, 22, 98), +(34, 23, 84), +(34, 24, 65), +(34, 25, 96), +(34, 26, 73), +(34, 27, 74), +(34, 28, 74), +(34, 29, 84), +(34, 30, 81), +(34, 31, 85), +(34, 32, 73), +(34, 33, 96), +(34, 34, 81), +(34, 35, 79), +(34, 36, 94), +(34, 37, 85), +(34, 38, 96), +(34, 39, 70), +(34, 40, 92), +(34, 41, 77), +(34, 42, 66), +(34, 43, 69), +(34, 44, 80), +(34, 45, 79), +(34, 46, 76), +(34, 47, 96), +(34, 48, 65), +(34, 49, 67), +(34, 50, 67), +(34, 51, 99), +(34, 52, 95), +(34, 53, 80), +(34, 54, 82), +(34, 55, 93), +(34, 56, 98), +(34, 57, 87), +(34, 58, 98), +(34, 59, 91), +(34, 60, 93), +(34, 61, 88), +(34, 62, 82), +(34, 63, 97), +(34, 64, 87), +(34, 65, 85), +(34, 66, 88), +(34, 67, 93), +(34, 68, 84), +(34, 69, 76), +(34, 70, 71), +(34, 71, 72), +(34, 72, 74), +(34, 73, 77), +(34, 74, 93), +(34, 75, 84), +(34, 76, 65), +(34, 77, 97), +(34, 78, 71), +(34, 79, 99), +(34, 80, 91), +(34, 81, 76), +(34, 82, 98), +(34, 83, 98), +(34, 84, 74), +(34, 85, 85), +(34, 86, 98), +(34, 87, 86), +(34, 88, 72), +(34, 89, 95), +(34, 90, 76), +(34, 91, 86), +(34, 92, 76), +(34, 93, 66), +(34, 94, 84), +(34, 95, 80), +(34, 96, 77), +(34, 97, 93), +(34, 98, 97), +(34, 99, 70), +(34, 100, 68), +(34, 101, 99), +(34, 102, 94), +(34, 103, 96), +(34, 104, 71), +(34, 105, 68), +(34, 106, 98), +(34, 107, 68), +(34, 108, 67), +(34, 109, 91), +(34, 110, 93), +(34, 111, 92), +(34, 112, 97), +(34, 113, 95), +(34, 114, 88), +(34, 115, 69), +(34, 116, 71), +(34, 117, 69), +(34, 118, 82), +(34, 119, 77), +(34, 120, 99), +(34, 121, 81), +(34, 122, 66), +(34, 123, 86), +(34, 124, 73), +(34, 125, 78), +(34, 126, 81), +(34, 127, 87), +(34, 128, 67), +(34, 129, 76), +(34, 130, 92), +(34, 131, 94), +(34, 132, 69), +(34, 133, 86), +(34, 134, 72), +(34, 135, 70), +(34, 136, 67), +(34, 137, 71), +(34, 138, 80), +(34, 139, 84), +(34, 140, 65), +(34, 141, 79), +(34, 142, 65), +(34, 143, 71), +(34, 144, 93), +(34, 145, 96), +(34, 146, 92), +(34, 147, 76), +(34, 148, 80), +(34, 149, 90), +(34, 150, 85), +(34, 151, 96), +(34, 152, 73), +(34, 153, 87), +(34, 154, 81), +(34, 155, 83), +(34, 156, 66), +(34, 157, 98), +(34, 158, 67), +(34, 159, 80), +(34, 160, 96), +(34, 161, 77), +(34, 162, 74), +(34, 163, 74), +(34, 164, 81), +(34, 165, 78), +(34, 166, 68), +(34, 167, 98), +(34, 168, 81), +(34, 169, 75), +(34, 170, 94), +(34, 171, 69), +(34, 172, 68), +(34, 173, 87), +(34, 174, 80), +(34, 175, 88), +(34, 176, 73), +(34, 177, 71), +(34, 178, 74), +(34, 179, 83), +(34, 180, 65), +(34, 181, 70), +(34, 182, 77), +(34, 183, 70), +(34, 184, 90), +(34, 185, 96), +(34, 186, 79), +(34, 187, 66), +(34, 188, 74), +(34, 189, 93), +(34, 190, 88), +(34, 191, 78), +(34, 192, 82), +(34, 193, 91), +(34, 194, 84), +(34, 195, 67), +(34, 196, 83), +(34, 197, 68), +(34, 198, 84), +(34, 199, 65), +(34, 200, 67), +(34, 201, 93), +(34, 202, 81), +(34, 203, 91), +(34, 204, 93), +(34, 205, 98), +(34, 206, 96), +(34, 207, 65), +(34, 208, 88), +(34, 209, 73), +(34, 210, 66), +(34, 211, 97), +(34, 212, 91), +(34, 213, 77), +(34, 214, 73), +(34, 215, 87), +(34, 216, 94), +(34, 217, 87), +(34, 218, 82), +(34, 219, 70), +(34, 220, 85), +(34, 221, 97), +(34, 222, 73), +(34, 223, 97), +(34, 224, 65), +(34, 225, 80), +(34, 226, 86), +(34, 227, 93), +(34, 228, 90), +(34, 229, 89), +(34, 230, 83), +(34, 231, 72), +(34, 232, 98), +(34, 233, 89), +(34, 234, 75), +(34, 235, 70), +(34, 236, 88), +(34, 237, 84), +(34, 238, 76), +(34, 239, 76), +(34, 240, 90), +(34, 241, 80), +(34, 242, 76), +(34, 243, 89), +(34, 244, 99), +(34, 245, 77), +(34, 246, 82), +(34, 247, 90), +(34, 248, 66), +(34, 249, 87), +(34, 250, 71), +(34, 251, 76), +(34, 252, 97), +(34, 253, 77), +(34, 254, 77), +(34, 255, 66), +(34, 256, 66), +(34, 257, 93), +(34, 258, 99), +(34, 259, 89), +(34, 260, 76), +(34, 261, 65), +(34, 262, 97), +(34, 263, 65), +(34, 264, 79), +(34, 265, 95), +(34, 266, 70), +(34, 267, 72), +(34, 268, 93), +(34, 269, 80), +(34, 270, 75), +(34, 271, 66), +(34, 272, 77), +(34, 273, 72), +(34, 274, 89), +(34, 275, 76), +(34, 276, 90), +(34, 277, 73), +(34, 278, 71), +(34, 279, 87), +(34, 280, 99), +(34, 281, 69), +(34, 282, 68), +(35, 1, 79), +(35, 2, 85), +(35, 3, 70), +(35, 4, 94), +(35, 5, 91), +(35, 6, 90), +(35, 7, 70), +(35, 8, 82), +(35, 9, 65), +(35, 10, 82), +(35, 11, 92), +(35, 12, 72), +(35, 13, 85), +(35, 14, 84), +(35, 15, 71), +(35, 16, 95), +(35, 17, 81), +(35, 18, 80), +(35, 19, 90), +(35, 20, 65), +(35, 21, 77), +(35, 22, 80), +(35, 23, 67), +(35, 24, 82), +(35, 25, 84), +(35, 26, 66), +(35, 27, 71), +(35, 28, 98), +(35, 29, 86), +(35, 30, 78), +(35, 31, 70), +(35, 32, 87), +(35, 33, 67), +(35, 34, 78), +(35, 35, 81), +(35, 36, 79), +(35, 37, 81), +(35, 38, 79), +(35, 39, 88), +(35, 40, 85), +(35, 41, 86), +(35, 42, 73), +(35, 43, 67), +(35, 44, 68), +(35, 45, 69), +(35, 46, 99), +(35, 47, 93), +(35, 48, 89), +(35, 49, 91), +(35, 50, 76), +(35, 51, 71), +(35, 52, 85), +(35, 53, 87), +(35, 54, 77), +(35, 55, 68), +(35, 56, 93), +(35, 57, 79), +(35, 58, 81), +(35, 59, 82), +(35, 60, 80), +(35, 61, 81), +(35, 62, 72), +(35, 63, 95), +(35, 64, 82), +(35, 65, 96), +(35, 66, 77), +(35, 67, 77), +(35, 68, 73), +(35, 69, 66), +(35, 70, 83), +(35, 71, 80), +(35, 72, 86), +(35, 73, 71), +(35, 74, 70), +(35, 75, 77), +(35, 76, 88), +(35, 77, 91), +(35, 78, 79), +(35, 79, 71), +(35, 80, 96), +(35, 81, 66), +(35, 82, 84), +(35, 83, 83), +(35, 84, 74), +(35, 85, 94), +(35, 86, 88), +(35, 87, 94), +(35, 88, 91), +(35, 89, 66), +(35, 90, 89), +(35, 91, 79), +(35, 92, 70), +(35, 93, 96), +(35, 94, 74), +(35, 95, 91), +(35, 96, 89), +(35, 97, 98), +(35, 98, 75), +(35, 99, 75), +(35, 100, 66), +(35, 101, 82), +(35, 102, 94), +(35, 103, 73), +(35, 104, 84), +(35, 105, 79), +(35, 106, 88), +(35, 107, 99), +(35, 108, 79), +(35, 109, 88), +(35, 110, 81), +(35, 111, 79), +(35, 112, 75), +(35, 113, 87), +(35, 114, 97), +(35, 115, 94), +(35, 116, 77), +(35, 117, 89), +(35, 118, 99), +(35, 119, 85), +(35, 120, 70), +(35, 121, 81), +(35, 122, 98), +(35, 123, 69), +(35, 124, 74), +(35, 125, 91), +(35, 126, 77), +(35, 127, 67), +(35, 128, 93), +(35, 129, 98), +(35, 130, 96), +(35, 131, 96), +(35, 132, 94), +(35, 133, 86), +(35, 134, 89), +(35, 135, 72), +(35, 136, 99), +(35, 137, 94), +(35, 138, 71), +(35, 139, 69), +(35, 140, 87), +(35, 141, 78), +(35, 142, 83), +(35, 143, 95), +(35, 144, 69), +(35, 145, 74), +(35, 146, 86), +(35, 147, 66), +(35, 148, 71), +(35, 149, 94), +(35, 150, 67), +(35, 151, 88), +(35, 152, 99), +(35, 153, 71), +(35, 154, 69), +(35, 155, 91), +(35, 156, 76), +(35, 157, 86), +(35, 158, 85), +(35, 159, 95), +(35, 160, 91), +(35, 161, 91), +(35, 162, 91), +(35, 163, 95), +(35, 164, 84), +(35, 165, 89), +(35, 166, 96), +(35, 167, 80), +(35, 168, 72), +(35, 169, 97), +(35, 170, 68), +(35, 171, 91), +(35, 172, 67), +(35, 173, 77), +(35, 174, 90), +(35, 175, 93), +(35, 176, 93), +(35, 177, 97), +(35, 178, 68), +(35, 179, 70), +(35, 180, 98), +(35, 181, 72), +(35, 182, 92), +(35, 183, 96), +(35, 184, 85), +(35, 185, 88), +(35, 186, 94), +(35, 187, 91), +(35, 188, 65), +(35, 189, 99), +(35, 190, 65), +(35, 191, 77), +(35, 192, 76), +(35, 193, 81), +(35, 194, 71), +(35, 195, 95), +(35, 196, 87), +(35, 197, 81), +(35, 198, 89), +(35, 199, 94), +(35, 200, 78), +(35, 201, 95), +(35, 202, 89), +(35, 203, 88), +(35, 204, 72), +(35, 205, 99), +(35, 206, 76), +(35, 207, 67), +(35, 208, 94), +(35, 209, 96), +(35, 210, 75), +(35, 211, 97), +(35, 212, 96), +(35, 213, 97), +(35, 214, 69), +(35, 215, 79), +(35, 216, 79), +(35, 217, 73), +(35, 218, 79), +(35, 219, 84), +(35, 220, 75), +(35, 221, 92), +(35, 222, 73), +(35, 223, 79), +(35, 224, 93), +(35, 225, 93), +(35, 226, 86), +(35, 227, 65), +(35, 228, 85), +(35, 229, 74), +(35, 230, 68), +(35, 231, 71), +(35, 232, 93), +(35, 233, 91), +(35, 234, 87), +(35, 235, 65), +(35, 236, 82), +(35, 237, 95), +(35, 238, 94), +(35, 239, 80), +(35, 240, 81), +(35, 241, 90), +(35, 242, 73), +(35, 243, 96), +(35, 244, 93), +(35, 245, 68), +(35, 246, 67), +(35, 247, 71), +(35, 248, 78), +(35, 249, 76), +(35, 250, 82), +(35, 251, 85), +(35, 252, 66), +(35, 253, 88), +(35, 254, 96), +(35, 255, 71), +(35, 256, 65), +(35, 257, 80), +(35, 258, 80), +(35, 259, 77), +(35, 260, 80), +(35, 261, 73), +(35, 262, 94), +(35, 263, 72), +(35, 264, 90), +(35, 265, 69), +(35, 266, 78), +(35, 267, 83), +(35, 268, 90), +(35, 269, 95), +(35, 270, 94), +(35, 271, 72), +(35, 272, 96), +(35, 273, 90), +(35, 274, 77), +(35, 275, 70), +(35, 276, 76), +(35, 277, 97), +(35, 278, 97), +(35, 279, 86), +(35, 280, 76), +(35, 281, 96), +(35, 282, 78), +(36, 1, 82), +(36, 2, 78), +(36, 3, 73), +(36, 4, 77), +(36, 5, 93), +(36, 6, 67), +(36, 7, 95), +(36, 8, 98), +(36, 9, 66), +(36, 10, 72), +(36, 11, 75), +(36, 12, 85), +(36, 13, 75), +(36, 14, 65), +(36, 15, 75), +(36, 16, 77), +(36, 17, 87), +(36, 18, 69), +(36, 19, 88), +(36, 20, 68), +(36, 21, 69), +(36, 22, 77), +(36, 23, 89), +(36, 24, 80), +(36, 25, 65), +(36, 26, 81), +(36, 27, 69), +(36, 28, 98), +(36, 29, 79), +(36, 30, 83), +(36, 31, 99), +(36, 32, 81), +(36, 33, 91), +(36, 34, 80), +(36, 35, 68), +(36, 36, 84), +(36, 37, 88), +(36, 38, 80), +(36, 39, 98), +(36, 40, 88), +(36, 41, 66), +(36, 42, 66), +(36, 43, 66), +(36, 44, 69), +(36, 45, 78), +(36, 46, 98), +(36, 47, 76), +(36, 48, 79), +(36, 49, 82), +(36, 50, 81), +(36, 51, 98), +(36, 52, 76), +(36, 53, 94), +(36, 54, 73), +(36, 55, 69), +(36, 56, 73), +(36, 57, 69), +(36, 58, 79), +(36, 59, 73), +(36, 60, 89), +(36, 61, 79), +(36, 62, 84), +(36, 63, 83), +(36, 64, 85), +(36, 65, 89), +(36, 66, 94), +(36, 67, 80), +(36, 68, 81), +(36, 69, 76), +(36, 70, 69), +(36, 71, 84), +(36, 72, 75), +(36, 73, 96), +(36, 74, 79), +(36, 75, 69), +(36, 76, 76), +(36, 77, 99), +(36, 78, 85), +(36, 79, 96), +(36, 80, 73), +(36, 81, 75), +(36, 82, 94), +(36, 83, 90), +(36, 84, 82), +(36, 85, 82), +(36, 86, 81), +(36, 87, 80), +(36, 88, 69), +(36, 89, 85), +(36, 90, 84), +(36, 91, 74), +(36, 92, 90), +(36, 93, 76), +(36, 94, 87), +(36, 95, 83), +(36, 96, 83), +(36, 97, 73), +(36, 98, 92), +(36, 99, 65), +(36, 100, 96), +(36, 101, 85), +(36, 102, 87), +(36, 103, 80), +(36, 104, 75), +(36, 105, 90), +(36, 106, 85), +(36, 107, 87), +(36, 108, 92), +(36, 109, 70), +(36, 110, 94), +(36, 111, 92), +(36, 112, 91), +(36, 113, 84), +(36, 114, 87), +(36, 115, 92), +(36, 116, 71), +(36, 117, 67), +(36, 118, 81), +(36, 119, 93), +(36, 120, 94), +(36, 121, 95), +(36, 122, 86), +(36, 123, 92), +(36, 124, 85), +(36, 125, 89), +(36, 126, 76), +(36, 127, 79), +(36, 128, 92), +(36, 129, 91), +(36, 130, 72), +(36, 131, 98), +(36, 132, 97), +(36, 133, 73), +(36, 134, 92), +(36, 135, 87), +(36, 136, 92), +(36, 137, 87), +(36, 138, 82), +(36, 139, 99), +(36, 140, 69), +(36, 141, 85), +(36, 142, 85), +(36, 143, 95), +(36, 144, 69), +(36, 145, 88), +(36, 146, 87), +(36, 147, 76), +(36, 148, 86), +(36, 149, 66), +(36, 150, 83), +(36, 151, 87), +(36, 152, 75), +(36, 153, 66), +(36, 154, 71), +(36, 155, 74), +(36, 156, 83), +(36, 157, 71), +(36, 158, 90), +(36, 159, 68), +(36, 160, 68), +(36, 161, 89), +(36, 162, 96), +(36, 163, 80), +(36, 164, 79), +(36, 165, 76), +(36, 166, 72), +(36, 167, 77), +(36, 168, 86), +(36, 169, 89), +(36, 170, 65), +(36, 171, 77), +(36, 172, 66), +(36, 173, 94), +(36, 174, 76), +(36, 175, 66), +(36, 176, 79), +(36, 177, 66), +(36, 178, 87), +(36, 179, 72), +(36, 180, 93), +(36, 181, 84), +(36, 182, 94), +(36, 183, 66), +(36, 184, 92), +(36, 185, 89), +(36, 186, 99), +(36, 187, 87), +(36, 188, 76), +(36, 189, 81), +(36, 190, 67), +(36, 191, 84), +(36, 192, 68), +(36, 193, 67), +(36, 194, 74), +(36, 195, 69), +(36, 196, 87), +(36, 197, 65), +(36, 198, 96), +(36, 199, 69), +(36, 200, 90), +(36, 201, 94), +(36, 202, 99), +(36, 203, 66), +(36, 204, 87), +(36, 205, 68), +(36, 206, 96), +(36, 207, 75), +(36, 208, 71), +(36, 209, 89), +(36, 210, 77), +(36, 211, 91), +(36, 212, 72), +(36, 213, 86), +(36, 214, 96), +(36, 215, 70), +(36, 216, 84), +(36, 217, 76), +(36, 218, 84), +(36, 219, 73), +(36, 220, 89), +(36, 221, 69), +(36, 222, 80), +(36, 223, 75), +(36, 224, 65), +(36, 225, 93), +(36, 226, 73), +(36, 227, 88), +(36, 228, 91), +(36, 229, 76), +(36, 230, 98), +(36, 231, 76), +(36, 232, 72), +(36, 233, 90), +(36, 234, 75), +(36, 235, 85), +(36, 236, 80), +(36, 237, 88), +(36, 238, 71), +(36, 239, 72), +(36, 240, 72), +(36, 241, 73), +(36, 242, 72), +(36, 243, 77), +(36, 244, 65), +(36, 245, 78), +(36, 246, 93), +(36, 247, 90), +(36, 248, 95), +(36, 249, 89), +(36, 250, 96), +(36, 251, 95), +(36, 252, 77), +(36, 253, 72), +(36, 254, 79), +(36, 255, 94), +(36, 256, 96), +(36, 257, 91), +(36, 258, 74), +(36, 259, 91), +(36, 260, 74), +(36, 261, 69), +(36, 262, 79), +(36, 263, 66), +(36, 264, 79), +(36, 265, 99), +(36, 266, 83), +(36, 267, 65), +(36, 268, 72), +(36, 269, 66), +(36, 270, 77), +(36, 271, 97), +(36, 272, 78), +(36, 273, 97), +(36, 274, 88), +(36, 275, 89), +(36, 276, 77), +(36, 277, 97), +(36, 278, 66), +(36, 279, 72), +(36, 280, 86), +(36, 281, 71), +(36, 282, 90), +(37, 1, 77), +(37, 2, 72), +(37, 3, 92), +(37, 4, 74), +(37, 5, 94), +(37, 6, 68), +(37, 7, 94), +(37, 8, 73), +(37, 9, 70), +(37, 10, 86), +(37, 11, 70), +(37, 12, 77), +(37, 13, 87), +(37, 14, 77), +(37, 15, 98), +(37, 16, 69), +(37, 17, 91), +(37, 18, 73), +(37, 19, 67), +(37, 20, 78), +(37, 21, 85), +(37, 22, 81), +(37, 23, 74), +(37, 24, 92), +(37, 25, 81), +(37, 26, 74), +(37, 27, 67), +(37, 28, 95), +(37, 29, 69), +(37, 30, 82), +(37, 31, 82), +(37, 32, 78), +(37, 33, 81), +(37, 34, 68), +(37, 35, 68), +(37, 36, 82), +(37, 37, 95), +(37, 38, 98), +(37, 39, 89), +(37, 40, 83), +(37, 41, 78), +(37, 42, 80), +(37, 43, 99), +(37, 44, 77), +(37, 45, 86), +(37, 46, 94), +(37, 47, 71), +(37, 48, 99), +(37, 49, 73), +(37, 50, 77), +(37, 51, 73), +(37, 52, 98), +(37, 53, 77), +(37, 54, 68), +(37, 55, 73), +(37, 56, 89), +(37, 57, 77), +(37, 58, 88), +(37, 59, 89), +(37, 60, 73), +(37, 61, 84), +(37, 62, 68), +(37, 63, 69), +(37, 64, 80), +(37, 65, 92), +(37, 66, 67), +(37, 67, 67), +(37, 68, 87), +(37, 69, 80), +(37, 70, 65), +(37, 71, 80), +(37, 72, 87), +(37, 73, 95), +(37, 74, 82), +(37, 75, 82), +(37, 76, 84), +(37, 77, 87), +(37, 78, 87), +(37, 79, 99), +(37, 80, 80), +(37, 81, 78), +(37, 82, 85), +(37, 83, 66), +(37, 84, 90), +(37, 85, 97), +(37, 86, 77), +(37, 87, 87), +(37, 88, 79), +(37, 89, 94), +(37, 90, 90), +(37, 91, 68), +(37, 92, 71), +(37, 93, 99), +(37, 94, 78), +(37, 95, 76), +(37, 96, 80), +(37, 97, 78), +(37, 98, 99), +(37, 99, 68), +(37, 100, 78), +(37, 101, 79), +(37, 102, 87), +(37, 103, 83), +(37, 104, 91), +(37, 105, 81), +(37, 106, 94), +(37, 107, 74), +(37, 108, 90), +(37, 109, 91), +(37, 110, 93), +(37, 111, 86), +(37, 112, 93), +(37, 113, 98), +(37, 114, 79), +(37, 115, 81), +(37, 116, 94), +(37, 117, 72), +(37, 118, 79), +(37, 119, 74), +(37, 120, 89), +(37, 121, 98), +(37, 122, 71), +(37, 123, 83), +(37, 124, 72), +(37, 125, 73), +(37, 126, 83), +(37, 127, 96), +(37, 128, 84), +(37, 129, 65), +(37, 130, 75), +(37, 131, 67), +(37, 132, 67), +(37, 133, 78), +(37, 134, 95), +(37, 135, 84), +(37, 136, 95), +(37, 137, 89), +(37, 138, 99), +(37, 139, 84), +(37, 140, 89), +(37, 141, 94), +(37, 142, 75), +(37, 143, 88), +(37, 144, 74), +(37, 145, 85), +(37, 146, 77), +(37, 147, 80), +(37, 148, 83), +(37, 149, 88), +(37, 150, 78), +(37, 151, 72), +(37, 152, 80), +(37, 153, 88), +(37, 154, 87), +(37, 155, 65), +(37, 156, 87), +(37, 157, 68), +(37, 158, 97), +(37, 159, 94), +(37, 160, 74), +(37, 161, 73), +(37, 162, 73), +(37, 163, 87), +(37, 164, 77), +(37, 165, 83), +(37, 166, 75), +(37, 167, 80), +(37, 168, 79), +(37, 169, 92), +(37, 170, 90), +(37, 171, 84), +(37, 172, 67), +(37, 173, 68), +(37, 174, 81), +(37, 175, 92), +(37, 176, 87), +(37, 177, 81), +(37, 178, 97), +(37, 179, 86), +(37, 180, 71), +(37, 181, 72), +(37, 182, 97), +(37, 183, 83), +(37, 184, 69), +(37, 185, 79), +(37, 186, 76), +(37, 187, 65), +(37, 188, 84), +(37, 189, 76), +(37, 190, 76), +(37, 191, 90), +(37, 192, 85), +(37, 193, 96), +(37, 194, 91), +(37, 195, 65), +(37, 196, 73), +(37, 197, 88), +(37, 198, 77), +(37, 199, 68), +(37, 200, 79), +(37, 201, 88), +(37, 202, 96), +(37, 203, 72), +(37, 204, 85), +(37, 205, 84), +(37, 206, 84), +(37, 207, 72), +(37, 208, 77), +(37, 209, 94), +(37, 210, 96), +(37, 211, 67), +(37, 212, 77), +(37, 213, 73), +(37, 214, 69), +(37, 215, 85), +(37, 216, 82), +(37, 217, 94), +(37, 218, 84), +(37, 219, 83), +(37, 220, 86), +(37, 221, 73), +(37, 222, 84), +(37, 223, 74), +(37, 224, 84), +(37, 225, 84), +(37, 226, 76), +(37, 227, 74), +(37, 228, 99), +(37, 229, 92), +(37, 230, 83), +(37, 231, 66), +(37, 232, 86), +(37, 233, 77), +(37, 234, 83), +(37, 235, 94), +(37, 236, 92), +(37, 237, 90), +(37, 238, 80), +(37, 239, 93), +(37, 240, 88), +(37, 241, 66), +(37, 242, 79), +(37, 243, 70), +(37, 244, 88), +(37, 245, 86), +(37, 246, 93), +(37, 247, 69), +(37, 248, 70), +(37, 249, 85), +(37, 250, 98), +(37, 251, 87), +(37, 252, 89), +(37, 253, 68), +(37, 254, 76), +(37, 255, 87), +(37, 256, 82), +(37, 257, 81), +(37, 258, 66), +(37, 259, 91), +(37, 260, 67), +(37, 261, 99), +(37, 262, 83), +(37, 263, 82), +(37, 264, 95), +(37, 265, 86), +(37, 266, 80), +(37, 267, 79), +(37, 268, 96), +(37, 269, 86), +(37, 270, 70), +(37, 271, 65), +(37, 272, 75), +(37, 273, 79), +(37, 274, 75), +(37, 275, 68), +(37, 276, 93), +(37, 277, 97), +(37, 278, 81), +(37, 279, 70), +(37, 280, 68), +(37, 281, 70), +(37, 282, 78), +(38, 1, 74), +(38, 2, 94), +(38, 3, 70), +(38, 4, 73), +(38, 5, 93), +(38, 6, 77), +(38, 7, 85), +(38, 8, 78), +(38, 9, 87), +(38, 10, 79), +(38, 11, 95), +(38, 12, 98), +(38, 13, 78), +(38, 14, 93), +(38, 15, 96), +(38, 16, 86), +(38, 17, 93), +(38, 18, 95), +(38, 19, 79), +(38, 20, 86), +(38, 21, 82), +(38, 22, 74), +(38, 23, 73), +(38, 24, 83), +(38, 25, 76), +(38, 26, 96), +(38, 27, 99), +(38, 28, 84), +(38, 29, 81), +(38, 30, 96), +(38, 31, 82), +(38, 32, 85), +(38, 33, 69), +(38, 34, 71), +(38, 35, 72), +(38, 36, 96), +(38, 37, 78), +(38, 38, 81), +(38, 39, 86), +(38, 40, 89), +(38, 41, 92), +(38, 42, 70), +(38, 43, 93), +(38, 44, 77), +(38, 45, 97), +(38, 46, 78), +(38, 47, 98), +(38, 48, 88), +(38, 49, 90), +(38, 50, 76), +(38, 51, 78), +(38, 52, 89), +(38, 53, 73), +(38, 54, 92), +(38, 55, 94), +(38, 56, 90), +(38, 57, 81), +(38, 58, 67), +(38, 59, 90), +(38, 60, 69), +(38, 61, 86), +(38, 62, 95), +(38, 63, 99), +(38, 64, 79), +(38, 65, 96), +(38, 66, 94), +(38, 67, 65), +(38, 68, 92), +(38, 69, 75), +(38, 70, 90), +(38, 71, 83), +(38, 72, 77), +(38, 73, 89), +(38, 74, 77), +(38, 75, 72), +(38, 76, 94), +(38, 77, 76), +(38, 78, 79), +(38, 79, 72), +(38, 80, 82), +(38, 81, 66), +(38, 82, 78), +(38, 83, 65), +(38, 84, 69), +(38, 85, 70), +(38, 86, 79), +(38, 87, 95), +(38, 88, 86), +(38, 89, 78), +(38, 90, 97), +(38, 91, 86), +(38, 92, 89), +(38, 93, 98), +(38, 94, 65), +(38, 95, 69), +(38, 96, 88), +(38, 97, 70), +(38, 98, 84), +(38, 99, 83), +(38, 100, 72), +(38, 101, 76), +(38, 102, 77), +(38, 103, 76), +(38, 104, 95), +(38, 105, 69), +(38, 106, 79), +(38, 107, 80), +(38, 108, 76), +(38, 109, 74), +(38, 110, 84), +(38, 111, 92), +(38, 112, 95), +(38, 113, 65), +(38, 114, 68), +(38, 115, 97), +(38, 116, 90), +(38, 117, 95), +(38, 118, 86), +(38, 119, 99), +(38, 120, 65), +(38, 121, 71), +(38, 122, 69), +(38, 123, 77), +(38, 124, 75), +(38, 125, 67), +(38, 126, 88), +(38, 127, 74), +(38, 128, 78), +(38, 129, 89), +(38, 130, 95), +(38, 131, 81), +(38, 132, 84), +(38, 133, 71), +(38, 134, 98), +(38, 135, 95), +(38, 136, 66), +(38, 137, 83), +(38, 138, 80), +(38, 139, 92), +(38, 140, 71), +(38, 141, 80), +(38, 142, 92), +(38, 143, 94), +(38, 144, 65), +(38, 145, 97), +(38, 146, 96), +(38, 147, 73), +(38, 148, 90), +(38, 149, 71), +(38, 150, 80), +(38, 151, 70), +(38, 152, 79), +(38, 153, 70), +(38, 154, 85), +(38, 155, 73), +(38, 156, 86), +(38, 157, 98), +(38, 158, 78), +(38, 159, 95), +(38, 160, 99), +(38, 161, 69), +(38, 162, 82), +(38, 163, 94), +(38, 164, 84), +(38, 165, 86), +(38, 166, 95), +(38, 167, 70), +(38, 168, 75), +(38, 169, 93), +(38, 170, 88), +(38, 171, 88), +(38, 172, 72), +(38, 173, 99), +(38, 174, 77), +(38, 175, 91), +(38, 176, 98), +(38, 177, 72), +(38, 178, 89), +(38, 179, 77), +(38, 180, 81), +(38, 181, 76), +(38, 182, 67), +(38, 183, 83), +(38, 184, 73), +(38, 185, 99), +(38, 186, 92), +(38, 187, 69), +(38, 188, 94), +(38, 189, 75), +(38, 190, 80), +(38, 191, 99), +(38, 192, 84), +(38, 193, 74), +(38, 194, 98), +(38, 195, 89), +(38, 196, 74), +(38, 197, 76), +(38, 198, 70), +(38, 199, 70), +(38, 200, 98), +(38, 201, 92), +(38, 202, 82), +(38, 203, 98), +(38, 204, 99), +(38, 205, 79), +(38, 206, 67), +(38, 207, 74), +(38, 208, 73), +(38, 209, 70), +(38, 210, 80), +(38, 211, 68), +(38, 212, 73), +(38, 213, 78), +(38, 214, 97), +(38, 215, 80), +(38, 216, 95), +(38, 217, 72), +(38, 218, 68), +(38, 219, 99), +(38, 220, 99), +(38, 221, 96), +(38, 222, 80), +(38, 223, 82), +(38, 224, 94), +(38, 225, 76), +(38, 226, 98), +(38, 227, 78), +(38, 228, 89), +(38, 229, 65), +(38, 230, 90), +(38, 231, 71), +(38, 232, 80), +(38, 233, 87), +(38, 234, 91), +(38, 235, 80), +(38, 236, 82), +(38, 237, 86), +(38, 238, 87), +(38, 239, 79), +(38, 240, 89), +(38, 241, 80), +(38, 242, 78), +(38, 243, 89), +(38, 244, 74), +(38, 245, 99), +(38, 246, 90), +(38, 247, 78), +(38, 248, 72), +(38, 249, 93), +(38, 250, 68), +(38, 251, 84), +(38, 252, 80), +(38, 253, 93), +(38, 254, 81), +(38, 255, 88), +(38, 256, 91), +(38, 257, 68), +(38, 258, 78), +(38, 259, 79), +(38, 260, 81), +(38, 261, 81), +(38, 262, 78), +(38, 263, 79), +(38, 264, 70), +(38, 265, 65), +(38, 266, 88), +(38, 267, 68), +(38, 268, 92), +(38, 269, 99), +(38, 270, 89), +(38, 271, 72), +(38, 272, 76), +(38, 273, 78), +(38, 274, 80), +(38, 275, 76), +(38, 276, 67), +(38, 277, 91), +(38, 278, 73), +(38, 279, 71), +(38, 280, 86), +(38, 281, 71), +(38, 282, 93), +(39, 1, 75), +(39, 2, 87), +(39, 3, 78), +(39, 4, 79), +(39, 5, 82), +(39, 6, 83), +(39, 7, 78), +(39, 8, 69), +(39, 9, 92), +(39, 10, 72), +(39, 11, 94), +(39, 12, 92), +(39, 13, 66), +(39, 14, 98), +(39, 15, 87), +(39, 16, 86), +(39, 17, 96), +(39, 18, 85), +(39, 19, 96), +(39, 20, 98), +(39, 21, 92), +(39, 22, 98), +(39, 23, 81), +(39, 24, 76), +(39, 25, 71), +(39, 26, 88), +(39, 27, 89), +(39, 28, 71), +(39, 29, 99), +(39, 30, 65), +(39, 31, 65), +(39, 32, 92), +(39, 33, 74), +(39, 34, 86), +(39, 35, 93), +(39, 36, 98), +(39, 37, 77), +(39, 38, 81), +(39, 39, 66), +(39, 40, 95), +(39, 41, 90), +(39, 42, 79), +(39, 43, 68), +(39, 44, 90), +(39, 45, 93), +(39, 46, 75), +(39, 47, 71), +(39, 48, 80), +(39, 49, 95), +(39, 50, 84), +(39, 51, 69), +(39, 52, 86), +(39, 53, 70), +(39, 54, 87), +(39, 55, 83), +(39, 56, 87), +(39, 57, 74), +(39, 58, 77), +(39, 59, 86), +(39, 60, 96), +(39, 61, 77), +(39, 62, 65), +(39, 63, 86), +(39, 64, 89), +(39, 65, 68), +(39, 66, 98), +(39, 67, 94), +(39, 68, 66), +(39, 69, 71), +(39, 70, 85), +(39, 71, 76), +(39, 72, 94), +(39, 73, 94), +(39, 74, 75), +(39, 75, 82), +(39, 76, 82), +(39, 77, 86), +(39, 78, 70), +(39, 79, 70), +(39, 80, 71), +(39, 81, 67), +(39, 82, 69), +(39, 83, 97), +(39, 84, 82), +(39, 85, 66), +(39, 86, 97), +(39, 87, 81), +(39, 88, 96), +(39, 89, 81), +(39, 90, 79), +(39, 91, 93), +(39, 92, 65), +(39, 93, 92), +(39, 94, 97), +(39, 95, 85), +(39, 96, 99), +(39, 97, 88), +(39, 98, 95), +(39, 99, 74), +(39, 100, 97), +(39, 101, 78), +(39, 102, 93), +(39, 103, 99), +(39, 104, 71), +(39, 105, 75), +(39, 106, 86), +(39, 107, 76), +(39, 108, 78), +(39, 109, 70), +(39, 110, 76), +(39, 111, 67), +(39, 112, 96), +(39, 113, 74), +(39, 114, 73), +(39, 115, 76), +(39, 116, 68), +(39, 117, 92), +(39, 118, 92), +(39, 119, 66), +(39, 120, 98), +(39, 121, 67), +(39, 122, 67), +(39, 123, 71), +(39, 124, 96), +(39, 125, 85), +(39, 126, 91), +(39, 127, 86), +(39, 128, 74), +(39, 129, 82), +(39, 130, 78), +(39, 131, 69), +(39, 132, 86), +(39, 133, 93), +(39, 134, 73), +(39, 135, 89), +(39, 136, 85), +(39, 137, 85), +(39, 138, 75), +(39, 139, 75), +(39, 140, 93), +(39, 141, 88), +(39, 142, 65), +(39, 143, 68), +(39, 144, 72), +(39, 145, 93), +(39, 146, 80), +(39, 147, 96), +(39, 148, 68), +(39, 149, 96), +(39, 150, 99), +(39, 151, 70), +(39, 152, 87), +(39, 153, 92), +(39, 154, 65), +(39, 155, 72), +(39, 156, 69), +(39, 157, 82), +(39, 158, 72), +(39, 159, 95), +(39, 160, 69), +(39, 161, 96), +(39, 162, 90), +(39, 163, 74), +(39, 164, 89), +(39, 165, 83), +(39, 166, 80), +(39, 167, 81), +(39, 168, 71), +(39, 169, 91), +(39, 170, 70), +(39, 171, 90), +(39, 172, 94), +(39, 173, 87), +(39, 174, 76), +(39, 175, 80), +(39, 176, 92), +(39, 177, 88), +(39, 178, 89), +(39, 179, 98), +(39, 180, 90), +(39, 181, 67), +(39, 182, 85), +(39, 183, 67), +(39, 184, 97), +(39, 185, 89), +(39, 186, 95), +(39, 187, 84), +(39, 188, 83), +(39, 189, 83), +(39, 190, 70), +(39, 191, 90), +(39, 192, 69), +(39, 193, 88), +(39, 194, 83), +(39, 195, 80), +(39, 196, 87), +(39, 197, 88), +(39, 198, 87), +(39, 199, 80), +(39, 200, 85), +(39, 201, 97), +(39, 202, 92), +(39, 203, 69), +(39, 204, 70), +(39, 205, 80), +(39, 206, 88), +(39, 207, 90), +(39, 208, 69), +(39, 209, 73), +(39, 210, 83), +(39, 211, 74), +(39, 212, 66), +(39, 213, 73), +(39, 214, 75), +(39, 215, 78), +(39, 216, 96), +(39, 217, 82), +(39, 218, 93), +(39, 219, 78), +(39, 220, 66), +(39, 221, 92), +(39, 222, 81), +(39, 223, 87), +(39, 224, 82), +(39, 225, 66), +(39, 226, 94), +(39, 227, 68), +(39, 228, 82), +(39, 229, 87), +(39, 230, 67), +(39, 231, 96), +(39, 232, 75), +(39, 233, 67), +(39, 234, 73), +(39, 235, 90), +(39, 236, 72), +(39, 237, 94), +(39, 238, 95), +(39, 239, 88), +(39, 240, 81), +(39, 241, 69), +(39, 242, 90), +(39, 243, 98), +(39, 244, 77), +(39, 245, 68), +(39, 246, 68), +(39, 247, 84), +(39, 248, 85), +(39, 249, 75), +(39, 250, 87), +(39, 251, 93), +(39, 252, 66), +(39, 253, 94), +(39, 254, 76), +(39, 255, 78), +(39, 256, 74), +(39, 257, 66), +(39, 258, 92), +(39, 259, 95), +(39, 260, 72), +(39, 261, 79), +(39, 262, 77), +(39, 263, 83), +(39, 264, 71), +(39, 265, 75), +(39, 266, 98), +(39, 267, 72), +(39, 268, 73), +(39, 269, 99), +(39, 270, 68), +(39, 271, 69), +(39, 272, 88), +(39, 273, 88), +(39, 274, 78), +(39, 275, 76), +(39, 276, 96), +(39, 277, 66), +(39, 278, 91), +(39, 279, 78), +(39, 280, 92), +(39, 281, 83), +(39, 282, 94), +(40, 1, 89), +(40, 2, 88), +(40, 3, 83), +(40, 4, 76), +(40, 5, 68), +(40, 6, 82), +(40, 7, 70), +(40, 8, 83), +(40, 9, 99), +(40, 10, 93), +(40, 11, 85), +(40, 12, 66), +(40, 13, 99), +(40, 14, 76), +(40, 15, 84), +(40, 16, 76), +(40, 17, 66), +(40, 18, 75), +(40, 19, 71), +(40, 20, 99), +(40, 21, 81), +(40, 22, 98), +(40, 23, 83), +(40, 24, 66), +(40, 25, 96), +(40, 26, 90), +(40, 27, 85), +(40, 28, 73), +(40, 29, 84), +(40, 30, 76), +(40, 31, 86), +(40, 32, 70), +(40, 33, 98), +(40, 34, 84), +(40, 35, 78), +(40, 36, 67), +(40, 37, 84), +(40, 38, 96), +(40, 39, 75), +(40, 40, 73), +(40, 41, 76), +(40, 42, 86), +(40, 43, 65), +(40, 44, 86), +(40, 45, 72), +(40, 46, 80), +(40, 47, 69), +(40, 48, 71), +(40, 49, 73), +(40, 50, 93), +(40, 51, 84), +(40, 52, 65), +(40, 53, 99), +(40, 54, 96), +(40, 55, 67), +(40, 56, 98), +(40, 57, 97), +(40, 58, 86), +(40, 59, 97), +(40, 60, 67), +(40, 61, 97), +(40, 62, 79), +(40, 63, 66), +(40, 64, 75), +(40, 65, 92), +(40, 66, 74), +(40, 67, 72), +(40, 68, 96), +(40, 69, 99), +(40, 70, 91), +(40, 71, 68), +(40, 72, 69), +(40, 73, 68), +(40, 74, 78), +(40, 75, 94), +(40, 76, 66), +(40, 77, 70), +(40, 78, 84), +(40, 79, 68), +(40, 80, 78), +(40, 81, 72), +(40, 82, 85), +(40, 83, 85), +(40, 84, 67), +(40, 85, 88), +(40, 86, 80), +(40, 87, 88), +(40, 88, 85), +(40, 89, 72), +(40, 90, 77), +(40, 91, 73), +(40, 92, 96), +(40, 93, 68), +(40, 94, 84), +(40, 95, 86), +(40, 96, 96), +(40, 97, 96), +(40, 98, 90), +(40, 99, 94), +(40, 100, 99), +(40, 101, 96), +(40, 102, 98), +(40, 103, 99), +(40, 104, 73), +(40, 105, 66), +(40, 106, 91), +(40, 107, 75), +(40, 108, 99), +(40, 109, 99), +(40, 110, 66), +(40, 111, 97), +(40, 112, 97), +(40, 113, 74), +(40, 114, 97), +(40, 115, 91), +(40, 116, 76), +(40, 117, 75), +(40, 118, 71), +(40, 119, 75), +(40, 120, 91), +(40, 121, 92), +(40, 122, 97), +(40, 123, 95), +(40, 124, 83), +(40, 125, 90), +(40, 126, 92), +(40, 127, 73), +(40, 128, 72), +(40, 129, 78), +(40, 130, 79), +(40, 131, 74), +(40, 132, 78), +(40, 133, 80), +(40, 134, 74), +(40, 135, 96), +(40, 136, 92), +(40, 137, 74), +(40, 138, 68), +(40, 139, 68), +(40, 140, 83), +(40, 141, 65), +(40, 142, 91), +(40, 143, 67), +(40, 144, 99), +(40, 145, 76), +(40, 146, 81), +(40, 147, 93), +(40, 148, 77), +(40, 149, 65), +(40, 150, 88), +(40, 151, 76), +(40, 152, 67), +(40, 153, 81), +(40, 154, 75), +(40, 155, 78), +(40, 156, 92), +(40, 157, 86), +(40, 158, 94), +(40, 159, 90), +(40, 160, 88), +(40, 161, 71), +(40, 162, 72), +(40, 163, 94), +(40, 164, 95), +(40, 165, 94), +(40, 166, 86), +(40, 167, 93), +(40, 168, 68), +(40, 169, 77), +(40, 170, 89), +(40, 171, 86), +(40, 172, 86), +(40, 173, 71), +(40, 174, 85), +(40, 175, 65), +(40, 176, 68), +(40, 177, 89), +(40, 178, 78), +(40, 179, 88), +(40, 180, 76), +(40, 181, 78), +(40, 182, 90), +(40, 183, 89), +(40, 184, 93), +(40, 185, 84), +(40, 186, 66), +(40, 187, 79), +(40, 188, 68), +(40, 189, 88), +(40, 190, 84), +(40, 191, 90), +(40, 192, 95), +(40, 193, 82), +(40, 194, 90), +(40, 195, 71), +(40, 196, 81), +(40, 197, 76), +(40, 198, 92), +(40, 199, 89), +(40, 200, 99), +(40, 201, 72), +(40, 202, 79), +(40, 203, 92), +(40, 204, 94), +(40, 205, 99), +(40, 206, 72), +(40, 207, 92), +(40, 208, 98), +(40, 209, 92), +(40, 210, 75), +(40, 211, 65), +(40, 212, 84), +(40, 213, 98), +(40, 214, 90), +(40, 215, 86), +(40, 216, 95), +(40, 217, 98), +(40, 218, 92), +(40, 219, 95), +(40, 220, 74), +(40, 221, 70), +(40, 222, 68), +(40, 223, 88), +(40, 224, 98), +(40, 225, 71), +(40, 226, 77), +(40, 227, 75), +(40, 228, 79), +(40, 229, 73), +(40, 230, 72), +(40, 231, 95), +(40, 232, 72), +(40, 233, 79), +(40, 234, 98), +(40, 235, 75), +(40, 236, 84), +(40, 237, 78), +(40, 238, 81), +(40, 239, 68), +(40, 240, 72), +(40, 241, 74), +(40, 242, 82), +(40, 243, 92), +(40, 244, 97), +(40, 245, 83), +(40, 246, 78), +(40, 247, 89), +(40, 248, 74), +(40, 249, 67), +(40, 250, 98), +(40, 251, 81), +(40, 252, 96), +(40, 253, 90), +(40, 254, 73), +(40, 255, 97), +(40, 256, 68), +(40, 257, 95), +(40, 258, 92), +(40, 259, 67), +(40, 260, 88), +(40, 261, 87), +(40, 262, 86), +(40, 263, 81), +(40, 264, 81), +(40, 265, 78), +(40, 266, 93), +(40, 267, 92), +(40, 268, 97), +(40, 269, 66), +(40, 270, 79), +(40, 271, 99), +(40, 272, 79), +(40, 273, 70), +(40, 274, 84), +(40, 275, 90), +(40, 276, 72), +(40, 277, 99), +(40, 278, 68), +(40, 279, 80), +(40, 280, 67), +(40, 281, 67), +(40, 282, 92), +(41, 1, 83), +(41, 2, 78), +(41, 3, 81), +(41, 4, 79), +(41, 5, 98), +(41, 6, 97), +(41, 7, 87), +(41, 8, 72), +(41, 9, 85), +(41, 10, 80), +(41, 11, 81), +(41, 12, 96), +(41, 13, 95), +(41, 14, 93), +(41, 15, 91), +(41, 16, 89), +(41, 17, 82), +(41, 18, 93), +(41, 19, 74), +(41, 20, 66), +(41, 21, 97), +(41, 22, 98), +(41, 23, 75), +(41, 24, 70), +(41, 25, 98), +(41, 26, 85), +(41, 27, 90), +(41, 28, 88), +(41, 29, 90), +(41, 30, 85), +(41, 31, 99), +(41, 32, 78), +(41, 33, 97), +(41, 34, 98), +(41, 35, 83), +(41, 36, 82), +(41, 37, 92), +(41, 38, 70), +(41, 39, 79), +(41, 40, 87), +(41, 41, 81), +(41, 42, 93), +(41, 43, 92), +(41, 44, 95), +(41, 45, 88), +(41, 46, 73), +(41, 47, 65), +(41, 48, 85), +(41, 49, 83), +(41, 50, 79), +(41, 51, 78), +(41, 52, 71), +(41, 53, 84), +(41, 54, 82), +(41, 55, 90), +(41, 56, 95), +(41, 57, 95), +(41, 58, 65), +(41, 59, 89), +(41, 60, 87), +(41, 61, 85), +(41, 62, 69), +(41, 63, 78), +(41, 64, 80), +(41, 65, 87), +(41, 66, 80), +(41, 67, 82), +(41, 68, 75), +(41, 69, 79), +(41, 70, 66), +(41, 71, 80), +(41, 72, 69), +(41, 73, 65), +(41, 74, 67), +(41, 75, 92), +(41, 76, 88), +(41, 77, 97), +(41, 78, 75), +(41, 79, 99), +(41, 80, 80), +(41, 81, 96), +(41, 82, 81), +(41, 83, 70), +(41, 84, 93), +(41, 85, 75), +(41, 86, 77), +(41, 87, 65), +(41, 88, 75), +(41, 89, 84), +(41, 90, 83), +(41, 91, 89), +(41, 92, 84), +(41, 93, 67), +(41, 94, 99), +(41, 95, 75), +(41, 96, 84), +(41, 97, 80), +(41, 98, 99), +(41, 99, 78), +(41, 100, 68), +(41, 101, 76), +(41, 102, 79), +(41, 103, 98), +(41, 104, 88), +(41, 105, 77), +(41, 106, 65), +(41, 107, 83), +(41, 108, 90), +(41, 109, 81), +(41, 110, 70), +(41, 111, 83), +(41, 112, 95), +(41, 113, 86), +(41, 114, 99), +(41, 115, 95), +(41, 116, 76), +(41, 117, 67), +(41, 118, 83), +(41, 119, 76), +(41, 120, 98), +(41, 121, 88), +(41, 122, 79), +(41, 123, 92), +(41, 124, 98), +(41, 125, 97), +(41, 126, 87), +(41, 127, 77), +(41, 128, 73), +(41, 129, 80), +(41, 130, 96), +(41, 131, 65), +(41, 132, 66), +(41, 133, 92), +(41, 134, 88), +(41, 135, 77), +(41, 136, 70), +(41, 137, 87), +(41, 138, 87), +(41, 139, 85), +(41, 140, 71), +(41, 141, 69), +(41, 142, 89), +(41, 143, 99), +(41, 144, 76), +(41, 145, 72), +(41, 146, 66), +(41, 147, 78), +(41, 148, 80), +(41, 149, 76), +(41, 150, 76), +(41, 151, 69), +(41, 152, 77), +(41, 153, 99), +(41, 154, 82), +(41, 155, 74), +(41, 156, 82), +(41, 157, 84), +(41, 158, 84), +(41, 159, 67), +(41, 160, 65), +(41, 161, 71), +(41, 162, 94), +(41, 163, 81), +(41, 164, 72), +(41, 165, 84), +(41, 166, 90), +(41, 167, 89), +(41, 168, 98), +(41, 169, 83), +(41, 170, 69), +(41, 171, 97), +(41, 172, 82), +(41, 173, 68), +(41, 174, 98), +(41, 175, 87), +(41, 176, 69), +(41, 177, 83), +(41, 178, 96), +(41, 179, 84), +(41, 180, 80), +(41, 181, 88), +(41, 182, 95), +(41, 183, 77), +(41, 184, 78), +(41, 185, 88), +(41, 186, 85), +(41, 187, 79), +(41, 188, 96), +(41, 189, 91), +(41, 190, 73), +(41, 191, 79), +(41, 192, 99), +(41, 193, 84), +(41, 194, 68), +(41, 195, 82), +(41, 196, 76), +(41, 197, 85), +(41, 198, 99), +(41, 199, 73), +(41, 200, 71), +(41, 201, 77), +(41, 202, 90), +(41, 203, 82), +(41, 204, 89), +(41, 205, 87), +(41, 206, 99), +(41, 207, 90), +(41, 208, 77), +(41, 209, 69), +(41, 210, 95), +(41, 211, 75), +(41, 212, 85), +(41, 213, 70), +(41, 214, 88), +(41, 215, 98), +(41, 216, 85), +(41, 217, 74), +(41, 218, 82), +(41, 219, 74), +(41, 220, 74), +(41, 221, 80), +(41, 222, 66), +(41, 223, 81), +(41, 224, 75), +(41, 225, 94), +(41, 226, 71), +(41, 227, 73), +(41, 228, 83), +(41, 229, 71), +(41, 230, 92), +(41, 231, 87), +(41, 232, 69), +(41, 233, 96), +(41, 234, 67), +(41, 235, 75), +(41, 236, 71), +(41, 237, 80), +(41, 238, 89), +(41, 239, 79), +(41, 240, 90), +(41, 241, 65), +(41, 242, 76), +(41, 243, 99), +(41, 244, 85), +(41, 245, 75), +(41, 246, 86), +(41, 247, 90), +(41, 248, 86), +(41, 249, 80), +(41, 250, 93), +(41, 251, 96), +(41, 252, 77), +(41, 253, 70), +(41, 254, 72), +(41, 255, 82), +(41, 256, 90), +(41, 257, 74), +(41, 258, 83), +(41, 259, 89), +(41, 260, 86), +(41, 261, 97), +(41, 262, 99), +(41, 263, 89), +(41, 264, 93), +(41, 265, 66), +(41, 266, 72), +(41, 267, 74), +(41, 268, 93), +(41, 269, 75), +(41, 270, 91), +(41, 271, 82), +(41, 272, 65), +(41, 273, 91), +(41, 274, 88), +(41, 275, 88), +(41, 276, 79), +(41, 277, 89), +(41, 278, 71), +(41, 279, 99), +(41, 280, 99), +(41, 281, 94), +(41, 282, 81), +(42, 1, 84), +(42, 2, 97), +(42, 3, 89), +(42, 4, 68), +(42, 5, 81), +(42, 6, 70), +(42, 7, 91), +(42, 8, 83), +(42, 9, 99), +(42, 10, 92), +(42, 11, 83), +(42, 12, 76), +(42, 13, 75), +(42, 14, 69), +(42, 15, 72), +(42, 16, 84), +(42, 17, 76), +(42, 18, 68), +(42, 19, 91), +(42, 20, 74), +(42, 21, 73), +(42, 22, 95), +(42, 23, 96), +(42, 24, 91), +(42, 25, 69), +(42, 26, 90), +(42, 27, 98), +(42, 28, 86), +(42, 29, 67), +(42, 30, 99), +(42, 31, 70), +(42, 32, 83), +(42, 33, 94), +(42, 34, 69), +(42, 35, 79), +(42, 36, 76), +(42, 37, 74), +(42, 38, 65), +(42, 39, 69), +(42, 40, 83), +(42, 41, 75), +(42, 42, 75), +(42, 43, 95), +(42, 44, 82), +(42, 45, 87), +(42, 46, 98), +(42, 47, 90), +(42, 48, 79), +(42, 49, 96), +(42, 50, 88), +(42, 51, 73), +(42, 52, 98), +(42, 53, 90), +(42, 54, 92), +(42, 55, 81), +(42, 56, 82), +(42, 57, 82), +(42, 58, 72), +(42, 59, 92), +(42, 60, 67), +(42, 61, 70), +(42, 62, 78), +(42, 63, 93), +(42, 64, 77), +(42, 65, 93), +(42, 66, 81), +(42, 67, 96), +(42, 68, 93), +(42, 69, 66), +(42, 70, 99), +(42, 71, 98), +(42, 72, 74), +(42, 73, 92), +(42, 74, 72), +(42, 75, 78), +(42, 76, 74), +(42, 77, 70), +(42, 78, 93), +(42, 79, 90), +(42, 80, 67), +(42, 81, 94), +(42, 82, 85), +(42, 83, 68), +(42, 84, 97), +(42, 85, 83), +(42, 86, 82), +(42, 87, 99), +(42, 88, 88), +(42, 89, 72), +(42, 90, 84), +(42, 91, 94), +(42, 92, 65), +(42, 93, 68), +(42, 94, 73), +(42, 95, 88), +(42, 96, 68), +(42, 97, 85), +(42, 98, 89), +(42, 99, 78), +(42, 100, 85), +(42, 101, 98), +(42, 102, 70), +(42, 103, 92), +(42, 104, 85), +(42, 105, 85), +(42, 106, 90), +(42, 107, 89), +(42, 108, 88), +(42, 109, 76), +(42, 110, 87), +(42, 111, 92), +(42, 112, 84), +(42, 113, 73), +(42, 114, 67), +(42, 115, 66), +(42, 116, 86), +(42, 117, 83), +(42, 118, 68), +(42, 119, 90), +(42, 120, 81), +(42, 121, 65), +(42, 122, 77), +(42, 123, 74), +(42, 124, 71), +(42, 125, 81), +(42, 126, 94), +(42, 127, 68), +(42, 128, 84), +(42, 129, 68), +(42, 130, 74), +(42, 131, 72), +(42, 132, 69), +(42, 133, 87), +(42, 134, 85), +(42, 135, 66), +(42, 136, 80), +(42, 137, 79), +(42, 138, 95), +(42, 139, 89), +(42, 140, 75), +(42, 141, 83), +(42, 142, 71), +(42, 143, 90), +(42, 144, 89), +(42, 145, 67), +(42, 146, 91), +(42, 147, 79), +(42, 148, 69), +(42, 149, 86), +(42, 150, 89), +(42, 151, 89), +(42, 152, 85), +(42, 153, 84), +(42, 154, 84), +(42, 155, 72), +(42, 156, 73), +(42, 157, 97), +(42, 158, 76), +(42, 159, 70), +(42, 160, 99), +(42, 161, 75), +(42, 162, 83), +(42, 163, 91), +(42, 164, 79), +(42, 165, 75), +(42, 166, 91), +(42, 167, 65), +(42, 168, 80), +(42, 169, 82), +(42, 170, 82), +(42, 171, 91), +(42, 172, 89), +(42, 173, 97), +(42, 174, 66), +(42, 175, 73), +(42, 176, 76), +(42, 177, 84), +(42, 178, 76), +(42, 179, 91), +(42, 180, 71), +(42, 181, 70), +(42, 182, 72), +(42, 183, 89), +(42, 184, 78), +(42, 185, 90), +(42, 186, 91), +(42, 187, 94), +(42, 188, 72), +(42, 189, 92), +(42, 190, 85), +(42, 191, 96), +(42, 192, 76), +(42, 193, 75), +(42, 194, 74), +(42, 195, 65), +(42, 196, 74), +(42, 197, 99), +(42, 198, 86), +(42, 199, 66), +(42, 200, 99), +(42, 201, 70), +(42, 202, 78), +(42, 203, 70), +(42, 204, 98), +(42, 205, 71), +(42, 206, 76), +(42, 207, 76), +(42, 208, 99), +(42, 209, 76), +(42, 210, 80), +(42, 211, 80), +(42, 212, 74), +(42, 213, 96), +(42, 214, 73), +(42, 215, 96), +(42, 216, 79), +(42, 217, 82), +(42, 218, 69), +(42, 219, 89), +(42, 220, 82), +(42, 221, 91), +(42, 222, 98), +(42, 223, 75), +(42, 224, 88), +(42, 225, 86), +(42, 226, 96), +(42, 227, 76), +(42, 228, 78), +(42, 229, 75), +(42, 230, 76), +(42, 231, 88), +(42, 232, 65), +(42, 233, 72), +(42, 234, 82), +(42, 235, 88), +(42, 236, 74), +(42, 237, 68), +(42, 238, 67), +(42, 239, 95), +(42, 240, 99), +(42, 241, 72), +(42, 242, 67), +(42, 243, 85), +(42, 244, 70), +(42, 245, 97), +(42, 246, 98), +(42, 247, 87), +(42, 248, 71), +(42, 249, 99), +(42, 250, 74), +(42, 251, 65), +(42, 252, 67), +(42, 253, 86), +(42, 254, 77), +(42, 255, 92), +(42, 256, 73), +(42, 257, 91), +(42, 258, 76), +(42, 259, 77), +(42, 260, 70), +(42, 261, 91), +(42, 262, 68), +(42, 263, 70), +(42, 264, 88), +(42, 265, 69), +(42, 266, 86), +(42, 267, 66), +(42, 268, 76), +(42, 269, 76), +(42, 270, 85), +(42, 271, 84), +(42, 272, 94), +(42, 273, 75), +(42, 274, 87), +(42, 275, 70), +(42, 276, 80), +(42, 277, 87), +(42, 278, 86), +(42, 279, 86), +(42, 280, 91), +(42, 281, 96), +(42, 282, 96), +(43, 1, 71), +(43, 2, 81), +(43, 3, 71), +(43, 4, 71), +(43, 5, 84), +(43, 6, 97), +(43, 7, 93), +(43, 8, 65), +(43, 9, 68), +(43, 10, 84), +(43, 11, 74), +(43, 12, 99), +(43, 13, 99), +(43, 14, 69), +(43, 15, 89), +(43, 16, 88), +(43, 17, 69), +(43, 18, 67), +(43, 19, 98), +(43, 20, 73), +(43, 21, 81), +(43, 22, 84), +(43, 23, 84), +(43, 24, 76), +(43, 25, 93), +(43, 26, 96), +(43, 27, 87), +(43, 28, 68), +(43, 29, 69), +(43, 30, 69), +(43, 31, 92), +(43, 32, 79), +(43, 33, 76), +(43, 34, 90), +(43, 35, 81), +(43, 36, 69), +(43, 37, 96), +(43, 38, 84), +(43, 39, 78), +(43, 40, 87), +(43, 41, 69), +(43, 42, 99), +(43, 43, 66), +(43, 44, 95), +(43, 45, 73), +(43, 46, 99), +(43, 47, 85), +(43, 48, 75), +(43, 49, 98), +(43, 50, 67), +(43, 51, 67), +(43, 52, 70), +(43, 53, 66), +(43, 54, 80), +(43, 55, 72), +(43, 56, 94), +(43, 57, 95), +(43, 58, 66), +(43, 59, 93), +(43, 60, 80), +(43, 61, 65), +(43, 62, 82), +(43, 63, 97), +(43, 64, 77), +(43, 65, 70), +(43, 66, 66), +(43, 67, 66), +(43, 68, 71), +(43, 69, 65), +(43, 70, 89), +(43, 71, 79), +(43, 72, 65), +(43, 73, 95), +(43, 74, 94), +(43, 75, 86), +(43, 76, 74), +(43, 77, 65), +(43, 78, 72), +(43, 79, 86), +(43, 80, 99), +(43, 81, 80), +(43, 82, 82), +(43, 83, 98), +(43, 84, 70), +(43, 85, 87), +(43, 86, 80), +(43, 87, 97), +(43, 88, 80), +(43, 89, 80), +(43, 90, 72), +(43, 91, 66), +(43, 92, 78), +(43, 93, 74), +(43, 94, 74), +(43, 95, 82), +(43, 96, 91), +(43, 97, 83), +(43, 98, 82), +(43, 99, 93), +(43, 100, 84), +(43, 101, 91), +(43, 102, 86), +(43, 103, 66), +(43, 104, 98), +(43, 105, 96), +(43, 106, 86), +(43, 107, 65), +(43, 108, 71), +(43, 109, 71), +(43, 110, 93), +(43, 111, 77), +(43, 112, 71), +(43, 113, 76), +(43, 114, 79), +(43, 115, 87), +(43, 116, 69), +(43, 117, 77), +(43, 118, 96), +(43, 119, 90), +(43, 120, 80), +(43, 121, 67), +(43, 122, 83), +(43, 123, 66), +(43, 124, 68), +(43, 125, 85), +(43, 126, 76), +(43, 127, 80), +(43, 128, 67), +(43, 129, 70), +(43, 130, 88), +(43, 131, 66), +(43, 132, 80), +(43, 133, 95), +(43, 134, 96), +(43, 135, 72), +(43, 136, 90), +(43, 137, 68), +(43, 138, 82), +(43, 139, 90), +(43, 140, 98), +(43, 141, 75), +(43, 142, 97), +(43, 143, 88), +(43, 144, 82), +(43, 145, 88), +(43, 146, 90), +(43, 147, 97), +(43, 148, 74), +(43, 149, 69), +(43, 150, 82), +(43, 151, 70), +(43, 152, 94), +(43, 153, 95), +(43, 154, 75), +(43, 155, 74), +(43, 156, 88), +(43, 157, 97), +(43, 158, 96), +(43, 159, 84), +(43, 160, 98), +(43, 161, 66), +(43, 162, 71), +(43, 163, 77), +(43, 164, 82), +(43, 165, 94), +(43, 166, 89), +(43, 167, 66), +(43, 168, 76), +(43, 169, 96), +(43, 170, 69), +(43, 171, 66), +(43, 172, 97), +(43, 173, 75), +(43, 174, 75), +(43, 175, 72), +(43, 176, 75), +(43, 177, 69), +(43, 178, 98), +(43, 179, 68), +(43, 180, 88), +(43, 181, 93), +(43, 182, 78), +(43, 183, 79), +(43, 184, 93), +(43, 185, 87), +(43, 186, 68), +(43, 187, 98), +(43, 188, 78), +(43, 189, 87), +(43, 190, 70), +(43, 191, 73), +(43, 192, 89), +(43, 193, 92), +(43, 194, 69), +(43, 195, 85), +(43, 196, 76), +(43, 197, 69), +(43, 198, 69), +(43, 199, 85), +(43, 200, 76), +(43, 201, 89), +(43, 202, 91), +(43, 203, 75), +(43, 204, 89), +(43, 205, 99), +(43, 206, 87), +(43, 207, 78), +(43, 208, 91), +(43, 209, 71), +(43, 210, 86), +(43, 211, 77), +(43, 212, 84), +(43, 213, 99), +(43, 214, 71), +(43, 215, 88), +(43, 216, 73), +(43, 217, 86), +(43, 218, 72), +(43, 219, 87), +(43, 220, 88), +(43, 221, 82), +(43, 222, 88), +(43, 223, 66), +(43, 224, 81), +(43, 225, 85), +(43, 226, 95), +(43, 227, 96), +(43, 228, 79), +(43, 229, 95), +(43, 230, 72), +(43, 231, 79); +INSERT INTO `nilai_cpmk` (`id_mhs`, `id_cpmk`, `nilai`) VALUES +(43, 232, 89), +(43, 233, 79), +(43, 234, 74), +(43, 235, 78), +(43, 236, 90), +(43, 237, 69), +(43, 238, 74), +(43, 239, 66), +(43, 240, 91), +(43, 241, 67), +(43, 242, 78), +(43, 243, 99), +(43, 244, 99), +(43, 245, 93), +(43, 246, 95), +(43, 247, 98), +(43, 248, 71), +(43, 249, 87), +(43, 250, 93), +(43, 251, 81), +(43, 252, 75), +(43, 253, 86), +(43, 254, 69), +(43, 255, 76), +(43, 256, 69), +(43, 257, 97), +(43, 258, 65), +(43, 259, 87), +(43, 260, 96), +(43, 261, 65), +(43, 262, 85), +(43, 263, 86), +(43, 264, 94), +(43, 265, 82), +(43, 266, 81), +(43, 267, 77), +(43, 268, 70), +(43, 269, 89), +(43, 270, 86), +(43, 271, 76), +(43, 272, 69), +(43, 273, 72), +(43, 274, 71), +(43, 275, 93), +(43, 276, 99), +(43, 277, 66), +(43, 278, 84), +(43, 279, 69), +(43, 280, 91), +(43, 281, 99), +(43, 282, 71), +(44, 1, 73), +(44, 2, 87), +(44, 3, 92), +(44, 4, 89), +(44, 5, 77), +(44, 6, 73), +(44, 7, 94), +(44, 8, 82), +(44, 9, 86), +(44, 10, 82), +(44, 11, 93), +(44, 12, 96), +(44, 13, 98), +(44, 14, 73), +(44, 15, 98), +(44, 16, 89), +(44, 17, 89), +(44, 18, 68), +(44, 19, 85), +(44, 20, 79), +(44, 21, 85), +(44, 22, 67), +(44, 23, 70), +(44, 24, 75), +(44, 25, 86), +(44, 26, 75), +(44, 27, 74), +(44, 28, 87), +(44, 29, 78), +(44, 30, 90), +(44, 31, 81), +(44, 32, 81), +(44, 33, 72), +(44, 34, 72), +(44, 35, 70), +(44, 36, 88), +(44, 37, 91), +(44, 38, 94), +(44, 39, 83), +(44, 40, 86), +(44, 41, 89), +(44, 42, 66), +(44, 43, 85), +(44, 44, 94), +(44, 45, 76), +(44, 46, 67), +(44, 47, 89), +(44, 48, 74), +(44, 49, 68), +(44, 50, 78), +(44, 51, 87), +(44, 52, 97), +(44, 53, 99), +(44, 54, 96), +(44, 55, 85), +(44, 56, 90), +(44, 57, 96), +(44, 58, 83), +(44, 59, 91), +(44, 60, 65), +(44, 61, 86), +(44, 62, 76), +(44, 63, 72), +(44, 64, 89), +(44, 65, 76), +(44, 66, 92), +(44, 67, 82), +(44, 68, 81), +(44, 69, 99), +(44, 70, 84), +(44, 71, 74), +(44, 72, 72), +(44, 73, 99), +(44, 74, 86), +(44, 75, 94), +(44, 76, 84), +(44, 77, 84), +(44, 78, 86), +(44, 79, 97), +(44, 80, 89), +(44, 81, 92), +(44, 82, 93), +(44, 83, 81), +(44, 84, 99), +(44, 85, 86), +(44, 86, 89), +(44, 87, 88), +(44, 88, 71), +(44, 89, 82), +(44, 90, 76), +(44, 91, 89), +(44, 92, 98), +(44, 93, 67), +(44, 94, 87), +(44, 95, 78), +(44, 96, 85), +(44, 97, 95), +(44, 98, 82), +(44, 99, 95), +(44, 100, 69), +(44, 101, 97), +(44, 102, 84), +(44, 103, 97), +(44, 104, 67), +(44, 105, 89), +(44, 106, 98), +(44, 107, 96), +(44, 108, 95), +(44, 109, 66), +(44, 110, 70), +(44, 111, 80), +(44, 112, 72), +(44, 113, 95), +(44, 114, 96), +(44, 115, 68), +(44, 116, 93), +(44, 117, 74), +(44, 118, 73), +(44, 119, 78), +(44, 120, 93), +(44, 121, 74), +(44, 122, 84), +(44, 123, 80), +(44, 124, 98), +(44, 125, 80), +(44, 126, 70), +(44, 127, 95), +(44, 128, 87), +(44, 129, 81), +(44, 130, 82), +(44, 131, 82), +(44, 132, 93), +(44, 133, 80), +(44, 134, 89), +(44, 135, 95), +(44, 136, 75), +(44, 137, 74), +(44, 138, 94), +(44, 139, 82), +(44, 140, 97), +(44, 141, 97), +(44, 142, 65), +(44, 143, 70), +(44, 144, 76), +(44, 145, 71), +(44, 146, 75), +(44, 147, 81), +(44, 148, 66), +(44, 149, 92), +(44, 150, 78), +(44, 151, 86), +(44, 152, 81), +(44, 153, 86), +(44, 154, 93), +(44, 155, 90), +(44, 156, 88), +(44, 157, 96), +(44, 158, 85), +(44, 159, 74), +(44, 160, 91), +(44, 161, 73), +(44, 162, 76), +(44, 163, 82), +(44, 164, 74), +(44, 165, 77), +(44, 166, 71), +(44, 167, 68), +(44, 168, 74), +(44, 169, 99), +(44, 170, 70), +(44, 171, 96), +(44, 172, 84), +(44, 173, 91), +(44, 174, 77), +(44, 175, 79), +(44, 176, 84), +(44, 177, 99), +(44, 178, 92), +(44, 179, 74), +(44, 180, 91), +(44, 181, 87), +(44, 182, 76), +(44, 183, 65), +(44, 184, 98), +(44, 185, 65), +(44, 186, 72), +(44, 187, 74), +(44, 188, 74), +(44, 189, 94), +(44, 190, 67), +(44, 191, 83), +(44, 192, 82), +(44, 193, 66), +(44, 194, 91), +(44, 195, 93), +(44, 196, 93), +(44, 197, 90), +(44, 198, 91), +(44, 199, 90), +(44, 200, 88), +(44, 201, 99), +(44, 202, 86), +(44, 203, 98), +(44, 204, 86), +(44, 205, 78), +(44, 206, 72), +(44, 207, 66), +(44, 208, 96), +(44, 209, 65), +(44, 210, 90), +(44, 211, 78), +(44, 212, 99), +(44, 213, 72), +(44, 214, 70), +(44, 215, 85), +(44, 216, 98), +(44, 217, 84), +(44, 218, 85), +(44, 219, 69), +(44, 220, 96), +(44, 221, 72), +(44, 222, 81), +(44, 223, 79), +(44, 224, 74), +(44, 225, 66), +(44, 226, 89), +(44, 227, 82), +(44, 228, 96), +(44, 229, 80), +(44, 230, 69), +(44, 231, 99), +(44, 232, 82), +(44, 233, 79), +(44, 234, 95), +(44, 235, 96), +(44, 236, 95), +(44, 237, 77), +(44, 238, 68), +(44, 239, 87), +(44, 240, 94), +(44, 241, 89), +(44, 242, 88), +(44, 243, 72), +(44, 244, 83), +(44, 245, 71), +(44, 246, 83), +(44, 247, 97), +(44, 248, 76), +(44, 249, 73), +(44, 250, 75), +(44, 251, 72), +(44, 252, 76), +(44, 253, 72), +(44, 254, 87), +(44, 255, 75), +(44, 256, 97), +(44, 257, 77), +(44, 258, 67), +(44, 259, 69), +(44, 260, 66), +(44, 261, 94), +(44, 262, 86), +(44, 263, 87), +(44, 264, 71), +(44, 265, 67), +(44, 266, 80), +(44, 267, 89), +(44, 268, 95), +(44, 269, 83), +(44, 270, 74), +(44, 271, 96), +(44, 272, 71), +(44, 273, 73), +(44, 274, 99), +(44, 275, 83), +(44, 276, 86), +(44, 277, 74), +(44, 278, 99), +(44, 279, 92), +(44, 280, 84), +(44, 281, 74), +(44, 282, 72), +(45, 1, 87), +(45, 2, 91), +(45, 3, 79), +(45, 4, 98), +(45, 5, 67), +(45, 6, 81), +(45, 7, 91), +(45, 8, 78), +(45, 9, 89), +(45, 10, 93), +(45, 11, 73), +(45, 12, 84), +(45, 13, 94), +(45, 14, 94), +(45, 15, 87), +(45, 16, 83), +(45, 17, 70), +(45, 18, 75), +(45, 19, 99), +(45, 20, 76), +(45, 21, 83), +(45, 22, 90), +(45, 23, 66), +(45, 24, 83), +(45, 25, 86), +(45, 26, 91), +(45, 27, 80), +(45, 28, 96), +(45, 29, 86), +(45, 30, 73), +(45, 31, 99), +(45, 32, 71), +(45, 33, 67), +(45, 34, 95), +(45, 35, 75), +(45, 36, 98), +(45, 37, 66), +(45, 38, 84), +(45, 39, 80), +(45, 40, 71), +(45, 41, 68), +(45, 42, 73), +(45, 43, 95), +(45, 44, 88), +(45, 45, 94), +(45, 46, 78), +(45, 47, 91), +(45, 48, 79), +(45, 49, 87), +(45, 50, 89), +(45, 51, 99), +(45, 52, 69), +(45, 53, 94), +(45, 54, 70), +(45, 55, 77), +(45, 56, 71), +(45, 57, 94), +(45, 58, 85), +(45, 59, 75), +(45, 60, 89), +(45, 61, 65), +(45, 62, 69), +(45, 63, 75), +(45, 64, 80), +(45, 65, 72), +(45, 66, 93), +(45, 67, 76), +(45, 68, 91), +(45, 69, 93), +(45, 70, 90), +(45, 71, 68), +(45, 72, 99), +(45, 73, 76), +(45, 74, 83), +(45, 75, 80), +(45, 76, 65), +(45, 77, 93), +(45, 78, 80), +(45, 79, 94), +(45, 80, 84), +(45, 81, 83), +(45, 82, 85), +(45, 83, 82), +(45, 84, 81), +(45, 85, 72), +(45, 86, 69), +(45, 87, 86), +(45, 88, 89), +(45, 89, 70), +(45, 90, 67), +(45, 91, 78), +(45, 92, 86), +(45, 93, 85), +(45, 94, 79), +(45, 95, 80), +(45, 96, 85), +(45, 97, 93), +(45, 98, 98), +(45, 99, 95), +(45, 100, 97), +(45, 101, 77), +(45, 102, 99), +(45, 103, 81), +(45, 104, 78), +(45, 105, 92), +(45, 106, 95), +(45, 107, 80), +(45, 108, 94), +(45, 109, 88), +(45, 110, 73), +(45, 111, 71), +(45, 112, 86), +(45, 113, 79), +(45, 114, 71), +(45, 115, 84), +(45, 116, 86), +(45, 117, 72), +(45, 118, 82), +(45, 119, 92), +(45, 120, 90), +(45, 121, 70), +(45, 122, 73), +(45, 123, 66), +(45, 124, 80), +(45, 125, 80), +(45, 126, 91), +(45, 127, 67), +(45, 128, 65), +(45, 129, 94), +(45, 130, 84), +(45, 131, 80), +(45, 132, 91), +(45, 133, 85), +(45, 134, 94), +(45, 135, 91), +(45, 136, 77), +(45, 137, 68), +(45, 138, 88), +(45, 139, 77), +(45, 140, 89), +(45, 141, 92), +(45, 142, 76), +(45, 143, 90), +(45, 144, 73), +(45, 145, 94), +(45, 146, 77), +(45, 147, 82), +(45, 148, 78), +(45, 149, 81), +(45, 150, 79), +(45, 151, 86), +(45, 152, 92), +(45, 153, 80), +(45, 154, 71), +(45, 155, 93), +(45, 156, 77), +(45, 157, 91), +(45, 158, 69), +(45, 159, 89), +(45, 160, 98), +(45, 161, 70), +(45, 162, 68), +(45, 163, 82), +(45, 164, 92), +(45, 165, 71), +(45, 166, 92), +(45, 167, 81), +(45, 168, 81), +(45, 169, 72), +(45, 170, 77), +(45, 171, 79), +(45, 172, 65), +(45, 173, 93), +(45, 174, 94), +(45, 175, 77), +(45, 176, 93), +(45, 177, 86), +(45, 178, 67), +(45, 179, 98), +(45, 180, 91), +(45, 181, 90), +(45, 182, 83), +(45, 183, 90), +(45, 184, 76), +(45, 185, 68), +(45, 186, 93), +(45, 187, 81), +(45, 188, 70), +(45, 189, 75), +(45, 190, 97), +(45, 191, 97), +(45, 192, 79), +(45, 193, 95), +(45, 194, 79), +(45, 195, 75), +(45, 196, 69), +(45, 197, 71), +(45, 198, 80), +(45, 199, 96), +(45, 200, 80), +(45, 201, 95), +(45, 202, 92), +(45, 203, 98), +(45, 204, 99), +(45, 205, 65), +(45, 206, 71), +(45, 207, 99), +(45, 208, 73), +(45, 209, 80), +(45, 210, 93), +(45, 211, 97), +(45, 212, 75), +(45, 213, 70), +(45, 214, 73), +(45, 215, 98), +(45, 216, 68), +(45, 217, 65), +(45, 218, 77), +(45, 219, 90), +(45, 220, 82), +(45, 221, 85), +(45, 222, 75), +(45, 223, 96), +(45, 224, 98), +(45, 225, 81), +(45, 226, 96), +(45, 227, 92), +(45, 228, 75), +(45, 229, 85), +(45, 230, 65), +(45, 231, 91), +(45, 232, 79), +(45, 233, 94), +(45, 234, 84), +(45, 235, 77), +(45, 236, 72), +(45, 237, 77), +(45, 238, 90), +(45, 239, 68), +(45, 240, 95), +(45, 241, 73), +(45, 242, 73), +(45, 243, 66), +(45, 244, 86), +(45, 245, 82), +(45, 246, 98), +(45, 247, 92), +(45, 248, 68), +(45, 249, 73), +(45, 250, 68), +(45, 251, 91), +(45, 252, 90), +(45, 253, 74), +(45, 254, 90), +(45, 255, 85), +(45, 256, 73), +(45, 257, 67), +(45, 258, 76), +(45, 259, 90), +(45, 260, 84), +(45, 261, 69), +(45, 262, 74), +(45, 263, 75), +(45, 264, 81), +(45, 265, 93), +(45, 266, 93), +(45, 267, 77), +(45, 268, 94), +(45, 269, 83), +(45, 270, 86), +(45, 271, 82), +(45, 272, 83), +(45, 273, 85), +(45, 274, 79), +(45, 275, 74), +(45, 276, 68), +(45, 277, 75), +(45, 278, 70), +(45, 279, 85), +(45, 280, 81), +(45, 281, 77), +(45, 282, 80), +(46, 1, 82), +(46, 2, 95), +(46, 3, 90), +(46, 4, 87), +(46, 5, 75), +(46, 6, 83), +(46, 7, 74), +(46, 8, 82), +(46, 9, 90), +(46, 10, 82), +(46, 11, 90), +(46, 12, 68), +(46, 13, 75), +(46, 14, 84), +(46, 15, 75), +(46, 16, 82), +(46, 17, 86), +(46, 18, 71), +(46, 19, 72), +(46, 20, 77), +(46, 21, 97), +(46, 22, 78), +(46, 23, 93), +(46, 24, 92), +(46, 25, 75), +(46, 26, 97), +(46, 27, 78), +(46, 28, 85), +(46, 29, 98), +(46, 30, 67), +(46, 31, 85), +(46, 32, 83), +(46, 33, 88), +(46, 34, 92), +(46, 35, 68), +(46, 36, 90), +(46, 37, 97), +(46, 38, 70), +(46, 39, 90), +(46, 40, 67), +(46, 41, 81), +(46, 42, 67), +(46, 43, 82), +(46, 44, 93), +(46, 45, 72), +(46, 46, 92), +(46, 47, 90), +(46, 48, 74), +(46, 49, 95), +(46, 50, 76), +(46, 51, 65), +(46, 52, 96), +(46, 53, 74), +(46, 54, 68), +(46, 55, 99), +(46, 56, 88), +(46, 57, 84), +(46, 58, 77), +(46, 59, 72), +(46, 60, 82), +(46, 61, 71), +(46, 62, 90), +(46, 63, 93), +(46, 64, 67), +(46, 65, 68), +(46, 66, 91), +(46, 67, 70), +(46, 68, 80), +(46, 69, 70), +(46, 70, 99), +(46, 71, 88), +(46, 72, 75), +(46, 73, 89), +(46, 74, 94), +(46, 75, 85), +(46, 76, 76), +(46, 77, 78), +(46, 78, 77), +(46, 79, 78), +(46, 80, 87), +(46, 81, 75), +(46, 82, 80), +(46, 83, 68), +(46, 84, 80), +(46, 85, 74), +(46, 86, 85), +(46, 87, 66), +(46, 88, 94), +(46, 89, 76), +(46, 90, 76), +(46, 91, 93), +(46, 92, 70), +(46, 93, 89), +(46, 94, 68), +(46, 95, 69), +(46, 96, 71), +(46, 97, 82), +(46, 98, 76), +(46, 99, 92), +(46, 100, 74), +(46, 101, 67), +(46, 102, 73), +(46, 103, 84), +(46, 104, 93), +(46, 105, 96), +(46, 106, 81), +(46, 107, 82), +(46, 108, 86), +(46, 109, 70), +(46, 110, 94), +(46, 111, 86), +(46, 112, 77), +(46, 113, 82), +(46, 114, 74), +(46, 115, 83), +(46, 116, 89), +(46, 117, 73), +(46, 118, 91), +(46, 119, 92), +(46, 120, 70), +(46, 121, 98), +(46, 122, 84), +(46, 123, 97), +(46, 124, 78), +(46, 125, 97), +(46, 126, 73), +(46, 127, 89), +(46, 128, 68), +(46, 129, 92), +(46, 130, 74), +(46, 131, 89), +(46, 132, 78), +(46, 133, 84), +(46, 134, 68), +(46, 135, 69), +(46, 136, 95), +(46, 137, 86), +(46, 138, 93), +(46, 139, 72), +(46, 140, 91), +(46, 141, 67), +(46, 142, 86), +(46, 143, 73), +(46, 144, 72), +(46, 145, 90), +(46, 146, 95), +(46, 147, 69), +(46, 148, 93), +(46, 149, 68), +(46, 150, 95), +(46, 151, 72), +(46, 152, 84), +(46, 153, 77), +(46, 154, 82), +(46, 155, 96), +(46, 156, 89), +(46, 157, 68), +(46, 158, 99), +(46, 159, 90), +(46, 160, 82), +(46, 161, 66), +(46, 162, 80), +(46, 163, 65), +(46, 164, 72), +(46, 165, 97), +(46, 166, 79), +(46, 167, 98), +(46, 168, 80), +(46, 169, 68), +(46, 170, 78), +(46, 171, 77), +(46, 172, 77), +(46, 173, 94), +(46, 174, 73), +(46, 175, 86), +(46, 176, 80), +(46, 177, 65), +(46, 178, 97), +(46, 179, 67), +(46, 180, 84), +(46, 181, 89), +(46, 182, 86), +(46, 183, 89), +(46, 184, 90), +(46, 185, 81), +(46, 186, 79), +(46, 187, 83), +(46, 188, 65), +(46, 189, 98), +(46, 190, 78), +(46, 191, 68), +(46, 192, 84), +(46, 193, 73), +(46, 194, 95), +(46, 195, 68), +(46, 196, 71), +(46, 197, 92), +(46, 198, 99), +(46, 199, 76), +(46, 200, 71), +(46, 201, 77), +(46, 202, 67), +(46, 203, 97), +(46, 204, 67), +(46, 205, 97), +(46, 206, 73), +(46, 207, 94), +(46, 208, 84), +(46, 209, 71), +(46, 210, 97), +(46, 211, 81), +(46, 212, 83), +(46, 213, 69), +(46, 214, 90), +(46, 215, 66), +(46, 216, 88), +(46, 217, 78), +(46, 218, 65), +(46, 219, 73), +(46, 220, 90), +(46, 221, 74), +(46, 222, 70), +(46, 223, 75), +(46, 224, 99), +(46, 225, 70), +(46, 226, 77), +(46, 227, 80), +(46, 228, 91), +(46, 229, 85), +(46, 230, 87), +(46, 231, 94), +(46, 232, 83), +(46, 233, 99), +(46, 234, 68), +(46, 235, 68), +(46, 236, 79), +(46, 237, 88), +(46, 238, 77), +(46, 239, 83), +(46, 240, 93), +(46, 241, 71), +(46, 242, 69), +(46, 243, 87), +(46, 244, 83), +(46, 245, 99), +(46, 246, 73), +(46, 247, 68), +(46, 248, 83), +(46, 249, 84), +(46, 250, 84), +(46, 251, 67), +(46, 252, 86), +(46, 253, 87), +(46, 254, 92), +(46, 255, 98), +(46, 256, 80), +(46, 257, 75), +(46, 258, 80), +(46, 259, 74), +(46, 260, 86), +(46, 261, 67), +(46, 262, 84), +(46, 263, 88), +(46, 264, 91), +(46, 265, 97), +(46, 266, 93), +(46, 267, 89), +(46, 268, 84), +(46, 269, 67), +(46, 270, 70), +(46, 271, 92), +(46, 272, 66), +(46, 273, 70), +(46, 274, 69), +(46, 275, 90), +(46, 276, 89), +(46, 277, 85), +(46, 278, 96), +(46, 279, 82), +(46, 280, 89), +(46, 281, 98), +(46, 282, 86), +(47, 1, 84), +(47, 2, 66), +(47, 3, 77), +(47, 4, 76), +(47, 5, 73), +(47, 6, 75), +(47, 7, 68), +(47, 8, 77), +(47, 9, 83), +(47, 10, 68), +(47, 11, 96), +(47, 12, 91), +(47, 13, 65), +(47, 14, 71), +(47, 15, 84), +(47, 16, 97), +(47, 17, 86), +(47, 18, 98), +(47, 19, 67), +(47, 20, 91), +(47, 21, 67), +(47, 22, 92), +(47, 23, 97), +(47, 24, 74), +(47, 25, 88), +(47, 26, 77), +(47, 27, 87), +(47, 28, 74), +(47, 29, 94), +(47, 30, 86), +(47, 31, 95), +(47, 32, 67), +(47, 33, 70), +(47, 34, 77), +(47, 35, 86), +(47, 36, 93), +(47, 37, 85), +(47, 38, 71), +(47, 39, 75), +(47, 40, 93), +(47, 41, 65), +(47, 42, 88), +(47, 43, 95), +(47, 44, 68), +(47, 45, 83), +(47, 46, 91), +(47, 47, 79), +(47, 48, 68), +(47, 49, 79), +(47, 50, 82), +(47, 51, 67), +(47, 52, 69), +(47, 53, 95), +(47, 54, 65), +(47, 55, 93), +(47, 56, 95), +(47, 57, 72), +(47, 58, 98), +(47, 59, 71), +(47, 60, 78), +(47, 61, 97), +(47, 62, 73), +(47, 63, 69), +(47, 64, 67), +(47, 65, 94), +(47, 66, 75), +(47, 67, 91), +(47, 68, 95), +(47, 69, 77), +(47, 70, 88), +(47, 71, 67), +(47, 72, 86), +(47, 73, 82), +(47, 74, 83), +(47, 75, 89), +(47, 76, 87), +(47, 77, 81), +(47, 78, 82), +(47, 79, 78), +(47, 80, 85), +(47, 81, 96), +(47, 82, 79), +(47, 83, 65), +(47, 84, 93), +(47, 85, 87), +(47, 86, 83), +(47, 87, 76), +(47, 88, 70), +(47, 89, 70), +(47, 90, 79), +(47, 91, 98), +(47, 92, 98), +(47, 93, 90), +(47, 94, 73), +(47, 95, 73), +(47, 96, 72), +(47, 97, 99), +(47, 98, 90), +(47, 99, 77), +(47, 100, 86), +(47, 101, 72), +(47, 102, 72), +(47, 103, 80), +(47, 104, 95), +(47, 105, 67), +(47, 106, 91), +(47, 107, 73), +(47, 108, 81), +(47, 109, 92), +(47, 110, 81), +(47, 111, 82), +(47, 112, 65), +(47, 113, 71), +(47, 114, 93), +(47, 115, 96), +(47, 116, 85), +(47, 117, 87), +(47, 118, 74), +(47, 119, 85), +(47, 120, 87), +(47, 121, 75), +(47, 122, 66), +(47, 123, 82), +(47, 124, 84), +(47, 125, 76), +(47, 126, 66), +(47, 127, 76), +(47, 128, 81), +(47, 129, 78), +(47, 130, 86), +(47, 131, 72), +(47, 132, 88), +(47, 133, 65), +(47, 134, 97), +(47, 135, 77), +(47, 136, 76), +(47, 137, 91), +(47, 138, 66), +(47, 139, 65), +(47, 140, 87), +(47, 141, 67), +(47, 142, 67), +(47, 143, 98), +(47, 144, 78), +(47, 145, 67), +(47, 146, 76), +(47, 147, 71), +(47, 148, 95), +(47, 149, 65), +(47, 150, 69), +(47, 151, 71), +(47, 152, 78), +(47, 153, 79), +(47, 154, 96), +(47, 155, 65), +(47, 156, 79), +(47, 157, 73), +(47, 158, 83), +(47, 159, 84), +(47, 160, 86), +(47, 161, 88), +(47, 162, 98), +(47, 163, 82), +(47, 164, 87), +(47, 165, 99), +(47, 166, 90), +(47, 167, 78), +(47, 168, 95), +(47, 169, 97), +(47, 170, 92), +(47, 171, 81), +(47, 172, 91), +(47, 173, 90), +(47, 174, 87), +(47, 175, 98), +(47, 176, 91), +(47, 177, 75), +(47, 178, 82), +(47, 179, 82), +(47, 180, 81), +(47, 181, 77), +(47, 182, 83), +(47, 183, 73), +(47, 184, 88), +(47, 185, 67), +(47, 186, 84), +(47, 187, 72), +(47, 188, 85), +(47, 189, 97), +(47, 190, 68), +(47, 191, 86), +(47, 192, 82), +(47, 193, 83), +(47, 194, 67), +(47, 195, 83), +(47, 196, 83), +(47, 197, 78), +(47, 198, 82), +(47, 199, 95), +(47, 200, 86), +(47, 201, 73), +(47, 202, 66), +(47, 203, 89), +(47, 204, 77), +(47, 205, 82), +(47, 206, 87), +(47, 207, 72), +(47, 208, 98), +(47, 209, 86), +(47, 210, 72), +(47, 211, 83), +(47, 212, 90), +(47, 213, 69), +(47, 214, 97), +(47, 215, 75), +(47, 216, 65), +(47, 217, 96), +(47, 218, 99), +(47, 219, 99), +(47, 220, 72), +(47, 221, 85), +(47, 222, 96), +(47, 223, 93), +(47, 224, 67), +(47, 225, 81), +(47, 226, 70), +(47, 227, 96), +(47, 228, 97), +(47, 229, 72), +(47, 230, 72), +(47, 231, 98), +(47, 232, 77), +(47, 233, 76), +(47, 234, 97), +(47, 235, 79), +(47, 236, 79), +(47, 237, 77), +(47, 238, 87), +(47, 239, 78), +(47, 240, 82), +(47, 241, 70), +(47, 242, 65), +(47, 243, 65), +(47, 244, 94), +(47, 245, 78), +(47, 246, 78), +(47, 247, 70), +(47, 248, 76), +(47, 249, 99), +(47, 250, 84), +(47, 251, 68), +(47, 252, 97), +(47, 253, 80), +(47, 254, 91), +(47, 255, 66), +(47, 256, 79), +(47, 257, 74), +(47, 258, 73), +(47, 259, 72), +(47, 260, 79), +(47, 261, 66), +(47, 262, 98), +(47, 263, 79), +(47, 264, 76), +(47, 265, 69), +(47, 266, 83), +(47, 267, 82), +(47, 268, 75), +(47, 269, 90), +(47, 270, 65), +(47, 271, 82), +(47, 272, 86), +(47, 273, 65), +(47, 274, 77), +(47, 275, 93), +(47, 276, 72), +(47, 277, 69), +(47, 278, 66), +(47, 279, 92), +(47, 280, 67), +(47, 281, 89), +(47, 282, 90), +(48, 1, 73), +(48, 2, 88), +(48, 3, 84), +(48, 4, 92), +(48, 5, 75), +(48, 6, 95), +(48, 7, 89), +(48, 8, 72), +(48, 9, 82), +(48, 10, 65), +(48, 11, 76), +(48, 12, 83), +(48, 13, 68), +(48, 14, 73), +(48, 15, 96), +(48, 16, 68), +(48, 17, 73), +(48, 18, 76), +(48, 19, 88), +(48, 20, 93), +(48, 21, 83), +(48, 22, 90), +(48, 23, 70), +(48, 24, 99), +(48, 25, 81), +(48, 26, 99), +(48, 27, 65), +(48, 28, 84), +(48, 29, 77), +(48, 30, 94), +(48, 31, 87), +(48, 32, 92), +(48, 33, 90), +(48, 34, 76), +(48, 35, 90), +(48, 36, 93), +(48, 37, 67), +(48, 38, 82), +(48, 39, 76), +(48, 40, 95), +(48, 41, 90), +(48, 42, 69), +(48, 43, 96), +(48, 44, 99), +(48, 45, 65), +(48, 46, 78), +(48, 47, 92), +(48, 48, 90), +(48, 49, 82), +(48, 50, 83), +(48, 51, 74), +(48, 52, 98), +(48, 53, 80), +(48, 54, 90), +(48, 55, 69), +(48, 56, 75), +(48, 57, 78), +(48, 58, 89), +(48, 59, 73), +(48, 60, 81), +(48, 61, 68), +(48, 62, 67), +(48, 63, 74), +(48, 64, 71), +(48, 65, 96), +(48, 66, 74), +(48, 67, 77), +(48, 68, 66), +(48, 69, 76), +(48, 70, 79), +(48, 71, 75), +(48, 72, 69), +(48, 73, 80), +(48, 74, 72), +(48, 75, 90), +(48, 76, 74), +(48, 77, 73), +(48, 78, 77), +(48, 79, 90), +(48, 80, 65), +(48, 81, 86), +(48, 82, 92), +(48, 83, 91), +(48, 84, 91), +(48, 85, 77), +(48, 86, 96), +(48, 87, 82), +(48, 88, 75), +(48, 89, 93), +(48, 90, 68), +(48, 91, 77), +(48, 92, 75), +(48, 93, 82), +(48, 94, 98), +(48, 95, 95), +(48, 96, 82), +(48, 97, 78), +(48, 98, 90), +(48, 99, 78), +(48, 100, 73), +(48, 101, 97), +(48, 102, 79), +(48, 103, 82), +(48, 104, 97), +(48, 105, 90), +(48, 106, 77), +(48, 107, 89), +(48, 108, 85), +(48, 109, 80), +(48, 110, 94), +(48, 111, 87), +(48, 112, 98), +(48, 113, 82), +(48, 114, 72), +(48, 115, 98), +(48, 116, 95), +(48, 117, 80), +(48, 118, 68), +(48, 119, 83), +(48, 120, 93), +(48, 121, 87), +(48, 122, 83), +(48, 123, 88), +(48, 124, 86), +(48, 125, 93), +(48, 126, 82), +(48, 127, 81), +(48, 128, 67), +(48, 129, 84), +(48, 130, 74), +(48, 131, 99), +(48, 132, 71), +(48, 133, 80), +(48, 134, 76), +(48, 135, 78), +(48, 136, 65), +(48, 137, 97), +(48, 138, 94), +(48, 139, 81), +(48, 140, 98), +(48, 141, 68), +(48, 142, 80), +(48, 143, 67), +(48, 144, 72), +(48, 145, 71), +(48, 146, 97), +(48, 147, 82), +(48, 148, 99), +(48, 149, 92), +(48, 150, 65), +(48, 151, 78), +(48, 152, 76), +(48, 153, 68), +(48, 154, 99), +(48, 155, 77), +(48, 156, 66), +(48, 157, 96), +(48, 158, 89), +(48, 159, 85), +(48, 160, 84), +(48, 161, 74), +(48, 162, 80), +(48, 163, 81), +(48, 164, 84), +(48, 165, 73), +(48, 166, 76), +(48, 167, 67), +(48, 168, 99), +(48, 169, 77), +(48, 170, 91), +(48, 171, 77), +(48, 172, 92), +(48, 173, 68), +(48, 174, 80), +(48, 175, 98), +(48, 176, 79), +(48, 177, 78), +(48, 178, 90), +(48, 179, 73), +(48, 180, 89), +(48, 181, 88), +(48, 182, 91), +(48, 183, 68), +(48, 184, 71), +(48, 185, 99), +(48, 186, 85), +(48, 187, 83), +(48, 188, 97), +(48, 189, 90), +(48, 190, 79), +(48, 191, 93), +(48, 192, 94), +(48, 193, 98), +(48, 194, 88), +(48, 195, 80), +(48, 196, 67), +(48, 197, 85), +(48, 198, 85), +(48, 199, 80), +(48, 200, 84), +(48, 201, 67), +(48, 202, 97), +(48, 203, 91), +(48, 204, 88), +(48, 205, 93), +(48, 206, 83), +(48, 207, 86), +(48, 208, 69), +(48, 209, 83), +(48, 210, 73), +(48, 211, 72), +(48, 212, 69), +(48, 213, 76), +(48, 214, 79), +(48, 215, 80), +(48, 216, 65), +(48, 217, 75), +(48, 218, 94), +(48, 219, 74), +(48, 220, 96), +(48, 221, 68), +(48, 222, 65), +(48, 223, 71), +(48, 224, 80), +(48, 225, 96), +(48, 226, 86), +(48, 227, 69), +(48, 228, 76), +(48, 229, 73), +(48, 230, 68), +(48, 231, 73), +(48, 232, 74), +(48, 233, 91), +(48, 234, 74), +(48, 235, 90), +(48, 236, 94), +(48, 237, 92), +(48, 238, 67), +(48, 239, 76), +(48, 240, 66), +(48, 241, 73), +(48, 242, 85), +(48, 243, 69), +(48, 244, 85), +(48, 245, 65), +(48, 246, 72), +(48, 247, 82), +(48, 248, 67), +(48, 249, 73), +(48, 250, 65), +(48, 251, 77), +(48, 252, 92), +(48, 253, 76), +(48, 254, 79), +(48, 255, 76), +(48, 256, 91), +(48, 257, 81), +(48, 258, 97), +(48, 259, 71), +(48, 260, 70), +(48, 261, 98), +(48, 262, 68), +(48, 263, 65), +(48, 264, 81), +(48, 265, 94), +(48, 266, 73), +(48, 267, 76), +(48, 268, 92), +(48, 269, 81), +(48, 270, 86), +(48, 271, 70), +(48, 272, 97), +(48, 273, 88), +(48, 274, 79), +(48, 275, 95), +(48, 276, 98), +(48, 277, 92), +(48, 278, 81), +(48, 279, 80), +(48, 280, 75), +(48, 281, 87), +(48, 282, 93), +(49, 1, 86), +(49, 2, 73), +(49, 3, 90), +(49, 4, 96), +(49, 5, 91), +(49, 6, 81), +(49, 7, 72), +(49, 8, 99), +(49, 9, 95), +(49, 10, 93), +(49, 11, 98), +(49, 12, 79), +(49, 13, 83), +(49, 14, 87), +(49, 15, 96), +(49, 16, 89), +(49, 17, 79), +(49, 18, 89), +(49, 19, 73), +(49, 20, 91), +(49, 21, 79), +(49, 22, 77), +(49, 23, 99), +(49, 24, 68), +(49, 25, 73), +(49, 26, 95), +(49, 27, 68), +(49, 28, 97), +(49, 29, 73), +(49, 30, 78), +(49, 31, 84), +(49, 32, 87), +(49, 33, 72), +(49, 34, 87), +(49, 35, 91), +(49, 36, 88), +(49, 37, 84), +(49, 38, 95), +(49, 39, 92), +(49, 40, 98), +(49, 41, 84), +(49, 42, 88), +(49, 43, 97), +(49, 44, 88), +(49, 45, 83), +(49, 46, 86), +(49, 47, 92), +(49, 48, 74), +(49, 49, 73), +(49, 50, 69), +(49, 51, 72), +(49, 52, 77), +(49, 53, 87), +(49, 54, 88), +(49, 55, 73), +(49, 56, 98), +(49, 57, 74), +(49, 58, 87), +(49, 59, 90), +(49, 60, 71), +(49, 61, 91), +(49, 62, 86), +(49, 63, 97), +(49, 64, 88), +(49, 65, 65), +(49, 66, 81), +(49, 67, 80), +(49, 68, 85), +(49, 69, 85), +(49, 70, 66), +(49, 71, 73), +(49, 72, 93), +(49, 73, 89), +(49, 74, 80), +(49, 75, 83), +(49, 76, 80), +(49, 77, 93), +(49, 78, 74), +(49, 79, 84), +(49, 80, 76), +(49, 81, 79), +(49, 82, 86), +(49, 83, 90), +(49, 84, 77), +(49, 85, 97), +(49, 86, 98), +(49, 87, 82), +(49, 88, 98), +(49, 89, 85), +(49, 90, 74), +(49, 91, 94), +(49, 92, 86), +(49, 93, 75), +(49, 94, 65), +(49, 95, 87), +(49, 96, 92), +(49, 97, 67), +(49, 98, 78), +(49, 99, 95), +(49, 100, 78), +(49, 101, 98), +(49, 102, 80), +(49, 103, 72), +(49, 104, 67), +(49, 105, 80), +(49, 106, 81), +(49, 107, 93), +(49, 108, 84), +(49, 109, 97), +(49, 110, 90), +(49, 111, 88), +(49, 112, 90), +(49, 113, 96), +(49, 114, 87), +(49, 115, 67), +(49, 116, 84), +(49, 117, 75), +(49, 118, 89), +(49, 119, 95), +(49, 120, 66), +(49, 121, 74), +(49, 122, 84), +(49, 123, 96), +(49, 124, 80), +(49, 125, 66), +(49, 126, 75), +(49, 127, 80), +(49, 128, 99), +(49, 129, 85), +(49, 130, 84), +(49, 131, 75), +(49, 132, 96), +(49, 133, 71), +(49, 134, 97), +(49, 135, 97), +(49, 136, 68), +(49, 137, 80), +(49, 138, 68), +(49, 139, 74), +(49, 140, 94), +(49, 141, 76), +(49, 142, 67), +(49, 143, 83), +(49, 144, 97), +(49, 145, 90), +(49, 146, 91), +(49, 147, 98), +(49, 148, 75), +(49, 149, 94), +(49, 150, 91), +(49, 151, 75), +(49, 152, 82), +(49, 153, 71), +(49, 154, 75), +(49, 155, 93), +(49, 156, 95), +(49, 157, 90), +(49, 158, 96), +(49, 159, 75), +(49, 160, 98), +(49, 161, 77), +(49, 162, 77), +(49, 163, 96), +(49, 164, 97), +(49, 165, 72), +(49, 166, 82), +(49, 167, 72), +(49, 168, 76), +(49, 169, 98), +(49, 170, 82), +(49, 171, 78), +(49, 172, 85), +(49, 173, 76), +(49, 174, 74), +(49, 175, 94), +(49, 176, 95), +(49, 177, 68), +(49, 178, 69), +(49, 179, 90), +(49, 180, 69), +(49, 181, 75), +(49, 182, 70), +(49, 183, 92), +(49, 184, 97), +(49, 185, 87), +(49, 186, 75), +(49, 187, 99), +(49, 188, 96), +(49, 189, 93), +(49, 190, 91), +(49, 191, 73), +(49, 192, 92), +(49, 193, 71), +(49, 194, 73), +(49, 195, 85), +(49, 196, 94), +(49, 197, 91), +(49, 198, 79), +(49, 199, 86), +(49, 200, 94), +(49, 201, 86), +(49, 202, 85), +(49, 203, 90), +(49, 204, 72), +(49, 205, 83), +(49, 206, 88), +(49, 207, 78), +(49, 208, 91), +(49, 209, 91), +(49, 210, 84), +(49, 211, 81), +(49, 212, 78), +(49, 213, 71), +(49, 214, 76), +(49, 215, 74), +(49, 216, 65), +(49, 217, 94), +(49, 218, 76), +(49, 219, 78), +(49, 220, 94), +(49, 221, 93), +(49, 222, 75), +(49, 223, 80), +(49, 224, 98), +(49, 225, 65), +(49, 226, 88), +(49, 227, 97), +(49, 228, 94), +(49, 229, 88), +(49, 230, 96), +(49, 231, 77), +(49, 232, 75), +(49, 233, 90), +(49, 234, 84), +(49, 235, 81), +(49, 236, 98), +(49, 237, 93), +(49, 238, 80), +(49, 239, 81), +(49, 240, 90), +(49, 241, 88), +(49, 242, 98), +(49, 243, 86), +(49, 244, 80), +(49, 245, 97), +(49, 246, 94), +(49, 247, 67), +(49, 248, 75), +(49, 249, 74), +(49, 250, 82), +(49, 251, 79), +(49, 252, 71), +(49, 253, 72), +(49, 254, 92), +(49, 255, 84), +(49, 256, 86), +(49, 257, 85), +(49, 258, 95), +(49, 259, 74), +(49, 260, 86), +(49, 261, 90), +(49, 262, 85), +(49, 263, 92), +(49, 264, 75), +(49, 265, 97), +(49, 266, 87), +(49, 267, 72), +(49, 268, 65), +(49, 269, 69), +(49, 270, 66), +(49, 271, 74), +(49, 272, 91), +(49, 273, 72), +(49, 274, 98), +(49, 275, 98), +(49, 276, 68), +(49, 277, 87), +(49, 278, 73), +(49, 279, 94), +(49, 280, 74), +(49, 281, 69), +(49, 282, 96), +(50, 1, 76), +(50, 2, 70), +(50, 3, 98), +(50, 4, 72), +(50, 5, 96), +(50, 6, 90), +(50, 7, 97), +(50, 8, 78), +(50, 9, 93), +(50, 10, 99), +(50, 11, 94), +(50, 12, 82), +(50, 13, 76), +(50, 14, 83), +(50, 15, 90), +(50, 16, 71), +(50, 17, 76), +(50, 18, 81), +(50, 19, 69), +(50, 20, 75), +(50, 21, 82), +(50, 22, 85), +(50, 23, 81), +(50, 24, 86), +(50, 25, 96), +(50, 26, 80), +(50, 27, 82), +(50, 28, 99), +(50, 29, 68), +(50, 30, 78), +(50, 31, 94), +(50, 32, 96), +(50, 33, 94), +(50, 34, 72), +(50, 35, 88), +(50, 36, 96), +(50, 37, 88), +(50, 38, 93), +(50, 39, 94), +(50, 40, 68), +(50, 41, 84), +(50, 42, 99), +(50, 43, 95), +(50, 44, 76), +(50, 45, 84), +(50, 46, 98), +(50, 47, 83), +(50, 48, 73), +(50, 49, 89), +(50, 50, 67), +(50, 51, 74), +(50, 52, 98), +(50, 53, 95), +(50, 54, 69), +(50, 55, 93), +(50, 56, 93), +(50, 57, 70), +(50, 58, 70), +(50, 59, 97), +(50, 60, 84), +(50, 61, 80), +(50, 62, 93), +(50, 63, 93), +(50, 64, 94), +(50, 65, 75), +(50, 66, 81), +(50, 67, 72), +(50, 68, 92), +(50, 69, 96), +(50, 70, 97), +(50, 71, 78), +(50, 72, 90), +(50, 73, 72), +(50, 74, 83), +(50, 75, 80), +(50, 76, 78), +(50, 77, 74), +(50, 78, 77), +(50, 79, 85), +(50, 80, 87), +(50, 81, 72), +(50, 82, 92), +(50, 83, 77), +(50, 84, 79), +(50, 85, 82), +(50, 86, 65), +(50, 87, 68), +(50, 88, 97), +(50, 89, 82), +(50, 90, 65), +(50, 91, 71), +(50, 92, 69), +(50, 93, 65), +(50, 94, 72), +(50, 95, 84), +(50, 96, 82), +(50, 97, 71), +(50, 98, 92), +(50, 99, 73), +(50, 100, 72), +(50, 101, 65), +(50, 102, 97), +(50, 103, 86), +(50, 104, 82), +(50, 105, 65), +(50, 106, 76), +(50, 107, 96), +(50, 108, 97), +(50, 109, 75), +(50, 110, 69), +(50, 111, 80), +(50, 112, 93), +(50, 113, 67), +(50, 114, 87), +(50, 115, 82), +(50, 116, 70), +(50, 117, 71), +(50, 118, 73), +(50, 119, 94), +(50, 120, 94), +(50, 121, 81), +(50, 122, 71), +(50, 123, 81), +(50, 124, 75), +(50, 125, 94), +(50, 126, 99), +(50, 127, 92), +(50, 128, 87), +(50, 129, 77), +(50, 130, 98), +(50, 131, 82), +(50, 132, 65), +(50, 133, 84), +(50, 134, 86), +(50, 135, 79), +(50, 136, 82), +(50, 137, 78), +(50, 138, 98), +(50, 139, 65), +(50, 140, 78), +(50, 141, 74), +(50, 142, 66), +(50, 143, 80), +(50, 144, 98), +(50, 145, 67), +(50, 146, 99), +(50, 147, 76), +(50, 148, 83), +(50, 149, 97), +(50, 150, 89), +(50, 151, 78), +(50, 152, 80), +(50, 153, 88), +(50, 154, 84), +(50, 155, 97), +(50, 156, 76), +(50, 157, 65), +(50, 158, 77), +(50, 159, 89), +(50, 160, 71), +(50, 161, 99), +(50, 162, 81), +(50, 163, 65), +(50, 164, 96), +(50, 165, 78), +(50, 166, 80), +(50, 167, 92), +(50, 168, 90), +(50, 169, 90), +(50, 170, 73), +(50, 171, 92), +(50, 172, 86), +(50, 173, 78), +(50, 174, 65), +(50, 175, 79), +(50, 176, 66), +(50, 177, 76), +(50, 178, 82), +(50, 179, 96), +(50, 180, 81), +(50, 181, 81), +(50, 182, 85), +(50, 183, 86), +(50, 184, 66), +(50, 185, 75), +(50, 186, 89), +(50, 187, 76), +(50, 188, 90), +(50, 189, 98), +(50, 190, 83), +(50, 191, 92), +(50, 192, 75), +(50, 193, 66), +(50, 194, 71), +(50, 195, 86), +(50, 196, 98), +(50, 197, 67), +(50, 198, 77), +(50, 199, 88), +(50, 200, 86), +(50, 201, 95), +(50, 202, 68), +(50, 203, 76), +(50, 204, 66), +(50, 205, 72), +(50, 206, 94), +(50, 207, 66), +(50, 208, 78), +(50, 209, 74), +(50, 210, 65), +(50, 211, 90), +(50, 212, 83), +(50, 213, 65), +(50, 214, 80), +(50, 215, 65), +(50, 216, 65), +(50, 217, 77), +(50, 218, 66), +(50, 219, 68), +(50, 220, 81), +(50, 221, 88), +(50, 222, 83), +(50, 223, 86), +(50, 224, 79), +(50, 225, 78), +(50, 226, 82), +(50, 227, 75), +(50, 228, 74), +(50, 229, 85), +(50, 230, 69), +(50, 231, 65), +(50, 232, 87), +(50, 233, 79), +(50, 234, 66), +(50, 235, 68), +(50, 236, 73), +(50, 237, 91), +(50, 238, 65), +(50, 239, 79), +(50, 240, 80), +(50, 241, 90), +(50, 242, 98), +(50, 243, 89), +(50, 244, 81), +(50, 245, 83), +(50, 246, 87), +(50, 247, 93), +(50, 248, 76), +(50, 249, 88), +(50, 250, 79), +(50, 251, 99), +(50, 252, 83), +(50, 253, 69), +(50, 254, 89), +(50, 255, 91), +(50, 256, 89), +(50, 257, 81), +(50, 258, 85), +(50, 259, 95), +(50, 260, 84), +(50, 261, 89), +(50, 262, 90), +(50, 263, 99), +(50, 264, 67), +(50, 265, 66), +(50, 266, 83), +(50, 267, 65), +(50, 268, 91), +(50, 269, 74), +(50, 270, 77), +(50, 271, 94), +(50, 272, 68), +(50, 273, 68), +(50, 274, 83), +(50, 275, 69), +(50, 276, 88), +(50, 277, 93), +(50, 278, 91), +(50, 279, 96), +(50, 280, 80), +(50, 281, 90), +(50, 282, 68), +(51, 1, 91), +(51, 2, 68), +(51, 3, 85), +(51, 4, 74), +(51, 5, 74), +(51, 6, 75), +(51, 7, 99), +(51, 8, 95), +(51, 9, 83), +(51, 10, 82), +(51, 11, 76), +(51, 12, 74), +(51, 13, 67), +(51, 14, 88), +(51, 15, 97), +(51, 16, 93), +(51, 17, 76), +(51, 18, 76), +(51, 19, 98), +(51, 20, 73), +(51, 21, 75), +(51, 22, 92), +(51, 23, 78), +(51, 24, 92), +(51, 25, 90), +(51, 26, 84), +(51, 27, 71), +(51, 28, 68), +(51, 29, 95), +(51, 30, 92), +(51, 31, 85), +(51, 32, 84), +(51, 33, 85), +(51, 34, 70), +(51, 35, 67), +(51, 36, 84), +(51, 37, 88), +(51, 38, 84), +(51, 39, 97), +(51, 40, 89), +(51, 41, 69), +(51, 42, 94), +(51, 43, 85), +(51, 44, 88), +(51, 45, 71), +(51, 46, 97), +(51, 47, 75), +(51, 48, 76), +(51, 49, 91), +(51, 50, 66), +(51, 51, 89), +(51, 52, 89), +(51, 53, 81), +(51, 54, 85), +(51, 55, 77), +(51, 56, 70), +(51, 57, 67), +(51, 58, 93), +(51, 59, 78), +(51, 60, 69), +(51, 61, 98), +(51, 62, 75), +(51, 63, 77), +(51, 64, 71), +(51, 65, 81), +(51, 66, 97), +(51, 67, 91), +(51, 68, 71), +(51, 69, 90), +(51, 70, 86), +(51, 71, 73), +(51, 72, 71), +(51, 73, 98), +(51, 74, 75), +(51, 75, 86), +(51, 76, 86), +(51, 77, 98), +(51, 78, 98), +(51, 79, 71), +(51, 80, 69), +(51, 81, 92), +(51, 82, 67), +(51, 83, 86), +(51, 84, 68), +(51, 85, 92), +(51, 86, 71), +(51, 87, 96), +(51, 88, 90), +(51, 89, 92), +(51, 90, 73), +(51, 91, 78), +(51, 92, 95), +(51, 93, 69), +(51, 94, 65), +(51, 95, 97), +(51, 96, 69), +(51, 97, 90), +(51, 98, 93), +(51, 99, 86), +(51, 100, 97), +(51, 101, 71), +(51, 102, 76), +(51, 103, 76), +(51, 104, 76), +(51, 105, 91), +(51, 106, 72), +(51, 107, 68), +(51, 108, 66), +(51, 109, 88), +(51, 110, 82), +(51, 111, 73), +(51, 112, 94), +(51, 113, 84), +(51, 114, 71), +(51, 115, 73), +(51, 116, 70), +(51, 117, 65), +(51, 118, 67), +(51, 119, 84), +(51, 120, 65), +(51, 121, 85), +(51, 122, 74), +(51, 123, 86), +(51, 124, 72), +(51, 125, 67), +(51, 126, 68), +(51, 127, 84), +(51, 128, 73), +(51, 129, 66), +(51, 130, 68), +(51, 131, 84), +(51, 132, 74), +(51, 133, 74), +(51, 134, 75), +(51, 135, 76), +(51, 136, 69), +(51, 137, 87), +(51, 138, 82), +(51, 139, 71), +(51, 140, 78), +(51, 141, 78), +(51, 142, 97), +(51, 143, 88), +(51, 144, 67), +(51, 145, 71), +(51, 146, 87), +(51, 147, 90), +(51, 148, 91), +(51, 149, 66), +(51, 150, 73), +(51, 151, 98), +(51, 152, 90), +(51, 153, 91), +(51, 154, 94), +(51, 155, 75), +(51, 156, 65), +(51, 157, 95), +(51, 158, 69), +(51, 159, 84), +(51, 160, 98), +(51, 161, 93), +(51, 162, 72), +(51, 163, 78), +(51, 164, 92), +(51, 165, 75), +(51, 166, 93), +(51, 167, 78), +(51, 168, 84), +(51, 169, 93), +(51, 170, 89), +(51, 171, 93), +(51, 172, 75), +(51, 173, 98), +(51, 174, 73), +(51, 175, 84), +(51, 176, 87), +(51, 177, 77), +(51, 178, 69), +(51, 179, 74), +(51, 180, 65), +(51, 181, 81), +(51, 182, 80), +(51, 183, 91), +(51, 184, 82), +(51, 185, 85), +(51, 186, 86), +(51, 187, 90), +(51, 188, 97), +(51, 189, 78), +(51, 190, 76), +(51, 191, 70), +(51, 192, 73), +(51, 193, 89), +(51, 194, 72), +(51, 195, 77), +(51, 196, 73), +(51, 197, 67), +(51, 198, 84), +(51, 199, 85), +(51, 200, 83), +(51, 201, 85), +(51, 202, 90), +(51, 203, 82), +(51, 204, 85), +(51, 205, 81), +(51, 206, 71), +(51, 207, 69), +(51, 208, 88), +(51, 209, 67), +(51, 210, 80), +(51, 211, 72), +(51, 212, 83), +(51, 213, 79), +(51, 214, 70), +(51, 215, 75), +(51, 216, 65), +(51, 217, 72), +(51, 218, 75), +(51, 219, 78), +(51, 220, 95), +(51, 221, 98), +(51, 222, 92), +(51, 223, 92), +(51, 224, 73), +(51, 225, 96), +(51, 226, 82), +(51, 227, 91), +(51, 228, 92), +(51, 229, 97), +(51, 230, 66), +(51, 231, 66), +(51, 232, 76), +(51, 233, 96), +(51, 234, 83), +(51, 235, 70), +(51, 236, 77), +(51, 237, 76), +(51, 238, 89), +(51, 239, 86), +(51, 240, 68), +(51, 241, 84), +(51, 242, 99), +(51, 243, 87), +(51, 244, 98), +(51, 245, 95), +(51, 246, 88), +(51, 247, 93), +(51, 248, 91), +(51, 249, 81), +(51, 250, 84), +(51, 251, 91), +(51, 252, 68), +(51, 253, 99), +(51, 254, 68), +(51, 255, 71), +(51, 256, 91), +(51, 257, 85), +(51, 258, 75), +(51, 259, 81), +(51, 260, 97), +(51, 261, 75), +(51, 262, 93), +(51, 263, 85), +(51, 264, 81), +(51, 265, 80), +(51, 266, 89), +(51, 267, 79), +(51, 268, 91), +(51, 269, 99), +(51, 270, 89), +(51, 271, 78), +(51, 272, 73), +(51, 273, 94), +(51, 274, 91), +(51, 275, 92), +(51, 276, 68), +(51, 277, 70), +(51, 278, 69), +(51, 279, 96), +(51, 280, 80), +(51, 281, 74), +(51, 282, 89), +(52, 1, 92), +(52, 2, 65), +(52, 3, 66), +(52, 4, 90), +(52, 5, 86), +(52, 6, 72), +(52, 7, 71), +(52, 8, 73), +(52, 9, 69), +(52, 10, 82), +(52, 11, 69), +(52, 12, 92), +(52, 13, 75), +(52, 14, 93), +(52, 15, 79), +(52, 16, 85), +(52, 17, 91), +(52, 18, 74), +(52, 19, 78), +(52, 20, 77), +(52, 21, 65), +(52, 22, 72), +(52, 23, 81), +(52, 24, 66), +(52, 25, 96), +(52, 26, 83), +(52, 27, 81), +(52, 28, 85), +(52, 29, 65), +(52, 30, 90), +(52, 31, 79), +(52, 32, 67), +(52, 33, 80), +(52, 34, 70), +(52, 35, 77), +(52, 36, 65), +(52, 37, 78), +(52, 38, 75), +(52, 39, 69), +(52, 40, 71), +(52, 41, 99), +(52, 42, 73), +(52, 43, 75), +(52, 44, 76), +(52, 45, 73), +(52, 46, 93), +(52, 47, 95), +(52, 48, 99), +(52, 49, 89), +(52, 50, 96), +(52, 51, 87), +(52, 52, 87), +(52, 53, 90), +(52, 54, 85), +(52, 55, 77), +(52, 56, 80), +(52, 57, 95), +(52, 58, 87), +(52, 59, 70), +(52, 60, 65), +(52, 61, 81), +(52, 62, 65), +(52, 63, 76), +(52, 64, 77), +(52, 65, 79), +(52, 66, 72), +(52, 67, 68), +(52, 68, 85), +(52, 69, 98), +(52, 70, 73), +(52, 71, 99), +(52, 72, 88), +(52, 73, 69), +(52, 74, 96), +(52, 75, 91), +(52, 76, 96), +(52, 77, 98), +(52, 78, 88), +(52, 79, 73), +(52, 80, 91), +(52, 81, 74), +(52, 82, 66), +(52, 83, 66), +(52, 84, 71), +(52, 85, 77), +(52, 86, 97), +(52, 87, 73), +(52, 88, 93), +(52, 89, 76), +(52, 90, 71), +(52, 91, 77), +(52, 92, 97), +(52, 93, 88), +(52, 94, 80), +(52, 95, 97), +(52, 96, 68), +(52, 97, 66), +(52, 98, 88), +(52, 99, 77), +(52, 100, 97), +(52, 101, 97), +(52, 102, 95), +(52, 103, 94), +(52, 104, 70), +(52, 105, 90), +(52, 106, 67), +(52, 107, 93), +(52, 108, 79), +(52, 109, 81), +(52, 110, 67), +(52, 111, 93), +(52, 112, 94), +(52, 113, 87), +(52, 114, 65), +(52, 115, 91), +(52, 116, 74), +(52, 117, 84), +(52, 118, 87), +(52, 119, 73), +(52, 120, 83), +(52, 121, 83), +(52, 122, 92), +(52, 123, 90), +(52, 124, 72), +(52, 125, 93), +(52, 126, 82), +(52, 127, 81), +(52, 128, 75), +(52, 129, 68), +(52, 130, 88), +(52, 131, 76), +(52, 132, 77), +(52, 133, 87), +(52, 134, 89), +(52, 135, 79), +(52, 136, 70), +(52, 137, 99), +(52, 138, 85), +(52, 139, 97), +(52, 140, 92), +(52, 141, 71), +(52, 142, 83), +(52, 143, 98), +(52, 144, 79), +(52, 145, 90), +(52, 146, 71), +(52, 147, 87), +(52, 148, 73), +(52, 149, 80), +(52, 150, 69), +(52, 151, 88), +(52, 152, 75), +(52, 153, 91), +(52, 154, 86), +(52, 155, 86), +(52, 156, 68), +(52, 157, 73), +(52, 158, 85), +(52, 159, 92), +(52, 160, 73), +(52, 161, 68), +(52, 162, 89), +(52, 163, 98), +(52, 164, 72), +(52, 165, 75), +(52, 166, 89), +(52, 167, 82), +(52, 168, 89), +(52, 169, 93), +(52, 170, 93), +(52, 171, 88), +(52, 172, 87), +(52, 173, 86), +(52, 174, 71), +(52, 175, 84), +(52, 176, 68), +(52, 177, 93), +(52, 178, 68), +(52, 179, 87), +(52, 180, 86), +(52, 181, 98), +(52, 182, 82), +(52, 183, 98), +(52, 184, 75), +(52, 185, 98), +(52, 186, 96), +(52, 187, 88), +(52, 188, 80), +(52, 189, 99), +(52, 190, 66), +(52, 191, 81), +(52, 192, 73), +(52, 193, 76), +(52, 194, 82), +(52, 195, 97), +(52, 196, 78), +(52, 197, 71), +(52, 198, 87), +(52, 199, 97), +(52, 200, 92), +(52, 201, 72), +(52, 202, 79), +(52, 203, 80), +(52, 204, 93), +(52, 205, 92), +(52, 206, 79), +(52, 207, 83), +(52, 208, 71), +(52, 209, 82), +(52, 210, 69), +(52, 211, 96), +(52, 212, 66), +(52, 213, 69), +(52, 214, 81), +(52, 215, 81), +(52, 216, 66), +(52, 217, 99), +(52, 218, 78), +(52, 219, 84), +(52, 220, 99), +(52, 221, 93), +(52, 222, 73), +(52, 223, 66), +(52, 224, 99), +(52, 225, 75), +(52, 226, 99), +(52, 227, 92), +(52, 228, 69), +(52, 229, 95), +(52, 230, 91), +(52, 231, 70), +(52, 232, 91), +(52, 233, 72), +(52, 234, 82), +(52, 235, 79), +(52, 236, 67), +(52, 237, 75), +(52, 238, 81), +(52, 239, 96), +(52, 240, 69), +(52, 241, 87), +(52, 242, 99), +(52, 243, 69), +(52, 244, 78), +(52, 245, 90), +(52, 246, 78), +(52, 247, 89), +(52, 248, 94), +(52, 249, 80), +(52, 250, 83), +(52, 251, 93), +(52, 252, 98), +(52, 253, 84), +(52, 254, 81), +(52, 255, 85), +(52, 256, 87), +(52, 257, 84), +(52, 258, 92), +(52, 259, 92), +(52, 260, 98), +(52, 261, 79), +(52, 262, 95), +(52, 263, 98), +(52, 264, 71), +(52, 265, 70), +(52, 266, 95), +(52, 267, 68), +(52, 268, 82), +(52, 269, 67), +(52, 270, 79), +(52, 271, 81), +(52, 272, 95), +(52, 273, 99), +(52, 274, 73), +(52, 275, 84), +(52, 276, 78), +(52, 277, 75), +(52, 278, 78), +(52, 279, 95), +(52, 280, 96), +(52, 281, 68), +(52, 282, 74), +(53, 1, 87), +(53, 2, 91), +(53, 3, 81), +(53, 4, 94), +(53, 5, 72), +(53, 6, 74), +(53, 7, 65), +(53, 8, 85), +(53, 9, 69), +(53, 10, 66), +(53, 11, 87), +(53, 12, 70), +(53, 13, 77), +(53, 14, 67), +(53, 15, 78), +(53, 16, 81), +(53, 17, 91), +(53, 18, 76), +(53, 19, 68), +(53, 20, 68), +(53, 21, 70), +(53, 22, 90), +(53, 23, 73), +(53, 24, 96), +(53, 25, 78), +(53, 26, 95), +(53, 27, 91), +(53, 28, 87), +(53, 29, 79), +(53, 30, 74), +(53, 31, 74), +(53, 32, 89), +(53, 33, 81), +(53, 34, 74), +(53, 35, 86), +(53, 36, 80), +(53, 37, 95), +(53, 38, 96), +(53, 39, 95), +(53, 40, 93), +(53, 41, 85), +(53, 42, 89), +(53, 43, 92), +(53, 44, 89), +(53, 45, 88), +(53, 46, 75), +(53, 47, 81), +(53, 48, 95), +(53, 49, 73), +(53, 50, 81), +(53, 51, 69), +(53, 52, 70), +(53, 53, 71), +(53, 54, 72), +(53, 55, 89), +(53, 56, 88), +(53, 57, 68), +(53, 58, 92), +(53, 59, 87), +(53, 60, 88), +(53, 61, 83), +(53, 62, 71), +(53, 63, 84), +(53, 64, 74), +(53, 65, 89), +(53, 66, 76), +(53, 67, 75), +(53, 68, 77), +(53, 69, 85), +(53, 70, 76), +(53, 71, 72), +(53, 72, 96), +(53, 73, 93), +(53, 74, 85), +(53, 75, 97), +(53, 76, 89), +(53, 77, 95), +(53, 78, 82), +(53, 79, 86), +(53, 80, 78), +(53, 81, 66), +(53, 82, 97), +(53, 83, 78), +(53, 84, 89), +(53, 85, 81), +(53, 86, 65), +(53, 87, 81), +(53, 88, 99), +(53, 89, 77), +(53, 90, 74), +(53, 91, 87), +(53, 92, 68), +(53, 93, 98), +(53, 94, 71), +(53, 95, 96), +(53, 96, 70), +(53, 97, 68), +(53, 98, 98), +(53, 99, 96), +(53, 100, 94), +(53, 101, 69), +(53, 102, 79), +(53, 103, 72), +(53, 104, 90), +(53, 105, 77), +(53, 106, 91), +(53, 107, 91), +(53, 108, 96), +(53, 109, 75), +(53, 110, 97), +(53, 111, 76), +(53, 112, 87), +(53, 113, 84), +(53, 114, 82), +(53, 115, 66), +(53, 116, 96), +(53, 117, 89), +(53, 118, 65), +(53, 119, 83), +(53, 120, 86), +(53, 121, 95), +(53, 122, 70), +(53, 123, 93), +(53, 124, 77), +(53, 125, 96), +(53, 126, 74), +(53, 127, 90), +(53, 128, 91), +(53, 129, 77), +(53, 130, 67), +(53, 131, 97), +(53, 132, 65), +(53, 133, 79), +(53, 134, 83), +(53, 135, 66), +(53, 136, 79), +(53, 137, 66), +(53, 138, 82), +(53, 139, 68), +(53, 140, 91), +(53, 141, 90), +(53, 142, 96), +(53, 143, 92), +(53, 144, 96), +(53, 145, 69), +(53, 146, 68), +(53, 147, 68), +(53, 148, 96), +(53, 149, 68), +(53, 150, 96), +(53, 151, 81), +(53, 152, 74), +(53, 153, 85), +(53, 154, 81), +(53, 155, 70), +(53, 156, 79), +(53, 157, 86), +(53, 158, 84), +(53, 159, 70), +(53, 160, 76), +(53, 161, 68), +(53, 162, 95), +(53, 163, 83), +(53, 164, 89), +(53, 165, 87), +(53, 166, 67), +(53, 167, 77), +(53, 168, 91), +(53, 169, 88), +(53, 170, 96), +(53, 171, 96), +(53, 172, 76), +(53, 173, 69), +(53, 174, 73), +(53, 175, 69), +(53, 176, 82), +(53, 177, 97), +(53, 178, 68), +(53, 179, 81), +(53, 180, 65), +(53, 181, 75), +(53, 182, 70), +(53, 183, 82), +(53, 184, 99), +(53, 185, 68), +(53, 186, 91), +(53, 187, 71), +(53, 188, 78), +(53, 189, 93), +(53, 190, 72), +(53, 191, 94), +(53, 192, 83), +(53, 193, 85), +(53, 194, 93), +(53, 195, 82), +(53, 196, 70), +(53, 197, 87), +(53, 198, 84), +(53, 199, 96), +(53, 200, 75), +(53, 201, 76), +(53, 202, 94), +(53, 203, 91), +(53, 204, 76), +(53, 205, 79), +(53, 206, 81), +(53, 207, 73), +(53, 208, 96), +(53, 209, 77), +(53, 210, 78), +(53, 211, 93), +(53, 212, 86), +(53, 213, 77), +(53, 214, 96), +(53, 215, 79), +(53, 216, 72), +(53, 217, 75), +(53, 218, 65), +(53, 219, 88), +(53, 220, 75), +(53, 221, 72), +(53, 222, 95), +(53, 223, 93), +(53, 224, 70), +(53, 225, 94), +(53, 226, 81), +(53, 227, 88), +(53, 228, 76), +(53, 229, 85), +(53, 230, 90), +(53, 231, 88), +(53, 232, 92), +(53, 233, 77), +(53, 234, 96), +(53, 235, 86), +(53, 236, 76), +(53, 237, 86), +(53, 238, 72), +(53, 239, 86), +(53, 240, 77), +(53, 241, 85), +(53, 242, 98), +(53, 243, 91), +(53, 244, 68), +(53, 245, 68), +(53, 246, 96), +(53, 247, 99), +(53, 248, 97), +(53, 249, 90), +(53, 250, 66), +(53, 251, 92), +(53, 252, 79), +(53, 253, 94), +(53, 254, 98), +(53, 255, 80), +(53, 256, 98), +(53, 257, 99), +(53, 258, 66), +(53, 259, 82), +(53, 260, 99), +(53, 261, 70), +(53, 262, 96), +(53, 263, 66), +(53, 264, 83), +(53, 265, 77), +(53, 266, 73), +(53, 267, 72), +(53, 268, 71), +(53, 269, 78), +(53, 270, 97), +(53, 271, 71), +(53, 272, 87), +(53, 273, 76), +(53, 274, 97), +(53, 275, 80), +(53, 276, 88), +(53, 277, 65), +(53, 278, 80), +(53, 279, 86), +(53, 280, 68), +(53, 281, 89), +(53, 282, 71), +(54, 1, 95), +(54, 2, 89), +(54, 3, 74), +(54, 4, 67), +(54, 5, 76), +(54, 6, 86), +(54, 7, 79), +(54, 8, 74), +(54, 9, 71), +(54, 10, 88), +(54, 11, 94), +(54, 12, 79), +(54, 13, 94), +(54, 14, 96), +(54, 15, 86), +(54, 16, 83), +(54, 17, 83), +(54, 18, 92), +(54, 19, 77), +(54, 20, 76), +(54, 21, 91), +(54, 22, 97), +(54, 23, 93), +(54, 24, 78), +(54, 25, 73), +(54, 26, 94), +(54, 27, 79), +(54, 28, 80), +(54, 29, 68), +(54, 30, 70), +(54, 31, 70), +(54, 32, 76), +(54, 33, 65), +(54, 34, 95), +(54, 35, 97), +(54, 36, 68), +(54, 37, 73), +(54, 38, 82), +(54, 39, 97), +(54, 40, 82), +(54, 41, 97), +(54, 42, 91), +(54, 43, 65), +(54, 44, 83), +(54, 45, 87), +(54, 46, 65), +(54, 47, 91), +(54, 48, 80), +(54, 49, 69), +(54, 50, 85), +(54, 51, 89), +(54, 52, 93), +(54, 53, 90), +(54, 54, 75), +(54, 55, 81), +(54, 56, 68), +(54, 57, 95), +(54, 58, 98), +(54, 59, 90), +(54, 60, 75), +(54, 61, 70), +(54, 62, 95), +(54, 63, 93), +(54, 64, 74), +(54, 65, 75), +(54, 66, 66), +(54, 67, 69), +(54, 68, 67), +(54, 69, 66), +(54, 70, 98), +(54, 71, 68), +(54, 72, 78), +(54, 73, 87), +(54, 74, 72), +(54, 75, 78), +(54, 76, 91), +(54, 77, 83), +(54, 78, 82), +(54, 79, 76), +(54, 80, 89), +(54, 81, 78), +(54, 82, 82), +(54, 83, 94), +(54, 84, 98), +(54, 85, 73), +(54, 86, 77), +(54, 87, 86), +(54, 88, 81), +(54, 89, 91), +(54, 90, 91), +(54, 91, 69), +(54, 92, 86), +(54, 93, 92), +(54, 94, 84), +(54, 95, 91), +(54, 96, 82), +(54, 97, 75), +(54, 98, 92), +(54, 99, 79), +(54, 100, 80), +(54, 101, 91), +(54, 102, 79), +(54, 103, 82), +(54, 104, 71), +(54, 105, 84), +(54, 106, 86), +(54, 107, 74), +(54, 108, 73), +(54, 109, 70), +(54, 110, 78), +(54, 111, 74), +(54, 112, 87), +(54, 113, 92), +(54, 114, 82), +(54, 115, 96), +(54, 116, 90), +(54, 117, 95), +(54, 118, 71), +(54, 119, 97), +(54, 120, 81), +(54, 121, 90), +(54, 122, 78), +(54, 123, 95), +(54, 124, 71), +(54, 125, 99), +(54, 126, 92), +(54, 127, 70), +(54, 128, 95), +(54, 129, 83), +(54, 130, 75), +(54, 131, 87), +(54, 132, 99), +(54, 133, 69), +(54, 134, 86), +(54, 135, 98), +(54, 136, 87), +(54, 137, 73), +(54, 138, 88), +(54, 139, 89), +(54, 140, 79), +(54, 141, 68), +(54, 142, 96), +(54, 143, 65), +(54, 144, 75), +(54, 145, 79), +(54, 146, 97), +(54, 147, 82), +(54, 148, 93), +(54, 149, 69), +(54, 150, 67), +(54, 151, 79), +(54, 152, 83), +(54, 153, 86), +(54, 154, 83), +(54, 155, 99), +(54, 156, 93), +(54, 157, 78), +(54, 158, 66), +(54, 159, 80), +(54, 160, 99), +(54, 161, 73), +(54, 162, 71), +(54, 163, 94), +(54, 164, 95), +(54, 165, 77), +(54, 166, 73), +(54, 167, 76), +(54, 168, 89), +(54, 169, 94), +(54, 170, 67), +(54, 171, 80), +(54, 172, 90), +(54, 173, 96), +(54, 174, 85), +(54, 175, 98), +(54, 176, 73), +(54, 177, 74), +(54, 178, 73), +(54, 179, 79), +(54, 180, 72), +(54, 181, 87), +(54, 182, 74), +(54, 183, 86), +(54, 184, 68), +(54, 185, 86), +(54, 186, 65), +(54, 187, 96), +(54, 188, 85), +(54, 189, 67), +(54, 190, 97), +(54, 191, 92), +(54, 192, 94), +(54, 193, 98), +(54, 194, 85), +(54, 195, 93), +(54, 196, 88), +(54, 197, 87), +(54, 198, 97), +(54, 199, 90), +(54, 200, 71), +(54, 201, 66), +(54, 202, 66), +(54, 203, 80), +(54, 204, 70), +(54, 205, 93), +(54, 206, 69), +(54, 207, 85), +(54, 208, 65), +(54, 209, 71), +(54, 210, 85), +(54, 211, 77), +(54, 212, 99), +(54, 213, 80), +(54, 214, 68), +(54, 215, 87), +(54, 216, 97), +(54, 217, 83), +(54, 218, 95), +(54, 219, 86), +(54, 220, 82), +(54, 221, 87), +(54, 222, 88), +(54, 223, 66), +(54, 224, 96), +(54, 225, 76), +(54, 226, 78), +(54, 227, 67), +(54, 228, 71), +(54, 229, 76), +(54, 230, 75), +(54, 231, 96), +(54, 232, 86), +(54, 233, 71), +(54, 234, 98), +(54, 235, 94), +(54, 236, 79), +(54, 237, 69), +(54, 238, 87), +(54, 239, 76), +(54, 240, 79), +(54, 241, 97), +(54, 242, 95), +(54, 243, 79), +(54, 244, 76), +(54, 245, 73), +(54, 246, 76), +(54, 247, 94), +(54, 248, 67), +(54, 249, 75), +(54, 250, 86), +(54, 251, 81), +(54, 252, 71), +(54, 253, 85), +(54, 254, 81), +(54, 255, 80), +(54, 256, 93), +(54, 257, 76), +(54, 258, 95), +(54, 259, 69), +(54, 260, 66), +(54, 261, 86), +(54, 262, 97), +(54, 263, 74), +(54, 264, 67), +(54, 265, 78), +(54, 266, 84), +(54, 267, 94), +(54, 268, 83), +(54, 269, 89), +(54, 270, 77), +(54, 271, 81), +(54, 272, 87), +(54, 273, 87), +(54, 274, 95), +(54, 275, 85), +(54, 276, 70), +(54, 277, 70), +(54, 278, 70), +(54, 279, 80), +(54, 280, 92), +(54, 281, 74), +(54, 282, 69), +(55, 1, 80), +(55, 2, 74), +(55, 3, 99), +(55, 4, 91), +(55, 5, 96), +(55, 6, 76), +(55, 7, 67), +(55, 8, 82), +(55, 9, 86), +(55, 10, 73), +(55, 11, 76), +(55, 12, 87), +(55, 13, 69), +(55, 14, 75), +(55, 15, 96), +(55, 16, 75), +(55, 17, 76), +(55, 18, 99), +(55, 19, 79), +(55, 20, 80), +(55, 21, 76), +(55, 22, 84), +(55, 23, 77), +(55, 24, 71), +(55, 25, 67), +(55, 26, 85), +(55, 27, 92), +(55, 28, 77), +(55, 29, 75), +(55, 30, 66), +(55, 31, 97), +(55, 32, 81), +(55, 33, 88), +(55, 34, 84), +(55, 35, 95), +(55, 36, 73), +(55, 37, 83), +(55, 38, 93), +(55, 39, 65), +(55, 40, 67), +(55, 41, 94), +(55, 42, 91), +(55, 43, 89), +(55, 44, 81), +(55, 45, 71), +(55, 46, 70), +(55, 47, 78), +(55, 48, 85), +(55, 49, 96), +(55, 50, 82), +(55, 51, 69), +(55, 52, 85), +(55, 53, 67), +(55, 54, 95), +(55, 55, 71), +(55, 56, 80), +(55, 57, 68), +(55, 58, 81), +(55, 59, 89), +(55, 60, 82), +(55, 61, 74), +(55, 62, 95), +(55, 63, 76), +(55, 64, 83), +(55, 65, 78), +(55, 66, 71), +(55, 67, 91), +(55, 68, 75), +(55, 69, 83), +(55, 70, 94), +(55, 71, 93), +(55, 72, 76), +(55, 73, 90), +(55, 74, 75), +(55, 75, 70), +(55, 76, 89), +(55, 77, 66), +(55, 78, 66), +(55, 79, 95), +(55, 80, 74), +(55, 81, 94), +(55, 82, 92), +(55, 83, 98), +(55, 84, 89), +(55, 85, 95), +(55, 86, 90), +(55, 87, 90), +(55, 88, 78), +(55, 89, 91), +(55, 90, 98), +(55, 91, 90), +(55, 92, 94), +(55, 93, 99), +(55, 94, 74), +(55, 95, 99), +(55, 96, 66), +(55, 97, 72), +(55, 98, 66), +(55, 99, 78), +(55, 100, 88), +(55, 101, 80), +(55, 102, 92), +(55, 103, 97), +(55, 104, 92), +(55, 105, 92), +(55, 106, 90), +(55, 107, 71), +(55, 108, 81), +(55, 109, 95), +(55, 110, 69), +(55, 111, 77), +(55, 112, 77), +(55, 113, 74), +(55, 114, 98), +(55, 115, 80), +(55, 116, 99), +(55, 117, 73), +(55, 118, 92), +(55, 119, 65), +(55, 120, 82), +(55, 121, 66), +(55, 122, 83), +(55, 123, 98), +(55, 124, 93), +(55, 125, 73), +(55, 126, 67), +(55, 127, 84), +(55, 128, 67), +(55, 129, 84), +(55, 130, 77), +(55, 131, 79), +(55, 132, 96), +(55, 133, 78), +(55, 134, 81), +(55, 135, 87), +(55, 136, 96), +(55, 137, 66), +(55, 138, 93), +(55, 139, 72), +(55, 140, 92), +(55, 141, 75), +(55, 142, 92), +(55, 143, 92), +(55, 144, 92), +(55, 145, 91), +(55, 146, 75), +(55, 147, 74), +(55, 148, 76), +(55, 149, 76), +(55, 150, 89), +(55, 151, 85), +(55, 152, 91), +(55, 153, 77), +(55, 154, 75), +(55, 155, 80), +(55, 156, 91), +(55, 157, 68), +(55, 158, 81), +(55, 159, 93), +(55, 160, 95), +(55, 161, 93), +(55, 162, 78), +(55, 163, 84), +(55, 164, 74), +(55, 165, 91), +(55, 166, 65), +(55, 167, 86), +(55, 168, 71), +(55, 169, 75), +(55, 170, 87), +(55, 171, 86), +(55, 172, 89), +(55, 173, 68), +(55, 174, 75), +(55, 175, 79), +(55, 176, 89), +(55, 177, 84), +(55, 178, 95), +(55, 179, 89), +(55, 180, 66), +(55, 181, 76), +(55, 182, 97), +(55, 183, 85), +(55, 184, 81), +(55, 185, 89), +(55, 186, 95), +(55, 187, 97), +(55, 188, 92), +(55, 189, 98), +(55, 190, 99), +(55, 191, 80), +(55, 192, 89), +(55, 193, 99), +(55, 194, 81), +(55, 195, 83), +(55, 196, 94), +(55, 197, 73), +(55, 198, 95), +(55, 199, 97), +(55, 200, 65), +(55, 201, 73), +(55, 202, 85), +(55, 203, 98), +(55, 204, 91), +(55, 205, 90), +(55, 206, 72), +(55, 207, 74), +(55, 208, 76), +(55, 209, 97), +(55, 210, 88), +(55, 211, 77), +(55, 212, 67), +(55, 213, 70), +(55, 214, 93), +(55, 215, 65), +(55, 216, 65), +(55, 217, 93), +(55, 218, 78), +(55, 219, 70), +(55, 220, 86), +(55, 221, 85), +(55, 222, 90), +(55, 223, 89), +(55, 224, 98), +(55, 225, 70), +(55, 226, 82), +(55, 227, 74), +(55, 228, 99), +(55, 229, 94), +(55, 230, 76), +(55, 231, 83), +(55, 232, 91), +(55, 233, 92), +(55, 234, 70), +(55, 235, 79), +(55, 236, 65), +(55, 237, 94), +(55, 238, 88), +(55, 239, 92), +(55, 240, 97), +(55, 241, 97), +(55, 242, 80), +(55, 243, 93), +(55, 244, 75), +(55, 245, 96), +(55, 246, 98), +(55, 247, 75), +(55, 248, 85), +(55, 249, 78), +(55, 250, 97), +(55, 251, 98), +(55, 252, 91), +(55, 253, 77), +(55, 254, 78), +(55, 255, 93), +(55, 256, 73), +(55, 257, 86), +(55, 258, 74), +(55, 259, 71), +(55, 260, 75), +(55, 261, 83), +(55, 262, 97), +(55, 263, 75), +(55, 264, 90), +(55, 265, 95), +(55, 266, 70), +(55, 267, 81), +(55, 268, 99), +(55, 269, 77), +(55, 270, 67), +(55, 271, 95), +(55, 272, 74), +(55, 273, 76), +(55, 274, 87), +(55, 275, 82), +(55, 276, 93), +(55, 277, 92), +(55, 278, 78), +(55, 279, 77), +(55, 280, 90), +(55, 281, 71), +(55, 282, 67), +(56, 1, 83), +(56, 2, 72), +(56, 3, 66), +(56, 4, 84), +(56, 5, 86), +(56, 6, 91), +(56, 7, 69), +(56, 8, 91), +(56, 9, 82), +(56, 10, 73), +(56, 11, 66), +(56, 12, 97), +(56, 13, 67), +(56, 14, 92), +(56, 15, 90), +(56, 16, 95), +(56, 17, 68), +(56, 18, 85), +(56, 19, 67), +(56, 20, 70), +(56, 21, 78), +(56, 22, 98), +(56, 23, 76), +(56, 24, 94), +(56, 25, 84), +(56, 26, 80), +(56, 27, 90), +(56, 28, 77), +(56, 29, 68), +(56, 30, 87), +(56, 31, 71), +(56, 32, 77), +(56, 33, 75), +(56, 34, 72), +(56, 35, 81), +(56, 36, 96), +(56, 37, 96), +(56, 38, 86), +(56, 39, 76), +(56, 40, 95), +(56, 41, 81), +(56, 42, 80), +(56, 43, 79), +(56, 44, 94), +(56, 45, 66), +(56, 46, 90), +(56, 47, 85), +(56, 48, 87), +(56, 49, 67), +(56, 50, 90), +(56, 51, 83), +(56, 52, 81), +(56, 53, 71), +(56, 54, 82), +(56, 55, 83), +(56, 56, 95), +(56, 57, 95), +(56, 58, 81), +(56, 59, 77), +(56, 60, 87), +(56, 61, 94), +(56, 62, 87), +(56, 63, 75), +(56, 64, 92), +(56, 65, 99), +(56, 66, 94), +(56, 67, 81), +(56, 68, 71), +(56, 69, 80), +(56, 70, 77), +(56, 71, 93), +(56, 72, 80), +(56, 73, 92), +(56, 74, 96), +(56, 75, 88), +(56, 76, 71), +(56, 77, 86), +(56, 78, 86), +(56, 79, 77), +(56, 80, 73), +(56, 81, 98), +(56, 82, 80), +(56, 83, 73), +(56, 84, 87), +(56, 85, 86), +(56, 86, 85), +(56, 87, 91), +(56, 88, 81), +(56, 89, 83), +(56, 90, 81), +(56, 91, 73), +(56, 92, 75), +(56, 93, 87), +(56, 94, 87), +(56, 95, 87), +(56, 96, 88), +(56, 97, 69), +(56, 98, 95), +(56, 99, 89), +(56, 100, 65), +(56, 101, 98), +(56, 102, 91), +(56, 103, 70), +(56, 104, 75), +(56, 105, 72), +(56, 106, 91), +(56, 107, 68), +(56, 108, 90), +(56, 109, 96), +(56, 110, 84), +(56, 111, 65), +(56, 112, 94), +(56, 113, 67), +(56, 114, 74), +(56, 115, 83), +(56, 116, 88), +(56, 117, 86), +(56, 118, 80), +(56, 119, 74), +(56, 120, 67), +(56, 121, 65), +(56, 122, 80), +(56, 123, 68), +(56, 124, 85), +(56, 125, 75), +(56, 126, 66), +(56, 127, 79), +(56, 128, 89), +(56, 129, 73), +(56, 130, 94), +(56, 131, 69), +(56, 132, 81), +(56, 133, 82), +(56, 134, 81), +(56, 135, 78), +(56, 136, 87), +(56, 137, 84), +(56, 138, 70), +(56, 139, 99), +(56, 140, 88), +(56, 141, 74), +(56, 142, 73), +(56, 143, 93), +(56, 144, 99), +(56, 145, 80), +(56, 146, 89), +(56, 147, 93), +(56, 148, 72), +(56, 149, 75), +(56, 150, 72), +(56, 151, 89), +(56, 152, 75), +(56, 153, 98), +(56, 154, 93), +(56, 155, 75), +(56, 156, 79), +(56, 157, 76), +(56, 158, 75), +(56, 159, 89), +(56, 160, 81), +(56, 161, 80), +(56, 162, 77), +(56, 163, 75), +(56, 164, 92), +(56, 165, 92), +(56, 166, 75), +(56, 167, 99), +(56, 168, 93), +(56, 169, 95), +(56, 170, 98), +(56, 171, 88), +(56, 172, 74), +(56, 173, 92), +(56, 174, 88), +(56, 175, 70), +(56, 176, 92), +(56, 177, 65), +(56, 178, 87), +(56, 179, 73), +(56, 180, 85), +(56, 181, 90), +(56, 182, 93), +(56, 183, 69), +(56, 184, 69), +(56, 185, 91), +(56, 186, 76), +(56, 187, 96), +(56, 188, 72), +(56, 189, 83), +(56, 190, 72), +(56, 191, 92), +(56, 192, 98), +(56, 193, 68), +(56, 194, 86), +(56, 195, 70), +(56, 196, 72), +(56, 197, 78), +(56, 198, 87), +(56, 199, 79), +(56, 200, 84), +(56, 201, 67), +(56, 202, 94), +(56, 203, 81), +(56, 204, 78), +(56, 205, 75), +(56, 206, 87), +(56, 207, 85), +(56, 208, 84), +(56, 209, 67), +(56, 210, 85), +(56, 211, 89), +(56, 212, 79), +(56, 213, 79), +(56, 214, 92), +(56, 215, 71), +(56, 216, 74), +(56, 217, 79), +(56, 218, 76), +(56, 219, 96), +(56, 220, 84), +(56, 221, 65), +(56, 222, 87), +(56, 223, 80), +(56, 224, 68), +(56, 225, 90), +(56, 226, 77), +(56, 227, 72), +(56, 228, 76), +(56, 229, 74), +(56, 230, 91), +(56, 231, 96), +(56, 232, 99), +(56, 233, 81), +(56, 234, 98), +(56, 235, 83), +(56, 236, 96), +(56, 237, 92), +(56, 238, 76), +(56, 239, 99), +(56, 240, 82), +(56, 241, 95), +(56, 242, 85), +(56, 243, 91), +(56, 244, 83), +(56, 245, 92), +(56, 246, 94), +(56, 247, 96), +(56, 248, 91), +(56, 249, 98), +(56, 250, 93), +(56, 251, 79), +(56, 252, 71), +(56, 253, 66), +(56, 254, 86), +(56, 255, 92), +(56, 256, 90), +(56, 257, 68), +(56, 258, 87), +(56, 259, 81), +(56, 260, 79), +(56, 261, 92), +(56, 262, 95), +(56, 263, 87), +(56, 264, 82), +(56, 265, 70), +(56, 266, 68), +(56, 267, 95), +(56, 268, 78), +(56, 269, 90), +(56, 270, 75), +(56, 271, 95), +(56, 272, 80), +(56, 273, 87), +(56, 274, 85), +(56, 275, 93), +(56, 276, 84), +(56, 277, 79), +(56, 278, 79), +(56, 279, 81), +(56, 280, 71), +(56, 281, 69), +(56, 282, 65), +(57, 1, 78), +(57, 2, 75), +(57, 3, 74), +(57, 4, 83), +(57, 5, 74), +(57, 6, 94), +(57, 7, 79), +(57, 8, 72), +(57, 9, 87), +(57, 10, 79), +(57, 11, 73), +(57, 12, 91), +(57, 13, 66), +(57, 14, 68), +(57, 15, 96), +(57, 16, 80), +(57, 17, 80), +(57, 18, 65), +(57, 19, 69), +(57, 20, 80), +(57, 21, 96), +(57, 22, 70), +(57, 23, 84), +(57, 24, 86), +(57, 25, 87), +(57, 26, 79), +(57, 27, 75), +(57, 28, 90), +(57, 29, 87), +(57, 30, 71), +(57, 31, 70), +(57, 32, 78), +(57, 33, 80), +(57, 34, 78), +(57, 35, 94), +(57, 36, 89), +(57, 37, 99), +(57, 38, 85), +(57, 39, 85), +(57, 40, 70), +(57, 41, 93), +(57, 42, 97), +(57, 43, 67), +(57, 44, 91), +(57, 45, 88), +(57, 46, 70), +(57, 47, 94), +(57, 48, 79), +(57, 49, 88), +(57, 50, 71), +(57, 51, 74), +(57, 52, 87), +(57, 53, 90), +(57, 54, 93), +(57, 55, 69), +(57, 56, 67), +(57, 57, 67), +(57, 58, 98), +(57, 59, 90), +(57, 60, 87), +(57, 61, 80), +(57, 62, 86), +(57, 63, 81), +(57, 64, 77), +(57, 65, 91), +(57, 66, 87), +(57, 67, 65), +(57, 68, 69), +(57, 69, 87), +(57, 70, 70), +(57, 71, 88), +(57, 72, 72), +(57, 73, 89), +(57, 74, 85), +(57, 75, 92), +(57, 76, 97), +(57, 77, 97), +(57, 78, 66), +(57, 79, 70), +(57, 80, 79), +(57, 81, 77), +(57, 82, 94), +(57, 83, 79), +(57, 84, 68), +(57, 85, 79), +(57, 86, 91), +(57, 87, 84), +(57, 88, 73), +(57, 89, 75), +(57, 90, 84), +(57, 91, 67), +(57, 92, 65), +(57, 93, 73), +(57, 94, 79), +(57, 95, 76), +(57, 96, 72), +(57, 97, 99), +(57, 98, 74), +(57, 99, 75), +(57, 100, 68), +(57, 101, 80), +(57, 102, 80), +(57, 103, 98), +(57, 104, 72), +(57, 105, 92), +(57, 106, 88), +(57, 107, 99), +(57, 108, 72), +(57, 109, 96), +(57, 110, 76), +(57, 111, 65), +(57, 112, 68), +(57, 113, 82), +(57, 114, 83), +(57, 115, 75), +(57, 116, 77), +(57, 117, 77), +(57, 118, 94), +(57, 119, 75), +(57, 120, 94), +(57, 121, 99), +(57, 122, 85), +(57, 123, 89), +(57, 124, 81), +(57, 125, 92), +(57, 126, 66), +(57, 127, 76), +(57, 128, 78), +(57, 129, 82), +(57, 130, 68), +(57, 131, 78), +(57, 132, 90), +(57, 133, 79), +(57, 134, 97), +(57, 135, 98), +(57, 136, 81), +(57, 137, 85), +(57, 138, 75), +(57, 139, 73), +(57, 140, 67), +(57, 141, 78), +(57, 142, 96), +(57, 143, 93), +(57, 144, 85), +(57, 145, 99), +(57, 146, 85), +(57, 147, 73), +(57, 148, 66), +(57, 149, 80), +(57, 150, 66), +(57, 151, 92), +(57, 152, 69), +(57, 153, 87), +(57, 154, 72), +(57, 155, 69), +(57, 156, 93), +(57, 157, 75), +(57, 158, 66), +(57, 159, 66), +(57, 160, 89), +(57, 161, 88), +(57, 162, 87), +(57, 163, 93), +(57, 164, 67), +(57, 165, 87), +(57, 166, 83), +(57, 167, 71), +(57, 168, 85), +(57, 169, 82), +(57, 170, 96), +(57, 171, 85), +(57, 172, 74), +(57, 173, 85), +(57, 174, 80), +(57, 175, 84), +(57, 176, 95), +(57, 177, 77), +(57, 178, 87), +(57, 179, 67), +(57, 180, 90), +(57, 181, 86), +(57, 182, 72), +(57, 183, 94), +(57, 184, 73), +(57, 185, 87), +(57, 186, 65), +(57, 187, 92), +(57, 188, 91), +(57, 189, 93), +(57, 190, 67), +(57, 191, 87), +(57, 192, 87), +(57, 193, 82), +(57, 194, 89), +(57, 195, 71), +(57, 196, 83), +(57, 197, 71), +(57, 198, 83), +(57, 199, 76), +(57, 200, 88), +(57, 201, 87), +(57, 202, 80), +(57, 203, 82), +(57, 204, 86), +(57, 205, 73), +(57, 206, 85), +(57, 207, 70), +(57, 208, 94), +(57, 209, 86), +(57, 210, 99), +(57, 211, 79), +(57, 212, 93), +(57, 213, 85), +(57, 214, 82), +(57, 215, 94), +(57, 216, 75), +(57, 217, 88), +(57, 218, 81), +(57, 219, 68), +(57, 220, 65), +(57, 221, 74), +(57, 222, 66), +(57, 223, 67), +(57, 224, 85), +(57, 225, 70), +(57, 226, 76), +(57, 227, 74), +(57, 228, 91), +(57, 229, 94), +(57, 230, 94), +(57, 231, 95), +(57, 232, 86), +(57, 233, 97), +(57, 234, 73), +(57, 235, 78), +(57, 236, 81), +(57, 237, 79), +(57, 238, 89), +(57, 239, 84), +(57, 240, 89); +INSERT INTO `nilai_cpmk` (`id_mhs`, `id_cpmk`, `nilai`) VALUES +(57, 241, 82), +(57, 242, 86), +(57, 243, 78), +(57, 244, 91), +(57, 245, 73), +(57, 246, 74), +(57, 247, 87), +(57, 248, 99), +(57, 249, 88), +(57, 250, 75), +(57, 251, 73), +(57, 252, 86), +(57, 253, 67), +(57, 254, 96), +(57, 255, 81), +(57, 256, 96), +(57, 257, 86), +(57, 258, 79), +(57, 259, 95), +(57, 260, 69), +(57, 261, 79), +(57, 262, 83), +(57, 263, 77), +(57, 264, 75), +(57, 265, 71), +(57, 266, 99), +(57, 267, 99), +(57, 268, 97), +(57, 269, 82), +(57, 270, 74), +(57, 271, 92), +(57, 272, 76), +(57, 273, 72), +(57, 274, 66), +(57, 275, 83), +(57, 276, 78), +(57, 277, 91), +(57, 278, 99), +(57, 279, 75), +(57, 280, 91), +(57, 281, 68), +(57, 282, 92), +(58, 1, 78), +(58, 2, 93), +(58, 3, 74), +(58, 4, 98), +(58, 5, 86), +(58, 6, 96), +(58, 7, 89), +(58, 8, 92), +(58, 9, 89), +(58, 10, 79), +(58, 11, 68), +(58, 12, 66), +(58, 13, 65), +(58, 14, 66), +(58, 15, 75), +(58, 16, 87), +(58, 17, 99), +(58, 18, 74), +(58, 19, 80), +(58, 20, 90), +(58, 21, 78), +(58, 22, 94), +(58, 23, 93), +(58, 24, 84), +(58, 25, 81), +(58, 26, 93), +(58, 27, 76), +(58, 28, 87), +(58, 29, 96), +(58, 30, 97), +(58, 31, 73), +(58, 32, 94), +(58, 33, 78), +(58, 34, 76), +(58, 35, 92), +(58, 36, 95), +(58, 37, 72), +(58, 38, 70), +(58, 39, 97), +(58, 40, 71), +(58, 41, 86), +(58, 42, 78), +(58, 43, 66), +(58, 44, 75), +(58, 45, 72), +(58, 46, 87), +(58, 47, 80), +(58, 48, 70), +(58, 49, 71), +(58, 50, 90), +(58, 51, 93), +(58, 52, 91), +(58, 53, 69), +(58, 54, 86), +(58, 55, 99), +(58, 56, 92), +(58, 57, 90), +(58, 58, 78), +(58, 59, 83), +(58, 60, 76), +(58, 61, 87), +(58, 62, 72), +(58, 63, 79), +(58, 64, 80), +(58, 65, 94), +(58, 66, 90), +(58, 67, 88), +(58, 68, 67), +(58, 69, 97), +(58, 70, 92), +(58, 71, 94), +(58, 72, 89), +(58, 73, 69), +(58, 74, 74), +(58, 75, 65), +(58, 76, 99), +(58, 77, 94), +(58, 78, 77), +(58, 79, 88), +(58, 80, 76), +(58, 81, 96), +(58, 82, 96), +(58, 83, 74), +(58, 84, 82), +(58, 85, 72), +(58, 86, 67), +(58, 87, 86), +(58, 88, 92), +(58, 89, 99), +(58, 90, 76), +(58, 91, 85), +(58, 92, 71), +(58, 93, 74), +(58, 94, 71), +(58, 95, 87), +(58, 96, 69), +(58, 97, 84), +(58, 98, 89), +(58, 99, 78), +(58, 100, 80), +(58, 101, 77), +(58, 102, 96), +(58, 103, 75), +(58, 104, 69), +(58, 105, 71), +(58, 106, 65), +(58, 107, 84), +(58, 108, 96), +(58, 109, 93), +(58, 110, 99), +(58, 111, 98), +(58, 112, 66), +(58, 113, 74), +(58, 114, 93), +(58, 115, 95), +(58, 116, 95), +(58, 117, 98), +(58, 118, 97), +(58, 119, 91), +(58, 120, 98), +(58, 121, 97), +(58, 122, 85), +(58, 123, 71), +(58, 124, 87), +(58, 125, 66), +(58, 126, 66), +(58, 127, 79), +(58, 128, 94), +(58, 129, 93), +(58, 130, 66), +(58, 131, 83), +(58, 132, 73), +(58, 133, 82), +(58, 134, 73), +(58, 135, 86), +(58, 136, 79), +(58, 137, 73), +(58, 138, 67), +(58, 139, 75), +(58, 140, 76), +(58, 141, 67), +(58, 142, 90), +(58, 143, 84), +(58, 144, 99), +(58, 145, 84), +(58, 146, 93), +(58, 147, 93), +(58, 148, 87), +(58, 149, 77), +(58, 150, 83), +(58, 151, 95), +(58, 152, 91), +(58, 153, 80), +(58, 154, 87), +(58, 155, 92), +(58, 156, 94), +(58, 157, 82), +(58, 158, 78), +(58, 159, 68), +(58, 160, 69), +(58, 161, 69), +(58, 162, 68), +(58, 163, 71), +(58, 164, 97), +(58, 165, 96), +(58, 166, 87), +(58, 167, 96), +(58, 168, 81), +(58, 169, 97), +(58, 170, 88), +(58, 171, 96), +(58, 172, 82), +(58, 173, 85), +(58, 174, 72), +(58, 175, 75), +(58, 176, 65), +(58, 177, 93), +(58, 178, 74), +(58, 179, 87), +(58, 180, 99), +(58, 181, 98), +(58, 182, 89), +(58, 183, 92), +(58, 184, 93), +(58, 185, 65), +(58, 186, 69), +(58, 187, 72), +(58, 188, 67), +(58, 189, 79), +(58, 190, 89), +(58, 191, 95), +(58, 192, 78), +(58, 193, 72), +(58, 194, 88), +(58, 195, 83), +(58, 196, 66), +(58, 197, 90), +(58, 198, 91), +(58, 199, 78), +(58, 200, 91), +(58, 201, 66), +(58, 202, 87), +(58, 203, 65), +(58, 204, 96), +(58, 205, 78), +(58, 206, 67), +(58, 207, 99), +(58, 208, 81), +(58, 209, 95), +(58, 210, 68), +(58, 211, 66), +(58, 212, 92), +(58, 213, 87), +(58, 214, 69), +(58, 215, 86), +(58, 216, 89), +(58, 217, 68), +(58, 218, 76), +(58, 219, 89), +(58, 220, 75), +(58, 221, 75), +(58, 222, 76), +(58, 223, 67), +(58, 224, 87), +(58, 225, 86), +(58, 226, 84), +(58, 227, 90), +(58, 228, 91), +(58, 229, 79), +(58, 230, 96), +(58, 231, 90), +(58, 232, 70), +(58, 233, 73), +(58, 234, 75), +(58, 235, 77), +(58, 236, 89), +(58, 237, 90), +(58, 238, 84), +(58, 239, 92), +(58, 240, 97), +(58, 241, 96), +(58, 242, 76), +(58, 243, 87), +(58, 244, 73), +(58, 245, 96), +(58, 246, 95), +(58, 247, 81), +(58, 248, 89), +(58, 249, 79), +(58, 250, 99), +(58, 251, 95), +(58, 252, 84), +(58, 253, 75), +(58, 254, 85), +(58, 255, 66), +(58, 256, 77), +(58, 257, 91), +(58, 258, 71), +(58, 259, 95), +(58, 260, 77), +(58, 261, 86), +(58, 262, 68), +(58, 263, 93), +(58, 264, 97), +(58, 265, 78), +(58, 266, 87), +(58, 267, 76), +(58, 268, 83), +(58, 269, 76), +(58, 270, 80), +(58, 271, 76), +(58, 272, 75), +(58, 273, 70), +(58, 274, 79), +(58, 275, 71), +(58, 276, 73), +(58, 277, 82), +(58, 278, 89), +(58, 279, 68), +(58, 280, 72), +(58, 281, 67), +(58, 282, 97), +(59, 1, 88), +(59, 2, 72), +(59, 3, 83), +(59, 4, 72), +(59, 5, 70), +(59, 6, 66), +(59, 7, 75), +(59, 8, 78), +(59, 9, 83), +(59, 10, 92), +(59, 11, 93), +(59, 12, 94), +(59, 13, 96), +(59, 14, 97), +(59, 15, 93), +(59, 16, 94), +(59, 17, 86), +(59, 18, 76), +(59, 19, 93), +(59, 20, 77), +(59, 21, 74), +(59, 22, 91), +(59, 23, 78), +(59, 24, 97), +(59, 25, 82), +(59, 26, 90), +(59, 27, 88), +(59, 28, 98), +(59, 29, 87), +(59, 30, 66), +(59, 31, 89), +(59, 32, 67), +(59, 33, 86), +(59, 34, 78), +(59, 35, 76), +(59, 36, 72), +(59, 37, 67), +(59, 38, 98), +(59, 39, 96), +(59, 40, 78), +(59, 41, 89), +(59, 42, 67), +(59, 43, 99), +(59, 44, 71), +(59, 45, 67), +(59, 46, 91), +(59, 47, 87), +(59, 48, 83), +(59, 49, 96), +(59, 50, 68), +(59, 51, 72), +(59, 52, 94), +(59, 53, 79), +(59, 54, 86), +(59, 55, 86), +(59, 56, 90), +(59, 57, 80), +(59, 58, 65), +(59, 59, 80), +(59, 60, 91), +(59, 61, 94), +(59, 62, 70), +(59, 63, 90), +(59, 64, 68), +(59, 65, 97), +(59, 66, 87), +(59, 67, 74), +(59, 68, 97), +(59, 69, 88), +(59, 70, 80), +(59, 71, 73), +(59, 72, 96), +(59, 73, 82), +(59, 74, 84), +(59, 75, 87), +(59, 76, 70), +(59, 77, 78), +(59, 78, 85), +(59, 79, 97), +(59, 80, 80), +(59, 81, 78), +(59, 82, 97), +(59, 83, 71), +(59, 84, 75), +(59, 85, 96), +(59, 86, 65), +(59, 87, 75), +(59, 88, 73), +(59, 89, 99), +(59, 90, 65), +(59, 91, 91), +(59, 92, 94), +(59, 93, 86), +(59, 94, 90), +(59, 95, 76), +(59, 96, 99), +(59, 97, 96), +(59, 98, 86), +(59, 99, 66), +(59, 100, 97), +(59, 101, 81), +(59, 102, 70), +(59, 103, 88), +(59, 104, 65), +(59, 105, 88), +(59, 106, 68), +(59, 107, 93), +(59, 108, 95), +(59, 109, 78), +(59, 110, 97), +(59, 111, 91), +(59, 112, 94), +(59, 113, 96), +(59, 114, 82), +(59, 115, 80), +(59, 116, 72), +(59, 117, 87), +(59, 118, 69), +(59, 119, 95), +(59, 120, 77), +(59, 121, 85), +(59, 122, 73), +(59, 123, 92), +(59, 124, 90), +(59, 125, 92), +(59, 126, 68), +(59, 127, 70), +(59, 128, 98), +(59, 129, 83), +(59, 130, 96), +(59, 131, 84), +(59, 132, 66), +(59, 133, 75), +(59, 134, 81), +(59, 135, 70), +(59, 136, 90), +(59, 137, 81), +(59, 138, 81), +(59, 139, 89), +(59, 140, 81), +(59, 141, 73), +(59, 142, 98), +(59, 143, 75), +(59, 144, 69), +(59, 145, 95), +(59, 146, 75), +(59, 147, 76), +(59, 148, 65), +(59, 149, 82), +(59, 150, 81), +(59, 151, 96), +(59, 152, 79), +(59, 153, 71), +(59, 154, 85), +(59, 155, 82), +(59, 156, 91), +(59, 157, 85), +(59, 158, 90), +(59, 159, 79), +(59, 160, 83), +(59, 161, 85), +(59, 162, 84), +(59, 163, 83), +(59, 164, 83), +(59, 165, 82), +(59, 166, 89), +(59, 167, 98), +(59, 168, 85), +(59, 169, 68), +(59, 170, 86), +(59, 171, 91), +(59, 172, 91), +(59, 173, 72), +(59, 174, 92), +(59, 175, 93), +(59, 176, 81), +(59, 177, 96), +(59, 178, 77), +(59, 179, 99), +(59, 180, 90), +(59, 181, 97), +(59, 182, 94), +(59, 183, 80), +(59, 184, 76), +(59, 185, 67), +(59, 186, 84), +(59, 187, 88), +(59, 188, 68), +(59, 189, 88), +(59, 190, 74), +(59, 191, 79), +(59, 192, 99), +(59, 193, 83), +(59, 194, 71), +(59, 195, 66), +(59, 196, 86), +(59, 197, 69), +(59, 198, 71), +(59, 199, 97), +(59, 200, 90), +(59, 201, 71), +(59, 202, 98), +(59, 203, 87), +(59, 204, 89), +(59, 205, 71), +(59, 206, 83), +(59, 207, 82), +(59, 208, 97), +(59, 209, 83), +(59, 210, 85), +(59, 211, 97), +(59, 212, 83), +(59, 213, 83), +(59, 214, 70), +(59, 215, 85), +(59, 216, 87), +(59, 217, 80), +(59, 218, 73), +(59, 219, 73), +(59, 220, 82), +(59, 221, 87), +(59, 222, 80), +(59, 223, 69), +(59, 224, 80), +(59, 225, 87), +(59, 226, 94), +(59, 227, 91), +(59, 228, 84), +(59, 229, 83), +(59, 230, 97), +(59, 231, 65), +(59, 232, 96), +(59, 233, 78), +(59, 234, 94), +(59, 235, 85), +(59, 236, 99), +(59, 237, 79), +(59, 238, 86), +(59, 239, 74), +(59, 240, 86), +(59, 241, 67), +(59, 242, 92), +(59, 243, 65), +(59, 244, 98), +(59, 245, 91), +(59, 246, 85), +(59, 247, 81), +(59, 248, 82), +(59, 249, 68), +(59, 250, 68), +(59, 251, 89), +(59, 252, 97), +(59, 253, 73), +(59, 254, 74), +(59, 255, 93), +(59, 256, 66), +(59, 257, 65), +(59, 258, 86), +(59, 259, 92), +(59, 260, 79), +(59, 261, 97), +(59, 262, 95), +(59, 263, 98), +(59, 264, 94), +(59, 265, 81), +(59, 266, 75), +(59, 267, 88), +(59, 268, 96), +(59, 269, 68), +(59, 270, 80), +(59, 271, 73), +(59, 272, 85), +(59, 273, 71), +(59, 274, 99), +(59, 275, 79), +(59, 276, 99), +(59, 277, 72), +(59, 278, 83), +(59, 279, 83), +(59, 280, 92), +(59, 281, 69), +(59, 282, 76), +(60, 1, 73), +(60, 2, 86), +(60, 3, 93), +(60, 4, 71), +(60, 5, 99), +(60, 6, 81), +(60, 7, 78), +(60, 8, 82), +(60, 9, 86), +(60, 10, 87), +(60, 11, 91), +(60, 12, 68), +(60, 13, 79), +(60, 14, 82), +(60, 15, 70), +(60, 16, 77), +(60, 17, 68), +(60, 18, 93), +(60, 19, 90), +(60, 20, 85), +(60, 21, 69), +(60, 22, 73), +(60, 23, 81), +(60, 24, 65), +(60, 25, 67), +(60, 26, 74), +(60, 27, 79), +(60, 28, 95), +(60, 29, 80), +(60, 30, 83), +(60, 31, 94), +(60, 32, 92), +(60, 33, 95), +(60, 34, 66), +(60, 35, 78), +(60, 36, 80), +(60, 37, 89), +(60, 38, 77), +(60, 39, 90), +(60, 40, 77), +(60, 41, 85), +(60, 42, 74), +(60, 43, 95), +(60, 44, 99), +(60, 45, 88), +(60, 46, 92), +(60, 47, 95), +(60, 48, 73), +(60, 49, 97), +(60, 50, 76), +(60, 51, 88), +(60, 52, 98), +(60, 53, 87), +(60, 54, 72), +(60, 55, 68), +(60, 56, 73), +(60, 57, 67), +(60, 58, 99), +(60, 59, 86), +(60, 60, 92), +(60, 61, 76), +(60, 62, 68), +(60, 63, 78), +(60, 64, 71), +(60, 65, 70), +(60, 66, 65), +(60, 67, 76), +(60, 68, 80), +(60, 69, 83), +(60, 70, 94), +(60, 71, 89), +(60, 72, 78), +(60, 73, 70), +(60, 74, 99), +(60, 75, 71), +(60, 76, 93), +(60, 77, 80), +(60, 78, 95), +(60, 79, 85), +(60, 80, 71), +(60, 81, 71), +(60, 82, 99), +(60, 83, 69), +(60, 84, 98), +(60, 85, 92), +(60, 86, 94), +(60, 87, 89), +(60, 88, 93), +(60, 89, 97), +(60, 90, 65), +(60, 91, 98), +(60, 92, 87), +(60, 93, 76), +(60, 94, 99), +(60, 95, 86), +(60, 96, 85), +(60, 97, 90), +(60, 98, 67), +(60, 99, 66), +(60, 100, 75), +(60, 101, 73), +(60, 102, 66), +(60, 103, 82), +(60, 104, 90), +(60, 105, 91), +(60, 106, 81), +(60, 107, 79), +(60, 108, 87), +(60, 109, 81), +(60, 110, 89), +(60, 111, 98), +(60, 112, 70), +(60, 113, 86), +(60, 114, 65), +(60, 115, 87), +(60, 116, 81), +(60, 117, 78), +(60, 118, 93), +(60, 119, 67), +(60, 120, 96), +(60, 121, 73), +(60, 122, 79), +(60, 123, 77), +(60, 124, 90), +(60, 125, 95), +(60, 126, 77), +(60, 127, 80), +(60, 128, 76), +(60, 129, 70), +(60, 130, 77), +(60, 131, 72), +(60, 132, 80), +(60, 133, 99), +(60, 134, 84), +(60, 135, 66), +(60, 136, 78), +(60, 137, 88), +(60, 138, 69), +(60, 139, 88), +(60, 140, 76), +(60, 141, 65), +(60, 142, 84), +(60, 143, 95), +(60, 144, 88), +(60, 145, 89), +(60, 146, 68), +(60, 147, 72), +(60, 148, 72), +(60, 149, 78), +(60, 150, 93), +(60, 151, 97), +(60, 152, 92), +(60, 153, 87), +(60, 154, 97), +(60, 155, 72), +(60, 156, 72), +(60, 157, 82), +(60, 158, 81), +(60, 159, 92), +(60, 160, 71), +(60, 161, 82), +(60, 162, 84), +(60, 163, 66), +(60, 164, 94), +(60, 165, 95), +(60, 166, 85), +(60, 167, 67), +(60, 168, 84), +(60, 169, 91), +(60, 170, 68), +(60, 171, 68), +(60, 172, 75), +(60, 173, 74), +(60, 174, 76), +(60, 175, 70), +(60, 176, 72), +(60, 177, 70), +(60, 178, 67), +(60, 179, 98), +(60, 180, 89), +(60, 181, 90), +(60, 182, 70), +(60, 183, 93), +(60, 184, 70), +(60, 185, 75), +(60, 186, 78), +(60, 187, 91), +(60, 188, 76), +(60, 189, 67), +(60, 190, 72), +(60, 191, 79), +(60, 192, 92), +(60, 193, 99), +(60, 194, 96), +(60, 195, 87), +(60, 196, 98), +(60, 197, 78), +(60, 198, 88), +(60, 199, 82), +(60, 200, 76), +(60, 201, 96), +(60, 202, 93), +(60, 203, 70), +(60, 204, 92), +(60, 205, 91), +(60, 206, 81), +(60, 207, 84), +(60, 208, 70), +(60, 209, 65), +(60, 210, 86), +(60, 211, 83), +(60, 212, 76), +(60, 213, 91), +(60, 214, 78), +(60, 215, 66), +(60, 216, 68), +(60, 217, 97), +(60, 218, 73), +(60, 219, 70), +(60, 220, 85), +(60, 221, 77), +(60, 222, 75), +(60, 223, 79), +(60, 224, 75), +(60, 225, 78), +(60, 226, 80), +(60, 227, 88), +(60, 228, 82), +(60, 229, 76), +(60, 230, 65), +(60, 231, 97), +(60, 232, 66), +(60, 233, 72), +(60, 234, 76), +(60, 235, 97), +(60, 236, 97), +(60, 237, 97), +(60, 238, 79), +(60, 239, 66), +(60, 240, 75), +(60, 241, 85), +(60, 242, 65), +(60, 243, 70), +(60, 244, 66), +(60, 245, 66), +(60, 246, 75), +(60, 247, 95), +(60, 248, 78), +(60, 249, 73), +(60, 250, 82), +(60, 251, 96), +(60, 252, 66), +(60, 253, 74), +(60, 254, 87), +(60, 255, 96), +(60, 256, 72), +(60, 257, 93), +(60, 258, 82), +(60, 259, 73), +(60, 260, 99), +(60, 261, 91), +(60, 262, 66), +(60, 263, 80), +(60, 264, 78), +(60, 265, 70), +(60, 266, 84), +(60, 267, 75), +(60, 268, 93), +(60, 269, 83), +(60, 270, 93), +(60, 271, 75), +(60, 272, 67), +(60, 273, 78), +(60, 274, 87), +(60, 275, 79), +(60, 276, 75), +(60, 277, 85), +(60, 278, 85), +(60, 279, 78), +(60, 280, 77), +(60, 281, 76), +(60, 282, 95), +(10000, 1, 80), +(10000, 2, 76), +(10000, 3, 75), +(10000, 4, 96), +(10000, 5, 82), +(10000, 6, 73), +(10000, 7, 76), +(10000, 8, 76), +(10000, 9, 70), +(10000, 10, 78), +(10000, 11, 82), +(10000, 12, 73), +(10000, 13, 82), +(10000, 14, 73), +(10000, 15, 66), +(10000, 16, 75), +(10000, 17, 82), +(10000, 18, 96), +(10000, 19, 78), +(10000, 20, 99), +(10000, 21, 78), +(10000, 22, 90), +(10000, 23, 75), +(10000, 24, 72), +(10000, 25, 86), +(10000, 26, 69), +(10000, 27, 72), +(10000, 28, 94), +(10000, 29, 92), +(10000, 30, 96), +(10000, 31, 72), +(10000, 32, 75), +(10000, 33, 93), +(10000, 34, 69), +(10000, 35, 65), +(10000, 36, 83), +(10000, 37, 74), +(10000, 38, 82), +(10000, 39, 68), +(10000, 40, 92), +(10000, 41, 85), +(10000, 42, 65), +(10000, 43, 96), +(10000, 44, 84), +(10000, 45, 74), +(10000, 46, 98), +(10000, 47, 98), +(10000, 48, 89), +(10000, 49, 94), +(10000, 50, 69), +(10000, 51, 78), +(10000, 52, 79), +(10000, 53, 71), +(10000, 54, 88), +(10000, 55, 82), +(10000, 56, 83), +(10000, 57, 98), +(10000, 58, 76), +(10000, 59, 87), +(10000, 60, 73), +(10000, 61, 99), +(10000, 62, 71), +(10000, 63, 85), +(10000, 64, 67), +(10000, 65, 98), +(10000, 66, 94), +(10000, 67, 92), +(10000, 68, 89), +(10000, 69, 70), +(10000, 70, 68), +(10000, 71, 90), +(10000, 72, 87), +(10000, 73, 98), +(10000, 74, 72), +(10000, 75, 96), +(10000, 76, 79), +(10000, 77, 89), +(10000, 78, 94), +(10000, 79, 92), +(10000, 80, 71), +(10000, 81, 76), +(10000, 82, 73), +(10000, 83, 99), +(10000, 84, 85), +(10000, 85, 99), +(10000, 86, 86), +(10000, 87, 69), +(10000, 88, 88), +(10000, 89, 95), +(10000, 90, 68), +(10000, 91, 68), +(10000, 92, 97), +(10000, 93, 72), +(10000, 94, 72), +(10000, 95, 86), +(10000, 96, 77), +(10000, 97, 91), +(10000, 98, 67), +(10000, 99, 84), +(10000, 100, 90), +(10000, 101, 91), +(10000, 102, 92), +(10000, 103, 71), +(10000, 104, 95), +(10000, 105, 99), +(10000, 106, 81), +(10000, 107, 67), +(10000, 108, 89), +(10000, 109, 94), +(10000, 110, 92), +(10000, 111, 79), +(10000, 112, 83), +(10000, 113, 92), +(10000, 114, 66), +(10000, 115, 86), +(10000, 116, 83), +(10000, 117, 70), +(10000, 118, 90), +(10000, 119, 83), +(10000, 120, 71), +(10000, 121, 79), +(10000, 122, 84), +(10000, 123, 96), +(10000, 124, 90), +(10000, 125, 65), +(10000, 126, 87), +(10000, 127, 90), +(10000, 128, 77), +(10000, 129, 78), +(10000, 130, 75), +(10000, 131, 79), +(10000, 132, 80), +(10000, 133, 98), +(10000, 134, 82), +(10000, 135, 92), +(10000, 136, 90), +(10000, 137, 75), +(10000, 138, 69), +(10000, 139, 77), +(10000, 140, 70), +(10000, 141, 65), +(10000, 142, 79), +(10000, 143, 90), +(10000, 144, 88), +(10000, 145, 95), +(10000, 146, 71), +(10000, 147, 73), +(10000, 148, 72), +(10000, 149, 75), +(10000, 150, 97), +(10000, 151, 79), +(10000, 152, 65), +(10000, 153, 96), +(10000, 154, 84), +(10000, 155, 67), +(10000, 156, 99), +(10000, 157, 81), +(10000, 158, 87), +(10000, 159, 98), +(10000, 160, 90), +(10000, 161, 86), +(10000, 162, 96), +(10000, 163, 81), +(10000, 164, 95), +(10000, 165, 90), +(10000, 166, 71), +(10000, 167, 86), +(10000, 168, 79), +(10000, 169, 91), +(10000, 170, 66), +(10000, 171, 88), +(10000, 172, 86), +(10000, 173, 94), +(10000, 174, 91), +(10000, 175, 83), +(10000, 176, 66), +(10000, 177, 80), +(10000, 178, 89), +(10000, 179, 71), +(10000, 180, 72), +(10000, 181, 89), +(10000, 182, 71), +(10000, 183, 79), +(10000, 184, 90), +(10000, 185, 99), +(10000, 186, 74), +(10000, 187, 96), +(10000, 188, 76), +(10000, 189, 96), +(10000, 190, 71), +(10000, 191, 91), +(10000, 192, 92), +(10000, 193, 76), +(10000, 194, 75), +(10000, 195, 91), +(10000, 196, 75), +(10000, 197, 78), +(10000, 198, 76), +(10000, 199, 94), +(10000, 200, 96), +(10000, 201, 78), +(10000, 202, 65), +(10000, 203, 69), +(10000, 204, 98), +(10000, 205, 85), +(10000, 206, 91), +(10000, 207, 90), +(10000, 208, 83), +(10000, 209, 96), +(10000, 210, 70), +(10000, 211, 93), +(10000, 212, 94), +(10000, 213, 71), +(10000, 214, 91), +(10000, 215, 74), +(10000, 216, 67), +(10000, 217, 82), +(10000, 218, 76), +(10000, 219, 93), +(10000, 220, 66), +(10000, 221, 69), +(10000, 222, 79), +(10000, 223, 83), +(10000, 224, 84), +(10000, 225, 76), +(10000, 226, 81), +(10000, 227, 66), +(10000, 228, 81), +(10000, 229, 93), +(10000, 230, 69), +(10000, 231, 87), +(10000, 232, 68), +(10000, 233, 65), +(10000, 234, 91), +(10000, 235, 67), +(10000, 236, 95), +(10000, 237, 69), +(10000, 238, 73), +(10000, 239, 83), +(10000, 240, 83), +(10000, 241, 97), +(10000, 242, 68), +(10000, 243, 96), +(10000, 244, 87), +(10000, 245, 77), +(10000, 246, 72), +(10000, 247, 79), +(10000, 248, 89), +(10000, 249, 91), +(10000, 250, 87), +(10000, 251, 90), +(10000, 252, 76), +(10000, 253, 65), +(10000, 254, 89), +(10000, 255, 99), +(10000, 256, 79), +(10000, 257, 96), +(10000, 258, 71), +(10000, 259, 80), +(10000, 260, 77), +(10000, 261, 89), +(10000, 262, 79), +(10000, 263, 66), +(10000, 264, 95), +(10000, 265, 66), +(10000, 266, 90), +(10000, 267, 98), +(10000, 268, 87), +(10000, 269, 66), +(10000, 270, 86), +(10000, 271, 73), +(10000, 272, 77), +(10000, 273, 80), +(10000, 274, 96), +(10000, 275, 83), +(10000, 276, 81), +(10000, 277, 79), +(10000, 278, 94), +(10000, 279, 89), +(10000, 280, 82), +(10000, 281, 81), +(10000, 282, 76); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `nilai_mk` +-- + +CREATE TABLE `nilai_mk` ( + `id_nilai_mk` bigint(20) UNSIGNED NOT NULL, + `id_mhs` bigint(20) UNSIGNED NOT NULL, + `id_mk` char(36) NOT NULL, + `semester_tempuh` tinyint(4) NOT NULL, + `tahun_ajaran` varchar(20) NOT NULL, + `nilai_angka` float NOT NULL, + `nilai_huruf` char(2) DEFAULT NULL, + `sumber` varchar(20) DEFAULT NULL, + `created_at` timestamp NULL DEFAULT current_timestamp(), + `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Dumping data for table `nilai_mk` +-- + +INSERT INTO `nilai_mk` (`id_nilai_mk`, `id_mhs`, `id_mk`, `semester_tempuh`, `tahun_ajaran`, `nilai_angka`, `nilai_huruf`, `sumber`, `created_at`, `updated_at`) VALUES +(1, 1, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 57, NULL, 'import_json', '2026-01-17 00:54:09', '2026-01-17 00:54:09'), +(2, 1, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:09', '2026-01-17 00:54:09'), +(3, 1, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 99, NULL, 'import_json', '2026-01-17 00:54:09', '2026-01-17 00:54:09'), +(4, 1, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(5, 1, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(6, 1, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 68, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(7, 1, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 78, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(8, 1, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 64, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(9, 1, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(10, 1, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(11, 2, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 55, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(12, 2, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 64, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(13, 2, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 99, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(14, 2, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 85, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(15, 2, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 64, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(16, 2, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(17, 2, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 73, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(18, 2, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(19, 2, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(20, 2, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(21, 3, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 75, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(22, 3, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 89, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(23, 3, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 76, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(24, 3, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(25, 3, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(26, 3, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 50, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(27, 3, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 97, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(28, 3, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(29, 3, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(30, 3, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 94, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(31, 4, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 97, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(32, 4, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 56, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(33, 4, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 69, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(34, 4, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(35, 4, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(36, 4, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(37, 4, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(38, 4, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 87, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(39, 4, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 56, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(40, 4, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 70, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(41, 5, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 85, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(42, 5, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(43, 5, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 70, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(44, 5, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(45, 5, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(46, 5, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(47, 5, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(48, 5, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 71, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(49, 5, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 56, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(50, 5, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(51, 6, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(52, 6, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 65, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(53, 6, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(54, 6, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(55, 6, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(56, 6, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(57, 6, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(58, 6, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 66, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(59, 6, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(60, 6, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 89, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(61, 7, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 73, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(62, 7, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(63, 7, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(64, 7, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(65, 7, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(66, 7, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 55, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(67, 7, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(68, 7, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(69, 7, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 68, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(70, 7, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(71, 8, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(72, 8, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(73, 8, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(74, 8, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 75, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(75, 8, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 50, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(76, 8, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(77, 8, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 94, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(78, 8, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(79, 8, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 56, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(80, 8, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(81, 9, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(82, 9, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(83, 9, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 71, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(84, 9, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(85, 9, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 69, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(86, 9, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(87, 9, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 55, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(88, 9, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(89, 9, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(90, 9, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(91, 10, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(92, 10, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(93, 10, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(94, 10, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 93, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(95, 10, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(96, 10, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(97, 10, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(98, 10, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(99, 10, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(100, 10, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 64, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(101, 11, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(102, 11, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(103, 11, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 75, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(104, 11, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 89, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(105, 11, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(106, 11, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 76, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(107, 11, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(108, 11, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(109, 11, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(110, 11, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:10', '2026-01-17 00:54:10'), +(111, 12, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(112, 12, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(113, 12, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(114, 12, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 76, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(115, 12, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(116, 12, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(117, 12, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(118, 12, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(119, 12, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 70, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(120, 12, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(121, 13, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(122, 13, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(123, 13, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(124, 13, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(125, 13, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(126, 13, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(127, 13, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 57, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(128, 13, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(129, 13, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(130, 13, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(131, 14, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(132, 14, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(133, 14, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(134, 14, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(135, 14, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(136, 14, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(137, 14, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 65, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(138, 14, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(139, 14, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 75, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(140, 14, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(141, 15, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(142, 15, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(143, 15, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(144, 15, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(145, 15, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(146, 15, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(147, 15, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(148, 15, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(149, 15, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(150, 15, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(151, 16, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 76, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(152, 16, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(153, 16, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(154, 16, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(155, 16, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(156, 16, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(157, 16, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 97, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(158, 16, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:11', '2026-01-17 00:54:11'), +(159, 16, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(160, 16, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(161, 17, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(162, 17, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(163, 17, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(164, 17, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(165, 17, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(166, 17, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(167, 17, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(168, 17, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(169, 17, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(170, 17, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 71, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(171, 18, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(172, 18, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(173, 18, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(174, 18, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(175, 18, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(176, 18, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(177, 18, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(178, 18, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 97, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(179, 18, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(180, 18, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(181, 19, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(182, 19, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(183, 19, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 71, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(184, 19, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(185, 19, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(186, 19, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 57, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(187, 19, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(188, 19, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(189, 19, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(190, 19, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(191, 20, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(192, 20, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(193, 20, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(194, 20, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(195, 20, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(196, 20, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(197, 20, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(198, 20, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(199, 20, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(200, 20, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(201, 21, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 99, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(202, 21, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 65, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(203, 21, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 80, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(204, 21, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(205, 21, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 75, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(206, 21, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(207, 21, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(208, 21, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 94, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(209, 21, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 99, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(210, 21, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(211, 22, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 76, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(212, 22, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(213, 22, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 76, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(214, 22, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 64, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(215, 22, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(216, 22, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 93, NULL, 'import_json', '2026-01-17 00:54:12', '2026-01-17 00:54:12'), +(217, 22, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(218, 22, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 94, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(219, 22, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(220, 22, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(221, 23, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 68, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(222, 23, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(223, 23, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(224, 23, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 87, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(225, 23, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(226, 23, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(227, 23, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(228, 23, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 70, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(229, 23, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(230, 23, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 80, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(231, 24, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(232, 24, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 70, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(233, 24, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 89, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(234, 24, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(235, 24, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(236, 24, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 96, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(237, 24, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(238, 24, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(239, 24, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 56, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(240, 24, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(241, 25, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(242, 25, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(243, 25, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(244, 25, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(245, 25, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(246, 25, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 66, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(247, 25, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(248, 25, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 75, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(249, 25, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 76, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(250, 25, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(251, 26, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(252, 26, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 89, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(253, 26, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(254, 26, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(255, 26, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 55, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(256, 26, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(257, 26, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 97, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(258, 26, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 64, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(259, 26, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(260, 26, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(261, 27, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 76, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(262, 27, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(263, 27, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(264, 27, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 56, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(265, 27, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(266, 27, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(267, 27, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(268, 27, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(269, 27, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(270, 27, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 75, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(271, 28, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 56, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(272, 28, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(273, 28, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 70, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(274, 28, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(275, 28, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(276, 28, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(277, 28, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 96, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(278, 28, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:13', '2026-01-17 00:54:13'), +(279, 28, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(280, 28, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(281, 29, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(282, 29, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(283, 29, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(284, 29, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(285, 29, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(286, 29, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(287, 29, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 64, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(288, 29, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(289, 29, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(290, 29, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(291, 30, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(292, 30, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(293, 30, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 68, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(294, 30, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(295, 30, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(296, 30, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(297, 30, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(298, 30, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 75, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(299, 30, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(300, 30, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 69, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(301, 31, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(302, 31, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(303, 31, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(304, 31, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(305, 31, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(306, 31, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(307, 31, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(308, 31, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(309, 31, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(310, 31, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(311, 32, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(312, 32, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(313, 32, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(314, 32, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(315, 32, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(316, 32, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(317, 32, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(318, 32, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(319, 32, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(320, 32, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(321, 33, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(322, 33, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:14', '2026-01-17 00:54:14'), +(323, 33, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(324, 33, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(325, 33, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(326, 33, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(327, 33, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(328, 33, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(329, 33, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(330, 33, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(331, 34, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 75, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(332, 34, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(333, 34, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(334, 34, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(335, 34, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(336, 34, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(337, 34, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(338, 34, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(339, 34, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(340, 34, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(341, 35, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(342, 35, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(343, 35, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(344, 35, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(345, 35, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(346, 35, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(347, 35, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(348, 35, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(349, 35, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(350, 35, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(351, 36, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(352, 36, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(353, 36, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(354, 36, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(355, 36, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(356, 36, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 55, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(357, 36, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(358, 36, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(359, 36, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(360, 36, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:15', '2026-01-17 00:54:15'), +(361, 37, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(362, 37, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(363, 37, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(364, 37, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(365, 37, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(366, 37, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(367, 37, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'); +INSERT INTO `nilai_mk` (`id_nilai_mk`, `id_mhs`, `id_mk`, `semester_tempuh`, `tahun_ajaran`, `nilai_angka`, `nilai_huruf`, `sumber`, `created_at`, `updated_at`) VALUES +(368, 37, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(369, 37, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(370, 37, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(371, 38, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(372, 38, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(373, 38, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(374, 38, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(375, 38, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(376, 38, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(377, 38, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 69, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(378, 38, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(379, 38, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(380, 38, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(381, 39, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(382, 39, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(383, 39, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(384, 39, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(385, 39, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(386, 39, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(387, 39, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 69, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(388, 39, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(389, 39, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(390, 39, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(391, 40, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(392, 40, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(393, 40, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(394, 40, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(395, 40, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(396, 40, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(397, 40, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(398, 40, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 69, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(399, 40, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(400, 40, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(401, 41, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 50, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(402, 41, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 78, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(403, 41, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(404, 41, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 87, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(405, 41, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(406, 41, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 100, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(407, 41, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(408, 41, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(409, 41, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(410, 41, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(411, 42, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(412, 42, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(413, 42, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 64, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(414, 42, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 75, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(415, 42, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(416, 42, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(417, 42, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(418, 42, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(419, 42, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(420, 42, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(421, 43, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(422, 43, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(423, 43, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(424, 43, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 96, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(425, 43, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 97, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(426, 43, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 100, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(427, 43, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(428, 43, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 65, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(429, 43, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 97, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(430, 43, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(431, 44, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(432, 44, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(433, 44, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 87, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(434, 44, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(435, 44, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(436, 44, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(437, 44, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 97, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(438, 44, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(439, 44, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 99, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(440, 44, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(441, 45, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(442, 45, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(443, 45, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(444, 45, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 57, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(445, 45, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 89, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(446, 45, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 69, NULL, 'import_json', '2026-01-17 00:54:16', '2026-01-17 00:54:16'), +(447, 45, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(448, 45, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 71, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(449, 45, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(450, 45, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(451, 46, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(452, 46, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(453, 46, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(454, 46, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(455, 46, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(456, 46, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 56, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(457, 46, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(458, 46, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 55, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(459, 46, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(460, 46, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 73, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(461, 47, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(462, 47, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(463, 47, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(464, 47, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(465, 47, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(466, 47, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(467, 47, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 64, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(468, 47, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(469, 47, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(470, 47, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(471, 48, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 89, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(472, 48, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(473, 48, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(474, 48, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(475, 48, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(476, 48, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(477, 48, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(478, 48, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 77, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(479, 48, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(480, 48, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 73, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(481, 49, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(482, 49, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(483, 49, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(484, 49, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(485, 49, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 76, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(486, 49, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(487, 49, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 69, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(488, 49, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(489, 49, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(490, 49, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 70, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(491, 50, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(492, 50, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(493, 50, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(494, 50, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(495, 50, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(496, 50, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(497, 50, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(498, 50, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(499, 50, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(500, 50, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(501, 51, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(502, 51, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 75, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(503, 51, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 54, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(504, 51, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(505, 51, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(506, 51, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(507, 51, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(508, 51, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 97, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(509, 51, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 65, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(510, 51, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(511, 52, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 70, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(512, 52, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(513, 52, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(514, 52, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(515, 52, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(516, 52, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(517, 52, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(518, 52, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 81, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(519, 52, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(520, 52, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(521, 53, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(522, 53, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(523, 53, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(524, 53, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(525, 53, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(526, 53, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(527, 53, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(528, 53, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 97, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(529, 53, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(530, 53, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 70, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(531, 54, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(532, 54, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 92, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(533, 54, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(534, 54, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(535, 54, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(536, 54, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 58, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(537, 54, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(538, 54, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(539, 54, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(540, 54, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(541, 55, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(542, 55, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(543, 55, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 62, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(544, 55, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(545, 55, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(546, 55, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(547, 55, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(548, 55, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(549, 55, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(550, 55, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 97, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(551, 56, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 98, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(552, 56, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(553, 56, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 57, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(554, 56, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(555, 56, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(556, 56, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 84, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(557, 56, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(558, 56, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(559, 56, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(560, 56, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(561, 57, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(562, 57, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 51, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(563, 57, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(564, 57, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 59, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(565, 57, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 72, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(566, 57, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(567, 57, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 55, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(568, 57, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(569, 57, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(570, 57, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(571, 58, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(572, 58, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 86, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(573, 58, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(574, 58, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:17', '2026-01-17 00:54:17'), +(575, 58, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(576, 58, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 67, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(577, 58, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(578, 58, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(579, 58, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(580, 58, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 91, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(581, 59, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 71, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(582, 59, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 90, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(583, 59, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 95, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(584, 59, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(585, 59, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 55, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(586, 59, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(587, 59, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 60, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(588, 59, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(589, 59, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 83, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(590, 59, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(591, 60, '75e925ed-43ed-40e5-91de-706b0b1a1964', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(592, 60, 'c38fe3b7-9ef9-4b26-8158-b1c6ce5f29e4', 1, '2024/2025', 79, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(593, 60, 'e0ff767f-6980-4036-868d-6b4ce30c741e', 1, '2024/2025', 88, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(594, 60, '062789e7-049e-4d8e-9a74-fa050c4d4a62', 1, '2024/2025', 61, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(595, 60, '18ea0402-3c11-483a-a40a-2e03fddf7bea', 1, '2024/2025', 52, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(596, 60, '78cc54ba-531c-4239-b542-049006cf8671', 1, '2024/2025', 74, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(597, 60, '8762c433-6fdd-462b-8494-1d264eb3dd15', 1, '2024/2025', 71, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(598, 60, 'accf154a-1fa4-4804-bf46-fe4287399e61', 1, '2024/2025', 63, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(599, 60, 'b0a2bd49-8e66-4f01-b099-3182c92da4b4', 1, '2024/2025', 82, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(600, 60, '0e792536-9f4b-4e87-ad13-403d4feed76b', 1, '2024/2025', 53, NULL, 'import_json', '2026-01-17 00:54:18', '2026-01-17 00:54:18'), +(601, 1, '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 8, '2026/2027', 91, NULL, 'import_json', '2026-01-17 00:56:33', '2026-01-21 23:55:27'), +(602, 9, '06935e6f-f2fb-4d36-b055-ba4ce92c3bfd', 8, '2026/2027', 100, NULL, 'import_json', '2026-01-17 00:56:54', '2026-01-17 00:56:54'), +(603, 9, '1a55adb5-cfea-4e52-be90-891d6be6aff0', 3, '2026/2027', 100, NULL, 'import_json', '2026-01-17 01:02:19', '2026-01-17 01:02:19'), +(604, 1, '1a55adb5-cfea-4e52-be90-891d6be6aff0', 3, '2026/2027', 100, NULL, 'import_json', '2026-01-17 01:02:47', '2026-01-17 01:02:47'), +(605, 1, 'a9797522-c7e0-4766-845b-d24035c68f96', 6, '2026/2027', 100, NULL, 'import_json', '2026-01-17 01:03:46', '2026-01-17 01:03:46'), +(606, 1, '39ce9c4e-3576-4506-b0bd-5ed0fc73e43f', 3, '2026/2027', 70, NULL, 'import_json', '2026-01-21 17:06:04', '2026-01-21 17:06:04'), +(607, 1, '6511033c-07c2-4509-bc3e-95adee542c3d', 6, '2026/2027', 99, NULL, 'import_json', '2026-01-21 22:23:35', '2026-01-22 02:28:13'), +(608, 1, '6c16c7cc-0ad6-4dba-975e-6f445845c0a5', 6, '2026/2027', 50, NULL, 'import_json', '2026-01-21 22:23:44', '2026-01-21 22:23:44'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `nilai_sub_cpmk` +-- + +CREATE TABLE `nilai_sub_cpmk` ( + `id_mhs` bigint(20) UNSIGNED NOT NULL, + `id_sub_cpmk` bigint(20) UNSIGNED NOT NULL, + `nilai` float NOT NULL DEFAULT 0 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `nilai_sub_cpmk` +-- + +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(1, 1, 93), +(1, 2, 77), +(1, 3, 87), +(1, 4, 90), +(1, 5, 84), +(1, 6, 72), +(1, 7, 83), +(1, 8, 75), +(1, 9, 76), +(1, 10, 82), +(1, 11, 67), +(1, 12, 93), +(1, 13, 80), +(1, 14, 89), +(1, 15, 75), +(1, 16, 71), +(1, 17, 88), +(1, 18, 73), +(1, 19, 81), +(1, 20, 85), +(1, 21, 72), +(1, 22, 74), +(1, 23, 87), +(1, 24, 69), +(1, 25, 87), +(1, 26, 87), +(1, 27, 76), +(1, 28, 68), +(1, 29, 67), +(1, 30, 95), +(1, 31, 90), +(1, 32, 96), +(1, 33, 79), +(1, 34, 83), +(1, 35, 65), +(1, 36, 77), +(1, 37, 97), +(1, 38, 97), +(1, 39, 99), +(1, 40, 99), +(1, 41, 86), +(1, 42, 93), +(1, 43, 65), +(1, 44, 88), +(1, 45, 82), +(1, 46, 87), +(1, 47, 74), +(1, 48, 72), +(1, 49, 87), +(1, 50, 81), +(1, 51, 88), +(1, 52, 95), +(1, 53, 65), +(1, 54, 80), +(1, 55, 98), +(1, 56, 75), +(1, 57, 67), +(1, 58, 73), +(1, 59, 83), +(1, 60, 97), +(1, 61, 65), +(1, 62, 80), +(1, 63, 90), +(1, 64, 69), +(1, 65, 93), +(1, 66, 65), +(1, 67, 67), +(1, 68, 99), +(1, 69, 67), +(1, 70, 78), +(1, 71, 89), +(1, 72, 65), +(1, 73, 67), +(1, 74, 80), +(1, 75, 69), +(1, 76, 70), +(1, 77, 74), +(1, 78, 84), +(1, 79, 94), +(1, 80, 67), +(1, 81, 98), +(1, 82, 91), +(1, 83, 79), +(1, 84, 79), +(1, 85, 97), +(1, 86, 78), +(1, 87, 87), +(1, 88, 99), +(1, 89, 82), +(1, 90, 93), +(1, 91, 72), +(1, 92, 79), +(1, 93, 99), +(1, 94, 70), +(1, 95, 75), +(1, 96, 85), +(1, 97, 75), +(1, 98, 78), +(1, 99, 87), +(1, 100, 79), +(1, 101, 72), +(1, 102, 87), +(1, 103, 71), +(1, 104, 75), +(1, 105, 82), +(1, 106, 85), +(1, 107, 82), +(1, 108, 72), +(1, 109, 93), +(1, 110, 97), +(1, 111, 95), +(1, 112, 84), +(1, 113, 86), +(1, 114, 91), +(1, 115, 81), +(1, 116, 66), +(1, 117, 66), +(1, 118, 89), +(1, 119, 97), +(1, 120, 88), +(1, 121, 98), +(1, 122, 95), +(1, 123, 80), +(1, 124, 67), +(1, 125, 85), +(1, 126, 71), +(1, 127, 84), +(1, 128, 73), +(1, 129, 67), +(1, 130, 77), +(1, 131, 70), +(1, 132, 95), +(1, 133, 65), +(1, 134, 91), +(1, 135, 69), +(1, 136, 77), +(1, 137, 79), +(1, 138, 95), +(1, 139, 98), +(1, 140, 81), +(1, 141, 85), +(1, 142, 68), +(1, 143, 70), +(1, 144, 83), +(1, 145, 75), +(1, 146, 82), +(1, 147, 91), +(1, 148, 69), +(1, 149, 75), +(1, 150, 78), +(1, 151, 87), +(1, 152, 83), +(1, 153, 91), +(1, 154, 84), +(1, 155, 69), +(1, 156, 99), +(1, 157, 98), +(1, 158, 67), +(1, 159, 81), +(1, 160, 87), +(1, 161, 92), +(1, 162, 79), +(1, 163, 87), +(1, 164, 81), +(1, 165, 87), +(1, 166, 96), +(1, 167, 98), +(1, 168, 94), +(1, 169, 71), +(1, 170, 77), +(1, 171, 71), +(1, 172, 84), +(1, 173, 81), +(1, 174, 95), +(1, 175, 88), +(1, 176, 79), +(1, 177, 67), +(1, 178, 75), +(1, 179, 87), +(1, 180, 66), +(1, 181, 73), +(1, 182, 72), +(1, 183, 83), +(1, 184, 76), +(1, 185, 86), +(1, 186, 74), +(1, 187, 82), +(1, 188, 89), +(1, 189, 85), +(1, 190, 95), +(1, 191, 72), +(1, 192, 65), +(1, 193, 72), +(1, 194, 98), +(1, 195, 80), +(1, 196, 76), +(1, 197, 84), +(1, 198, 97), +(1, 199, 72), +(1, 200, 70), +(1, 201, 67), +(1, 202, 89), +(1, 203, 73), +(1, 204, 70), +(1, 205, 70), +(1, 206, 68), +(1, 207, 96), +(1, 208, 71), +(1, 209, 94), +(1, 210, 83), +(1, 211, 77), +(1, 212, 89), +(1, 213, 83), +(1, 214, 65), +(1, 215, 85), +(1, 216, 79), +(1, 217, 76), +(1, 218, 68), +(1, 219, 73), +(1, 220, 78), +(1, 221, 81), +(1, 222, 82), +(1, 223, 80), +(1, 224, 72), +(1, 225, 76), +(1, 226, 92), +(1, 227, 78), +(1, 228, 73), +(1, 229, 70), +(1, 230, 79), +(1, 231, 78), +(1, 232, 98), +(1, 233, 97), +(1, 234, 89), +(1, 235, 74), +(1, 236, 90), +(1, 237, 77), +(1, 238, 87), +(1, 239, 77), +(1, 240, 85), +(1, 241, 83), +(1, 242, 84), +(1, 243, 72), +(1, 244, 81), +(1, 245, 71), +(1, 246, 73), +(1, 247, 94), +(1, 248, 78), +(1, 249, 75), +(1, 250, 70), +(1, 251, 66), +(1, 252, 81), +(1, 253, 98), +(1, 254, 99), +(1, 255, 80), +(1, 256, 78), +(1, 257, 80), +(1, 258, 69), +(1, 259, 71), +(1, 260, 85), +(1, 261, 81), +(1, 262, 74), +(1, 263, 68), +(1, 264, 72), +(1, 265, 79), +(1, 266, 66), +(1, 267, 95), +(1, 268, 75), +(1, 269, 85), +(1, 270, 81), +(1, 271, 66), +(1, 272, 85), +(1, 273, 96), +(1, 274, 99), +(1, 275, 76), +(1, 276, 86), +(1, 277, 94), +(1, 278, 81), +(1, 279, 94), +(1, 280, 76), +(1, 281, 92), +(1, 282, 88), +(1, 283, 83), +(1, 284, 84), +(1, 285, 75), +(1, 286, 79), +(1, 287, 85), +(1, 288, 66), +(1, 289, 67), +(1, 290, 72), +(1, 291, 83), +(1, 292, 71), +(1, 293, 78), +(1, 294, 98), +(1, 295, 79), +(1, 296, 94), +(1, 297, 86), +(1, 298, 98), +(1, 299, 68), +(1, 300, 70), +(1, 301, 96), +(1, 302, 67), +(1, 303, 67), +(1, 304, 85), +(1, 305, 72), +(1, 306, 66), +(1, 307, 75), +(1, 308, 92), +(1, 309, 73), +(1, 310, 68), +(1, 311, 81), +(1, 312, 72), +(1, 313, 81), +(1, 314, 77), +(1, 315, 96), +(1, 316, 94), +(1, 317, 67), +(1, 318, 96), +(1, 319, 75), +(1, 320, 80), +(1, 321, 81), +(1, 322, 77), +(1, 323, 99), +(1, 324, 93), +(1, 325, 88), +(1, 326, 81), +(1, 327, 75), +(1, 328, 88), +(1, 329, 68), +(1, 330, 68), +(1, 331, 96), +(1, 332, 76), +(1, 333, 82), +(1, 334, 95), +(1, 335, 65), +(1, 336, 99), +(1, 337, 70), +(1, 338, 94), +(1, 339, 94), +(1, 340, 83), +(1, 341, 74), +(1, 342, 73), +(1, 343, 99), +(1, 344, 89), +(1, 345, 95), +(1, 346, 87), +(1, 347, 88), +(1, 348, 74), +(1, 349, 83), +(1, 350, 72), +(1, 351, 75), +(1, 352, 96), +(1, 353, 94), +(1, 354, 71), +(1, 355, 65), +(1, 356, 85), +(1, 357, 89), +(1, 358, 80), +(1, 359, 86), +(1, 360, 82), +(1, 361, 66), +(1, 362, 89), +(1, 363, 75), +(1, 364, 72), +(1, 365, 71), +(1, 366, 79), +(1, 367, 67), +(1, 368, 67), +(1, 369, 99), +(1, 370, 90), +(1, 371, 72), +(1, 372, 92), +(1, 373, 67), +(1, 374, 88), +(1, 375, 85), +(1, 376, 68), +(1, 377, 84), +(1, 378, 68), +(1, 379, 86), +(1, 380, 74), +(1, 381, 70), +(1, 382, 79), +(1, 383, 82), +(1, 384, 89), +(1, 385, 81), +(1, 386, 78), +(1, 387, 75), +(1, 388, 93), +(1, 389, 97), +(1, 390, 80), +(1, 391, 88), +(1, 392, 68), +(1, 393, 76), +(1, 394, 79), +(1, 395, 65), +(1, 396, 80), +(1, 397, 68), +(1, 398, 91), +(1, 399, 79), +(1, 400, 81), +(1, 401, 75), +(1, 402, 97), +(1, 403, 85), +(1, 404, 74), +(1, 405, 96), +(1, 406, 84), +(1, 407, 91), +(1, 408, 67), +(1, 409, 81), +(1, 410, 66), +(1, 411, 65), +(1, 412, 86), +(1, 413, 70), +(1, 414, 82), +(1, 415, 97), +(1, 416, 74), +(1, 417, 67), +(1, 418, 67), +(1, 419, 83), +(1, 420, 91), +(1, 421, 80), +(1, 422, 71), +(1, 423, 67), +(1, 424, 66), +(1, 425, 87), +(1, 426, 70), +(1, 427, 65), +(1, 428, 98), +(1, 429, 71), +(1, 430, 67), +(1, 431, 73), +(1, 432, 98), +(1, 433, 68), +(1, 434, 89), +(1, 435, 96), +(1, 436, 68), +(1, 437, 76), +(1, 438, 74), +(1, 439, 83), +(1, 440, 70), +(1, 441, 75), +(1, 442, 96), +(1, 443, 91), +(1, 444, 73), +(1, 445, 91), +(1, 446, 94), +(1, 447, 87), +(1, 448, 97), +(1, 449, 99), +(1, 450, 83), +(1, 451, 82), +(1, 452, 67), +(1, 453, 97), +(1, 454, 69), +(1, 455, 66), +(1, 456, 87), +(1, 457, 79), +(1, 458, 75), +(1, 459, 72), +(1, 460, 87), +(1, 461, 69), +(1, 462, 67), +(1, 463, 92), +(1, 464, 82), +(1, 465, 90), +(1, 466, 86), +(1, 467, 91), +(1, 468, 76), +(1, 469, 71), +(1, 470, 85), +(1, 471, 66), +(1, 472, 65), +(1, 473, 79), +(1, 474, 86), +(1, 475, 88), +(1, 476, 82), +(1, 477, 81), +(1, 478, 70), +(1, 479, 85), +(1, 480, 94), +(1, 481, 73), +(1, 482, 93), +(1, 483, 81), +(1, 484, 93), +(1, 485, 67), +(1, 486, 90), +(1, 487, 76), +(1, 488, 69), +(1, 489, 67), +(1, 490, 79), +(1, 491, 91), +(1, 492, 96), +(1, 493, 75), +(1, 494, 79), +(1, 495, 97), +(1, 496, 86), +(1, 497, 97), +(1, 498, 69), +(1, 499, 89), +(1, 500, 68), +(1, 501, 83), +(1, 502, 72), +(1, 503, 96), +(1, 504, 79), +(1, 505, 79), +(1, 506, 67), +(1, 507, 84), +(1, 508, 80), +(1, 509, 85), +(1, 510, 74), +(1, 511, 87), +(1, 512, 65), +(1, 513, 69), +(1, 514, 78), +(1, 515, 96), +(1, 516, 74), +(1, 517, 94), +(1, 518, 78), +(1, 519, 95), +(1, 520, 97), +(1, 521, 78), +(1, 522, 81), +(1, 523, 66), +(1, 524, 96), +(1, 525, 73), +(1, 526, 96), +(1, 527, 65), +(1, 528, 82), +(1, 529, 88), +(1, 530, 66), +(1, 531, 86), +(1, 532, 85), +(1, 533, 69), +(1, 534, 67), +(1, 535, 76), +(1, 536, 81), +(1, 537, 72), +(1, 538, 96), +(1, 539, 79), +(1, 540, 87), +(1, 541, 81), +(1, 542, 85), +(1, 543, 86), +(1, 544, 77), +(1, 545, 93), +(1, 546, 69), +(1, 547, 75), +(1, 548, 76), +(1, 549, 71), +(1, 550, 91), +(1, 551, 97), +(1, 552, 87), +(1, 553, 89), +(1, 554, 80), +(1, 555, 83), +(1, 556, 75), +(1, 557, 65), +(1, 558, 89), +(1, 559, 78), +(1, 560, 91), +(1, 561, 66), +(1, 562, 74), +(1, 563, 95), +(1, 564, 70), +(1, 1024, 92), +(1, 1025, 85), +(1, 1026, 94), +(1, 1027, 86), +(1, 1028, 70), +(1, 1029, 87), +(1, 1030, 78), +(1, 1031, 90), +(1, 1032, 78), +(1, 1033, 70), +(1, 1034, 98), +(1, 1035, 65), +(1, 1036, 91), +(1, 1037, 78), +(1, 1038, 93), +(1, 1039, 90), +(1, 1040, 84), +(1, 1041, 67), +(1, 1042, 81), +(1, 1043, 89), +(1, 1044, 98), +(1, 1045, 94), +(1, 1046, 68), +(1, 1047, 72), +(1, 1048, 83), +(1, 1049, 86), +(1, 1050, 70), +(1, 1051, 99), +(1, 1052, 87), +(1, 1053, 73), +(1, 1054, 73), +(1, 1055, 98), +(1, 1056, 74), +(1, 1057, 66), +(1, 1058, 70), +(1, 1059, 84), +(1, 1060, 79), +(1, 1061, 86), +(1, 1062, 94), +(1, 1063, 70), +(1, 1064, 87), +(1, 1065, 67), +(1, 1066, 88), +(1, 1067, 93), +(1, 1068, 89), +(1, 1069, 94), +(1, 1070, 95), +(1, 1071, 98), +(1, 1072, 94), +(1, 1073, 77), +(1, 1074, 90), +(1, 1075, 85), +(1, 1076, 78), +(1, 1077, 81), +(1, 1078, 68), +(1, 1079, 77), +(1, 1080, 74), +(1, 1081, 69), +(1, 1082, 73), +(1, 1083, 89), +(1, 1084, 86), +(1, 1085, 78), +(1, 1086, 94), +(1, 1087, 66), +(1, 1088, 91), +(1, 1089, 77), +(1, 1090, 66), +(1, 1091, 72), +(1, 1092, 76), +(1, 1093, 82), +(1, 1094, 68), +(1, 1095, 85), +(1, 1096, 85), +(1, 1097, 98), +(1, 1098, 89), +(1, 1099, 69), +(1, 1100, 90), +(1, 1101, 96), +(1, 1102, 88), +(1, 1103, 88), +(1, 1104, 92), +(1, 1105, 72), +(1, 1106, 77), +(1, 1107, 65), +(1, 1108, 72), +(1, 1109, 66), +(1, 1110, 75), +(1, 1111, 90), +(1, 1112, 84), +(1, 1113, 96), +(1, 1114, 83), +(1, 1115, 83), +(1, 1116, 86), +(1, 1117, 78), +(1, 1118, 66), +(1, 1119, 65), +(1, 1120, 77), +(1, 1121, 93), +(1, 1122, 79), +(1, 1123, 78), +(1, 1124, 84), +(1, 1125, 94), +(1, 1126, 72), +(1, 1127, 88), +(1, 1128, 77), +(1, 1129, 70), +(1, 1130, 80), +(1, 1131, 69), +(1, 1132, 70), +(1, 1133, 68), +(1, 1134, 87), +(1, 1135, 80), +(1, 1136, 97), +(1, 1137, 88), +(1, 1138, 66), +(1, 1139, 65), +(1, 1140, 72), +(1, 1141, 76), +(1, 1142, 93), +(1, 1143, 98), +(1, 1144, 65), +(1, 1145, 92), +(1, 1146, 98), +(1, 1147, 89), +(1, 1148, 83), +(1, 1149, 93), +(1, 1150, 75), +(1, 1151, 90), +(1, 1152, 94), +(1, 1153, 90), +(1, 1154, 80), +(1, 1155, 72), +(1, 1156, 87), +(1, 1157, 76), +(1, 1158, 78), +(1, 1159, 87), +(1, 1160, 93), +(1, 1161, 99), +(1, 1162, 96), +(1, 1163, 71), +(1, 1164, 70), +(1, 1165, 90), +(1, 1166, 76), +(1, 1167, 71), +(1, 1168, 76), +(1, 1169, 74), +(1, 1170, 84), +(1, 1171, 70), +(1, 1172, 88), +(1, 1173, 72), +(1, 1174, 69), +(1, 1175, 81), +(1, 1176, 65), +(1, 1177, 94), +(1, 1178, 86), +(1, 1179, 68), +(1, 1180, 87), +(1, 1181, 68), +(1, 1182, 71), +(1, 1183, 68), +(1, 1184, 87), +(1, 1185, 72), +(1, 1186, 91), +(1, 1187, 80), +(1, 1188, 70), +(1, 1189, 92), +(1, 1190, 97), +(1, 1191, 81), +(1, 1192, 77), +(1, 1193, 98), +(1, 1194, 84), +(1, 1195, 89), +(1, 1196, 67), +(1, 1197, 75), +(1, 1198, 69), +(1, 1199, 96), +(1, 1200, 67), +(1, 1201, 69), +(1, 1202, 78), +(1, 1203, 83), +(1, 1204, 66), +(1, 1205, 92), +(1, 1206, 70), +(1, 1207, 78), +(1, 1208, 91), +(1, 1209, 86), +(1, 1210, 77), +(1, 1211, 77), +(1, 1212, 81), +(1, 1213, 73), +(1, 1214, 71), +(1, 1215, 66), +(1, 1216, 91), +(1, 1217, 75), +(1, 1218, 97), +(1, 1219, 91), +(1, 1220, 78), +(1, 1221, 65), +(1, 1222, 95), +(1, 1223, 99), +(1, 1224, 75), +(1, 1225, 87), +(1, 1226, 76), +(1, 1227, 84), +(1, 1228, 90), +(1, 1229, 66), +(1, 1230, 75), +(1, 1231, 84), +(1, 1232, 74), +(1, 1233, 73), +(1, 1234, 71), +(1, 1235, 90), +(1, 1236, 80), +(1, 1237, 93), +(1, 1238, 86), +(1, 1239, 94), +(1, 1240, 82), +(1, 1241, 92), +(1, 1242, 71), +(1, 1243, 74), +(1, 1244, 90), +(1, 1245, 90), +(1, 1246, 70), +(1, 1247, 71), +(1, 1248, 90), +(1, 1249, 75), +(1, 1250, 72), +(1, 1251, 93), +(1, 1252, 86), +(1, 1253, 65), +(1, 1254, 84), +(1, 1255, 72), +(1, 1256, 68), +(1, 1257, 73), +(1, 1258, 85), +(1, 1259, 90), +(1, 1260, 78), +(1, 1261, 84), +(1, 1262, 73), +(1, 1263, 77), +(1, 1264, 86), +(1, 1265, 98), +(1, 1266, 85), +(1, 1267, 67), +(1, 1268, 98), +(1, 1269, 96), +(1, 1270, 95), +(1, 1271, 97), +(1, 1272, 72), +(1, 1273, 98), +(1, 1274, 76), +(1, 1275, 94), +(1, 1276, 90), +(1, 1277, 85), +(1, 1278, 74), +(1, 1279, 77), +(1, 1280, 99), +(1, 1281, 71), +(1, 1282, 81), +(1, 1283, 65), +(1, 1284, 73), +(1, 1285, 87), +(1, 1286, 93), +(1, 1287, 75), +(1, 1288, 77), +(1, 1289, 82), +(1, 1290, 66), +(1, 1291, 84), +(1, 1292, 67), +(1, 1293, 70), +(1, 1294, 79), +(1, 1295, 88), +(1, 1296, 82), +(1, 1297, 90), +(1, 1298, 80), +(1, 1299, 90), +(1, 1300, 83), +(1, 1301, 97), +(1, 1302, 79), +(1, 1303, 84), +(1, 1304, 88), +(1, 1305, 90), +(1, 1306, 81), +(1, 1307, 79), +(1, 1308, 79), +(1, 1309, 97), +(1, 1310, 66), +(1, 1311, 74), +(1, 1312, 74), +(1, 1313, 90), +(1, 1314, 91), +(1, 1315, 75), +(1, 1316, 97), +(1, 1317, 89), +(1, 1318, 92), +(1, 1319, 96), +(1, 1320, 88), +(1, 1321, 92), +(1, 1322, 77), +(1, 1323, 65), +(1, 1324, 75), +(1, 1325, 91), +(1, 1326, 98), +(1, 1327, 72), +(1, 1328, 83), +(1, 1329, 81), +(1, 1330, 78), +(1, 1331, 94), +(1, 1332, 72), +(1, 1333, 99), +(1, 1334, 69), +(1, 1335, 76), +(1, 1336, 92), +(1, 1337, 89), +(1, 1338, 78), +(1, 1339, 69), +(1, 1340, 83), +(1, 1341, 81), +(1, 1342, 96), +(1, 1343, 73), +(1, 1344, 89), +(1, 1345, 88), +(1, 1346, 83), +(1, 1347, 87), +(1, 1348, 70), +(1, 1349, 97), +(1, 1350, 97), +(1, 1351, 86), +(1, 1352, 88), +(1, 1353, 70), +(1, 1354, 94), +(1, 1355, 65), +(1, 1356, 81), +(1, 1357, 88), +(1, 1358, 95), +(1, 1359, 74), +(1, 1360, 86), +(1, 1361, 98), +(1, 1362, 97), +(1, 1363, 83), +(1, 1364, 68), +(1, 1365, 65), +(1, 1366, 77), +(1, 1367, 75), +(1, 1368, 67), +(1, 1369, 84), +(1, 1370, 73), +(1, 1371, 84), +(1, 1372, 65), +(1, 1373, 92), +(1, 1374, 83), +(1, 1375, 94), +(1, 1376, 81), +(1, 1377, 87), +(1, 1378, 96), +(1, 1379, 94), +(1, 1380, 66), +(1, 1381, 72), +(1, 1382, 73), +(1, 1383, 78), +(1, 1384, 98), +(1, 1385, 65), +(1, 1386, 87), +(1, 1387, 96), +(1, 1388, 70), +(1, 1389, 68), +(1, 1390, 93), +(1, 1391, 82), +(1, 1392, 84), +(1, 1393, 84), +(1, 1394, 72), +(1, 1395, 72), +(1, 1396, 78), +(1, 1397, 65), +(1, 1398, 85), +(1, 1399, 94), +(1, 1400, 96), +(1, 1401, 65), +(1, 1402, 81), +(1, 1403, 71), +(1, 1404, 70), +(1, 1405, 77), +(1, 1406, 82), +(1, 1407, 78), +(1, 1408, 87), +(1, 1409, 70), +(1, 1410, 67), +(1, 1411, 90), +(1, 1412, 65), +(1, 1413, 90), +(1, 1414, 86), +(1, 1415, 69), +(1, 1416, 96), +(1, 1417, 81), +(1, 1418, 82), +(1, 1419, 66), +(1, 1420, 99), +(1, 1421, 73), +(1, 1422, 74), +(1, 1423, 85), +(1, 1424, 89), +(1, 1425, 73), +(1, 1426, 71), +(1, 1427, 89), +(1, 1428, 98), +(1, 1429, 90), +(1, 1430, 97), +(1, 1431, 86), +(1, 1432, 67), +(1, 1433, 75), +(1, 1434, 98), +(1, 1435, 66), +(1, 1436, 97), +(1, 1437, 69), +(1, 1438, 90), +(1, 1439, 90), +(1, 1440, 90), +(1, 1441, 92), +(1, 1442, 72), +(1, 1443, 68), +(1, 1444, 92), +(1, 1445, 95), +(1, 1446, 90), +(1, 1447, 93), +(1, 1448, 82), +(1, 1449, 84), +(1, 1450, 83), +(1, 1451, 77), +(1, 1452, 85), +(1, 1453, 78), +(1, 1454, 83), +(1, 1455, 73), +(1, 1456, 76), +(1, 1457, 94), +(1, 1458, 77), +(1, 1459, 87), +(1, 1460, 78), +(1, 1461, 74), +(1, 1462, 93), +(1, 1463, 82), +(1, 1464, 81), +(1, 1465, 69), +(1, 1466, 67), +(1, 1467, 76), +(1, 1468, 80), +(1, 1469, 93), +(1, 1470, 87), +(1, 1471, 89), +(1, 1472, 91), +(1, 1473, 83), +(1, 1474, 84), +(1, 1475, 86), +(1, 1476, 98), +(1, 1477, 84), +(1, 1478, 75), +(1, 1479, 78), +(1, 1480, 86), +(1, 1481, 96), +(1, 1482, 97), +(1, 1483, 98), +(1, 1484, 94), +(1, 1485, 73), +(1, 1486, 92), +(1, 1487, 80), +(1, 1488, 70), +(1, 1489, 97), +(1, 1490, 73), +(1, 1491, 88), +(1, 1492, 86), +(1, 1493, 88), +(1, 1494, 74), +(1, 1495, 69), +(1, 1496, 68), +(1, 1497, 91), +(1, 1498, 88), +(1, 1499, 66), +(1, 1500, 67), +(1, 1501, 82), +(1, 1502, 66), +(1, 1503, 93), +(1, 1504, 91), +(1, 1505, 85), +(1, 1506, 78), +(1, 1507, 90), +(1, 1508, 91), +(1, 1509, 87), +(1, 1510, 87), +(1, 1511, 99), +(1, 1512, 75), +(1, 1513, 81), +(1, 1514, 68), +(1, 1515, 89), +(1, 1516, 96), +(1, 1517, 65), +(1, 1518, 65), +(1, 1519, 73), +(1, 1520, 85), +(1, 1521, 87), +(1, 1522, 67), +(1, 1523, 73), +(1, 1524, 91), +(1, 1525, 98), +(1, 1526, 66), +(1, 1527, 74), +(1, 1528, 94), +(1, 1529, 72), +(1, 1530, 82), +(1, 1531, 77), +(1, 1532, 78), +(1, 1533, 80), +(1, 1534, 72), +(1, 1535, 86), +(1, 1536, 91), +(1, 1537, 66), +(1, 1538, 84), +(1, 1539, 95), +(1, 1540, 73), +(1, 1541, 89), +(1, 1542, 89), +(1, 1543, 65), +(1, 1544, 77), +(1, 1545, 87), +(1, 1546, 72), +(1, 1547, 78), +(1, 1548, 93), +(1, 1549, 92), +(1, 1550, 75), +(1, 1551, 91), +(1, 1552, 84), +(1, 1553, 97), +(1, 1554, 89), +(1, 1555, 67), +(1, 1556, 80), +(1, 1557, 73), +(1, 1558, 89), +(1, 1559, 79), +(1, 1560, 98), +(1, 1561, 90), +(1, 1562, 90), +(1, 1563, 67), +(1, 1564, 96), +(1, 1565, 65), +(1, 1566, 71), +(1, 1567, 78), +(1, 1568, 78), +(1, 1569, 71), +(1, 1570, 92), +(1, 1571, 94), +(1, 1572, 92), +(1, 1573, 69), +(1, 1574, 72), +(1, 1575, 68), +(1, 1576, 80), +(1, 1577, 84), +(1, 1578, 72), +(1, 1579, 86), +(1, 1580, 86), +(1, 1581, 89), +(1, 1582, 84), +(1, 1583, 85), +(1, 1584, 67), +(1, 1585, 94), +(1, 1586, 76), +(1, 1587, 88), +(1, 2047, 97), +(1, 2048, 84), +(1, 2049, 79), +(1, 2050, 83), +(1, 2051, 77), +(1, 2052, 72), +(1, 2053, 98), +(1, 2054, 85), +(1, 2055, 71), +(1, 2056, 79), +(1, 2057, 93), +(1, 2058, 67), +(1, 2059, 77), +(1, 2060, 93), +(1, 2061, 70), +(1, 2062, 76), +(1, 2063, 67), +(1, 2064, 75), +(1, 2065, 71), +(1, 2066, 79), +(1, 2067, 94), +(1, 2068, 79), +(1, 2069, 72), +(1, 2070, 67), +(1, 2071, 76), +(1, 2072, 88), +(1, 2073, 97), +(1, 2074, 84), +(1, 2075, 78), +(1, 2076, 99), +(1, 2077, 77), +(1, 2078, 97), +(1, 2079, 97), +(1, 2080, 86), +(1, 2081, 83), +(1, 2082, 66), +(1, 2083, 92), +(1, 2084, 80), +(1, 2085, 97), +(1, 2086, 76), +(1, 2087, 89), +(1, 2088, 66), +(1, 2089, 88), +(1, 2090, 77), +(1, 2091, 75), +(1, 2092, 66), +(1, 2093, 99), +(1, 2094, 92), +(1, 2095, 68), +(1, 2096, 75), +(1, 2097, 82), +(1, 2098, 68), +(1, 2099, 91), +(1, 2100, 88), +(1, 2101, 80), +(1, 2102, 75), +(1, 2103, 85), +(1, 2104, 83), +(1, 2105, 92), +(1, 2106, 82), +(1, 2107, 92), +(1, 2108, 75), +(1, 2109, 83), +(1, 2110, 76), +(1, 2111, 78), +(1, 2112, 84), +(1, 2113, 97), +(1, 2114, 69), +(1, 2115, 89), +(1, 2116, 73), +(1, 2117, 97), +(1, 2118, 71), +(1, 2119, 70), +(1, 2120, 72), +(1, 2121, 94), +(1, 2122, 80), +(1, 2123, 95), +(1, 2124, 67), +(1, 2125, 96), +(1, 2126, 96), +(1, 2127, 80), +(1, 2128, 87), +(1, 2129, 93), +(1, 2130, 83), +(1, 2131, 91), +(1, 2132, 83), +(1, 2133, 77), +(1, 2134, 66), +(1, 2135, 80), +(1, 2136, 82), +(1, 2137, 71), +(1, 2138, 93), +(1, 2139, 87), +(1, 2140, 85), +(1, 2141, 88), +(1, 2142, 71), +(1, 2143, 78), +(1, 2144, 79), +(1, 2145, 67), +(1, 2146, 76), +(1, 2147, 93), +(1, 2148, 88), +(1, 2149, 80), +(1, 2150, 73), +(1, 2151, 88), +(1, 2152, 97), +(1, 2153, 93), +(1, 2154, 90), +(1, 2155, 72), +(1, 2156, 82), +(1, 2157, 77), +(1, 2158, 85), +(1, 2159, 70), +(1, 2160, 66), +(1, 2161, 91), +(1, 2162, 95), +(1, 2163, 77), +(1, 2164, 74), +(1, 2165, 82), +(1, 2166, 84), +(1, 2167, 71), +(1, 2168, 65), +(1, 2169, 91), +(1, 2170, 83), +(1, 2171, 78), +(1, 2172, 65), +(1, 2173, 82), +(1, 2174, 88), +(1, 2175, 86), +(1, 2176, 80), +(1, 2177, 84), +(1, 2178, 73), +(1, 2179, 77), +(1, 2180, 87), +(1, 2181, 70), +(1, 2182, 78), +(1, 2183, 89), +(1, 2184, 65), +(1, 2185, 99), +(1, 2186, 65), +(1, 2187, 82), +(1, 2188, 72), +(1, 2189, 83), +(1, 2190, 85), +(1, 2191, 83), +(1, 2192, 67), +(1, 2193, 88), +(1, 2194, 68), +(1, 2195, 69), +(1, 2196, 94), +(1, 2197, 76), +(1, 2198, 92), +(1, 2199, 97), +(1, 2200, 67), +(1, 2201, 65), +(1, 2202, 89), +(1, 2203, 84), +(1, 2204, 68), +(1, 2205, 72), +(1, 2206, 78), +(1, 2207, 70), +(1, 2208, 65), +(1, 2209, 79), +(1, 2210, 98), +(1, 2211, 87), +(1, 2212, 86), +(1, 2213, 91), +(1, 2214, 78), +(1, 2215, 73), +(1, 2216, 73), +(1, 2217, 94), +(1, 2218, 94), +(1, 2219, 82), +(1, 2220, 68), +(1, 2221, 98), +(1, 2222, 95), +(1, 2223, 97), +(1, 2224, 68), +(1, 2225, 80), +(1, 2226, 85), +(1, 2227, 82), +(1, 2228, 96), +(1, 2229, 80), +(1, 2230, 65), +(1, 2231, 97), +(1, 2232, 79), +(1, 2233, 67), +(1, 2234, 67), +(1, 2235, 99), +(1, 2236, 79), +(1, 2237, 85), +(1, 2238, 87), +(1, 2239, 92), +(1, 2240, 73), +(1, 2241, 83), +(1, 2242, 72), +(1, 2243, 90), +(1, 2244, 66), +(1, 2245, 78), +(1, 2246, 66), +(1, 2247, 87), +(1, 2248, 78), +(1, 2249, 78), +(1, 2250, 81), +(1, 2251, 92), +(1, 2252, 68), +(1, 2253, 68), +(1, 2254, 88), +(1, 2255, 96), +(1, 2256, 99), +(1, 2257, 84), +(1, 2258, 98), +(1, 2259, 68), +(1, 2260, 83), +(1, 2261, 91), +(1, 2262, 96), +(1, 2263, 95), +(1, 2264, 82), +(1, 2265, 79), +(1, 2266, 90), +(1, 2267, 78), +(1, 2268, 71), +(1, 2269, 71), +(1, 2270, 89), +(1, 2271, 85), +(1, 2272, 73), +(1, 2273, 69), +(1, 2274, 77), +(1, 2275, 75), +(1, 2276, 65), +(1, 2277, 95), +(1, 2278, 82), +(1, 2279, 82), +(1, 2280, 71), +(1, 2281, 82), +(1, 2282, 74), +(1, 2283, 80), +(1, 2284, 93), +(1, 2285, 66), +(1, 2286, 83), +(1, 2287, 91), +(1, 2288, 99), +(1, 2289, 85), +(1, 2290, 91), +(1, 2291, 82), +(1, 2292, 70), +(1, 2293, 67), +(1, 2294, 80), +(1, 2295, 74), +(1, 2296, 73), +(1, 2297, 89), +(1, 2298, 99), +(1, 2299, 66), +(1, 2300, 72), +(1, 2301, 70), +(1, 2302, 86), +(1, 2303, 89), +(1, 2304, 93), +(1, 2305, 87), +(1, 2306, 76), +(1, 2307, 65), +(1, 2308, 78), +(1, 2309, 91), +(1, 2310, 98), +(1, 2311, 80), +(1, 2312, 82), +(1, 2313, 82), +(1, 2314, 99), +(1, 2315, 95), +(1, 2316, 89), +(1, 2317, 80), +(1, 2318, 87), +(1, 2319, 83), +(1, 2320, 95), +(1, 2321, 90), +(1, 2322, 91), +(1, 2323, 89), +(1, 2324, 70), +(1, 2325, 69), +(1, 2326, 97), +(1, 2327, 70), +(1, 2328, 93), +(1, 2329, 69), +(1, 2330, 96), +(1, 2331, 84), +(1, 2332, 70), +(1, 2333, 80), +(1, 2334, 84), +(1, 2335, 72), +(1, 2336, 85), +(1, 2337, 70), +(1, 2338, 86), +(1, 2339, 85), +(1, 2340, 85), +(1, 2341, 76), +(1, 2342, 78), +(1, 2343, 94), +(1, 2344, 82), +(1, 2345, 99), +(1, 2346, 66), +(1, 2347, 88), +(1, 2348, 78), +(1, 2349, 87), +(1, 2350, 76), +(1, 2351, 81), +(1, 2352, 76), +(1, 2353, 95), +(1, 2354, 78), +(1, 2355, 73), +(1, 2356, 75), +(1, 2357, 72), +(1, 2358, 89), +(1, 2359, 90), +(1, 2360, 86), +(1, 2361, 78), +(1, 2362, 66), +(1, 2363, 87), +(1, 2364, 74), +(1, 2365, 86), +(1, 2366, 85), +(1, 2367, 67), +(1, 2368, 69), +(1, 2369, 77), +(1, 2370, 70), +(1, 2371, 65), +(1, 2372, 87), +(1, 2373, 97), +(1, 2374, 89), +(1, 2375, 65), +(1, 2376, 89), +(1, 2377, 67), +(1, 2378, 72), +(1, 2379, 96), +(1, 2380, 87), +(1, 2381, 66), +(1, 2382, 76), +(1, 2383, 90), +(1, 2384, 98), +(1, 2385, 66), +(1, 2386, 85), +(1, 2387, 72), +(1, 2388, 80), +(1, 2389, 69), +(1, 2390, 75), +(1, 2391, 72), +(1, 2392, 75), +(1, 2393, 73), +(1, 2394, 73), +(1, 2395, 71), +(1, 2396, 66), +(1, 2397, 66), +(1, 2398, 95), +(1, 2399, 82), +(1, 2400, 88), +(1, 2401, 84), +(1, 2402, 65), +(1, 2403, 77), +(1, 2404, 74), +(1, 2405, 99), +(1, 2406, 74), +(1, 2407, 81), +(1, 2408, 66), +(1, 2409, 98), +(1, 2410, 99), +(1, 2411, 71), +(1, 2412, 92), +(1, 2413, 86), +(1, 2414, 83), +(1, 2415, 71), +(1, 2416, 98), +(1, 2417, 66), +(1, 2418, 85), +(1, 2419, 74), +(1, 2420, 82), +(1, 2421, 68), +(1, 2422, 66), +(1, 2423, 79), +(1, 2424, 82), +(1, 2425, 70), +(1, 2426, 76), +(1, 2427, 73), +(1, 2428, 86), +(1, 2429, 94), +(1, 2430, 79), +(1, 2431, 78), +(1, 2432, 78), +(1, 2433, 84), +(1, 2434, 77), +(1, 2435, 75), +(1, 2436, 79), +(1, 2437, 71), +(1, 2438, 67), +(1, 2439, 99), +(1, 2440, 73), +(1, 2441, 95), +(1, 2442, 89), +(1, 2443, 90), +(1, 2444, 73), +(1, 2445, 70), +(1, 2446, 87), +(1, 2447, 95), +(1, 2448, 90), +(1, 2449, 96), +(1, 2450, 96), +(1, 2451, 99), +(1, 2452, 70), +(1, 2453, 77), +(1, 2454, 85), +(1, 2455, 69), +(1, 2456, 94), +(1, 2457, 77), +(1, 2458, 70), +(1, 2459, 85), +(1, 2460, 90), +(1, 2461, 87), +(1, 2462, 82), +(1, 2463, 71), +(1, 2464, 88), +(1, 2465, 76), +(1, 2466, 65), +(1, 2467, 98), +(1, 2468, 67), +(1, 2469, 97), +(1, 2470, 90), +(1, 2471, 81), +(1, 2472, 95), +(1, 2473, 97), +(1, 2474, 81), +(1, 2475, 76), +(1, 2476, 93), +(1, 2477, 80), +(1, 2478, 78), +(1, 2479, 90), +(1, 2480, 66), +(1, 2481, 93), +(1, 2482, 65), +(1, 2483, 86), +(1, 2484, 74), +(1, 2485, 70), +(1, 2486, 90), +(1, 2487, 97), +(1, 2488, 79), +(1, 2489, 82), +(1, 2490, 88), +(1, 2491, 79), +(1, 2492, 75), +(1, 2493, 89), +(1, 2494, 91), +(1, 2495, 67), +(1, 2496, 84), +(1, 2497, 73), +(1, 2498, 76), +(1, 2499, 98), +(1, 2500, 78), +(1, 2501, 78), +(1, 2502, 91), +(1, 2503, 91), +(1, 2504, 84), +(1, 2505, 84), +(1, 2506, 78), +(1, 2507, 71), +(1, 2508, 67), +(1, 2509, 69), +(1, 2510, 72), +(1, 2511, 67), +(1, 2512, 71), +(1, 2513, 79), +(1, 2514, 86), +(1, 2515, 95), +(1, 2516, 98), +(1, 2517, 76), +(1, 2518, 92), +(1, 2519, 81), +(1, 2520, 79), +(1, 2521, 86), +(1, 2522, 70), +(1, 2523, 75), +(1, 2524, 84), +(1, 2525, 74), +(1, 2526, 75), +(1, 2527, 92), +(1, 2528, 88), +(1, 2529, 80), +(1, 2530, 99), +(1, 2531, 76), +(1, 2532, 87), +(1, 2533, 95), +(1, 2534, 76), +(1, 2535, 65), +(1, 2536, 72), +(1, 2537, 90), +(1, 2538, 97), +(1, 2539, 94), +(1, 2540, 98), +(1, 2541, 69), +(1, 2542, 99), +(1, 2543, 70), +(1, 2544, 86), +(1, 2545, 87), +(1, 2546, 75), +(1, 2547, 88), +(1, 2548, 95), +(1, 2549, 83), +(1, 2550, 90), +(1, 2551, 80), +(1, 2552, 77), +(1, 2553, 92), +(1, 2554, 90), +(1, 2555, 74), +(1, 2556, 91), +(1, 2557, 79), +(1, 2558, 86), +(1, 2559, 75), +(1, 2560, 74), +(1, 2561, 76), +(1, 2562, 65), +(1, 2563, 90), +(1, 2564, 80), +(1, 2565, 88), +(1, 2566, 76), +(1, 2567, 78), +(1, 2568, 69), +(1, 2569, 66), +(1, 2570, 91), +(1, 2571, 73), +(1, 2572, 99), +(1, 2573, 94), +(1, 2574, 70), +(1, 2575, 90), +(1, 2576, 69), +(1, 2577, 96), +(1, 2578, 88), +(1, 2579, 92), +(1, 2580, 93), +(1, 2581, 82), +(1, 2582, 89), +(1, 2583, 79), +(1, 2584, 93), +(1, 2585, 78), +(1, 2586, 91), +(1, 2587, 74), +(1, 2588, 97), +(1, 2589, 68), +(1, 2590, 88), +(1, 2591, 67), +(1, 2592, 97), +(1, 2593, 98), +(1, 2594, 84), +(1, 2595, 81), +(1, 2596, 92), +(1, 2597, 92), +(1, 2598, 92), +(1, 2599, 95), +(1, 2600, 81), +(1, 2601, 90), +(1, 2602, 79), +(1, 2603, 74), +(1, 2604, 99), +(1, 2605, 73), +(1, 2606, 69), +(1, 2607, 66), +(1, 2608, 87), +(1, 2609, 71), +(1, 2610, 92), +(2, 1, 99), +(2, 2, 96), +(2, 3, 77), +(2, 4, 94), +(2, 5, 81), +(2, 6, 79), +(2, 7, 70), +(2, 8, 82), +(2, 9, 87), +(2, 10, 91), +(2, 11, 84), +(2, 12, 77), +(2, 13, 77), +(2, 14, 95), +(2, 15, 77), +(2, 16, 90), +(2, 17, 70), +(2, 18, 73), +(2, 19, 84), +(2, 20, 74), +(2, 21, 66), +(2, 22, 67), +(2, 23, 77), +(2, 24, 84), +(2, 25, 68), +(2, 26, 93), +(2, 27, 72), +(2, 28, 74), +(2, 29, 86), +(2, 30, 95), +(2, 31, 77), +(2, 32, 96), +(2, 33, 91), +(2, 34, 90), +(2, 35, 76), +(2, 36, 76), +(2, 37, 94), +(2, 38, 90), +(2, 39, 81), +(2, 40, 86), +(2, 41, 77), +(2, 42, 86), +(2, 43, 83), +(2, 44, 70), +(2, 45, 90), +(2, 46, 98), +(2, 47, 75), +(2, 48, 65), +(2, 49, 68), +(2, 50, 93), +(2, 51, 89), +(2, 52, 95), +(2, 53, 99), +(2, 54, 78), +(2, 55, 72), +(2, 56, 82), +(2, 57, 75), +(2, 58, 89), +(2, 59, 76), +(2, 60, 75), +(2, 61, 71), +(2, 62, 93), +(2, 63, 68), +(2, 64, 98), +(2, 65, 65), +(2, 66, 72), +(2, 67, 75), +(2, 68, 72), +(2, 69, 99), +(2, 70, 86), +(2, 71, 89), +(2, 72, 68), +(2, 73, 99), +(2, 74, 86), +(2, 75, 95), +(2, 76, 79), +(2, 77, 80), +(2, 78, 83), +(2, 79, 68), +(2, 80, 83), +(2, 81, 66), +(2, 82, 71), +(2, 83, 75), +(2, 84, 65), +(2, 85, 68), +(2, 86, 69), +(2, 87, 92), +(2, 88, 66), +(2, 89, 65), +(2, 90, 95), +(2, 91, 88), +(2, 92, 67), +(2, 93, 73), +(2, 94, 95), +(2, 95, 76), +(2, 96, 69), +(2, 97, 69), +(2, 98, 90), +(2, 99, 95), +(2, 100, 71), +(2, 101, 75), +(2, 102, 76), +(2, 103, 85), +(2, 104, 69), +(2, 105, 85), +(2, 106, 78), +(2, 107, 84), +(2, 108, 68), +(2, 109, 70), +(2, 110, 71), +(2, 111, 99), +(2, 112, 76), +(2, 113, 99), +(2, 114, 70), +(2, 115, 66), +(2, 116, 82), +(2, 117, 89), +(2, 118, 91), +(2, 119, 84), +(2, 120, 94), +(2, 121, 88), +(2, 122, 76), +(2, 123, 87), +(2, 124, 87), +(2, 125, 71), +(2, 126, 66), +(2, 127, 76), +(2, 128, 83), +(2, 129, 88), +(2, 130, 83), +(2, 131, 89), +(2, 132, 89), +(2, 133, 93), +(2, 134, 90), +(2, 135, 88), +(2, 136, 81), +(2, 137, 95), +(2, 138, 96), +(2, 139, 95), +(2, 140, 83), +(2, 141, 98), +(2, 142, 83), +(2, 143, 69), +(2, 144, 98), +(2, 145, 72), +(2, 146, 85), +(2, 147, 76), +(2, 148, 77), +(2, 149, 87), +(2, 150, 96), +(2, 151, 85), +(2, 152, 78), +(2, 153, 76), +(2, 154, 75), +(2, 155, 98), +(2, 156, 78), +(2, 157, 99), +(2, 158, 70), +(2, 159, 96), +(2, 160, 93), +(2, 161, 96), +(2, 162, 73), +(2, 163, 68), +(2, 164, 72), +(2, 165, 68), +(2, 166, 89), +(2, 167, 85), +(2, 168, 70), +(2, 169, 76), +(2, 170, 69), +(2, 171, 67), +(2, 172, 82), +(2, 173, 70), +(2, 174, 88), +(2, 175, 89), +(2, 176, 98), +(2, 177, 85), +(2, 178, 88), +(2, 179, 78), +(2, 180, 77), +(2, 181, 68), +(2, 182, 91), +(2, 183, 90), +(2, 184, 99), +(2, 185, 69), +(2, 186, 65), +(2, 187, 68), +(2, 188, 98), +(2, 189, 87), +(2, 190, 96), +(2, 191, 77), +(2, 192, 92), +(2, 193, 79), +(2, 194, 83), +(2, 195, 97), +(2, 196, 91), +(2, 197, 95), +(2, 198, 83), +(2, 199, 67), +(2, 200, 86), +(2, 201, 86), +(2, 202, 81), +(2, 203, 68), +(2, 204, 75), +(2, 205, 73), +(2, 206, 69), +(2, 207, 92), +(2, 208, 82), +(2, 209, 82), +(2, 210, 96), +(2, 211, 66), +(2, 212, 85), +(2, 213, 80), +(2, 214, 91), +(2, 215, 97), +(2, 216, 66), +(2, 217, 84), +(2, 218, 89), +(2, 219, 76), +(2, 220, 92), +(2, 221, 92), +(2, 222, 91), +(2, 223, 70), +(2, 224, 88), +(2, 225, 95), +(2, 226, 96), +(2, 227, 96), +(2, 228, 69), +(2, 229, 90), +(2, 230, 82), +(2, 231, 88), +(2, 232, 72), +(2, 233, 77), +(2, 234, 86), +(2, 235, 77), +(2, 236, 85), +(2, 237, 78), +(2, 238, 95), +(2, 239, 92), +(2, 240, 73), +(2, 241, 82), +(2, 242, 83), +(2, 243, 67), +(2, 244, 84), +(2, 245, 79), +(2, 246, 79), +(2, 247, 79), +(2, 248, 72), +(2, 249, 92), +(2, 250, 86), +(2, 251, 87), +(2, 252, 97), +(2, 253, 70), +(2, 254, 96), +(2, 255, 90), +(2, 256, 79), +(2, 257, 73), +(2, 258, 88), +(2, 259, 95), +(2, 260, 89), +(2, 261, 74), +(2, 262, 89), +(2, 263, 76), +(2, 264, 81), +(2, 265, 84), +(2, 266, 75), +(2, 267, 95), +(2, 268, 89), +(2, 269, 91), +(2, 270, 83), +(2, 271, 66), +(2, 272, 82), +(2, 273, 86), +(2, 274, 72), +(2, 275, 89), +(2, 276, 84), +(2, 277, 84), +(2, 278, 82), +(2, 279, 80), +(2, 280, 71), +(2, 281, 73), +(2, 282, 71), +(2, 283, 76), +(2, 284, 82), +(2, 285, 72), +(2, 286, 87), +(2, 287, 78), +(2, 288, 87), +(2, 289, 71), +(2, 290, 92), +(2, 291, 65), +(2, 292, 94), +(2, 293, 84), +(2, 294, 67), +(2, 295, 67), +(2, 296, 96), +(2, 297, 89), +(2, 298, 67), +(2, 299, 66), +(2, 300, 98), +(2, 301, 80), +(2, 302, 81), +(2, 303, 86), +(2, 304, 82), +(2, 305, 78), +(2, 306, 80), +(2, 307, 79), +(2, 308, 99), +(2, 309, 73), +(2, 310, 81), +(2, 311, 88), +(2, 312, 93), +(2, 313, 91), +(2, 314, 67), +(2, 315, 83), +(2, 316, 93), +(2, 317, 89), +(2, 318, 89), +(2, 319, 94), +(2, 320, 85), +(2, 321, 75), +(2, 322, 69), +(2, 323, 74), +(2, 324, 96), +(2, 325, 94), +(2, 326, 93), +(2, 327, 97), +(2, 328, 75), +(2, 329, 87), +(2, 330, 67), +(2, 331, 96), +(2, 332, 82), +(2, 333, 92), +(2, 334, 65), +(2, 335, 93), +(2, 336, 86), +(2, 337, 76), +(2, 338, 67), +(2, 339, 88), +(2, 340, 77), +(2, 341, 86), +(2, 342, 79), +(2, 343, 74), +(2, 344, 66), +(2, 345, 76), +(2, 346, 68), +(2, 347, 99), +(2, 348, 98), +(2, 349, 89), +(2, 350, 68), +(2, 351, 84), +(2, 352, 77), +(2, 353, 78), +(2, 354, 97), +(2, 355, 97), +(2, 356, 67), +(2, 357, 68), +(2, 358, 76), +(2, 359, 97), +(2, 360, 78), +(2, 361, 65), +(2, 362, 80), +(2, 363, 93), +(2, 364, 96), +(2, 365, 78), +(2, 366, 97), +(2, 367, 68), +(2, 368, 91), +(2, 369, 66), +(2, 370, 86), +(2, 371, 81), +(2, 372, 83), +(2, 373, 65), +(2, 374, 66), +(2, 375, 73), +(2, 376, 90), +(2, 377, 70), +(2, 378, 88), +(2, 379, 84), +(2, 380, 84), +(2, 381, 76), +(2, 382, 88), +(2, 383, 79), +(2, 384, 87), +(2, 385, 69), +(2, 386, 73), +(2, 387, 92), +(2, 388, 98), +(2, 389, 83), +(2, 390, 89), +(2, 391, 88), +(2, 392, 75), +(2, 393, 79), +(2, 394, 67), +(2, 395, 68), +(2, 396, 98), +(2, 397, 68), +(2, 398, 73), +(2, 399, 86), +(2, 400, 89), +(2, 401, 76), +(2, 402, 88), +(2, 403, 89), +(2, 404, 72), +(2, 405, 73), +(2, 406, 74), +(2, 407, 88), +(2, 408, 65), +(2, 409, 80), +(2, 410, 91), +(2, 411, 75), +(2, 412, 84), +(2, 413, 90), +(2, 414, 82), +(2, 415, 77), +(2, 416, 71), +(2, 417, 92), +(2, 418, 95), +(2, 419, 68), +(2, 420, 77), +(2, 421, 91), +(2, 422, 95), +(2, 423, 96), +(2, 424, 98), +(2, 425, 66), +(2, 426, 79), +(2, 427, 85), +(2, 428, 74), +(2, 429, 78), +(2, 430, 67), +(2, 431, 70), +(2, 432, 79), +(2, 433, 69), +(2, 434, 70), +(2, 435, 77), +(2, 436, 82), +(2, 437, 79), +(2, 438, 70), +(2, 439, 76), +(2, 440, 71), +(2, 441, 86), +(2, 442, 85), +(2, 443, 81), +(2, 444, 79), +(2, 445, 81), +(2, 446, 69), +(2, 447, 66), +(2, 448, 83), +(2, 449, 95), +(2, 450, 68), +(2, 451, 80), +(2, 452, 96), +(2, 453, 88), +(2, 454, 82), +(2, 455, 73), +(2, 456, 65), +(2, 457, 78), +(2, 458, 80), +(2, 459, 82), +(2, 460, 86), +(2, 461, 76), +(2, 462, 66), +(2, 463, 74), +(2, 464, 94), +(2, 465, 69), +(2, 466, 69), +(2, 467, 84), +(2, 468, 97), +(2, 469, 83), +(2, 470, 71), +(2, 471, 76), +(2, 472, 72), +(2, 473, 97), +(2, 474, 76), +(2, 475, 80), +(2, 476, 78), +(2, 477, 78), +(2, 478, 90), +(2, 479, 76), +(2, 480, 76), +(2, 481, 94), +(2, 482, 94), +(2, 483, 69), +(2, 484, 83), +(2, 485, 74), +(2, 486, 99), +(2, 487, 84), +(2, 488, 83), +(2, 489, 96), +(2, 490, 71), +(2, 491, 93), +(2, 492, 87), +(2, 493, 76), +(2, 494, 86), +(2, 495, 98), +(2, 496, 89), +(2, 497, 92), +(2, 498, 78), +(2, 499, 95), +(2, 500, 79), +(2, 501, 98), +(2, 502, 95), +(2, 503, 68), +(2, 504, 99), +(2, 505, 97), +(2, 506, 81), +(2, 507, 92), +(2, 508, 83), +(2, 509, 98), +(2, 510, 84), +(2, 511, 98), +(2, 512, 90), +(2, 513, 93), +(2, 514, 81), +(2, 515, 80), +(2, 516, 82), +(2, 517, 94), +(2, 518, 74), +(2, 519, 98), +(2, 520, 87), +(2, 521, 81), +(2, 522, 87), +(2, 523, 99), +(2, 524, 83), +(2, 525, 70), +(2, 526, 71), +(2, 527, 89), +(2, 528, 65), +(2, 529, 79), +(2, 530, 97), +(2, 531, 65), +(2, 532, 84), +(2, 533, 74), +(2, 534, 84), +(2, 535, 83), +(2, 536, 71), +(2, 537, 99), +(2, 538, 98), +(2, 539, 84), +(2, 540, 65), +(2, 541, 86), +(2, 542, 82), +(2, 543, 84), +(2, 544, 98), +(2, 545, 82), +(2, 546, 79), +(2, 547, 73), +(2, 548, 78), +(2, 549, 91), +(2, 550, 93), +(2, 551, 79), +(2, 552, 74), +(2, 553, 91), +(2, 554, 65), +(2, 555, 67), +(2, 556, 96), +(2, 557, 76), +(2, 558, 68), +(2, 559, 71), +(2, 560, 94), +(2, 561, 94), +(2, 562, 76), +(2, 563, 70), +(2, 564, 67), +(2, 1024, 83), +(2, 1025, 81), +(2, 1026, 77), +(2, 1027, 83), +(2, 1028, 74), +(2, 1029, 93), +(2, 1030, 78), +(2, 1031, 72), +(2, 1032, 80), +(2, 1033, 78), +(2, 1034, 99), +(2, 1035, 96), +(2, 1036, 80), +(2, 1037, 95), +(2, 1038, 65), +(2, 1039, 67), +(2, 1040, 77), +(2, 1041, 68), +(2, 1042, 79), +(2, 1043, 98), +(2, 1044, 77), +(2, 1045, 76), +(2, 1046, 98), +(2, 1047, 73), +(2, 1048, 65), +(2, 1049, 82), +(2, 1050, 71), +(2, 1051, 76), +(2, 1052, 93), +(2, 1053, 99), +(2, 1054, 68), +(2, 1055, 93), +(2, 1056, 81), +(2, 1057, 74), +(2, 1058, 92), +(2, 1059, 67), +(2, 1060, 68), +(2, 1061, 81), +(2, 1062, 82), +(2, 1063, 90), +(2, 1064, 80), +(2, 1065, 99), +(2, 1066, 74), +(2, 1067, 67), +(2, 1068, 93), +(2, 1069, 88), +(2, 1070, 93), +(2, 1071, 92), +(2, 1072, 87), +(2, 1073, 78), +(2, 1074, 81), +(2, 1075, 96), +(2, 1076, 81), +(2, 1077, 95), +(2, 1078, 76), +(2, 1079, 84), +(2, 1080, 83), +(2, 1081, 97), +(2, 1082, 82), +(2, 1083, 85), +(2, 1084, 82), +(2, 1085, 74), +(2, 1086, 98), +(2, 1087, 96), +(2, 1088, 98), +(2, 1089, 67), +(2, 1090, 65), +(2, 1091, 76), +(2, 1092, 87), +(2, 1093, 65), +(2, 1094, 86), +(2, 1095, 95), +(2, 1096, 82), +(2, 1097, 94), +(2, 1098, 85), +(2, 1099, 73), +(2, 1100, 73), +(2, 1101, 84), +(2, 1102, 91), +(2, 1103, 66), +(2, 1104, 97), +(2, 1105, 76), +(2, 1106, 95), +(2, 1107, 88), +(2, 1108, 99), +(2, 1109, 81), +(2, 1110, 90), +(2, 1111, 69), +(2, 1112, 87), +(2, 1113, 76), +(2, 1114, 89), +(2, 1115, 70), +(2, 1116, 73), +(2, 1117, 87), +(2, 1118, 65), +(2, 1119, 96), +(2, 1120, 69), +(2, 1121, 75), +(2, 1122, 80), +(2, 1123, 96), +(2, 1124, 65), +(2, 1125, 94), +(2, 1126, 88), +(2, 1127, 87), +(2, 1128, 66), +(2, 1129, 73), +(2, 1130, 91), +(2, 1131, 81), +(2, 1132, 80), +(2, 1133, 93), +(2, 1134, 94), +(2, 1135, 81), +(2, 1136, 98), +(2, 1137, 90), +(2, 1138, 95), +(2, 1139, 72), +(2, 1140, 81), +(2, 1141, 84), +(2, 1142, 81), +(2, 1143, 68), +(2, 1144, 95), +(2, 1145, 93), +(2, 1146, 82), +(2, 1147, 71), +(2, 1148, 71), +(2, 1149, 96), +(2, 1150, 67), +(2, 1151, 89), +(2, 1152, 94), +(2, 1153, 84), +(2, 1154, 96), +(2, 1155, 72), +(2, 1156, 82), +(2, 1157, 88), +(2, 1158, 97), +(2, 1159, 65), +(2, 1160, 83), +(2, 1161, 86), +(2, 1162, 79), +(2, 1163, 91), +(2, 1164, 97), +(2, 1165, 77), +(2, 1166, 77), +(2, 1167, 84), +(2, 1168, 73), +(2, 1169, 97), +(2, 1170, 77), +(2, 1171, 79), +(2, 1172, 83), +(2, 1173, 98), +(2, 1174, 91), +(2, 1175, 91), +(2, 1176, 90), +(2, 1177, 91), +(2, 1178, 65), +(2, 1179, 67), +(2, 1180, 76), +(2, 1181, 95), +(2, 1182, 80), +(2, 1183, 82), +(2, 1184, 86), +(2, 1185, 77), +(2, 1186, 79), +(2, 1187, 80), +(2, 1188, 99), +(2, 1189, 79), +(2, 1190, 81), +(2, 1191, 87), +(2, 1192, 88), +(2, 1193, 69), +(2, 1194, 94), +(2, 1195, 73), +(2, 1196, 77), +(2, 1197, 80), +(2, 1198, 84), +(2, 1199, 87), +(2, 1200, 73), +(2, 1201, 81), +(2, 1202, 78), +(2, 1203, 83), +(2, 1204, 70), +(2, 1205, 83), +(2, 1206, 91), +(2, 1207, 97), +(2, 1208, 74), +(2, 1209, 91), +(2, 1210, 82), +(2, 1211, 86), +(2, 1212, 96), +(2, 1213, 74), +(2, 1214, 90), +(2, 1215, 71), +(2, 1216, 72), +(2, 1217, 92), +(2, 1218, 96), +(2, 1219, 87), +(2, 1220, 68), +(2, 1221, 66), +(2, 1222, 94), +(2, 1223, 85), +(2, 1224, 69), +(2, 1225, 87), +(2, 1226, 74), +(2, 1227, 76), +(2, 1228, 86), +(2, 1229, 78), +(2, 1230, 86), +(2, 1231, 98), +(2, 1232, 91), +(2, 1233, 73), +(2, 1234, 89), +(2, 1235, 68), +(2, 1236, 96), +(2, 1237, 76), +(2, 1238, 94), +(2, 1239, 67), +(2, 1240, 89), +(2, 1241, 95), +(2, 1242, 78), +(2, 1243, 79), +(2, 1244, 93), +(2, 1245, 69), +(2, 1246, 80), +(2, 1247, 77), +(2, 1248, 73), +(2, 1249, 91), +(2, 1250, 85), +(2, 1251, 95), +(2, 1252, 78), +(2, 1253, 99), +(2, 1254, 98), +(2, 1255, 67), +(2, 1256, 97), +(2, 1257, 67), +(2, 1258, 85), +(2, 1259, 89), +(2, 1260, 65), +(2, 1261, 89), +(2, 1262, 90), +(2, 1263, 97), +(2, 1264, 83), +(2, 1265, 98), +(2, 1266, 82), +(2, 1267, 70), +(2, 1268, 65), +(2, 1269, 95), +(2, 1270, 77), +(2, 1271, 72), +(2, 1272, 72), +(2, 1273, 80), +(2, 1274, 75), +(2, 1275, 65), +(2, 1276, 92), +(2, 1277, 83), +(2, 1278, 83), +(2, 1279, 93), +(2, 1280, 97), +(2, 1281, 68), +(2, 1282, 87), +(2, 1283, 78), +(2, 1284, 67), +(2, 1285, 73), +(2, 1286, 95), +(2, 1287, 78), +(2, 1288, 75), +(2, 1289, 98), +(2, 1290, 86), +(2, 1291, 90), +(2, 1292, 87), +(2, 1293, 71), +(2, 1294, 82), +(2, 1295, 92), +(2, 1296, 67), +(2, 1297, 84), +(2, 1298, 74), +(2, 1299, 83), +(2, 1300, 94), +(2, 1301, 90), +(2, 1302, 81), +(2, 1303, 84), +(2, 1304, 73), +(2, 1305, 67), +(2, 1306, 84), +(2, 1307, 81), +(2, 1308, 79), +(2, 1309, 70), +(2, 1310, 96), +(2, 1311, 93), +(2, 1312, 99), +(2, 1313, 68), +(2, 1314, 70), +(2, 1315, 80), +(2, 1316, 86), +(2, 1317, 69), +(2, 1318, 95), +(2, 1319, 77), +(2, 1320, 81), +(2, 1321, 82), +(2, 1322, 85), +(2, 1323, 77), +(2, 1324, 79), +(2, 1325, 99), +(2, 1326, 93), +(2, 1327, 68), +(2, 1328, 94), +(2, 1329, 94), +(2, 1330, 97), +(2, 1331, 85), +(2, 1332, 97), +(2, 1333, 77), +(2, 1334, 93), +(2, 1335, 75), +(2, 1336, 92), +(2, 1337, 78), +(2, 1338, 74), +(2, 1339, 98), +(2, 1340, 89), +(2, 1341, 92), +(2, 1342, 90), +(2, 1343, 65), +(2, 1344, 77), +(2, 1345, 94), +(2, 1346, 77), +(2, 1347, 94), +(2, 1348, 69), +(2, 1349, 82), +(2, 1350, 85), +(2, 1351, 92), +(2, 1352, 77), +(2, 1353, 89), +(2, 1354, 97), +(2, 1355, 96), +(2, 1356, 69), +(2, 1357, 94), +(2, 1358, 69), +(2, 1359, 87), +(2, 1360, 67), +(2, 1361, 96), +(2, 1362, 82), +(2, 1363, 81), +(2, 1364, 88), +(2, 1365, 86), +(2, 1366, 73), +(2, 1367, 93), +(2, 1368, 74), +(2, 1369, 97), +(2, 1370, 85), +(2, 1371, 72), +(2, 1372, 85), +(2, 1373, 84), +(2, 1374, 75), +(2, 1375, 67), +(2, 1376, 99), +(2, 1377, 67), +(2, 1378, 66), +(2, 1379, 76), +(2, 1380, 75), +(2, 1381, 86), +(2, 1382, 73), +(2, 1383, 85), +(2, 1384, 75), +(2, 1385, 72), +(2, 1386, 72), +(2, 1387, 95), +(2, 1388, 73), +(2, 1389, 98), +(2, 1390, 68), +(2, 1391, 68), +(2, 1392, 75), +(2, 1393, 87), +(2, 1394, 66), +(2, 1395, 75), +(2, 1396, 74), +(2, 1397, 74), +(2, 1398, 66), +(2, 1399, 87), +(2, 1400, 85), +(2, 1401, 82), +(2, 1402, 68), +(2, 1403, 97), +(2, 1404, 71), +(2, 1405, 73), +(2, 1406, 95), +(2, 1407, 71), +(2, 1408, 67), +(2, 1409, 92), +(2, 1410, 81), +(2, 1411, 98), +(2, 1412, 73), +(2, 1413, 92), +(2, 1414, 66), +(2, 1415, 96), +(2, 1416, 84), +(2, 1417, 77), +(2, 1418, 67), +(2, 1419, 93), +(2, 1420, 76), +(2, 1421, 76), +(2, 1422, 89), +(2, 1423, 82), +(2, 1424, 97), +(2, 1425, 79), +(2, 1426, 74), +(2, 1427, 76), +(2, 1428, 81), +(2, 1429, 97), +(2, 1430, 68), +(2, 1431, 86), +(2, 1432, 84), +(2, 1433, 90), +(2, 1434, 79), +(2, 1435, 74), +(2, 1436, 92), +(2, 1437, 78), +(2, 1438, 95), +(2, 1439, 78), +(2, 1440, 86), +(2, 1441, 96), +(2, 1442, 76), +(2, 1443, 66), +(2, 1444, 88), +(2, 1445, 88), +(2, 1446, 87), +(2, 1447, 78), +(2, 1448, 97), +(2, 1449, 75), +(2, 1450, 95), +(2, 1451, 90), +(2, 1452, 68), +(2, 1453, 99), +(2, 1454, 75), +(2, 1455, 93), +(2, 1456, 74), +(2, 1457, 81), +(2, 1458, 86), +(2, 1459, 75), +(2, 1460, 94), +(2, 1461, 67), +(2, 1462, 78), +(2, 1463, 83), +(2, 1464, 99), +(2, 1465, 90), +(2, 1466, 70), +(2, 1467, 90), +(2, 1468, 79), +(2, 1469, 74), +(2, 1470, 92), +(2, 1471, 92), +(2, 1472, 79), +(2, 1473, 93), +(2, 1474, 77), +(2, 1475, 83), +(2, 1476, 68), +(2, 1477, 97), +(2, 1478, 73), +(2, 1479, 92), +(2, 1480, 89), +(2, 1481, 73), +(2, 1482, 73), +(2, 1483, 74), +(2, 1484, 74), +(2, 1485, 92), +(2, 1486, 81), +(2, 1487, 89), +(2, 1488, 83), +(2, 1489, 65), +(2, 1490, 81), +(2, 1491, 65), +(2, 1492, 96), +(2, 1493, 89), +(2, 1494, 67), +(2, 1495, 68), +(2, 1496, 88), +(2, 1497, 72), +(2, 1498, 99), +(2, 1499, 83), +(2, 1500, 73), +(2, 1501, 76), +(2, 1502, 82), +(2, 1503, 93), +(2, 1504, 78), +(2, 1505, 74), +(2, 1506, 88), +(2, 1507, 67), +(2, 1508, 96), +(2, 1509, 66), +(2, 1510, 82), +(2, 1511, 66), +(2, 1512, 83), +(2, 1513, 93), +(2, 1514, 76), +(2, 1515, 91), +(2, 1516, 85), +(2, 1517, 66), +(2, 1518, 93), +(2, 1519, 65), +(2, 1520, 91), +(2, 1521, 85), +(2, 1522, 85), +(2, 1523, 70), +(2, 1524, 85), +(2, 1525, 98), +(2, 1526, 94), +(2, 1527, 87), +(2, 1528, 73), +(2, 1529, 95), +(2, 1530, 86), +(2, 1531, 96), +(2, 1532, 85), +(2, 1533, 78), +(2, 1534, 76), +(2, 1535, 75), +(2, 1536, 95), +(2, 1537, 72), +(2, 1538, 99), +(2, 1539, 83), +(2, 1540, 87), +(2, 1541, 91), +(2, 1542, 91), +(2, 1543, 91), +(2, 1544, 72), +(2, 1545, 86), +(2, 1546, 72), +(2, 1547, 79), +(2, 1548, 77), +(2, 1549, 83), +(2, 1550, 77), +(2, 1551, 95), +(2, 1552, 66), +(2, 1553, 74), +(2, 1554, 74), +(2, 1555, 73), +(2, 1556, 76), +(2, 1557, 80), +(2, 1558, 88), +(2, 1559, 76), +(2, 1560, 91), +(2, 1561, 93), +(2, 1562, 94), +(2, 1563, 99), +(2, 1564, 95), +(2, 1565, 65), +(2, 1566, 67), +(2, 1567, 70), +(2, 1568, 91), +(2, 1569, 97), +(2, 1570, 73), +(2, 1571, 74), +(2, 1572, 69), +(2, 1573, 97), +(2, 1574, 82), +(2, 1575, 70), +(2, 1576, 73), +(2, 1577, 87), +(2, 1578, 75), +(2, 1579, 96), +(2, 1580, 84), +(2, 1581, 66), +(2, 1582, 73), +(2, 1583, 97), +(2, 1584, 65), +(2, 1585, 77), +(2, 1586, 73), +(2, 1587, 67), +(2, 2047, 95), +(2, 2048, 93), +(2, 2049, 90), +(2, 2050, 82), +(2, 2051, 80), +(2, 2052, 88), +(2, 2053, 72), +(2, 2054, 70), +(2, 2055, 69), +(2, 2056, 76), +(2, 2057, 81), +(2, 2058, 89), +(2, 2059, 67), +(2, 2060, 74), +(2, 2061, 95), +(2, 2062, 80), +(2, 2063, 99), +(2, 2064, 83), +(2, 2065, 68), +(2, 2066, 84), +(2, 2067, 90), +(2, 2068, 90), +(2, 2069, 73), +(2, 2070, 70), +(2, 2071, 77), +(2, 2072, 66), +(2, 2073, 88), +(2, 2074, 75), +(2, 2075, 98), +(2, 2076, 97), +(2, 2077, 83), +(2, 2078, 65), +(2, 2079, 71), +(2, 2080, 65), +(2, 2081, 71), +(2, 2082, 93), +(2, 2083, 99), +(2, 2084, 82), +(2, 2085, 79), +(2, 2086, 65), +(2, 2087, 99), +(2, 2088, 81), +(2, 2089, 81), +(2, 2090, 95), +(2, 2091, 74), +(2, 2092, 75), +(2, 2093, 67), +(2, 2094, 66), +(2, 2095, 71), +(2, 2096, 75), +(2, 2097, 87), +(2, 2098, 73), +(2, 2099, 71), +(2, 2100, 72), +(2, 2101, 89), +(2, 2102, 83), +(2, 2103, 75), +(2, 2104, 90), +(2, 2105, 97), +(2, 2106, 80), +(2, 2107, 97), +(2, 2108, 76), +(2, 2109, 74), +(2, 2110, 80), +(2, 2111, 65), +(2, 2112, 78), +(2, 2113, 65), +(2, 2114, 87), +(2, 2115, 73), +(2, 2116, 82), +(2, 2117, 90), +(2, 2118, 70), +(2, 2119, 73), +(2, 2120, 99), +(2, 2121, 69), +(2, 2122, 71), +(2, 2123, 90), +(2, 2124, 69), +(2, 2125, 77), +(2, 2126, 69), +(2, 2127, 84), +(2, 2128, 84), +(2, 2129, 67), +(2, 2130, 85), +(2, 2131, 73), +(2, 2132, 92), +(2, 2133, 93), +(2, 2134, 74), +(2, 2135, 77), +(2, 2136, 98), +(2, 2137, 70), +(2, 2138, 69), +(2, 2139, 91), +(2, 2140, 98), +(2, 2141, 73), +(2, 2142, 93), +(2, 2143, 95), +(2, 2144, 72), +(2, 2145, 79), +(2, 2146, 76), +(2, 2147, 80), +(2, 2148, 91), +(2, 2149, 76), +(2, 2150, 79), +(2, 2151, 96), +(2, 2152, 87), +(2, 2153, 70), +(2, 2154, 96), +(2, 2155, 71), +(2, 2156, 83), +(2, 2157, 68), +(2, 2158, 98), +(2, 2159, 72), +(2, 2160, 81), +(2, 2161, 89), +(2, 2162, 96), +(2, 2163, 85), +(2, 2164, 75), +(2, 2165, 98), +(2, 2166, 94), +(2, 2167, 65), +(2, 2168, 97), +(2, 2169, 66), +(2, 2170, 68), +(2, 2171, 78), +(2, 2172, 70), +(2, 2173, 91), +(2, 2174, 98), +(2, 2175, 88), +(2, 2176, 99), +(2, 2177, 77), +(2, 2178, 69), +(2, 2179, 95), +(2, 2180, 79), +(2, 2181, 89), +(2, 2182, 95), +(2, 2183, 88), +(2, 2184, 96), +(2, 2185, 84), +(2, 2186, 81), +(2, 2187, 88), +(2, 2188, 99), +(2, 2189, 71), +(2, 2190, 90), +(2, 2191, 69), +(2, 2192, 99), +(2, 2193, 88), +(2, 2194, 68), +(2, 2195, 85), +(2, 2196, 87), +(2, 2197, 65), +(2, 2198, 87), +(2, 2199, 67), +(2, 2200, 81), +(2, 2201, 65), +(2, 2202, 78), +(2, 2203, 93), +(2, 2204, 85), +(2, 2205, 88), +(2, 2206, 82), +(2, 2207, 95), +(2, 2208, 70), +(2, 2209, 92), +(2, 2210, 87), +(2, 2211, 93), +(2, 2212, 85), +(2, 2213, 85), +(2, 2214, 92), +(2, 2215, 76), +(2, 2216, 84), +(2, 2217, 82), +(2, 2218, 98), +(2, 2219, 89), +(2, 2220, 89), +(2, 2221, 92), +(2, 2222, 95), +(2, 2223, 78), +(2, 2224, 91), +(2, 2225, 92), +(2, 2226, 90), +(2, 2227, 70), +(2, 2228, 67), +(2, 2229, 99), +(2, 2230, 77), +(2, 2231, 79), +(2, 2232, 79), +(2, 2233, 89), +(2, 2234, 83), +(2, 2235, 84), +(2, 2236, 81), +(2, 2237, 99), +(2, 2238, 96), +(2, 2239, 82), +(2, 2240, 73), +(2, 2241, 73), +(2, 2242, 72), +(2, 2243, 89), +(2, 2244, 96), +(2, 2245, 89), +(2, 2246, 71), +(2, 2247, 65), +(2, 2248, 77), +(2, 2249, 98), +(2, 2250, 65), +(2, 2251, 74), +(2, 2252, 99), +(2, 2253, 82), +(2, 2254, 71), +(2, 2255, 88), +(2, 2256, 71), +(2, 2257, 84), +(2, 2258, 88), +(2, 2259, 91), +(2, 2260, 87), +(2, 2261, 67), +(2, 2262, 92), +(2, 2263, 82), +(2, 2264, 75), +(2, 2265, 72), +(2, 2266, 92), +(2, 2267, 84), +(2, 2268, 78), +(2, 2269, 66), +(2, 2270, 86), +(2, 2271, 76), +(2, 2272, 91), +(2, 2273, 74), +(2, 2274, 94), +(2, 2275, 72), +(2, 2276, 91), +(2, 2277, 70), +(2, 2278, 83), +(2, 2279, 98), +(2, 2280, 67), +(2, 2281, 72), +(2, 2282, 66), +(2, 2283, 86), +(2, 2284, 99), +(2, 2285, 84), +(2, 2286, 99), +(2, 2287, 84), +(2, 2288, 71), +(2, 2289, 80), +(2, 2290, 80), +(2, 2291, 89), +(2, 2292, 90), +(2, 2293, 67), +(2, 2294, 74), +(2, 2295, 75), +(2, 2296, 80), +(2, 2297, 74), +(2, 2298, 92), +(2, 2299, 88), +(2, 2300, 94), +(2, 2301, 98), +(2, 2302, 80), +(2, 2303, 92), +(2, 2304, 96), +(2, 2305, 73), +(2, 2306, 93), +(2, 2307, 68), +(2, 2308, 91), +(2, 2309, 78), +(2, 2310, 72), +(2, 2311, 88), +(2, 2312, 72), +(2, 2313, 95), +(2, 2314, 92), +(2, 2315, 79), +(2, 2316, 81), +(2, 2317, 75), +(2, 2318, 93), +(2, 2319, 73), +(2, 2320, 73), +(2, 2321, 88), +(2, 2322, 89), +(2, 2323, 90), +(2, 2324, 99), +(2, 2325, 95), +(2, 2326, 97), +(2, 2327, 92), +(2, 2328, 91), +(2, 2329, 68), +(2, 2330, 86), +(2, 2331, 92), +(2, 2332, 68), +(2, 2333, 94), +(2, 2334, 87), +(2, 2335, 76), +(2, 2336, 78), +(2, 2337, 83), +(2, 2338, 91), +(2, 2339, 89), +(2, 2340, 91), +(2, 2341, 96), +(2, 2342, 68), +(2, 2343, 74), +(2, 2344, 68), +(2, 2345, 84), +(2, 2346, 86), +(2, 2347, 96), +(2, 2348, 84), +(2, 2349, 89), +(2, 2350, 69), +(2, 2351, 85), +(2, 2352, 93), +(2, 2353, 89), +(2, 2354, 72), +(2, 2355, 94), +(2, 2356, 84), +(2, 2357, 65), +(2, 2358, 73), +(2, 2359, 69), +(2, 2360, 71), +(2, 2361, 94), +(2, 2362, 91), +(2, 2363, 99), +(2, 2364, 81), +(2, 2365, 77), +(2, 2366, 81), +(2, 2367, 95), +(2, 2368, 70), +(2, 2369, 65), +(2, 2370, 96), +(2, 2371, 85), +(2, 2372, 77), +(2, 2373, 66), +(2, 2374, 78), +(2, 2375, 86), +(2, 2376, 72), +(2, 2377, 80), +(2, 2378, 66), +(2, 2379, 97), +(2, 2380, 90), +(2, 2381, 69), +(2, 2382, 74), +(2, 2383, 94), +(2, 2384, 87), +(2, 2385, 85), +(2, 2386, 95), +(2, 2387, 81), +(2, 2388, 82), +(2, 2389, 89), +(2, 2390, 68), +(2, 2391, 87), +(2, 2392, 75), +(2, 2393, 66), +(2, 2394, 82), +(2, 2395, 84), +(2, 2396, 81), +(2, 2397, 81), +(2, 2398, 66), +(2, 2399, 92), +(2, 2400, 94), +(2, 2401, 79), +(2, 2402, 88), +(2, 2403, 94), +(2, 2404, 79), +(2, 2405, 87), +(2, 2406, 91), +(2, 2407, 78), +(2, 2408, 99), +(2, 2409, 80), +(2, 2410, 77), +(2, 2411, 87), +(2, 2412, 81), +(2, 2413, 98), +(2, 2414, 77), +(2, 2415, 91), +(2, 2416, 77), +(2, 2417, 81), +(2, 2418, 97), +(2, 2419, 70), +(2, 2420, 85), +(2, 2421, 82), +(2, 2422, 98), +(2, 2423, 85), +(2, 2424, 84), +(2, 2425, 82), +(2, 2426, 73), +(2, 2427, 71), +(2, 2428, 66), +(2, 2429, 68), +(2, 2430, 71), +(2, 2431, 69), +(2, 2432, 72), +(2, 2433, 82), +(2, 2434, 76), +(2, 2435, 97), +(2, 2436, 68), +(2, 2437, 83), +(2, 2438, 83), +(2, 2439, 94), +(2, 2440, 79), +(2, 2441, 98), +(2, 2442, 79), +(2, 2443, 93), +(2, 2444, 86), +(2, 2445, 83), +(2, 2446, 65), +(2, 2447, 76), +(2, 2448, 82), +(2, 2449, 68), +(2, 2450, 74), +(2, 2451, 74), +(2, 2452, 75), +(2, 2453, 78), +(2, 2454, 84), +(2, 2455, 87), +(2, 2456, 72), +(2, 2457, 93), +(2, 2458, 91), +(2, 2459, 73), +(2, 2460, 84), +(2, 2461, 82), +(2, 2462, 83), +(2, 2463, 87), +(2, 2464, 80), +(2, 2465, 96), +(2, 2466, 71), +(2, 2467, 66), +(2, 2468, 72), +(2, 2469, 74), +(2, 2470, 76), +(2, 2471, 78), +(2, 2472, 80), +(2, 2473, 91), +(2, 2474, 83), +(2, 2475, 75), +(2, 2476, 89), +(2, 2477, 71), +(2, 2478, 83), +(2, 2479, 70), +(2, 2480, 70), +(2, 2481, 69), +(2, 2482, 72), +(2, 2483, 80), +(2, 2484, 94), +(2, 2485, 73), +(2, 2486, 96), +(2, 2487, 71), +(2, 2488, 90), +(2, 2489, 82), +(2, 2490, 99), +(2, 2491, 87), +(2, 2492, 86), +(2, 2493, 76), +(2, 2494, 77), +(2, 2495, 88), +(2, 2496, 97), +(2, 2497, 90), +(2, 2498, 93), +(2, 2499, 76), +(2, 2500, 82), +(2, 2501, 81), +(2, 2502, 89), +(2, 2503, 99), +(2, 2504, 70), +(2, 2505, 73), +(2, 2506, 87), +(2, 2507, 85), +(2, 2508, 98), +(2, 2509, 93), +(2, 2510, 93), +(2, 2511, 82), +(2, 2512, 69), +(2, 2513, 80), +(2, 2514, 78), +(2, 2515, 73), +(2, 2516, 69), +(2, 2517, 89), +(2, 2518, 77), +(2, 2519, 71), +(2, 2520, 65), +(2, 2521, 83), +(2, 2522, 92), +(2, 2523, 83), +(2, 2524, 72), +(2, 2525, 87), +(2, 2526, 75), +(2, 2527, 89), +(2, 2528, 92), +(2, 2529, 93), +(2, 2530, 96), +(2, 2531, 72), +(2, 2532, 92), +(2, 2533, 81), +(2, 2534, 91), +(2, 2535, 86), +(2, 2536, 70), +(2, 2537, 84), +(2, 2538, 76), +(2, 2539, 68), +(2, 2540, 97), +(2, 2541, 75), +(2, 2542, 65), +(2, 2543, 65), +(2, 2544, 77), +(2, 2545, 83), +(2, 2546, 84), +(2, 2547, 75), +(2, 2548, 68), +(2, 2549, 98), +(2, 2550, 97), +(2, 2551, 80), +(2, 2552, 95), +(2, 2553, 76), +(2, 2554, 77), +(2, 2555, 91), +(2, 2556, 87), +(2, 2557, 65), +(2, 2558, 93), +(2, 2559, 97), +(2, 2560, 94), +(2, 2561, 92), +(2, 2562, 98), +(2, 2563, 79), +(2, 2564, 95), +(2, 2565, 84), +(2, 2566, 72), +(2, 2567, 87), +(2, 2568, 79), +(2, 2569, 76), +(2, 2570, 73), +(2, 2571, 84), +(2, 2572, 88), +(2, 2573, 88), +(2, 2574, 86), +(2, 2575, 96), +(2, 2576, 72), +(2, 2577, 69), +(2, 2578, 99), +(2, 2579, 84), +(2, 2580, 77), +(2, 2581, 83), +(2, 2582, 78), +(2, 2583, 89), +(2, 2584, 93), +(2, 2585, 73), +(2, 2586, 92), +(2, 2587, 97), +(2, 2588, 93), +(2, 2589, 83), +(2, 2590, 95), +(2, 2591, 85), +(2, 2592, 88), +(2, 2593, 86), +(2, 2594, 85), +(2, 2595, 85), +(2, 2596, 84), +(2, 2597, 96), +(2, 2598, 87), +(2, 2599, 81), +(2, 2600, 90), +(2, 2601, 89), +(2, 2602, 91), +(2, 2603, 87), +(2, 2604, 87), +(2, 2605, 97), +(2, 2606, 96), +(2, 2607, 79), +(2, 2608, 69), +(2, 2609, 74), +(2, 2610, 83), +(3, 1, 82), +(3, 2, 81), +(3, 3, 94), +(3, 4, 68), +(3, 5, 89), +(3, 6, 81), +(3, 7, 71), +(3, 8, 84), +(3, 9, 74), +(3, 10, 75), +(3, 11, 84), +(3, 12, 78), +(3, 13, 80), +(3, 14, 74), +(3, 15, 96), +(3, 16, 68), +(3, 17, 92), +(3, 18, 81), +(3, 19, 76), +(3, 20, 84), +(3, 21, 83), +(3, 22, 84), +(3, 23, 93), +(3, 24, 79), +(3, 25, 87), +(3, 26, 68), +(3, 27, 69), +(3, 28, 68), +(3, 29, 94), +(3, 30, 90), +(3, 31, 84), +(3, 32, 92), +(3, 33, 82), +(3, 34, 98), +(3, 35, 89), +(3, 36, 86), +(3, 37, 80), +(3, 38, 94), +(3, 39, 80), +(3, 40, 68), +(3, 41, 97), +(3, 42, 84), +(3, 43, 86), +(3, 44, 90), +(3, 45, 73), +(3, 46, 93), +(3, 47, 87), +(3, 48, 76), +(3, 49, 86), +(3, 50, 86), +(3, 51, 83), +(3, 52, 92), +(3, 53, 97), +(3, 54, 89), +(3, 55, 69), +(3, 56, 85), +(3, 57, 75), +(3, 58, 92), +(3, 59, 67), +(3, 60, 87), +(3, 61, 98), +(3, 62, 90), +(3, 63, 73), +(3, 64, 78), +(3, 65, 86), +(3, 66, 98), +(3, 67, 75), +(3, 68, 66), +(3, 69, 86), +(3, 70, 99), +(3, 71, 79), +(3, 72, 79), +(3, 73, 90), +(3, 74, 90), +(3, 75, 97), +(3, 76, 87), +(3, 77, 82), +(3, 78, 99), +(3, 79, 97), +(3, 80, 81), +(3, 81, 78), +(3, 82, 89), +(3, 83, 74), +(3, 84, 96), +(3, 85, 91), +(3, 86, 82), +(3, 87, 67), +(3, 88, 76), +(3, 89, 83), +(3, 90, 96), +(3, 91, 92), +(3, 92, 68), +(3, 93, 73), +(3, 94, 96), +(3, 95, 92), +(3, 96, 95), +(3, 97, 91), +(3, 98, 81), +(3, 99, 79), +(3, 100, 86), +(3, 101, 96), +(3, 102, 90), +(3, 103, 74), +(3, 104, 89), +(3, 105, 79), +(3, 106, 70), +(3, 107, 76), +(3, 108, 95), +(3, 109, 78), +(3, 110, 68), +(3, 111, 77), +(3, 112, 98), +(3, 113, 65), +(3, 114, 82), +(3, 115, 89), +(3, 116, 76), +(3, 117, 76), +(3, 118, 86), +(3, 119, 66), +(3, 120, 69), +(3, 121, 84), +(3, 122, 66), +(3, 123, 98), +(3, 124, 97), +(3, 125, 72), +(3, 126, 89), +(3, 127, 65), +(3, 128, 96), +(3, 129, 72), +(3, 130, 86), +(3, 131, 67), +(3, 132, 93), +(3, 133, 66), +(3, 134, 79), +(3, 135, 97), +(3, 136, 75), +(3, 137, 69), +(3, 138, 95), +(3, 139, 82), +(3, 140, 74), +(3, 141, 65), +(3, 142, 73), +(3, 143, 70), +(3, 144, 74), +(3, 145, 70), +(3, 146, 77), +(3, 147, 78), +(3, 148, 78), +(3, 149, 73), +(3, 150, 77), +(3, 151, 66), +(3, 152, 76), +(3, 153, 76), +(3, 154, 92), +(3, 155, 79), +(3, 156, 98), +(3, 157, 70), +(3, 158, 87), +(3, 159, 66), +(3, 160, 70), +(3, 161, 69), +(3, 162, 99), +(3, 163, 84), +(3, 164, 86), +(3, 165, 85), +(3, 166, 91), +(3, 167, 69), +(3, 168, 76), +(3, 169, 69), +(3, 170, 84), +(3, 171, 93), +(3, 172, 97), +(3, 173, 81), +(3, 174, 89), +(3, 175, 81), +(3, 176, 84), +(3, 177, 90), +(3, 178, 82), +(3, 179, 65), +(3, 180, 87), +(3, 181, 89), +(3, 182, 71), +(3, 183, 68), +(3, 184, 66), +(3, 185, 90), +(3, 186, 75), +(3, 187, 67), +(3, 188, 90), +(3, 189, 79), +(3, 190, 98), +(3, 191, 69), +(3, 192, 96), +(3, 193, 79), +(3, 194, 90), +(3, 195, 77), +(3, 196, 90), +(3, 197, 89), +(3, 198, 95), +(3, 199, 92), +(3, 200, 87), +(3, 201, 98), +(3, 202, 72), +(3, 203, 90), +(3, 204, 66), +(3, 205, 90), +(3, 206, 74), +(3, 207, 74), +(3, 208, 95), +(3, 209, 99), +(3, 210, 95), +(3, 211, 71), +(3, 212, 93), +(3, 213, 86), +(3, 214, 91), +(3, 215, 93), +(3, 216, 98), +(3, 217, 90), +(3, 218, 73), +(3, 219, 97), +(3, 220, 92), +(3, 221, 83), +(3, 222, 73), +(3, 223, 77), +(3, 224, 86), +(3, 225, 79), +(3, 226, 70), +(3, 227, 78), +(3, 228, 96), +(3, 229, 69), +(3, 230, 76), +(3, 231, 71), +(3, 232, 73), +(3, 233, 65), +(3, 234, 98), +(3, 235, 65), +(3, 236, 90), +(3, 237, 94), +(3, 238, 78), +(3, 239, 95), +(3, 240, 83), +(3, 241, 95), +(3, 242, 97), +(3, 243, 92), +(3, 244, 76), +(3, 245, 81), +(3, 246, 77), +(3, 247, 86), +(3, 248, 94), +(3, 249, 67), +(3, 250, 88), +(3, 251, 68), +(3, 252, 74), +(3, 253, 97), +(3, 254, 85), +(3, 255, 78), +(3, 256, 97), +(3, 257, 97), +(3, 258, 99), +(3, 259, 93), +(3, 260, 89), +(3, 261, 66), +(3, 262, 88), +(3, 263, 76), +(3, 264, 90), +(3, 265, 87), +(3, 266, 79), +(3, 267, 90), +(3, 268, 86), +(3, 269, 68), +(3, 270, 74), +(3, 271, 67), +(3, 272, 88), +(3, 273, 80), +(3, 274, 68), +(3, 275, 80), +(3, 276, 96), +(3, 277, 72), +(3, 278, 66), +(3, 279, 88), +(3, 280, 98), +(3, 281, 95), +(3, 282, 98), +(3, 283, 65), +(3, 284, 93), +(3, 285, 70), +(3, 286, 97), +(3, 287, 70), +(3, 288, 68), +(3, 289, 91), +(3, 290, 75), +(3, 291, 83), +(3, 292, 88), +(3, 293, 87), +(3, 294, 82), +(3, 295, 67), +(3, 296, 99), +(3, 297, 86), +(3, 298, 83), +(3, 299, 97), +(3, 300, 77), +(3, 301, 82), +(3, 302, 71), +(3, 303, 94), +(3, 304, 93), +(3, 305, 74), +(3, 306, 70), +(3, 307, 74), +(3, 308, 85), +(3, 309, 82), +(3, 310, 67), +(3, 311, 99), +(3, 312, 83), +(3, 313, 77), +(3, 314, 73), +(3, 315, 95), +(3, 316, 82), +(3, 317, 74), +(3, 318, 93), +(3, 319, 74), +(3, 320, 87), +(3, 321, 67), +(3, 322, 85), +(3, 323, 80), +(3, 324, 99), +(3, 325, 70), +(3, 326, 85), +(3, 327, 93), +(3, 328, 81), +(3, 329, 95), +(3, 330, 69), +(3, 331, 94), +(3, 332, 82), +(3, 333, 82), +(3, 334, 79), +(3, 335, 98), +(3, 336, 66), +(3, 337, 72), +(3, 338, 91), +(3, 339, 95), +(3, 340, 71), +(3, 341, 75), +(3, 342, 74), +(3, 343, 79), +(3, 344, 70), +(3, 345, 66), +(3, 346, 85), +(3, 347, 65), +(3, 348, 99), +(3, 349, 98), +(3, 350, 93), +(3, 351, 98), +(3, 352, 67), +(3, 353, 80), +(3, 354, 66), +(3, 355, 82), +(3, 356, 85), +(3, 357, 76), +(3, 358, 77), +(3, 359, 89), +(3, 360, 79), +(3, 361, 94), +(3, 362, 71), +(3, 363, 72), +(3, 364, 97), +(3, 365, 75), +(3, 366, 79), +(3, 367, 74), +(3, 368, 87), +(3, 369, 77), +(3, 370, 93), +(3, 371, 89), +(3, 372, 77), +(3, 373, 94), +(3, 374, 71), +(3, 375, 80), +(3, 376, 79), +(3, 377, 71), +(3, 378, 67), +(3, 379, 96), +(3, 380, 99), +(3, 381, 69), +(3, 382, 70), +(3, 383, 82), +(3, 384, 67), +(3, 385, 70), +(3, 386, 98), +(3, 387, 99), +(3, 388, 74), +(3, 389, 96), +(3, 390, 69), +(3, 391, 76), +(3, 392, 69), +(3, 393, 68), +(3, 394, 68), +(3, 395, 80), +(3, 396, 81), +(3, 397, 72), +(3, 398, 97), +(3, 399, 92), +(3, 400, 66), +(3, 401, 89), +(3, 402, 86), +(3, 403, 88), +(3, 404, 71), +(3, 405, 80), +(3, 406, 89), +(3, 407, 67), +(3, 408, 96), +(3, 409, 93), +(3, 410, 90), +(3, 411, 79), +(3, 412, 99), +(3, 413, 73), +(3, 414, 66), +(3, 415, 99), +(3, 416, 69), +(3, 417, 93), +(3, 418, 68), +(3, 419, 97), +(3, 420, 85), +(3, 421, 79), +(3, 422, 91), +(3, 423, 73), +(3, 424, 88), +(3, 425, 73), +(3, 426, 86), +(3, 427, 95), +(3, 428, 84), +(3, 429, 77), +(3, 430, 72), +(3, 431, 66), +(3, 432, 71), +(3, 433, 76), +(3, 434, 89), +(3, 435, 65), +(3, 436, 69), +(3, 437, 99), +(3, 438, 66), +(3, 439, 68), +(3, 440, 78), +(3, 441, 69), +(3, 442, 70), +(3, 443, 69), +(3, 444, 77), +(3, 445, 70), +(3, 446, 69), +(3, 447, 74), +(3, 448, 92), +(3, 449, 77), +(3, 450, 97), +(3, 451, 89), +(3, 452, 77), +(3, 453, 84), +(3, 454, 69), +(3, 455, 66), +(3, 456, 71), +(3, 457, 89), +(3, 458, 76), +(3, 459, 96), +(3, 460, 73), +(3, 461, 74), +(3, 462, 66), +(3, 463, 99), +(3, 464, 89), +(3, 465, 82), +(3, 466, 94), +(3, 467, 85), +(3, 468, 86), +(3, 469, 67), +(3, 470, 70), +(3, 471, 81), +(3, 472, 68), +(3, 473, 79), +(3, 474, 90), +(3, 475, 70), +(3, 476, 80), +(3, 477, 83), +(3, 478, 69), +(3, 479, 97), +(3, 480, 67), +(3, 481, 82), +(3, 482, 90), +(3, 483, 73), +(3, 484, 73), +(3, 485, 66), +(3, 486, 92), +(3, 487, 95), +(3, 488, 72), +(3, 489, 74), +(3, 490, 89), +(3, 491, 89), +(3, 492, 82), +(3, 493, 91), +(3, 494, 92), +(3, 495, 65), +(3, 496, 86), +(3, 497, 67), +(3, 498, 86), +(3, 499, 74), +(3, 500, 89), +(3, 501, 74), +(3, 502, 89), +(3, 503, 93), +(3, 504, 88), +(3, 505, 79), +(3, 506, 72), +(3, 507, 76), +(3, 508, 79), +(3, 509, 65), +(3, 510, 99), +(3, 511, 97), +(3, 512, 86), +(3, 513, 87), +(3, 514, 73), +(3, 515, 80), +(3, 516, 91), +(3, 517, 86), +(3, 518, 74), +(3, 519, 70), +(3, 520, 79), +(3, 521, 72), +(3, 522, 94), +(3, 523, 93), +(3, 524, 96), +(3, 525, 69), +(3, 526, 73), +(3, 527, 80), +(3, 528, 82), +(3, 529, 99), +(3, 530, 83), +(3, 531, 73), +(3, 532, 65), +(3, 533, 66), +(3, 534, 83), +(3, 535, 88), +(3, 536, 83), +(3, 537, 77), +(3, 538, 67), +(3, 539, 82), +(3, 540, 69), +(3, 541, 89), +(3, 542, 90), +(3, 543, 65), +(3, 544, 90), +(3, 545, 66), +(3, 546, 86), +(3, 547, 76), +(3, 548, 97), +(3, 549, 75), +(3, 550, 94), +(3, 551, 77), +(3, 552, 78), +(3, 553, 88), +(3, 554, 91), +(3, 555, 91), +(3, 556, 83), +(3, 557, 85), +(3, 558, 80), +(3, 559, 93), +(3, 560, 97), +(3, 561, 71), +(3, 562, 95), +(3, 563, 72), +(3, 564, 93), +(3, 1024, 77), +(3, 1025, 85), +(3, 1026, 71), +(3, 1027, 92), +(3, 1028, 96), +(3, 1029, 69), +(3, 1030, 92), +(3, 1031, 94), +(3, 1032, 98), +(3, 1033, 81), +(3, 1034, 68), +(3, 1035, 80), +(3, 1036, 99), +(3, 1037, 71), +(3, 1038, 85), +(3, 1039, 71), +(3, 1040, 68), +(3, 1041, 76), +(3, 1042, 87), +(3, 1043, 90), +(3, 1044, 93), +(3, 1045, 68), +(3, 1046, 81), +(3, 1047, 88), +(3, 1048, 80), +(3, 1049, 88), +(3, 1050, 82), +(3, 1051, 89), +(3, 1052, 67), +(3, 1053, 75), +(3, 1054, 93), +(3, 1055, 75), +(3, 1056, 83), +(3, 1057, 72), +(3, 1058, 82), +(3, 1059, 88), +(3, 1060, 74), +(3, 1061, 81), +(3, 1062, 99), +(3, 1063, 68), +(3, 1064, 75), +(3, 1065, 89), +(3, 1066, 74), +(3, 1067, 98), +(3, 1068, 98), +(3, 1069, 96), +(3, 1070, 81); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(3, 1071, 69), +(3, 1072, 88), +(3, 1073, 96), +(3, 1074, 71), +(3, 1075, 93), +(3, 1076, 71), +(3, 1077, 96), +(3, 1078, 75), +(3, 1079, 90), +(3, 1080, 95), +(3, 1081, 75), +(3, 1082, 90), +(3, 1083, 94), +(3, 1084, 90), +(3, 1085, 71), +(3, 1086, 75), +(3, 1087, 80), +(3, 1088, 80), +(3, 1089, 73), +(3, 1090, 99), +(3, 1091, 98), +(3, 1092, 73), +(3, 1093, 84), +(3, 1094, 94), +(3, 1095, 85), +(3, 1096, 93), +(3, 1097, 75), +(3, 1098, 93), +(3, 1099, 93), +(3, 1100, 99), +(3, 1101, 69), +(3, 1102, 89), +(3, 1103, 73), +(3, 1104, 73), +(3, 1105, 98), +(3, 1106, 74), +(3, 1107, 77), +(3, 1108, 76), +(3, 1109, 71), +(3, 1110, 91), +(3, 1111, 78), +(3, 1112, 84), +(3, 1113, 99), +(3, 1114, 93), +(3, 1115, 75), +(3, 1116, 77), +(3, 1117, 66), +(3, 1118, 97), +(3, 1119, 83), +(3, 1120, 82), +(3, 1121, 68), +(3, 1122, 96), +(3, 1123, 79), +(3, 1124, 80), +(3, 1125, 91), +(3, 1126, 87), +(3, 1127, 71), +(3, 1128, 69), +(3, 1129, 90), +(3, 1130, 81), +(3, 1131, 95), +(3, 1132, 93), +(3, 1133, 94), +(3, 1134, 74), +(3, 1135, 68), +(3, 1136, 98), +(3, 1137, 89), +(3, 1138, 75), +(3, 1139, 67), +(3, 1140, 89), +(3, 1141, 95), +(3, 1142, 97), +(3, 1143, 84), +(3, 1144, 74), +(3, 1145, 91), +(3, 1146, 88), +(3, 1147, 92), +(3, 1148, 76), +(3, 1149, 66), +(3, 1150, 80), +(3, 1151, 78), +(3, 1152, 89), +(3, 1153, 84), +(3, 1154, 70), +(3, 1155, 81), +(3, 1156, 87), +(3, 1157, 78), +(3, 1158, 80), +(3, 1159, 73), +(3, 1160, 69), +(3, 1161, 69), +(3, 1162, 80), +(3, 1163, 71), +(3, 1164, 71), +(3, 1165, 85), +(3, 1166, 93), +(3, 1167, 71), +(3, 1168, 72), +(3, 1169, 92), +(3, 1170, 68), +(3, 1171, 88), +(3, 1172, 85), +(3, 1173, 69), +(3, 1174, 80), +(3, 1175, 77), +(3, 1176, 89), +(3, 1177, 73), +(3, 1178, 73), +(3, 1179, 67), +(3, 1180, 90), +(3, 1181, 65), +(3, 1182, 88), +(3, 1183, 72), +(3, 1184, 69), +(3, 1185, 69), +(3, 1186, 93), +(3, 1187, 97), +(3, 1188, 80), +(3, 1189, 92), +(3, 1190, 85), +(3, 1191, 93), +(3, 1192, 76), +(3, 1193, 90), +(3, 1194, 82), +(3, 1195, 71), +(3, 1196, 84), +(3, 1197, 73), +(3, 1198, 80), +(3, 1199, 83), +(3, 1200, 97), +(3, 1201, 97), +(3, 1202, 89), +(3, 1203, 68), +(3, 1204, 86), +(3, 1205, 77), +(3, 1206, 74), +(3, 1207, 83), +(3, 1208, 69), +(3, 1209, 94), +(3, 1210, 82), +(3, 1211, 98), +(3, 1212, 68), +(3, 1213, 86), +(3, 1214, 70), +(3, 1215, 95), +(3, 1216, 95), +(3, 1217, 99), +(3, 1218, 87), +(3, 1219, 99), +(3, 1220, 76), +(3, 1221, 71), +(3, 1222, 86), +(3, 1223, 66), +(3, 1224, 88), +(3, 1225, 73), +(3, 1226, 76), +(3, 1227, 66), +(3, 1228, 94), +(3, 1229, 94), +(3, 1230, 70), +(3, 1231, 68), +(3, 1232, 99), +(3, 1233, 81), +(3, 1234, 65), +(3, 1235, 73), +(3, 1236, 73), +(3, 1237, 69), +(3, 1238, 79), +(3, 1239, 92), +(3, 1240, 68), +(3, 1241, 65), +(3, 1242, 75), +(3, 1243, 74), +(3, 1244, 97), +(3, 1245, 78), +(3, 1246, 87), +(3, 1247, 73), +(3, 1248, 67), +(3, 1249, 98), +(3, 1250, 74), +(3, 1251, 98), +(3, 1252, 68), +(3, 1253, 94), +(3, 1254, 69), +(3, 1255, 91), +(3, 1256, 77), +(3, 1257, 85), +(3, 1258, 69), +(3, 1259, 74), +(3, 1260, 94), +(3, 1261, 94), +(3, 1262, 94), +(3, 1263, 86), +(3, 1264, 96), +(3, 1265, 98), +(3, 1266, 89), +(3, 1267, 84), +(3, 1268, 71), +(3, 1269, 89), +(3, 1270, 68), +(3, 1271, 76), +(3, 1272, 80), +(3, 1273, 77), +(3, 1274, 83), +(3, 1275, 86), +(3, 1276, 87), +(3, 1277, 96), +(3, 1278, 93), +(3, 1279, 66), +(3, 1280, 87), +(3, 1281, 94), +(3, 1282, 94), +(3, 1283, 94), +(3, 1284, 86), +(3, 1285, 76), +(3, 1286, 97), +(3, 1287, 99), +(3, 1288, 81), +(3, 1289, 75), +(3, 1290, 97), +(3, 1291, 98), +(3, 1292, 67), +(3, 1293, 78), +(3, 1294, 75), +(3, 1295, 95), +(3, 1296, 95), +(3, 1297, 85), +(3, 1298, 66), +(3, 1299, 82), +(3, 1300, 88), +(3, 1301, 96), +(3, 1302, 67), +(3, 1303, 71), +(3, 1304, 74), +(3, 1305, 73), +(3, 1306, 80), +(3, 1307, 67), +(3, 1308, 93), +(3, 1309, 96), +(3, 1310, 80), +(3, 1311, 73), +(3, 1312, 68), +(3, 1313, 74), +(3, 1314, 84), +(3, 1315, 77), +(3, 1316, 75), +(3, 1317, 84), +(3, 1318, 65), +(3, 1319, 68), +(3, 1320, 73), +(3, 1321, 69), +(3, 1322, 94), +(3, 1323, 89), +(3, 1324, 72), +(3, 1325, 84), +(3, 1326, 72), +(3, 1327, 95), +(3, 1328, 89), +(3, 1329, 94), +(3, 1330, 82), +(3, 1331, 79), +(3, 1332, 65), +(3, 1333, 94), +(3, 1334, 86), +(3, 1335, 80), +(3, 1336, 86), +(3, 1337, 93), +(3, 1338, 71), +(3, 1339, 78), +(3, 1340, 97), +(3, 1341, 81), +(3, 1342, 98), +(3, 1343, 78), +(3, 1344, 90), +(3, 1345, 72), +(3, 1346, 71), +(3, 1347, 72), +(3, 1348, 69), +(3, 1349, 90), +(3, 1350, 70), +(3, 1351, 66), +(3, 1352, 91), +(3, 1353, 99), +(3, 1354, 69), +(3, 1355, 83), +(3, 1356, 72), +(3, 1357, 73), +(3, 1358, 67), +(3, 1359, 81), +(3, 1360, 85), +(3, 1361, 86), +(3, 1362, 90), +(3, 1363, 92), +(3, 1364, 68), +(3, 1365, 66), +(3, 1366, 70), +(3, 1367, 72), +(3, 1368, 68), +(3, 1369, 99), +(3, 1370, 71), +(3, 1371, 78), +(3, 1372, 97), +(3, 1373, 80), +(3, 1374, 94), +(3, 1375, 94), +(3, 1376, 84), +(3, 1377, 77), +(3, 1378, 84), +(3, 1379, 70), +(3, 1380, 78), +(3, 1381, 78), +(3, 1382, 81), +(3, 1383, 90), +(3, 1384, 88), +(3, 1385, 97), +(3, 1386, 70), +(3, 1387, 88), +(3, 1388, 92), +(3, 1389, 79), +(3, 1390, 68), +(3, 1391, 66), +(3, 1392, 96), +(3, 1393, 80), +(3, 1394, 86), +(3, 1395, 92), +(3, 1396, 69), +(3, 1397, 76), +(3, 1398, 79), +(3, 1399, 87), +(3, 1400, 72), +(3, 1401, 82), +(3, 1402, 68), +(3, 1403, 67), +(3, 1404, 83), +(3, 1405, 71), +(3, 1406, 93), +(3, 1407, 90), +(3, 1408, 76), +(3, 1409, 83), +(3, 1410, 70), +(3, 1411, 84), +(3, 1412, 70), +(3, 1413, 89), +(3, 1414, 76), +(3, 1415, 69), +(3, 1416, 65), +(3, 1417, 75), +(3, 1418, 92), +(3, 1419, 98), +(3, 1420, 87), +(3, 1421, 97), +(3, 1422, 90), +(3, 1423, 92), +(3, 1424, 83), +(3, 1425, 75), +(3, 1426, 93), +(3, 1427, 85), +(3, 1428, 84), +(3, 1429, 83), +(3, 1430, 89), +(3, 1431, 74), +(3, 1432, 85), +(3, 1433, 92), +(3, 1434, 72), +(3, 1435, 71), +(3, 1436, 70), +(3, 1437, 86), +(3, 1438, 70), +(3, 1439, 90), +(3, 1440, 95), +(3, 1441, 67), +(3, 1442, 65), +(3, 1443, 99), +(3, 1444, 99), +(3, 1445, 90), +(3, 1446, 68), +(3, 1447, 81), +(3, 1448, 73), +(3, 1449, 92), +(3, 1450, 93), +(3, 1451, 87), +(3, 1452, 90), +(3, 1453, 90), +(3, 1454, 97), +(3, 1455, 75), +(3, 1456, 78), +(3, 1457, 93), +(3, 1458, 99), +(3, 1459, 84), +(3, 1460, 99), +(3, 1461, 81), +(3, 1462, 83), +(3, 1463, 69), +(3, 1464, 83), +(3, 1465, 75), +(3, 1466, 83), +(3, 1467, 87), +(3, 1468, 90), +(3, 1469, 96), +(3, 1470, 97), +(3, 1471, 94), +(3, 1472, 93), +(3, 1473, 81), +(3, 1474, 66), +(3, 1475, 95), +(3, 1476, 89), +(3, 1477, 67), +(3, 1478, 76), +(3, 1479, 92), +(3, 1480, 88), +(3, 1481, 83), +(3, 1482, 81), +(3, 1483, 80), +(3, 1484, 97), +(3, 1485, 72), +(3, 1486, 65), +(3, 1487, 70), +(3, 1488, 71), +(3, 1489, 73), +(3, 1490, 86), +(3, 1491, 66), +(3, 1492, 88), +(3, 1493, 85), +(3, 1494, 86), +(3, 1495, 67), +(3, 1496, 67), +(3, 1497, 90), +(3, 1498, 95), +(3, 1499, 79), +(3, 1500, 66), +(3, 1501, 70), +(3, 1502, 78), +(3, 1503, 88), +(3, 1504, 88), +(3, 1505, 87), +(3, 1506, 72), +(3, 1507, 70), +(3, 1508, 73), +(3, 1509, 77), +(3, 1510, 83), +(3, 1511, 71), +(3, 1512, 94), +(3, 1513, 89), +(3, 1514, 73), +(3, 1515, 88), +(3, 1516, 71), +(3, 1517, 71), +(3, 1518, 65), +(3, 1519, 77), +(3, 1520, 98), +(3, 1521, 98), +(3, 1522, 90), +(3, 1523, 67), +(3, 1524, 87), +(3, 1525, 98), +(3, 1526, 99), +(3, 1527, 78), +(3, 1528, 91), +(3, 1529, 91), +(3, 1530, 85), +(3, 1531, 79), +(3, 1532, 94), +(3, 1533, 86), +(3, 1534, 97), +(3, 1535, 86), +(3, 1536, 65), +(3, 1537, 98), +(3, 1538, 72), +(3, 1539, 65), +(3, 1540, 82), +(3, 1541, 89), +(3, 1542, 87), +(3, 1543, 87), +(3, 1544, 66), +(3, 1545, 67), +(3, 1546, 80), +(3, 1547, 95), +(3, 1548, 77), +(3, 1549, 73), +(3, 1550, 94), +(3, 1551, 67), +(3, 1552, 86), +(3, 1553, 86), +(3, 1554, 77), +(3, 1555, 98), +(3, 1556, 77), +(3, 1557, 79), +(3, 1558, 76), +(3, 1559, 78), +(3, 1560, 99), +(3, 1561, 96), +(3, 1562, 99), +(3, 1563, 93), +(3, 1564, 89), +(3, 1565, 66), +(3, 1566, 91), +(3, 1567, 85), +(3, 1568, 86), +(3, 1569, 65), +(3, 1570, 95), +(3, 1571, 92), +(3, 1572, 72), +(3, 1573, 77), +(3, 1574, 97), +(3, 1575, 83), +(3, 1576, 94), +(3, 1577, 82), +(3, 1578, 92), +(3, 1579, 85), +(3, 1580, 99), +(3, 1581, 70), +(3, 1582, 83), +(3, 1583, 96), +(3, 1584, 97), +(3, 1585, 72), +(3, 1586, 71), +(3, 1587, 76), +(3, 2047, 85), +(3, 2048, 76), +(3, 2049, 79), +(3, 2050, 99), +(3, 2051, 73), +(3, 2052, 87), +(3, 2053, 72), +(3, 2054, 98), +(3, 2055, 68), +(3, 2056, 80), +(3, 2057, 95), +(3, 2058, 73), +(3, 2059, 75), +(3, 2060, 97), +(3, 2061, 94), +(3, 2062, 73), +(3, 2063, 88), +(3, 2064, 92), +(3, 2065, 99), +(3, 2066, 84), +(3, 2067, 69), +(3, 2068, 81), +(3, 2069, 83), +(3, 2070, 82), +(3, 2071, 93), +(3, 2072, 72), +(3, 2073, 83), +(3, 2074, 96), +(3, 2075, 86), +(3, 2076, 92), +(3, 2077, 83), +(3, 2078, 75), +(3, 2079, 72), +(3, 2080, 73), +(3, 2081, 74), +(3, 2082, 96), +(3, 2083, 87), +(3, 2084, 68), +(3, 2085, 71), +(3, 2086, 70), +(3, 2087, 91), +(3, 2088, 72), +(3, 2089, 78), +(3, 2090, 74), +(3, 2091, 81), +(3, 2092, 75), +(3, 2093, 80), +(3, 2094, 92), +(3, 2095, 85), +(3, 2096, 88), +(3, 2097, 91), +(3, 2098, 94), +(3, 2099, 88), +(3, 2100, 65), +(3, 2101, 70), +(3, 2102, 92), +(3, 2103, 90), +(3, 2104, 68), +(3, 2105, 72), +(3, 2106, 86), +(3, 2107, 76), +(3, 2108, 91), +(3, 2109, 91), +(3, 2110, 74), +(3, 2111, 94), +(3, 2112, 72), +(3, 2113, 74), +(3, 2114, 91), +(3, 2115, 68), +(3, 2116, 94), +(3, 2117, 97), +(3, 2118, 74), +(3, 2119, 91), +(3, 2120, 73), +(3, 2121, 69), +(3, 2122, 85), +(3, 2123, 67), +(3, 2124, 79), +(3, 2125, 65), +(3, 2126, 65), +(3, 2127, 84), +(3, 2128, 91), +(3, 2129, 95), +(3, 2130, 76), +(3, 2131, 98), +(3, 2132, 75), +(3, 2133, 99), +(3, 2134, 73), +(3, 2135, 80), +(3, 2136, 75), +(3, 2137, 71), +(3, 2138, 75), +(3, 2139, 96), +(3, 2140, 65), +(3, 2141, 70), +(3, 2142, 82), +(3, 2143, 72), +(3, 2144, 94), +(3, 2145, 98), +(3, 2146, 89), +(3, 2147, 92), +(3, 2148, 93), +(3, 2149, 72), +(3, 2150, 77), +(3, 2151, 84), +(3, 2152, 76), +(3, 2153, 76), +(3, 2154, 76), +(3, 2155, 77), +(3, 2156, 73), +(3, 2157, 83), +(3, 2158, 98), +(3, 2159, 86), +(3, 2160, 70), +(3, 2161, 73), +(3, 2162, 95), +(3, 2163, 93), +(3, 2164, 86), +(3, 2165, 77), +(3, 2166, 81), +(3, 2167, 81), +(3, 2168, 84), +(3, 2169, 98), +(3, 2170, 96), +(3, 2171, 90), +(3, 2172, 88), +(3, 2173, 76), +(3, 2174, 89), +(3, 2175, 84), +(3, 2176, 83), +(3, 2177, 68), +(3, 2178, 99), +(3, 2179, 76), +(3, 2180, 70), +(3, 2181, 97), +(3, 2182, 72), +(3, 2183, 75), +(3, 2184, 79), +(3, 2185, 94), +(3, 2186, 74), +(3, 2187, 96), +(3, 2188, 77), +(3, 2189, 76), +(3, 2190, 94), +(3, 2191, 65), +(3, 2192, 91), +(3, 2193, 80), +(3, 2194, 70), +(3, 2195, 81), +(3, 2196, 89), +(3, 2197, 67), +(3, 2198, 95), +(3, 2199, 84), +(3, 2200, 71), +(3, 2201, 66), +(3, 2202, 90), +(3, 2203, 81), +(3, 2204, 86), +(3, 2205, 90), +(3, 2206, 75), +(3, 2207, 94), +(3, 2208, 91), +(3, 2209, 85), +(3, 2210, 76), +(3, 2211, 69), +(3, 2212, 69), +(3, 2213, 88), +(3, 2214, 92), +(3, 2215, 97), +(3, 2216, 66), +(3, 2217, 97), +(3, 2218, 76), +(3, 2219, 96), +(3, 2220, 71), +(3, 2221, 66), +(3, 2222, 91), +(3, 2223, 71), +(3, 2224, 84), +(3, 2225, 87), +(3, 2226, 96), +(3, 2227, 74), +(3, 2228, 87), +(3, 2229, 84), +(3, 2230, 90), +(3, 2231, 74), +(3, 2232, 95), +(3, 2233, 73), +(3, 2234, 78), +(3, 2235, 94), +(3, 2236, 68), +(3, 2237, 70), +(3, 2238, 85), +(3, 2239, 69), +(3, 2240, 82), +(3, 2241, 89), +(3, 2242, 80), +(3, 2243, 75), +(3, 2244, 76), +(3, 2245, 78), +(3, 2246, 95), +(3, 2247, 70), +(3, 2248, 87), +(3, 2249, 87), +(3, 2250, 87), +(3, 2251, 97), +(3, 2252, 88), +(3, 2253, 72), +(3, 2254, 95), +(3, 2255, 89), +(3, 2256, 99), +(3, 2257, 66), +(3, 2258, 82), +(3, 2259, 83), +(3, 2260, 84), +(3, 2261, 68), +(3, 2262, 73), +(3, 2263, 98), +(3, 2264, 98), +(3, 2265, 91), +(3, 2266, 89), +(3, 2267, 83), +(3, 2268, 79), +(3, 2269, 86), +(3, 2270, 96), +(3, 2271, 98), +(3, 2272, 67), +(3, 2273, 99), +(3, 2274, 68), +(3, 2275, 70), +(3, 2276, 88), +(3, 2277, 71), +(3, 2278, 67), +(3, 2279, 73), +(3, 2280, 92), +(3, 2281, 85), +(3, 2282, 79), +(3, 2283, 92), +(3, 2284, 81), +(3, 2285, 85), +(3, 2286, 75), +(3, 2287, 82), +(3, 2288, 97), +(3, 2289, 82), +(3, 2290, 99), +(3, 2291, 65), +(3, 2292, 68), +(3, 2293, 70), +(3, 2294, 98), +(3, 2295, 88), +(3, 2296, 83), +(3, 2297, 73), +(3, 2298, 99), +(3, 2299, 70), +(3, 2300, 85), +(3, 2301, 76), +(3, 2302, 78), +(3, 2303, 92), +(3, 2304, 67), +(3, 2305, 75), +(3, 2306, 67), +(3, 2307, 81), +(3, 2308, 86), +(3, 2309, 88), +(3, 2310, 72), +(3, 2311, 66), +(3, 2312, 86), +(3, 2313, 94), +(3, 2314, 65), +(3, 2315, 80), +(3, 2316, 76), +(3, 2317, 71), +(3, 2318, 68), +(3, 2319, 89), +(3, 2320, 85), +(3, 2321, 73), +(3, 2322, 75), +(3, 2323, 85), +(3, 2324, 81), +(3, 2325, 95), +(3, 2326, 96), +(3, 2327, 78), +(3, 2328, 77), +(3, 2329, 67), +(3, 2330, 74), +(3, 2331, 77), +(3, 2332, 97), +(3, 2333, 95), +(3, 2334, 83), +(3, 2335, 67), +(3, 2336, 69), +(3, 2337, 73), +(3, 2338, 99), +(3, 2339, 90), +(3, 2340, 99), +(3, 2341, 83), +(3, 2342, 76), +(3, 2343, 95), +(3, 2344, 65), +(3, 2345, 94), +(3, 2346, 96), +(3, 2347, 85), +(3, 2348, 86), +(3, 2349, 85), +(3, 2350, 89), +(3, 2351, 82), +(3, 2352, 67), +(3, 2353, 95), +(3, 2354, 96), +(3, 2355, 82), +(3, 2356, 93), +(3, 2357, 82), +(3, 2358, 68), +(3, 2359, 80), +(3, 2360, 68), +(3, 2361, 67), +(3, 2362, 90), +(3, 2363, 65), +(3, 2364, 83), +(3, 2365, 65), +(3, 2366, 84), +(3, 2367, 67), +(3, 2368, 80), +(3, 2369, 66), +(3, 2370, 99), +(3, 2371, 98), +(3, 2372, 95), +(3, 2373, 79), +(3, 2374, 96), +(3, 2375, 65), +(3, 2376, 65), +(3, 2377, 68), +(3, 2378, 84), +(3, 2379, 97), +(3, 2380, 91), +(3, 2381, 82), +(3, 2382, 80), +(3, 2383, 66), +(3, 2384, 80), +(3, 2385, 94), +(3, 2386, 87), +(3, 2387, 91), +(3, 2388, 71), +(3, 2389, 68), +(3, 2390, 85), +(3, 2391, 83), +(3, 2392, 85), +(3, 2393, 82), +(3, 2394, 89), +(3, 2395, 72), +(3, 2396, 70), +(3, 2397, 69), +(3, 2398, 85), +(3, 2399, 79), +(3, 2400, 71), +(3, 2401, 78), +(3, 2402, 76), +(3, 2403, 70), +(3, 2404, 75), +(3, 2405, 77), +(3, 2406, 97), +(3, 2407, 82), +(3, 2408, 93), +(3, 2409, 77), +(3, 2410, 92), +(3, 2411, 88), +(3, 2412, 65), +(3, 2413, 65), +(3, 2414, 72), +(3, 2415, 74), +(3, 2416, 97), +(3, 2417, 73), +(3, 2418, 97), +(3, 2419, 98), +(3, 2420, 82), +(3, 2421, 75), +(3, 2422, 89), +(3, 2423, 86), +(3, 2424, 74), +(3, 2425, 97), +(3, 2426, 73), +(3, 2427, 71), +(3, 2428, 78), +(3, 2429, 66), +(3, 2430, 88), +(3, 2431, 80), +(3, 2432, 98), +(3, 2433, 96), +(3, 2434, 84), +(3, 2435, 92), +(3, 2436, 75), +(3, 2437, 68), +(3, 2438, 80), +(3, 2439, 73), +(3, 2440, 80), +(3, 2441, 72), +(3, 2442, 97), +(3, 2443, 98), +(3, 2444, 75), +(3, 2445, 72), +(3, 2446, 72), +(3, 2447, 65), +(3, 2448, 73), +(3, 2449, 92), +(3, 2450, 85), +(3, 2451, 76), +(3, 2452, 66), +(3, 2453, 96), +(3, 2454, 99), +(3, 2455, 97), +(3, 2456, 82), +(3, 2457, 98), +(3, 2458, 76), +(3, 2459, 83), +(3, 2460, 87), +(3, 2461, 87), +(3, 2462, 68), +(3, 2463, 87), +(3, 2464, 73), +(3, 2465, 80), +(3, 2466, 96), +(3, 2467, 77), +(3, 2468, 95), +(3, 2469, 82), +(3, 2470, 82), +(3, 2471, 83), +(3, 2472, 89), +(3, 2473, 98), +(3, 2474, 73), +(3, 2475, 84), +(3, 2476, 65), +(3, 2477, 87), +(3, 2478, 82), +(3, 2479, 84), +(3, 2480, 89), +(3, 2481, 72), +(3, 2482, 66), +(3, 2483, 80), +(3, 2484, 78), +(3, 2485, 88), +(3, 2486, 74), +(3, 2487, 69), +(3, 2488, 78), +(3, 2489, 99), +(3, 2490, 98), +(3, 2491, 98), +(3, 2492, 71), +(3, 2493, 81), +(3, 2494, 85), +(3, 2495, 71), +(3, 2496, 97), +(3, 2497, 97), +(3, 2498, 68), +(3, 2499, 94), +(3, 2500, 76), +(3, 2501, 73), +(3, 2502, 70), +(3, 2503, 89), +(3, 2504, 66), +(3, 2505, 86), +(3, 2506, 68), +(3, 2507, 79), +(3, 2508, 83), +(3, 2509, 89), +(3, 2510, 82), +(3, 2511, 76), +(3, 2512, 70), +(3, 2513, 65), +(3, 2514, 71), +(3, 2515, 86), +(3, 2516, 92), +(3, 2517, 83), +(3, 2518, 79), +(3, 2519, 83), +(3, 2520, 95), +(3, 2521, 91), +(3, 2522, 79), +(3, 2523, 91), +(3, 2524, 82), +(3, 2525, 78), +(3, 2526, 83), +(3, 2527, 68), +(3, 2528, 93), +(3, 2529, 92), +(3, 2530, 86), +(3, 2531, 67), +(3, 2532, 98), +(3, 2533, 91), +(3, 2534, 91), +(3, 2535, 65), +(3, 2536, 67), +(3, 2537, 88), +(3, 2538, 97), +(3, 2539, 98), +(3, 2540, 92), +(3, 2541, 69), +(3, 2542, 68), +(3, 2543, 84), +(3, 2544, 97), +(3, 2545, 91), +(3, 2546, 93), +(3, 2547, 82), +(3, 2548, 96), +(3, 2549, 71), +(3, 2550, 80), +(3, 2551, 97), +(3, 2552, 76), +(3, 2553, 74), +(3, 2554, 86), +(3, 2555, 66), +(3, 2556, 98), +(3, 2557, 92), +(3, 2558, 74), +(3, 2559, 89), +(3, 2560, 80), +(3, 2561, 99), +(3, 2562, 89), +(3, 2563, 96), +(3, 2564, 98), +(3, 2565, 89), +(3, 2566, 68), +(3, 2567, 67), +(3, 2568, 89), +(3, 2569, 86), +(3, 2570, 96), +(3, 2571, 99), +(3, 2572, 81), +(3, 2573, 97), +(3, 2574, 87), +(3, 2575, 73), +(3, 2576, 91), +(3, 2577, 98), +(3, 2578, 93), +(3, 2579, 78), +(3, 2580, 78), +(3, 2581, 70), +(3, 2582, 95), +(3, 2583, 70), +(3, 2584, 86), +(3, 2585, 69), +(3, 2586, 84), +(3, 2587, 94), +(3, 2588, 74), +(3, 2589, 76), +(3, 2590, 73), +(3, 2591, 89), +(3, 2592, 83), +(3, 2593, 71), +(3, 2594, 75), +(3, 2595, 83), +(3, 2596, 82), +(3, 2597, 70), +(3, 2598, 94), +(3, 2599, 90), +(3, 2600, 69), +(3, 2601, 75), +(3, 2602, 86), +(3, 2603, 76), +(3, 2604, 71), +(3, 2605, 94), +(3, 2606, 67), +(3, 2607, 94), +(3, 2608, 89), +(3, 2609, 93), +(3, 2610, 73), +(4, 1, 84), +(4, 2, 86), +(4, 3, 71), +(4, 4, 99), +(4, 5, 99), +(4, 6, 68), +(4, 7, 81), +(4, 8, 76), +(4, 9, 78), +(4, 10, 73), +(4, 11, 67), +(4, 12, 92), +(4, 13, 71), +(4, 14, 91), +(4, 15, 82), +(4, 16, 73), +(4, 17, 81), +(4, 18, 89), +(4, 19, 97), +(4, 20, 65), +(4, 21, 83), +(4, 22, 86), +(4, 23, 68), +(4, 24, 79), +(4, 25, 95), +(4, 26, 67), +(4, 27, 98), +(4, 28, 85), +(4, 29, 77), +(4, 30, 99), +(4, 31, 92), +(4, 32, 71), +(4, 33, 74), +(4, 34, 88), +(4, 35, 82), +(4, 36, 66), +(4, 37, 87), +(4, 38, 65), +(4, 39, 90), +(4, 40, 89), +(4, 41, 85), +(4, 42, 65), +(4, 43, 81), +(4, 44, 70), +(4, 45, 98), +(4, 46, 72), +(4, 47, 78), +(4, 48, 88), +(4, 49, 91), +(4, 50, 90), +(4, 51, 83), +(4, 52, 74), +(4, 53, 87), +(4, 54, 76), +(4, 55, 99), +(4, 56, 81), +(4, 57, 86), +(4, 58, 91), +(4, 59, 77), +(4, 60, 79), +(4, 61, 71), +(4, 62, 70), +(4, 63, 99), +(4, 64, 69), +(4, 65, 66), +(4, 66, 70), +(4, 67, 85), +(4, 68, 87), +(4, 69, 70), +(4, 70, 99), +(4, 71, 98), +(4, 72, 92), +(4, 73, 88), +(4, 74, 92), +(4, 75, 67), +(4, 76, 97), +(4, 77, 68), +(4, 78, 75), +(4, 79, 80), +(4, 80, 93), +(4, 81, 93), +(4, 82, 97), +(4, 83, 80), +(4, 84, 78), +(4, 85, 81), +(4, 86, 69), +(4, 87, 99), +(4, 88, 81), +(4, 89, 88), +(4, 90, 95), +(4, 91, 94), +(4, 92, 73), +(4, 93, 83), +(4, 94, 95), +(4, 95, 97), +(4, 96, 65), +(4, 97, 79), +(4, 98, 69), +(4, 99, 82), +(4, 100, 82), +(4, 101, 84), +(4, 102, 86), +(4, 103, 89), +(4, 104, 71), +(4, 105, 74), +(4, 106, 87), +(4, 107, 96), +(4, 108, 99), +(4, 109, 81), +(4, 110, 65), +(4, 111, 95), +(4, 112, 94), +(4, 113, 71), +(4, 114, 65), +(4, 115, 81), +(4, 116, 71), +(4, 117, 82), +(4, 118, 95), +(4, 119, 81), +(4, 120, 69), +(4, 121, 89), +(4, 122, 75), +(4, 123, 93), +(4, 124, 92), +(4, 125, 81), +(4, 126, 79), +(4, 127, 65), +(4, 128, 97), +(4, 129, 65), +(4, 130, 81), +(4, 131, 74), +(4, 132, 99), +(4, 133, 90), +(4, 134, 93), +(4, 135, 85), +(4, 136, 67), +(4, 137, 66), +(4, 138, 86), +(4, 139, 93), +(4, 140, 90), +(4, 141, 70), +(4, 142, 89), +(4, 143, 78), +(4, 144, 79), +(4, 145, 70), +(4, 146, 65), +(4, 147, 99), +(4, 148, 93), +(4, 149, 78), +(4, 150, 65), +(4, 151, 78), +(4, 152, 84), +(4, 153, 87), +(4, 154, 68), +(4, 155, 71), +(4, 156, 86), +(4, 157, 92), +(4, 158, 91), +(4, 159, 82), +(4, 160, 76), +(4, 161, 99), +(4, 162, 72), +(4, 163, 84), +(4, 164, 82), +(4, 165, 88), +(4, 166, 88), +(4, 167, 92), +(4, 168, 69), +(4, 169, 88), +(4, 170, 76), +(4, 171, 97), +(4, 172, 67), +(4, 173, 94), +(4, 174, 82), +(4, 175, 72), +(4, 176, 96), +(4, 177, 94), +(4, 178, 81), +(4, 179, 95), +(4, 180, 69), +(4, 181, 70), +(4, 182, 85), +(4, 183, 77), +(4, 184, 72), +(4, 185, 75), +(4, 186, 79), +(4, 187, 99), +(4, 188, 91), +(4, 189, 68), +(4, 190, 68), +(4, 191, 86), +(4, 192, 68), +(4, 193, 93), +(4, 194, 68), +(4, 195, 65), +(4, 196, 77), +(4, 197, 97), +(4, 198, 91), +(4, 199, 87), +(4, 200, 77), +(4, 201, 95), +(4, 202, 89), +(4, 203, 78), +(4, 204, 76), +(4, 205, 97), +(4, 206, 99), +(4, 207, 99), +(4, 208, 98), +(4, 209, 78), +(4, 210, 87), +(4, 211, 89), +(4, 212, 76), +(4, 213, 91), +(4, 214, 84), +(4, 215, 75), +(4, 216, 90), +(4, 217, 67), +(4, 218, 67), +(4, 219, 89), +(4, 220, 83), +(4, 221, 73), +(4, 222, 97), +(4, 223, 78), +(4, 224, 70), +(4, 225, 78), +(4, 226, 67), +(4, 227, 72), +(4, 228, 70), +(4, 229, 82), +(4, 230, 67), +(4, 231, 96), +(4, 232, 82), +(4, 233, 97), +(4, 234, 97), +(4, 235, 98), +(4, 236, 96), +(4, 237, 65), +(4, 238, 77), +(4, 239, 97), +(4, 240, 98), +(4, 241, 96), +(4, 242, 67), +(4, 243, 90), +(4, 244, 66), +(4, 245, 67), +(4, 246, 83), +(4, 247, 94), +(4, 248, 88), +(4, 249, 65), +(4, 250, 83), +(4, 251, 83), +(4, 252, 81), +(4, 253, 71), +(4, 254, 71), +(4, 255, 89), +(4, 256, 79), +(4, 257, 97), +(4, 258, 97), +(4, 259, 80), +(4, 260, 81), +(4, 261, 75), +(4, 262, 75), +(4, 263, 90), +(4, 264, 75), +(4, 265, 81), +(4, 266, 71), +(4, 267, 65), +(4, 268, 95), +(4, 269, 71), +(4, 270, 92), +(4, 271, 72), +(4, 272, 97), +(4, 273, 76), +(4, 274, 97), +(4, 275, 68), +(4, 276, 94), +(4, 277, 80), +(4, 278, 92), +(4, 279, 65), +(4, 280, 71), +(4, 281, 86), +(4, 282, 70), +(4, 283, 68), +(4, 284, 85), +(4, 285, 67), +(4, 286, 89), +(4, 287, 85), +(4, 288, 83), +(4, 289, 73), +(4, 290, 68), +(4, 291, 86), +(4, 292, 96), +(4, 293, 83), +(4, 294, 72), +(4, 295, 72), +(4, 296, 74), +(4, 297, 99), +(4, 298, 78), +(4, 299, 84), +(4, 300, 95), +(4, 301, 70), +(4, 302, 80), +(4, 303, 76), +(4, 304, 81), +(4, 305, 74), +(4, 306, 78), +(4, 307, 67), +(4, 308, 97), +(4, 309, 90), +(4, 310, 98), +(4, 311, 98), +(4, 312, 71), +(4, 313, 84), +(4, 314, 99), +(4, 315, 91), +(4, 316, 67), +(4, 317, 73), +(4, 318, 97), +(4, 319, 95), +(4, 320, 79), +(4, 321, 83), +(4, 322, 84), +(4, 323, 80), +(4, 324, 72), +(4, 325, 74), +(4, 326, 83), +(4, 327, 72), +(4, 328, 81), +(4, 329, 78), +(4, 330, 78), +(4, 331, 81), +(4, 332, 65), +(4, 333, 68), +(4, 334, 66), +(4, 335, 76), +(4, 336, 78), +(4, 337, 66), +(4, 338, 86), +(4, 339, 75), +(4, 340, 93), +(4, 341, 86), +(4, 342, 69), +(4, 343, 72), +(4, 344, 85), +(4, 345, 73), +(4, 346, 88), +(4, 347, 68), +(4, 348, 66), +(4, 349, 86), +(4, 350, 91), +(4, 351, 68), +(4, 352, 76), +(4, 353, 68), +(4, 354, 80), +(4, 355, 90), +(4, 356, 90), +(4, 357, 77), +(4, 358, 92), +(4, 359, 91), +(4, 360, 98), +(4, 361, 73), +(4, 362, 83), +(4, 363, 86), +(4, 364, 99), +(4, 365, 79), +(4, 366, 73), +(4, 367, 65), +(4, 368, 97), +(4, 369, 85), +(4, 370, 74), +(4, 371, 67), +(4, 372, 68), +(4, 373, 73), +(4, 374, 95), +(4, 375, 80), +(4, 376, 93), +(4, 377, 80), +(4, 378, 74), +(4, 379, 96), +(4, 380, 74), +(4, 381, 87), +(4, 382, 90), +(4, 383, 73), +(4, 384, 80), +(4, 385, 80), +(4, 386, 69), +(4, 387, 86), +(4, 388, 84), +(4, 389, 95), +(4, 390, 86), +(4, 391, 87), +(4, 392, 92), +(4, 393, 74), +(4, 394, 75), +(4, 395, 95), +(4, 396, 83), +(4, 397, 90), +(4, 398, 98), +(4, 399, 69), +(4, 400, 67), +(4, 401, 83), +(4, 402, 67), +(4, 403, 75), +(4, 404, 77), +(4, 405, 85), +(4, 406, 88), +(4, 407, 75), +(4, 408, 82), +(4, 409, 92), +(4, 410, 78), +(4, 411, 70), +(4, 412, 71), +(4, 413, 98), +(4, 414, 87), +(4, 415, 94), +(4, 416, 65), +(4, 417, 86), +(4, 418, 94), +(4, 419, 76), +(4, 420, 96), +(4, 421, 95), +(4, 422, 69), +(4, 423, 86), +(4, 424, 83), +(4, 425, 68), +(4, 426, 94), +(4, 427, 85), +(4, 428, 98), +(4, 429, 86), +(4, 430, 95), +(4, 431, 90), +(4, 432, 90), +(4, 433, 72), +(4, 434, 66), +(4, 435, 66), +(4, 436, 70), +(4, 437, 92), +(4, 438, 89), +(4, 439, 83), +(4, 440, 80), +(4, 441, 95), +(4, 442, 67), +(4, 443, 71), +(4, 444, 83), +(4, 445, 75), +(4, 446, 75), +(4, 447, 74), +(4, 448, 77), +(4, 449, 73), +(4, 450, 74), +(4, 451, 70), +(4, 452, 67), +(4, 453, 94), +(4, 454, 70), +(4, 455, 84), +(4, 456, 95), +(4, 457, 78), +(4, 458, 76), +(4, 459, 98), +(4, 460, 76), +(4, 461, 76), +(4, 462, 67), +(4, 463, 67), +(4, 464, 65), +(4, 465, 68), +(4, 466, 95), +(4, 467, 71), +(4, 468, 76), +(4, 469, 91), +(4, 470, 73), +(4, 471, 78), +(4, 472, 94), +(4, 473, 76), +(4, 474, 88), +(4, 475, 81), +(4, 476, 65), +(4, 477, 81), +(4, 478, 83), +(4, 479, 85), +(4, 480, 79), +(4, 481, 97), +(4, 482, 70), +(4, 483, 92), +(4, 484, 87), +(4, 485, 81), +(4, 486, 99), +(4, 487, 86), +(4, 488, 82), +(4, 489, 89), +(4, 490, 99), +(4, 491, 67), +(4, 492, 87), +(4, 493, 92), +(4, 494, 70), +(4, 495, 70), +(4, 496, 99), +(4, 497, 66), +(4, 498, 94), +(4, 499, 91), +(4, 500, 73), +(4, 501, 80), +(4, 502, 95), +(4, 503, 92), +(4, 504, 77), +(4, 505, 76), +(4, 506, 85), +(4, 507, 71), +(4, 508, 81), +(4, 509, 71), +(4, 510, 72), +(4, 511, 92), +(4, 512, 96), +(4, 513, 91), +(4, 514, 92), +(4, 515, 98), +(4, 516, 75), +(4, 517, 86), +(4, 518, 81), +(4, 519, 98), +(4, 520, 68), +(4, 521, 85), +(4, 522, 75), +(4, 523, 69), +(4, 524, 97), +(4, 525, 71), +(4, 526, 89), +(4, 527, 70), +(4, 528, 82), +(4, 529, 90), +(4, 530, 95), +(4, 531, 70), +(4, 532, 77), +(4, 533, 77), +(4, 534, 98), +(4, 535, 90), +(4, 536, 66), +(4, 537, 90), +(4, 538, 79), +(4, 539, 96), +(4, 540, 88), +(4, 541, 85), +(4, 542, 71), +(4, 543, 76), +(4, 544, 91), +(4, 545, 89), +(4, 546, 96), +(4, 547, 95), +(4, 548, 79), +(4, 549, 70), +(4, 550, 90), +(4, 551, 82), +(4, 552, 70), +(4, 553, 69), +(4, 554, 91), +(4, 555, 85), +(4, 556, 65), +(4, 557, 97), +(4, 558, 96), +(4, 559, 84), +(4, 560, 69), +(4, 561, 77), +(4, 562, 78), +(4, 563, 84), +(4, 564, 96), +(4, 1024, 68), +(4, 1025, 83), +(4, 1026, 96), +(4, 1027, 76), +(4, 1028, 87), +(4, 1029, 72), +(4, 1030, 90), +(4, 1031, 85), +(4, 1032, 84), +(4, 1033, 72), +(4, 1034, 82), +(4, 1035, 81), +(4, 1036, 83), +(4, 1037, 74), +(4, 1038, 98), +(4, 1039, 87), +(4, 1040, 81), +(4, 1041, 74), +(4, 1042, 96), +(4, 1043, 93), +(4, 1044, 67), +(4, 1045, 84), +(4, 1046, 82), +(4, 1047, 84), +(4, 1048, 70), +(4, 1049, 94), +(4, 1050, 98), +(4, 1051, 82), +(4, 1052, 98), +(4, 1053, 81), +(4, 1054, 92), +(4, 1055, 66), +(4, 1056, 72), +(4, 1057, 73), +(4, 1058, 66), +(4, 1059, 72), +(4, 1060, 68), +(4, 1061, 98), +(4, 1062, 80), +(4, 1063, 79), +(4, 1064, 70), +(4, 1065, 84), +(4, 1066, 82), +(4, 1067, 86), +(4, 1068, 79), +(4, 1069, 79), +(4, 1070, 96), +(4, 1071, 71), +(4, 1072, 82), +(4, 1073, 75), +(4, 1074, 82), +(4, 1075, 76), +(4, 1076, 82), +(4, 1077, 97), +(4, 1078, 82), +(4, 1079, 65), +(4, 1080, 90), +(4, 1081, 90), +(4, 1082, 70), +(4, 1083, 81), +(4, 1084, 68), +(4, 1085, 70), +(4, 1086, 85), +(4, 1087, 81), +(4, 1088, 76), +(4, 1089, 68), +(4, 1090, 93), +(4, 1091, 94), +(4, 1092, 73), +(4, 1093, 92), +(4, 1094, 76), +(4, 1095, 76), +(4, 1096, 83), +(4, 1097, 99), +(4, 1098, 78), +(4, 1099, 76), +(4, 1100, 71), +(4, 1101, 97), +(4, 1102, 75), +(4, 1103, 99), +(4, 1104, 78), +(4, 1105, 91), +(4, 1106, 90), +(4, 1107, 93), +(4, 1108, 87), +(4, 1109, 84), +(4, 1110, 84), +(4, 1111, 86), +(4, 1112, 94), +(4, 1113, 97), +(4, 1114, 99), +(4, 1115, 99), +(4, 1116, 67), +(4, 1117, 75), +(4, 1118, 85), +(4, 1119, 94), +(4, 1120, 69), +(4, 1121, 85), +(4, 1122, 73), +(4, 1123, 77), +(4, 1124, 68), +(4, 1125, 73), +(4, 1126, 74), +(4, 1127, 65), +(4, 1128, 81), +(4, 1129, 96), +(4, 1130, 68), +(4, 1131, 99), +(4, 1132, 91), +(4, 1133, 93), +(4, 1134, 96), +(4, 1135, 99), +(4, 1136, 98), +(4, 1137, 76), +(4, 1138, 96), +(4, 1139, 86), +(4, 1140, 66), +(4, 1141, 85), +(4, 1142, 69), +(4, 1143, 83), +(4, 1144, 90), +(4, 1145, 74), +(4, 1146, 92), +(4, 1147, 77), +(4, 1148, 67), +(4, 1149, 82), +(4, 1150, 99), +(4, 1151, 92), +(4, 1152, 97), +(4, 1153, 69), +(4, 1154, 66), +(4, 1155, 86), +(4, 1156, 87), +(4, 1157, 97), +(4, 1158, 82), +(4, 1159, 70), +(4, 1160, 66), +(4, 1161, 93), +(4, 1162, 99), +(4, 1163, 88), +(4, 1164, 71), +(4, 1165, 94), +(4, 1166, 65), +(4, 1167, 72), +(4, 1168, 79), +(4, 1169, 71), +(4, 1170, 78), +(4, 1171, 66), +(4, 1172, 78), +(4, 1173, 90), +(4, 1174, 97), +(4, 1175, 83), +(4, 1176, 73), +(4, 1177, 99), +(4, 1178, 71), +(4, 1179, 69), +(4, 1180, 88), +(4, 1181, 81), +(4, 1182, 66), +(4, 1183, 86), +(4, 1184, 93), +(4, 1185, 83), +(4, 1186, 96), +(4, 1187, 74), +(4, 1188, 72), +(4, 1189, 85), +(4, 1190, 82), +(4, 1191, 68), +(4, 1192, 85), +(4, 1193, 76), +(4, 1194, 97), +(4, 1195, 70), +(4, 1196, 92), +(4, 1197, 94), +(4, 1198, 82), +(4, 1199, 87), +(4, 1200, 65), +(4, 1201, 72), +(4, 1202, 77), +(4, 1203, 95), +(4, 1204, 84), +(4, 1205, 70), +(4, 1206, 69), +(4, 1207, 96), +(4, 1208, 91), +(4, 1209, 99), +(4, 1210, 65), +(4, 1211, 96), +(4, 1212, 93), +(4, 1213, 74), +(4, 1214, 83), +(4, 1215, 89), +(4, 1216, 89), +(4, 1217, 84), +(4, 1218, 82), +(4, 1219, 66), +(4, 1220, 77), +(4, 1221, 93), +(4, 1222, 82), +(4, 1223, 79), +(4, 1224, 98), +(4, 1225, 74), +(4, 1226, 92), +(4, 1227, 71), +(4, 1228, 76), +(4, 1229, 99), +(4, 1230, 99), +(4, 1231, 87), +(4, 1232, 88), +(4, 1233, 85), +(4, 1234, 97), +(4, 1235, 99), +(4, 1236, 84), +(4, 1237, 91), +(4, 1238, 82), +(4, 1239, 91), +(4, 1240, 76), +(4, 1241, 81), +(4, 1242, 76), +(4, 1243, 68), +(4, 1244, 74), +(4, 1245, 87), +(4, 1246, 98), +(4, 1247, 68), +(4, 1248, 84), +(4, 1249, 79), +(4, 1250, 85), +(4, 1251, 70), +(4, 1252, 74), +(4, 1253, 77), +(4, 1254, 91), +(4, 1255, 84), +(4, 1256, 98), +(4, 1257, 89), +(4, 1258, 97), +(4, 1259, 72), +(4, 1260, 71), +(4, 1261, 69), +(4, 1262, 65), +(4, 1263, 73), +(4, 1264, 95), +(4, 1265, 93), +(4, 1266, 67), +(4, 1267, 78), +(4, 1268, 97), +(4, 1269, 94), +(4, 1270, 82), +(4, 1271, 98), +(4, 1272, 84), +(4, 1273, 82), +(4, 1274, 89), +(4, 1275, 99), +(4, 1276, 96), +(4, 1277, 97), +(4, 1278, 81), +(4, 1279, 90), +(4, 1280, 79), +(4, 1281, 99), +(4, 1282, 76), +(4, 1283, 68), +(4, 1284, 95), +(4, 1285, 98), +(4, 1286, 67), +(4, 1287, 90), +(4, 1288, 80), +(4, 1289, 84), +(4, 1290, 94), +(4, 1291, 84), +(4, 1292, 77), +(4, 1293, 80), +(4, 1294, 65), +(4, 1295, 65), +(4, 1296, 67), +(4, 1297, 72), +(4, 1298, 79), +(4, 1299, 95), +(4, 1300, 91), +(4, 1301, 77), +(4, 1302, 99), +(4, 1303, 71), +(4, 1304, 84), +(4, 1305, 97), +(4, 1306, 81), +(4, 1307, 96), +(4, 1308, 94), +(4, 1309, 69), +(4, 1310, 81), +(4, 1311, 92), +(4, 1312, 84), +(4, 1313, 67), +(4, 1314, 76), +(4, 1315, 81), +(4, 1316, 85), +(4, 1317, 79), +(4, 1318, 80), +(4, 1319, 80), +(4, 1320, 96), +(4, 1321, 71), +(4, 1322, 80), +(4, 1323, 78), +(4, 1324, 95), +(4, 1325, 94), +(4, 1326, 86), +(4, 1327, 66), +(4, 1328, 97), +(4, 1329, 89), +(4, 1330, 86), +(4, 1331, 73), +(4, 1332, 76), +(4, 1333, 68), +(4, 1334, 89), +(4, 1335, 75), +(4, 1336, 88), +(4, 1337, 97), +(4, 1338, 70), +(4, 1339, 68), +(4, 1340, 86), +(4, 1341, 98), +(4, 1342, 88), +(4, 1343, 92), +(4, 1344, 82), +(4, 1345, 84), +(4, 1346, 96), +(4, 1347, 83), +(4, 1348, 74), +(4, 1349, 68), +(4, 1350, 68), +(4, 1351, 95), +(4, 1352, 91), +(4, 1353, 97), +(4, 1354, 95), +(4, 1355, 96), +(4, 1356, 87), +(4, 1357, 89), +(4, 1358, 96), +(4, 1359, 79), +(4, 1360, 88), +(4, 1361, 79), +(4, 1362, 69), +(4, 1363, 82), +(4, 1364, 82), +(4, 1365, 79), +(4, 1366, 68), +(4, 1367, 83), +(4, 1368, 88), +(4, 1369, 69), +(4, 1370, 69), +(4, 1371, 74), +(4, 1372, 95), +(4, 1373, 85), +(4, 1374, 75), +(4, 1375, 98), +(4, 1376, 93), +(4, 1377, 85), +(4, 1378, 88), +(4, 1379, 94), +(4, 1380, 99), +(4, 1381, 68), +(4, 1382, 89), +(4, 1383, 95), +(4, 1384, 80), +(4, 1385, 67), +(4, 1386, 68), +(4, 1387, 91), +(4, 1388, 69), +(4, 1389, 75), +(4, 1390, 68), +(4, 1391, 95), +(4, 1392, 83), +(4, 1393, 77), +(4, 1394, 96), +(4, 1395, 68), +(4, 1396, 96), +(4, 1397, 94), +(4, 1398, 99), +(4, 1399, 74), +(4, 1400, 73), +(4, 1401, 98), +(4, 1402, 71), +(4, 1403, 84), +(4, 1404, 68), +(4, 1405, 70), +(4, 1406, 82), +(4, 1407, 69), +(4, 1408, 81), +(4, 1409, 74), +(4, 1410, 75), +(4, 1411, 65), +(4, 1412, 68), +(4, 1413, 70), +(4, 1414, 82), +(4, 1415, 99), +(4, 1416, 79), +(4, 1417, 78), +(4, 1418, 91), +(4, 1419, 77), +(4, 1420, 72), +(4, 1421, 86), +(4, 1422, 81), +(4, 1423, 78), +(4, 1424, 96), +(4, 1425, 76), +(4, 1426, 73), +(4, 1427, 96), +(4, 1428, 78), +(4, 1429, 92), +(4, 1430, 72), +(4, 1431, 80), +(4, 1432, 72), +(4, 1433, 91), +(4, 1434, 94), +(4, 1435, 68), +(4, 1436, 80), +(4, 1437, 97), +(4, 1438, 72), +(4, 1439, 82), +(4, 1440, 84), +(4, 1441, 87), +(4, 1442, 67), +(4, 1443, 91), +(4, 1444, 97), +(4, 1445, 86), +(4, 1446, 85), +(4, 1447, 72), +(4, 1448, 78), +(4, 1449, 67), +(4, 1450, 81), +(4, 1451, 67), +(4, 1452, 77), +(4, 1453, 90), +(4, 1454, 89), +(4, 1455, 67), +(4, 1456, 67), +(4, 1457, 86), +(4, 1458, 69), +(4, 1459, 94), +(4, 1460, 82), +(4, 1461, 71), +(4, 1462, 81), +(4, 1463, 65), +(4, 1464, 89), +(4, 1465, 74), +(4, 1466, 72), +(4, 1467, 66), +(4, 1468, 77), +(4, 1469, 90), +(4, 1470, 76), +(4, 1471, 94), +(4, 1472, 92), +(4, 1473, 99), +(4, 1474, 69), +(4, 1475, 88), +(4, 1476, 71), +(4, 1477, 82), +(4, 1478, 95), +(4, 1479, 82), +(4, 1480, 73), +(4, 1481, 98), +(4, 1482, 88), +(4, 1483, 81), +(4, 1484, 93), +(4, 1485, 89), +(4, 1486, 88), +(4, 1487, 88), +(4, 1488, 75), +(4, 1489, 71), +(4, 1490, 87), +(4, 1491, 71), +(4, 1492, 90), +(4, 1493, 92), +(4, 1494, 92), +(4, 1495, 69), +(4, 1496, 75), +(4, 1497, 68), +(4, 1498, 78), +(4, 1499, 83), +(4, 1500, 82), +(4, 1501, 93), +(4, 1502, 81), +(4, 1503, 96), +(4, 1504, 70), +(4, 1505, 77), +(4, 1506, 66), +(4, 1507, 87), +(4, 1508, 85), +(4, 1509, 87), +(4, 1510, 70), +(4, 1511, 94), +(4, 1512, 84), +(4, 1513, 65), +(4, 1514, 73), +(4, 1515, 67), +(4, 1516, 69), +(4, 1517, 92), +(4, 1518, 85), +(4, 1519, 91), +(4, 1520, 84), +(4, 1521, 66), +(4, 1522, 94), +(4, 1523, 94), +(4, 1524, 81), +(4, 1525, 96), +(4, 1526, 81), +(4, 1527, 99), +(4, 1528, 65), +(4, 1529, 69), +(4, 1530, 68), +(4, 1531, 79), +(4, 1532, 81), +(4, 1533, 97), +(4, 1534, 87), +(4, 1535, 72), +(4, 1536, 84), +(4, 1537, 68), +(4, 1538, 68), +(4, 1539, 84), +(4, 1540, 85), +(4, 1541, 71), +(4, 1542, 65), +(4, 1543, 66), +(4, 1544, 81), +(4, 1545, 85), +(4, 1546, 84), +(4, 1547, 72), +(4, 1548, 88), +(4, 1549, 86), +(4, 1550, 70), +(4, 1551, 93), +(4, 1552, 96), +(4, 1553, 71), +(4, 1554, 99), +(4, 1555, 69), +(4, 1556, 94), +(4, 1557, 93), +(4, 1558, 85), +(4, 1559, 97), +(4, 1560, 88), +(4, 1561, 66), +(4, 1562, 80), +(4, 1563, 69), +(4, 1564, 92), +(4, 1565, 71), +(4, 1566, 87), +(4, 1567, 82), +(4, 1568, 92), +(4, 1569, 74), +(4, 1570, 84), +(4, 1571, 67), +(4, 1572, 90), +(4, 1573, 96), +(4, 1574, 68), +(4, 1575, 69), +(4, 1576, 82), +(4, 1577, 87), +(4, 1578, 66), +(4, 1579, 75), +(4, 1580, 73), +(4, 1581, 88), +(4, 1582, 98), +(4, 1583, 90), +(4, 1584, 85), +(4, 1585, 98), +(4, 1586, 74), +(4, 1587, 80), +(4, 2047, 74), +(4, 2048, 74), +(4, 2049, 98), +(4, 2050, 77), +(4, 2051, 95), +(4, 2052, 74), +(4, 2053, 78), +(4, 2054, 78), +(4, 2055, 69), +(4, 2056, 72), +(4, 2057, 65), +(4, 2058, 70), +(4, 2059, 75), +(4, 2060, 91), +(4, 2061, 86), +(4, 2062, 94), +(4, 2063, 79), +(4, 2064, 75), +(4, 2065, 86), +(4, 2066, 68), +(4, 2067, 79), +(4, 2068, 71), +(4, 2069, 98), +(4, 2070, 66), +(4, 2071, 98), +(4, 2072, 98), +(4, 2073, 87), +(4, 2074, 85), +(4, 2075, 72), +(4, 2076, 69), +(4, 2077, 70), +(4, 2078, 81), +(4, 2079, 80), +(4, 2080, 70), +(4, 2081, 96), +(4, 2082, 70), +(4, 2083, 70), +(4, 2084, 99), +(4, 2085, 89), +(4, 2086, 89), +(4, 2087, 96), +(4, 2088, 90), +(4, 2089, 82), +(4, 2090, 90), +(4, 2091, 81), +(4, 2092, 88), +(4, 2093, 65), +(4, 2094, 95), +(4, 2095, 77), +(4, 2096, 79), +(4, 2097, 92), +(4, 2098, 82), +(4, 2099, 94), +(4, 2100, 83), +(4, 2101, 90), +(4, 2102, 75), +(4, 2103, 92), +(4, 2104, 73), +(4, 2105, 76), +(4, 2106, 92), +(4, 2107, 95), +(4, 2108, 92), +(4, 2109, 99), +(4, 2110, 99), +(4, 2111, 71), +(4, 2112, 96), +(4, 2113, 75), +(4, 2114, 95), +(4, 2115, 94), +(4, 2116, 90), +(4, 2117, 81), +(4, 2118, 96), +(4, 2119, 65), +(4, 2120, 75), +(4, 2121, 75), +(4, 2122, 80), +(4, 2123, 68), +(4, 2124, 89), +(4, 2125, 68), +(4, 2126, 86), +(4, 2127, 66), +(4, 2128, 69), +(4, 2129, 71), +(4, 2130, 94), +(4, 2131, 66), +(4, 2132, 73), +(4, 2133, 84), +(4, 2134, 77), +(4, 2135, 71), +(4, 2136, 88), +(4, 2137, 83), +(4, 2138, 69), +(4, 2139, 71), +(4, 2140, 72), +(4, 2141, 68), +(4, 2142, 67), +(4, 2143, 79), +(4, 2144, 86), +(4, 2145, 80), +(4, 2146, 81), +(4, 2147, 86), +(4, 2148, 91), +(4, 2149, 70), +(4, 2150, 83), +(4, 2151, 66), +(4, 2152, 93), +(4, 2153, 70), +(4, 2154, 95), +(4, 2155, 73), +(4, 2156, 83), +(4, 2157, 74), +(4, 2158, 65), +(4, 2159, 80), +(4, 2160, 77), +(4, 2161, 70), +(4, 2162, 88), +(4, 2163, 76), +(4, 2164, 73), +(4, 2165, 94), +(4, 2166, 96), +(4, 2167, 77), +(4, 2168, 66), +(4, 2169, 87), +(4, 2170, 74), +(4, 2171, 81), +(4, 2172, 99), +(4, 2173, 79), +(4, 2174, 89), +(4, 2175, 89), +(4, 2176, 89), +(4, 2177, 82), +(4, 2178, 81), +(4, 2179, 65), +(4, 2180, 84), +(4, 2181, 86), +(4, 2182, 81), +(4, 2183, 78), +(4, 2184, 79), +(4, 2185, 85), +(4, 2186, 65), +(4, 2187, 80), +(4, 2188, 92), +(4, 2189, 66), +(4, 2190, 99), +(4, 2191, 91), +(4, 2192, 95), +(4, 2193, 69), +(4, 2194, 84), +(4, 2195, 85), +(4, 2196, 86), +(4, 2197, 77), +(4, 2198, 81), +(4, 2199, 84), +(4, 2200, 83), +(4, 2201, 71), +(4, 2202, 81), +(4, 2203, 97), +(4, 2204, 77), +(4, 2205, 87), +(4, 2206, 66), +(4, 2207, 87), +(4, 2208, 73), +(4, 2209, 88), +(4, 2210, 89), +(4, 2211, 73), +(4, 2212, 94), +(4, 2213, 87), +(4, 2214, 87), +(4, 2215, 87), +(4, 2216, 83), +(4, 2217, 72), +(4, 2218, 92), +(4, 2219, 81), +(4, 2220, 95), +(4, 2221, 97), +(4, 2222, 72), +(4, 2223, 92), +(4, 2224, 80), +(4, 2225, 91), +(4, 2226, 77), +(4, 2227, 94), +(4, 2228, 98), +(4, 2229, 93), +(4, 2230, 84), +(4, 2231, 67), +(4, 2232, 69), +(4, 2233, 71), +(4, 2234, 76), +(4, 2235, 81), +(4, 2236, 67), +(4, 2237, 91), +(4, 2238, 70), +(4, 2239, 70), +(4, 2240, 93), +(4, 2241, 89), +(4, 2242, 83), +(4, 2243, 77), +(4, 2244, 99), +(4, 2245, 95), +(4, 2246, 92), +(4, 2247, 88), +(4, 2248, 70), +(4, 2249, 78), +(4, 2250, 72), +(4, 2251, 96), +(4, 2252, 78), +(4, 2253, 84), +(4, 2254, 92), +(4, 2255, 80), +(4, 2256, 76), +(4, 2257, 85), +(4, 2258, 81), +(4, 2259, 77), +(4, 2260, 97), +(4, 2261, 74), +(4, 2262, 93), +(4, 2263, 74), +(4, 2264, 95), +(4, 2265, 69), +(4, 2266, 69), +(4, 2267, 65), +(4, 2268, 97), +(4, 2269, 65), +(4, 2270, 89), +(4, 2271, 92), +(4, 2272, 66), +(4, 2273, 68), +(4, 2274, 98), +(4, 2275, 69), +(4, 2276, 68), +(4, 2277, 81), +(4, 2278, 94), +(4, 2279, 77), +(4, 2280, 90), +(4, 2281, 76), +(4, 2282, 98), +(4, 2283, 67), +(4, 2284, 77), +(4, 2285, 73), +(4, 2286, 83), +(4, 2287, 94), +(4, 2288, 71), +(4, 2289, 71), +(4, 2290, 83), +(4, 2291, 66), +(4, 2292, 78), +(4, 2293, 86), +(4, 2294, 97), +(4, 2295, 81), +(4, 2296, 77), +(4, 2297, 78), +(4, 2298, 83), +(4, 2299, 92), +(4, 2300, 81), +(4, 2301, 90), +(4, 2302, 83), +(4, 2303, 84), +(4, 2304, 87), +(4, 2305, 91), +(4, 2306, 94), +(4, 2307, 67), +(4, 2308, 94), +(4, 2309, 71), +(4, 2310, 79), +(4, 2311, 71), +(4, 2312, 78), +(4, 2313, 88), +(4, 2314, 91), +(4, 2315, 97), +(4, 2316, 70), +(4, 2317, 99), +(4, 2318, 65), +(4, 2319, 92), +(4, 2320, 71), +(4, 2321, 71), +(4, 2322, 78), +(4, 2323, 91), +(4, 2324, 79), +(4, 2325, 94), +(4, 2326, 90), +(4, 2327, 86), +(4, 2328, 83), +(4, 2329, 66), +(4, 2330, 85), +(4, 2331, 76), +(4, 2332, 77), +(4, 2333, 93), +(4, 2334, 90), +(4, 2335, 75), +(4, 2336, 84), +(4, 2337, 87), +(4, 2338, 87), +(4, 2339, 83), +(4, 2340, 90), +(4, 2341, 98), +(4, 2342, 76), +(4, 2343, 84), +(4, 2344, 92), +(4, 2345, 81), +(4, 2346, 90), +(4, 2347, 71), +(4, 2348, 78), +(4, 2349, 94), +(4, 2350, 68), +(4, 2351, 92), +(4, 2352, 97), +(4, 2353, 73), +(4, 2354, 95), +(4, 2355, 65), +(4, 2356, 80), +(4, 2357, 82), +(4, 2358, 90), +(4, 2359, 91), +(4, 2360, 99), +(4, 2361, 91), +(4, 2362, 75), +(4, 2363, 69), +(4, 2364, 74), +(4, 2365, 65), +(4, 2366, 80), +(4, 2367, 92), +(4, 2368, 89), +(4, 2369, 71), +(4, 2370, 72), +(4, 2371, 65), +(4, 2372, 73), +(4, 2373, 96), +(4, 2374, 76), +(4, 2375, 72), +(4, 2376, 78), +(4, 2377, 68), +(4, 2378, 87), +(4, 2379, 96), +(4, 2380, 85), +(4, 2381, 70), +(4, 2382, 76), +(4, 2383, 87), +(4, 2384, 71), +(4, 2385, 81), +(4, 2386, 85), +(4, 2387, 79), +(4, 2388, 80), +(4, 2389, 79), +(4, 2390, 86), +(4, 2391, 89), +(4, 2392, 67), +(4, 2393, 75), +(4, 2394, 65), +(4, 2395, 77), +(4, 2396, 77), +(4, 2397, 75), +(4, 2398, 93), +(4, 2399, 91), +(4, 2400, 78), +(4, 2401, 91), +(4, 2402, 86), +(4, 2403, 74), +(4, 2404, 72), +(4, 2405, 93), +(4, 2406, 79), +(4, 2407, 78), +(4, 2408, 67), +(4, 2409, 79), +(4, 2410, 96), +(4, 2411, 77), +(4, 2412, 88), +(4, 2413, 69), +(4, 2414, 66), +(4, 2415, 65), +(4, 2416, 87), +(4, 2417, 92), +(4, 2418, 95), +(4, 2419, 75), +(4, 2420, 91), +(4, 2421, 97), +(4, 2422, 85), +(4, 2423, 75), +(4, 2424, 92), +(4, 2425, 73), +(4, 2426, 80), +(4, 2427, 78), +(4, 2428, 90), +(4, 2429, 96), +(4, 2430, 92), +(4, 2431, 92), +(4, 2432, 67), +(4, 2433, 66), +(4, 2434, 95), +(4, 2435, 67), +(4, 2436, 70), +(4, 2437, 95), +(4, 2438, 88), +(4, 2439, 89), +(4, 2440, 97), +(4, 2441, 73), +(4, 2442, 80), +(4, 2443, 76), +(4, 2444, 87), +(4, 2445, 78), +(4, 2446, 98), +(4, 2447, 68), +(4, 2448, 91), +(4, 2449, 85), +(4, 2450, 70), +(4, 2451, 95), +(4, 2452, 76), +(4, 2453, 74), +(4, 2454, 77), +(4, 2455, 87), +(4, 2456, 96), +(4, 2457, 79), +(4, 2458, 74), +(4, 2459, 95), +(4, 2460, 82), +(4, 2461, 86), +(4, 2462, 99), +(4, 2463, 77), +(4, 2464, 97), +(4, 2465, 84), +(4, 2466, 97), +(4, 2467, 85), +(4, 2468, 89), +(4, 2469, 87), +(4, 2470, 79), +(4, 2471, 82), +(4, 2472, 69), +(4, 2473, 84), +(4, 2474, 85), +(4, 2475, 95), +(4, 2476, 98), +(4, 2477, 84), +(4, 2478, 96), +(4, 2479, 77), +(4, 2480, 98), +(4, 2481, 90), +(4, 2482, 85), +(4, 2483, 92), +(4, 2484, 79), +(4, 2485, 88), +(4, 2486, 89), +(4, 2487, 68), +(4, 2488, 91), +(4, 2489, 77), +(4, 2490, 92), +(4, 2491, 94), +(4, 2492, 67), +(4, 2493, 81), +(4, 2494, 95), +(4, 2495, 98), +(4, 2496, 94), +(4, 2497, 81), +(4, 2498, 98), +(4, 2499, 70), +(4, 2500, 72), +(4, 2501, 92), +(4, 2502, 89), +(4, 2503, 85), +(4, 2504, 90), +(4, 2505, 76), +(4, 2506, 83), +(4, 2507, 75), +(4, 2508, 93), +(4, 2509, 68), +(4, 2510, 67), +(4, 2511, 70), +(4, 2512, 79), +(4, 2513, 91), +(4, 2514, 89), +(4, 2515, 76), +(4, 2516, 84), +(4, 2517, 82), +(4, 2518, 67), +(4, 2519, 68), +(4, 2520, 76), +(4, 2521, 71), +(4, 2522, 90), +(4, 2523, 71), +(4, 2524, 93), +(4, 2525, 66), +(4, 2526, 91), +(4, 2527, 80), +(4, 2528, 93), +(4, 2529, 80), +(4, 2530, 78), +(4, 2531, 88), +(4, 2532, 82), +(4, 2533, 77), +(4, 2534, 84), +(4, 2535, 75), +(4, 2536, 95), +(4, 2537, 89), +(4, 2538, 87), +(4, 2539, 83), +(4, 2540, 70), +(4, 2541, 88), +(4, 2542, 79), +(4, 2543, 92), +(4, 2544, 84), +(4, 2545, 70), +(4, 2546, 81), +(4, 2547, 87), +(4, 2548, 70), +(4, 2549, 68), +(4, 2550, 78), +(4, 2551, 74), +(4, 2552, 98), +(4, 2553, 77), +(4, 2554, 99), +(4, 2555, 97), +(4, 2556, 93), +(4, 2557, 96), +(4, 2558, 96), +(4, 2559, 90), +(4, 2560, 90), +(4, 2561, 84), +(4, 2562, 90), +(4, 2563, 71), +(4, 2564, 73), +(4, 2565, 96), +(4, 2566, 95), +(4, 2567, 78), +(4, 2568, 75), +(4, 2569, 66), +(4, 2570, 91), +(4, 2571, 74), +(4, 2572, 74), +(4, 2573, 85), +(4, 2574, 75), +(4, 2575, 86), +(4, 2576, 69), +(4, 2577, 77), +(4, 2578, 70), +(4, 2579, 76), +(4, 2580, 95), +(4, 2581, 72), +(4, 2582, 69), +(4, 2583, 89), +(4, 2584, 88), +(4, 2585, 94), +(4, 2586, 80), +(4, 2587, 79), +(4, 2588, 97), +(4, 2589, 67), +(4, 2590, 88), +(4, 2591, 92), +(4, 2592, 88), +(4, 2593, 69), +(4, 2594, 88), +(4, 2595, 94), +(4, 2596, 94), +(4, 2597, 68), +(4, 2598, 75), +(4, 2599, 72), +(4, 2600, 83), +(4, 2601, 80), +(4, 2602, 90), +(4, 2603, 88), +(4, 2604, 67), +(4, 2605, 81), +(4, 2606, 86), +(4, 2607, 65), +(4, 2608, 69), +(4, 2609, 72), +(4, 2610, 87), +(5, 1, 72), +(5, 2, 90), +(5, 3, 77), +(5, 4, 86), +(5, 5, 97), +(5, 6, 68), +(5, 7, 92), +(5, 8, 97), +(5, 9, 67), +(5, 10, 73), +(5, 11, 89), +(5, 12, 92), +(5, 13, 86), +(5, 14, 96), +(5, 15, 89), +(5, 16, 96), +(5, 17, 98), +(5, 18, 68), +(5, 19, 90), +(5, 20, 76), +(5, 21, 67), +(5, 22, 76), +(5, 23, 98), +(5, 24, 94), +(5, 25, 81), +(5, 26, 68), +(5, 27, 80), +(5, 28, 89), +(5, 29, 74), +(5, 30, 93), +(5, 31, 71), +(5, 32, 84), +(5, 33, 95), +(5, 34, 80), +(5, 35, 76), +(5, 36, 76), +(5, 37, 99), +(5, 38, 85), +(5, 39, 76), +(5, 40, 72), +(5, 41, 71), +(5, 42, 79), +(5, 43, 84), +(5, 44, 87), +(5, 45, 65), +(5, 46, 87), +(5, 47, 98), +(5, 48, 77), +(5, 49, 65), +(5, 50, 91), +(5, 51, 67), +(5, 52, 67), +(5, 53, 79), +(5, 54, 81), +(5, 55, 85), +(5, 56, 84), +(5, 57, 68), +(5, 58, 79), +(5, 59, 83), +(5, 60, 66), +(5, 61, 69), +(5, 62, 87), +(5, 63, 70), +(5, 64, 78), +(5, 65, 78), +(5, 66, 97), +(5, 67, 99), +(5, 68, 66), +(5, 69, 96), +(5, 70, 66), +(5, 71, 84), +(5, 72, 86), +(5, 73, 70), +(5, 74, 91), +(5, 75, 85), +(5, 76, 91), +(5, 77, 67), +(5, 78, 86), +(5, 79, 76), +(5, 80, 86), +(5, 81, 94), +(5, 82, 84), +(5, 83, 80), +(5, 84, 74), +(5, 85, 68), +(5, 86, 71), +(5, 87, 91), +(5, 88, 76), +(5, 89, 90), +(5, 90, 86), +(5, 91, 95), +(5, 92, 96), +(5, 93, 96), +(5, 94, 88), +(5, 95, 77), +(5, 96, 79), +(5, 97, 94), +(5, 98, 74), +(5, 99, 71), +(5, 100, 89), +(5, 101, 69), +(5, 102, 96), +(5, 103, 89), +(5, 104, 90), +(5, 105, 69), +(5, 106, 92), +(5, 107, 83), +(5, 108, 78), +(5, 109, 73), +(5, 110, 88), +(5, 111, 72), +(5, 112, 74), +(5, 113, 94), +(5, 114, 86), +(5, 115, 73), +(5, 116, 97), +(5, 117, 83), +(5, 118, 83), +(5, 119, 72), +(5, 120, 72), +(5, 121, 94), +(5, 122, 74), +(5, 123, 70), +(5, 124, 69), +(5, 125, 91), +(5, 126, 98), +(5, 127, 68), +(5, 128, 97), +(5, 129, 79), +(5, 130, 80), +(5, 131, 71), +(5, 132, 80), +(5, 133, 83), +(5, 134, 96), +(5, 135, 72), +(5, 136, 80), +(5, 137, 91), +(5, 138, 82), +(5, 139, 86), +(5, 140, 94), +(5, 141, 94), +(5, 142, 91), +(5, 143, 81), +(5, 144, 76), +(5, 145, 75), +(5, 146, 65), +(5, 147, 91), +(5, 148, 99), +(5, 149, 71), +(5, 150, 68), +(5, 151, 93), +(5, 152, 94), +(5, 153, 72), +(5, 154, 67), +(5, 155, 86), +(5, 156, 74), +(5, 157, 82), +(5, 158, 94), +(5, 159, 79), +(5, 160, 68), +(5, 161, 83), +(5, 162, 66), +(5, 163, 67), +(5, 164, 87), +(5, 165, 82), +(5, 166, 70), +(5, 167, 85), +(5, 168, 87), +(5, 169, 98), +(5, 170, 66), +(5, 171, 69), +(5, 172, 84), +(5, 173, 91), +(5, 174, 78), +(5, 175, 89), +(5, 176, 92), +(5, 177, 65), +(5, 178, 94), +(5, 179, 78), +(5, 180, 91), +(5, 181, 92), +(5, 182, 78), +(5, 183, 79), +(5, 184, 95), +(5, 185, 76), +(5, 186, 72), +(5, 187, 90), +(5, 188, 85), +(5, 189, 74), +(5, 190, 83), +(5, 191, 86), +(5, 192, 95), +(5, 193, 93), +(5, 194, 76), +(5, 195, 99), +(5, 196, 88), +(5, 197, 83), +(5, 198, 72), +(5, 199, 97), +(5, 200, 96), +(5, 201, 83), +(5, 202, 93), +(5, 203, 89), +(5, 204, 83), +(5, 205, 82), +(5, 206, 67), +(5, 207, 69), +(5, 208, 68), +(5, 209, 66), +(5, 210, 88), +(5, 211, 66), +(5, 212, 69), +(5, 213, 98), +(5, 214, 81), +(5, 215, 68), +(5, 216, 88), +(5, 217, 70), +(5, 218, 90), +(5, 219, 87), +(5, 220, 76), +(5, 221, 87), +(5, 222, 99), +(5, 223, 95), +(5, 224, 95), +(5, 225, 91), +(5, 226, 96), +(5, 227, 96), +(5, 228, 65), +(5, 229, 69), +(5, 230, 80), +(5, 231, 65), +(5, 232, 91), +(5, 233, 85), +(5, 234, 92), +(5, 235, 92), +(5, 236, 76), +(5, 237, 87), +(5, 238, 88), +(5, 239, 66), +(5, 240, 68), +(5, 241, 96), +(5, 242, 83), +(5, 243, 75), +(5, 244, 71), +(5, 245, 99), +(5, 246, 85), +(5, 247, 77), +(5, 248, 91), +(5, 249, 95), +(5, 250, 86), +(5, 251, 78), +(5, 252, 86), +(5, 253, 70), +(5, 254, 69), +(5, 255, 77), +(5, 256, 75), +(5, 257, 92), +(5, 258, 88), +(5, 259, 90), +(5, 260, 73), +(5, 261, 78), +(5, 262, 81), +(5, 263, 84), +(5, 264, 72), +(5, 265, 80), +(5, 266, 85), +(5, 267, 96), +(5, 268, 85), +(5, 269, 87), +(5, 270, 68), +(5, 271, 96), +(5, 272, 87), +(5, 273, 75), +(5, 274, 74), +(5, 275, 72), +(5, 276, 83), +(5, 277, 85), +(5, 278, 91), +(5, 279, 69), +(5, 280, 68), +(5, 281, 83), +(5, 282, 97), +(5, 283, 79), +(5, 284, 83), +(5, 285, 97), +(5, 286, 89), +(5, 287, 83), +(5, 288, 76), +(5, 289, 99), +(5, 290, 86), +(5, 291, 81), +(5, 292, 78), +(5, 293, 91), +(5, 294, 87), +(5, 295, 94), +(5, 296, 78), +(5, 297, 67), +(5, 298, 75), +(5, 299, 65), +(5, 300, 77), +(5, 301, 74), +(5, 302, 90), +(5, 303, 71), +(5, 304, 97), +(5, 305, 82), +(5, 306, 80), +(5, 307, 82), +(5, 308, 96), +(5, 309, 72), +(5, 310, 84), +(5, 311, 91), +(5, 312, 75), +(5, 313, 90), +(5, 314, 70), +(5, 315, 73), +(5, 316, 94), +(5, 317, 78), +(5, 318, 72), +(5, 319, 83), +(5, 320, 71), +(5, 321, 77), +(5, 322, 66), +(5, 323, 93), +(5, 324, 70), +(5, 325, 97), +(5, 326, 93), +(5, 327, 87), +(5, 328, 99), +(5, 329, 77), +(5, 330, 85), +(5, 331, 95), +(5, 332, 87), +(5, 333, 65), +(5, 334, 98), +(5, 335, 94), +(5, 336, 95), +(5, 337, 83), +(5, 338, 93), +(5, 339, 95), +(5, 340, 84), +(5, 341, 72), +(5, 342, 93), +(5, 343, 94), +(5, 344, 80), +(5, 345, 66), +(5, 346, 83), +(5, 347, 81), +(5, 348, 72), +(5, 349, 72), +(5, 350, 75), +(5, 351, 87), +(5, 352, 78), +(5, 353, 69), +(5, 354, 65), +(5, 355, 68), +(5, 356, 93), +(5, 357, 92), +(5, 358, 92), +(5, 359, 90), +(5, 360, 85), +(5, 361, 89), +(5, 362, 68), +(5, 363, 77), +(5, 364, 67), +(5, 365, 68), +(5, 366, 98), +(5, 367, 75), +(5, 368, 89), +(5, 369, 94), +(5, 370, 97), +(5, 371, 74), +(5, 372, 83), +(5, 373, 90), +(5, 374, 91), +(5, 375, 97), +(5, 376, 94), +(5, 377, 87), +(5, 378, 73), +(5, 379, 92), +(5, 380, 80), +(5, 381, 92), +(5, 382, 70), +(5, 383, 91), +(5, 384, 98), +(5, 385, 90), +(5, 386, 91), +(5, 387, 67), +(5, 388, 98), +(5, 389, 86), +(5, 390, 88), +(5, 391, 74), +(5, 392, 85), +(5, 393, 66), +(5, 394, 72), +(5, 395, 67), +(5, 396, 74), +(5, 397, 65), +(5, 398, 65), +(5, 399, 73), +(5, 400, 75), +(5, 401, 82), +(5, 402, 82), +(5, 403, 83), +(5, 404, 73), +(5, 405, 82), +(5, 406, 75), +(5, 407, 74), +(5, 408, 89), +(5, 409, 80), +(5, 410, 90), +(5, 411, 83), +(5, 412, 65), +(5, 413, 67), +(5, 414, 70), +(5, 415, 76), +(5, 416, 92), +(5, 417, 89), +(5, 418, 98), +(5, 419, 95), +(5, 420, 87), +(5, 421, 65), +(5, 422, 81), +(5, 423, 75), +(5, 424, 86), +(5, 425, 93), +(5, 426, 75), +(5, 427, 75), +(5, 428, 68), +(5, 429, 66), +(5, 430, 90), +(5, 431, 83), +(5, 432, 69), +(5, 433, 67), +(5, 434, 68), +(5, 435, 69), +(5, 436, 79), +(5, 437, 98), +(5, 438, 78), +(5, 439, 78), +(5, 440, 65), +(5, 441, 95), +(5, 442, 97), +(5, 443, 85), +(5, 444, 83), +(5, 445, 65), +(5, 446, 68), +(5, 447, 82), +(5, 448, 81), +(5, 449, 69), +(5, 450, 86), +(5, 451, 89), +(5, 452, 75), +(5, 453, 83), +(5, 454, 78), +(5, 455, 87), +(5, 456, 92), +(5, 457, 92), +(5, 458, 87), +(5, 459, 70), +(5, 460, 98), +(5, 461, 93), +(5, 462, 74), +(5, 463, 80), +(5, 464, 99), +(5, 465, 98), +(5, 466, 94), +(5, 467, 72), +(5, 468, 91), +(5, 469, 84), +(5, 470, 92), +(5, 471, 81), +(5, 472, 96), +(5, 473, 78), +(5, 474, 70), +(5, 475, 97), +(5, 476, 94), +(5, 477, 93), +(5, 478, 73), +(5, 479, 69), +(5, 480, 94), +(5, 481, 72), +(5, 482, 83), +(5, 483, 72), +(5, 484, 81), +(5, 485, 70), +(5, 486, 82), +(5, 487, 83), +(5, 488, 95), +(5, 489, 89), +(5, 490, 94), +(5, 491, 74), +(5, 492, 89), +(5, 493, 86), +(5, 494, 76), +(5, 495, 93), +(5, 496, 66), +(5, 497, 66), +(5, 498, 77), +(5, 499, 97), +(5, 500, 69), +(5, 501, 80), +(5, 502, 75), +(5, 503, 81), +(5, 504, 93), +(5, 505, 78), +(5, 506, 73), +(5, 507, 66), +(5, 508, 69), +(5, 509, 96), +(5, 510, 69), +(5, 511, 67), +(5, 512, 87), +(5, 513, 95), +(5, 514, 69), +(5, 515, 79), +(5, 516, 73), +(5, 517, 71), +(5, 518, 87), +(5, 519, 77), +(5, 520, 76), +(5, 521, 76), +(5, 522, 96), +(5, 523, 69), +(5, 524, 96), +(5, 525, 81), +(5, 526, 90), +(5, 527, 79), +(5, 528, 65), +(5, 529, 86), +(5, 530, 88), +(5, 531, 69), +(5, 532, 91), +(5, 533, 90), +(5, 534, 72), +(5, 535, 86), +(5, 536, 88), +(5, 537, 86), +(5, 538, 96), +(5, 539, 65), +(5, 540, 96), +(5, 541, 96), +(5, 542, 88), +(5, 543, 86), +(5, 544, 83), +(5, 545, 76), +(5, 546, 85), +(5, 547, 76), +(5, 548, 77), +(5, 549, 98), +(5, 550, 71), +(5, 551, 79), +(5, 552, 86), +(5, 553, 85), +(5, 554, 82), +(5, 555, 86), +(5, 556, 80), +(5, 557, 96), +(5, 558, 70), +(5, 559, 76), +(5, 560, 94), +(5, 561, 71), +(5, 562, 76), +(5, 563, 71), +(5, 564, 68), +(5, 1024, 82), +(5, 1025, 93), +(5, 1026, 99), +(5, 1027, 75), +(5, 1028, 81), +(5, 1029, 87), +(5, 1030, 74), +(5, 1031, 80), +(5, 1032, 94), +(5, 1033, 86), +(5, 1034, 72), +(5, 1035, 67), +(5, 1036, 91), +(5, 1037, 95), +(5, 1038, 66), +(5, 1039, 90), +(5, 1040, 67), +(5, 1041, 78), +(5, 1042, 86), +(5, 1043, 92), +(5, 1044, 97), +(5, 1045, 79), +(5, 1046, 65), +(5, 1047, 91), +(5, 1048, 80), +(5, 1049, 70), +(5, 1050, 72), +(5, 1051, 79), +(5, 1052, 86), +(5, 1053, 83), +(5, 1054, 82), +(5, 1055, 73), +(5, 1056, 83), +(5, 1057, 84), +(5, 1058, 93), +(5, 1059, 99), +(5, 1060, 87), +(5, 1061, 75), +(5, 1062, 74), +(5, 1063, 92), +(5, 1064, 94), +(5, 1065, 87), +(5, 1066, 92), +(5, 1067, 69), +(5, 1068, 70), +(5, 1069, 79), +(5, 1070, 69), +(5, 1071, 86), +(5, 1072, 79), +(5, 1073, 95), +(5, 1074, 98), +(5, 1075, 73), +(5, 1076, 65), +(5, 1077, 96), +(5, 1078, 84), +(5, 1079, 94), +(5, 1080, 65), +(5, 1081, 90), +(5, 1082, 87), +(5, 1083, 94), +(5, 1084, 76), +(5, 1085, 72), +(5, 1086, 67), +(5, 1087, 65), +(5, 1088, 79), +(5, 1089, 89), +(5, 1090, 69), +(5, 1091, 77), +(5, 1092, 80), +(5, 1093, 71), +(5, 1094, 67), +(5, 1095, 93), +(5, 1096, 73), +(5, 1097, 66), +(5, 1098, 81), +(5, 1099, 72), +(5, 1100, 65), +(5, 1101, 75), +(5, 1102, 76), +(5, 1103, 73), +(5, 1104, 75), +(5, 1105, 96), +(5, 1106, 92), +(5, 1107, 98), +(5, 1108, 75), +(5, 1109, 70), +(5, 1110, 82), +(5, 1111, 96), +(5, 1112, 85), +(5, 1113, 89), +(5, 1114, 83), +(5, 1115, 98), +(5, 1116, 77), +(5, 1117, 78), +(5, 1118, 68), +(5, 1119, 89), +(5, 1120, 68), +(5, 1121, 88), +(5, 1122, 80), +(5, 1123, 85), +(5, 1124, 70), +(5, 1125, 98), +(5, 1126, 78), +(5, 1127, 80), +(5, 1128, 66), +(5, 1129, 75), +(5, 1130, 68), +(5, 1131, 77), +(5, 1132, 76), +(5, 1133, 81), +(5, 1134, 88), +(5, 1135, 88), +(5, 1136, 95), +(5, 1137, 84), +(5, 1138, 83), +(5, 1139, 98), +(5, 1140, 69), +(5, 1141, 77), +(5, 1142, 98), +(5, 1143, 65), +(5, 1144, 94), +(5, 1145, 68), +(5, 1146, 98), +(5, 1147, 79), +(5, 1148, 79), +(5, 1149, 79), +(5, 1150, 84), +(5, 1151, 93), +(5, 1152, 87), +(5, 1153, 99), +(5, 1154, 90), +(5, 1155, 88), +(5, 1156, 76), +(5, 1157, 80), +(5, 1158, 70), +(5, 1159, 68), +(5, 1160, 96), +(5, 1161, 86), +(5, 1162, 83), +(5, 1163, 94), +(5, 1164, 75), +(5, 1165, 82), +(5, 1166, 85), +(5, 1167, 86), +(5, 1168, 77), +(5, 1169, 85), +(5, 1170, 88), +(5, 1171, 74), +(5, 1172, 68), +(5, 1173, 76), +(5, 1174, 75), +(5, 1175, 86), +(5, 1176, 70), +(5, 1177, 72), +(5, 1178, 71), +(5, 1179, 82), +(5, 1180, 72), +(5, 1181, 77), +(5, 1182, 71), +(5, 1183, 80), +(5, 1184, 89), +(5, 1185, 73), +(5, 1186, 98), +(5, 1187, 86), +(5, 1188, 93), +(5, 1189, 86), +(5, 1190, 90), +(5, 1191, 70), +(5, 1192, 96), +(5, 1193, 78), +(5, 1194, 70), +(5, 1195, 74), +(5, 1196, 74), +(5, 1197, 83), +(5, 1198, 71), +(5, 1199, 90), +(5, 1200, 72), +(5, 1201, 76), +(5, 1202, 89), +(5, 1203, 65), +(5, 1204, 65), +(5, 1205, 88), +(5, 1206, 94), +(5, 1207, 95), +(5, 1208, 78), +(5, 1209, 80), +(5, 1210, 83), +(5, 1211, 89), +(5, 1212, 93), +(5, 1213, 83), +(5, 1214, 70), +(5, 1215, 99), +(5, 1216, 94), +(5, 1217, 94), +(5, 1218, 84), +(5, 1219, 74), +(5, 1220, 91), +(5, 1221, 82), +(5, 1222, 89), +(5, 1223, 99), +(5, 1224, 94), +(5, 1225, 88), +(5, 1226, 65), +(5, 1227, 92), +(5, 1228, 71), +(5, 1229, 80), +(5, 1230, 78), +(5, 1231, 94), +(5, 1232, 76), +(5, 1233, 84), +(5, 1234, 87), +(5, 1235, 71), +(5, 1236, 99), +(5, 1237, 76), +(5, 1238, 76), +(5, 1239, 81), +(5, 1240, 78), +(5, 1241, 75), +(5, 1242, 92), +(5, 1243, 87), +(5, 1244, 81), +(5, 1245, 98), +(5, 1246, 92), +(5, 1247, 93), +(5, 1248, 85), +(5, 1249, 75), +(5, 1250, 69), +(5, 1251, 97), +(5, 1252, 69), +(5, 1253, 70), +(5, 1254, 79), +(5, 1255, 84), +(5, 1256, 91), +(5, 1257, 91), +(5, 1258, 71), +(5, 1259, 73), +(5, 1260, 81), +(5, 1261, 68), +(5, 1262, 85), +(5, 1263, 78), +(5, 1264, 90), +(5, 1265, 75), +(5, 1266, 71), +(5, 1267, 71), +(5, 1268, 66), +(5, 1269, 68), +(5, 1270, 71), +(5, 1271, 92), +(5, 1272, 81), +(5, 1273, 78), +(5, 1274, 97), +(5, 1275, 68), +(5, 1276, 86), +(5, 1277, 95), +(5, 1278, 97), +(5, 1279, 84), +(5, 1280, 70), +(5, 1281, 76), +(5, 1282, 70), +(5, 1283, 97), +(5, 1284, 81), +(5, 1285, 89), +(5, 1286, 82), +(5, 1287, 90), +(5, 1288, 90), +(5, 1289, 99), +(5, 1290, 78), +(5, 1291, 98), +(5, 1292, 85), +(5, 1293, 98), +(5, 1294, 70), +(5, 1295, 82), +(5, 1296, 91), +(5, 1297, 76), +(5, 1298, 96), +(5, 1299, 96), +(5, 1300, 91), +(5, 1301, 67), +(5, 1302, 88), +(5, 1303, 79), +(5, 1304, 65), +(5, 1305, 96), +(5, 1306, 67), +(5, 1307, 78), +(5, 1308, 92), +(5, 1309, 96), +(5, 1310, 68), +(5, 1311, 73), +(5, 1312, 81), +(5, 1313, 84), +(5, 1314, 65), +(5, 1315, 72), +(5, 1316, 68), +(5, 1317, 76), +(5, 1318, 70), +(5, 1319, 96), +(5, 1320, 90), +(5, 1321, 81), +(5, 1322, 89), +(5, 1323, 94), +(5, 1324, 87), +(5, 1325, 86), +(5, 1326, 78), +(5, 1327, 85), +(5, 1328, 85), +(5, 1329, 97), +(5, 1330, 88), +(5, 1331, 65), +(5, 1332, 82), +(5, 1333, 66), +(5, 1334, 88), +(5, 1335, 72), +(5, 1336, 84), +(5, 1337, 69), +(5, 1338, 72), +(5, 1339, 75), +(5, 1340, 71), +(5, 1341, 80), +(5, 1342, 80), +(5, 1343, 92), +(5, 1344, 77), +(5, 1345, 71), +(5, 1346, 97), +(5, 1347, 99), +(5, 1348, 99), +(5, 1349, 78), +(5, 1350, 98), +(5, 1351, 72), +(5, 1352, 80), +(5, 1353, 87), +(5, 1354, 98), +(5, 1355, 95), +(5, 1356, 86), +(5, 1357, 91), +(5, 1358, 75), +(5, 1359, 89), +(5, 1360, 86), +(5, 1361, 70), +(5, 1362, 80), +(5, 1363, 70), +(5, 1364, 69), +(5, 1365, 96), +(5, 1366, 99), +(5, 1367, 99), +(5, 1368, 66), +(5, 1369, 87), +(5, 1370, 67), +(5, 1371, 74), +(5, 1372, 86), +(5, 1373, 85), +(5, 1374, 98), +(5, 1375, 74), +(5, 1376, 78), +(5, 1377, 96), +(5, 1378, 87), +(5, 1379, 88), +(5, 1380, 93), +(5, 1381, 76), +(5, 1382, 65), +(5, 1383, 72), +(5, 1384, 71), +(5, 1385, 83), +(5, 1386, 65), +(5, 1387, 91), +(5, 1388, 77), +(5, 1389, 73), +(5, 1390, 75), +(5, 1391, 73), +(5, 1392, 98), +(5, 1393, 80), +(5, 1394, 89), +(5, 1395, 71), +(5, 1396, 68), +(5, 1397, 73), +(5, 1398, 88), +(5, 1399, 82), +(5, 1400, 86), +(5, 1401, 75), +(5, 1402, 87), +(5, 1403, 85), +(5, 1404, 96), +(5, 1405, 73), +(5, 1406, 66), +(5, 1407, 80), +(5, 1408, 78), +(5, 1409, 89), +(5, 1410, 68), +(5, 1411, 76), +(5, 1412, 98), +(5, 1413, 87), +(5, 1414, 84), +(5, 1415, 83), +(5, 1416, 66), +(5, 1417, 68), +(5, 1418, 81), +(5, 1419, 97), +(5, 1420, 69), +(5, 1421, 77), +(5, 1422, 72), +(5, 1423, 85), +(5, 1424, 94), +(5, 1425, 90), +(5, 1426, 91), +(5, 1427, 92), +(5, 1428, 74), +(5, 1429, 79), +(5, 1430, 98), +(5, 1431, 80), +(5, 1432, 75), +(5, 1433, 79), +(5, 1434, 84), +(5, 1435, 65), +(5, 1436, 89), +(5, 1437, 90), +(5, 1438, 86), +(5, 1439, 76), +(5, 1440, 68), +(5, 1441, 65), +(5, 1442, 74), +(5, 1443, 96), +(5, 1444, 87), +(5, 1445, 97), +(5, 1446, 87), +(5, 1447, 87), +(5, 1448, 73), +(5, 1449, 66), +(5, 1450, 94), +(5, 1451, 77), +(5, 1452, 84), +(5, 1453, 79), +(5, 1454, 90), +(5, 1455, 80), +(5, 1456, 75), +(5, 1457, 89), +(5, 1458, 86), +(5, 1459, 83), +(5, 1460, 81), +(5, 1461, 82), +(5, 1462, 91), +(5, 1463, 92), +(5, 1464, 97), +(5, 1465, 81), +(5, 1466, 80), +(5, 1467, 73), +(5, 1468, 87), +(5, 1469, 97), +(5, 1470, 94), +(5, 1471, 88), +(5, 1472, 83), +(5, 1473, 80), +(5, 1474, 82), +(5, 1475, 93), +(5, 1476, 93), +(5, 1477, 73), +(5, 1478, 79), +(5, 1479, 71), +(5, 1480, 72), +(5, 1481, 69), +(5, 1482, 94), +(5, 1483, 99), +(5, 1484, 72), +(5, 1485, 93), +(5, 1486, 76), +(5, 1487, 95), +(5, 1488, 99), +(5, 1489, 73), +(5, 1490, 76), +(5, 1491, 91), +(5, 1492, 86), +(5, 1493, 72), +(5, 1494, 68), +(5, 1495, 80), +(5, 1496, 75), +(5, 1497, 72), +(5, 1498, 75), +(5, 1499, 76), +(5, 1500, 76), +(5, 1501, 86), +(5, 1502, 71), +(5, 1503, 81), +(5, 1504, 90), +(5, 1505, 94), +(5, 1506, 83), +(5, 1507, 91), +(5, 1508, 68), +(5, 1509, 68), +(5, 1510, 71), +(5, 1511, 89), +(5, 1512, 76), +(5, 1513, 65), +(5, 1514, 83), +(5, 1515, 78), +(5, 1516, 70), +(5, 1517, 79), +(5, 1518, 96), +(5, 1519, 91), +(5, 1520, 97), +(5, 1521, 77), +(5, 1522, 67), +(5, 1523, 65), +(5, 1524, 78), +(5, 1525, 85), +(5, 1526, 77), +(5, 1527, 91), +(5, 1528, 94), +(5, 1529, 76), +(5, 1530, 91), +(5, 1531, 91), +(5, 1532, 92), +(5, 1533, 93), +(5, 1534, 79), +(5, 1535, 71), +(5, 1536, 91), +(5, 1537, 87), +(5, 1538, 95), +(5, 1539, 87), +(5, 1540, 81), +(5, 1541, 93), +(5, 1542, 68), +(5, 1543, 74), +(5, 1544, 74), +(5, 1545, 88), +(5, 1546, 80), +(5, 1547, 79), +(5, 1548, 74), +(5, 1549, 76), +(5, 1550, 73), +(5, 1551, 91), +(5, 1552, 87), +(5, 1553, 69), +(5, 1554, 93), +(5, 1555, 92), +(5, 1556, 66), +(5, 1557, 93), +(5, 1558, 98), +(5, 1559, 82), +(5, 1560, 78), +(5, 1561, 83), +(5, 1562, 72), +(5, 1563, 71), +(5, 1564, 96), +(5, 1565, 93), +(5, 1566, 99), +(5, 1567, 89), +(5, 1568, 70), +(5, 1569, 76), +(5, 1570, 72), +(5, 1571, 68), +(5, 1572, 66), +(5, 1573, 81), +(5, 1574, 92), +(5, 1575, 68), +(5, 1576, 99), +(5, 1577, 87), +(5, 1578, 97), +(5, 1579, 90), +(5, 1580, 73), +(5, 1581, 96), +(5, 1582, 71), +(5, 1583, 96), +(5, 1584, 68), +(5, 1585, 70), +(5, 1586, 90), +(5, 1587, 74), +(5, 2047, 87), +(5, 2048, 75), +(5, 2049, 81), +(5, 2050, 93), +(5, 2051, 85), +(5, 2052, 80), +(5, 2053, 76), +(5, 2054, 67), +(5, 2055, 76), +(5, 2056, 89), +(5, 2057, 77), +(5, 2058, 67), +(5, 2059, 85), +(5, 2060, 68), +(5, 2061, 85), +(5, 2062, 84), +(5, 2063, 99), +(5, 2064, 69), +(5, 2065, 70), +(5, 2066, 94), +(5, 2067, 88), +(5, 2068, 82), +(5, 2069, 72), +(5, 2070, 88), +(5, 2071, 77), +(5, 2072, 71), +(5, 2073, 86), +(5, 2074, 71), +(5, 2075, 70), +(5, 2076, 74), +(5, 2077, 70), +(5, 2078, 80), +(5, 2079, 85), +(5, 2080, 67), +(5, 2081, 85), +(5, 2082, 99), +(5, 2083, 95), +(5, 2084, 89), +(5, 2085, 97), +(5, 2086, 99), +(5, 2087, 73), +(5, 2088, 99), +(5, 2089, 76); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(5, 2090, 93), +(5, 2091, 97), +(5, 2092, 81), +(5, 2093, 89), +(5, 2094, 98), +(5, 2095, 66), +(5, 2096, 69), +(5, 2097, 91), +(5, 2098, 65), +(5, 2099, 69), +(5, 2100, 83), +(5, 2101, 67), +(5, 2102, 71), +(5, 2103, 89), +(5, 2104, 95), +(5, 2105, 98), +(5, 2106, 67), +(5, 2107, 75), +(5, 2108, 87), +(5, 2109, 86), +(5, 2110, 71), +(5, 2111, 79), +(5, 2112, 94), +(5, 2113, 88), +(5, 2114, 69), +(5, 2115, 95), +(5, 2116, 69), +(5, 2117, 86), +(5, 2118, 90), +(5, 2119, 96), +(5, 2120, 93), +(5, 2121, 67), +(5, 2122, 78), +(5, 2123, 78), +(5, 2124, 74), +(5, 2125, 78), +(5, 2126, 66), +(5, 2127, 85), +(5, 2128, 78), +(5, 2129, 73), +(5, 2130, 76), +(5, 2131, 74), +(5, 2132, 72), +(5, 2133, 92), +(5, 2134, 67), +(5, 2135, 85), +(5, 2136, 77), +(5, 2137, 65), +(5, 2138, 89), +(5, 2139, 74), +(5, 2140, 67), +(5, 2141, 66), +(5, 2142, 95), +(5, 2143, 82), +(5, 2144, 85), +(5, 2145, 80), +(5, 2146, 72), +(5, 2147, 87), +(5, 2148, 77), +(5, 2149, 70), +(5, 2150, 83), +(5, 2151, 82), +(5, 2152, 67), +(5, 2153, 91), +(5, 2154, 79), +(5, 2155, 70), +(5, 2156, 98), +(5, 2157, 90), +(5, 2158, 69), +(5, 2159, 75), +(5, 2160, 78), +(5, 2161, 99), +(5, 2162, 91), +(5, 2163, 72), +(5, 2164, 77), +(5, 2165, 68), +(5, 2166, 66), +(5, 2167, 78), +(5, 2168, 81), +(5, 2169, 79), +(5, 2170, 89), +(5, 2171, 73), +(5, 2172, 94), +(5, 2173, 99), +(5, 2174, 78), +(5, 2175, 95), +(5, 2176, 98), +(5, 2177, 68), +(5, 2178, 79), +(5, 2179, 67), +(5, 2180, 74), +(5, 2181, 74), +(5, 2182, 90), +(5, 2183, 69), +(5, 2184, 93), +(5, 2185, 80), +(5, 2186, 73), +(5, 2187, 84), +(5, 2188, 94), +(5, 2189, 76), +(5, 2190, 81), +(5, 2191, 89), +(5, 2192, 65), +(5, 2193, 78), +(5, 2194, 74), +(5, 2195, 86), +(5, 2196, 98), +(5, 2197, 84), +(5, 2198, 87), +(5, 2199, 68), +(5, 2200, 68), +(5, 2201, 93), +(5, 2202, 73), +(5, 2203, 73), +(5, 2204, 96), +(5, 2205, 65), +(5, 2206, 76), +(5, 2207, 90), +(5, 2208, 97), +(5, 2209, 83), +(5, 2210, 83), +(5, 2211, 94), +(5, 2212, 93), +(5, 2213, 71), +(5, 2214, 92), +(5, 2215, 81), +(5, 2216, 83), +(5, 2217, 75), +(5, 2218, 96), +(5, 2219, 87), +(5, 2220, 91), +(5, 2221, 81), +(5, 2222, 89), +(5, 2223, 78), +(5, 2224, 83), +(5, 2225, 97), +(5, 2226, 65), +(5, 2227, 82), +(5, 2228, 95), +(5, 2229, 79), +(5, 2230, 86), +(5, 2231, 83), +(5, 2232, 66), +(5, 2233, 69), +(5, 2234, 83), +(5, 2235, 95), +(5, 2236, 67), +(5, 2237, 78), +(5, 2238, 66), +(5, 2239, 78), +(5, 2240, 84), +(5, 2241, 80), +(5, 2242, 77), +(5, 2243, 99), +(5, 2244, 99), +(5, 2245, 69), +(5, 2246, 75), +(5, 2247, 98), +(5, 2248, 95), +(5, 2249, 96), +(5, 2250, 70), +(5, 2251, 87), +(5, 2252, 96), +(5, 2253, 68), +(5, 2254, 78), +(5, 2255, 68), +(5, 2256, 89), +(5, 2257, 93), +(5, 2258, 97), +(5, 2259, 71), +(5, 2260, 98), +(5, 2261, 65), +(5, 2262, 77), +(5, 2263, 83), +(5, 2264, 82), +(5, 2265, 78), +(5, 2266, 86), +(5, 2267, 80), +(5, 2268, 77), +(5, 2269, 70), +(5, 2270, 92), +(5, 2271, 65), +(5, 2272, 65), +(5, 2273, 82), +(5, 2274, 84), +(5, 2275, 73), +(5, 2276, 82), +(5, 2277, 94), +(5, 2278, 98), +(5, 2279, 69), +(5, 2280, 76), +(5, 2281, 92), +(5, 2282, 83), +(5, 2283, 97), +(5, 2284, 79), +(5, 2285, 82), +(5, 2286, 91), +(5, 2287, 89), +(5, 2288, 67), +(5, 2289, 77), +(5, 2290, 89), +(5, 2291, 69), +(5, 2292, 84), +(5, 2293, 86), +(5, 2294, 94), +(5, 2295, 75), +(5, 2296, 70), +(5, 2297, 72), +(5, 2298, 91), +(5, 2299, 83), +(5, 2300, 83), +(5, 2301, 88), +(5, 2302, 84), +(5, 2303, 80), +(5, 2304, 66), +(5, 2305, 94), +(5, 2306, 68), +(5, 2307, 96), +(5, 2308, 77), +(5, 2309, 95), +(5, 2310, 79), +(5, 2311, 92), +(5, 2312, 68), +(5, 2313, 90), +(5, 2314, 89), +(5, 2315, 76), +(5, 2316, 96), +(5, 2317, 77), +(5, 2318, 94), +(5, 2319, 93), +(5, 2320, 73), +(5, 2321, 71), +(5, 2322, 65), +(5, 2323, 99), +(5, 2324, 87), +(5, 2325, 83), +(5, 2326, 97), +(5, 2327, 95), +(5, 2328, 84), +(5, 2329, 98), +(5, 2330, 67), +(5, 2331, 88), +(5, 2332, 65), +(5, 2333, 79), +(5, 2334, 65), +(5, 2335, 75), +(5, 2336, 79), +(5, 2337, 81), +(5, 2338, 72), +(5, 2339, 81), +(5, 2340, 89), +(5, 2341, 71), +(5, 2342, 90), +(5, 2343, 70), +(5, 2344, 95), +(5, 2345, 93), +(5, 2346, 98), +(5, 2347, 72), +(5, 2348, 69), +(5, 2349, 81), +(5, 2350, 78), +(5, 2351, 78), +(5, 2352, 81), +(5, 2353, 87), +(5, 2354, 87), +(5, 2355, 82), +(5, 2356, 89), +(5, 2357, 96), +(5, 2358, 79), +(5, 2359, 83), +(5, 2360, 85), +(5, 2361, 85), +(5, 2362, 78), +(5, 2363, 85), +(5, 2364, 91), +(5, 2365, 66), +(5, 2366, 83), +(5, 2367, 88), +(5, 2368, 71), +(5, 2369, 94), +(5, 2370, 68), +(5, 2371, 71), +(5, 2372, 84), +(5, 2373, 74), +(5, 2374, 96), +(5, 2375, 65), +(5, 2376, 96), +(5, 2377, 70), +(5, 2378, 84), +(5, 2379, 91), +(5, 2380, 87), +(5, 2381, 71), +(5, 2382, 75), +(5, 2383, 67), +(5, 2384, 88), +(5, 2385, 94), +(5, 2386, 66), +(5, 2387, 90), +(5, 2388, 86), +(5, 2389, 90), +(5, 2390, 73), +(5, 2391, 97), +(5, 2392, 84), +(5, 2393, 66), +(5, 2394, 97), +(5, 2395, 71), +(5, 2396, 78), +(5, 2397, 67), +(5, 2398, 75), +(5, 2399, 83), +(5, 2400, 79), +(5, 2401, 85), +(5, 2402, 69), +(5, 2403, 97), +(5, 2404, 71), +(5, 2405, 99), +(5, 2406, 74), +(5, 2407, 79), +(5, 2408, 96), +(5, 2409, 98), +(5, 2410, 68), +(5, 2411, 94), +(5, 2412, 76), +(5, 2413, 87), +(5, 2414, 83), +(5, 2415, 76), +(5, 2416, 78), +(5, 2417, 74), +(5, 2418, 82), +(5, 2419, 88), +(5, 2420, 73), +(5, 2421, 91), +(5, 2422, 94), +(5, 2423, 88), +(5, 2424, 65), +(5, 2425, 79), +(5, 2426, 83), +(5, 2427, 78), +(5, 2428, 84), +(5, 2429, 79), +(5, 2430, 98), +(5, 2431, 88), +(5, 2432, 85), +(5, 2433, 79), +(5, 2434, 87), +(5, 2435, 66), +(5, 2436, 95), +(5, 2437, 69), +(5, 2438, 98), +(5, 2439, 90), +(5, 2440, 76), +(5, 2441, 81), +(5, 2442, 79), +(5, 2443, 93), +(5, 2444, 75), +(5, 2445, 78), +(5, 2446, 72), +(5, 2447, 79), +(5, 2448, 99), +(5, 2449, 87), +(5, 2450, 99), +(5, 2451, 76), +(5, 2452, 81), +(5, 2453, 89), +(5, 2454, 93), +(5, 2455, 78), +(5, 2456, 65), +(5, 2457, 70), +(5, 2458, 80), +(5, 2459, 94), +(5, 2460, 86), +(5, 2461, 71), +(5, 2462, 86), +(5, 2463, 94), +(5, 2464, 95), +(5, 2465, 81), +(5, 2466, 99), +(5, 2467, 94), +(5, 2468, 96), +(5, 2469, 92), +(5, 2470, 85), +(5, 2471, 96), +(5, 2472, 83), +(5, 2473, 95), +(5, 2474, 73), +(5, 2475, 89), +(5, 2476, 93), +(5, 2477, 97), +(5, 2478, 98), +(5, 2479, 69), +(5, 2480, 92), +(5, 2481, 97), +(5, 2482, 94), +(5, 2483, 87), +(5, 2484, 95), +(5, 2485, 75), +(5, 2486, 90), +(5, 2487, 68), +(5, 2488, 88), +(5, 2489, 96), +(5, 2490, 66), +(5, 2491, 79), +(5, 2492, 94), +(5, 2493, 97), +(5, 2494, 85), +(5, 2495, 70), +(5, 2496, 79), +(5, 2497, 83), +(5, 2498, 85), +(5, 2499, 73), +(5, 2500, 68), +(5, 2501, 70), +(5, 2502, 68), +(5, 2503, 91), +(5, 2504, 86), +(5, 2505, 94), +(5, 2506, 77), +(5, 2507, 72), +(5, 2508, 80), +(5, 2509, 76), +(5, 2510, 96), +(5, 2511, 94), +(5, 2512, 83), +(5, 2513, 88), +(5, 2514, 98), +(5, 2515, 94), +(5, 2516, 77), +(5, 2517, 65), +(5, 2518, 68), +(5, 2519, 96), +(5, 2520, 66), +(5, 2521, 88), +(5, 2522, 78), +(5, 2523, 87), +(5, 2524, 85), +(5, 2525, 66), +(5, 2526, 71), +(5, 2527, 98), +(5, 2528, 85), +(5, 2529, 95), +(5, 2530, 66), +(5, 2531, 72), +(5, 2532, 84), +(5, 2533, 85), +(5, 2534, 81), +(5, 2535, 82), +(5, 2536, 69), +(5, 2537, 79), +(5, 2538, 78), +(5, 2539, 91), +(5, 2540, 77), +(5, 2541, 65), +(5, 2542, 95), +(5, 2543, 74), +(5, 2544, 99), +(5, 2545, 83), +(5, 2546, 95), +(5, 2547, 87), +(5, 2548, 68), +(5, 2549, 98), +(5, 2550, 88), +(5, 2551, 87), +(5, 2552, 95), +(5, 2553, 98), +(5, 2554, 68), +(5, 2555, 84), +(5, 2556, 74), +(5, 2557, 71), +(5, 2558, 88), +(5, 2559, 84), +(5, 2560, 75), +(5, 2561, 92), +(5, 2562, 80), +(5, 2563, 72), +(5, 2564, 75), +(5, 2565, 79), +(5, 2566, 66), +(5, 2567, 91), +(5, 2568, 78), +(5, 2569, 76), +(5, 2570, 71), +(5, 2571, 81), +(5, 2572, 97), +(5, 2573, 68), +(5, 2574, 85), +(5, 2575, 74), +(5, 2576, 79), +(5, 2577, 99), +(5, 2578, 75), +(5, 2579, 81), +(5, 2580, 68), +(5, 2581, 84), +(5, 2582, 68), +(5, 2583, 68), +(5, 2584, 83), +(5, 2585, 97), +(5, 2586, 84), +(5, 2587, 83), +(5, 2588, 95), +(5, 2589, 78), +(5, 2590, 85), +(5, 2591, 94), +(5, 2592, 89), +(5, 2593, 69), +(5, 2594, 81), +(5, 2595, 86), +(5, 2596, 88), +(5, 2597, 66), +(5, 2598, 98), +(5, 2599, 95), +(5, 2600, 72), +(5, 2601, 76), +(5, 2602, 95), +(5, 2603, 80), +(5, 2604, 93), +(5, 2605, 91), +(5, 2606, 98), +(5, 2607, 81), +(5, 2608, 83), +(5, 2609, 87), +(5, 2610, 80), +(6, 1, 80), +(6, 2, 92), +(6, 3, 72), +(6, 4, 69), +(6, 5, 86), +(6, 6, 72), +(6, 7, 81), +(6, 8, 89), +(6, 9, 71), +(6, 10, 85), +(6, 11, 77), +(6, 12, 84), +(6, 13, 84), +(6, 14, 74), +(6, 15, 67), +(6, 16, 90), +(6, 17, 77), +(6, 18, 76), +(6, 19, 93), +(6, 20, 88), +(6, 21, 90), +(6, 22, 94), +(6, 23, 84), +(6, 24, 97), +(6, 25, 91), +(6, 26, 75), +(6, 27, 74), +(6, 28, 92), +(6, 29, 76), +(6, 30, 68), +(6, 31, 85), +(6, 32, 74), +(6, 33, 84), +(6, 34, 71), +(6, 35, 72), +(6, 36, 85), +(6, 37, 96), +(6, 38, 95), +(6, 39, 83), +(6, 40, 98), +(6, 41, 68), +(6, 42, 98), +(6, 43, 77), +(6, 44, 90), +(6, 45, 73), +(6, 46, 84), +(6, 47, 86), +(6, 48, 90), +(6, 49, 89), +(6, 50, 84), +(6, 51, 91), +(6, 52, 82), +(6, 53, 70), +(6, 54, 80), +(6, 55, 98), +(6, 56, 76), +(6, 57, 91), +(6, 58, 95), +(6, 59, 87), +(6, 60, 66), +(6, 61, 99), +(6, 62, 91), +(6, 63, 92), +(6, 64, 86), +(6, 65, 92), +(6, 66, 71), +(6, 67, 73), +(6, 68, 74), +(6, 69, 65), +(6, 70, 75), +(6, 71, 96), +(6, 72, 93), +(6, 73, 93), +(6, 74, 78), +(6, 75, 90), +(6, 76, 99), +(6, 77, 98), +(6, 78, 67), +(6, 79, 78), +(6, 80, 87), +(6, 81, 92), +(6, 82, 98), +(6, 83, 95), +(6, 84, 72), +(6, 85, 66), +(6, 86, 80), +(6, 87, 91), +(6, 88, 76), +(6, 89, 87), +(6, 90, 83), +(6, 91, 93), +(6, 92, 93), +(6, 93, 96), +(6, 94, 92), +(6, 95, 97), +(6, 96, 68), +(6, 97, 96), +(6, 98, 96), +(6, 99, 79), +(6, 100, 65), +(6, 101, 99), +(6, 102, 88), +(6, 103, 76), +(6, 104, 67), +(6, 105, 95), +(6, 106, 65), +(6, 107, 99), +(6, 108, 96), +(6, 109, 89), +(6, 110, 77), +(6, 111, 81), +(6, 112, 94), +(6, 113, 87), +(6, 114, 98), +(6, 115, 93), +(6, 116, 65), +(6, 117, 69), +(6, 118, 99), +(6, 119, 90), +(6, 120, 92), +(6, 121, 69), +(6, 122, 83), +(6, 123, 80), +(6, 124, 74), +(6, 125, 77), +(6, 126, 83), +(6, 127, 78), +(6, 128, 96), +(6, 129, 66), +(6, 130, 93), +(6, 131, 65), +(6, 132, 76), +(6, 133, 82), +(6, 134, 65), +(6, 135, 73), +(6, 136, 67), +(6, 137, 89), +(6, 138, 88), +(6, 139, 84), +(6, 140, 99), +(6, 141, 88), +(6, 142, 90), +(6, 143, 70), +(6, 144, 76), +(6, 145, 66), +(6, 146, 99), +(6, 147, 91), +(6, 148, 80), +(6, 149, 91), +(6, 150, 79), +(6, 151, 99), +(6, 152, 80), +(6, 153, 72), +(6, 154, 67), +(6, 155, 86), +(6, 156, 80), +(6, 157, 67), +(6, 158, 96), +(6, 159, 86), +(6, 160, 86), +(6, 161, 86), +(6, 162, 87), +(6, 163, 88), +(6, 164, 89), +(6, 165, 85), +(6, 166, 91), +(6, 167, 83), +(6, 168, 93), +(6, 169, 90), +(6, 170, 73), +(6, 171, 96), +(6, 172, 87), +(6, 173, 73), +(6, 174, 82), +(6, 175, 95), +(6, 176, 75), +(6, 177, 86), +(6, 178, 92), +(6, 179, 74), +(6, 180, 77), +(6, 181, 80), +(6, 182, 70), +(6, 183, 67), +(6, 184, 93), +(6, 185, 92), +(6, 186, 94), +(6, 187, 89), +(6, 188, 88), +(6, 189, 69), +(6, 190, 79), +(6, 191, 72), +(6, 192, 68), +(6, 193, 88), +(6, 194, 78), +(6, 195, 96), +(6, 196, 74), +(6, 197, 93), +(6, 198, 91), +(6, 199, 88), +(6, 200, 76), +(6, 201, 66), +(6, 202, 97), +(6, 203, 78), +(6, 204, 87), +(6, 205, 88), +(6, 206, 79), +(6, 207, 90), +(6, 208, 89), +(6, 209, 66), +(6, 210, 76), +(6, 211, 67), +(6, 212, 91), +(6, 213, 80), +(6, 214, 88), +(6, 215, 85), +(6, 216, 74), +(6, 217, 86), +(6, 218, 76), +(6, 219, 71), +(6, 220, 68), +(6, 221, 82), +(6, 222, 67), +(6, 223, 71), +(6, 224, 95), +(6, 225, 87), +(6, 226, 73), +(6, 227, 96), +(6, 228, 88), +(6, 229, 71), +(6, 230, 65), +(6, 231, 76), +(6, 232, 77), +(6, 233, 71), +(6, 234, 70), +(6, 235, 68), +(6, 236, 98), +(6, 237, 68), +(6, 238, 72), +(6, 239, 81), +(6, 240, 88), +(6, 241, 91), +(6, 242, 80), +(6, 243, 74), +(6, 244, 94), +(6, 245, 91), +(6, 246, 78), +(6, 247, 75), +(6, 248, 93), +(6, 249, 74), +(6, 250, 83), +(6, 251, 76), +(6, 252, 87), +(6, 253, 71), +(6, 254, 67), +(6, 255, 90), +(6, 256, 73), +(6, 257, 73), +(6, 258, 86), +(6, 259, 76), +(6, 260, 93), +(6, 261, 68), +(6, 262, 81), +(6, 263, 89), +(6, 264, 71), +(6, 265, 93), +(6, 266, 81), +(6, 267, 79), +(6, 268, 76), +(6, 269, 89), +(6, 270, 69), +(6, 271, 96), +(6, 272, 79), +(6, 273, 82), +(6, 274, 87), +(6, 275, 93), +(6, 276, 69), +(6, 277, 86), +(6, 278, 78), +(6, 279, 82), +(6, 280, 96), +(6, 281, 90), +(6, 282, 70), +(6, 283, 93), +(6, 284, 95), +(6, 285, 79), +(6, 286, 78), +(6, 287, 95), +(6, 288, 66), +(6, 289, 68), +(6, 290, 91), +(6, 291, 83), +(6, 292, 72), +(6, 293, 70), +(6, 294, 82), +(6, 295, 85), +(6, 296, 69), +(6, 297, 81), +(6, 298, 79), +(6, 299, 75), +(6, 300, 69), +(6, 301, 94), +(6, 302, 72), +(6, 303, 99), +(6, 304, 73), +(6, 305, 88), +(6, 306, 69), +(6, 307, 76), +(6, 308, 89), +(6, 309, 96), +(6, 310, 99), +(6, 311, 97), +(6, 312, 96), +(6, 313, 98), +(6, 314, 95), +(6, 315, 97), +(6, 316, 66), +(6, 317, 74), +(6, 318, 73), +(6, 319, 66), +(6, 320, 87), +(6, 321, 72), +(6, 322, 83), +(6, 323, 92), +(6, 324, 70), +(6, 325, 93), +(6, 326, 85), +(6, 327, 86), +(6, 328, 80), +(6, 329, 86), +(6, 330, 91), +(6, 331, 95), +(6, 332, 68), +(6, 333, 93), +(6, 334, 86), +(6, 335, 71), +(6, 336, 70), +(6, 337, 83), +(6, 338, 74), +(6, 339, 83), +(6, 340, 78), +(6, 341, 74), +(6, 342, 89), +(6, 343, 87), +(6, 344, 83), +(6, 345, 82), +(6, 346, 86), +(6, 347, 67), +(6, 348, 65), +(6, 349, 71), +(6, 350, 76), +(6, 351, 97), +(6, 352, 99), +(6, 353, 77), +(6, 354, 93), +(6, 355, 78), +(6, 356, 99), +(6, 357, 96), +(6, 358, 86), +(6, 359, 75), +(6, 360, 65), +(6, 361, 89), +(6, 362, 97), +(6, 363, 66), +(6, 364, 78), +(6, 365, 74), +(6, 366, 66), +(6, 367, 78), +(6, 368, 91), +(6, 369, 81), +(6, 370, 94), +(6, 371, 70), +(6, 372, 77), +(6, 373, 93), +(6, 374, 72), +(6, 375, 76), +(6, 376, 90), +(6, 377, 94), +(6, 378, 77), +(6, 379, 71), +(6, 380, 77), +(6, 381, 66), +(6, 382, 85), +(6, 383, 68), +(6, 384, 81), +(6, 385, 75), +(6, 386, 80), +(6, 387, 83), +(6, 388, 70), +(6, 389, 83), +(6, 390, 82), +(6, 391, 79), +(6, 392, 81), +(6, 393, 78), +(6, 394, 71), +(6, 395, 91), +(6, 396, 89), +(6, 397, 95), +(6, 398, 69), +(6, 399, 94), +(6, 400, 75), +(6, 401, 97), +(6, 402, 75), +(6, 403, 88), +(6, 404, 70), +(6, 405, 91), +(6, 406, 82), +(6, 407, 82), +(6, 408, 66), +(6, 409, 94), +(6, 410, 83), +(6, 411, 74), +(6, 412, 84), +(6, 413, 80), +(6, 414, 95), +(6, 415, 66), +(6, 416, 93), +(6, 417, 86), +(6, 418, 72), +(6, 419, 79), +(6, 420, 84), +(6, 421, 84), +(6, 422, 97), +(6, 423, 87), +(6, 424, 81), +(6, 425, 91), +(6, 426, 98), +(6, 427, 91), +(6, 428, 85), +(6, 429, 77), +(6, 430, 99), +(6, 431, 79), +(6, 432, 78), +(6, 433, 92), +(6, 434, 78), +(6, 435, 82), +(6, 436, 85), +(6, 437, 77), +(6, 438, 95), +(6, 439, 73), +(6, 440, 90), +(6, 441, 93), +(6, 442, 77), +(6, 443, 75), +(6, 444, 68), +(6, 445, 70), +(6, 446, 85), +(6, 447, 90), +(6, 448, 74), +(6, 449, 96), +(6, 450, 74), +(6, 451, 66), +(6, 452, 74), +(6, 453, 68), +(6, 454, 79), +(6, 455, 81), +(6, 456, 77), +(6, 457, 92), +(6, 458, 72), +(6, 459, 95), +(6, 460, 91), +(6, 461, 69), +(6, 462, 70), +(6, 463, 65), +(6, 464, 94), +(6, 465, 80), +(6, 466, 85), +(6, 467, 81), +(6, 468, 92), +(6, 469, 83), +(6, 470, 71), +(6, 471, 72), +(6, 472, 65), +(6, 473, 98), +(6, 474, 93), +(6, 475, 73), +(6, 476, 68), +(6, 477, 86), +(6, 478, 84), +(6, 479, 97), +(6, 480, 97), +(6, 481, 74), +(6, 482, 74), +(6, 483, 89), +(6, 484, 79), +(6, 485, 77), +(6, 486, 84), +(6, 487, 92), +(6, 488, 93), +(6, 489, 78), +(6, 490, 73), +(6, 491, 69), +(6, 492, 85), +(6, 493, 91), +(6, 494, 72), +(6, 495, 83), +(6, 496, 74), +(6, 497, 69), +(6, 498, 74), +(6, 499, 79), +(6, 500, 97), +(6, 501, 96), +(6, 502, 94), +(6, 503, 66), +(6, 504, 98), +(6, 505, 98), +(6, 506, 84), +(6, 507, 87), +(6, 508, 71), +(6, 509, 99), +(6, 510, 99), +(6, 511, 65), +(6, 512, 84), +(6, 513, 66), +(6, 514, 78), +(6, 515, 71), +(6, 516, 74), +(6, 517, 70), +(6, 518, 89), +(6, 519, 94), +(6, 520, 75), +(6, 521, 96), +(6, 522, 88), +(6, 523, 74), +(6, 524, 92), +(6, 525, 92), +(6, 526, 84), +(6, 527, 87), +(6, 528, 82), +(6, 529, 99), +(6, 530, 94), +(6, 531, 67), +(6, 532, 89), +(6, 533, 82), +(6, 534, 71), +(6, 535, 98), +(6, 536, 72), +(6, 537, 96), +(6, 538, 72), +(6, 539, 78), +(6, 540, 84), +(6, 541, 88), +(6, 542, 93), +(6, 543, 68), +(6, 544, 80), +(6, 545, 87), +(6, 546, 73), +(6, 547, 69), +(6, 548, 83), +(6, 549, 73), +(6, 550, 91), +(6, 551, 83), +(6, 552, 84), +(6, 553, 82), +(6, 554, 71), +(6, 555, 77), +(6, 556, 70), +(6, 557, 88), +(6, 558, 67), +(6, 559, 97), +(6, 560, 92), +(6, 561, 97), +(6, 562, 80), +(6, 563, 74), +(6, 564, 92), +(6, 1024, 71), +(6, 1025, 85), +(6, 1026, 69), +(6, 1027, 83), +(6, 1028, 81), +(6, 1029, 85), +(6, 1030, 73), +(6, 1031, 78), +(6, 1032, 85), +(6, 1033, 82), +(6, 1034, 83), +(6, 1035, 99), +(6, 1036, 69), +(6, 1037, 85), +(6, 1038, 75), +(6, 1039, 87), +(6, 1040, 96), +(6, 1041, 71), +(6, 1042, 77), +(6, 1043, 83), +(6, 1044, 77), +(6, 1045, 80), +(6, 1046, 88), +(6, 1047, 71), +(6, 1048, 92), +(6, 1049, 76), +(6, 1050, 72), +(6, 1051, 82), +(6, 1052, 68), +(6, 1053, 70), +(6, 1054, 67), +(6, 1055, 68), +(6, 1056, 66), +(6, 1057, 67), +(6, 1058, 97), +(6, 1059, 77), +(6, 1060, 97), +(6, 1061, 90), +(6, 1062, 98), +(6, 1063, 88), +(6, 1064, 89), +(6, 1065, 85), +(6, 1066, 77), +(6, 1067, 94), +(6, 1068, 82), +(6, 1069, 91), +(6, 1070, 96), +(6, 1071, 84), +(6, 1072, 86), +(6, 1073, 78), +(6, 1074, 73), +(6, 1075, 70), +(6, 1076, 85), +(6, 1077, 90), +(6, 1078, 77), +(6, 1079, 69), +(6, 1080, 94), +(6, 1081, 81), +(6, 1082, 90), +(6, 1083, 90), +(6, 1084, 76), +(6, 1085, 87), +(6, 1086, 87), +(6, 1087, 87), +(6, 1088, 99), +(6, 1089, 73), +(6, 1090, 70), +(6, 1091, 75), +(6, 1092, 85), +(6, 1093, 85), +(6, 1094, 80), +(6, 1095, 69), +(6, 1096, 85), +(6, 1097, 75), +(6, 1098, 71), +(6, 1099, 66), +(6, 1100, 82), +(6, 1101, 87), +(6, 1102, 90), +(6, 1103, 73), +(6, 1104, 73), +(6, 1105, 75), +(6, 1106, 90), +(6, 1107, 78), +(6, 1108, 83), +(6, 1109, 69), +(6, 1110, 93), +(6, 1111, 89), +(6, 1112, 78), +(6, 1113, 88), +(6, 1114, 89), +(6, 1115, 97), +(6, 1116, 82), +(6, 1117, 65), +(6, 1118, 94), +(6, 1119, 96), +(6, 1120, 70), +(6, 1121, 87), +(6, 1122, 83), +(6, 1123, 93), +(6, 1124, 83), +(6, 1125, 68), +(6, 1126, 70), +(6, 1127, 73), +(6, 1128, 90), +(6, 1129, 93), +(6, 1130, 70), +(6, 1131, 91), +(6, 1132, 76), +(6, 1133, 97), +(6, 1134, 87), +(6, 1135, 79), +(6, 1136, 81), +(6, 1137, 93), +(6, 1138, 98), +(6, 1139, 94), +(6, 1140, 82), +(6, 1141, 99), +(6, 1142, 78), +(6, 1143, 79), +(6, 1144, 66), +(6, 1145, 89), +(6, 1146, 81), +(6, 1147, 98), +(6, 1148, 94), +(6, 1149, 82), +(6, 1150, 96), +(6, 1151, 87), +(6, 1152, 78), +(6, 1153, 83), +(6, 1154, 84), +(6, 1155, 83), +(6, 1156, 88), +(6, 1157, 80), +(6, 1158, 76), +(6, 1159, 98), +(6, 1160, 75), +(6, 1161, 86), +(6, 1162, 88), +(6, 1163, 72), +(6, 1164, 97), +(6, 1165, 97), +(6, 1166, 94), +(6, 1167, 76), +(6, 1168, 82), +(6, 1169, 76), +(6, 1170, 72), +(6, 1171, 70), +(6, 1172, 77), +(6, 1173, 79), +(6, 1174, 91), +(6, 1175, 82), +(6, 1176, 99), +(6, 1177, 67), +(6, 1178, 76), +(6, 1179, 68), +(6, 1180, 65), +(6, 1181, 75), +(6, 1182, 92), +(6, 1183, 77), +(6, 1184, 99), +(6, 1185, 90), +(6, 1186, 70), +(6, 1187, 72), +(6, 1188, 81), +(6, 1189, 76), +(6, 1190, 70), +(6, 1191, 78), +(6, 1192, 90), +(6, 1193, 96), +(6, 1194, 99), +(6, 1195, 94), +(6, 1196, 98), +(6, 1197, 70), +(6, 1198, 82), +(6, 1199, 89), +(6, 1200, 66), +(6, 1201, 98), +(6, 1202, 77), +(6, 1203, 84), +(6, 1204, 77), +(6, 1205, 97), +(6, 1206, 93), +(6, 1207, 88), +(6, 1208, 88), +(6, 1209, 72), +(6, 1210, 88), +(6, 1211, 91), +(6, 1212, 84), +(6, 1213, 92), +(6, 1214, 71), +(6, 1215, 91), +(6, 1216, 71), +(6, 1217, 82), +(6, 1218, 76), +(6, 1219, 70), +(6, 1220, 90), +(6, 1221, 68), +(6, 1222, 65), +(6, 1223, 86), +(6, 1224, 74), +(6, 1225, 82), +(6, 1226, 87), +(6, 1227, 79), +(6, 1228, 96), +(6, 1229, 72), +(6, 1230, 66), +(6, 1231, 78), +(6, 1232, 86), +(6, 1233, 98), +(6, 1234, 80), +(6, 1235, 96), +(6, 1236, 73), +(6, 1237, 78), +(6, 1238, 66), +(6, 1239, 67), +(6, 1240, 98), +(6, 1241, 68), +(6, 1242, 98), +(6, 1243, 98), +(6, 1244, 86), +(6, 1245, 97), +(6, 1246, 67), +(6, 1247, 93), +(6, 1248, 72), +(6, 1249, 73), +(6, 1250, 97), +(6, 1251, 70), +(6, 1252, 94), +(6, 1253, 90), +(6, 1254, 92), +(6, 1255, 67), +(6, 1256, 94), +(6, 1257, 90), +(6, 1258, 72), +(6, 1259, 84), +(6, 1260, 92), +(6, 1261, 66), +(6, 1262, 97), +(6, 1263, 71), +(6, 1264, 97), +(6, 1265, 66), +(6, 1266, 90), +(6, 1267, 90), +(6, 1268, 79), +(6, 1269, 65), +(6, 1270, 79), +(6, 1271, 67), +(6, 1272, 86), +(6, 1273, 78), +(6, 1274, 85), +(6, 1275, 83), +(6, 1276, 75), +(6, 1277, 87), +(6, 1278, 71), +(6, 1279, 83), +(6, 1280, 82), +(6, 1281, 91), +(6, 1282, 89), +(6, 1283, 77), +(6, 1284, 94), +(6, 1285, 89), +(6, 1286, 77), +(6, 1287, 82), +(6, 1288, 78), +(6, 1289, 71), +(6, 1290, 78), +(6, 1291, 68), +(6, 1292, 94), +(6, 1293, 84), +(6, 1294, 92), +(6, 1295, 81), +(6, 1296, 85), +(6, 1297, 66), +(6, 1298, 75), +(6, 1299, 97), +(6, 1300, 83), +(6, 1301, 73), +(6, 1302, 80), +(6, 1303, 82), +(6, 1304, 77), +(6, 1305, 90), +(6, 1306, 98), +(6, 1307, 71), +(6, 1308, 79), +(6, 1309, 67), +(6, 1310, 66), +(6, 1311, 94), +(6, 1312, 89), +(6, 1313, 85), +(6, 1314, 66), +(6, 1315, 91), +(6, 1316, 90), +(6, 1317, 82), +(6, 1318, 82), +(6, 1319, 71), +(6, 1320, 96), +(6, 1321, 91), +(6, 1322, 72), +(6, 1323, 66), +(6, 1324, 88), +(6, 1325, 80), +(6, 1326, 70), +(6, 1327, 94), +(6, 1328, 67), +(6, 1329, 83), +(6, 1330, 83), +(6, 1331, 77), +(6, 1332, 85), +(6, 1333, 97), +(6, 1334, 71), +(6, 1335, 68), +(6, 1336, 93), +(6, 1337, 96), +(6, 1338, 87), +(6, 1339, 73), +(6, 1340, 68), +(6, 1341, 75), +(6, 1342, 71), +(6, 1343, 85), +(6, 1344, 76), +(6, 1345, 70), +(6, 1346, 99), +(6, 1347, 79), +(6, 1348, 67), +(6, 1349, 84), +(6, 1350, 80), +(6, 1351, 82), +(6, 1352, 99), +(6, 1353, 80), +(6, 1354, 71), +(6, 1355, 89), +(6, 1356, 70), +(6, 1357, 87), +(6, 1358, 91), +(6, 1359, 72), +(6, 1360, 66), +(6, 1361, 85), +(6, 1362, 92), +(6, 1363, 74), +(6, 1364, 71), +(6, 1365, 73), +(6, 1366, 87), +(6, 1367, 78), +(6, 1368, 72), +(6, 1369, 94), +(6, 1370, 67), +(6, 1371, 80), +(6, 1372, 81), +(6, 1373, 70), +(6, 1374, 99), +(6, 1375, 80), +(6, 1376, 81), +(6, 1377, 91), +(6, 1378, 72), +(6, 1379, 96), +(6, 1380, 69), +(6, 1381, 77), +(6, 1382, 66), +(6, 1383, 79), +(6, 1384, 86), +(6, 1385, 82), +(6, 1386, 91), +(6, 1387, 84), +(6, 1388, 79), +(6, 1389, 74), +(6, 1390, 70), +(6, 1391, 83), +(6, 1392, 70), +(6, 1393, 67), +(6, 1394, 90), +(6, 1395, 84), +(6, 1396, 90), +(6, 1397, 88), +(6, 1398, 80), +(6, 1399, 85), +(6, 1400, 77), +(6, 1401, 87), +(6, 1402, 85), +(6, 1403, 72), +(6, 1404, 71), +(6, 1405, 89), +(6, 1406, 88), +(6, 1407, 92), +(6, 1408, 82), +(6, 1409, 91), +(6, 1410, 85), +(6, 1411, 85), +(6, 1412, 82), +(6, 1413, 93), +(6, 1414, 73), +(6, 1415, 89), +(6, 1416, 97), +(6, 1417, 74), +(6, 1418, 65), +(6, 1419, 82), +(6, 1420, 98), +(6, 1421, 95), +(6, 1422, 86), +(6, 1423, 91), +(6, 1424, 84), +(6, 1425, 86), +(6, 1426, 68), +(6, 1427, 70), +(6, 1428, 72), +(6, 1429, 89), +(6, 1430, 72), +(6, 1431, 95), +(6, 1432, 98), +(6, 1433, 93), +(6, 1434, 74), +(6, 1435, 90), +(6, 1436, 70), +(6, 1437, 95), +(6, 1438, 79), +(6, 1439, 69), +(6, 1440, 96), +(6, 1441, 72), +(6, 1442, 72), +(6, 1443, 70), +(6, 1444, 82), +(6, 1445, 90), +(6, 1446, 79), +(6, 1447, 83), +(6, 1448, 99), +(6, 1449, 96), +(6, 1450, 94), +(6, 1451, 87), +(6, 1452, 92), +(6, 1453, 95), +(6, 1454, 85), +(6, 1455, 66), +(6, 1456, 71), +(6, 1457, 88), +(6, 1458, 91), +(6, 1459, 68), +(6, 1460, 93), +(6, 1461, 97), +(6, 1462, 75), +(6, 1463, 93), +(6, 1464, 82), +(6, 1465, 85), +(6, 1466, 86), +(6, 1467, 70), +(6, 1468, 68), +(6, 1469, 80), +(6, 1470, 71), +(6, 1471, 95), +(6, 1472, 75), +(6, 1473, 74), +(6, 1474, 72), +(6, 1475, 66), +(6, 1476, 81), +(6, 1477, 93), +(6, 1478, 82), +(6, 1479, 80), +(6, 1480, 77), +(6, 1481, 91), +(6, 1482, 72), +(6, 1483, 85), +(6, 1484, 89), +(6, 1485, 99), +(6, 1486, 87), +(6, 1487, 79), +(6, 1488, 65), +(6, 1489, 89), +(6, 1490, 92), +(6, 1491, 75), +(6, 1492, 94), +(6, 1493, 88), +(6, 1494, 70), +(6, 1495, 91), +(6, 1496, 84), +(6, 1497, 94), +(6, 1498, 75), +(6, 1499, 70), +(6, 1500, 70), +(6, 1501, 85), +(6, 1502, 82), +(6, 1503, 86), +(6, 1504, 74), +(6, 1505, 72), +(6, 1506, 81), +(6, 1507, 95), +(6, 1508, 90), +(6, 1509, 85), +(6, 1510, 81), +(6, 1511, 97), +(6, 1512, 98), +(6, 1513, 67), +(6, 1514, 97), +(6, 1515, 87), +(6, 1516, 78), +(6, 1517, 89), +(6, 1518, 90), +(6, 1519, 83), +(6, 1520, 97), +(6, 1521, 86), +(6, 1522, 93), +(6, 1523, 86), +(6, 1524, 83), +(6, 1525, 75), +(6, 1526, 78), +(6, 1527, 96), +(6, 1528, 70), +(6, 1529, 75), +(6, 1530, 81), +(6, 1531, 85), +(6, 1532, 81), +(6, 1533, 75), +(6, 1534, 71), +(6, 1535, 75), +(6, 1536, 69), +(6, 1537, 95), +(6, 1538, 66), +(6, 1539, 85), +(6, 1540, 83), +(6, 1541, 85), +(6, 1542, 83), +(6, 1543, 73), +(6, 1544, 99), +(6, 1545, 87), +(6, 1546, 82), +(6, 1547, 78), +(6, 1548, 76), +(6, 1549, 94), +(6, 1550, 92), +(6, 1551, 77), +(6, 1552, 81), +(6, 1553, 66), +(6, 1554, 68), +(6, 1555, 82), +(6, 1556, 92), +(6, 1557, 84), +(6, 1558, 67), +(6, 1559, 89), +(6, 1560, 96), +(6, 1561, 81), +(6, 1562, 92), +(6, 1563, 82), +(6, 1564, 70), +(6, 1565, 81), +(6, 1566, 97), +(6, 1567, 65), +(6, 1568, 76), +(6, 1569, 94), +(6, 1570, 76), +(6, 1571, 72), +(6, 1572, 99), +(6, 1573, 89), +(6, 1574, 84), +(6, 1575, 68), +(6, 1576, 79), +(6, 1577, 75), +(6, 1578, 79), +(6, 1579, 89), +(6, 1580, 80), +(6, 1581, 82), +(6, 1582, 68), +(6, 1583, 78), +(6, 1584, 90), +(6, 1585, 98), +(6, 1586, 93), +(6, 1587, 99), +(6, 2047, 78), +(6, 2048, 89), +(6, 2049, 83), +(6, 2050, 99), +(6, 2051, 77), +(6, 2052, 79), +(6, 2053, 80), +(6, 2054, 71), +(6, 2055, 71), +(6, 2056, 95), +(6, 2057, 94), +(6, 2058, 94), +(6, 2059, 68), +(6, 2060, 72), +(6, 2061, 65), +(6, 2062, 74), +(6, 2063, 91), +(6, 2064, 91), +(6, 2065, 95), +(6, 2066, 98), +(6, 2067, 69), +(6, 2068, 98), +(6, 2069, 71), +(6, 2070, 72), +(6, 2071, 96), +(6, 2072, 67), +(6, 2073, 69), +(6, 2074, 70), +(6, 2075, 71), +(6, 2076, 99), +(6, 2077, 77), +(6, 2078, 94), +(6, 2079, 86), +(6, 2080, 97), +(6, 2081, 74), +(6, 2082, 82), +(6, 2083, 96), +(6, 2084, 84), +(6, 2085, 84), +(6, 2086, 95), +(6, 2087, 80), +(6, 2088, 91), +(6, 2089, 69), +(6, 2090, 96), +(6, 2091, 74), +(6, 2092, 74), +(6, 2093, 81), +(6, 2094, 72), +(6, 2095, 70), +(6, 2096, 78), +(6, 2097, 77), +(6, 2098, 85), +(6, 2099, 68), +(6, 2100, 68), +(6, 2101, 73), +(6, 2102, 98), +(6, 2103, 68), +(6, 2104, 89), +(6, 2105, 93), +(6, 2106, 98), +(6, 2107, 97), +(6, 2108, 95), +(6, 2109, 71), +(6, 2110, 95), +(6, 2111, 80), +(6, 2112, 81), +(6, 2113, 81), +(6, 2114, 99), +(6, 2115, 94), +(6, 2116, 79), +(6, 2117, 85), +(6, 2118, 96), +(6, 2119, 77), +(6, 2120, 68), +(6, 2121, 79), +(6, 2122, 85), +(6, 2123, 84), +(6, 2124, 75), +(6, 2125, 88), +(6, 2126, 80), +(6, 2127, 91), +(6, 2128, 82), +(6, 2129, 91), +(6, 2130, 67), +(6, 2131, 75), +(6, 2132, 79), +(6, 2133, 74), +(6, 2134, 76), +(6, 2135, 77), +(6, 2136, 92), +(6, 2137, 84), +(6, 2138, 67), +(6, 2139, 90), +(6, 2140, 89), +(6, 2141, 97), +(6, 2142, 69), +(6, 2143, 72), +(6, 2144, 65), +(6, 2145, 93), +(6, 2146, 90), +(6, 2147, 80), +(6, 2148, 84), +(6, 2149, 73), +(6, 2150, 66), +(6, 2151, 79), +(6, 2152, 95), +(6, 2153, 77), +(6, 2154, 81), +(6, 2155, 66), +(6, 2156, 71), +(6, 2157, 97), +(6, 2158, 87), +(6, 2159, 72), +(6, 2160, 93), +(6, 2161, 80), +(6, 2162, 90), +(6, 2163, 66), +(6, 2164, 65), +(6, 2165, 66), +(6, 2166, 82), +(6, 2167, 92), +(6, 2168, 76), +(6, 2169, 69), +(6, 2170, 86), +(6, 2171, 89), +(6, 2172, 72), +(6, 2173, 89), +(6, 2174, 94), +(6, 2175, 72), +(6, 2176, 89), +(6, 2177, 66), +(6, 2178, 89), +(6, 2179, 77), +(6, 2180, 89), +(6, 2181, 82), +(6, 2182, 72), +(6, 2183, 80), +(6, 2184, 94), +(6, 2185, 77), +(6, 2186, 68), +(6, 2187, 81), +(6, 2188, 93), +(6, 2189, 81), +(6, 2190, 78), +(6, 2191, 73), +(6, 2192, 80), +(6, 2193, 83), +(6, 2194, 89), +(6, 2195, 72), +(6, 2196, 99), +(6, 2197, 91), +(6, 2198, 92), +(6, 2199, 95), +(6, 2200, 95), +(6, 2201, 82), +(6, 2202, 90), +(6, 2203, 78), +(6, 2204, 82), +(6, 2205, 71), +(6, 2206, 80), +(6, 2207, 88), +(6, 2208, 96), +(6, 2209, 86), +(6, 2210, 82), +(6, 2211, 81), +(6, 2212, 83), +(6, 2213, 66), +(6, 2214, 67), +(6, 2215, 76), +(6, 2216, 66), +(6, 2217, 93), +(6, 2218, 72), +(6, 2219, 92), +(6, 2220, 71), +(6, 2221, 83), +(6, 2222, 96), +(6, 2223, 82), +(6, 2224, 76), +(6, 2225, 79), +(6, 2226, 99), +(6, 2227, 96), +(6, 2228, 81), +(6, 2229, 88), +(6, 2230, 79), +(6, 2231, 79), +(6, 2232, 91), +(6, 2233, 70), +(6, 2234, 85), +(6, 2235, 96), +(6, 2236, 68), +(6, 2237, 88), +(6, 2238, 92), +(6, 2239, 80), +(6, 2240, 76), +(6, 2241, 69), +(6, 2242, 70), +(6, 2243, 95), +(6, 2244, 99), +(6, 2245, 99), +(6, 2246, 69), +(6, 2247, 91), +(6, 2248, 95), +(6, 2249, 77), +(6, 2250, 71), +(6, 2251, 83), +(6, 2252, 76), +(6, 2253, 96), +(6, 2254, 84), +(6, 2255, 70), +(6, 2256, 85), +(6, 2257, 74), +(6, 2258, 69), +(6, 2259, 95), +(6, 2260, 65), +(6, 2261, 75), +(6, 2262, 76), +(6, 2263, 91), +(6, 2264, 94), +(6, 2265, 84), +(6, 2266, 86), +(6, 2267, 73), +(6, 2268, 67), +(6, 2269, 93), +(6, 2270, 94), +(6, 2271, 89), +(6, 2272, 99), +(6, 2273, 73), +(6, 2274, 94), +(6, 2275, 94), +(6, 2276, 70), +(6, 2277, 90), +(6, 2278, 75), +(6, 2279, 81), +(6, 2280, 80), +(6, 2281, 65), +(6, 2282, 90), +(6, 2283, 82), +(6, 2284, 66), +(6, 2285, 91), +(6, 2286, 74), +(6, 2287, 65), +(6, 2288, 92), +(6, 2289, 75), +(6, 2290, 98), +(6, 2291, 81), +(6, 2292, 89), +(6, 2293, 71), +(6, 2294, 77), +(6, 2295, 69), +(6, 2296, 89), +(6, 2297, 97), +(6, 2298, 69), +(6, 2299, 71), +(6, 2300, 74), +(6, 2301, 71), +(6, 2302, 71), +(6, 2303, 85), +(6, 2304, 75), +(6, 2305, 99), +(6, 2306, 97), +(6, 2307, 77), +(6, 2308, 72), +(6, 2309, 94), +(6, 2310, 93), +(6, 2311, 80), +(6, 2312, 75), +(6, 2313, 88), +(6, 2314, 74), +(6, 2315, 95), +(6, 2316, 97), +(6, 2317, 94), +(6, 2318, 67), +(6, 2319, 88), +(6, 2320, 86), +(6, 2321, 78), +(6, 2322, 97), +(6, 2323, 87), +(6, 2324, 98), +(6, 2325, 70), +(6, 2326, 80), +(6, 2327, 85), +(6, 2328, 71), +(6, 2329, 90), +(6, 2330, 85), +(6, 2331, 75), +(6, 2332, 98), +(6, 2333, 88), +(6, 2334, 96), +(6, 2335, 88), +(6, 2336, 80), +(6, 2337, 81), +(6, 2338, 69), +(6, 2339, 93), +(6, 2340, 73), +(6, 2341, 65), +(6, 2342, 86), +(6, 2343, 69), +(6, 2344, 65), +(6, 2345, 89), +(6, 2346, 83), +(6, 2347, 80), +(6, 2348, 80), +(6, 2349, 94), +(6, 2350, 88), +(6, 2351, 87), +(6, 2352, 82), +(6, 2353, 80), +(6, 2354, 85), +(6, 2355, 84), +(6, 2356, 73), +(6, 2357, 67), +(6, 2358, 93), +(6, 2359, 79), +(6, 2360, 65), +(6, 2361, 90), +(6, 2362, 98), +(6, 2363, 81), +(6, 2364, 98), +(6, 2365, 68), +(6, 2366, 75), +(6, 2367, 99), +(6, 2368, 93), +(6, 2369, 85), +(6, 2370, 97), +(6, 2371, 97), +(6, 2372, 69), +(6, 2373, 88), +(6, 2374, 83), +(6, 2375, 82), +(6, 2376, 77), +(6, 2377, 85), +(6, 2378, 96), +(6, 2379, 99), +(6, 2380, 82), +(6, 2381, 84), +(6, 2382, 84), +(6, 2383, 80), +(6, 2384, 93), +(6, 2385, 90), +(6, 2386, 81), +(6, 2387, 80), +(6, 2388, 90), +(6, 2389, 78), +(6, 2390, 81), +(6, 2391, 85), +(6, 2392, 83), +(6, 2393, 76), +(6, 2394, 86), +(6, 2395, 92), +(6, 2396, 94), +(6, 2397, 80), +(6, 2398, 66), +(6, 2399, 77), +(6, 2400, 96), +(6, 2401, 87), +(6, 2402, 91), +(6, 2403, 93), +(6, 2404, 74), +(6, 2405, 84), +(6, 2406, 69), +(6, 2407, 96), +(6, 2408, 77), +(6, 2409, 86), +(6, 2410, 95), +(6, 2411, 68), +(6, 2412, 87), +(6, 2413, 94), +(6, 2414, 83), +(6, 2415, 84), +(6, 2416, 65), +(6, 2417, 96), +(6, 2418, 97), +(6, 2419, 79), +(6, 2420, 97), +(6, 2421, 99), +(6, 2422, 81), +(6, 2423, 81), +(6, 2424, 91), +(6, 2425, 77), +(6, 2426, 75), +(6, 2427, 90), +(6, 2428, 84), +(6, 2429, 76), +(6, 2430, 80), +(6, 2431, 97), +(6, 2432, 88), +(6, 2433, 99), +(6, 2434, 84), +(6, 2435, 99), +(6, 2436, 96), +(6, 2437, 99), +(6, 2438, 94), +(6, 2439, 85), +(6, 2440, 94), +(6, 2441, 87), +(6, 2442, 92), +(6, 2443, 67), +(6, 2444, 85), +(6, 2445, 92), +(6, 2446, 71), +(6, 2447, 92), +(6, 2448, 89), +(6, 2449, 78), +(6, 2450, 83), +(6, 2451, 66), +(6, 2452, 79), +(6, 2453, 90), +(6, 2454, 99), +(6, 2455, 68), +(6, 2456, 76), +(6, 2457, 85), +(6, 2458, 78), +(6, 2459, 84), +(6, 2460, 81), +(6, 2461, 67), +(6, 2462, 69), +(6, 2463, 71), +(6, 2464, 86), +(6, 2465, 86), +(6, 2466, 68), +(6, 2467, 82), +(6, 2468, 79), +(6, 2469, 98), +(6, 2470, 91), +(6, 2471, 65), +(6, 2472, 74), +(6, 2473, 88), +(6, 2474, 79), +(6, 2475, 96), +(6, 2476, 69), +(6, 2477, 98), +(6, 2478, 69), +(6, 2479, 86), +(6, 2480, 98), +(6, 2481, 80), +(6, 2482, 77), +(6, 2483, 93), +(6, 2484, 69), +(6, 2485, 81), +(6, 2486, 80), +(6, 2487, 72), +(6, 2488, 66), +(6, 2489, 77), +(6, 2490, 94), +(6, 2491, 80), +(6, 2492, 66), +(6, 2493, 72), +(6, 2494, 75), +(6, 2495, 97), +(6, 2496, 85), +(6, 2497, 72), +(6, 2498, 65), +(6, 2499, 92), +(6, 2500, 94), +(6, 2501, 80), +(6, 2502, 75), +(6, 2503, 67), +(6, 2504, 93), +(6, 2505, 72), +(6, 2506, 70), +(6, 2507, 71), +(6, 2508, 92), +(6, 2509, 80), +(6, 2510, 71), +(6, 2511, 89), +(6, 2512, 81), +(6, 2513, 69), +(6, 2514, 88), +(6, 2515, 71), +(6, 2516, 70), +(6, 2517, 83), +(6, 2518, 72), +(6, 2519, 71), +(6, 2520, 70), +(6, 2521, 92), +(6, 2522, 92), +(6, 2523, 90), +(6, 2524, 80), +(6, 2525, 69), +(6, 2526, 89), +(6, 2527, 78), +(6, 2528, 82), +(6, 2529, 65), +(6, 2530, 68), +(6, 2531, 66), +(6, 2532, 77), +(6, 2533, 94), +(6, 2534, 89), +(6, 2535, 82), +(6, 2536, 67), +(6, 2537, 97), +(6, 2538, 67), +(6, 2539, 70), +(6, 2540, 77), +(6, 2541, 65), +(6, 2542, 66), +(6, 2543, 97), +(6, 2544, 74), +(6, 2545, 71), +(6, 2546, 98), +(6, 2547, 75), +(6, 2548, 68), +(6, 2549, 79), +(6, 2550, 69), +(6, 2551, 75), +(6, 2552, 81), +(6, 2553, 91), +(6, 2554, 82), +(6, 2555, 97), +(6, 2556, 98), +(6, 2557, 72), +(6, 2558, 90), +(6, 2559, 84), +(6, 2560, 76), +(6, 2561, 75), +(6, 2562, 69), +(6, 2563, 83), +(6, 2564, 93), +(6, 2565, 77), +(6, 2566, 86), +(6, 2567, 88), +(6, 2568, 98), +(6, 2569, 82), +(6, 2570, 84), +(6, 2571, 81), +(6, 2572, 96), +(6, 2573, 89), +(6, 2574, 67), +(6, 2575, 84), +(6, 2576, 87), +(6, 2577, 92), +(6, 2578, 67), +(6, 2579, 78), +(6, 2580, 99), +(6, 2581, 72), +(6, 2582, 69), +(6, 2583, 76), +(6, 2584, 88), +(6, 2585, 65), +(6, 2586, 80), +(6, 2587, 80), +(6, 2588, 83), +(6, 2589, 88), +(6, 2590, 95), +(6, 2591, 91), +(6, 2592, 83), +(6, 2593, 72), +(6, 2594, 77), +(6, 2595, 84), +(6, 2596, 95), +(6, 2597, 97), +(6, 2598, 95), +(6, 2599, 89), +(6, 2600, 82), +(6, 2601, 75), +(6, 2602, 68), +(6, 2603, 72), +(6, 2604, 94), +(6, 2605, 79), +(6, 2606, 96), +(6, 2607, 79), +(6, 2608, 75), +(6, 2609, 84), +(6, 2610, 77), +(7, 1, 83), +(7, 2, 88), +(7, 3, 67), +(7, 4, 94), +(7, 5, 77), +(7, 6, 92), +(7, 7, 66), +(7, 8, 91), +(7, 9, 90), +(7, 10, 69), +(7, 11, 87), +(7, 12, 80), +(7, 13, 94), +(7, 14, 88), +(7, 15, 73), +(7, 16, 66), +(7, 17, 96), +(7, 18, 77), +(7, 19, 94), +(7, 20, 75), +(7, 21, 80), +(7, 22, 72), +(7, 23, 95), +(7, 24, 69), +(7, 25, 76), +(7, 26, 69), +(7, 27, 68), +(7, 28, 90), +(7, 29, 95), +(7, 30, 67), +(7, 31, 78), +(7, 32, 87), +(7, 33, 72), +(7, 34, 87), +(7, 35, 65), +(7, 36, 96), +(7, 37, 84), +(7, 38, 87), +(7, 39, 85), +(7, 40, 67), +(7, 41, 99), +(7, 42, 85), +(7, 43, 69), +(7, 44, 90), +(7, 45, 71), +(7, 46, 93), +(7, 47, 71), +(7, 48, 87), +(7, 49, 83), +(7, 50, 86), +(7, 51, 84), +(7, 52, 76), +(7, 53, 82), +(7, 54, 90), +(7, 55, 67), +(7, 56, 67), +(7, 57, 82), +(7, 58, 67), +(7, 59, 86), +(7, 60, 65), +(7, 61, 85), +(7, 62, 93), +(7, 63, 82), +(7, 64, 96), +(7, 65, 92), +(7, 66, 68), +(7, 67, 74), +(7, 68, 74), +(7, 69, 78), +(7, 70, 76), +(7, 71, 96), +(7, 72, 72), +(7, 73, 83), +(7, 74, 87), +(7, 75, 94), +(7, 76, 88), +(7, 77, 87), +(7, 78, 85), +(7, 79, 95), +(7, 80, 78), +(7, 81, 80), +(7, 82, 68), +(7, 83, 67), +(7, 84, 73), +(7, 85, 95), +(7, 86, 87), +(7, 87, 84), +(7, 88, 84), +(7, 89, 65), +(7, 90, 90), +(7, 91, 80), +(7, 92, 76), +(7, 93, 91), +(7, 94, 97), +(7, 95, 87), +(7, 96, 72), +(7, 97, 65), +(7, 98, 91), +(7, 99, 84), +(7, 100, 96), +(7, 101, 83), +(7, 102, 86), +(7, 103, 84), +(7, 104, 73), +(7, 105, 98), +(7, 106, 89), +(7, 107, 73), +(7, 108, 76), +(7, 109, 93), +(7, 110, 90), +(7, 111, 90), +(7, 112, 77), +(7, 113, 90), +(7, 114, 99), +(7, 115, 75), +(7, 116, 77), +(7, 117, 66), +(7, 118, 79), +(7, 119, 97), +(7, 120, 72), +(7, 121, 68), +(7, 122, 93), +(7, 123, 88), +(7, 124, 99), +(7, 125, 84), +(7, 126, 89), +(7, 127, 90), +(7, 128, 88), +(7, 129, 99), +(7, 130, 92), +(7, 131, 85), +(7, 132, 72), +(7, 133, 94), +(7, 134, 77), +(7, 135, 85), +(7, 136, 98), +(7, 137, 72), +(7, 138, 96), +(7, 139, 65), +(7, 140, 82), +(7, 141, 93), +(7, 142, 75), +(7, 143, 80), +(7, 144, 90), +(7, 145, 76), +(7, 146, 98), +(7, 147, 85), +(7, 148, 73), +(7, 149, 72), +(7, 150, 93), +(7, 151, 79), +(7, 152, 90), +(7, 153, 77), +(7, 154, 68), +(7, 155, 70), +(7, 156, 78), +(7, 157, 96), +(7, 158, 99), +(7, 159, 90), +(7, 160, 90), +(7, 161, 84), +(7, 162, 65), +(7, 163, 72), +(7, 164, 85), +(7, 165, 78), +(7, 166, 76), +(7, 167, 97), +(7, 168, 69), +(7, 169, 94), +(7, 170, 67), +(7, 171, 68), +(7, 172, 84), +(7, 173, 99), +(7, 174, 74), +(7, 175, 71), +(7, 176, 67), +(7, 177, 99), +(7, 178, 79), +(7, 179, 72), +(7, 180, 82), +(7, 181, 92), +(7, 182, 88), +(7, 183, 70), +(7, 184, 79), +(7, 185, 94), +(7, 186, 85), +(7, 187, 74), +(7, 188, 85), +(7, 189, 91), +(7, 190, 80), +(7, 191, 73), +(7, 192, 92), +(7, 193, 95), +(7, 194, 95), +(7, 195, 83), +(7, 196, 76), +(7, 197, 81), +(7, 198, 72), +(7, 199, 85), +(7, 200, 66), +(7, 201, 86), +(7, 202, 75), +(7, 203, 94), +(7, 204, 88), +(7, 205, 94), +(7, 206, 97), +(7, 207, 71), +(7, 208, 72), +(7, 209, 69), +(7, 210, 90), +(7, 211, 74), +(7, 212, 77), +(7, 213, 78), +(7, 214, 97), +(7, 215, 86), +(7, 216, 75), +(7, 217, 84), +(7, 218, 80), +(7, 219, 99), +(7, 220, 83), +(7, 221, 84), +(7, 222, 81), +(7, 223, 74), +(7, 224, 90), +(7, 225, 98), +(7, 226, 85), +(7, 227, 91), +(7, 228, 76), +(7, 229, 81), +(7, 230, 91), +(7, 231, 86), +(7, 232, 82), +(7, 233, 68), +(7, 234, 79), +(7, 235, 67), +(7, 236, 90), +(7, 237, 83), +(7, 238, 68), +(7, 239, 73), +(7, 240, 66), +(7, 241, 67), +(7, 242, 89), +(7, 243, 82), +(7, 244, 87), +(7, 245, 91), +(7, 246, 71), +(7, 247, 79), +(7, 248, 92), +(7, 249, 92), +(7, 250, 91), +(7, 251, 80), +(7, 252, 76), +(7, 253, 82), +(7, 254, 98), +(7, 255, 84), +(7, 256, 75), +(7, 257, 92), +(7, 258, 67), +(7, 259, 82), +(7, 260, 75), +(7, 261, 74), +(7, 262, 96), +(7, 263, 93), +(7, 264, 77), +(7, 265, 90), +(7, 266, 83), +(7, 267, 78), +(7, 268, 96), +(7, 269, 85), +(7, 270, 75), +(7, 271, 90), +(7, 272, 70), +(7, 273, 87), +(7, 274, 75), +(7, 275, 76), +(7, 276, 67), +(7, 277, 75), +(7, 278, 90), +(7, 279, 69), +(7, 280, 72), +(7, 281, 69), +(7, 282, 67), +(7, 283, 95), +(7, 284, 91), +(7, 285, 76), +(7, 286, 96), +(7, 287, 92), +(7, 288, 75), +(7, 289, 87), +(7, 290, 98), +(7, 291, 70), +(7, 292, 65), +(7, 293, 81), +(7, 294, 84), +(7, 295, 79), +(7, 296, 83), +(7, 297, 66), +(7, 298, 68), +(7, 299, 84), +(7, 300, 85), +(7, 301, 82), +(7, 302, 99), +(7, 303, 76), +(7, 304, 82), +(7, 305, 94), +(7, 306, 73), +(7, 307, 71), +(7, 308, 94), +(7, 309, 95), +(7, 310, 72), +(7, 311, 77), +(7, 312, 87), +(7, 313, 86), +(7, 314, 96), +(7, 315, 94), +(7, 316, 87), +(7, 317, 71), +(7, 318, 87), +(7, 319, 88), +(7, 320, 87), +(7, 321, 99), +(7, 322, 82), +(7, 323, 82), +(7, 324, 74), +(7, 325, 73), +(7, 326, 79), +(7, 327, 67), +(7, 328, 74), +(7, 329, 66), +(7, 330, 65), +(7, 331, 91), +(7, 332, 84), +(7, 333, 98), +(7, 334, 74), +(7, 335, 78), +(7, 336, 69), +(7, 337, 69), +(7, 338, 94), +(7, 339, 66), +(7, 340, 72), +(7, 341, 88), +(7, 342, 67), +(7, 343, 86), +(7, 344, 76), +(7, 345, 80), +(7, 346, 84), +(7, 347, 95), +(7, 348, 79), +(7, 349, 74), +(7, 350, 88), +(7, 351, 91), +(7, 352, 93), +(7, 353, 78), +(7, 354, 99), +(7, 355, 86), +(7, 356, 82), +(7, 357, 70), +(7, 358, 90), +(7, 359, 78), +(7, 360, 76), +(7, 361, 80), +(7, 362, 78), +(7, 363, 67), +(7, 364, 89), +(7, 365, 68), +(7, 366, 78), +(7, 367, 69), +(7, 368, 86), +(7, 369, 95), +(7, 370, 78), +(7, 371, 99), +(7, 372, 68), +(7, 373, 95), +(7, 374, 91), +(7, 375, 92), +(7, 376, 68), +(7, 377, 75), +(7, 378, 65), +(7, 379, 86), +(7, 380, 80), +(7, 381, 94), +(7, 382, 83), +(7, 383, 71), +(7, 384, 83), +(7, 385, 78), +(7, 386, 95), +(7, 387, 78), +(7, 388, 96), +(7, 389, 92), +(7, 390, 83), +(7, 391, 74), +(7, 392, 87), +(7, 393, 91), +(7, 394, 76), +(7, 395, 85), +(7, 396, 91), +(7, 397, 74), +(7, 398, 86), +(7, 399, 83), +(7, 400, 86), +(7, 401, 68), +(7, 402, 98), +(7, 403, 92), +(7, 404, 99), +(7, 405, 76), +(7, 406, 83), +(7, 407, 87), +(7, 408, 70), +(7, 409, 96), +(7, 410, 79), +(7, 411, 88), +(7, 412, 90), +(7, 413, 67), +(7, 414, 93), +(7, 415, 73), +(7, 416, 89), +(7, 417, 98), +(7, 418, 73), +(7, 419, 78), +(7, 420, 94), +(7, 421, 89), +(7, 422, 72), +(7, 423, 74), +(7, 424, 82), +(7, 425, 76), +(7, 426, 95), +(7, 427, 95), +(7, 428, 85), +(7, 429, 89), +(7, 430, 92), +(7, 431, 81), +(7, 432, 85), +(7, 433, 89), +(7, 434, 87), +(7, 435, 71), +(7, 436, 88), +(7, 437, 97), +(7, 438, 71), +(7, 439, 67), +(7, 440, 84), +(7, 441, 79), +(7, 442, 99), +(7, 443, 93), +(7, 444, 98), +(7, 445, 90), +(7, 446, 86), +(7, 447, 67), +(7, 448, 96), +(7, 449, 67), +(7, 450, 81), +(7, 451, 68), +(7, 452, 81), +(7, 453, 98), +(7, 454, 96), +(7, 455, 81), +(7, 456, 78), +(7, 457, 85), +(7, 458, 72), +(7, 459, 94), +(7, 460, 97), +(7, 461, 70), +(7, 462, 99), +(7, 463, 90), +(7, 464, 74), +(7, 465, 79), +(7, 466, 77), +(7, 467, 90), +(7, 468, 87), +(7, 469, 98), +(7, 470, 83), +(7, 471, 86), +(7, 472, 77), +(7, 473, 85), +(7, 474, 85), +(7, 475, 78), +(7, 476, 98), +(7, 477, 86), +(7, 478, 68), +(7, 479, 72), +(7, 480, 69), +(7, 481, 89), +(7, 482, 88), +(7, 483, 95), +(7, 484, 88), +(7, 485, 77), +(7, 486, 73), +(7, 487, 76), +(7, 488, 80), +(7, 489, 95), +(7, 490, 87), +(7, 491, 94), +(7, 492, 93), +(7, 493, 99), +(7, 494, 69), +(7, 495, 71), +(7, 496, 73), +(7, 497, 79), +(7, 498, 75), +(7, 499, 73), +(7, 500, 73), +(7, 501, 71), +(7, 502, 75), +(7, 503, 92), +(7, 504, 78), +(7, 505, 87), +(7, 506, 66), +(7, 507, 69), +(7, 508, 84), +(7, 509, 71), +(7, 510, 83), +(7, 511, 95), +(7, 512, 96), +(7, 513, 87), +(7, 514, 81), +(7, 515, 87), +(7, 516, 88), +(7, 517, 71), +(7, 518, 85), +(7, 519, 70), +(7, 520, 84), +(7, 521, 82), +(7, 522, 87), +(7, 523, 65), +(7, 524, 74), +(7, 525, 82), +(7, 526, 87), +(7, 527, 97), +(7, 528, 81), +(7, 529, 66), +(7, 530, 71), +(7, 531, 65), +(7, 532, 73), +(7, 533, 78), +(7, 534, 74), +(7, 535, 95), +(7, 536, 65), +(7, 537, 85), +(7, 538, 79), +(7, 539, 94), +(7, 540, 66), +(7, 541, 89), +(7, 542, 65), +(7, 543, 86), +(7, 544, 85), +(7, 545, 70), +(7, 546, 82), +(7, 547, 86), +(7, 548, 84), +(7, 549, 79), +(7, 550, 73), +(7, 551, 80), +(7, 552, 97), +(7, 553, 94), +(7, 554, 79), +(7, 555, 99), +(7, 556, 83), +(7, 557, 88), +(7, 558, 96), +(7, 559, 88), +(7, 560, 79), +(7, 561, 67), +(7, 562, 75), +(7, 563, 93), +(7, 564, 86), +(7, 1024, 78), +(7, 1025, 80), +(7, 1026, 91), +(7, 1027, 90), +(7, 1028, 97), +(7, 1029, 67), +(7, 1030, 76), +(7, 1031, 87), +(7, 1032, 76), +(7, 1033, 87), +(7, 1034, 66), +(7, 1035, 89), +(7, 1036, 79), +(7, 1037, 73), +(7, 1038, 78), +(7, 1039, 66), +(7, 1040, 74), +(7, 1041, 90), +(7, 1042, 99), +(7, 1043, 75), +(7, 1044, 65), +(7, 1045, 97), +(7, 1046, 72), +(7, 1047, 86), +(7, 1048, 83), +(7, 1049, 68), +(7, 1050, 81), +(7, 1051, 74), +(7, 1052, 90), +(7, 1053, 74), +(7, 1054, 95), +(7, 1055, 93), +(7, 1056, 86), +(7, 1057, 89), +(7, 1058, 71), +(7, 1059, 93), +(7, 1060, 91), +(7, 1061, 89), +(7, 1062, 66), +(7, 1063, 98), +(7, 1064, 67), +(7, 1065, 66), +(7, 1066, 78), +(7, 1067, 94), +(7, 1068, 66), +(7, 1069, 87), +(7, 1070, 69), +(7, 1071, 94), +(7, 1072, 94), +(7, 1073, 76), +(7, 1074, 78), +(7, 1075, 67), +(7, 1076, 94), +(7, 1077, 96), +(7, 1078, 66), +(7, 1079, 68), +(7, 1080, 73), +(7, 1081, 70), +(7, 1082, 89), +(7, 1083, 71), +(7, 1084, 88), +(7, 1085, 84), +(7, 1086, 97), +(7, 1087, 70), +(7, 1088, 89), +(7, 1089, 70), +(7, 1090, 80), +(7, 1091, 76), +(7, 1092, 84), +(7, 1093, 78), +(7, 1094, 99), +(7, 1095, 73), +(7, 1096, 74), +(7, 1097, 75), +(7, 1098, 82), +(7, 1099, 84), +(7, 1100, 82), +(7, 1101, 76), +(7, 1102, 87), +(7, 1103, 83), +(7, 1104, 78), +(7, 1105, 93), +(7, 1106, 78), +(7, 1107, 65), +(7, 1108, 89), +(7, 1109, 71), +(7, 1110, 87), +(7, 1111, 91), +(7, 1112, 72), +(7, 1113, 74), +(7, 1114, 94), +(7, 1115, 92), +(7, 1116, 80), +(7, 1117, 95), +(7, 1118, 95), +(7, 1119, 80), +(7, 1120, 83), +(7, 1121, 68), +(7, 1122, 75), +(7, 1123, 75), +(7, 1124, 70), +(7, 1125, 85), +(7, 1126, 86), +(7, 1127, 95), +(7, 1128, 82), +(7, 1129, 70), +(7, 1130, 84), +(7, 1131, 91), +(7, 1132, 88), +(7, 1133, 71), +(7, 1134, 73), +(7, 1135, 68), +(7, 1136, 93), +(7, 1137, 78), +(7, 1138, 73), +(7, 1139, 80), +(7, 1140, 70), +(7, 1141, 93), +(7, 1142, 66), +(7, 1143, 67), +(7, 1144, 86), +(7, 1145, 72), +(7, 1146, 82), +(7, 1147, 87), +(7, 1148, 65), +(7, 1149, 76), +(7, 1150, 91), +(7, 1151, 94), +(7, 1152, 98), +(7, 1153, 88), +(7, 1154, 85), +(7, 1155, 87), +(7, 1156, 77), +(7, 1157, 98), +(7, 1158, 69), +(7, 1159, 82), +(7, 1160, 94), +(7, 1161, 73), +(7, 1162, 92), +(7, 1163, 82), +(7, 1164, 92), +(7, 1165, 70), +(7, 1166, 83), +(7, 1167, 93), +(7, 1168, 83), +(7, 1169, 97), +(7, 1170, 67), +(7, 1171, 99), +(7, 1172, 81), +(7, 1173, 66), +(7, 1174, 93), +(7, 1175, 88), +(7, 1176, 82), +(7, 1177, 89), +(7, 1178, 67), +(7, 1179, 65), +(7, 1180, 79), +(7, 1181, 82), +(7, 1182, 77), +(7, 1183, 78), +(7, 1184, 96), +(7, 1185, 93), +(7, 1186, 95), +(7, 1187, 73), +(7, 1188, 93), +(7, 1189, 91), +(7, 1190, 86), +(7, 1191, 81), +(7, 1192, 66), +(7, 1193, 80), +(7, 1194, 79), +(7, 1195, 77), +(7, 1196, 65), +(7, 1197, 71), +(7, 1198, 94), +(7, 1199, 76), +(7, 1200, 85), +(7, 1201, 92), +(7, 1202, 92), +(7, 1203, 90), +(7, 1204, 90), +(7, 1205, 85), +(7, 1206, 85), +(7, 1207, 92), +(7, 1208, 72), +(7, 1209, 91), +(7, 1210, 89), +(7, 1211, 90), +(7, 1212, 77), +(7, 1213, 78), +(7, 1214, 82), +(7, 1215, 92), +(7, 1216, 77), +(7, 1217, 98), +(7, 1218, 96), +(7, 1219, 65), +(7, 1220, 77), +(7, 1221, 65), +(7, 1222, 98), +(7, 1223, 68), +(7, 1224, 93), +(7, 1225, 82), +(7, 1226, 70), +(7, 1227, 89), +(7, 1228, 65), +(7, 1229, 93), +(7, 1230, 99), +(7, 1231, 76), +(7, 1232, 68), +(7, 1233, 71), +(7, 1234, 75), +(7, 1235, 65), +(7, 1236, 76), +(7, 1237, 96), +(7, 1238, 76), +(7, 1239, 97), +(7, 1240, 86), +(7, 1241, 85), +(7, 1242, 78), +(7, 1243, 93), +(7, 1244, 85), +(7, 1245, 90), +(7, 1246, 65), +(7, 1247, 83), +(7, 1248, 77), +(7, 1249, 73), +(7, 1250, 73), +(7, 1251, 98), +(7, 1252, 92), +(7, 1253, 70), +(7, 1254, 90), +(7, 1255, 89), +(7, 1256, 65), +(7, 1257, 75), +(7, 1258, 80), +(7, 1259, 66), +(7, 1260, 82), +(7, 1261, 65), +(7, 1262, 92), +(7, 1263, 92), +(7, 1264, 84), +(7, 1265, 76), +(7, 1266, 66), +(7, 1267, 71), +(7, 1268, 65), +(7, 1269, 93), +(7, 1270, 84), +(7, 1271, 98), +(7, 1272, 90), +(7, 1273, 92), +(7, 1274, 67), +(7, 1275, 78), +(7, 1276, 89), +(7, 1277, 85), +(7, 1278, 70), +(7, 1279, 99), +(7, 1280, 67), +(7, 1281, 91), +(7, 1282, 65), +(7, 1283, 98), +(7, 1284, 89), +(7, 1285, 77), +(7, 1286, 73), +(7, 1287, 73), +(7, 1288, 91), +(7, 1289, 99), +(7, 1290, 91), +(7, 1291, 85), +(7, 1292, 80), +(7, 1293, 96), +(7, 1294, 79), +(7, 1295, 94), +(7, 1296, 85), +(7, 1297, 70), +(7, 1298, 93), +(7, 1299, 94), +(7, 1300, 79), +(7, 1301, 67), +(7, 1302, 72), +(7, 1303, 74), +(7, 1304, 93), +(7, 1305, 96), +(7, 1306, 83), +(7, 1307, 90), +(7, 1308, 87), +(7, 1309, 90), +(7, 1310, 96), +(7, 1311, 81), +(7, 1312, 66), +(7, 1313, 75), +(7, 1314, 69), +(7, 1315, 67), +(7, 1316, 76), +(7, 1317, 80), +(7, 1318, 99), +(7, 1319, 74), +(7, 1320, 79), +(7, 1321, 81), +(7, 1322, 96), +(7, 1323, 90), +(7, 1324, 79), +(7, 1325, 80), +(7, 1326, 84), +(7, 1327, 79), +(7, 1328, 88), +(7, 1329, 97), +(7, 1330, 85), +(7, 1331, 88), +(7, 1332, 77), +(7, 1333, 80), +(7, 1334, 95), +(7, 1335, 98), +(7, 1336, 75), +(7, 1337, 69), +(7, 1338, 83), +(7, 1339, 77), +(7, 1340, 65), +(7, 1341, 73), +(7, 1342, 88), +(7, 1343, 85), +(7, 1344, 82), +(7, 1345, 74), +(7, 1346, 66), +(7, 1347, 69), +(7, 1348, 79), +(7, 1349, 90), +(7, 1350, 79), +(7, 1351, 94), +(7, 1352, 83), +(7, 1353, 74), +(7, 1354, 65), +(7, 1355, 95), +(7, 1356, 97), +(7, 1357, 65), +(7, 1358, 99), +(7, 1359, 98), +(7, 1360, 79), +(7, 1361, 79), +(7, 1362, 87), +(7, 1363, 96), +(7, 1364, 82), +(7, 1365, 84), +(7, 1366, 72), +(7, 1367, 97), +(7, 1368, 99), +(7, 1369, 75), +(7, 1370, 66), +(7, 1371, 80), +(7, 1372, 80), +(7, 1373, 68), +(7, 1374, 99), +(7, 1375, 81), +(7, 1376, 73), +(7, 1377, 66), +(7, 1378, 68), +(7, 1379, 81), +(7, 1380, 70), +(7, 1381, 91), +(7, 1382, 67), +(7, 1383, 79), +(7, 1384, 81), +(7, 1385, 95), +(7, 1386, 92), +(7, 1387, 82), +(7, 1388, 97), +(7, 1389, 86), +(7, 1390, 96), +(7, 1391, 65), +(7, 1392, 98), +(7, 1393, 69), +(7, 1394, 87), +(7, 1395, 73), +(7, 1396, 79), +(7, 1397, 87), +(7, 1398, 72), +(7, 1399, 82), +(7, 1400, 98), +(7, 1401, 77), +(7, 1402, 67), +(7, 1403, 77), +(7, 1404, 73), +(7, 1405, 94), +(7, 1406, 73), +(7, 1407, 88), +(7, 1408, 79), +(7, 1409, 89), +(7, 1410, 86), +(7, 1411, 99), +(7, 1412, 89), +(7, 1413, 67), +(7, 1414, 85), +(7, 1415, 97), +(7, 1416, 84), +(7, 1417, 66), +(7, 1418, 86), +(7, 1419, 92), +(7, 1420, 80), +(7, 1421, 77), +(7, 1422, 82), +(7, 1423, 67), +(7, 1424, 74), +(7, 1425, 94), +(7, 1426, 73), +(7, 1427, 82), +(7, 1428, 72), +(7, 1429, 73), +(7, 1430, 70), +(7, 1431, 67), +(7, 1432, 92), +(7, 1433, 94), +(7, 1434, 90), +(7, 1435, 85), +(7, 1436, 89), +(7, 1437, 72), +(7, 1438, 73), +(7, 1439, 87), +(7, 1440, 70), +(7, 1441, 98), +(7, 1442, 74), +(7, 1443, 70), +(7, 1444, 83), +(7, 1445, 97), +(7, 1446, 69), +(7, 1447, 92), +(7, 1448, 72), +(7, 1449, 81), +(7, 1450, 88), +(7, 1451, 67), +(7, 1452, 74), +(7, 1453, 71), +(7, 1454, 91), +(7, 1455, 93), +(7, 1456, 67), +(7, 1457, 71), +(7, 1458, 95), +(7, 1459, 98), +(7, 1460, 91), +(7, 1461, 69), +(7, 1462, 76), +(7, 1463, 91), +(7, 1464, 91), +(7, 1465, 81), +(7, 1466, 90), +(7, 1467, 65), +(7, 1468, 87), +(7, 1469, 81), +(7, 1470, 80), +(7, 1471, 77), +(7, 1472, 96), +(7, 1473, 66), +(7, 1474, 81), +(7, 1475, 91), +(7, 1476, 99), +(7, 1477, 74), +(7, 1478, 74), +(7, 1479, 85), +(7, 1480, 68), +(7, 1481, 79), +(7, 1482, 83), +(7, 1483, 95), +(7, 1484, 93), +(7, 1485, 80), +(7, 1486, 71), +(7, 1487, 77), +(7, 1488, 70), +(7, 1489, 89), +(7, 1490, 96), +(7, 1491, 73), +(7, 1492, 76), +(7, 1493, 90), +(7, 1494, 80), +(7, 1495, 80), +(7, 1496, 95), +(7, 1497, 85), +(7, 1498, 88), +(7, 1499, 90), +(7, 1500, 94), +(7, 1501, 68), +(7, 1502, 97), +(7, 1503, 89), +(7, 1504, 67), +(7, 1505, 81), +(7, 1506, 95), +(7, 1507, 66), +(7, 1508, 78), +(7, 1509, 85), +(7, 1510, 93), +(7, 1511, 83), +(7, 1512, 90), +(7, 1513, 73), +(7, 1514, 66), +(7, 1515, 69), +(7, 1516, 80), +(7, 1517, 74), +(7, 1518, 99), +(7, 1519, 78), +(7, 1520, 96), +(7, 1521, 66), +(7, 1522, 95), +(7, 1523, 65), +(7, 1524, 83), +(7, 1525, 88), +(7, 1526, 95), +(7, 1527, 73), +(7, 1528, 74), +(7, 1529, 84), +(7, 1530, 67), +(7, 1531, 87), +(7, 1532, 65), +(7, 1533, 68), +(7, 1534, 89), +(7, 1535, 99), +(7, 1536, 77), +(7, 1537, 79), +(7, 1538, 84), +(7, 1539, 99), +(7, 1540, 75), +(7, 1541, 79), +(7, 1542, 73), +(7, 1543, 77), +(7, 1544, 69), +(7, 1545, 72), +(7, 1546, 73), +(7, 1547, 88), +(7, 1548, 93), +(7, 1549, 71), +(7, 1550, 71), +(7, 1551, 85), +(7, 1552, 81), +(7, 1553, 93), +(7, 1554, 67), +(7, 1555, 71), +(7, 1556, 89), +(7, 1557, 78), +(7, 1558, 79), +(7, 1559, 65), +(7, 1560, 78), +(7, 1561, 93), +(7, 1562, 74), +(7, 1563, 65), +(7, 1564, 65), +(7, 1565, 96), +(7, 1566, 88), +(7, 1567, 97), +(7, 1568, 73), +(7, 1569, 72), +(7, 1570, 67), +(7, 1571, 91), +(7, 1572, 92), +(7, 1573, 65), +(7, 1574, 78), +(7, 1575, 71), +(7, 1576, 69), +(7, 1577, 87), +(7, 1578, 77), +(7, 1579, 76), +(7, 1580, 85), +(7, 1581, 89), +(7, 1582, 94), +(7, 1583, 71), +(7, 1584, 79), +(7, 1585, 74), +(7, 1586, 96), +(7, 1587, 70), +(7, 2047, 66), +(7, 2048, 84), +(7, 2049, 71), +(7, 2050, 82), +(7, 2051, 67), +(7, 2052, 89), +(7, 2053, 74), +(7, 2054, 90), +(7, 2055, 66), +(7, 2056, 75), +(7, 2057, 67), +(7, 2058, 66), +(7, 2059, 88), +(7, 2060, 89), +(7, 2061, 75), +(7, 2062, 86), +(7, 2063, 93), +(7, 2064, 77), +(7, 2065, 96), +(7, 2066, 72), +(7, 2067, 87), +(7, 2068, 75), +(7, 2069, 73), +(7, 2070, 67), +(7, 2071, 80), +(7, 2072, 94), +(7, 2073, 92), +(7, 2074, 75), +(7, 2075, 80), +(7, 2076, 67), +(7, 2077, 75), +(7, 2078, 92), +(7, 2079, 75), +(7, 2080, 78), +(7, 2081, 86), +(7, 2082, 83), +(7, 2083, 97), +(7, 2084, 88), +(7, 2085, 66), +(7, 2086, 79), +(7, 2087, 83), +(7, 2088, 94), +(7, 2089, 88), +(7, 2090, 67), +(7, 2091, 86), +(7, 2092, 65), +(7, 2093, 73), +(7, 2094, 73), +(7, 2095, 88), +(7, 2096, 82), +(7, 2097, 82), +(7, 2098, 96), +(7, 2099, 69), +(7, 2100, 97), +(7, 2101, 65), +(7, 2102, 74), +(7, 2103, 79), +(7, 2104, 97), +(7, 2105, 72), +(7, 2106, 86), +(7, 2107, 91), +(7, 2108, 81), +(7, 2109, 66), +(7, 2110, 95), +(7, 2111, 67), +(7, 2112, 96), +(7, 2113, 78), +(7, 2114, 84), +(7, 2115, 86), +(7, 2116, 88), +(7, 2117, 67), +(7, 2118, 75), +(7, 2119, 70), +(7, 2120, 66), +(7, 2121, 97), +(7, 2122, 91), +(7, 2123, 89), +(7, 2124, 86), +(7, 2125, 70), +(7, 2126, 65), +(7, 2127, 66), +(7, 2128, 77), +(7, 2129, 99), +(7, 2130, 78), +(7, 2131, 87), +(7, 2132, 81), +(7, 2133, 99), +(7, 2134, 80), +(7, 2135, 99), +(7, 2136, 96), +(7, 2137, 88), +(7, 2138, 74), +(7, 2139, 96), +(7, 2140, 74), +(7, 2141, 82), +(7, 2142, 67), +(7, 2143, 86), +(7, 2144, 74), +(7, 2145, 90), +(7, 2146, 66), +(7, 2147, 73), +(7, 2148, 89), +(7, 2149, 91), +(7, 2150, 87), +(7, 2151, 86), +(7, 2152, 72), +(7, 2153, 80), +(7, 2154, 70), +(7, 2155, 88), +(7, 2156, 68), +(7, 2157, 79), +(7, 2158, 94), +(7, 2159, 71), +(7, 2160, 96), +(7, 2161, 76), +(7, 2162, 79), +(7, 2163, 85), +(7, 2164, 66), +(7, 2165, 96), +(7, 2166, 78), +(7, 2167, 92), +(7, 2168, 70), +(7, 2169, 77), +(7, 2170, 98), +(7, 2171, 94), +(7, 2172, 87), +(7, 2173, 85), +(7, 2174, 65), +(7, 2175, 82), +(7, 2176, 88), +(7, 2177, 97), +(7, 2178, 75), +(7, 2179, 82), +(7, 2180, 88), +(7, 2181, 87), +(7, 2182, 95), +(7, 2183, 92), +(7, 2184, 91), +(7, 2185, 82), +(7, 2186, 93), +(7, 2187, 87), +(7, 2188, 86), +(7, 2189, 77), +(7, 2190, 83), +(7, 2191, 69), +(7, 2192, 72), +(7, 2193, 79), +(7, 2194, 90), +(7, 2195, 73), +(7, 2196, 98), +(7, 2197, 69), +(7, 2198, 66), +(7, 2199, 67), +(7, 2200, 66), +(7, 2201, 68), +(7, 2202, 98), +(7, 2203, 72), +(7, 2204, 90), +(7, 2205, 94), +(7, 2206, 72), +(7, 2207, 71), +(7, 2208, 89), +(7, 2209, 80), +(7, 2210, 96), +(7, 2211, 92), +(7, 2212, 72), +(7, 2213, 87), +(7, 2214, 96), +(7, 2215, 76), +(7, 2216, 85), +(7, 2217, 69), +(7, 2218, 76), +(7, 2219, 66), +(7, 2220, 90), +(7, 2221, 72), +(7, 2222, 77), +(7, 2223, 79), +(7, 2224, 65), +(7, 2225, 71), +(7, 2226, 96), +(7, 2227, 99), +(7, 2228, 91), +(7, 2229, 67), +(7, 2230, 72), +(7, 2231, 83), +(7, 2232, 91), +(7, 2233, 77), +(7, 2234, 79), +(7, 2235, 97), +(7, 2236, 74), +(7, 2237, 71), +(7, 2238, 92), +(7, 2239, 66), +(7, 2240, 98), +(7, 2241, 73), +(7, 2242, 88), +(7, 2243, 75), +(7, 2244, 98), +(7, 2245, 87), +(7, 2246, 91), +(7, 2247, 96), +(7, 2248, 89), +(7, 2249, 69), +(7, 2250, 77), +(7, 2251, 91), +(7, 2252, 65), +(7, 2253, 71), +(7, 2254, 87), +(7, 2255, 82), +(7, 2256, 91), +(7, 2257, 97), +(7, 2258, 95), +(7, 2259, 92), +(7, 2260, 72), +(7, 2261, 80), +(7, 2262, 85), +(7, 2263, 72), +(7, 2264, 90), +(7, 2265, 86), +(7, 2266, 74), +(7, 2267, 96), +(7, 2268, 74), +(7, 2269, 85), +(7, 2270, 96), +(7, 2271, 81), +(7, 2272, 96), +(7, 2273, 90), +(7, 2274, 84), +(7, 2275, 82), +(7, 2276, 76), +(7, 2277, 69), +(7, 2278, 86), +(7, 2279, 66), +(7, 2280, 73), +(7, 2281, 89), +(7, 2282, 67), +(7, 2283, 89), +(7, 2284, 97), +(7, 2285, 75), +(7, 2286, 65), +(7, 2287, 96), +(7, 2288, 92), +(7, 2289, 80), +(7, 2290, 86), +(7, 2291, 65), +(7, 2292, 93), +(7, 2293, 69), +(7, 2294, 75), +(7, 2295, 91), +(7, 2296, 65), +(7, 2297, 99), +(7, 2298, 80), +(7, 2299, 80), +(7, 2300, 92), +(7, 2301, 96), +(7, 2302, 72), +(7, 2303, 86), +(7, 2304, 78), +(7, 2305, 76), +(7, 2306, 75), +(7, 2307, 99), +(7, 2308, 67), +(7, 2309, 86), +(7, 2310, 95), +(7, 2311, 91), +(7, 2312, 72), +(7, 2313, 69), +(7, 2314, 72), +(7, 2315, 78), +(7, 2316, 66), +(7, 2317, 70), +(7, 2318, 97), +(7, 2319, 97), +(7, 2320, 75), +(7, 2321, 78), +(7, 2322, 87), +(7, 2323, 74), +(7, 2324, 93), +(7, 2325, 73), +(7, 2326, 82), +(7, 2327, 76), +(7, 2328, 72), +(7, 2329, 92), +(7, 2330, 90), +(7, 2331, 83), +(7, 2332, 89), +(7, 2333, 69), +(7, 2334, 83), +(7, 2335, 77), +(7, 2336, 95), +(7, 2337, 97), +(7, 2338, 68), +(7, 2339, 85), +(7, 2340, 68), +(7, 2341, 81), +(7, 2342, 96), +(7, 2343, 72), +(7, 2344, 79), +(7, 2345, 67), +(7, 2346, 92), +(7, 2347, 87), +(7, 2348, 94), +(7, 2349, 90), +(7, 2350, 73), +(7, 2351, 98), +(7, 2352, 70), +(7, 2353, 75), +(7, 2354, 99), +(7, 2355, 71), +(7, 2356, 68), +(7, 2357, 85), +(7, 2358, 95), +(7, 2359, 78), +(7, 2360, 75), +(7, 2361, 92), +(7, 2362, 89), +(7, 2363, 89), +(7, 2364, 81), +(7, 2365, 77), +(7, 2366, 98), +(7, 2367, 96), +(7, 2368, 83), +(7, 2369, 78), +(7, 2370, 73), +(7, 2371, 68), +(7, 2372, 99), +(7, 2373, 83), +(7, 2374, 98), +(7, 2375, 81), +(7, 2376, 66), +(7, 2377, 78), +(7, 2378, 91), +(7, 2379, 88), +(7, 2380, 83), +(7, 2381, 70), +(7, 2382, 96), +(7, 2383, 98), +(7, 2384, 66), +(7, 2385, 71), +(7, 2386, 70), +(7, 2387, 99), +(7, 2388, 94), +(7, 2389, 91), +(7, 2390, 87), +(7, 2391, 68), +(7, 2392, 67), +(7, 2393, 81), +(7, 2394, 76), +(7, 2395, 80), +(7, 2396, 66), +(7, 2397, 65), +(7, 2398, 75), +(7, 2399, 73), +(7, 2400, 74), +(7, 2401, 79), +(7, 2402, 78), +(7, 2403, 73), +(7, 2404, 92), +(7, 2405, 90), +(7, 2406, 91), +(7, 2407, 76), +(7, 2408, 65), +(7, 2409, 71), +(7, 2410, 67), +(7, 2411, 97), +(7, 2412, 72), +(7, 2413, 74), +(7, 2414, 68), +(7, 2415, 92), +(7, 2416, 97), +(7, 2417, 91), +(7, 2418, 68), +(7, 2419, 69), +(7, 2420, 95), +(7, 2421, 89), +(7, 2422, 93), +(7, 2423, 75), +(7, 2424, 92), +(7, 2425, 84), +(7, 2426, 97), +(7, 2427, 80), +(7, 2428, 68), +(7, 2429, 77), +(7, 2430, 77), +(7, 2431, 87), +(7, 2432, 85), +(7, 2433, 89), +(7, 2434, 96), +(7, 2435, 91), +(7, 2436, 98), +(7, 2437, 84), +(7, 2438, 76), +(7, 2439, 89), +(7, 2440, 71), +(7, 2441, 93), +(7, 2442, 88), +(7, 2443, 97), +(7, 2444, 65), +(7, 2445, 89), +(7, 2446, 73), +(7, 2447, 88), +(7, 2448, 83), +(7, 2449, 66), +(7, 2450, 88), +(7, 2451, 75), +(7, 2452, 85), +(7, 2453, 81), +(7, 2454, 82), +(7, 2455, 74), +(7, 2456, 86), +(7, 2457, 80), +(7, 2458, 87), +(7, 2459, 73), +(7, 2460, 86), +(7, 2461, 94), +(7, 2462, 90), +(7, 2463, 77), +(7, 2464, 80), +(7, 2465, 89), +(7, 2466, 83), +(7, 2467, 98), +(7, 2468, 76), +(7, 2469, 82), +(7, 2470, 97), +(7, 2471, 76), +(7, 2472, 93), +(7, 2473, 90), +(7, 2474, 78), +(7, 2475, 79), +(7, 2476, 74), +(7, 2477, 99), +(7, 2478, 92), +(7, 2479, 85), +(7, 2480, 80), +(7, 2481, 82), +(7, 2482, 77), +(7, 2483, 72), +(7, 2484, 66), +(7, 2485, 81), +(7, 2486, 69), +(7, 2487, 89), +(7, 2488, 73), +(7, 2489, 68), +(7, 2490, 70), +(7, 2491, 66), +(7, 2492, 86), +(7, 2493, 74), +(7, 2494, 90), +(7, 2495, 73), +(7, 2496, 90), +(7, 2497, 82), +(7, 2498, 76), +(7, 2499, 70), +(7, 2500, 95), +(7, 2501, 92), +(7, 2502, 73), +(7, 2503, 69), +(7, 2504, 71), +(7, 2505, 84), +(7, 2506, 91), +(7, 2507, 76), +(7, 2508, 86), +(7, 2509, 71), +(7, 2510, 74), +(7, 2511, 98), +(7, 2512, 92), +(7, 2513, 88), +(7, 2514, 80), +(7, 2515, 80), +(7, 2516, 91), +(7, 2517, 84), +(7, 2518, 95), +(7, 2519, 74), +(7, 2520, 88), +(7, 2521, 95), +(7, 2522, 90), +(7, 2523, 89), +(7, 2524, 82), +(7, 2525, 80), +(7, 2526, 98), +(7, 2527, 68), +(7, 2528, 90), +(7, 2529, 79), +(7, 2530, 77), +(7, 2531, 83), +(7, 2532, 67), +(7, 2533, 79), +(7, 2534, 66), +(7, 2535, 99), +(7, 2536, 65), +(7, 2537, 82), +(7, 2538, 70), +(7, 2539, 83), +(7, 2540, 89), +(7, 2541, 67), +(7, 2542, 87), +(7, 2543, 96), +(7, 2544, 77), +(7, 2545, 76), +(7, 2546, 71), +(7, 2547, 84), +(7, 2548, 71), +(7, 2549, 72), +(7, 2550, 88), +(7, 2551, 86), +(7, 2552, 89), +(7, 2553, 96), +(7, 2554, 73), +(7, 2555, 66), +(7, 2556, 95), +(7, 2557, 83), +(7, 2558, 83), +(7, 2559, 69), +(7, 2560, 89), +(7, 2561, 68), +(7, 2562, 74), +(7, 2563, 67), +(7, 2564, 69), +(7, 2565, 81), +(7, 2566, 98), +(7, 2567, 65), +(7, 2568, 88), +(7, 2569, 84), +(7, 2570, 73), +(7, 2571, 65), +(7, 2572, 90), +(7, 2573, 75), +(7, 2574, 86), +(7, 2575, 98), +(7, 2576, 98), +(7, 2577, 98), +(7, 2578, 81), +(7, 2579, 83), +(7, 2580, 87), +(7, 2581, 77), +(7, 2582, 73), +(7, 2583, 76), +(7, 2584, 89), +(7, 2585, 77), +(7, 2586, 83), +(7, 2587, 85), +(7, 2588, 67), +(7, 2589, 73), +(7, 2590, 87), +(7, 2591, 77), +(7, 2592, 83), +(7, 2593, 88), +(7, 2594, 79), +(7, 2595, 98), +(7, 2596, 75), +(7, 2597, 82), +(7, 2598, 83), +(7, 2599, 96), +(7, 2600, 92), +(7, 2601, 83), +(7, 2602, 97), +(7, 2603, 92), +(7, 2604, 90), +(7, 2605, 94), +(7, 2606, 86), +(7, 2607, 87), +(7, 2608, 96), +(7, 2609, 95), +(7, 2610, 81), +(8, 1, 75), +(8, 2, 68), +(8, 3, 88), +(8, 4, 92), +(8, 5, 96), +(8, 6, 73), +(8, 7, 93), +(8, 8, 86), +(8, 9, 70), +(8, 10, 98), +(8, 11, 71), +(8, 12, 83), +(8, 13, 85), +(8, 14, 81), +(8, 15, 66), +(8, 16, 66), +(8, 17, 79), +(8, 18, 92), +(8, 19, 94), +(8, 20, 81), +(8, 21, 67), +(8, 22, 82), +(8, 23, 90), +(8, 24, 93), +(8, 25, 79), +(8, 26, 92), +(8, 27, 89), +(8, 28, 77), +(8, 29, 74), +(8, 30, 99), +(8, 31, 69), +(8, 32, 79), +(8, 33, 76), +(8, 34, 87), +(8, 35, 81), +(8, 36, 91), +(8, 37, 68), +(8, 38, 83), +(8, 39, 76), +(8, 40, 85), +(8, 41, 85), +(8, 42, 67), +(8, 43, 84), +(8, 44, 82), +(8, 45, 70), +(8, 46, 78), +(8, 47, 67); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(8, 48, 65), +(8, 49, 84), +(8, 50, 76), +(8, 51, 81), +(8, 52, 69), +(8, 53, 69), +(8, 54, 76), +(8, 55, 82), +(8, 56, 75), +(8, 57, 71), +(8, 58, 91), +(8, 59, 71), +(8, 60, 98), +(8, 61, 99), +(8, 62, 95), +(8, 63, 68), +(8, 64, 89), +(8, 65, 83), +(8, 66, 97), +(8, 67, 86), +(8, 68, 84), +(8, 69, 94), +(8, 70, 91), +(8, 71, 90), +(8, 72, 84), +(8, 73, 72), +(8, 74, 67), +(8, 75, 68), +(8, 76, 79), +(8, 77, 76), +(8, 78, 91), +(8, 79, 75), +(8, 80, 66), +(8, 81, 95), +(8, 82, 86), +(8, 83, 90), +(8, 84, 83), +(8, 85, 76), +(8, 86, 98), +(8, 87, 82), +(8, 88, 94), +(8, 89, 71), +(8, 90, 68), +(8, 91, 91), +(8, 92, 71), +(8, 93, 69), +(8, 94, 74), +(8, 95, 77), +(8, 96, 92), +(8, 97, 75), +(8, 98, 69), +(8, 99, 83), +(8, 100, 82), +(8, 101, 88), +(8, 102, 67), +(8, 103, 92), +(8, 104, 98), +(8, 105, 69), +(8, 106, 80), +(8, 107, 77), +(8, 108, 97), +(8, 109, 99), +(8, 110, 86), +(8, 111, 74), +(8, 112, 76), +(8, 113, 88), +(8, 114, 65), +(8, 115, 66), +(8, 116, 90), +(8, 117, 95), +(8, 118, 66), +(8, 119, 80), +(8, 120, 88), +(8, 121, 70), +(8, 122, 82), +(8, 123, 68), +(8, 124, 69), +(8, 125, 89), +(8, 126, 65), +(8, 127, 78), +(8, 128, 89), +(8, 129, 92), +(8, 130, 82), +(8, 131, 93), +(8, 132, 71), +(8, 133, 92), +(8, 134, 93), +(8, 135, 74), +(8, 136, 85), +(8, 137, 99), +(8, 138, 78), +(8, 139, 79), +(8, 140, 81), +(8, 141, 68), +(8, 142, 77), +(8, 143, 90), +(8, 144, 85), +(8, 145, 82), +(8, 146, 92), +(8, 147, 85), +(8, 148, 97), +(8, 149, 93), +(8, 150, 93), +(8, 151, 68), +(8, 152, 74), +(8, 153, 68), +(8, 154, 77), +(8, 155, 98), +(8, 156, 86), +(8, 157, 75), +(8, 158, 75), +(8, 159, 95), +(8, 160, 94), +(8, 161, 98), +(8, 162, 71), +(8, 163, 98), +(8, 164, 92), +(8, 165, 72), +(8, 166, 78), +(8, 167, 65), +(8, 168, 74), +(8, 169, 98), +(8, 170, 87), +(8, 171, 94), +(8, 172, 92), +(8, 173, 72), +(8, 174, 96), +(8, 175, 78), +(8, 176, 81), +(8, 177, 66), +(8, 178, 91), +(8, 179, 72), +(8, 180, 81), +(8, 181, 87), +(8, 182, 96), +(8, 183, 81), +(8, 184, 86), +(8, 185, 95), +(8, 186, 76), +(8, 187, 76), +(8, 188, 96), +(8, 189, 79), +(8, 190, 98), +(8, 191, 87), +(8, 192, 88), +(8, 193, 78), +(8, 194, 70), +(8, 195, 98), +(8, 196, 95), +(8, 197, 96), +(8, 198, 89), +(8, 199, 95), +(8, 200, 71), +(8, 201, 96), +(8, 202, 88), +(8, 203, 67), +(8, 204, 79), +(8, 205, 71), +(8, 206, 76), +(8, 207, 93), +(8, 208, 96), +(8, 209, 80), +(8, 210, 84), +(8, 211, 69), +(8, 212, 81), +(8, 213, 84), +(8, 214, 87), +(8, 215, 76), +(8, 216, 89), +(8, 217, 96), +(8, 218, 74), +(8, 219, 78), +(8, 220, 75), +(8, 221, 73), +(8, 222, 69), +(8, 223, 94), +(8, 224, 67), +(8, 225, 93), +(8, 226, 69), +(8, 227, 68), +(8, 228, 85), +(8, 229, 94), +(8, 230, 88), +(8, 231, 66), +(8, 232, 78), +(8, 233, 65), +(8, 234, 84), +(8, 235, 65), +(8, 236, 95), +(8, 237, 80), +(8, 238, 92), +(8, 239, 92), +(8, 240, 71), +(8, 241, 69), +(8, 242, 67), +(8, 243, 86), +(8, 244, 87), +(8, 245, 81), +(8, 246, 90), +(8, 247, 68), +(8, 248, 83), +(8, 249, 67), +(8, 250, 70), +(8, 251, 72), +(8, 252, 90), +(8, 253, 99), +(8, 254, 85), +(8, 255, 83), +(8, 256, 92), +(8, 257, 72), +(8, 258, 83), +(8, 259, 80), +(8, 260, 68), +(8, 261, 66), +(8, 262, 68), +(8, 263, 96), +(8, 264, 69), +(8, 265, 73), +(8, 266, 75), +(8, 267, 89), +(8, 268, 81), +(8, 269, 91), +(8, 270, 71), +(8, 271, 65), +(8, 272, 83), +(8, 273, 89), +(8, 274, 87), +(8, 275, 75), +(8, 276, 98), +(8, 277, 88), +(8, 278, 82), +(8, 279, 71), +(8, 280, 78), +(8, 281, 79), +(8, 282, 93), +(8, 283, 95), +(8, 284, 72), +(8, 285, 78), +(8, 286, 75), +(8, 287, 74), +(8, 288, 76), +(8, 289, 94), +(8, 290, 84), +(8, 291, 73), +(8, 292, 76), +(8, 293, 97), +(8, 294, 77), +(8, 295, 76), +(8, 296, 71), +(8, 297, 96), +(8, 298, 77), +(8, 299, 95), +(8, 300, 83), +(8, 301, 96), +(8, 302, 71), +(8, 303, 89), +(8, 304, 88), +(8, 305, 73), +(8, 306, 96), +(8, 307, 98), +(8, 308, 69), +(8, 309, 86), +(8, 310, 66), +(8, 311, 99), +(8, 312, 82), +(8, 313, 71), +(8, 314, 97), +(8, 315, 81), +(8, 316, 70), +(8, 317, 69), +(8, 318, 81), +(8, 319, 73), +(8, 320, 77), +(8, 321, 75), +(8, 322, 96), +(8, 323, 69), +(8, 324, 96), +(8, 325, 92), +(8, 326, 77), +(8, 327, 82), +(8, 328, 99), +(8, 329, 77), +(8, 330, 94), +(8, 331, 71), +(8, 332, 82), +(8, 333, 79), +(8, 334, 80), +(8, 335, 80), +(8, 336, 71), +(8, 337, 99), +(8, 338, 78), +(8, 339, 83), +(8, 340, 99), +(8, 341, 84), +(8, 342, 74), +(8, 343, 70), +(8, 344, 67), +(8, 345, 87), +(8, 346, 98), +(8, 347, 70), +(8, 348, 99), +(8, 349, 93), +(8, 350, 76), +(8, 351, 96), +(8, 352, 66), +(8, 353, 93), +(8, 354, 84), +(8, 355, 98), +(8, 356, 84), +(8, 357, 68), +(8, 358, 93), +(8, 359, 66), +(8, 360, 84), +(8, 361, 68), +(8, 362, 67), +(8, 363, 74), +(8, 364, 77), +(8, 365, 88), +(8, 366, 92), +(8, 367, 80), +(8, 368, 94), +(8, 369, 95), +(8, 370, 79), +(8, 371, 79), +(8, 372, 83), +(8, 373, 65), +(8, 374, 71), +(8, 375, 99), +(8, 376, 78), +(8, 377, 97), +(8, 378, 65), +(8, 379, 80), +(8, 380, 69), +(8, 381, 69), +(8, 382, 95), +(8, 383, 86), +(8, 384, 72), +(8, 385, 97), +(8, 386, 66), +(8, 387, 76), +(8, 388, 66), +(8, 389, 78), +(8, 390, 68), +(8, 391, 66), +(8, 392, 91), +(8, 393, 89), +(8, 394, 65), +(8, 395, 85), +(8, 396, 87), +(8, 397, 93), +(8, 398, 90), +(8, 399, 67), +(8, 400, 68), +(8, 401, 92), +(8, 402, 98), +(8, 403, 97), +(8, 404, 83), +(8, 405, 76), +(8, 406, 71), +(8, 407, 89), +(8, 408, 87), +(8, 409, 99), +(8, 410, 82), +(8, 411, 86), +(8, 412, 96), +(8, 413, 98), +(8, 414, 80), +(8, 415, 69), +(8, 416, 68), +(8, 417, 97), +(8, 418, 84), +(8, 419, 91), +(8, 420, 85), +(8, 421, 93), +(8, 422, 75), +(8, 423, 82), +(8, 424, 69), +(8, 425, 79), +(8, 426, 81), +(8, 427, 69), +(8, 428, 74), +(8, 429, 78), +(8, 430, 98), +(8, 431, 70), +(8, 432, 90), +(8, 433, 69), +(8, 434, 68), +(8, 435, 80), +(8, 436, 85), +(8, 437, 84), +(8, 438, 74), +(8, 439, 87), +(8, 440, 89), +(8, 441, 88), +(8, 442, 94), +(8, 443, 71), +(8, 444, 79), +(8, 445, 73), +(8, 446, 78), +(8, 447, 71), +(8, 448, 88), +(8, 449, 87), +(8, 450, 86), +(8, 451, 80), +(8, 452, 81), +(8, 453, 81), +(8, 454, 75), +(8, 455, 99), +(8, 456, 96), +(8, 457, 84), +(8, 458, 77), +(8, 459, 89), +(8, 460, 78), +(8, 461, 80), +(8, 462, 80), +(8, 463, 86), +(8, 464, 94), +(8, 465, 89), +(8, 466, 99), +(8, 467, 71), +(8, 468, 96), +(8, 469, 72), +(8, 470, 67), +(8, 471, 82), +(8, 472, 88), +(8, 473, 68), +(8, 474, 81), +(8, 475, 72), +(8, 476, 81), +(8, 477, 73), +(8, 478, 94), +(8, 479, 77), +(8, 480, 94), +(8, 481, 89), +(8, 482, 86), +(8, 483, 72), +(8, 484, 69), +(8, 485, 87), +(8, 486, 84), +(8, 487, 74), +(8, 488, 93), +(8, 489, 71), +(8, 490, 81), +(8, 491, 93), +(8, 492, 74), +(8, 493, 87), +(8, 494, 98), +(8, 495, 77), +(8, 496, 80), +(8, 497, 90), +(8, 498, 89), +(8, 499, 66), +(8, 500, 81), +(8, 501, 70), +(8, 502, 66), +(8, 503, 93), +(8, 504, 65), +(8, 505, 76), +(8, 506, 82), +(8, 507, 87), +(8, 508, 73), +(8, 509, 66), +(8, 510, 91), +(8, 511, 75), +(8, 512, 90), +(8, 513, 68), +(8, 514, 74), +(8, 515, 90), +(8, 516, 83), +(8, 517, 80), +(8, 518, 95), +(8, 519, 75), +(8, 520, 97), +(8, 521, 92), +(8, 522, 73), +(8, 523, 74), +(8, 524, 97), +(8, 525, 72), +(8, 526, 83), +(8, 527, 91), +(8, 528, 96), +(8, 529, 75), +(8, 530, 80), +(8, 531, 94), +(8, 532, 68), +(8, 533, 77), +(8, 534, 93), +(8, 535, 82), +(8, 536, 82), +(8, 537, 76), +(8, 538, 80), +(8, 539, 69), +(8, 540, 83), +(8, 541, 80), +(8, 542, 88), +(8, 543, 92), +(8, 544, 84), +(8, 545, 96), +(8, 546, 92), +(8, 547, 87), +(8, 548, 73), +(8, 549, 74), +(8, 550, 95), +(8, 551, 87), +(8, 552, 98), +(8, 553, 86), +(8, 554, 86), +(8, 555, 93), +(8, 556, 68), +(8, 557, 76), +(8, 558, 75), +(8, 559, 83), +(8, 560, 88), +(8, 561, 86), +(8, 562, 69), +(8, 563, 72), +(8, 564, 89), +(8, 1024, 77), +(8, 1025, 80), +(8, 1026, 77), +(8, 1027, 66), +(8, 1028, 73), +(8, 1029, 82), +(8, 1030, 99), +(8, 1031, 68), +(8, 1032, 97), +(8, 1033, 88), +(8, 1034, 88), +(8, 1035, 81), +(8, 1036, 89), +(8, 1037, 82), +(8, 1038, 67), +(8, 1039, 76), +(8, 1040, 89), +(8, 1041, 66), +(8, 1042, 94), +(8, 1043, 96), +(8, 1044, 99), +(8, 1045, 77), +(8, 1046, 69), +(8, 1047, 82), +(8, 1048, 78), +(8, 1049, 83), +(8, 1050, 89), +(8, 1051, 97), +(8, 1052, 76), +(8, 1053, 93), +(8, 1054, 69), +(8, 1055, 93), +(8, 1056, 95), +(8, 1057, 76), +(8, 1058, 71), +(8, 1059, 99), +(8, 1060, 98), +(8, 1061, 75), +(8, 1062, 74), +(8, 1063, 94), +(8, 1064, 71), +(8, 1065, 80), +(8, 1066, 98), +(8, 1067, 87), +(8, 1068, 88), +(8, 1069, 95), +(8, 1070, 97), +(8, 1071, 87), +(8, 1072, 77), +(8, 1073, 82), +(8, 1074, 73), +(8, 1075, 96), +(8, 1076, 82), +(8, 1077, 78), +(8, 1078, 72), +(8, 1079, 72), +(8, 1080, 88), +(8, 1081, 76), +(8, 1082, 74), +(8, 1083, 91), +(8, 1084, 77), +(8, 1085, 94), +(8, 1086, 88), +(8, 1087, 94), +(8, 1088, 86), +(8, 1089, 99), +(8, 1090, 90), +(8, 1091, 93), +(8, 1092, 67), +(8, 1093, 71), +(8, 1094, 85), +(8, 1095, 94), +(8, 1096, 82), +(8, 1097, 87), +(8, 1098, 97), +(8, 1099, 87), +(8, 1100, 97), +(8, 1101, 91), +(8, 1102, 67), +(8, 1103, 96), +(8, 1104, 69), +(8, 1105, 69), +(8, 1106, 87), +(8, 1107, 99), +(8, 1108, 97), +(8, 1109, 82), +(8, 1110, 89), +(8, 1111, 90), +(8, 1112, 93), +(8, 1113, 76), +(8, 1114, 69), +(8, 1115, 68), +(8, 1116, 88), +(8, 1117, 79), +(8, 1118, 93), +(8, 1119, 81), +(8, 1120, 69), +(8, 1121, 86), +(8, 1122, 96), +(8, 1123, 66), +(8, 1124, 70), +(8, 1125, 87), +(8, 1126, 86), +(8, 1127, 87), +(8, 1128, 78), +(8, 1129, 78), +(8, 1130, 73), +(8, 1131, 81), +(8, 1132, 80), +(8, 1133, 72), +(8, 1134, 71), +(8, 1135, 70), +(8, 1136, 86), +(8, 1137, 81), +(8, 1138, 77), +(8, 1139, 85), +(8, 1140, 75), +(8, 1141, 72), +(8, 1142, 68), +(8, 1143, 67), +(8, 1144, 66), +(8, 1145, 65), +(8, 1146, 68), +(8, 1147, 76), +(8, 1148, 81), +(8, 1149, 67), +(8, 1150, 69), +(8, 1151, 72), +(8, 1152, 87), +(8, 1153, 93), +(8, 1154, 75), +(8, 1155, 87), +(8, 1156, 92), +(8, 1157, 78), +(8, 1158, 86), +(8, 1159, 85), +(8, 1160, 76), +(8, 1161, 80), +(8, 1162, 96), +(8, 1163, 96), +(8, 1164, 70), +(8, 1165, 98), +(8, 1166, 66), +(8, 1167, 67), +(8, 1168, 69), +(8, 1169, 85), +(8, 1170, 87), +(8, 1171, 82), +(8, 1172, 74), +(8, 1173, 67), +(8, 1174, 93), +(8, 1175, 93), +(8, 1176, 85), +(8, 1177, 74), +(8, 1178, 77), +(8, 1179, 90), +(8, 1180, 66), +(8, 1181, 84), +(8, 1182, 81), +(8, 1183, 97), +(8, 1184, 84), +(8, 1185, 98), +(8, 1186, 97), +(8, 1187, 86), +(8, 1188, 88), +(8, 1189, 93), +(8, 1190, 83), +(8, 1191, 71), +(8, 1192, 97), +(8, 1193, 81), +(8, 1194, 72), +(8, 1195, 75), +(8, 1196, 72), +(8, 1197, 81), +(8, 1198, 90), +(8, 1199, 83), +(8, 1200, 93), +(8, 1201, 65), +(8, 1202, 94), +(8, 1203, 96), +(8, 1204, 85), +(8, 1205, 71), +(8, 1206, 79), +(8, 1207, 94), +(8, 1208, 68), +(8, 1209, 70), +(8, 1210, 83), +(8, 1211, 75), +(8, 1212, 68), +(8, 1213, 83), +(8, 1214, 99), +(8, 1215, 91), +(8, 1216, 72), +(8, 1217, 76), +(8, 1218, 85), +(8, 1219, 83), +(8, 1220, 85), +(8, 1221, 91), +(8, 1222, 90), +(8, 1223, 87), +(8, 1224, 75), +(8, 1225, 67), +(8, 1226, 98), +(8, 1227, 74), +(8, 1228, 74), +(8, 1229, 78), +(8, 1230, 92), +(8, 1231, 81), +(8, 1232, 88), +(8, 1233, 66), +(8, 1234, 71), +(8, 1235, 77), +(8, 1236, 94), +(8, 1237, 77), +(8, 1238, 80), +(8, 1239, 80), +(8, 1240, 69), +(8, 1241, 87), +(8, 1242, 69), +(8, 1243, 72), +(8, 1244, 70), +(8, 1245, 93), +(8, 1246, 93), +(8, 1247, 73), +(8, 1248, 69), +(8, 1249, 83), +(8, 1250, 78), +(8, 1251, 76), +(8, 1252, 77), +(8, 1253, 87), +(8, 1254, 75), +(8, 1255, 76), +(8, 1256, 85), +(8, 1257, 75), +(8, 1258, 84), +(8, 1259, 86), +(8, 1260, 69), +(8, 1261, 97), +(8, 1262, 73), +(8, 1263, 78), +(8, 1264, 97), +(8, 1265, 80), +(8, 1266, 65), +(8, 1267, 88), +(8, 1268, 90), +(8, 1269, 98), +(8, 1270, 82), +(8, 1271, 87), +(8, 1272, 90), +(8, 1273, 92), +(8, 1274, 85), +(8, 1275, 76), +(8, 1276, 84), +(8, 1277, 99), +(8, 1278, 74), +(8, 1279, 76), +(8, 1280, 96), +(8, 1281, 82), +(8, 1282, 67), +(8, 1283, 93), +(8, 1284, 65), +(8, 1285, 89), +(8, 1286, 69), +(8, 1287, 90), +(8, 1288, 86), +(8, 1289, 78), +(8, 1290, 87), +(8, 1291, 88), +(8, 1292, 88), +(8, 1293, 91), +(8, 1294, 91), +(8, 1295, 92), +(8, 1296, 74), +(8, 1297, 87), +(8, 1298, 70), +(8, 1299, 81), +(8, 1300, 82), +(8, 1301, 86), +(8, 1302, 88), +(8, 1303, 92), +(8, 1304, 98), +(8, 1305, 78), +(8, 1306, 92), +(8, 1307, 68), +(8, 1308, 67), +(8, 1309, 79), +(8, 1310, 77), +(8, 1311, 93), +(8, 1312, 70), +(8, 1313, 87), +(8, 1314, 84), +(8, 1315, 68), +(8, 1316, 81), +(8, 1317, 90), +(8, 1318, 79), +(8, 1319, 89), +(8, 1320, 74), +(8, 1321, 65), +(8, 1322, 94), +(8, 1323, 81), +(8, 1324, 65), +(8, 1325, 96), +(8, 1326, 77), +(8, 1327, 84), +(8, 1328, 70), +(8, 1329, 66), +(8, 1330, 78), +(8, 1331, 78), +(8, 1332, 68), +(8, 1333, 80), +(8, 1334, 96), +(8, 1335, 80), +(8, 1336, 68), +(8, 1337, 97), +(8, 1338, 88), +(8, 1339, 99), +(8, 1340, 89), +(8, 1341, 73), +(8, 1342, 91), +(8, 1343, 69), +(8, 1344, 84), +(8, 1345, 93), +(8, 1346, 76), +(8, 1347, 77), +(8, 1348, 93), +(8, 1349, 95), +(8, 1350, 89), +(8, 1351, 91), +(8, 1352, 90), +(8, 1353, 99), +(8, 1354, 84), +(8, 1355, 72), +(8, 1356, 70), +(8, 1357, 68), +(8, 1358, 85), +(8, 1359, 70), +(8, 1360, 97), +(8, 1361, 78), +(8, 1362, 93), +(8, 1363, 88), +(8, 1364, 65), +(8, 1365, 65), +(8, 1366, 72), +(8, 1367, 83), +(8, 1368, 72), +(8, 1369, 99), +(8, 1370, 68), +(8, 1371, 94), +(8, 1372, 93), +(8, 1373, 97), +(8, 1374, 97), +(8, 1375, 67), +(8, 1376, 92), +(8, 1377, 97), +(8, 1378, 96), +(8, 1379, 88), +(8, 1380, 78), +(8, 1381, 92), +(8, 1382, 75), +(8, 1383, 96), +(8, 1384, 84), +(8, 1385, 95), +(8, 1386, 88), +(8, 1387, 95), +(8, 1388, 81), +(8, 1389, 73), +(8, 1390, 66), +(8, 1391, 78), +(8, 1392, 76), +(8, 1393, 77), +(8, 1394, 97), +(8, 1395, 83), +(8, 1396, 96), +(8, 1397, 72), +(8, 1398, 90), +(8, 1399, 90), +(8, 1400, 87), +(8, 1401, 91), +(8, 1402, 85), +(8, 1403, 68), +(8, 1404, 87), +(8, 1405, 68), +(8, 1406, 72), +(8, 1407, 65), +(8, 1408, 81), +(8, 1409, 73), +(8, 1410, 77), +(8, 1411, 70), +(8, 1412, 99), +(8, 1413, 97), +(8, 1414, 69), +(8, 1415, 81), +(8, 1416, 65), +(8, 1417, 82), +(8, 1418, 69), +(8, 1419, 80), +(8, 1420, 77), +(8, 1421, 68), +(8, 1422, 86), +(8, 1423, 66), +(8, 1424, 88), +(8, 1425, 81), +(8, 1426, 96), +(8, 1427, 66), +(8, 1428, 80), +(8, 1429, 70), +(8, 1430, 70), +(8, 1431, 91), +(8, 1432, 69), +(8, 1433, 89), +(8, 1434, 92), +(8, 1435, 93), +(8, 1436, 66), +(8, 1437, 79), +(8, 1438, 98), +(8, 1439, 94), +(8, 1440, 69), +(8, 1441, 69), +(8, 1442, 88), +(8, 1443, 73), +(8, 1444, 70), +(8, 1445, 79), +(8, 1446, 78), +(8, 1447, 75), +(8, 1448, 71), +(8, 1449, 85), +(8, 1450, 94), +(8, 1451, 80), +(8, 1452, 97), +(8, 1453, 76), +(8, 1454, 98), +(8, 1455, 98), +(8, 1456, 91), +(8, 1457, 97), +(8, 1458, 70), +(8, 1459, 82), +(8, 1460, 74), +(8, 1461, 95), +(8, 1462, 91), +(8, 1463, 76), +(8, 1464, 74), +(8, 1465, 84), +(8, 1466, 92), +(8, 1467, 84), +(8, 1468, 95), +(8, 1469, 98), +(8, 1470, 89), +(8, 1471, 70), +(8, 1472, 84), +(8, 1473, 78), +(8, 1474, 92), +(8, 1475, 86), +(8, 1476, 84), +(8, 1477, 98), +(8, 1478, 95), +(8, 1479, 86), +(8, 1480, 81), +(8, 1481, 92), +(8, 1482, 98), +(8, 1483, 86), +(8, 1484, 99), +(8, 1485, 75), +(8, 1486, 66), +(8, 1487, 87), +(8, 1488, 90), +(8, 1489, 77), +(8, 1490, 69), +(8, 1491, 76), +(8, 1492, 72), +(8, 1493, 88), +(8, 1494, 92), +(8, 1495, 97), +(8, 1496, 87), +(8, 1497, 77), +(8, 1498, 82), +(8, 1499, 69), +(8, 1500, 90), +(8, 1501, 91), +(8, 1502, 71), +(8, 1503, 87), +(8, 1504, 86), +(8, 1505, 91), +(8, 1506, 96), +(8, 1507, 85), +(8, 1508, 92), +(8, 1509, 73), +(8, 1510, 89), +(8, 1511, 93), +(8, 1512, 94), +(8, 1513, 99), +(8, 1514, 80), +(8, 1515, 89), +(8, 1516, 68), +(8, 1517, 74), +(8, 1518, 89), +(8, 1519, 74), +(8, 1520, 89), +(8, 1521, 77), +(8, 1522, 96), +(8, 1523, 72), +(8, 1524, 66), +(8, 1525, 82), +(8, 1526, 70), +(8, 1527, 80), +(8, 1528, 96), +(8, 1529, 95), +(8, 1530, 99), +(8, 1531, 81), +(8, 1532, 86), +(8, 1533, 83), +(8, 1534, 97), +(8, 1535, 97), +(8, 1536, 76), +(8, 1537, 81), +(8, 1538, 90), +(8, 1539, 72), +(8, 1540, 95), +(8, 1541, 76), +(8, 1542, 90), +(8, 1543, 69), +(8, 1544, 87), +(8, 1545, 67), +(8, 1546, 90), +(8, 1547, 72), +(8, 1548, 69), +(8, 1549, 78), +(8, 1550, 82), +(8, 1551, 92), +(8, 1552, 96), +(8, 1553, 98), +(8, 1554, 65), +(8, 1555, 79), +(8, 1556, 73), +(8, 1557, 75), +(8, 1558, 97), +(8, 1559, 65), +(8, 1560, 71), +(8, 1561, 86), +(8, 1562, 66), +(8, 1563, 81), +(8, 1564, 88), +(8, 1565, 68), +(8, 1566, 84), +(8, 1567, 88), +(8, 1568, 72), +(8, 1569, 83), +(8, 1570, 75), +(8, 1571, 72), +(8, 1572, 66), +(8, 1573, 98), +(8, 1574, 75), +(8, 1575, 87), +(8, 1576, 77), +(8, 1577, 73), +(8, 1578, 82), +(8, 1579, 85), +(8, 1580, 82), +(8, 1581, 68), +(8, 1582, 99), +(8, 1583, 90), +(8, 1584, 95), +(8, 1585, 81), +(8, 1586, 67), +(8, 1587, 92), +(8, 2047, 99), +(8, 2048, 91), +(8, 2049, 78), +(8, 2050, 84), +(8, 2051, 73), +(8, 2052, 75), +(8, 2053, 66), +(8, 2054, 68), +(8, 2055, 86), +(8, 2056, 93), +(8, 2057, 95), +(8, 2058, 86), +(8, 2059, 67), +(8, 2060, 97), +(8, 2061, 81), +(8, 2062, 75), +(8, 2063, 94), +(8, 2064, 83), +(8, 2065, 94), +(8, 2066, 70), +(8, 2067, 94), +(8, 2068, 85), +(8, 2069, 90), +(8, 2070, 90), +(8, 2071, 84), +(8, 2072, 96), +(8, 2073, 86), +(8, 2074, 99), +(8, 2075, 89), +(8, 2076, 78), +(8, 2077, 81), +(8, 2078, 82), +(8, 2079, 87), +(8, 2080, 71), +(8, 2081, 71), +(8, 2082, 69), +(8, 2083, 96), +(8, 2084, 88), +(8, 2085, 84), +(8, 2086, 79), +(8, 2087, 74), +(8, 2088, 95), +(8, 2089, 99), +(8, 2090, 89), +(8, 2091, 73), +(8, 2092, 71), +(8, 2093, 94), +(8, 2094, 81), +(8, 2095, 96), +(8, 2096, 78), +(8, 2097, 80), +(8, 2098, 89), +(8, 2099, 76), +(8, 2100, 75), +(8, 2101, 74), +(8, 2102, 79), +(8, 2103, 91), +(8, 2104, 80), +(8, 2105, 89), +(8, 2106, 73), +(8, 2107, 98), +(8, 2108, 87), +(8, 2109, 86), +(8, 2110, 90), +(8, 2111, 98), +(8, 2112, 68), +(8, 2113, 81), +(8, 2114, 95), +(8, 2115, 82), +(8, 2116, 67), +(8, 2117, 88), +(8, 2118, 93), +(8, 2119, 91), +(8, 2120, 98), +(8, 2121, 78), +(8, 2122, 68), +(8, 2123, 93), +(8, 2124, 71), +(8, 2125, 93), +(8, 2126, 93), +(8, 2127, 65), +(8, 2128, 74), +(8, 2129, 88), +(8, 2130, 91), +(8, 2131, 75), +(8, 2132, 66), +(8, 2133, 71), +(8, 2134, 72), +(8, 2135, 96), +(8, 2136, 70), +(8, 2137, 89), +(8, 2138, 70), +(8, 2139, 76), +(8, 2140, 75), +(8, 2141, 87), +(8, 2142, 98), +(8, 2143, 77), +(8, 2144, 78), +(8, 2145, 72), +(8, 2146, 97), +(8, 2147, 98), +(8, 2148, 92), +(8, 2149, 67), +(8, 2150, 66), +(8, 2151, 91), +(8, 2152, 77), +(8, 2153, 72), +(8, 2154, 75), +(8, 2155, 74), +(8, 2156, 98), +(8, 2157, 73), +(8, 2158, 74), +(8, 2159, 76), +(8, 2160, 65), +(8, 2161, 73), +(8, 2162, 94), +(8, 2163, 93), +(8, 2164, 69), +(8, 2165, 77), +(8, 2166, 78), +(8, 2167, 86), +(8, 2168, 93), +(8, 2169, 79), +(8, 2170, 99), +(8, 2171, 67), +(8, 2172, 81), +(8, 2173, 93), +(8, 2174, 86), +(8, 2175, 96), +(8, 2176, 70), +(8, 2177, 80), +(8, 2178, 75), +(8, 2179, 80), +(8, 2180, 73), +(8, 2181, 90), +(8, 2182, 90), +(8, 2183, 88), +(8, 2184, 74), +(8, 2185, 81), +(8, 2186, 91), +(8, 2187, 93), +(8, 2188, 85), +(8, 2189, 77), +(8, 2190, 81), +(8, 2191, 97), +(8, 2192, 91), +(8, 2193, 83), +(8, 2194, 83), +(8, 2195, 84), +(8, 2196, 95), +(8, 2197, 76), +(8, 2198, 93), +(8, 2199, 88), +(8, 2200, 86), +(8, 2201, 98), +(8, 2202, 87), +(8, 2203, 97), +(8, 2204, 71), +(8, 2205, 87), +(8, 2206, 93), +(8, 2207, 96), +(8, 2208, 92), +(8, 2209, 81), +(8, 2210, 99), +(8, 2211, 84), +(8, 2212, 82), +(8, 2213, 66), +(8, 2214, 77), +(8, 2215, 84), +(8, 2216, 96), +(8, 2217, 74), +(8, 2218, 98), +(8, 2219, 94), +(8, 2220, 99), +(8, 2221, 85), +(8, 2222, 68), +(8, 2223, 86), +(8, 2224, 71), +(8, 2225, 92), +(8, 2226, 83), +(8, 2227, 72), +(8, 2228, 76), +(8, 2229, 78), +(8, 2230, 93), +(8, 2231, 78), +(8, 2232, 79), +(8, 2233, 74), +(8, 2234, 76), +(8, 2235, 97), +(8, 2236, 68), +(8, 2237, 98), +(8, 2238, 85), +(8, 2239, 96), +(8, 2240, 93), +(8, 2241, 95), +(8, 2242, 98), +(8, 2243, 98), +(8, 2244, 92), +(8, 2245, 70), +(8, 2246, 78), +(8, 2247, 73), +(8, 2248, 95), +(8, 2249, 84), +(8, 2250, 74), +(8, 2251, 71), +(8, 2252, 65), +(8, 2253, 74), +(8, 2254, 84), +(8, 2255, 67), +(8, 2256, 68), +(8, 2257, 93), +(8, 2258, 66), +(8, 2259, 77), +(8, 2260, 66), +(8, 2261, 74), +(8, 2262, 98), +(8, 2263, 93), +(8, 2264, 68), +(8, 2265, 79), +(8, 2266, 82), +(8, 2267, 91), +(8, 2268, 67), +(8, 2269, 82), +(8, 2270, 98), +(8, 2271, 73), +(8, 2272, 84), +(8, 2273, 96), +(8, 2274, 72), +(8, 2275, 99), +(8, 2276, 70), +(8, 2277, 81), +(8, 2278, 71), +(8, 2279, 91), +(8, 2280, 95), +(8, 2281, 78), +(8, 2282, 70), +(8, 2283, 65), +(8, 2284, 84), +(8, 2285, 72), +(8, 2286, 73), +(8, 2287, 81), +(8, 2288, 81), +(8, 2289, 76), +(8, 2290, 75), +(8, 2291, 89), +(8, 2292, 65), +(8, 2293, 67), +(8, 2294, 81), +(8, 2295, 79), +(8, 2296, 65), +(8, 2297, 69), +(8, 2298, 93), +(8, 2299, 86), +(8, 2300, 66), +(8, 2301, 97), +(8, 2302, 85), +(8, 2303, 76), +(8, 2304, 66), +(8, 2305, 91), +(8, 2306, 91), +(8, 2307, 98), +(8, 2308, 90), +(8, 2309, 82), +(8, 2310, 96), +(8, 2311, 80), +(8, 2312, 71), +(8, 2313, 88), +(8, 2314, 74), +(8, 2315, 73), +(8, 2316, 78), +(8, 2317, 73), +(8, 2318, 80), +(8, 2319, 85), +(8, 2320, 87), +(8, 2321, 92), +(8, 2322, 79), +(8, 2323, 82), +(8, 2324, 74), +(8, 2325, 88), +(8, 2326, 68), +(8, 2327, 95), +(8, 2328, 83), +(8, 2329, 89), +(8, 2330, 97), +(8, 2331, 92), +(8, 2332, 90), +(8, 2333, 84), +(8, 2334, 94), +(8, 2335, 94), +(8, 2336, 66), +(8, 2337, 72), +(8, 2338, 65), +(8, 2339, 84), +(8, 2340, 93), +(8, 2341, 79), +(8, 2342, 89), +(8, 2343, 85), +(8, 2344, 68), +(8, 2345, 73), +(8, 2346, 77), +(8, 2347, 96), +(8, 2348, 94), +(8, 2349, 70), +(8, 2350, 69), +(8, 2351, 98), +(8, 2352, 73), +(8, 2353, 70), +(8, 2354, 70), +(8, 2355, 75), +(8, 2356, 89), +(8, 2357, 91), +(8, 2358, 96), +(8, 2359, 91), +(8, 2360, 82), +(8, 2361, 94), +(8, 2362, 87), +(8, 2363, 99), +(8, 2364, 82), +(8, 2365, 81), +(8, 2366, 95), +(8, 2367, 84), +(8, 2368, 73), +(8, 2369, 73), +(8, 2370, 83), +(8, 2371, 87), +(8, 2372, 83), +(8, 2373, 89), +(8, 2374, 71), +(8, 2375, 92), +(8, 2376, 71), +(8, 2377, 72), +(8, 2378, 67), +(8, 2379, 80), +(8, 2380, 69), +(8, 2381, 70), +(8, 2382, 93), +(8, 2383, 83), +(8, 2384, 90), +(8, 2385, 91), +(8, 2386, 79), +(8, 2387, 85), +(8, 2388, 66), +(8, 2389, 88), +(8, 2390, 90), +(8, 2391, 89), +(8, 2392, 88), +(8, 2393, 79), +(8, 2394, 93), +(8, 2395, 94), +(8, 2396, 90), +(8, 2397, 92), +(8, 2398, 78), +(8, 2399, 68), +(8, 2400, 87), +(8, 2401, 73), +(8, 2402, 88), +(8, 2403, 93), +(8, 2404, 68), +(8, 2405, 65), +(8, 2406, 80), +(8, 2407, 95), +(8, 2408, 67), +(8, 2409, 66), +(8, 2410, 91), +(8, 2411, 77), +(8, 2412, 70), +(8, 2413, 95), +(8, 2414, 97), +(8, 2415, 73), +(8, 2416, 87), +(8, 2417, 65), +(8, 2418, 92), +(8, 2419, 77), +(8, 2420, 88), +(8, 2421, 82), +(8, 2422, 88), +(8, 2423, 69), +(8, 2424, 86), +(8, 2425, 90), +(8, 2426, 88), +(8, 2427, 68), +(8, 2428, 96), +(8, 2429, 92), +(8, 2430, 79), +(8, 2431, 82), +(8, 2432, 98), +(8, 2433, 83), +(8, 2434, 92), +(8, 2435, 94), +(8, 2436, 65), +(8, 2437, 93), +(8, 2438, 67), +(8, 2439, 91), +(8, 2440, 79), +(8, 2441, 70), +(8, 2442, 98), +(8, 2443, 79), +(8, 2444, 74), +(8, 2445, 69), +(8, 2446, 88), +(8, 2447, 67), +(8, 2448, 84), +(8, 2449, 66), +(8, 2450, 91), +(8, 2451, 74), +(8, 2452, 91), +(8, 2453, 71), +(8, 2454, 81), +(8, 2455, 68), +(8, 2456, 68), +(8, 2457, 78), +(8, 2458, 65), +(8, 2459, 84), +(8, 2460, 88), +(8, 2461, 66), +(8, 2462, 76), +(8, 2463, 72), +(8, 2464, 79), +(8, 2465, 89), +(8, 2466, 77), +(8, 2467, 73), +(8, 2468, 80), +(8, 2469, 84), +(8, 2470, 80), +(8, 2471, 87), +(8, 2472, 72), +(8, 2473, 89), +(8, 2474, 88), +(8, 2475, 78), +(8, 2476, 96), +(8, 2477, 68), +(8, 2478, 84), +(8, 2479, 68), +(8, 2480, 78), +(8, 2481, 70), +(8, 2482, 86), +(8, 2483, 84), +(8, 2484, 92), +(8, 2485, 98), +(8, 2486, 74), +(8, 2487, 98), +(8, 2488, 68), +(8, 2489, 81), +(8, 2490, 70), +(8, 2491, 93), +(8, 2492, 98), +(8, 2493, 88), +(8, 2494, 91), +(8, 2495, 77), +(8, 2496, 93), +(8, 2497, 96), +(8, 2498, 84), +(8, 2499, 82), +(8, 2500, 94), +(8, 2501, 85), +(8, 2502, 77), +(8, 2503, 77), +(8, 2504, 85), +(8, 2505, 68), +(8, 2506, 76), +(8, 2507, 66), +(8, 2508, 90), +(8, 2509, 84), +(8, 2510, 92), +(8, 2511, 88), +(8, 2512, 81), +(8, 2513, 98), +(8, 2514, 73), +(8, 2515, 87), +(8, 2516, 75), +(8, 2517, 75), +(8, 2518, 88), +(8, 2519, 91), +(8, 2520, 95), +(8, 2521, 66), +(8, 2522, 77), +(8, 2523, 74), +(8, 2524, 71), +(8, 2525, 95), +(8, 2526, 88), +(8, 2527, 78), +(8, 2528, 71), +(8, 2529, 66), +(8, 2530, 83), +(8, 2531, 85), +(8, 2532, 75), +(8, 2533, 82), +(8, 2534, 68), +(8, 2535, 82), +(8, 2536, 93), +(8, 2537, 89), +(8, 2538, 85), +(8, 2539, 72), +(8, 2540, 78), +(8, 2541, 77), +(8, 2542, 65), +(8, 2543, 88), +(8, 2544, 98), +(8, 2545, 68), +(8, 2546, 67), +(8, 2547, 97), +(8, 2548, 85), +(8, 2549, 94), +(8, 2550, 96), +(8, 2551, 70), +(8, 2552, 68), +(8, 2553, 72), +(8, 2554, 88), +(8, 2555, 76), +(8, 2556, 83), +(8, 2557, 98), +(8, 2558, 82), +(8, 2559, 65), +(8, 2560, 85), +(8, 2561, 87), +(8, 2562, 65), +(8, 2563, 91), +(8, 2564, 70), +(8, 2565, 78), +(8, 2566, 98), +(8, 2567, 69), +(8, 2568, 83), +(8, 2569, 73), +(8, 2570, 84), +(8, 2571, 86), +(8, 2572, 95), +(8, 2573, 78), +(8, 2574, 94), +(8, 2575, 67), +(8, 2576, 94), +(8, 2577, 81), +(8, 2578, 68), +(8, 2579, 81), +(8, 2580, 72), +(8, 2581, 68), +(8, 2582, 96), +(8, 2583, 88), +(8, 2584, 83), +(8, 2585, 91), +(8, 2586, 76), +(8, 2587, 84), +(8, 2588, 90), +(8, 2589, 71), +(8, 2590, 87), +(8, 2591, 80), +(8, 2592, 65), +(8, 2593, 91), +(8, 2594, 65), +(8, 2595, 68), +(8, 2596, 95), +(8, 2597, 89), +(8, 2598, 65), +(8, 2599, 78), +(8, 2600, 83), +(8, 2601, 91), +(8, 2602, 77), +(8, 2603, 72), +(8, 2604, 67), +(8, 2605, 99), +(8, 2606, 79), +(8, 2607, 97), +(8, 2608, 85), +(8, 2609, 87), +(8, 2610, 72), +(9, 1, 97), +(9, 2, 78), +(9, 3, 69), +(9, 4, 78), +(9, 5, 79), +(9, 6, 95), +(9, 7, 96), +(9, 8, 91), +(9, 9, 84), +(9, 10, 76), +(9, 11, 98), +(9, 12, 76), +(9, 13, 79), +(9, 14, 80), +(9, 15, 82), +(9, 16, 65), +(9, 17, 78), +(9, 18, 96), +(9, 19, 86), +(9, 20, 80), +(9, 21, 67), +(9, 22, 95), +(9, 23, 65), +(9, 24, 91), +(9, 25, 69), +(9, 26, 84), +(9, 27, 71), +(9, 28, 86), +(9, 29, 91), +(9, 30, 91), +(9, 31, 83), +(9, 32, 71), +(9, 33, 66), +(9, 34, 72), +(9, 35, 74), +(9, 36, 68), +(9, 37, 95), +(9, 38, 92), +(9, 39, 98), +(9, 40, 87), +(9, 41, 99), +(9, 42, 85), +(9, 43, 77), +(9, 44, 73), +(9, 45, 72), +(9, 46, 82), +(9, 47, 95), +(9, 48, 68), +(9, 49, 71), +(9, 50, 91), +(9, 51, 91), +(9, 52, 88), +(9, 53, 66), +(9, 54, 79), +(9, 55, 75), +(9, 56, 77), +(9, 57, 78), +(9, 58, 84), +(9, 59, 65), +(9, 60, 89), +(9, 61, 69), +(9, 62, 97), +(9, 63, 99), +(9, 64, 93), +(9, 65, 77), +(9, 66, 79), +(9, 67, 75), +(9, 68, 98), +(9, 69, 70), +(9, 70, 92), +(9, 71, 98), +(9, 72, 72), +(9, 73, 83), +(9, 74, 79), +(9, 75, 97), +(9, 76, 67), +(9, 77, 90), +(9, 78, 98), +(9, 79, 92), +(9, 80, 98), +(9, 81, 65), +(9, 82, 92), +(9, 83, 77), +(9, 84, 99), +(9, 85, 97), +(9, 86, 94), +(9, 87, 93), +(9, 88, 83), +(9, 89, 95), +(9, 90, 74), +(9, 91, 82), +(9, 92, 98), +(9, 93, 79), +(9, 94, 83), +(9, 95, 95), +(9, 96, 74), +(9, 97, 83), +(9, 98, 74), +(9, 99, 65), +(9, 100, 92), +(9, 101, 92), +(9, 102, 81), +(9, 103, 72), +(9, 104, 67), +(9, 105, 90), +(9, 106, 68), +(9, 107, 67), +(9, 108, 89), +(9, 109, 81), +(9, 110, 96), +(9, 111, 71), +(9, 112, 82), +(9, 113, 69), +(9, 114, 70), +(9, 115, 75), +(9, 116, 85), +(9, 117, 73), +(9, 118, 66), +(9, 119, 82), +(9, 120, 91), +(9, 121, 80), +(9, 122, 67), +(9, 123, 81), +(9, 124, 90), +(9, 125, 93), +(9, 126, 95), +(9, 127, 92), +(9, 128, 81), +(9, 129, 98), +(9, 130, 69), +(9, 131, 76), +(9, 132, 73), +(9, 133, 76), +(9, 134, 98), +(9, 135, 82), +(9, 136, 66), +(9, 137, 73), +(9, 138, 73), +(9, 139, 99), +(9, 140, 96), +(9, 141, 65), +(9, 142, 95), +(9, 143, 75), +(9, 144, 93), +(9, 145, 82), +(9, 146, 66), +(9, 147, 73), +(9, 148, 95), +(9, 149, 79), +(9, 150, 88), +(9, 151, 74), +(9, 152, 71), +(9, 153, 83), +(9, 154, 81), +(9, 155, 77), +(9, 156, 95), +(9, 157, 90), +(9, 158, 80), +(9, 159, 72), +(9, 160, 65), +(9, 161, 67), +(9, 162, 95), +(9, 163, 72), +(9, 164, 70), +(9, 165, 96), +(9, 166, 98), +(9, 167, 75), +(9, 168, 95), +(9, 169, 76), +(9, 170, 98), +(9, 171, 97), +(9, 172, 75), +(9, 173, 67), +(9, 174, 86), +(9, 175, 76), +(9, 176, 71), +(9, 177, 75), +(9, 178, 83), +(9, 179, 80), +(9, 180, 93), +(9, 181, 92), +(9, 182, 82), +(9, 183, 96), +(9, 184, 95), +(9, 185, 94), +(9, 186, 95), +(9, 187, 94), +(9, 188, 92), +(9, 189, 92), +(9, 190, 83), +(9, 191, 78), +(9, 192, 98), +(9, 193, 77), +(9, 194, 73), +(9, 195, 73), +(9, 196, 76), +(9, 197, 70), +(9, 198, 97), +(9, 199, 87), +(9, 200, 91), +(9, 201, 89), +(9, 202, 81), +(9, 203, 93), +(9, 204, 68), +(9, 205, 79), +(9, 206, 94), +(9, 207, 81), +(9, 208, 95), +(9, 209, 92), +(9, 210, 88), +(9, 211, 95), +(9, 212, 76), +(9, 213, 87), +(9, 214, 78), +(9, 215, 92), +(9, 216, 87), +(9, 217, 94), +(9, 218, 66), +(9, 219, 99), +(9, 220, 95), +(9, 221, 85), +(9, 222, 73), +(9, 223, 77), +(9, 224, 70), +(9, 225, 72), +(9, 226, 96), +(9, 227, 74), +(9, 228, 65), +(9, 229, 94), +(9, 230, 70), +(9, 231, 79), +(9, 232, 78), +(9, 233, 89), +(9, 234, 87), +(9, 235, 97), +(9, 236, 68), +(9, 237, 85), +(9, 238, 88), +(9, 239, 72), +(9, 240, 93), +(9, 241, 81), +(9, 242, 77), +(9, 243, 88), +(9, 244, 78), +(9, 245, 70), +(9, 246, 67), +(9, 247, 75), +(9, 248, 74), +(9, 249, 67), +(9, 250, 83), +(9, 251, 90), +(9, 252, 86), +(9, 253, 77), +(9, 254, 69), +(9, 255, 66), +(9, 256, 99), +(9, 257, 89), +(9, 258, 80), +(9, 259, 92), +(9, 260, 85), +(9, 261, 81), +(9, 262, 92), +(9, 263, 69), +(9, 264, 88), +(9, 265, 98), +(9, 266, 94), +(9, 267, 78), +(9, 268, 87), +(9, 269, 68), +(9, 270, 65), +(9, 271, 93), +(9, 272, 71), +(9, 273, 83), +(9, 274, 77), +(9, 275, 82), +(9, 276, 82), +(9, 277, 79), +(9, 278, 76), +(9, 279, 84), +(9, 280, 73), +(9, 281, 90), +(9, 282, 96), +(9, 283, 91), +(9, 284, 90), +(9, 285, 98), +(9, 286, 93), +(9, 287, 98), +(9, 288, 90), +(9, 289, 73), +(9, 290, 97), +(9, 291, 90), +(9, 292, 86), +(9, 293, 74), +(9, 294, 68), +(9, 295, 80), +(9, 296, 79), +(9, 297, 76), +(9, 298, 79), +(9, 299, 87), +(9, 300, 95), +(9, 301, 99), +(9, 302, 67), +(9, 303, 80), +(9, 304, 97), +(9, 305, 90), +(9, 306, 88), +(9, 307, 70), +(9, 308, 70), +(9, 309, 80), +(9, 310, 88), +(9, 311, 94), +(9, 312, 85), +(9, 313, 68), +(9, 314, 95), +(9, 315, 92), +(9, 316, 93), +(9, 317, 66), +(9, 318, 78), +(9, 319, 69), +(9, 320, 92), +(9, 321, 86), +(9, 322, 67), +(9, 323, 71), +(9, 324, 89), +(9, 325, 72), +(9, 326, 83), +(9, 327, 77), +(9, 328, 70), +(9, 329, 86), +(9, 330, 69), +(9, 331, 89), +(9, 332, 95), +(9, 333, 70), +(9, 334, 81), +(9, 335, 98), +(9, 336, 83), +(9, 337, 83), +(9, 338, 78), +(9, 339, 85), +(9, 340, 71), +(9, 341, 91), +(9, 342, 68), +(9, 343, 97), +(9, 344, 77), +(9, 345, 95), +(9, 346, 68), +(9, 347, 72), +(9, 348, 91), +(9, 349, 74), +(9, 350, 90), +(9, 351, 74), +(9, 352, 91), +(9, 353, 97), +(9, 354, 91), +(9, 355, 96), +(9, 356, 72), +(9, 357, 66), +(9, 358, 96), +(9, 359, 99), +(9, 360, 93), +(9, 361, 71), +(9, 362, 72), +(9, 363, 68), +(9, 364, 89), +(9, 365, 68), +(9, 366, 92), +(9, 367, 95), +(9, 368, 79), +(9, 369, 92), +(9, 370, 95), +(9, 371, 69), +(9, 372, 76), +(9, 373, 78), +(9, 374, 85), +(9, 375, 84), +(9, 376, 86), +(9, 377, 93), +(9, 378, 68), +(9, 379, 79), +(9, 380, 75), +(9, 381, 66), +(9, 382, 93), +(9, 383, 83), +(9, 384, 83), +(9, 385, 83), +(9, 386, 88), +(9, 387, 84), +(9, 388, 80), +(9, 389, 85), +(9, 390, 96), +(9, 391, 81), +(9, 392, 94), +(9, 393, 70), +(9, 394, 69), +(9, 395, 73), +(9, 396, 96), +(9, 397, 72), +(9, 398, 91), +(9, 399, 93), +(9, 400, 89), +(9, 401, 85), +(9, 402, 94), +(9, 403, 73), +(9, 404, 86), +(9, 405, 90), +(9, 406, 74), +(9, 407, 86), +(9, 408, 92), +(9, 409, 74), +(9, 410, 73), +(9, 411, 99), +(9, 412, 77), +(9, 413, 86), +(9, 414, 94), +(9, 415, 96), +(9, 416, 78), +(9, 417, 92), +(9, 418, 67), +(9, 419, 85), +(9, 420, 77), +(9, 421, 65), +(9, 422, 94), +(9, 423, 87), +(9, 424, 68), +(9, 425, 67), +(9, 426, 91), +(9, 427, 65), +(9, 428, 84), +(9, 429, 96), +(9, 430, 80), +(9, 431, 77), +(9, 432, 96), +(9, 433, 84), +(9, 434, 81), +(9, 435, 87), +(9, 436, 95), +(9, 437, 67), +(9, 438, 95), +(9, 439, 98), +(9, 440, 91), +(9, 441, 68), +(9, 442, 74), +(9, 443, 80), +(9, 444, 72), +(9, 445, 65), +(9, 446, 99), +(9, 447, 91), +(9, 448, 88), +(9, 449, 67), +(9, 450, 85), +(9, 451, 93), +(9, 452, 65), +(9, 453, 79), +(9, 454, 91), +(9, 455, 80), +(9, 456, 74), +(9, 457, 65), +(9, 458, 70), +(9, 459, 95), +(9, 460, 69), +(9, 461, 89), +(9, 462, 72), +(9, 463, 93), +(9, 464, 78), +(9, 465, 73), +(9, 466, 97), +(9, 467, 92), +(9, 468, 83), +(9, 469, 72), +(9, 470, 92), +(9, 471, 89), +(9, 472, 78), +(9, 473, 90), +(9, 474, 86), +(9, 475, 96), +(9, 476, 81), +(9, 477, 79), +(9, 478, 97), +(9, 479, 67), +(9, 480, 92), +(9, 481, 79), +(9, 482, 65), +(9, 483, 81), +(9, 484, 88), +(9, 485, 72), +(9, 486, 69), +(9, 487, 79), +(9, 488, 90), +(9, 489, 76), +(9, 490, 82), +(9, 491, 82), +(9, 492, 95), +(9, 493, 74), +(9, 494, 77), +(9, 495, 73), +(9, 496, 80), +(9, 497, 77), +(9, 498, 84), +(9, 499, 80), +(9, 500, 87), +(9, 501, 73), +(9, 502, 76), +(9, 503, 90), +(9, 504, 97), +(9, 505, 90), +(9, 506, 78), +(9, 507, 96), +(9, 508, 83), +(9, 509, 84), +(9, 510, 71), +(9, 511, 94), +(9, 512, 99), +(9, 513, 83), +(9, 514, 98), +(9, 515, 89), +(9, 516, 85), +(9, 517, 88), +(9, 518, 83), +(9, 519, 66), +(9, 520, 95), +(9, 521, 79), +(9, 522, 72), +(9, 523, 74), +(9, 524, 94), +(9, 525, 82), +(9, 526, 89), +(9, 527, 98), +(9, 528, 68), +(9, 529, 77), +(9, 530, 86), +(9, 531, 70), +(9, 532, 91), +(9, 533, 88), +(9, 534, 73), +(9, 535, 95), +(9, 536, 78), +(9, 537, 92), +(9, 538, 97), +(9, 539, 65), +(9, 540, 84), +(9, 541, 70), +(9, 542, 74), +(9, 543, 66), +(9, 544, 67), +(9, 545, 98), +(9, 546, 79), +(9, 547, 78), +(9, 548, 82), +(9, 549, 71), +(9, 550, 88), +(9, 551, 97), +(9, 552, 67), +(9, 553, 85), +(9, 554, 91), +(9, 555, 71), +(9, 556, 95), +(9, 557, 88), +(9, 558, 94), +(9, 559, 87), +(9, 560, 71), +(9, 561, 92), +(9, 562, 91), +(9, 563, 89), +(9, 564, 90), +(9, 1024, 86), +(9, 1025, 94), +(9, 1026, 85), +(9, 1027, 66), +(9, 1028, 79), +(9, 1029, 78), +(9, 1030, 95), +(9, 1031, 84), +(9, 1032, 87), +(9, 1033, 78), +(9, 1034, 73), +(9, 1035, 77), +(9, 1036, 72), +(9, 1037, 90), +(9, 1038, 70), +(9, 1039, 81), +(9, 1040, 90), +(9, 1041, 66), +(9, 1042, 74), +(9, 1043, 87), +(9, 1044, 97), +(9, 1045, 98), +(9, 1046, 98), +(9, 1047, 88), +(9, 1048, 73), +(9, 1049, 78), +(9, 1050, 66), +(9, 1051, 90), +(9, 1052, 79), +(9, 1053, 73), +(9, 1054, 68), +(9, 1055, 84), +(9, 1056, 85), +(9, 1057, 82), +(9, 1058, 75), +(9, 1059, 81), +(9, 1060, 84), +(9, 1061, 79), +(9, 1062, 74), +(9, 1063, 75), +(9, 1064, 89), +(9, 1065, 69), +(9, 1066, 85), +(9, 1067, 90), +(9, 1068, 74), +(9, 1069, 79), +(9, 1070, 73), +(9, 1071, 86), +(9, 1072, 75), +(9, 1073, 82), +(9, 1074, 99), +(9, 1075, 73), +(9, 1076, 99), +(9, 1077, 73), +(9, 1078, 97), +(9, 1079, 88), +(9, 1080, 87), +(9, 1081, 73), +(9, 1082, 74), +(9, 1083, 73), +(9, 1084, 90), +(9, 1085, 82), +(9, 1086, 88), +(9, 1087, 91), +(9, 1088, 98), +(9, 1089, 80), +(9, 1090, 76), +(9, 1091, 69), +(9, 1092, 87), +(9, 1093, 90), +(9, 1094, 65), +(9, 1095, 79), +(9, 1096, 91), +(9, 1097, 74), +(9, 1098, 68), +(9, 1099, 84), +(9, 1100, 70), +(9, 1101, 93), +(9, 1102, 81), +(9, 1103, 96), +(9, 1104, 82), +(9, 1105, 72), +(9, 1106, 68), +(9, 1107, 94), +(9, 1108, 85), +(9, 1109, 99), +(9, 1110, 87), +(9, 1111, 76), +(9, 1112, 83), +(9, 1113, 94), +(9, 1114, 68), +(9, 1115, 68), +(9, 1116, 65), +(9, 1117, 78), +(9, 1118, 83), +(9, 1119, 68), +(9, 1120, 68), +(9, 1121, 90), +(9, 1122, 86), +(9, 1123, 78), +(9, 1124, 75), +(9, 1125, 80), +(9, 1126, 71), +(9, 1127, 86), +(9, 1128, 78), +(9, 1129, 79), +(9, 1130, 85), +(9, 1131, 70), +(9, 1132, 68), +(9, 1133, 84), +(9, 1134, 75), +(9, 1135, 85), +(9, 1136, 85), +(9, 1137, 72), +(9, 1138, 65), +(9, 1139, 87), +(9, 1140, 67), +(9, 1141, 86), +(9, 1142, 75), +(9, 1143, 68), +(9, 1144, 74), +(9, 1145, 77), +(9, 1146, 96), +(9, 1147, 90), +(9, 1148, 77), +(9, 1149, 80), +(9, 1150, 76), +(9, 1151, 85), +(9, 1152, 76), +(9, 1153, 65), +(9, 1154, 88), +(9, 1155, 75), +(9, 1156, 94), +(9, 1157, 65), +(9, 1158, 88), +(9, 1159, 82), +(9, 1160, 67), +(9, 1161, 80), +(9, 1162, 72), +(9, 1163, 65), +(9, 1164, 79), +(9, 1165, 76), +(9, 1166, 88), +(9, 1167, 96), +(9, 1168, 99), +(9, 1169, 69), +(9, 1170, 66), +(9, 1171, 85), +(9, 1172, 98), +(9, 1173, 71), +(9, 1174, 87), +(9, 1175, 67), +(9, 1176, 80), +(9, 1177, 74), +(9, 1178, 85), +(9, 1179, 88), +(9, 1180, 65), +(9, 1181, 75), +(9, 1182, 73), +(9, 1183, 82), +(9, 1184, 67), +(9, 1185, 77), +(9, 1186, 67), +(9, 1187, 74), +(9, 1188, 96), +(9, 1189, 91), +(9, 1190, 93), +(9, 1191, 81), +(9, 1192, 83), +(9, 1193, 67), +(9, 1194, 90), +(9, 1195, 79), +(9, 1196, 98), +(9, 1197, 91), +(9, 1198, 67), +(9, 1199, 86), +(9, 1200, 75), +(9, 1201, 92), +(9, 1202, 93), +(9, 1203, 76), +(9, 1204, 92), +(9, 1205, 68), +(9, 1206, 78), +(9, 1207, 98), +(9, 1208, 94), +(9, 1209, 84), +(9, 1210, 81), +(9, 1211, 75), +(9, 1212, 81), +(9, 1213, 84), +(9, 1214, 79), +(9, 1215, 77), +(9, 1216, 67), +(9, 1217, 93), +(9, 1218, 71), +(9, 1219, 89), +(9, 1220, 97), +(9, 1221, 89), +(9, 1222, 92), +(9, 1223, 99), +(9, 1224, 68), +(9, 1225, 92), +(9, 1226, 73), +(9, 1227, 74), +(9, 1228, 78), +(9, 1229, 84), +(9, 1230, 66), +(9, 1231, 80), +(9, 1232, 65), +(9, 1233, 86), +(9, 1234, 65), +(9, 1235, 89), +(9, 1236, 74), +(9, 1237, 67), +(9, 1238, 72), +(9, 1239, 81), +(9, 1240, 95), +(9, 1241, 80), +(9, 1242, 80), +(9, 1243, 87), +(9, 1244, 98), +(9, 1245, 97), +(9, 1246, 67), +(9, 1247, 85), +(9, 1248, 84), +(9, 1249, 97), +(9, 1250, 70), +(9, 1251, 93), +(9, 1252, 81), +(9, 1253, 91), +(9, 1254, 74), +(9, 1255, 83), +(9, 1256, 92), +(9, 1257, 89), +(9, 1258, 81), +(9, 1259, 96), +(9, 1260, 69), +(9, 1261, 84), +(9, 1262, 93), +(9, 1263, 83), +(9, 1264, 99), +(9, 1265, 76), +(9, 1266, 65), +(9, 1267, 93), +(9, 1268, 89), +(9, 1269, 79), +(9, 1270, 94), +(9, 1271, 78), +(9, 1272, 80), +(9, 1273, 84), +(9, 1274, 91), +(9, 1275, 81), +(9, 1276, 88), +(9, 1277, 70), +(9, 1278, 95), +(9, 1279, 87), +(9, 1280, 74), +(9, 1281, 74), +(9, 1282, 72), +(9, 1283, 68), +(9, 1284, 99), +(9, 1285, 80), +(9, 1286, 99), +(9, 1287, 97), +(9, 1288, 90), +(9, 1289, 99), +(9, 1290, 99), +(9, 1291, 85), +(9, 1292, 99), +(9, 1293, 68), +(9, 1294, 84), +(9, 1295, 80), +(9, 1296, 85), +(9, 1297, 92), +(9, 1298, 77), +(9, 1299, 95), +(9, 1300, 74), +(9, 1301, 93), +(9, 1302, 91), +(9, 1303, 71), +(9, 1304, 75), +(9, 1305, 74), +(9, 1306, 75), +(9, 1307, 75), +(9, 1308, 76), +(9, 1309, 94), +(9, 1310, 67), +(9, 1311, 86), +(9, 1312, 87), +(9, 1313, 78), +(9, 1314, 77), +(9, 1315, 77), +(9, 1316, 75), +(9, 1317, 74), +(9, 1318, 68), +(9, 1319, 90), +(9, 1320, 70), +(9, 1321, 89), +(9, 1322, 85), +(9, 1323, 72), +(9, 1324, 94), +(9, 1325, 68), +(9, 1326, 70), +(9, 1327, 81), +(9, 1328, 89), +(9, 1329, 77), +(9, 1330, 68), +(9, 1331, 94), +(9, 1332, 78), +(9, 1333, 95), +(9, 1334, 93), +(9, 1335, 78), +(9, 1336, 86), +(9, 1337, 72), +(9, 1338, 93), +(9, 1339, 94), +(9, 1340, 81), +(9, 1341, 81), +(9, 1342, 91), +(9, 1343, 95), +(9, 1344, 74), +(9, 1345, 77), +(9, 1346, 80), +(9, 1347, 80), +(9, 1348, 93), +(9, 1349, 72), +(9, 1350, 73), +(9, 1351, 73), +(9, 1352, 68), +(9, 1353, 71), +(9, 1354, 88), +(9, 1355, 82), +(9, 1356, 66), +(9, 1357, 83), +(9, 1358, 99), +(9, 1359, 97), +(9, 1360, 76), +(9, 1361, 87), +(9, 1362, 69), +(9, 1363, 88), +(9, 1364, 85), +(9, 1365, 78), +(9, 1366, 77), +(9, 1367, 95), +(9, 1368, 69), +(9, 1369, 67), +(9, 1370, 76), +(9, 1371, 98), +(9, 1372, 89), +(9, 1373, 77), +(9, 1374, 90), +(9, 1375, 94), +(9, 1376, 73), +(9, 1377, 81), +(9, 1378, 73), +(9, 1379, 99), +(9, 1380, 83), +(9, 1381, 87), +(9, 1382, 75), +(9, 1383, 73), +(9, 1384, 77), +(9, 1385, 91), +(9, 1386, 98), +(9, 1387, 92), +(9, 1388, 82), +(9, 1389, 79), +(9, 1390, 84), +(9, 1391, 98), +(9, 1392, 93), +(9, 1393, 79), +(9, 1394, 92), +(9, 1395, 98), +(9, 1396, 74), +(9, 1397, 71), +(9, 1398, 97), +(9, 1399, 71), +(9, 1400, 79), +(9, 1401, 92), +(9, 1402, 91), +(9, 1403, 79), +(9, 1404, 83), +(9, 1405, 99), +(9, 1406, 75), +(9, 1407, 67), +(9, 1408, 70), +(9, 1409, 67), +(9, 1410, 97), +(9, 1411, 93), +(9, 1412, 93), +(9, 1413, 80), +(9, 1414, 97), +(9, 1415, 87), +(9, 1416, 78), +(9, 1417, 75), +(9, 1418, 90), +(9, 1419, 95), +(9, 1420, 79), +(9, 1421, 81), +(9, 1422, 87), +(9, 1423, 99), +(9, 1424, 83), +(9, 1425, 91), +(9, 1426, 90), +(9, 1427, 89), +(9, 1428, 84), +(9, 1429, 98), +(9, 1430, 76), +(9, 1431, 85), +(9, 1432, 72), +(9, 1433, 98), +(9, 1434, 90), +(9, 1435, 72), +(9, 1436, 69), +(9, 1437, 81), +(9, 1438, 68), +(9, 1439, 73), +(9, 1440, 69), +(9, 1441, 93), +(9, 1442, 84), +(9, 1443, 93), +(9, 1444, 71), +(9, 1445, 75), +(9, 1446, 83), +(9, 1447, 68), +(9, 1448, 72), +(9, 1449, 83), +(9, 1450, 73), +(9, 1451, 98), +(9, 1452, 96), +(9, 1453, 65), +(9, 1454, 84), +(9, 1455, 75), +(9, 1456, 85), +(9, 1457, 69), +(9, 1458, 67), +(9, 1459, 87), +(9, 1460, 70), +(9, 1461, 97), +(9, 1462, 93), +(9, 1463, 80), +(9, 1464, 66), +(9, 1465, 78), +(9, 1466, 91), +(9, 1467, 93), +(9, 1468, 78), +(9, 1469, 77), +(9, 1470, 70), +(9, 1471, 90), +(9, 1472, 67), +(9, 1473, 92), +(9, 1474, 81), +(9, 1475, 93), +(9, 1476, 90), +(9, 1477, 98), +(9, 1478, 82), +(9, 1479, 77), +(9, 1480, 65), +(9, 1481, 91), +(9, 1482, 74), +(9, 1483, 83), +(9, 1484, 82), +(9, 1485, 70), +(9, 1486, 88), +(9, 1487, 67), +(9, 1488, 69), +(9, 1489, 90), +(9, 1490, 96), +(9, 1491, 93), +(9, 1492, 66), +(9, 1493, 69), +(9, 1494, 84), +(9, 1495, 77), +(9, 1496, 89), +(9, 1497, 99), +(9, 1498, 79), +(9, 1499, 84), +(9, 1500, 67), +(9, 1501, 79), +(9, 1502, 70), +(9, 1503, 67), +(9, 1504, 96), +(9, 1505, 79), +(9, 1506, 97), +(9, 1507, 92), +(9, 1508, 88), +(9, 1509, 78), +(9, 1510, 99), +(9, 1511, 84), +(9, 1512, 65), +(9, 1513, 73), +(9, 1514, 67), +(9, 1515, 68), +(9, 1516, 72), +(9, 1517, 82), +(9, 1518, 84), +(9, 1519, 74), +(9, 1520, 92), +(9, 1521, 89), +(9, 1522, 96), +(9, 1523, 66), +(9, 1524, 86), +(9, 1525, 80), +(9, 1526, 72), +(9, 1527, 82), +(9, 1528, 90), +(9, 1529, 87), +(9, 1530, 87), +(9, 1531, 78), +(9, 1532, 68), +(9, 1533, 77), +(9, 1534, 85), +(9, 1535, 92), +(9, 1536, 86), +(9, 1537, 68), +(9, 1538, 96), +(9, 1539, 67), +(9, 1540, 81), +(9, 1541, 80), +(9, 1542, 94), +(9, 1543, 82), +(9, 1544, 94), +(9, 1545, 90), +(9, 1546, 96), +(9, 1547, 66), +(9, 1548, 71), +(9, 1549, 79), +(9, 1550, 65), +(9, 1551, 71), +(9, 1552, 69), +(9, 1553, 78), +(9, 1554, 96), +(9, 1555, 82), +(9, 1556, 68), +(9, 1557, 77), +(9, 1558, 76), +(9, 1559, 98), +(9, 1560, 93), +(9, 1561, 86), +(9, 1562, 77), +(9, 1563, 78), +(9, 1564, 73), +(9, 1565, 94), +(9, 1566, 94), +(9, 1567, 81), +(9, 1568, 76), +(9, 1569, 67), +(9, 1570, 76), +(9, 1571, 90), +(9, 1572, 91), +(9, 1573, 92), +(9, 1574, 78), +(9, 1575, 88), +(9, 1576, 81), +(9, 1577, 74), +(9, 1578, 79), +(9, 1579, 95), +(9, 1580, 91), +(9, 1581, 78), +(9, 1582, 78), +(9, 1583, 67), +(9, 1584, 66), +(9, 1585, 85), +(9, 1586, 88), +(9, 1587, 81), +(9, 2047, 95), +(9, 2048, 66), +(9, 2049, 77), +(9, 2050, 76), +(9, 2051, 98), +(9, 2052, 76), +(9, 2053, 79), +(9, 2054, 76), +(9, 2055, 98), +(9, 2056, 73), +(9, 2057, 71), +(9, 2058, 99), +(9, 2059, 77), +(9, 2060, 83), +(9, 2061, 79), +(9, 2062, 86), +(9, 2063, 92), +(9, 2064, 85), +(9, 2065, 85), +(9, 2066, 71), +(9, 2067, 75), +(9, 2068, 65), +(9, 2069, 94), +(9, 2070, 78), +(9, 2071, 80), +(9, 2072, 98), +(9, 2073, 86), +(9, 2074, 66), +(9, 2075, 70), +(9, 2076, 88), +(9, 2077, 79), +(9, 2078, 69), +(9, 2079, 78), +(9, 2080, 91), +(9, 2081, 70), +(9, 2082, 67), +(9, 2083, 91), +(9, 2084, 76), +(9, 2085, 87), +(9, 2086, 95), +(9, 2087, 92), +(9, 2088, 96), +(9, 2089, 96), +(9, 2090, 73), +(9, 2091, 77), +(9, 2092, 98), +(9, 2093, 81), +(9, 2094, 89), +(9, 2095, 81), +(9, 2096, 78), +(9, 2097, 88), +(9, 2098, 93), +(9, 2099, 73), +(9, 2100, 91), +(9, 2101, 77), +(9, 2102, 76), +(9, 2103, 85), +(9, 2104, 80), +(9, 2105, 91), +(9, 2106, 77), +(9, 2107, 83), +(9, 2108, 96), +(9, 2109, 98), +(9, 2110, 99), +(9, 2111, 86), +(9, 2112, 93), +(9, 2113, 70), +(9, 2114, 89), +(9, 2115, 88), +(9, 2116, 78), +(9, 2117, 70), +(9, 2118, 70), +(9, 2119, 73), +(9, 2120, 87), +(9, 2121, 69), +(9, 2122, 73), +(9, 2123, 98), +(9, 2124, 69), +(9, 2125, 85), +(9, 2126, 98), +(9, 2127, 95), +(9, 2128, 73), +(9, 2129, 78), +(9, 2130, 85), +(9, 2131, 86), +(9, 2132, 94), +(9, 2133, 96), +(9, 2134, 88), +(9, 2135, 82), +(9, 2136, 69), +(9, 2137, 81), +(9, 2138, 99), +(9, 2139, 95), +(9, 2140, 90), +(9, 2141, 92), +(9, 2142, 85), +(9, 2143, 99), +(9, 2144, 68), +(9, 2145, 94), +(9, 2146, 84), +(9, 2147, 66), +(9, 2148, 93), +(9, 2149, 67), +(9, 2150, 74), +(9, 2151, 99), +(9, 2152, 73), +(9, 2153, 90), +(9, 2154, 65), +(9, 2155, 78), +(9, 2156, 80), +(9, 2157, 65), +(9, 2158, 94), +(9, 2159, 66), +(9, 2160, 81), +(9, 2161, 76), +(9, 2162, 99), +(9, 2163, 76), +(9, 2164, 84), +(9, 2165, 68), +(9, 2166, 91), +(9, 2167, 90), +(9, 2168, 84), +(9, 2169, 99), +(9, 2170, 68), +(9, 2171, 92), +(9, 2172, 81), +(9, 2173, 74), +(9, 2174, 98), +(9, 2175, 96), +(9, 2176, 92), +(9, 2177, 82), +(9, 2178, 87), +(9, 2179, 88), +(9, 2180, 71), +(9, 2181, 88), +(9, 2182, 99), +(9, 2183, 99), +(9, 2184, 68), +(9, 2185, 94), +(9, 2186, 78), +(9, 2187, 71), +(9, 2188, 70), +(9, 2189, 89), +(9, 2190, 92), +(9, 2191, 71), +(9, 2192, 68), +(9, 2193, 80), +(9, 2194, 82), +(9, 2195, 68), +(9, 2196, 82), +(9, 2197, 76), +(9, 2198, 97), +(9, 2199, 69), +(9, 2200, 99), +(9, 2201, 80), +(9, 2202, 76), +(9, 2203, 66), +(9, 2204, 90), +(9, 2205, 90), +(9, 2206, 78), +(9, 2207, 98), +(9, 2208, 95), +(9, 2209, 99), +(9, 2210, 75), +(9, 2211, 78), +(9, 2212, 93), +(9, 2213, 76), +(9, 2214, 68), +(9, 2215, 96), +(9, 2216, 87), +(9, 2217, 98), +(9, 2218, 92), +(9, 2219, 69), +(9, 2220, 90), +(9, 2221, 72), +(9, 2222, 81), +(9, 2223, 90), +(9, 2224, 92), +(9, 2225, 76), +(9, 2226, 96), +(9, 2227, 68), +(9, 2228, 79), +(9, 2229, 89), +(9, 2230, 81), +(9, 2231, 76), +(9, 2232, 96), +(9, 2233, 77), +(9, 2234, 76), +(9, 2235, 94), +(9, 2236, 87), +(9, 2237, 73), +(9, 2238, 84), +(9, 2239, 78), +(9, 2240, 73), +(9, 2241, 88), +(9, 2242, 89), +(9, 2243, 96), +(9, 2244, 66), +(9, 2245, 97), +(9, 2246, 86), +(9, 2247, 82), +(9, 2248, 74), +(9, 2249, 77), +(9, 2250, 75), +(9, 2251, 87), +(9, 2252, 65), +(9, 2253, 90), +(9, 2254, 92), +(9, 2255, 96), +(9, 2256, 70), +(9, 2257, 75), +(9, 2258, 85), +(9, 2259, 79), +(9, 2260, 84), +(9, 2261, 68), +(9, 2262, 65), +(9, 2263, 78), +(9, 2264, 78), +(9, 2265, 73), +(9, 2266, 88), +(9, 2267, 68), +(9, 2268, 86), +(9, 2269, 88), +(9, 2270, 68), +(9, 2271, 93), +(9, 2272, 67), +(9, 2273, 75), +(9, 2274, 80), +(9, 2275, 77), +(9, 2276, 90), +(9, 2277, 98), +(9, 2278, 68), +(9, 2279, 86), +(9, 2280, 86), +(9, 2281, 97), +(9, 2282, 84), +(9, 2283, 99), +(9, 2284, 99), +(9, 2285, 70), +(9, 2286, 72), +(9, 2287, 89), +(9, 2288, 67), +(9, 2289, 73), +(9, 2290, 84), +(9, 2291, 78), +(9, 2292, 84), +(9, 2293, 65), +(9, 2294, 81), +(9, 2295, 93), +(9, 2296, 99), +(9, 2297, 88), +(9, 2298, 90), +(9, 2299, 89), +(9, 2300, 96), +(9, 2301, 98), +(9, 2302, 71), +(9, 2303, 93), +(9, 2304, 66), +(9, 2305, 92), +(9, 2306, 95), +(9, 2307, 92), +(9, 2308, 77), +(9, 2309, 87), +(9, 2310, 96), +(9, 2311, 65), +(9, 2312, 74), +(9, 2313, 98), +(9, 2314, 89), +(9, 2315, 68), +(9, 2316, 91), +(9, 2317, 91), +(9, 2318, 79), +(9, 2319, 72), +(9, 2320, 76), +(9, 2321, 89), +(9, 2322, 69), +(9, 2323, 85), +(9, 2324, 97), +(9, 2325, 86), +(9, 2326, 66), +(9, 2327, 78), +(9, 2328, 66), +(9, 2329, 72), +(9, 2330, 81), +(9, 2331, 74), +(9, 2332, 83), +(9, 2333, 80), +(9, 2334, 90), +(9, 2335, 70), +(9, 2336, 88), +(9, 2337, 76), +(9, 2338, 92), +(9, 2339, 98), +(9, 2340, 92), +(9, 2341, 85), +(9, 2342, 93), +(9, 2343, 77), +(9, 2344, 72), +(9, 2345, 98), +(9, 2346, 79), +(9, 2347, 84), +(9, 2348, 90), +(9, 2349, 86), +(9, 2350, 95), +(9, 2351, 94), +(9, 2352, 89), +(9, 2353, 98), +(9, 2354, 94), +(9, 2355, 99), +(9, 2356, 75), +(9, 2357, 98), +(9, 2358, 94), +(9, 2359, 86), +(9, 2360, 82), +(9, 2361, 92), +(9, 2362, 69), +(9, 2363, 96), +(9, 2364, 70), +(9, 2365, 76), +(9, 2366, 82), +(9, 2367, 70), +(9, 2368, 87), +(9, 2369, 67), +(9, 2370, 93), +(9, 2371, 99), +(9, 2372, 90), +(9, 2373, 93), +(9, 2374, 65), +(9, 2375, 85), +(9, 2376, 93), +(9, 2377, 96), +(9, 2378, 68), +(9, 2379, 69), +(9, 2380, 67), +(9, 2381, 77), +(9, 2382, 79), +(9, 2383, 92), +(9, 2384, 85), +(9, 2385, 72), +(9, 2386, 86), +(9, 2387, 66), +(9, 2388, 88), +(9, 2389, 65), +(9, 2390, 89), +(9, 2391, 75), +(9, 2392, 72), +(9, 2393, 86), +(9, 2394, 68), +(9, 2395, 97), +(9, 2396, 84), +(9, 2397, 93), +(9, 2398, 65), +(9, 2399, 92), +(9, 2400, 80), +(9, 2401, 95), +(9, 2402, 74), +(9, 2403, 76), +(9, 2404, 70), +(9, 2405, 97), +(9, 2406, 97), +(9, 2407, 76), +(9, 2408, 75), +(9, 2409, 87), +(9, 2410, 81), +(9, 2411, 66), +(9, 2412, 69), +(9, 2413, 82), +(9, 2414, 74), +(9, 2415, 95), +(9, 2416, 78), +(9, 2417, 93), +(9, 2418, 86), +(9, 2419, 79), +(9, 2420, 87), +(9, 2421, 80), +(9, 2422, 98), +(9, 2423, 92), +(9, 2424, 90), +(9, 2425, 97), +(9, 2426, 87), +(9, 2427, 69), +(9, 2428, 70), +(9, 2429, 97), +(9, 2430, 65), +(9, 2431, 82), +(9, 2432, 65), +(9, 2433, 85), +(9, 2434, 75), +(9, 2435, 98), +(9, 2436, 73), +(9, 2437, 80), +(9, 2438, 79), +(9, 2439, 88), +(9, 2440, 84), +(9, 2441, 77), +(9, 2442, 91), +(9, 2443, 73), +(9, 2444, 78), +(9, 2445, 84), +(9, 2446, 87), +(9, 2447, 73), +(9, 2448, 73), +(9, 2449, 67), +(9, 2450, 92), +(9, 2451, 83), +(9, 2452, 99), +(9, 2453, 84), +(9, 2454, 98), +(9, 2455, 88), +(9, 2456, 88), +(9, 2457, 88), +(9, 2458, 72), +(9, 2459, 67), +(9, 2460, 81), +(9, 2461, 86), +(9, 2462, 79), +(9, 2463, 66), +(9, 2464, 90), +(9, 2465, 76), +(9, 2466, 70), +(9, 2467, 78), +(9, 2468, 73), +(9, 2469, 75), +(9, 2470, 78), +(9, 2471, 72), +(9, 2472, 88), +(9, 2473, 74), +(9, 2474, 72), +(9, 2475, 90), +(9, 2476, 91), +(9, 2477, 84), +(9, 2478, 77), +(9, 2479, 92), +(9, 2480, 87), +(9, 2481, 73), +(9, 2482, 66), +(9, 2483, 73), +(9, 2484, 94), +(9, 2485, 79), +(9, 2486, 96), +(9, 2487, 86), +(9, 2488, 89), +(9, 2489, 65), +(9, 2490, 79), +(9, 2491, 99), +(9, 2492, 98), +(9, 2493, 87), +(9, 2494, 87), +(9, 2495, 69), +(9, 2496, 97), +(9, 2497, 99), +(9, 2498, 95), +(9, 2499, 98), +(9, 2500, 85), +(9, 2501, 84), +(9, 2502, 99), +(9, 2503, 78), +(9, 2504, 75), +(9, 2505, 93), +(9, 2506, 76), +(9, 2507, 73), +(9, 2508, 94), +(9, 2509, 72), +(9, 2510, 67), +(9, 2511, 80), +(9, 2512, 99), +(9, 2513, 92), +(9, 2514, 95), +(9, 2515, 97), +(9, 2516, 73), +(9, 2517, 90), +(9, 2518, 93), +(9, 2519, 66), +(9, 2520, 79), +(9, 2521, 86), +(9, 2522, 84), +(9, 2523, 74), +(9, 2524, 80), +(9, 2525, 66), +(9, 2526, 82), +(9, 2527, 84), +(9, 2528, 89), +(9, 2529, 99), +(9, 2530, 82), +(9, 2531, 77), +(9, 2532, 76), +(9, 2533, 77), +(9, 2534, 78), +(9, 2535, 83), +(9, 2536, 65), +(9, 2537, 98), +(9, 2538, 79), +(9, 2539, 81), +(9, 2540, 94), +(9, 2541, 81), +(9, 2542, 71), +(9, 2543, 88), +(9, 2544, 93), +(9, 2545, 81), +(9, 2546, 91), +(9, 2547, 96), +(9, 2548, 80), +(9, 2549, 86), +(9, 2550, 83), +(9, 2551, 99), +(9, 2552, 77), +(9, 2553, 79), +(9, 2554, 87), +(9, 2555, 86), +(9, 2556, 99), +(9, 2557, 72), +(9, 2558, 94), +(9, 2559, 86), +(9, 2560, 91), +(9, 2561, 97), +(9, 2562, 72), +(9, 2563, 82), +(9, 2564, 82), +(9, 2565, 81), +(9, 2566, 94), +(9, 2567, 84), +(9, 2568, 88), +(9, 2569, 85), +(9, 2570, 65), +(9, 2571, 99), +(9, 2572, 71), +(9, 2573, 98), +(9, 2574, 75), +(9, 2575, 82), +(9, 2576, 78), +(9, 2577, 82), +(9, 2578, 69), +(9, 2579, 90), +(9, 2580, 68), +(9, 2581, 79), +(9, 2582, 92), +(9, 2583, 78), +(9, 2584, 82), +(9, 2585, 88), +(9, 2586, 68), +(9, 2587, 65), +(9, 2588, 81), +(9, 2589, 72), +(9, 2590, 74), +(9, 2591, 69), +(9, 2592, 83), +(9, 2593, 91), +(9, 2594, 91), +(9, 2595, 87), +(9, 2596, 80), +(9, 2597, 66), +(9, 2598, 83), +(9, 2599, 75), +(9, 2600, 74), +(9, 2601, 73), +(9, 2602, 99), +(9, 2603, 91), +(9, 2604, 73), +(9, 2605, 77), +(9, 2606, 72), +(9, 2607, 89), +(9, 2608, 73), +(9, 2609, 88), +(9, 2610, 89), +(10, 1, 92), +(10, 2, 89), +(10, 3, 87), +(10, 4, 86), +(10, 5, 79), +(10, 6, 86), +(10, 7, 67), +(10, 8, 66), +(10, 9, 77), +(10, 10, 91), +(10, 11, 74), +(10, 12, 68), +(10, 13, 74), +(10, 14, 90), +(10, 15, 77), +(10, 16, 99), +(10, 17, 88), +(10, 18, 69), +(10, 19, 85), +(10, 20, 95), +(10, 21, 66), +(10, 22, 93), +(10, 23, 96), +(10, 24, 76), +(10, 25, 76), +(10, 26, 78), +(10, 27, 95), +(10, 28, 97), +(10, 29, 66), +(10, 30, 92), +(10, 31, 72), +(10, 32, 87), +(10, 33, 71), +(10, 34, 73), +(10, 35, 98), +(10, 36, 74), +(10, 37, 66), +(10, 38, 76), +(10, 39, 94), +(10, 40, 80), +(10, 41, 69), +(10, 42, 90), +(10, 43, 69), +(10, 44, 92), +(10, 45, 88), +(10, 46, 75), +(10, 47, 69), +(10, 48, 82), +(10, 49, 73), +(10, 50, 94), +(10, 51, 76), +(10, 52, 97), +(10, 53, 95), +(10, 54, 70), +(10, 55, 97), +(10, 56, 95), +(10, 57, 78), +(10, 58, 85), +(10, 59, 84), +(10, 60, 88), +(10, 61, 91), +(10, 62, 97), +(10, 63, 89), +(10, 64, 96), +(10, 65, 71), +(10, 66, 75), +(10, 67, 87), +(10, 68, 70), +(10, 69, 71), +(10, 70, 86), +(10, 71, 84), +(10, 72, 76), +(10, 73, 97), +(10, 74, 96), +(10, 75, 79), +(10, 76, 69), +(10, 77, 85), +(10, 78, 82), +(10, 79, 68), +(10, 80, 90), +(10, 81, 81), +(10, 82, 66), +(10, 83, 87), +(10, 84, 74), +(10, 85, 90), +(10, 86, 74), +(10, 87, 87), +(10, 88, 70), +(10, 89, 92), +(10, 90, 68), +(10, 91, 70), +(10, 92, 74), +(10, 93, 85), +(10, 94, 92), +(10, 95, 73), +(10, 96, 66), +(10, 97, 91), +(10, 98, 67), +(10, 99, 80), +(10, 100, 82), +(10, 101, 94), +(10, 102, 71), +(10, 103, 91), +(10, 104, 83), +(10, 105, 77), +(10, 106, 73), +(10, 107, 75), +(10, 108, 91), +(10, 109, 77), +(10, 110, 88), +(10, 111, 65), +(10, 112, 83), +(10, 113, 89), +(10, 114, 89), +(10, 115, 77), +(10, 116, 89), +(10, 117, 83), +(10, 118, 99), +(10, 119, 69), +(10, 120, 93), +(10, 121, 91), +(10, 122, 95), +(10, 123, 67), +(10, 124, 71), +(10, 125, 99), +(10, 126, 79), +(10, 127, 91), +(10, 128, 72), +(10, 129, 79), +(10, 130, 70), +(10, 131, 72), +(10, 132, 90), +(10, 133, 74), +(10, 134, 77), +(10, 135, 92), +(10, 136, 83), +(10, 137, 75), +(10, 138, 68), +(10, 139, 90), +(10, 140, 67), +(10, 141, 90), +(10, 142, 76), +(10, 143, 77), +(10, 144, 73), +(10, 145, 65), +(10, 146, 96), +(10, 147, 82), +(10, 148, 87), +(10, 149, 86), +(10, 150, 97), +(10, 151, 66), +(10, 152, 68), +(10, 153, 77), +(10, 154, 76), +(10, 155, 95), +(10, 156, 86), +(10, 157, 93), +(10, 158, 79), +(10, 159, 78), +(10, 160, 83), +(10, 161, 83), +(10, 162, 94), +(10, 163, 69), +(10, 164, 82), +(10, 165, 92), +(10, 166, 84), +(10, 167, 80), +(10, 168, 86), +(10, 169, 92), +(10, 170, 96), +(10, 171, 67), +(10, 172, 67), +(10, 173, 91), +(10, 174, 79), +(10, 175, 83), +(10, 176, 82), +(10, 177, 78), +(10, 178, 78), +(10, 179, 86), +(10, 180, 90), +(10, 181, 67), +(10, 182, 92), +(10, 183, 68), +(10, 184, 80), +(10, 185, 84), +(10, 186, 80), +(10, 187, 71), +(10, 188, 71), +(10, 189, 88), +(10, 190, 92), +(10, 191, 66), +(10, 192, 93), +(10, 193, 83), +(10, 194, 89), +(10, 195, 76), +(10, 196, 67), +(10, 197, 66), +(10, 198, 81), +(10, 199, 84), +(10, 200, 74), +(10, 201, 92), +(10, 202, 74), +(10, 203, 95), +(10, 204, 72), +(10, 205, 83), +(10, 206, 73), +(10, 207, 96), +(10, 208, 86), +(10, 209, 89), +(10, 210, 87), +(10, 211, 97), +(10, 212, 74), +(10, 213, 86), +(10, 214, 65), +(10, 215, 99), +(10, 216, 67), +(10, 217, 83), +(10, 218, 78), +(10, 219, 91), +(10, 220, 81), +(10, 221, 72), +(10, 222, 93), +(10, 223, 76), +(10, 224, 86), +(10, 225, 87), +(10, 226, 70), +(10, 227, 66), +(10, 228, 73), +(10, 229, 86), +(10, 230, 91), +(10, 231, 97), +(10, 232, 95), +(10, 233, 83), +(10, 234, 81), +(10, 235, 85), +(10, 236, 97), +(10, 237, 87), +(10, 238, 66), +(10, 239, 89), +(10, 240, 84), +(10, 241, 96), +(10, 242, 83), +(10, 243, 79), +(10, 244, 96), +(10, 245, 78), +(10, 246, 72), +(10, 247, 72), +(10, 248, 91), +(10, 249, 66), +(10, 250, 71), +(10, 251, 99), +(10, 252, 97), +(10, 253, 93), +(10, 254, 94), +(10, 255, 88), +(10, 256, 87), +(10, 257, 93), +(10, 258, 85), +(10, 259, 86), +(10, 260, 86), +(10, 261, 72), +(10, 262, 87), +(10, 263, 97), +(10, 264, 96), +(10, 265, 68), +(10, 266, 75), +(10, 267, 94), +(10, 268, 92), +(10, 269, 73), +(10, 270, 81), +(10, 271, 67), +(10, 272, 75), +(10, 273, 84), +(10, 274, 93), +(10, 275, 84), +(10, 276, 90), +(10, 277, 65), +(10, 278, 68), +(10, 279, 71), +(10, 280, 67), +(10, 281, 76), +(10, 282, 66), +(10, 283, 69), +(10, 284, 66), +(10, 285, 84), +(10, 286, 69), +(10, 287, 66), +(10, 288, 88), +(10, 289, 90), +(10, 290, 99), +(10, 291, 96), +(10, 292, 70), +(10, 293, 82), +(10, 294, 79), +(10, 295, 69), +(10, 296, 82), +(10, 297, 98), +(10, 298, 98), +(10, 299, 84), +(10, 300, 94), +(10, 301, 75), +(10, 302, 90), +(10, 303, 72), +(10, 304, 86), +(10, 305, 93), +(10, 306, 91), +(10, 307, 98), +(10, 308, 76), +(10, 309, 76), +(10, 310, 72), +(10, 311, 75), +(10, 312, 78), +(10, 313, 97), +(10, 314, 85), +(10, 315, 83), +(10, 316, 85), +(10, 317, 95), +(10, 318, 85), +(10, 319, 97), +(10, 320, 96), +(10, 321, 67), +(10, 322, 86), +(10, 323, 84), +(10, 324, 94), +(10, 325, 88), +(10, 326, 85), +(10, 327, 74), +(10, 328, 93), +(10, 329, 65), +(10, 330, 70), +(10, 331, 96), +(10, 332, 93), +(10, 333, 82), +(10, 334, 98), +(10, 335, 83), +(10, 336, 68), +(10, 337, 87), +(10, 338, 91), +(10, 339, 77), +(10, 340, 65), +(10, 341, 67), +(10, 342, 88), +(10, 343, 72), +(10, 344, 83), +(10, 345, 80), +(10, 346, 86), +(10, 347, 84), +(10, 348, 92), +(10, 349, 97), +(10, 350, 85), +(10, 351, 89), +(10, 352, 88), +(10, 353, 73), +(10, 354, 70), +(10, 355, 85), +(10, 356, 78), +(10, 357, 96), +(10, 358, 65), +(10, 359, 93), +(10, 360, 81), +(10, 361, 87), +(10, 362, 93), +(10, 363, 88), +(10, 364, 81), +(10, 365, 82), +(10, 366, 85), +(10, 367, 65), +(10, 368, 82), +(10, 369, 77), +(10, 370, 70), +(10, 371, 79), +(10, 372, 66), +(10, 373, 97), +(10, 374, 78), +(10, 375, 93), +(10, 376, 96), +(10, 377, 74), +(10, 378, 79), +(10, 379, 92), +(10, 380, 71), +(10, 381, 96), +(10, 382, 78), +(10, 383, 92), +(10, 384, 99), +(10, 385, 97), +(10, 386, 71), +(10, 387, 91), +(10, 388, 68), +(10, 389, 89), +(10, 390, 71), +(10, 391, 70), +(10, 392, 65), +(10, 393, 90), +(10, 394, 86), +(10, 395, 79), +(10, 396, 84), +(10, 397, 89), +(10, 398, 85), +(10, 399, 94), +(10, 400, 72), +(10, 401, 87), +(10, 402, 76), +(10, 403, 81), +(10, 404, 81), +(10, 405, 85), +(10, 406, 95), +(10, 407, 65), +(10, 408, 98), +(10, 409, 77), +(10, 410, 89), +(10, 411, 69), +(10, 412, 69), +(10, 413, 71), +(10, 414, 96), +(10, 415, 68), +(10, 416, 86), +(10, 417, 68), +(10, 418, 88), +(10, 419, 88), +(10, 420, 68), +(10, 421, 84), +(10, 422, 76), +(10, 423, 91), +(10, 424, 70), +(10, 425, 67), +(10, 426, 78), +(10, 427, 87), +(10, 428, 65), +(10, 429, 75), +(10, 430, 77), +(10, 431, 77), +(10, 432, 74), +(10, 433, 78), +(10, 434, 69), +(10, 435, 96), +(10, 436, 89), +(10, 437, 89), +(10, 438, 82), +(10, 439, 96), +(10, 440, 88), +(10, 441, 81), +(10, 442, 95), +(10, 443, 87), +(10, 444, 93), +(10, 445, 77), +(10, 446, 92), +(10, 447, 72), +(10, 448, 77), +(10, 449, 77), +(10, 450, 67), +(10, 451, 90), +(10, 452, 89), +(10, 453, 89), +(10, 454, 97), +(10, 455, 74), +(10, 456, 90), +(10, 457, 80), +(10, 458, 88), +(10, 459, 73), +(10, 460, 81), +(10, 461, 72), +(10, 462, 91), +(10, 463, 75), +(10, 464, 80), +(10, 465, 70), +(10, 466, 88), +(10, 467, 78), +(10, 468, 97), +(10, 469, 79), +(10, 470, 92), +(10, 471, 96), +(10, 472, 96), +(10, 473, 78), +(10, 474, 86), +(10, 475, 93), +(10, 476, 99), +(10, 477, 78), +(10, 478, 69), +(10, 479, 76), +(10, 480, 80), +(10, 481, 65), +(10, 482, 73), +(10, 483, 91), +(10, 484, 98), +(10, 485, 68), +(10, 486, 97), +(10, 487, 74), +(10, 488, 73), +(10, 489, 69), +(10, 490, 65), +(10, 491, 67), +(10, 492, 87), +(10, 493, 78), +(10, 494, 98), +(10, 495, 71), +(10, 496, 97), +(10, 497, 85), +(10, 498, 88), +(10, 499, 66), +(10, 500, 90), +(10, 501, 90), +(10, 502, 80), +(10, 503, 71), +(10, 504, 86), +(10, 505, 87), +(10, 506, 80), +(10, 507, 84), +(10, 508, 97), +(10, 509, 88), +(10, 510, 86), +(10, 511, 78), +(10, 512, 92), +(10, 513, 77), +(10, 514, 96), +(10, 515, 73), +(10, 516, 77), +(10, 517, 67), +(10, 518, 68), +(10, 519, 74), +(10, 520, 85), +(10, 521, 90), +(10, 522, 77), +(10, 523, 86), +(10, 524, 78), +(10, 525, 97), +(10, 526, 98), +(10, 527, 82), +(10, 528, 91), +(10, 529, 97), +(10, 530, 92), +(10, 531, 72), +(10, 532, 84), +(10, 533, 75), +(10, 534, 93), +(10, 535, 93), +(10, 536, 79), +(10, 537, 65), +(10, 538, 77), +(10, 539, 90), +(10, 540, 70), +(10, 541, 81), +(10, 542, 78), +(10, 543, 96), +(10, 544, 89), +(10, 545, 70), +(10, 546, 87), +(10, 547, 66), +(10, 548, 94), +(10, 549, 66), +(10, 550, 91), +(10, 551, 87), +(10, 552, 82), +(10, 553, 68), +(10, 554, 96), +(10, 555, 79), +(10, 556, 69), +(10, 557, 76), +(10, 558, 74), +(10, 559, 87), +(10, 560, 96), +(10, 561, 70), +(10, 562, 77), +(10, 563, 92), +(10, 564, 80), +(10, 1024, 67), +(10, 1025, 98), +(10, 1026, 94), +(10, 1027, 67), +(10, 1028, 77), +(10, 1029, 78), +(10, 1030, 78), +(10, 1031, 83), +(10, 1032, 81), +(10, 1033, 65), +(10, 1034, 71), +(10, 1035, 77), +(10, 1036, 66), +(10, 1037, 72), +(10, 1038, 84), +(10, 1039, 77), +(10, 1040, 80), +(10, 1041, 70), +(10, 1042, 93), +(10, 1043, 81), +(10, 1044, 89), +(10, 1045, 90), +(10, 1046, 77), +(10, 1047, 94), +(10, 1048, 67), +(10, 1049, 77), +(10, 1050, 71), +(10, 1051, 97), +(10, 1052, 69), +(10, 1053, 93), +(10, 1054, 65), +(10, 1055, 77), +(10, 1056, 73), +(10, 1057, 84), +(10, 1058, 98), +(10, 1059, 81), +(10, 1060, 97), +(10, 1061, 70), +(10, 1062, 81), +(10, 1063, 99); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(10, 1064, 97), +(10, 1065, 74), +(10, 1066, 68), +(10, 1067, 89), +(10, 1068, 76), +(10, 1069, 84), +(10, 1070, 80), +(10, 1071, 69), +(10, 1072, 80), +(10, 1073, 66), +(10, 1074, 72), +(10, 1075, 82), +(10, 1076, 78), +(10, 1077, 66), +(10, 1078, 66), +(10, 1079, 92), +(10, 1080, 71), +(10, 1081, 70), +(10, 1082, 83), +(10, 1083, 96), +(10, 1084, 84), +(10, 1085, 65), +(10, 1086, 76), +(10, 1087, 75), +(10, 1088, 96), +(10, 1089, 76), +(10, 1090, 81), +(10, 1091, 69), +(10, 1092, 67), +(10, 1093, 67), +(10, 1094, 73), +(10, 1095, 85), +(10, 1096, 73), +(10, 1097, 79), +(10, 1098, 91), +(10, 1099, 97), +(10, 1100, 99), +(10, 1101, 94), +(10, 1102, 68), +(10, 1103, 92), +(10, 1104, 69), +(10, 1105, 90), +(10, 1106, 85), +(10, 1107, 72), +(10, 1108, 70), +(10, 1109, 77), +(10, 1110, 66), +(10, 1111, 80), +(10, 1112, 68), +(10, 1113, 74), +(10, 1114, 68), +(10, 1115, 74), +(10, 1116, 67), +(10, 1117, 87), +(10, 1118, 70), +(10, 1119, 65), +(10, 1120, 69), +(10, 1121, 94), +(10, 1122, 77), +(10, 1123, 92), +(10, 1124, 69), +(10, 1125, 74), +(10, 1126, 68), +(10, 1127, 69), +(10, 1128, 91), +(10, 1129, 97), +(10, 1130, 69), +(10, 1131, 74), +(10, 1132, 72), +(10, 1133, 66), +(10, 1134, 97), +(10, 1135, 78), +(10, 1136, 70), +(10, 1137, 89), +(10, 1138, 98), +(10, 1139, 82), +(10, 1140, 77), +(10, 1141, 79), +(10, 1142, 73), +(10, 1143, 77), +(10, 1144, 76), +(10, 1145, 90), +(10, 1146, 75), +(10, 1147, 88), +(10, 1148, 77), +(10, 1149, 99), +(10, 1150, 74), +(10, 1151, 73), +(10, 1152, 91), +(10, 1153, 86), +(10, 1154, 82), +(10, 1155, 85), +(10, 1156, 94), +(10, 1157, 99), +(10, 1158, 83), +(10, 1159, 92), +(10, 1160, 79), +(10, 1161, 97), +(10, 1162, 76), +(10, 1163, 75), +(10, 1164, 85), +(10, 1165, 90), +(10, 1166, 72), +(10, 1167, 75), +(10, 1168, 86), +(10, 1169, 98), +(10, 1170, 73), +(10, 1171, 76), +(10, 1172, 97), +(10, 1173, 90), +(10, 1174, 91), +(10, 1175, 96), +(10, 1176, 80), +(10, 1177, 82), +(10, 1178, 93), +(10, 1179, 69), +(10, 1180, 95), +(10, 1181, 95), +(10, 1182, 93), +(10, 1183, 90), +(10, 1184, 89), +(10, 1185, 98), +(10, 1186, 82), +(10, 1187, 84), +(10, 1188, 81), +(10, 1189, 76), +(10, 1190, 84), +(10, 1191, 94), +(10, 1192, 94), +(10, 1193, 98), +(10, 1194, 68), +(10, 1195, 69), +(10, 1196, 72), +(10, 1197, 77), +(10, 1198, 74), +(10, 1199, 83), +(10, 1200, 66), +(10, 1201, 96), +(10, 1202, 83), +(10, 1203, 97), +(10, 1204, 68), +(10, 1205, 65), +(10, 1206, 85), +(10, 1207, 70), +(10, 1208, 98), +(10, 1209, 72), +(10, 1210, 95), +(10, 1211, 87), +(10, 1212, 67), +(10, 1213, 72), +(10, 1214, 68), +(10, 1215, 82), +(10, 1216, 87), +(10, 1217, 99), +(10, 1218, 71), +(10, 1219, 93), +(10, 1220, 94), +(10, 1221, 75), +(10, 1222, 91), +(10, 1223, 98), +(10, 1224, 83), +(10, 1225, 90), +(10, 1226, 78), +(10, 1227, 82), +(10, 1228, 68), +(10, 1229, 83), +(10, 1230, 93), +(10, 1231, 92), +(10, 1232, 66), +(10, 1233, 65), +(10, 1234, 80), +(10, 1235, 79), +(10, 1236, 93), +(10, 1237, 75), +(10, 1238, 89), +(10, 1239, 99), +(10, 1240, 99), +(10, 1241, 75), +(10, 1242, 92), +(10, 1243, 83), +(10, 1244, 75), +(10, 1245, 72), +(10, 1246, 95), +(10, 1247, 74), +(10, 1248, 77), +(10, 1249, 66), +(10, 1250, 89), +(10, 1251, 65), +(10, 1252, 74), +(10, 1253, 93), +(10, 1254, 80), +(10, 1255, 86), +(10, 1256, 72), +(10, 1257, 82), +(10, 1258, 90), +(10, 1259, 87), +(10, 1260, 76), +(10, 1261, 65), +(10, 1262, 77), +(10, 1263, 83), +(10, 1264, 71), +(10, 1265, 73), +(10, 1266, 99), +(10, 1267, 65), +(10, 1268, 73), +(10, 1269, 69), +(10, 1270, 89), +(10, 1271, 96), +(10, 1272, 66), +(10, 1273, 81), +(10, 1274, 65), +(10, 1275, 76), +(10, 1276, 91), +(10, 1277, 92), +(10, 1278, 82), +(10, 1279, 76), +(10, 1280, 85), +(10, 1281, 93), +(10, 1282, 96), +(10, 1283, 70), +(10, 1284, 97), +(10, 1285, 70), +(10, 1286, 83), +(10, 1287, 79), +(10, 1288, 95), +(10, 1289, 91), +(10, 1290, 98), +(10, 1291, 95), +(10, 1292, 99), +(10, 1293, 74), +(10, 1294, 80), +(10, 1295, 92), +(10, 1296, 66), +(10, 1297, 98), +(10, 1298, 73), +(10, 1299, 94), +(10, 1300, 94), +(10, 1301, 72), +(10, 1302, 90), +(10, 1303, 85), +(10, 1304, 88), +(10, 1305, 69), +(10, 1306, 72), +(10, 1307, 72), +(10, 1308, 82), +(10, 1309, 98), +(10, 1310, 73), +(10, 1311, 90), +(10, 1312, 92), +(10, 1313, 98), +(10, 1314, 70), +(10, 1315, 78), +(10, 1316, 69), +(10, 1317, 70), +(10, 1318, 75), +(10, 1319, 82), +(10, 1320, 97), +(10, 1321, 81), +(10, 1322, 79), +(10, 1323, 86), +(10, 1324, 72), +(10, 1325, 93), +(10, 1326, 88), +(10, 1327, 92), +(10, 1328, 66), +(10, 1329, 89), +(10, 1330, 77), +(10, 1331, 66), +(10, 1332, 88), +(10, 1333, 67), +(10, 1334, 78), +(10, 1335, 84), +(10, 1336, 93), +(10, 1337, 78), +(10, 1338, 99), +(10, 1339, 72), +(10, 1340, 74), +(10, 1341, 88), +(10, 1342, 83), +(10, 1343, 65), +(10, 1344, 87), +(10, 1345, 75), +(10, 1346, 74), +(10, 1347, 68), +(10, 1348, 90), +(10, 1349, 80), +(10, 1350, 69), +(10, 1351, 95), +(10, 1352, 74), +(10, 1353, 96), +(10, 1354, 89), +(10, 1355, 95), +(10, 1356, 89), +(10, 1357, 74), +(10, 1358, 71), +(10, 1359, 68), +(10, 1360, 97), +(10, 1361, 68), +(10, 1362, 74), +(10, 1363, 77), +(10, 1364, 92), +(10, 1365, 97), +(10, 1366, 70), +(10, 1367, 89), +(10, 1368, 66), +(10, 1369, 78), +(10, 1370, 75), +(10, 1371, 74), +(10, 1372, 69), +(10, 1373, 66), +(10, 1374, 95), +(10, 1375, 65), +(10, 1376, 95), +(10, 1377, 87), +(10, 1378, 81), +(10, 1379, 93), +(10, 1380, 80), +(10, 1381, 93), +(10, 1382, 84), +(10, 1383, 84), +(10, 1384, 67), +(10, 1385, 68), +(10, 1386, 94), +(10, 1387, 78), +(10, 1388, 68), +(10, 1389, 78), +(10, 1390, 86), +(10, 1391, 87), +(10, 1392, 66), +(10, 1393, 98), +(10, 1394, 70), +(10, 1395, 72), +(10, 1396, 88), +(10, 1397, 72), +(10, 1398, 84), +(10, 1399, 88), +(10, 1400, 71), +(10, 1401, 87), +(10, 1402, 97), +(10, 1403, 91), +(10, 1404, 87), +(10, 1405, 84), +(10, 1406, 97), +(10, 1407, 76), +(10, 1408, 75), +(10, 1409, 87), +(10, 1410, 85), +(10, 1411, 86), +(10, 1412, 68), +(10, 1413, 80), +(10, 1414, 74), +(10, 1415, 92), +(10, 1416, 97), +(10, 1417, 65), +(10, 1418, 73), +(10, 1419, 98), +(10, 1420, 98), +(10, 1421, 68), +(10, 1422, 75), +(10, 1423, 95), +(10, 1424, 85), +(10, 1425, 78), +(10, 1426, 98), +(10, 1427, 78), +(10, 1428, 80), +(10, 1429, 79), +(10, 1430, 72), +(10, 1431, 86), +(10, 1432, 90), +(10, 1433, 89), +(10, 1434, 77), +(10, 1435, 89), +(10, 1436, 82), +(10, 1437, 66), +(10, 1438, 84), +(10, 1439, 91), +(10, 1440, 74), +(10, 1441, 87), +(10, 1442, 92), +(10, 1443, 75), +(10, 1444, 81), +(10, 1445, 76), +(10, 1446, 82), +(10, 1447, 87), +(10, 1448, 83), +(10, 1449, 98), +(10, 1450, 87), +(10, 1451, 81), +(10, 1452, 90), +(10, 1453, 67), +(10, 1454, 97), +(10, 1455, 89), +(10, 1456, 88), +(10, 1457, 92), +(10, 1458, 99), +(10, 1459, 89), +(10, 1460, 96), +(10, 1461, 67), +(10, 1462, 90), +(10, 1463, 69), +(10, 1464, 81), +(10, 1465, 73), +(10, 1466, 80), +(10, 1467, 79), +(10, 1468, 77), +(10, 1469, 98), +(10, 1470, 86), +(10, 1471, 69), +(10, 1472, 88), +(10, 1473, 92), +(10, 1474, 65), +(10, 1475, 72), +(10, 1476, 67), +(10, 1477, 98), +(10, 1478, 97), +(10, 1479, 97), +(10, 1480, 90), +(10, 1481, 78), +(10, 1482, 83), +(10, 1483, 91), +(10, 1484, 84), +(10, 1485, 97), +(10, 1486, 71), +(10, 1487, 80), +(10, 1488, 83), +(10, 1489, 86), +(10, 1490, 72), +(10, 1491, 71), +(10, 1492, 84), +(10, 1493, 85), +(10, 1494, 81), +(10, 1495, 98), +(10, 1496, 85), +(10, 1497, 98), +(10, 1498, 87), +(10, 1499, 76), +(10, 1500, 69), +(10, 1501, 96), +(10, 1502, 70), +(10, 1503, 82), +(10, 1504, 85), +(10, 1505, 91), +(10, 1506, 97), +(10, 1507, 71), +(10, 1508, 68), +(10, 1509, 73), +(10, 1510, 96), +(10, 1511, 76), +(10, 1512, 83), +(10, 1513, 72), +(10, 1514, 65), +(10, 1515, 77), +(10, 1516, 88), +(10, 1517, 89), +(10, 1518, 87), +(10, 1519, 82), +(10, 1520, 93), +(10, 1521, 80), +(10, 1522, 90), +(10, 1523, 83), +(10, 1524, 99), +(10, 1525, 92), +(10, 1526, 85), +(10, 1527, 72), +(10, 1528, 95), +(10, 1529, 88), +(10, 1530, 72), +(10, 1531, 83), +(10, 1532, 86), +(10, 1533, 70), +(10, 1534, 70), +(10, 1535, 67), +(10, 1536, 66), +(10, 1537, 70), +(10, 1538, 79), +(10, 1539, 89), +(10, 1540, 89), +(10, 1541, 71), +(10, 1542, 99), +(10, 1543, 71), +(10, 1544, 76), +(10, 1545, 80), +(10, 1546, 74), +(10, 1547, 87), +(10, 1548, 82), +(10, 1549, 97), +(10, 1550, 84), +(10, 1551, 85), +(10, 1552, 99), +(10, 1553, 65), +(10, 1554, 80), +(10, 1555, 74), +(10, 1556, 89), +(10, 1557, 93), +(10, 1558, 97), +(10, 1559, 92), +(10, 1560, 83), +(10, 1561, 74), +(10, 1562, 86), +(10, 1563, 82), +(10, 1564, 74), +(10, 1565, 95), +(10, 1566, 83), +(10, 1567, 80), +(10, 1568, 66), +(10, 1569, 90), +(10, 1570, 90), +(10, 1571, 65), +(10, 1572, 89), +(10, 1573, 65), +(10, 1574, 66), +(10, 1575, 79), +(10, 1576, 75), +(10, 1577, 87), +(10, 1578, 85), +(10, 1579, 85), +(10, 1580, 74), +(10, 1581, 87), +(10, 1582, 97), +(10, 1583, 70), +(10, 1584, 87), +(10, 1585, 83), +(10, 1586, 71), +(10, 1587, 65), +(10, 2047, 79), +(10, 2048, 66), +(10, 2049, 87), +(10, 2050, 96), +(10, 2051, 66), +(10, 2052, 91), +(10, 2053, 96), +(10, 2054, 76), +(10, 2055, 95), +(10, 2056, 89), +(10, 2057, 74), +(10, 2058, 67), +(10, 2059, 86), +(10, 2060, 93), +(10, 2061, 89), +(10, 2062, 73), +(10, 2063, 77), +(10, 2064, 77), +(10, 2065, 78), +(10, 2066, 79), +(10, 2067, 96), +(10, 2068, 78), +(10, 2069, 67), +(10, 2070, 94), +(10, 2071, 82), +(10, 2072, 70), +(10, 2073, 75), +(10, 2074, 73), +(10, 2075, 89), +(10, 2076, 75), +(10, 2077, 87), +(10, 2078, 67), +(10, 2079, 97), +(10, 2080, 71), +(10, 2081, 71), +(10, 2082, 99), +(10, 2083, 66), +(10, 2084, 88), +(10, 2085, 82), +(10, 2086, 69), +(10, 2087, 68), +(10, 2088, 95), +(10, 2089, 84), +(10, 2090, 68), +(10, 2091, 65), +(10, 2092, 71), +(10, 2093, 94), +(10, 2094, 69), +(10, 2095, 87), +(10, 2096, 91), +(10, 2097, 67), +(10, 2098, 98), +(10, 2099, 72), +(10, 2100, 96), +(10, 2101, 99), +(10, 2102, 80), +(10, 2103, 88), +(10, 2104, 97), +(10, 2105, 88), +(10, 2106, 67), +(10, 2107, 91), +(10, 2108, 85), +(10, 2109, 98), +(10, 2110, 92), +(10, 2111, 72), +(10, 2112, 91), +(10, 2113, 79), +(10, 2114, 95), +(10, 2115, 96), +(10, 2116, 90), +(10, 2117, 90), +(10, 2118, 78), +(10, 2119, 97), +(10, 2120, 76), +(10, 2121, 80), +(10, 2122, 95), +(10, 2123, 78), +(10, 2124, 66), +(10, 2125, 80), +(10, 2126, 79), +(10, 2127, 76), +(10, 2128, 82), +(10, 2129, 96), +(10, 2130, 86), +(10, 2131, 69), +(10, 2132, 69), +(10, 2133, 99), +(10, 2134, 91), +(10, 2135, 95), +(10, 2136, 68), +(10, 2137, 74), +(10, 2138, 80), +(10, 2139, 80), +(10, 2140, 87), +(10, 2141, 66), +(10, 2142, 99), +(10, 2143, 92), +(10, 2144, 76), +(10, 2145, 87), +(10, 2146, 66), +(10, 2147, 77), +(10, 2148, 89), +(10, 2149, 68), +(10, 2150, 76), +(10, 2151, 89), +(10, 2152, 68), +(10, 2153, 65), +(10, 2154, 70), +(10, 2155, 65), +(10, 2156, 77), +(10, 2157, 78), +(10, 2158, 76), +(10, 2159, 71), +(10, 2160, 73), +(10, 2161, 93), +(10, 2162, 80), +(10, 2163, 72), +(10, 2164, 77), +(10, 2165, 80), +(10, 2166, 89), +(10, 2167, 90), +(10, 2168, 79), +(10, 2169, 88), +(10, 2170, 83), +(10, 2171, 91), +(10, 2172, 99), +(10, 2173, 97), +(10, 2174, 96), +(10, 2175, 94), +(10, 2176, 80), +(10, 2177, 70), +(10, 2178, 74), +(10, 2179, 67), +(10, 2180, 73), +(10, 2181, 74), +(10, 2182, 91), +(10, 2183, 97), +(10, 2184, 90), +(10, 2185, 91), +(10, 2186, 85), +(10, 2187, 81), +(10, 2188, 99), +(10, 2189, 81), +(10, 2190, 81), +(10, 2191, 71), +(10, 2192, 72), +(10, 2193, 84), +(10, 2194, 94), +(10, 2195, 94), +(10, 2196, 95), +(10, 2197, 86), +(10, 2198, 71), +(10, 2199, 86), +(10, 2200, 68), +(10, 2201, 78), +(10, 2202, 91), +(10, 2203, 77), +(10, 2204, 66), +(10, 2205, 90), +(10, 2206, 83), +(10, 2207, 68), +(10, 2208, 65), +(10, 2209, 83), +(10, 2210, 84), +(10, 2211, 73), +(10, 2212, 86), +(10, 2213, 84), +(10, 2214, 81), +(10, 2215, 92), +(10, 2216, 85), +(10, 2217, 65), +(10, 2218, 67), +(10, 2219, 69), +(10, 2220, 90), +(10, 2221, 75), +(10, 2222, 65), +(10, 2223, 94), +(10, 2224, 79), +(10, 2225, 74), +(10, 2226, 65), +(10, 2227, 94), +(10, 2228, 69), +(10, 2229, 78), +(10, 2230, 95), +(10, 2231, 83), +(10, 2232, 70), +(10, 2233, 99), +(10, 2234, 91), +(10, 2235, 80), +(10, 2236, 99), +(10, 2237, 75), +(10, 2238, 67), +(10, 2239, 74), +(10, 2240, 89), +(10, 2241, 88), +(10, 2242, 89), +(10, 2243, 84), +(10, 2244, 96), +(10, 2245, 70), +(10, 2246, 96), +(10, 2247, 92), +(10, 2248, 91), +(10, 2249, 70), +(10, 2250, 86), +(10, 2251, 89), +(10, 2252, 66), +(10, 2253, 95), +(10, 2254, 76), +(10, 2255, 72), +(10, 2256, 81), +(10, 2257, 65), +(10, 2258, 94), +(10, 2259, 97), +(10, 2260, 89), +(10, 2261, 86), +(10, 2262, 72), +(10, 2263, 81), +(10, 2264, 85), +(10, 2265, 96), +(10, 2266, 94), +(10, 2267, 73), +(10, 2268, 93), +(10, 2269, 95), +(10, 2270, 87), +(10, 2271, 77), +(10, 2272, 88), +(10, 2273, 92), +(10, 2274, 85), +(10, 2275, 93), +(10, 2276, 74), +(10, 2277, 80), +(10, 2278, 96), +(10, 2279, 93), +(10, 2280, 83), +(10, 2281, 78), +(10, 2282, 76), +(10, 2283, 97), +(10, 2284, 73), +(10, 2285, 68), +(10, 2286, 76), +(10, 2287, 65), +(10, 2288, 99), +(10, 2289, 73), +(10, 2290, 97), +(10, 2291, 93), +(10, 2292, 90), +(10, 2293, 93), +(10, 2294, 96), +(10, 2295, 92), +(10, 2296, 95), +(10, 2297, 66), +(10, 2298, 73), +(10, 2299, 88), +(10, 2300, 76), +(10, 2301, 66), +(10, 2302, 74), +(10, 2303, 66), +(10, 2304, 68), +(10, 2305, 87), +(10, 2306, 67), +(10, 2307, 66), +(10, 2308, 86), +(10, 2309, 88), +(10, 2310, 92), +(10, 2311, 91), +(10, 2312, 92), +(10, 2313, 90), +(10, 2314, 87), +(10, 2315, 92), +(10, 2316, 87), +(10, 2317, 68), +(10, 2318, 89), +(10, 2319, 76), +(10, 2320, 89), +(10, 2321, 71), +(10, 2322, 78), +(10, 2323, 81), +(10, 2324, 94), +(10, 2325, 69), +(10, 2326, 98), +(10, 2327, 76), +(10, 2328, 84), +(10, 2329, 96), +(10, 2330, 86), +(10, 2331, 66), +(10, 2332, 82), +(10, 2333, 84), +(10, 2334, 66), +(10, 2335, 73), +(10, 2336, 70), +(10, 2337, 99), +(10, 2338, 95), +(10, 2339, 71), +(10, 2340, 81), +(10, 2341, 91), +(10, 2342, 96), +(10, 2343, 67), +(10, 2344, 91), +(10, 2345, 66), +(10, 2346, 66), +(10, 2347, 67), +(10, 2348, 68), +(10, 2349, 87), +(10, 2350, 67), +(10, 2351, 76), +(10, 2352, 94), +(10, 2353, 73), +(10, 2354, 89), +(10, 2355, 65), +(10, 2356, 77), +(10, 2357, 86), +(10, 2358, 84), +(10, 2359, 91), +(10, 2360, 68), +(10, 2361, 81), +(10, 2362, 90), +(10, 2363, 83), +(10, 2364, 71), +(10, 2365, 72), +(10, 2366, 93), +(10, 2367, 67), +(10, 2368, 79), +(10, 2369, 83), +(10, 2370, 84), +(10, 2371, 98), +(10, 2372, 66), +(10, 2373, 65), +(10, 2374, 83), +(10, 2375, 82), +(10, 2376, 83), +(10, 2377, 96), +(10, 2378, 73), +(10, 2379, 77), +(10, 2380, 98), +(10, 2381, 72), +(10, 2382, 87), +(10, 2383, 75), +(10, 2384, 87), +(10, 2385, 91), +(10, 2386, 94), +(10, 2387, 78), +(10, 2388, 73), +(10, 2389, 67), +(10, 2390, 77), +(10, 2391, 75), +(10, 2392, 66), +(10, 2393, 95), +(10, 2394, 66), +(10, 2395, 68), +(10, 2396, 82), +(10, 2397, 93), +(10, 2398, 95), +(10, 2399, 88), +(10, 2400, 72), +(10, 2401, 90), +(10, 2402, 73), +(10, 2403, 70), +(10, 2404, 80), +(10, 2405, 85), +(10, 2406, 76), +(10, 2407, 68), +(10, 2408, 76), +(10, 2409, 69), +(10, 2410, 71), +(10, 2411, 68), +(10, 2412, 72), +(10, 2413, 97), +(10, 2414, 83), +(10, 2415, 85), +(10, 2416, 67), +(10, 2417, 67), +(10, 2418, 88), +(10, 2419, 66), +(10, 2420, 73), +(10, 2421, 89), +(10, 2422, 91), +(10, 2423, 81), +(10, 2424, 93), +(10, 2425, 81), +(10, 2426, 72), +(10, 2427, 78), +(10, 2428, 69), +(10, 2429, 76), +(10, 2430, 95), +(10, 2431, 66), +(10, 2432, 70), +(10, 2433, 75), +(10, 2434, 69), +(10, 2435, 75), +(10, 2436, 68), +(10, 2437, 93), +(10, 2438, 95), +(10, 2439, 67), +(10, 2440, 84), +(10, 2441, 75), +(10, 2442, 98), +(10, 2443, 98), +(10, 2444, 69), +(10, 2445, 78), +(10, 2446, 73), +(10, 2447, 67), +(10, 2448, 82), +(10, 2449, 71), +(10, 2450, 85), +(10, 2451, 94), +(10, 2452, 89), +(10, 2453, 73), +(10, 2454, 74), +(10, 2455, 67), +(10, 2456, 66), +(10, 2457, 73), +(10, 2458, 98), +(10, 2459, 89), +(10, 2460, 76), +(10, 2461, 96), +(10, 2462, 67), +(10, 2463, 85), +(10, 2464, 77), +(10, 2465, 83), +(10, 2466, 92), +(10, 2467, 70), +(10, 2468, 96), +(10, 2469, 94), +(10, 2470, 84), +(10, 2471, 70), +(10, 2472, 90), +(10, 2473, 74), +(10, 2474, 99), +(10, 2475, 78), +(10, 2476, 68), +(10, 2477, 80), +(10, 2478, 69), +(10, 2479, 86), +(10, 2480, 99), +(10, 2481, 92), +(10, 2482, 76), +(10, 2483, 80), +(10, 2484, 96), +(10, 2485, 71), +(10, 2486, 92), +(10, 2487, 72), +(10, 2488, 74), +(10, 2489, 87), +(10, 2490, 83), +(10, 2491, 80), +(10, 2492, 98), +(10, 2493, 69), +(10, 2494, 95), +(10, 2495, 84), +(10, 2496, 69), +(10, 2497, 74), +(10, 2498, 89), +(10, 2499, 73), +(10, 2500, 79), +(10, 2501, 99), +(10, 2502, 97), +(10, 2503, 95), +(10, 2504, 93), +(10, 2505, 93), +(10, 2506, 86), +(10, 2507, 66), +(10, 2508, 97), +(10, 2509, 80), +(10, 2510, 65), +(10, 2511, 74), +(10, 2512, 85), +(10, 2513, 68), +(10, 2514, 86), +(10, 2515, 90), +(10, 2516, 76), +(10, 2517, 92), +(10, 2518, 98), +(10, 2519, 96), +(10, 2520, 79), +(10, 2521, 99), +(10, 2522, 89), +(10, 2523, 85), +(10, 2524, 86), +(10, 2525, 85), +(10, 2526, 81), +(10, 2527, 88), +(10, 2528, 99), +(10, 2529, 93), +(10, 2530, 97), +(10, 2531, 65), +(10, 2532, 87), +(10, 2533, 71), +(10, 2534, 87), +(10, 2535, 68), +(10, 2536, 86), +(10, 2537, 87), +(10, 2538, 76), +(10, 2539, 91), +(10, 2540, 65), +(10, 2541, 76), +(10, 2542, 96), +(10, 2543, 77), +(10, 2544, 68), +(10, 2545, 66), +(10, 2546, 85), +(10, 2547, 92), +(10, 2548, 79), +(10, 2549, 83), +(10, 2550, 98), +(10, 2551, 82), +(10, 2552, 81), +(10, 2553, 78), +(10, 2554, 70), +(10, 2555, 66), +(10, 2556, 78), +(10, 2557, 71), +(10, 2558, 92), +(10, 2559, 65), +(10, 2560, 67), +(10, 2561, 91), +(10, 2562, 67), +(10, 2563, 74), +(10, 2564, 98), +(10, 2565, 73), +(10, 2566, 79), +(10, 2567, 80), +(10, 2568, 88), +(10, 2569, 71), +(10, 2570, 78), +(10, 2571, 70), +(10, 2572, 76), +(10, 2573, 89), +(10, 2574, 67), +(10, 2575, 73), +(10, 2576, 78), +(10, 2577, 66), +(10, 2578, 76), +(10, 2579, 73), +(10, 2580, 95), +(10, 2581, 94), +(10, 2582, 73), +(10, 2583, 96), +(10, 2584, 96), +(10, 2585, 69), +(10, 2586, 80), +(10, 2587, 82), +(10, 2588, 68), +(10, 2589, 80), +(10, 2590, 78), +(10, 2591, 77), +(10, 2592, 84), +(10, 2593, 83), +(10, 2594, 91), +(10, 2595, 96), +(10, 2596, 85), +(10, 2597, 67), +(10, 2598, 83), +(10, 2599, 75), +(10, 2600, 90), +(10, 2601, 94), +(10, 2602, 94), +(10, 2603, 69), +(10, 2604, 99), +(10, 2605, 93), +(10, 2606, 93), +(10, 2607, 89), +(10, 2608, 79), +(10, 2609, 79), +(10, 2610, 94), +(11, 1, 69), +(11, 2, 78), +(11, 3, 95), +(11, 4, 95), +(11, 5, 92), +(11, 6, 81), +(11, 7, 86), +(11, 8, 96), +(11, 9, 68), +(11, 10, 94), +(11, 11, 81), +(11, 12, 80), +(11, 13, 68), +(11, 14, 76), +(11, 15, 73), +(11, 16, 96), +(11, 17, 70), +(11, 18, 97), +(11, 19, 69), +(11, 20, 99), +(11, 21, 65), +(11, 22, 83), +(11, 23, 79), +(11, 24, 77), +(11, 25, 75), +(11, 26, 72), +(11, 27, 91), +(11, 28, 95), +(11, 29, 96), +(11, 30, 89), +(11, 31, 84), +(11, 32, 88), +(11, 33, 92), +(11, 34, 82), +(11, 35, 99), +(11, 36, 66), +(11, 37, 84), +(11, 38, 75), +(11, 39, 73), +(11, 40, 77), +(11, 41, 90), +(11, 42, 94), +(11, 43, 83), +(11, 44, 69), +(11, 45, 89), +(11, 46, 66), +(11, 47, 65), +(11, 48, 73), +(11, 49, 86), +(11, 50, 99), +(11, 51, 79), +(11, 52, 86), +(11, 53, 71), +(11, 54, 85), +(11, 55, 90), +(11, 56, 72), +(11, 57, 90), +(11, 58, 72), +(11, 59, 89), +(11, 60, 74), +(11, 61, 76), +(11, 62, 98), +(11, 63, 83), +(11, 64, 66), +(11, 65, 95), +(11, 66, 72), +(11, 67, 77), +(11, 68, 97), +(11, 69, 80), +(11, 70, 93), +(11, 71, 96), +(11, 72, 66), +(11, 73, 66), +(11, 74, 74), +(11, 75, 71), +(11, 76, 79), +(11, 77, 93), +(11, 78, 87), +(11, 79, 70), +(11, 80, 90), +(11, 81, 74), +(11, 82, 98), +(11, 83, 71), +(11, 84, 80), +(11, 85, 96), +(11, 86, 96), +(11, 87, 90), +(11, 88, 72), +(11, 89, 77), +(11, 90, 88), +(11, 91, 76), +(11, 92, 81), +(11, 93, 92), +(11, 94, 79), +(11, 95, 87), +(11, 96, 79), +(11, 97, 70), +(11, 98, 82), +(11, 99, 70), +(11, 100, 67), +(11, 101, 97), +(11, 102, 80), +(11, 103, 71), +(11, 104, 79), +(11, 105, 83), +(11, 106, 94), +(11, 107, 72), +(11, 108, 87), +(11, 109, 77), +(11, 110, 87), +(11, 111, 85), +(11, 112, 68), +(11, 113, 69), +(11, 114, 65), +(11, 115, 97), +(11, 116, 90), +(11, 117, 97), +(11, 118, 95), +(11, 119, 70), +(11, 120, 93), +(11, 121, 80), +(11, 122, 70), +(11, 123, 97), +(11, 124, 91), +(11, 125, 80), +(11, 126, 79), +(11, 127, 78), +(11, 128, 87), +(11, 129, 73), +(11, 130, 79), +(11, 131, 69), +(11, 132, 93), +(11, 133, 78), +(11, 134, 97), +(11, 135, 78), +(11, 136, 80), +(11, 137, 91), +(11, 138, 93), +(11, 139, 89), +(11, 140, 89), +(11, 141, 88), +(11, 142, 99), +(11, 143, 93), +(11, 144, 90), +(11, 145, 84), +(11, 146, 77), +(11, 147, 89), +(11, 148, 84), +(11, 149, 95), +(11, 150, 84), +(11, 151, 79), +(11, 152, 97), +(11, 153, 69), +(11, 154, 72), +(11, 155, 73), +(11, 156, 77), +(11, 157, 94), +(11, 158, 87), +(11, 159, 74), +(11, 160, 84), +(11, 161, 77), +(11, 162, 85), +(11, 163, 66), +(11, 164, 65), +(11, 165, 75), +(11, 166, 98), +(11, 167, 77), +(11, 168, 82), +(11, 169, 98), +(11, 170, 87), +(11, 171, 86), +(11, 172, 83), +(11, 173, 82), +(11, 174, 72), +(11, 175, 86), +(11, 176, 98), +(11, 177, 98), +(11, 178, 78), +(11, 179, 89), +(11, 180, 72), +(11, 181, 99), +(11, 182, 81), +(11, 183, 93), +(11, 184, 87), +(11, 185, 76), +(11, 186, 84), +(11, 187, 77), +(11, 188, 83), +(11, 189, 99), +(11, 190, 75), +(11, 191, 65), +(11, 192, 70), +(11, 193, 86), +(11, 194, 91), +(11, 195, 97), +(11, 196, 77), +(11, 197, 89), +(11, 198, 85), +(11, 199, 96), +(11, 200, 69), +(11, 201, 93), +(11, 202, 65), +(11, 203, 95), +(11, 204, 92), +(11, 205, 78), +(11, 206, 87), +(11, 207, 68), +(11, 208, 81), +(11, 209, 68), +(11, 210, 72), +(11, 211, 67), +(11, 212, 78), +(11, 213, 68), +(11, 214, 97), +(11, 215, 85), +(11, 216, 79), +(11, 217, 67), +(11, 218, 92), +(11, 219, 93), +(11, 220, 92), +(11, 221, 74), +(11, 222, 76), +(11, 223, 84), +(11, 224, 85), +(11, 225, 82), +(11, 226, 67), +(11, 227, 78), +(11, 228, 72), +(11, 229, 83), +(11, 230, 74), +(11, 231, 77), +(11, 232, 71), +(11, 233, 82), +(11, 234, 79), +(11, 235, 68), +(11, 236, 76), +(11, 237, 80), +(11, 238, 69), +(11, 239, 95), +(11, 240, 76), +(11, 241, 68), +(11, 242, 85), +(11, 243, 68), +(11, 244, 77), +(11, 245, 79), +(11, 246, 93), +(11, 247, 70), +(11, 248, 97), +(11, 249, 66), +(11, 250, 75), +(11, 251, 90), +(11, 252, 91), +(11, 253, 66), +(11, 254, 93), +(11, 255, 69), +(11, 256, 71), +(11, 257, 66), +(11, 258, 88), +(11, 259, 89), +(11, 260, 77), +(11, 261, 89), +(11, 262, 94), +(11, 263, 71), +(11, 264, 80), +(11, 265, 86), +(11, 266, 66), +(11, 267, 67), +(11, 268, 65), +(11, 269, 96), +(11, 270, 78), +(11, 271, 94), +(11, 272, 65), +(11, 273, 74), +(11, 274, 65), +(11, 275, 75), +(11, 276, 67), +(11, 277, 95), +(11, 278, 82), +(11, 279, 74), +(11, 280, 85), +(11, 281, 83), +(11, 282, 84), +(11, 283, 79), +(11, 284, 66), +(11, 285, 98), +(11, 286, 74), +(11, 287, 75), +(11, 288, 70), +(11, 289, 98), +(11, 290, 66), +(11, 291, 76), +(11, 292, 95), +(11, 293, 87), +(11, 294, 93), +(11, 295, 78), +(11, 296, 72), +(11, 297, 91), +(11, 298, 85), +(11, 299, 98), +(11, 300, 83), +(11, 301, 84), +(11, 302, 80), +(11, 303, 89), +(11, 304, 73), +(11, 305, 99), +(11, 306, 91), +(11, 307, 75), +(11, 308, 69), +(11, 309, 78), +(11, 310, 68), +(11, 311, 97), +(11, 312, 73), +(11, 313, 75), +(11, 314, 74), +(11, 315, 77), +(11, 316, 80), +(11, 317, 73), +(11, 318, 89), +(11, 319, 73), +(11, 320, 71), +(11, 321, 85), +(11, 322, 94), +(11, 323, 70), +(11, 324, 66), +(11, 325, 91), +(11, 326, 76), +(11, 327, 74), +(11, 328, 87), +(11, 329, 73), +(11, 330, 76), +(11, 331, 80), +(11, 332, 83), +(11, 333, 65), +(11, 334, 81), +(11, 335, 89), +(11, 336, 96), +(11, 337, 89), +(11, 338, 90), +(11, 339, 98), +(11, 340, 84), +(11, 341, 68), +(11, 342, 67), +(11, 343, 73), +(11, 344, 87), +(11, 345, 86), +(11, 346, 91), +(11, 347, 72), +(11, 348, 88), +(11, 349, 92), +(11, 350, 91), +(11, 351, 86), +(11, 352, 67), +(11, 353, 80), +(11, 354, 83), +(11, 355, 74), +(11, 356, 74), +(11, 357, 77), +(11, 358, 77), +(11, 359, 67), +(11, 360, 94), +(11, 361, 85), +(11, 362, 81), +(11, 363, 69), +(11, 364, 72), +(11, 365, 69), +(11, 366, 86), +(11, 367, 81), +(11, 368, 73), +(11, 369, 77), +(11, 370, 72), +(11, 371, 90), +(11, 372, 73), +(11, 373, 79), +(11, 374, 71), +(11, 375, 80), +(11, 376, 87), +(11, 377, 96), +(11, 378, 93), +(11, 379, 89), +(11, 380, 98), +(11, 381, 76), +(11, 382, 83), +(11, 383, 75), +(11, 384, 76), +(11, 385, 98), +(11, 386, 96), +(11, 387, 68), +(11, 388, 71), +(11, 389, 92), +(11, 390, 73), +(11, 391, 78), +(11, 392, 83), +(11, 393, 71), +(11, 394, 90), +(11, 395, 78), +(11, 396, 68), +(11, 397, 94), +(11, 398, 88), +(11, 399, 91), +(11, 400, 65), +(11, 401, 77), +(11, 402, 68), +(11, 403, 87), +(11, 404, 85), +(11, 405, 91), +(11, 406, 81), +(11, 407, 72), +(11, 408, 81), +(11, 409, 98), +(11, 410, 91), +(11, 411, 86), +(11, 412, 85), +(11, 413, 68), +(11, 414, 99), +(11, 415, 91), +(11, 416, 99), +(11, 417, 69), +(11, 418, 69), +(11, 419, 86), +(11, 420, 78), +(11, 421, 94), +(11, 422, 66), +(11, 423, 95), +(11, 424, 80), +(11, 425, 71), +(11, 426, 89), +(11, 427, 73), +(11, 428, 79), +(11, 429, 91), +(11, 430, 79), +(11, 431, 91), +(11, 432, 88), +(11, 433, 73), +(11, 434, 73), +(11, 435, 83), +(11, 436, 94), +(11, 437, 72), +(11, 438, 95), +(11, 439, 88), +(11, 440, 67), +(11, 441, 65), +(11, 442, 81), +(11, 443, 95), +(11, 444, 81), +(11, 445, 92), +(11, 446, 65), +(11, 447, 93), +(11, 448, 93), +(11, 449, 84), +(11, 450, 87), +(11, 451, 74), +(11, 452, 78), +(11, 453, 73), +(11, 454, 76), +(11, 455, 68), +(11, 456, 93), +(11, 457, 72), +(11, 458, 96), +(11, 459, 88), +(11, 460, 98), +(11, 461, 97), +(11, 462, 72), +(11, 463, 67), +(11, 464, 67), +(11, 465, 65), +(11, 466, 83), +(11, 467, 84), +(11, 468, 68), +(11, 469, 78), +(11, 470, 81), +(11, 471, 80), +(11, 472, 74), +(11, 473, 89), +(11, 474, 73), +(11, 475, 79), +(11, 476, 81), +(11, 477, 85), +(11, 478, 93), +(11, 479, 81), +(11, 480, 93), +(11, 481, 92), +(11, 482, 72), +(11, 483, 78), +(11, 484, 89), +(11, 485, 94), +(11, 486, 73), +(11, 487, 67), +(11, 488, 67), +(11, 489, 84), +(11, 490, 85), +(11, 491, 95), +(11, 492, 84), +(11, 493, 70), +(11, 494, 90), +(11, 495, 71), +(11, 496, 73), +(11, 497, 93), +(11, 498, 89), +(11, 499, 97), +(11, 500, 91), +(11, 501, 99), +(11, 502, 74), +(11, 503, 90), +(11, 504, 75), +(11, 505, 66), +(11, 506, 99), +(11, 507, 67), +(11, 508, 68), +(11, 509, 90), +(11, 510, 83), +(11, 511, 78), +(11, 512, 95), +(11, 513, 72), +(11, 514, 87), +(11, 515, 72), +(11, 516, 99), +(11, 517, 76), +(11, 518, 95), +(11, 519, 72), +(11, 520, 74), +(11, 521, 79), +(11, 522, 69), +(11, 523, 72), +(11, 524, 79), +(11, 525, 70), +(11, 526, 88), +(11, 527, 88), +(11, 528, 83), +(11, 529, 83), +(11, 530, 68), +(11, 531, 86), +(11, 532, 80), +(11, 533, 82), +(11, 534, 77), +(11, 535, 82), +(11, 536, 99), +(11, 537, 87), +(11, 538, 97), +(11, 539, 86), +(11, 540, 69), +(11, 541, 94), +(11, 542, 66), +(11, 543, 79), +(11, 544, 73), +(11, 545, 95), +(11, 546, 66), +(11, 547, 66), +(11, 548, 87), +(11, 549, 90), +(11, 550, 91), +(11, 551, 82), +(11, 552, 75), +(11, 553, 91), +(11, 554, 75), +(11, 555, 83), +(11, 556, 65), +(11, 557, 88), +(11, 558, 94), +(11, 559, 74), +(11, 560, 99), +(11, 561, 77), +(11, 562, 84), +(11, 563, 96), +(11, 564, 67), +(11, 1024, 83), +(11, 1025, 73), +(11, 1026, 78), +(11, 1027, 74), +(11, 1028, 84), +(11, 1029, 91), +(11, 1030, 77), +(11, 1031, 97), +(11, 1032, 77), +(11, 1033, 95), +(11, 1034, 72), +(11, 1035, 87), +(11, 1036, 82), +(11, 1037, 94), +(11, 1038, 78), +(11, 1039, 80), +(11, 1040, 67), +(11, 1041, 85), +(11, 1042, 74), +(11, 1043, 79), +(11, 1044, 88), +(11, 1045, 92), +(11, 1046, 65), +(11, 1047, 71), +(11, 1048, 89), +(11, 1049, 84), +(11, 1050, 91), +(11, 1051, 81), +(11, 1052, 78), +(11, 1053, 78), +(11, 1054, 94), +(11, 1055, 67), +(11, 1056, 80), +(11, 1057, 74), +(11, 1058, 96), +(11, 1059, 95), +(11, 1060, 98), +(11, 1061, 82), +(11, 1062, 87), +(11, 1063, 65), +(11, 1064, 83), +(11, 1065, 65), +(11, 1066, 90), +(11, 1067, 76), +(11, 1068, 92), +(11, 1069, 80), +(11, 1070, 79), +(11, 1071, 95), +(11, 1072, 76), +(11, 1073, 90), +(11, 1074, 71), +(11, 1075, 94), +(11, 1076, 66), +(11, 1077, 83), +(11, 1078, 80), +(11, 1079, 95), +(11, 1080, 98), +(11, 1081, 68), +(11, 1082, 93), +(11, 1083, 93), +(11, 1084, 87), +(11, 1085, 82), +(11, 1086, 85), +(11, 1087, 72), +(11, 1088, 86), +(11, 1089, 76), +(11, 1090, 76), +(11, 1091, 73), +(11, 1092, 76), +(11, 1093, 71), +(11, 1094, 72), +(11, 1095, 86), +(11, 1096, 96), +(11, 1097, 74), +(11, 1098, 81), +(11, 1099, 95), +(11, 1100, 83), +(11, 1101, 89), +(11, 1102, 66), +(11, 1103, 72), +(11, 1104, 70), +(11, 1105, 65), +(11, 1106, 85), +(11, 1107, 84), +(11, 1108, 98), +(11, 1109, 96), +(11, 1110, 74), +(11, 1111, 75), +(11, 1112, 99), +(11, 1113, 92), +(11, 1114, 73), +(11, 1115, 67), +(11, 1116, 74), +(11, 1117, 68), +(11, 1118, 71), +(11, 1119, 92), +(11, 1120, 75), +(11, 1121, 99), +(11, 1122, 99), +(11, 1123, 90), +(11, 1124, 88), +(11, 1125, 99), +(11, 1126, 98), +(11, 1127, 93), +(11, 1128, 88), +(11, 1129, 80), +(11, 1130, 98), +(11, 1131, 98), +(11, 1132, 92), +(11, 1133, 85), +(11, 1134, 90), +(11, 1135, 73), +(11, 1136, 98), +(11, 1137, 94), +(11, 1138, 91), +(11, 1139, 85), +(11, 1140, 88), +(11, 1141, 74), +(11, 1142, 75), +(11, 1143, 81), +(11, 1144, 91), +(11, 1145, 85), +(11, 1146, 89), +(11, 1147, 68), +(11, 1148, 88), +(11, 1149, 87), +(11, 1150, 80), +(11, 1151, 83), +(11, 1152, 92), +(11, 1153, 67), +(11, 1154, 79), +(11, 1155, 65), +(11, 1156, 90), +(11, 1157, 93), +(11, 1158, 87), +(11, 1159, 76), +(11, 1160, 93), +(11, 1161, 75), +(11, 1162, 66), +(11, 1163, 83), +(11, 1164, 88), +(11, 1165, 90), +(11, 1166, 67), +(11, 1167, 94), +(11, 1168, 67), +(11, 1169, 77), +(11, 1170, 67), +(11, 1171, 99), +(11, 1172, 93), +(11, 1173, 66), +(11, 1174, 94), +(11, 1175, 76), +(11, 1176, 95), +(11, 1177, 89), +(11, 1178, 78), +(11, 1179, 88), +(11, 1180, 78), +(11, 1181, 78), +(11, 1182, 76), +(11, 1183, 71), +(11, 1184, 74), +(11, 1185, 86), +(11, 1186, 77), +(11, 1187, 98), +(11, 1188, 89), +(11, 1189, 80), +(11, 1190, 76), +(11, 1191, 94), +(11, 1192, 87), +(11, 1193, 85), +(11, 1194, 72), +(11, 1195, 79), +(11, 1196, 72), +(11, 1197, 84), +(11, 1198, 66), +(11, 1199, 93), +(11, 1200, 77), +(11, 1201, 69), +(11, 1202, 71), +(11, 1203, 88), +(11, 1204, 71), +(11, 1205, 89), +(11, 1206, 95), +(11, 1207, 96), +(11, 1208, 71), +(11, 1209, 81), +(11, 1210, 95), +(11, 1211, 76), +(11, 1212, 97), +(11, 1213, 75), +(11, 1214, 75), +(11, 1215, 81), +(11, 1216, 66), +(11, 1217, 85), +(11, 1218, 78), +(11, 1219, 67), +(11, 1220, 80), +(11, 1221, 77), +(11, 1222, 80), +(11, 1223, 95), +(11, 1224, 76), +(11, 1225, 73), +(11, 1226, 73), +(11, 1227, 90), +(11, 1228, 76), +(11, 1229, 99), +(11, 1230, 97), +(11, 1231, 86), +(11, 1232, 70), +(11, 1233, 70), +(11, 1234, 74), +(11, 1235, 98), +(11, 1236, 73), +(11, 1237, 74), +(11, 1238, 98), +(11, 1239, 84), +(11, 1240, 75), +(11, 1241, 69), +(11, 1242, 85), +(11, 1243, 90), +(11, 1244, 90), +(11, 1245, 74), +(11, 1246, 68), +(11, 1247, 84), +(11, 1248, 70), +(11, 1249, 79), +(11, 1250, 65), +(11, 1251, 87), +(11, 1252, 99), +(11, 1253, 94), +(11, 1254, 78), +(11, 1255, 84), +(11, 1256, 88), +(11, 1257, 79), +(11, 1258, 72), +(11, 1259, 83), +(11, 1260, 72), +(11, 1261, 81), +(11, 1262, 75), +(11, 1263, 66), +(11, 1264, 98), +(11, 1265, 73), +(11, 1266, 94), +(11, 1267, 87), +(11, 1268, 69), +(11, 1269, 80), +(11, 1270, 99), +(11, 1271, 79), +(11, 1272, 94), +(11, 1273, 88), +(11, 1274, 92), +(11, 1275, 74), +(11, 1276, 89), +(11, 1277, 84), +(11, 1278, 95), +(11, 1279, 86), +(11, 1280, 71), +(11, 1281, 72), +(11, 1282, 94), +(11, 1283, 79), +(11, 1284, 87), +(11, 1285, 78), +(11, 1286, 88), +(11, 1287, 74), +(11, 1288, 72), +(11, 1289, 95), +(11, 1290, 96), +(11, 1291, 87), +(11, 1292, 98), +(11, 1293, 67), +(11, 1294, 85), +(11, 1295, 85), +(11, 1296, 83), +(11, 1297, 81), +(11, 1298, 71), +(11, 1299, 88), +(11, 1300, 78), +(11, 1301, 89), +(11, 1302, 78), +(11, 1303, 76), +(11, 1304, 81), +(11, 1305, 92), +(11, 1306, 67), +(11, 1307, 70), +(11, 1308, 80), +(11, 1309, 74), +(11, 1310, 67), +(11, 1311, 90), +(11, 1312, 65), +(11, 1313, 85), +(11, 1314, 88), +(11, 1315, 96), +(11, 1316, 92), +(11, 1317, 67), +(11, 1318, 72), +(11, 1319, 75), +(11, 1320, 70), +(11, 1321, 74), +(11, 1322, 75), +(11, 1323, 79), +(11, 1324, 81), +(11, 1325, 91), +(11, 1326, 97), +(11, 1327, 81), +(11, 1328, 68), +(11, 1329, 79), +(11, 1330, 84), +(11, 1331, 88), +(11, 1332, 69), +(11, 1333, 88), +(11, 1334, 81), +(11, 1335, 88), +(11, 1336, 72), +(11, 1337, 71), +(11, 1338, 84), +(11, 1339, 87), +(11, 1340, 97), +(11, 1341, 98), +(11, 1342, 78), +(11, 1343, 80), +(11, 1344, 77), +(11, 1345, 78), +(11, 1346, 67), +(11, 1347, 69), +(11, 1348, 69), +(11, 1349, 87), +(11, 1350, 95), +(11, 1351, 88), +(11, 1352, 67), +(11, 1353, 66), +(11, 1354, 82), +(11, 1355, 93), +(11, 1356, 76), +(11, 1357, 93), +(11, 1358, 65), +(11, 1359, 92), +(11, 1360, 88), +(11, 1361, 85), +(11, 1362, 96), +(11, 1363, 90), +(11, 1364, 74), +(11, 1365, 81), +(11, 1366, 89), +(11, 1367, 96), +(11, 1368, 94), +(11, 1369, 88), +(11, 1370, 85), +(11, 1371, 81), +(11, 1372, 84), +(11, 1373, 67), +(11, 1374, 69), +(11, 1375, 85), +(11, 1376, 86), +(11, 1377, 90), +(11, 1378, 88), +(11, 1379, 70), +(11, 1380, 85), +(11, 1381, 71), +(11, 1382, 95), +(11, 1383, 99), +(11, 1384, 75), +(11, 1385, 73), +(11, 1386, 73), +(11, 1387, 85), +(11, 1388, 99), +(11, 1389, 88), +(11, 1390, 77), +(11, 1391, 77), +(11, 1392, 91), +(11, 1393, 87), +(11, 1394, 79), +(11, 1395, 72), +(11, 1396, 82), +(11, 1397, 85), +(11, 1398, 98), +(11, 1399, 94), +(11, 1400, 85), +(11, 1401, 94), +(11, 1402, 80), +(11, 1403, 86), +(11, 1404, 88), +(11, 1405, 96), +(11, 1406, 89), +(11, 1407, 78), +(11, 1408, 68), +(11, 1409, 99), +(11, 1410, 70), +(11, 1411, 84), +(11, 1412, 65), +(11, 1413, 96), +(11, 1414, 84), +(11, 1415, 99), +(11, 1416, 81), +(11, 1417, 72), +(11, 1418, 68), +(11, 1419, 71), +(11, 1420, 87), +(11, 1421, 66), +(11, 1422, 83), +(11, 1423, 76), +(11, 1424, 79), +(11, 1425, 90), +(11, 1426, 84), +(11, 1427, 91), +(11, 1428, 84), +(11, 1429, 72), +(11, 1430, 99), +(11, 1431, 76), +(11, 1432, 66), +(11, 1433, 86), +(11, 1434, 82), +(11, 1435, 92), +(11, 1436, 67), +(11, 1437, 95), +(11, 1438, 84), +(11, 1439, 99), +(11, 1440, 65), +(11, 1441, 91), +(11, 1442, 72), +(11, 1443, 66), +(11, 1444, 91), +(11, 1445, 87), +(11, 1446, 96), +(11, 1447, 96), +(11, 1448, 99), +(11, 1449, 68), +(11, 1450, 83), +(11, 1451, 80), +(11, 1452, 98), +(11, 1453, 76), +(11, 1454, 99), +(11, 1455, 84), +(11, 1456, 85), +(11, 1457, 84), +(11, 1458, 88), +(11, 1459, 85), +(11, 1460, 99), +(11, 1461, 84), +(11, 1462, 70), +(11, 1463, 77), +(11, 1464, 71), +(11, 1465, 66), +(11, 1466, 98), +(11, 1467, 84), +(11, 1468, 88), +(11, 1469, 88), +(11, 1470, 88), +(11, 1471, 83), +(11, 1472, 71), +(11, 1473, 84), +(11, 1474, 86), +(11, 1475, 85), +(11, 1476, 67), +(11, 1477, 95), +(11, 1478, 67), +(11, 1479, 83), +(11, 1480, 84), +(11, 1481, 88), +(11, 1482, 90), +(11, 1483, 73), +(11, 1484, 75), +(11, 1485, 71), +(11, 1486, 95), +(11, 1487, 98), +(11, 1488, 72), +(11, 1489, 93), +(11, 1490, 77), +(11, 1491, 79), +(11, 1492, 87), +(11, 1493, 84), +(11, 1494, 90), +(11, 1495, 91), +(11, 1496, 92), +(11, 1497, 91), +(11, 1498, 98), +(11, 1499, 66), +(11, 1500, 83), +(11, 1501, 72), +(11, 1502, 79), +(11, 1503, 74), +(11, 1504, 72), +(11, 1505, 82), +(11, 1506, 94), +(11, 1507, 85), +(11, 1508, 80), +(11, 1509, 65), +(11, 1510, 84), +(11, 1511, 97), +(11, 1512, 86), +(11, 1513, 76), +(11, 1514, 94), +(11, 1515, 81), +(11, 1516, 91), +(11, 1517, 67), +(11, 1518, 85), +(11, 1519, 88), +(11, 1520, 92), +(11, 1521, 66), +(11, 1522, 66), +(11, 1523, 84), +(11, 1524, 67), +(11, 1525, 86), +(11, 1526, 73), +(11, 1527, 82), +(11, 1528, 69), +(11, 1529, 78), +(11, 1530, 73), +(11, 1531, 81), +(11, 1532, 92), +(11, 1533, 91), +(11, 1534, 99), +(11, 1535, 68), +(11, 1536, 80), +(11, 1537, 79), +(11, 1538, 74), +(11, 1539, 77), +(11, 1540, 70), +(11, 1541, 85), +(11, 1542, 81), +(11, 1543, 76), +(11, 1544, 67), +(11, 1545, 66), +(11, 1546, 90), +(11, 1547, 67), +(11, 1548, 98), +(11, 1549, 77), +(11, 1550, 92), +(11, 1551, 75), +(11, 1552, 83), +(11, 1553, 97), +(11, 1554, 81), +(11, 1555, 93), +(11, 1556, 75), +(11, 1557, 66), +(11, 1558, 85), +(11, 1559, 66), +(11, 1560, 72), +(11, 1561, 83), +(11, 1562, 67), +(11, 1563, 78), +(11, 1564, 85), +(11, 1565, 94), +(11, 1566, 70), +(11, 1567, 90), +(11, 1568, 71), +(11, 1569, 81), +(11, 1570, 86), +(11, 1571, 94), +(11, 1572, 73), +(11, 1573, 91), +(11, 1574, 67), +(11, 1575, 67), +(11, 1576, 66), +(11, 1577, 79), +(11, 1578, 90), +(11, 1579, 77), +(11, 1580, 68), +(11, 1581, 66), +(11, 1582, 82), +(11, 1583, 86), +(11, 1584, 66), +(11, 1585, 95), +(11, 1586, 95), +(11, 1587, 87), +(11, 2047, 80), +(11, 2048, 99), +(11, 2049, 71), +(11, 2050, 84), +(11, 2051, 76), +(11, 2052, 91), +(11, 2053, 75), +(11, 2054, 88), +(11, 2055, 84), +(11, 2056, 91), +(11, 2057, 91), +(11, 2058, 77), +(11, 2059, 99), +(11, 2060, 83), +(11, 2061, 73), +(11, 2062, 75), +(11, 2063, 82), +(11, 2064, 65), +(11, 2065, 71), +(11, 2066, 84), +(11, 2067, 88), +(11, 2068, 95), +(11, 2069, 94), +(11, 2070, 98), +(11, 2071, 71), +(11, 2072, 97), +(11, 2073, 88), +(11, 2074, 70), +(11, 2075, 66), +(11, 2076, 79), +(11, 2077, 65), +(11, 2078, 65), +(11, 2079, 83), +(11, 2080, 88), +(11, 2081, 81), +(11, 2082, 89), +(11, 2083, 97), +(11, 2084, 75), +(11, 2085, 85), +(11, 2086, 65), +(11, 2087, 71), +(11, 2088, 87), +(11, 2089, 68), +(11, 2090, 92), +(11, 2091, 67), +(11, 2092, 67), +(11, 2093, 93), +(11, 2094, 81), +(11, 2095, 92), +(11, 2096, 89), +(11, 2097, 75), +(11, 2098, 76), +(11, 2099, 76), +(11, 2100, 74), +(11, 2101, 94), +(11, 2102, 70), +(11, 2103, 87), +(11, 2104, 73), +(11, 2105, 68), +(11, 2106, 75), +(11, 2107, 73), +(11, 2108, 69), +(11, 2109, 98), +(11, 2110, 97), +(11, 2111, 70), +(11, 2112, 76), +(11, 2113, 83), +(11, 2114, 72), +(11, 2115, 79), +(11, 2116, 79), +(11, 2117, 71), +(11, 2118, 80), +(11, 2119, 98), +(11, 2120, 89), +(11, 2121, 94), +(11, 2122, 85), +(11, 2123, 66), +(11, 2124, 94), +(11, 2125, 82), +(11, 2126, 70), +(11, 2127, 67), +(11, 2128, 88), +(11, 2129, 79), +(11, 2130, 79), +(11, 2131, 94), +(11, 2132, 65), +(11, 2133, 73), +(11, 2134, 93), +(11, 2135, 93), +(11, 2136, 67), +(11, 2137, 98), +(11, 2138, 74), +(11, 2139, 87), +(11, 2140, 65), +(11, 2141, 91), +(11, 2142, 71), +(11, 2143, 67), +(11, 2144, 75), +(11, 2145, 90), +(11, 2146, 81), +(11, 2147, 87), +(11, 2148, 66), +(11, 2149, 75), +(11, 2150, 90), +(11, 2151, 81), +(11, 2152, 93), +(11, 2153, 94), +(11, 2154, 93), +(11, 2155, 65), +(11, 2156, 81), +(11, 2157, 92), +(11, 2158, 71), +(11, 2159, 95), +(11, 2160, 94), +(11, 2161, 68), +(11, 2162, 73), +(11, 2163, 67), +(11, 2164, 69), +(11, 2165, 96), +(11, 2166, 74), +(11, 2167, 83), +(11, 2168, 76), +(11, 2169, 79), +(11, 2170, 74), +(11, 2171, 79), +(11, 2172, 79), +(11, 2173, 92), +(11, 2174, 89), +(11, 2175, 84), +(11, 2176, 95), +(11, 2177, 76), +(11, 2178, 79), +(11, 2179, 76), +(11, 2180, 88), +(11, 2181, 75), +(11, 2182, 92), +(11, 2183, 88), +(11, 2184, 75), +(11, 2185, 76), +(11, 2186, 91), +(11, 2187, 93), +(11, 2188, 82), +(11, 2189, 73), +(11, 2190, 65), +(11, 2191, 77), +(11, 2192, 91), +(11, 2193, 82), +(11, 2194, 91), +(11, 2195, 97), +(11, 2196, 96), +(11, 2197, 66), +(11, 2198, 71), +(11, 2199, 90), +(11, 2200, 82), +(11, 2201, 84), +(11, 2202, 90), +(11, 2203, 87), +(11, 2204, 67), +(11, 2205, 79), +(11, 2206, 79), +(11, 2207, 85), +(11, 2208, 79), +(11, 2209, 88), +(11, 2210, 96), +(11, 2211, 69), +(11, 2212, 84), +(11, 2213, 92), +(11, 2214, 99), +(11, 2215, 71), +(11, 2216, 97), +(11, 2217, 70), +(11, 2218, 99), +(11, 2219, 72), +(11, 2220, 80), +(11, 2221, 94), +(11, 2222, 87), +(11, 2223, 99), +(11, 2224, 90), +(11, 2225, 78), +(11, 2226, 74), +(11, 2227, 98), +(11, 2228, 78), +(11, 2229, 91), +(11, 2230, 97), +(11, 2231, 85), +(11, 2232, 69), +(11, 2233, 95), +(11, 2234, 89), +(11, 2235, 90), +(11, 2236, 99), +(11, 2237, 90), +(11, 2238, 89), +(11, 2239, 69), +(11, 2240, 92), +(11, 2241, 76), +(11, 2242, 76), +(11, 2243, 67), +(11, 2244, 78), +(11, 2245, 99), +(11, 2246, 90), +(11, 2247, 79), +(11, 2248, 96), +(11, 2249, 91), +(11, 2250, 72), +(11, 2251, 85), +(11, 2252, 71), +(11, 2253, 68), +(11, 2254, 72), +(11, 2255, 76), +(11, 2256, 98), +(11, 2257, 71), +(11, 2258, 78), +(11, 2259, 81), +(11, 2260, 92), +(11, 2261, 92), +(11, 2262, 67), +(11, 2263, 73), +(11, 2264, 94), +(11, 2265, 93), +(11, 2266, 74), +(11, 2267, 95), +(11, 2268, 73), +(11, 2269, 77), +(11, 2270, 96), +(11, 2271, 74), +(11, 2272, 70), +(11, 2273, 65), +(11, 2274, 87), +(11, 2275, 99), +(11, 2276, 70), +(11, 2277, 74), +(11, 2278, 70), +(11, 2279, 74), +(11, 2280, 89), +(11, 2281, 73), +(11, 2282, 97), +(11, 2283, 87), +(11, 2284, 74), +(11, 2285, 66), +(11, 2286, 65), +(11, 2287, 65), +(11, 2288, 88), +(11, 2289, 83), +(11, 2290, 97), +(11, 2291, 96), +(11, 2292, 65), +(11, 2293, 66), +(11, 2294, 68), +(11, 2295, 81), +(11, 2296, 78), +(11, 2297, 71), +(11, 2298, 98), +(11, 2299, 74), +(11, 2300, 97), +(11, 2301, 75), +(11, 2302, 90), +(11, 2303, 93), +(11, 2304, 79), +(11, 2305, 93), +(11, 2306, 92), +(11, 2307, 95), +(11, 2308, 67), +(11, 2309, 83), +(11, 2310, 72), +(11, 2311, 88), +(11, 2312, 70), +(11, 2313, 92), +(11, 2314, 70), +(11, 2315, 87), +(11, 2316, 65), +(11, 2317, 73), +(11, 2318, 74), +(11, 2319, 65), +(11, 2320, 84), +(11, 2321, 93), +(11, 2322, 83), +(11, 2323, 85), +(11, 2324, 80), +(11, 2325, 90), +(11, 2326, 85), +(11, 2327, 83), +(11, 2328, 88), +(11, 2329, 95), +(11, 2330, 84), +(11, 2331, 79), +(11, 2332, 93), +(11, 2333, 80), +(11, 2334, 65), +(11, 2335, 89), +(11, 2336, 92), +(11, 2337, 98), +(11, 2338, 99), +(11, 2339, 66), +(11, 2340, 99), +(11, 2341, 65), +(11, 2342, 68), +(11, 2343, 72), +(11, 2344, 69), +(11, 2345, 78), +(11, 2346, 98), +(11, 2347, 88), +(11, 2348, 76), +(11, 2349, 74), +(11, 2350, 87), +(11, 2351, 70), +(11, 2352, 67), +(11, 2353, 79), +(11, 2354, 98), +(11, 2355, 69), +(11, 2356, 94), +(11, 2357, 70), +(11, 2358, 74), +(11, 2359, 99), +(11, 2360, 99), +(11, 2361, 97), +(11, 2362, 72), +(11, 2363, 97), +(11, 2364, 82), +(11, 2365, 69), +(11, 2366, 85), +(11, 2367, 93), +(11, 2368, 69), +(11, 2369, 83), +(11, 2370, 76), +(11, 2371, 94), +(11, 2372, 99), +(11, 2373, 87), +(11, 2374, 85), +(11, 2375, 92), +(11, 2376, 71), +(11, 2377, 89), +(11, 2378, 98), +(11, 2379, 80), +(11, 2380, 83), +(11, 2381, 68), +(11, 2382, 97), +(11, 2383, 72), +(11, 2384, 84), +(11, 2385, 71), +(11, 2386, 76), +(11, 2387, 95), +(11, 2388, 70), +(11, 2389, 76), +(11, 2390, 90), +(11, 2391, 88), +(11, 2392, 86), +(11, 2393, 83), +(11, 2394, 95), +(11, 2395, 91), +(11, 2396, 93), +(11, 2397, 83), +(11, 2398, 78), +(11, 2399, 96), +(11, 2400, 91), +(11, 2401, 99), +(11, 2402, 81), +(11, 2403, 92), +(11, 2404, 94), +(11, 2405, 68), +(11, 2406, 93), +(11, 2407, 84), +(11, 2408, 88), +(11, 2409, 91), +(11, 2410, 80), +(11, 2411, 78), +(11, 2412, 87), +(11, 2413, 70), +(11, 2414, 96), +(11, 2415, 77), +(11, 2416, 68), +(11, 2417, 97), +(11, 2418, 81), +(11, 2419, 99), +(11, 2420, 75), +(11, 2421, 70), +(11, 2422, 97), +(11, 2423, 67), +(11, 2424, 97), +(11, 2425, 83), +(11, 2426, 70), +(11, 2427, 82), +(11, 2428, 69), +(11, 2429, 91), +(11, 2430, 75), +(11, 2431, 90), +(11, 2432, 90), +(11, 2433, 92), +(11, 2434, 90), +(11, 2435, 83), +(11, 2436, 93), +(11, 2437, 87), +(11, 2438, 68), +(11, 2439, 77), +(11, 2440, 68), +(11, 2441, 77), +(11, 2442, 83), +(11, 2443, 66), +(11, 2444, 79), +(11, 2445, 75), +(11, 2446, 73), +(11, 2447, 85), +(11, 2448, 93), +(11, 2449, 90), +(11, 2450, 88), +(11, 2451, 85), +(11, 2452, 85), +(11, 2453, 80), +(11, 2454, 83), +(11, 2455, 76), +(11, 2456, 73), +(11, 2457, 70), +(11, 2458, 72), +(11, 2459, 73), +(11, 2460, 72), +(11, 2461, 91), +(11, 2462, 70), +(11, 2463, 94), +(11, 2464, 87), +(11, 2465, 89), +(11, 2466, 78), +(11, 2467, 87), +(11, 2468, 90), +(11, 2469, 77), +(11, 2470, 88), +(11, 2471, 70), +(11, 2472, 84), +(11, 2473, 82), +(11, 2474, 78), +(11, 2475, 92), +(11, 2476, 72), +(11, 2477, 82), +(11, 2478, 85), +(11, 2479, 91), +(11, 2480, 98), +(11, 2481, 73), +(11, 2482, 82), +(11, 2483, 83), +(11, 2484, 96), +(11, 2485, 89), +(11, 2486, 73), +(11, 2487, 75), +(11, 2488, 72), +(11, 2489, 72), +(11, 2490, 77), +(11, 2491, 75), +(11, 2492, 94), +(11, 2493, 90), +(11, 2494, 81), +(11, 2495, 77), +(11, 2496, 97), +(11, 2497, 79), +(11, 2498, 94), +(11, 2499, 79), +(11, 2500, 77), +(11, 2501, 73), +(11, 2502, 88), +(11, 2503, 72), +(11, 2504, 68), +(11, 2505, 85), +(11, 2506, 69), +(11, 2507, 81), +(11, 2508, 71), +(11, 2509, 84), +(11, 2510, 95), +(11, 2511, 98), +(11, 2512, 97), +(11, 2513, 66), +(11, 2514, 81), +(11, 2515, 92), +(11, 2516, 96), +(11, 2517, 91), +(11, 2518, 76), +(11, 2519, 78), +(11, 2520, 93), +(11, 2521, 67), +(11, 2522, 95), +(11, 2523, 69), +(11, 2524, 93), +(11, 2525, 92), +(11, 2526, 95), +(11, 2527, 86), +(11, 2528, 94), +(11, 2529, 70), +(11, 2530, 69), +(11, 2531, 99), +(11, 2532, 75), +(11, 2533, 97), +(11, 2534, 68), +(11, 2535, 97), +(11, 2536, 67), +(11, 2537, 80), +(11, 2538, 79), +(11, 2539, 76), +(11, 2540, 87), +(11, 2541, 74), +(11, 2542, 98), +(11, 2543, 91), +(11, 2544, 70), +(11, 2545, 94), +(11, 2546, 88), +(11, 2547, 72), +(11, 2548, 90), +(11, 2549, 90), +(11, 2550, 72), +(11, 2551, 80), +(11, 2552, 77), +(11, 2553, 89), +(11, 2554, 97), +(11, 2555, 79), +(11, 2556, 98), +(11, 2557, 75), +(11, 2558, 80), +(11, 2559, 75), +(11, 2560, 65), +(11, 2561, 97), +(11, 2562, 87), +(11, 2563, 93), +(11, 2564, 77), +(11, 2565, 90), +(11, 2566, 81), +(11, 2567, 82), +(11, 2568, 77), +(11, 2569, 71), +(11, 2570, 95), +(11, 2571, 93), +(11, 2572, 67), +(11, 2573, 84), +(11, 2574, 79), +(11, 2575, 93), +(11, 2576, 92), +(11, 2577, 90), +(11, 2578, 73), +(11, 2579, 68), +(11, 2580, 67), +(11, 2581, 98), +(11, 2582, 92), +(11, 2583, 77), +(11, 2584, 65), +(11, 2585, 84), +(11, 2586, 99), +(11, 2587, 77), +(11, 2588, 71), +(11, 2589, 87), +(11, 2590, 69), +(11, 2591, 78), +(11, 2592, 72), +(11, 2593, 77), +(11, 2594, 82), +(11, 2595, 84), +(11, 2596, 87), +(11, 2597, 74), +(11, 2598, 68), +(11, 2599, 84), +(11, 2600, 96), +(11, 2601, 83), +(11, 2602, 73), +(11, 2603, 76), +(11, 2604, 70), +(11, 2605, 65), +(11, 2606, 82), +(11, 2607, 77), +(11, 2608, 77), +(11, 2609, 68), +(11, 2610, 69), +(12, 1, 75), +(12, 2, 90), +(12, 3, 80), +(12, 4, 83), +(12, 5, 91), +(12, 6, 82), +(12, 7, 97), +(12, 8, 78), +(12, 9, 81), +(12, 10, 99), +(12, 11, 84), +(12, 12, 97), +(12, 13, 88), +(12, 14, 80), +(12, 15, 71), +(12, 16, 82), +(12, 17, 95), +(12, 18, 73), +(12, 19, 93), +(12, 20, 75), +(12, 21, 98), +(12, 22, 71), +(12, 23, 78), +(12, 24, 92), +(12, 25, 80), +(12, 26, 65), +(12, 27, 71), +(12, 28, 84), +(12, 29, 80), +(12, 30, 68), +(12, 31, 67), +(12, 32, 81), +(12, 33, 79), +(12, 34, 93), +(12, 35, 68), +(12, 36, 77), +(12, 37, 88), +(12, 38, 84), +(12, 39, 88), +(12, 40, 77), +(12, 41, 71), +(12, 42, 66), +(12, 43, 76), +(12, 44, 75), +(12, 45, 81), +(12, 46, 74), +(12, 47, 88), +(12, 48, 87), +(12, 49, 79), +(12, 50, 79), +(12, 51, 66), +(12, 52, 77), +(12, 53, 77), +(12, 54, 78), +(12, 55, 95), +(12, 56, 83), +(12, 57, 84), +(12, 58, 74), +(12, 59, 96), +(12, 60, 78), +(12, 61, 76), +(12, 62, 97), +(12, 63, 85), +(12, 64, 84), +(12, 65, 94), +(12, 66, 69), +(12, 67, 94), +(12, 68, 69), +(12, 69, 86), +(12, 70, 69), +(12, 71, 96), +(12, 72, 71), +(12, 73, 82), +(12, 74, 85), +(12, 75, 92), +(12, 76, 90), +(12, 77, 74), +(12, 78, 89), +(12, 79, 81), +(12, 80, 82), +(12, 81, 98), +(12, 82, 85), +(12, 83, 97), +(12, 84, 76), +(12, 85, 73), +(12, 86, 88), +(12, 87, 89), +(12, 88, 85), +(12, 89, 80), +(12, 90, 65), +(12, 91, 72), +(12, 92, 85), +(12, 93, 69), +(12, 94, 88), +(12, 95, 82), +(12, 96, 99), +(12, 97, 81), +(12, 98, 76), +(12, 99, 82), +(12, 100, 96), +(12, 101, 68), +(12, 102, 91), +(12, 103, 85), +(12, 104, 82), +(12, 105, 87), +(12, 106, 82), +(12, 107, 70), +(12, 108, 96), +(12, 109, 93), +(12, 110, 72), +(12, 111, 97), +(12, 112, 65), +(12, 113, 81), +(12, 114, 66), +(12, 115, 85), +(12, 116, 83), +(12, 117, 66), +(12, 118, 76), +(12, 119, 79), +(12, 120, 83), +(12, 121, 99), +(12, 122, 68), +(12, 123, 79), +(12, 124, 72), +(12, 125, 73), +(12, 126, 96), +(12, 127, 88), +(12, 128, 85), +(12, 129, 98), +(12, 130, 85), +(12, 131, 65), +(12, 132, 98), +(12, 133, 67), +(12, 134, 84), +(12, 135, 84), +(12, 136, 85), +(12, 137, 96), +(12, 138, 89), +(12, 139, 75), +(12, 140, 72), +(12, 141, 71), +(12, 142, 99), +(12, 143, 65), +(12, 144, 65), +(12, 145, 91), +(12, 146, 68), +(12, 147, 98), +(12, 148, 96), +(12, 149, 81), +(12, 150, 65), +(12, 151, 96), +(12, 152, 78), +(12, 153, 86), +(12, 154, 67), +(12, 155, 88), +(12, 156, 99), +(12, 157, 93), +(12, 158, 67), +(12, 159, 74), +(12, 160, 71), +(12, 161, 75), +(12, 162, 77), +(12, 163, 92), +(12, 164, 85), +(12, 165, 70), +(12, 166, 70), +(12, 167, 81), +(12, 168, 84), +(12, 169, 77), +(12, 170, 82), +(12, 171, 94), +(12, 172, 79), +(12, 173, 73), +(12, 174, 96), +(12, 175, 81), +(12, 176, 75), +(12, 177, 89), +(12, 178, 90), +(12, 179, 87), +(12, 180, 94), +(12, 181, 91), +(12, 182, 97), +(12, 183, 92), +(12, 184, 95), +(12, 185, 97), +(12, 186, 79), +(12, 187, 75), +(12, 188, 70), +(12, 189, 99), +(12, 190, 70), +(12, 191, 98), +(12, 192, 77), +(12, 193, 84), +(12, 194, 88), +(12, 195, 87), +(12, 196, 84), +(12, 197, 79), +(12, 198, 82), +(12, 199, 91), +(12, 200, 91), +(12, 201, 88), +(12, 202, 71), +(12, 203, 89), +(12, 204, 74), +(12, 205, 77), +(12, 206, 82), +(12, 207, 91), +(12, 208, 85), +(12, 209, 80), +(12, 210, 69), +(12, 211, 84), +(12, 212, 66), +(12, 213, 86), +(12, 214, 85), +(12, 215, 97), +(12, 216, 95), +(12, 217, 92), +(12, 218, 91), +(12, 219, 94), +(12, 220, 81), +(12, 221, 90), +(12, 222, 74), +(12, 223, 91), +(12, 224, 66), +(12, 225, 86), +(12, 226, 96), +(12, 227, 93), +(12, 228, 77), +(12, 229, 95), +(12, 230, 67), +(12, 231, 67), +(12, 232, 73), +(12, 233, 95), +(12, 234, 88), +(12, 235, 91), +(12, 236, 95), +(12, 237, 72), +(12, 238, 83), +(12, 239, 74), +(12, 240, 99), +(12, 241, 91), +(12, 242, 78), +(12, 243, 75), +(12, 244, 70), +(12, 245, 95), +(12, 246, 81), +(12, 247, 68), +(12, 248, 77), +(12, 249, 67), +(12, 250, 97), +(12, 251, 88), +(12, 252, 99), +(12, 253, 90), +(12, 254, 83), +(12, 255, 88), +(12, 256, 99), +(12, 257, 90), +(12, 258, 82), +(12, 259, 87), +(12, 260, 97), +(12, 261, 92), +(12, 262, 76), +(12, 263, 73), +(12, 264, 85), +(12, 265, 91), +(12, 266, 74), +(12, 267, 93), +(12, 268, 90), +(12, 269, 90), +(12, 270, 81), +(12, 271, 67), +(12, 272, 70), +(12, 273, 86), +(12, 274, 88), +(12, 275, 94), +(12, 276, 73), +(12, 277, 76), +(12, 278, 71), +(12, 279, 91), +(12, 280, 91), +(12, 281, 89), +(12, 282, 86), +(12, 283, 88), +(12, 284, 66), +(12, 285, 69), +(12, 286, 99), +(12, 287, 77), +(12, 288, 90), +(12, 289, 83), +(12, 290, 77), +(12, 291, 96), +(12, 292, 98), +(12, 293, 93), +(12, 294, 92), +(12, 295, 83), +(12, 296, 83), +(12, 297, 95), +(12, 298, 67), +(12, 299, 66), +(12, 300, 70), +(12, 301, 95), +(12, 302, 67), +(12, 303, 96), +(12, 304, 80), +(12, 305, 79), +(12, 306, 81), +(12, 307, 84), +(12, 308, 89), +(12, 309, 99), +(12, 310, 93), +(12, 311, 90), +(12, 312, 66), +(12, 313, 92), +(12, 314, 88), +(12, 315, 69), +(12, 316, 82), +(12, 317, 85), +(12, 318, 94), +(12, 319, 82), +(12, 320, 70), +(12, 321, 90), +(12, 322, 77), +(12, 323, 71), +(12, 324, 91), +(12, 325, 91), +(12, 326, 95), +(12, 327, 82), +(12, 328, 89), +(12, 329, 72), +(12, 330, 71), +(12, 331, 84), +(12, 332, 68), +(12, 333, 87), +(12, 334, 79), +(12, 335, 97), +(12, 336, 74), +(12, 337, 86), +(12, 338, 74), +(12, 339, 93), +(12, 340, 89), +(12, 341, 76), +(12, 342, 75), +(12, 343, 84), +(12, 344, 84), +(12, 345, 91), +(12, 346, 96), +(12, 347, 76), +(12, 348, 99), +(12, 349, 70), +(12, 350, 66), +(12, 351, 65), +(12, 352, 77), +(12, 353, 80), +(12, 354, 69), +(12, 355, 87), +(12, 356, 74), +(12, 357, 66), +(12, 358, 92), +(12, 359, 99), +(12, 360, 93), +(12, 361, 67), +(12, 362, 98), +(12, 363, 86), +(12, 364, 89), +(12, 365, 70), +(12, 366, 73), +(12, 367, 75), +(12, 368, 88), +(12, 369, 92), +(12, 370, 84), +(12, 371, 76), +(12, 372, 67), +(12, 373, 76), +(12, 374, 93), +(12, 375, 90), +(12, 376, 81), +(12, 377, 90), +(12, 378, 91), +(12, 379, 66), +(12, 380, 73), +(12, 381, 98), +(12, 382, 82), +(12, 383, 71), +(12, 384, 90), +(12, 385, 66), +(12, 386, 97), +(12, 387, 75), +(12, 388, 84), +(12, 389, 93), +(12, 390, 88), +(12, 391, 82), +(12, 392, 84), +(12, 393, 90), +(12, 394, 90), +(12, 395, 87), +(12, 396, 95), +(12, 397, 66), +(12, 398, 87), +(12, 399, 76), +(12, 400, 77), +(12, 401, 96), +(12, 402, 85), +(12, 403, 92), +(12, 404, 82), +(12, 405, 99), +(12, 406, 93), +(12, 407, 98), +(12, 408, 79), +(12, 409, 91), +(12, 410, 90), +(12, 411, 91), +(12, 412, 81), +(12, 413, 98), +(12, 414, 72), +(12, 415, 81), +(12, 416, 66), +(12, 417, 79), +(12, 418, 85), +(12, 419, 66), +(12, 420, 87), +(12, 421, 81), +(12, 422, 76), +(12, 423, 66), +(12, 424, 92), +(12, 425, 87), +(12, 426, 75), +(12, 427, 72), +(12, 428, 65), +(12, 429, 95), +(12, 430, 65), +(12, 431, 86), +(12, 432, 86), +(12, 433, 68), +(12, 434, 93), +(12, 435, 65), +(12, 436, 70), +(12, 437, 65), +(12, 438, 97), +(12, 439, 86), +(12, 440, 79), +(12, 441, 89), +(12, 442, 90), +(12, 443, 82), +(12, 444, 96), +(12, 445, 92), +(12, 446, 91), +(12, 447, 79), +(12, 448, 97), +(12, 449, 92), +(12, 450, 98), +(12, 451, 68), +(12, 452, 93), +(12, 453, 70), +(12, 454, 94), +(12, 455, 85), +(12, 456, 97), +(12, 457, 87), +(12, 458, 82), +(12, 459, 85), +(12, 460, 77), +(12, 461, 67), +(12, 462, 90), +(12, 463, 79), +(12, 464, 99), +(12, 465, 85), +(12, 466, 87), +(12, 467, 86), +(12, 468, 88), +(12, 469, 88), +(12, 470, 65), +(12, 471, 80), +(12, 472, 90), +(12, 473, 77), +(12, 474, 77), +(12, 475, 88), +(12, 476, 81), +(12, 477, 94), +(12, 478, 88), +(12, 479, 74), +(12, 480, 91), +(12, 481, 96), +(12, 482, 77), +(12, 483, 85), +(12, 484, 87), +(12, 485, 97), +(12, 486, 78), +(12, 487, 82), +(12, 488, 83), +(12, 489, 81), +(12, 490, 98), +(12, 491, 68), +(12, 492, 96), +(12, 493, 88), +(12, 494, 92), +(12, 495, 78), +(12, 496, 80), +(12, 497, 79), +(12, 498, 81), +(12, 499, 80), +(12, 500, 85), +(12, 501, 88), +(12, 502, 99), +(12, 503, 69), +(12, 504, 89), +(12, 505, 73), +(12, 506, 88), +(12, 507, 88), +(12, 508, 87), +(12, 509, 88), +(12, 510, 94), +(12, 511, 89), +(12, 512, 67), +(12, 513, 99), +(12, 514, 82), +(12, 515, 76), +(12, 516, 95), +(12, 517, 79), +(12, 518, 68), +(12, 519, 76), +(12, 520, 89), +(12, 521, 96), +(12, 522, 85), +(12, 523, 71), +(12, 524, 95), +(12, 525, 98), +(12, 526, 81), +(12, 527, 92), +(12, 528, 78), +(12, 529, 96), +(12, 530, 68), +(12, 531, 82), +(12, 532, 85), +(12, 533, 86), +(12, 534, 77), +(12, 535, 68), +(12, 536, 88), +(12, 537, 72), +(12, 538, 85), +(12, 539, 96), +(12, 540, 69), +(12, 541, 91), +(12, 542, 68), +(12, 543, 75), +(12, 544, 68), +(12, 545, 97), +(12, 546, 75), +(12, 547, 67), +(12, 548, 91), +(12, 549, 81), +(12, 550, 81), +(12, 551, 84), +(12, 552, 98), +(12, 553, 81), +(12, 554, 93), +(12, 555, 79), +(12, 556, 90), +(12, 557, 78), +(12, 558, 78), +(12, 559, 79), +(12, 560, 70), +(12, 561, 76), +(12, 562, 89), +(12, 563, 68), +(12, 564, 99), +(12, 1024, 78), +(12, 1025, 76), +(12, 1026, 79), +(12, 1027, 67), +(12, 1028, 91), +(12, 1029, 85), +(12, 1030, 87), +(12, 1031, 67), +(12, 1032, 77), +(12, 1033, 75), +(12, 1034, 80), +(12, 1035, 70), +(12, 1036, 77), +(12, 1037, 85), +(12, 1038, 70), +(12, 1039, 70), +(12, 1040, 67), +(12, 1041, 81), +(12, 1042, 95), +(12, 1043, 89), +(12, 1044, 75), +(12, 1045, 90), +(12, 1046, 96), +(12, 1047, 78), +(12, 1048, 74), +(12, 1049, 90), +(12, 1050, 73), +(12, 1051, 83), +(12, 1052, 82), +(12, 1053, 78), +(12, 1054, 70), +(12, 1055, 75), +(12, 1056, 82), +(12, 1057, 89), +(12, 1058, 86), +(12, 1059, 65), +(12, 1060, 66), +(12, 1061, 68), +(12, 1062, 89), +(12, 1063, 68), +(12, 1064, 95), +(12, 1065, 73), +(12, 1066, 78), +(12, 1067, 85), +(12, 1068, 97), +(12, 1069, 83), +(12, 1070, 94), +(12, 1071, 96), +(12, 1072, 75), +(12, 1073, 81), +(12, 1074, 72), +(12, 1075, 90), +(12, 1076, 65), +(12, 1077, 80), +(12, 1078, 65), +(12, 1079, 65), +(12, 1080, 75), +(12, 1081, 66), +(12, 1082, 80), +(12, 1083, 79), +(12, 1084, 85), +(12, 1085, 83), +(12, 1086, 96), +(12, 1087, 69), +(12, 1088, 77), +(12, 1089, 87), +(12, 1090, 75), +(12, 1091, 95), +(12, 1092, 83), +(12, 1093, 92), +(12, 1094, 75), +(12, 1095, 78), +(12, 1096, 95), +(12, 1097, 68), +(12, 1098, 70), +(12, 1099, 86), +(12, 1100, 88), +(12, 1101, 98), +(12, 1102, 99), +(12, 1103, 92), +(12, 1104, 76), +(12, 1105, 93), +(12, 1106, 73), +(12, 1107, 71), +(12, 1108, 75), +(12, 1109, 81), +(12, 1110, 76), +(12, 1111, 67), +(12, 1112, 86), +(12, 1113, 70), +(12, 1114, 96), +(12, 1115, 81), +(12, 1116, 70), +(12, 1117, 85), +(12, 1118, 83), +(12, 1119, 95), +(12, 1120, 71), +(12, 1121, 79), +(12, 1122, 93), +(12, 1123, 76), +(12, 1124, 98), +(12, 1125, 72), +(12, 1126, 81), +(12, 1127, 89), +(12, 1128, 68), +(12, 1129, 78), +(12, 1130, 76), +(12, 1131, 97), +(12, 1132, 76), +(12, 1133, 91), +(12, 1134, 93), +(12, 1135, 66), +(12, 1136, 75), +(12, 1137, 70), +(12, 1138, 98), +(12, 1139, 78), +(12, 1140, 72), +(12, 1141, 69), +(12, 1142, 91), +(12, 1143, 76), +(12, 1144, 94), +(12, 1145, 90), +(12, 1146, 88), +(12, 1147, 83), +(12, 1148, 75), +(12, 1149, 71), +(12, 1150, 76), +(12, 1151, 95), +(12, 1152, 88), +(12, 1153, 84), +(12, 1154, 87), +(12, 1155, 73), +(12, 1156, 68), +(12, 1157, 70), +(12, 1158, 85), +(12, 1159, 77), +(12, 1160, 92), +(12, 1161, 88), +(12, 1162, 71), +(12, 1163, 90), +(12, 1164, 87), +(12, 1165, 80), +(12, 1166, 90), +(12, 1167, 76), +(12, 1168, 83), +(12, 1169, 98), +(12, 1170, 86), +(12, 1171, 95), +(12, 1172, 75), +(12, 1173, 67), +(12, 1174, 98), +(12, 1175, 97), +(12, 1176, 65), +(12, 1177, 65), +(12, 1178, 80), +(12, 1179, 99), +(12, 1180, 75), +(12, 1181, 76), +(12, 1182, 72), +(12, 1183, 87), +(12, 1184, 71), +(12, 1185, 74), +(12, 1186, 75), +(12, 1187, 70), +(12, 1188, 68), +(12, 1189, 69), +(12, 1190, 96), +(12, 1191, 88), +(12, 1192, 87), +(12, 1193, 65), +(12, 1194, 95), +(12, 1195, 91), +(12, 1196, 78), +(12, 1197, 90), +(12, 1198, 80), +(12, 1199, 81), +(12, 1200, 86), +(12, 1201, 99), +(12, 1202, 76), +(12, 1203, 83), +(12, 1204, 85), +(12, 1205, 82), +(12, 1206, 85), +(12, 1207, 67), +(12, 1208, 65), +(12, 1209, 87), +(12, 1210, 92), +(12, 1211, 89), +(12, 1212, 80), +(12, 1213, 97), +(12, 1214, 72), +(12, 1215, 93), +(12, 1216, 75), +(12, 1217, 97), +(12, 1218, 79), +(12, 1219, 94), +(12, 1220, 87), +(12, 1221, 97), +(12, 1222, 96), +(12, 1223, 81), +(12, 1224, 65), +(12, 1225, 67), +(12, 1226, 99), +(12, 1227, 69), +(12, 1228, 78), +(12, 1229, 78), +(12, 1230, 73), +(12, 1231, 88), +(12, 1232, 88), +(12, 1233, 90), +(12, 1234, 97), +(12, 1235, 83), +(12, 1236, 94), +(12, 1237, 82), +(12, 1238, 86), +(12, 1239, 92), +(12, 1240, 81), +(12, 1241, 92), +(12, 1242, 86), +(12, 1243, 66), +(12, 1244, 87), +(12, 1245, 90), +(12, 1246, 98), +(12, 1247, 99), +(12, 1248, 88), +(12, 1249, 96), +(12, 1250, 99), +(12, 1251, 73), +(12, 1252, 67), +(12, 1253, 92), +(12, 1254, 85), +(12, 1255, 97), +(12, 1256, 91), +(12, 1257, 87), +(12, 1258, 94), +(12, 1259, 89), +(12, 1260, 69), +(12, 1261, 72), +(12, 1262, 82), +(12, 1263, 87), +(12, 1264, 74), +(12, 1265, 82), +(12, 1266, 74), +(12, 1267, 72), +(12, 1268, 96), +(12, 1269, 91), +(12, 1270, 93), +(12, 1271, 78), +(12, 1272, 69), +(12, 1273, 99), +(12, 1274, 94), +(12, 1275, 78), +(12, 1276, 74), +(12, 1277, 78), +(12, 1278, 94), +(12, 1279, 69), +(12, 1280, 71), +(12, 1281, 88), +(12, 1282, 84), +(12, 1283, 86), +(12, 1284, 80), +(12, 1285, 80), +(12, 1286, 92), +(12, 1287, 70), +(12, 1288, 77), +(12, 1289, 66), +(12, 1290, 86), +(12, 1291, 85), +(12, 1292, 94), +(12, 1293, 82), +(12, 1294, 87), +(12, 1295, 84), +(12, 1296, 80), +(12, 1297, 82), +(12, 1298, 71), +(12, 1299, 95), +(12, 1300, 79), +(12, 1301, 92), +(12, 1302, 89), +(12, 1303, 96), +(12, 1304, 76), +(12, 1305, 86), +(12, 1306, 93), +(12, 1307, 69), +(12, 1308, 90), +(12, 1309, 84), +(12, 1310, 86), +(12, 1311, 82), +(12, 1312, 87), +(12, 1313, 68), +(12, 1314, 95), +(12, 1315, 76), +(12, 1316, 84), +(12, 1317, 92), +(12, 1318, 72), +(12, 1319, 99), +(12, 1320, 67), +(12, 1321, 96), +(12, 1322, 74), +(12, 1323, 72), +(12, 1324, 92), +(12, 1325, 79), +(12, 1326, 84), +(12, 1327, 99), +(12, 1328, 77), +(12, 1329, 98), +(12, 1330, 87), +(12, 1331, 75), +(12, 1332, 90), +(12, 1333, 70), +(12, 1334, 70), +(12, 1335, 86), +(12, 1336, 87), +(12, 1337, 92), +(12, 1338, 94), +(12, 1339, 83), +(12, 1340, 94), +(12, 1341, 91); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(12, 1342, 77), +(12, 1343, 71), +(12, 1344, 98), +(12, 1345, 65), +(12, 1346, 83), +(12, 1347, 80), +(12, 1348, 82), +(12, 1349, 93), +(12, 1350, 66), +(12, 1351, 89), +(12, 1352, 82), +(12, 1353, 79), +(12, 1354, 78), +(12, 1355, 83), +(12, 1356, 85), +(12, 1357, 74), +(12, 1358, 82), +(12, 1359, 84), +(12, 1360, 83), +(12, 1361, 87), +(12, 1362, 91), +(12, 1363, 87), +(12, 1364, 97), +(12, 1365, 83), +(12, 1366, 99), +(12, 1367, 79), +(12, 1368, 67), +(12, 1369, 73), +(12, 1370, 99), +(12, 1371, 82), +(12, 1372, 78), +(12, 1373, 74), +(12, 1374, 68), +(12, 1375, 94), +(12, 1376, 82), +(12, 1377, 92), +(12, 1378, 98), +(12, 1379, 77), +(12, 1380, 87), +(12, 1381, 82), +(12, 1382, 90), +(12, 1383, 75), +(12, 1384, 75), +(12, 1385, 98), +(12, 1386, 90), +(12, 1387, 90), +(12, 1388, 89), +(12, 1389, 71), +(12, 1390, 65), +(12, 1391, 93), +(12, 1392, 87), +(12, 1393, 73), +(12, 1394, 84), +(12, 1395, 76), +(12, 1396, 84), +(12, 1397, 73), +(12, 1398, 67), +(12, 1399, 72), +(12, 1400, 78), +(12, 1401, 75), +(12, 1402, 79), +(12, 1403, 94), +(12, 1404, 78), +(12, 1405, 92), +(12, 1406, 91), +(12, 1407, 96), +(12, 1408, 84), +(12, 1409, 98), +(12, 1410, 98), +(12, 1411, 66), +(12, 1412, 93), +(12, 1413, 69), +(12, 1414, 97), +(12, 1415, 86), +(12, 1416, 83), +(12, 1417, 98), +(12, 1418, 89), +(12, 1419, 67), +(12, 1420, 76), +(12, 1421, 98), +(12, 1422, 93), +(12, 1423, 67), +(12, 1424, 75), +(12, 1425, 78), +(12, 1426, 99), +(12, 1427, 88), +(12, 1428, 81), +(12, 1429, 92), +(12, 1430, 77), +(12, 1431, 94), +(12, 1432, 65), +(12, 1433, 66), +(12, 1434, 82), +(12, 1435, 95), +(12, 1436, 98), +(12, 1437, 73), +(12, 1438, 69), +(12, 1439, 90), +(12, 1440, 74), +(12, 1441, 93), +(12, 1442, 90), +(12, 1443, 76), +(12, 1444, 78), +(12, 1445, 73), +(12, 1446, 99), +(12, 1447, 83), +(12, 1448, 78), +(12, 1449, 88), +(12, 1450, 86), +(12, 1451, 94), +(12, 1452, 84), +(12, 1453, 80), +(12, 1454, 69), +(12, 1455, 88), +(12, 1456, 98), +(12, 1457, 78), +(12, 1458, 80), +(12, 1459, 93), +(12, 1460, 76), +(12, 1461, 85), +(12, 1462, 89), +(12, 1463, 79), +(12, 1464, 81), +(12, 1465, 81), +(12, 1466, 78), +(12, 1467, 86), +(12, 1468, 72), +(12, 1469, 83), +(12, 1470, 82), +(12, 1471, 73), +(12, 1472, 96), +(12, 1473, 82), +(12, 1474, 66), +(12, 1475, 77), +(12, 1476, 73), +(12, 1477, 81), +(12, 1478, 85), +(12, 1479, 95), +(12, 1480, 86), +(12, 1481, 72), +(12, 1482, 67), +(12, 1483, 99), +(12, 1484, 91), +(12, 1485, 67), +(12, 1486, 93), +(12, 1487, 82), +(12, 1488, 81), +(12, 1489, 75), +(12, 1490, 67), +(12, 1491, 83), +(12, 1492, 84), +(12, 1493, 65), +(12, 1494, 70), +(12, 1495, 94), +(12, 1496, 70), +(12, 1497, 97), +(12, 1498, 93), +(12, 1499, 72), +(12, 1500, 71), +(12, 1501, 79), +(12, 1502, 82), +(12, 1503, 92), +(12, 1504, 75), +(12, 1505, 72), +(12, 1506, 80), +(12, 1507, 77), +(12, 1508, 96), +(12, 1509, 79), +(12, 1510, 66), +(12, 1511, 87), +(12, 1512, 82), +(12, 1513, 66), +(12, 1514, 69), +(12, 1515, 77), +(12, 1516, 89), +(12, 1517, 70), +(12, 1518, 98), +(12, 1519, 94), +(12, 1520, 78), +(12, 1521, 98), +(12, 1522, 98), +(12, 1523, 70), +(12, 1524, 78), +(12, 1525, 87), +(12, 1526, 82), +(12, 1527, 94), +(12, 1528, 69), +(12, 1529, 96), +(12, 1530, 85), +(12, 1531, 91), +(12, 1532, 66), +(12, 1533, 76), +(12, 1534, 81), +(12, 1535, 71), +(12, 1536, 68), +(12, 1537, 88), +(12, 1538, 71), +(12, 1539, 86), +(12, 1540, 86), +(12, 1541, 78), +(12, 1542, 77), +(12, 1543, 70), +(12, 1544, 79), +(12, 1545, 97), +(12, 1546, 92), +(12, 1547, 79), +(12, 1548, 75), +(12, 1549, 65), +(12, 1550, 72), +(12, 1551, 93), +(12, 1552, 89), +(12, 1553, 84), +(12, 1554, 67), +(12, 1555, 75), +(12, 1556, 75), +(12, 1557, 92), +(12, 1558, 72), +(12, 1559, 94), +(12, 1560, 82), +(12, 1561, 94), +(12, 1562, 80), +(12, 1563, 79), +(12, 1564, 71), +(12, 1565, 85), +(12, 1566, 68), +(12, 1567, 75), +(12, 1568, 93), +(12, 1569, 69), +(12, 1570, 95), +(12, 1571, 73), +(12, 1572, 70), +(12, 1573, 92), +(12, 1574, 70), +(12, 1575, 69), +(12, 1576, 77), +(12, 1577, 68), +(12, 1578, 95), +(12, 1579, 65), +(12, 1580, 90), +(12, 1581, 74), +(12, 1582, 88), +(12, 1583, 87), +(12, 1584, 74), +(12, 1585, 90), +(12, 1586, 95), +(12, 1587, 70), +(12, 2047, 98), +(12, 2048, 95), +(12, 2049, 98), +(12, 2050, 67), +(12, 2051, 86), +(12, 2052, 84), +(12, 2053, 90), +(12, 2054, 76), +(12, 2055, 72), +(12, 2056, 91), +(12, 2057, 67), +(12, 2058, 87), +(12, 2059, 68), +(12, 2060, 69), +(12, 2061, 69), +(12, 2062, 91), +(12, 2063, 77), +(12, 2064, 66), +(12, 2065, 90), +(12, 2066, 83), +(12, 2067, 87), +(12, 2068, 71), +(12, 2069, 65), +(12, 2070, 74), +(12, 2071, 79), +(12, 2072, 69), +(12, 2073, 78), +(12, 2074, 98), +(12, 2075, 70), +(12, 2076, 73), +(12, 2077, 70), +(12, 2078, 95), +(12, 2079, 93), +(12, 2080, 91), +(12, 2081, 92), +(12, 2082, 85), +(12, 2083, 83), +(12, 2084, 84), +(12, 2085, 81), +(12, 2086, 88), +(12, 2087, 85), +(12, 2088, 86), +(12, 2089, 94), +(12, 2090, 88), +(12, 2091, 76), +(12, 2092, 91), +(12, 2093, 84), +(12, 2094, 65), +(12, 2095, 98), +(12, 2096, 72), +(12, 2097, 73), +(12, 2098, 93), +(12, 2099, 99), +(12, 2100, 84), +(12, 2101, 74), +(12, 2102, 80), +(12, 2103, 69), +(12, 2104, 81), +(12, 2105, 81), +(12, 2106, 74), +(12, 2107, 95), +(12, 2108, 98), +(12, 2109, 95), +(12, 2110, 73), +(12, 2111, 70), +(12, 2112, 79), +(12, 2113, 82), +(12, 2114, 82), +(12, 2115, 77), +(12, 2116, 99), +(12, 2117, 90), +(12, 2118, 99), +(12, 2119, 65), +(12, 2120, 84), +(12, 2121, 97), +(12, 2122, 76), +(12, 2123, 99), +(12, 2124, 67), +(12, 2125, 69), +(12, 2126, 85), +(12, 2127, 77), +(12, 2128, 97), +(12, 2129, 76), +(12, 2130, 69), +(12, 2131, 91), +(12, 2132, 92), +(12, 2133, 74), +(12, 2134, 92), +(12, 2135, 80), +(12, 2136, 69), +(12, 2137, 98), +(12, 2138, 65), +(12, 2139, 92), +(12, 2140, 72), +(12, 2141, 90), +(12, 2142, 65), +(12, 2143, 96), +(12, 2144, 83), +(12, 2145, 86), +(12, 2146, 74), +(12, 2147, 69), +(12, 2148, 71), +(12, 2149, 71), +(12, 2150, 91), +(12, 2151, 73), +(12, 2152, 92), +(12, 2153, 73), +(12, 2154, 83), +(12, 2155, 98), +(12, 2156, 75), +(12, 2157, 94), +(12, 2158, 96), +(12, 2159, 90), +(12, 2160, 81), +(12, 2161, 65), +(12, 2162, 96), +(12, 2163, 88), +(12, 2164, 86), +(12, 2165, 69), +(12, 2166, 70), +(12, 2167, 81), +(12, 2168, 81), +(12, 2169, 66), +(12, 2170, 92), +(12, 2171, 94), +(12, 2172, 72), +(12, 2173, 73), +(12, 2174, 94), +(12, 2175, 72), +(12, 2176, 99), +(12, 2177, 71), +(12, 2178, 74), +(12, 2179, 80), +(12, 2180, 86), +(12, 2181, 88), +(12, 2182, 89), +(12, 2183, 85), +(12, 2184, 77), +(12, 2185, 76), +(12, 2186, 68), +(12, 2187, 87), +(12, 2188, 81), +(12, 2189, 93), +(12, 2190, 89), +(12, 2191, 71), +(12, 2192, 72), +(12, 2193, 94), +(12, 2194, 72), +(12, 2195, 70), +(12, 2196, 93), +(12, 2197, 78), +(12, 2198, 79), +(12, 2199, 93), +(12, 2200, 73), +(12, 2201, 88), +(12, 2202, 80), +(12, 2203, 68), +(12, 2204, 72), +(12, 2205, 96), +(12, 2206, 84), +(12, 2207, 89), +(12, 2208, 99), +(12, 2209, 90), +(12, 2210, 94), +(12, 2211, 96), +(12, 2212, 99), +(12, 2213, 71), +(12, 2214, 82), +(12, 2215, 85), +(12, 2216, 97), +(12, 2217, 90), +(12, 2218, 88), +(12, 2219, 88), +(12, 2220, 65), +(12, 2221, 75), +(12, 2222, 73), +(12, 2223, 80), +(12, 2224, 80), +(12, 2225, 70), +(12, 2226, 77), +(12, 2227, 74), +(12, 2228, 84), +(12, 2229, 88), +(12, 2230, 66), +(12, 2231, 78), +(12, 2232, 72), +(12, 2233, 76), +(12, 2234, 76), +(12, 2235, 76), +(12, 2236, 98), +(12, 2237, 90), +(12, 2238, 74), +(12, 2239, 96), +(12, 2240, 93), +(12, 2241, 89), +(12, 2242, 85), +(12, 2243, 91), +(12, 2244, 71), +(12, 2245, 81), +(12, 2246, 97), +(12, 2247, 91), +(12, 2248, 75), +(12, 2249, 74), +(12, 2250, 71), +(12, 2251, 94), +(12, 2252, 91), +(12, 2253, 96), +(12, 2254, 68), +(12, 2255, 67), +(12, 2256, 74), +(12, 2257, 94), +(12, 2258, 79), +(12, 2259, 83), +(12, 2260, 96), +(12, 2261, 67), +(12, 2262, 90), +(12, 2263, 94), +(12, 2264, 77), +(12, 2265, 78), +(12, 2266, 93), +(12, 2267, 85), +(12, 2268, 93), +(12, 2269, 71), +(12, 2270, 85), +(12, 2271, 76), +(12, 2272, 91), +(12, 2273, 91), +(12, 2274, 80), +(12, 2275, 84), +(12, 2276, 97), +(12, 2277, 67), +(12, 2278, 70), +(12, 2279, 94), +(12, 2280, 97), +(12, 2281, 65), +(12, 2282, 89), +(12, 2283, 78), +(12, 2284, 85), +(12, 2285, 98), +(12, 2286, 69), +(12, 2287, 67), +(12, 2288, 78), +(12, 2289, 94), +(12, 2290, 98), +(12, 2291, 66), +(12, 2292, 95), +(12, 2293, 91), +(12, 2294, 93), +(12, 2295, 67), +(12, 2296, 74), +(12, 2297, 93), +(12, 2298, 67), +(12, 2299, 75), +(12, 2300, 88), +(12, 2301, 77), +(12, 2302, 96), +(12, 2303, 97), +(12, 2304, 88), +(12, 2305, 71), +(12, 2306, 87), +(12, 2307, 71), +(12, 2308, 80), +(12, 2309, 84), +(12, 2310, 90), +(12, 2311, 68), +(12, 2312, 79), +(12, 2313, 92), +(12, 2314, 95), +(12, 2315, 96), +(12, 2316, 67), +(12, 2317, 94), +(12, 2318, 75), +(12, 2319, 67), +(12, 2320, 87), +(12, 2321, 82), +(12, 2322, 84), +(12, 2323, 83), +(12, 2324, 89), +(12, 2325, 72), +(12, 2326, 67), +(12, 2327, 85), +(12, 2328, 91), +(12, 2329, 87), +(12, 2330, 98), +(12, 2331, 98), +(12, 2332, 86), +(12, 2333, 85), +(12, 2334, 99), +(12, 2335, 94), +(12, 2336, 79), +(12, 2337, 92), +(12, 2338, 77), +(12, 2339, 85), +(12, 2340, 84), +(12, 2341, 93), +(12, 2342, 92), +(12, 2343, 96), +(12, 2344, 78), +(12, 2345, 92), +(12, 2346, 87), +(12, 2347, 68), +(12, 2348, 75), +(12, 2349, 81), +(12, 2350, 68), +(12, 2351, 91), +(12, 2352, 95), +(12, 2353, 76), +(12, 2354, 91), +(12, 2355, 84), +(12, 2356, 69), +(12, 2357, 96), +(12, 2358, 89), +(12, 2359, 86), +(12, 2360, 84), +(12, 2361, 75), +(12, 2362, 97), +(12, 2363, 67), +(12, 2364, 99), +(12, 2365, 65), +(12, 2366, 82), +(12, 2367, 98), +(12, 2368, 82), +(12, 2369, 66), +(12, 2370, 97), +(12, 2371, 78), +(12, 2372, 93), +(12, 2373, 69), +(12, 2374, 79), +(12, 2375, 81), +(12, 2376, 76), +(12, 2377, 96), +(12, 2378, 68), +(12, 2379, 67), +(12, 2380, 93), +(12, 2381, 92), +(12, 2382, 91), +(12, 2383, 68), +(12, 2384, 94), +(12, 2385, 88), +(12, 2386, 69), +(12, 2387, 72), +(12, 2388, 67), +(12, 2389, 78), +(12, 2390, 84), +(12, 2391, 80), +(12, 2392, 96), +(12, 2393, 99), +(12, 2394, 75), +(12, 2395, 80), +(12, 2396, 87), +(12, 2397, 72), +(12, 2398, 74), +(12, 2399, 85), +(12, 2400, 68), +(12, 2401, 92), +(12, 2402, 87), +(12, 2403, 83), +(12, 2404, 92), +(12, 2405, 89), +(12, 2406, 68), +(12, 2407, 79), +(12, 2408, 80), +(12, 2409, 78), +(12, 2410, 86), +(12, 2411, 87), +(12, 2412, 87), +(12, 2413, 97), +(12, 2414, 97), +(12, 2415, 66), +(12, 2416, 76), +(12, 2417, 80), +(12, 2418, 79), +(12, 2419, 90), +(12, 2420, 93), +(12, 2421, 89), +(12, 2422, 79), +(12, 2423, 98), +(12, 2424, 71), +(12, 2425, 73), +(12, 2426, 69), +(12, 2427, 77), +(12, 2428, 73), +(12, 2429, 93), +(12, 2430, 96), +(12, 2431, 83), +(12, 2432, 72), +(12, 2433, 66), +(12, 2434, 72), +(12, 2435, 94), +(12, 2436, 91), +(12, 2437, 92), +(12, 2438, 95), +(12, 2439, 84), +(12, 2440, 94), +(12, 2441, 99), +(12, 2442, 92), +(12, 2443, 78), +(12, 2444, 89), +(12, 2445, 76), +(12, 2446, 81), +(12, 2447, 91), +(12, 2448, 84), +(12, 2449, 70), +(12, 2450, 83), +(12, 2451, 77), +(12, 2452, 91), +(12, 2453, 85), +(12, 2454, 95), +(12, 2455, 78), +(12, 2456, 67), +(12, 2457, 65), +(12, 2458, 68), +(12, 2459, 69), +(12, 2460, 70), +(12, 2461, 99), +(12, 2462, 83), +(12, 2463, 77), +(12, 2464, 67), +(12, 2465, 97), +(12, 2466, 85), +(12, 2467, 92), +(12, 2468, 97), +(12, 2469, 73), +(12, 2470, 88), +(12, 2471, 74), +(12, 2472, 88), +(12, 2473, 88), +(12, 2474, 96), +(12, 2475, 93), +(12, 2476, 91), +(12, 2477, 73), +(12, 2478, 83), +(12, 2479, 95), +(12, 2480, 96), +(12, 2481, 93), +(12, 2482, 85), +(12, 2483, 76), +(12, 2484, 92), +(12, 2485, 97), +(12, 2486, 93), +(12, 2487, 92), +(12, 2488, 72), +(12, 2489, 69), +(12, 2490, 74), +(12, 2491, 70), +(12, 2492, 79), +(12, 2493, 73), +(12, 2494, 88), +(12, 2495, 69), +(12, 2496, 71), +(12, 2497, 70), +(12, 2498, 69), +(12, 2499, 77), +(12, 2500, 81), +(12, 2501, 74), +(12, 2502, 83), +(12, 2503, 81), +(12, 2504, 67), +(12, 2505, 82), +(12, 2506, 94), +(12, 2507, 72), +(12, 2508, 70), +(12, 2509, 79), +(12, 2510, 75), +(12, 2511, 66), +(12, 2512, 94), +(12, 2513, 98), +(12, 2514, 83), +(12, 2515, 92), +(12, 2516, 82), +(12, 2517, 78), +(12, 2518, 95), +(12, 2519, 73), +(12, 2520, 95), +(12, 2521, 77), +(12, 2522, 74), +(12, 2523, 96), +(12, 2524, 70), +(12, 2525, 71), +(12, 2526, 96), +(12, 2527, 68), +(12, 2528, 73), +(12, 2529, 76), +(12, 2530, 95), +(12, 2531, 97), +(12, 2532, 85), +(12, 2533, 67), +(12, 2534, 85), +(12, 2535, 76), +(12, 2536, 81), +(12, 2537, 74), +(12, 2538, 67), +(12, 2539, 77), +(12, 2540, 68), +(12, 2541, 75), +(12, 2542, 67), +(12, 2543, 90), +(12, 2544, 78), +(12, 2545, 67), +(12, 2546, 83), +(12, 2547, 89), +(12, 2548, 79), +(12, 2549, 69), +(12, 2550, 71), +(12, 2551, 90), +(12, 2552, 76), +(12, 2553, 75), +(12, 2554, 68), +(12, 2555, 95), +(12, 2556, 87), +(12, 2557, 99), +(12, 2558, 93), +(12, 2559, 80), +(12, 2560, 95), +(12, 2561, 80), +(12, 2562, 99), +(12, 2563, 75), +(12, 2564, 97), +(12, 2565, 97), +(12, 2566, 69), +(12, 2567, 70), +(12, 2568, 93), +(12, 2569, 76), +(12, 2570, 74), +(12, 2571, 83), +(12, 2572, 80), +(12, 2573, 91), +(12, 2574, 93), +(12, 2575, 74), +(12, 2576, 91), +(12, 2577, 84), +(12, 2578, 74), +(12, 2579, 88), +(12, 2580, 90), +(12, 2581, 71), +(12, 2582, 72), +(12, 2583, 67), +(12, 2584, 79), +(12, 2585, 78), +(12, 2586, 83), +(12, 2587, 78), +(12, 2588, 84), +(12, 2589, 95), +(12, 2590, 82), +(12, 2591, 94), +(12, 2592, 77), +(12, 2593, 72), +(12, 2594, 74), +(12, 2595, 69), +(12, 2596, 81), +(12, 2597, 68), +(12, 2598, 97), +(12, 2599, 97), +(12, 2600, 73), +(12, 2601, 67), +(12, 2602, 91), +(12, 2603, 73), +(12, 2604, 96), +(12, 2605, 88), +(12, 2606, 98), +(12, 2607, 92), +(12, 2608, 82), +(12, 2609, 71), +(12, 2610, 68), +(13, 1, 66), +(13, 2, 82), +(13, 3, 85), +(13, 4, 67), +(13, 5, 79), +(13, 6, 68), +(13, 7, 90), +(13, 8, 71), +(13, 9, 99), +(13, 10, 76), +(13, 11, 77), +(13, 12, 75), +(13, 13, 66), +(13, 14, 74), +(13, 15, 71), +(13, 16, 92), +(13, 17, 92), +(13, 18, 78), +(13, 19, 88), +(13, 20, 84), +(13, 21, 92), +(13, 22, 76), +(13, 23, 89), +(13, 24, 95), +(13, 25, 77), +(13, 26, 78), +(13, 27, 87), +(13, 28, 69), +(13, 29, 79), +(13, 30, 81), +(13, 31, 90), +(13, 32, 76), +(13, 33, 87), +(13, 34, 83), +(13, 35, 81), +(13, 36, 86), +(13, 37, 90), +(13, 38, 93), +(13, 39, 88), +(13, 40, 92), +(13, 41, 94), +(13, 42, 90), +(13, 43, 65), +(13, 44, 67), +(13, 45, 73), +(13, 46, 72), +(13, 47, 77), +(13, 48, 84), +(13, 49, 71), +(13, 50, 66), +(13, 51, 65), +(13, 52, 94), +(13, 53, 71), +(13, 54, 69), +(13, 55, 70), +(13, 56, 65), +(13, 57, 86), +(13, 58, 89), +(13, 59, 79), +(13, 60, 66), +(13, 61, 91), +(13, 62, 90), +(13, 63, 74), +(13, 64, 85), +(13, 65, 83), +(13, 66, 65), +(13, 67, 67), +(13, 68, 94), +(13, 69, 94), +(13, 70, 73), +(13, 71, 91), +(13, 72, 92), +(13, 73, 76), +(13, 74, 69), +(13, 75, 75), +(13, 76, 77), +(13, 77, 96), +(13, 78, 84), +(13, 79, 95), +(13, 80, 74), +(13, 81, 97), +(13, 82, 67), +(13, 83, 70), +(13, 84, 77), +(13, 85, 84), +(13, 86, 86), +(13, 87, 74), +(13, 88, 75), +(13, 89, 70), +(13, 90, 68), +(13, 91, 68), +(13, 92, 80), +(13, 93, 76), +(13, 94, 71), +(13, 95, 82), +(13, 96, 85), +(13, 97, 97), +(13, 98, 68), +(13, 99, 66), +(13, 100, 74), +(13, 101, 91), +(13, 102, 80), +(13, 103, 79), +(13, 104, 73), +(13, 105, 86), +(13, 106, 66), +(13, 107, 70), +(13, 108, 85), +(13, 109, 96), +(13, 110, 70), +(13, 111, 92), +(13, 112, 90), +(13, 113, 66), +(13, 114, 67), +(13, 115, 68), +(13, 116, 80), +(13, 117, 81), +(13, 118, 69), +(13, 119, 84), +(13, 120, 75), +(13, 121, 83), +(13, 122, 66), +(13, 123, 75), +(13, 124, 94), +(13, 125, 96), +(13, 126, 70), +(13, 127, 71), +(13, 128, 65), +(13, 129, 68), +(13, 130, 90), +(13, 131, 86), +(13, 132, 76), +(13, 133, 73), +(13, 134, 66), +(13, 135, 85), +(13, 136, 88), +(13, 137, 72), +(13, 138, 69), +(13, 139, 79), +(13, 140, 98), +(13, 141, 94), +(13, 142, 97), +(13, 143, 88), +(13, 144, 94), +(13, 145, 69), +(13, 146, 78), +(13, 147, 92), +(13, 148, 94), +(13, 149, 93), +(13, 150, 81), +(13, 151, 75), +(13, 152, 71), +(13, 153, 90), +(13, 154, 88), +(13, 155, 86), +(13, 156, 93), +(13, 157, 84), +(13, 158, 77), +(13, 159, 83), +(13, 160, 76), +(13, 161, 76), +(13, 162, 65), +(13, 163, 93), +(13, 164, 94), +(13, 165, 93), +(13, 166, 95), +(13, 167, 75), +(13, 168, 77), +(13, 169, 95), +(13, 170, 83), +(13, 171, 77), +(13, 172, 83), +(13, 173, 92), +(13, 174, 91), +(13, 175, 85), +(13, 176, 85), +(13, 177, 84), +(13, 178, 82), +(13, 179, 67), +(13, 180, 83), +(13, 181, 91), +(13, 182, 75), +(13, 183, 82), +(13, 184, 81), +(13, 185, 89), +(13, 186, 80), +(13, 187, 79), +(13, 188, 72), +(13, 189, 99), +(13, 190, 96), +(13, 191, 91), +(13, 192, 75), +(13, 193, 94), +(13, 194, 67), +(13, 195, 80), +(13, 196, 89), +(13, 197, 98), +(13, 198, 90), +(13, 199, 69), +(13, 200, 80), +(13, 201, 98), +(13, 202, 97), +(13, 203, 99), +(13, 204, 99), +(13, 205, 86), +(13, 206, 85), +(13, 207, 84), +(13, 208, 80), +(13, 209, 97), +(13, 210, 66), +(13, 211, 84), +(13, 212, 66), +(13, 213, 91), +(13, 214, 70), +(13, 215, 95), +(13, 216, 68), +(13, 217, 91), +(13, 218, 79), +(13, 219, 90), +(13, 220, 65), +(13, 221, 93), +(13, 222, 74), +(13, 223, 67), +(13, 224, 82), +(13, 225, 83), +(13, 226, 75), +(13, 227, 98), +(13, 228, 67), +(13, 229, 92), +(13, 230, 84), +(13, 231, 72), +(13, 232, 88), +(13, 233, 98), +(13, 234, 69), +(13, 235, 81), +(13, 236, 77), +(13, 237, 93), +(13, 238, 72), +(13, 239, 90), +(13, 240, 96), +(13, 241, 84), +(13, 242, 69), +(13, 243, 72), +(13, 244, 88), +(13, 245, 69), +(13, 246, 94), +(13, 247, 66), +(13, 248, 67), +(13, 249, 71), +(13, 250, 90), +(13, 251, 72), +(13, 252, 88), +(13, 253, 83), +(13, 254, 71), +(13, 255, 98), +(13, 256, 81), +(13, 257, 84), +(13, 258, 82), +(13, 259, 67), +(13, 260, 83), +(13, 261, 94), +(13, 262, 66), +(13, 263, 84), +(13, 264, 85), +(13, 265, 98), +(13, 266, 73), +(13, 267, 95), +(13, 268, 87), +(13, 269, 65), +(13, 270, 72), +(13, 271, 91), +(13, 272, 89), +(13, 273, 73), +(13, 274, 75), +(13, 275, 74), +(13, 276, 97), +(13, 277, 66), +(13, 278, 79), +(13, 279, 98), +(13, 280, 67), +(13, 281, 93), +(13, 282, 79), +(13, 283, 70), +(13, 284, 66), +(13, 285, 92), +(13, 286, 66), +(13, 287, 97), +(13, 288, 71), +(13, 289, 92), +(13, 290, 87), +(13, 291, 85), +(13, 292, 68), +(13, 293, 70), +(13, 294, 83), +(13, 295, 80), +(13, 296, 67), +(13, 297, 71), +(13, 298, 85), +(13, 299, 76), +(13, 300, 73), +(13, 301, 90), +(13, 302, 98), +(13, 303, 76), +(13, 304, 81), +(13, 305, 71), +(13, 306, 69), +(13, 307, 99), +(13, 308, 68), +(13, 309, 89), +(13, 310, 90), +(13, 311, 95), +(13, 312, 79), +(13, 313, 66), +(13, 314, 82), +(13, 315, 83), +(13, 316, 69), +(13, 317, 71), +(13, 318, 65), +(13, 319, 91), +(13, 320, 75), +(13, 321, 96), +(13, 322, 74), +(13, 323, 80), +(13, 324, 86), +(13, 325, 83), +(13, 326, 77), +(13, 327, 89), +(13, 328, 87), +(13, 329, 76), +(13, 330, 99), +(13, 331, 77), +(13, 332, 99), +(13, 333, 71), +(13, 334, 87), +(13, 335, 85), +(13, 336, 85), +(13, 337, 97), +(13, 338, 72), +(13, 339, 69), +(13, 340, 95), +(13, 341, 77), +(13, 342, 77), +(13, 343, 69), +(13, 344, 94), +(13, 345, 96), +(13, 346, 73), +(13, 347, 65), +(13, 348, 97), +(13, 349, 81), +(13, 350, 98), +(13, 351, 71), +(13, 352, 83), +(13, 353, 97), +(13, 354, 67), +(13, 355, 76), +(13, 356, 84), +(13, 357, 72), +(13, 358, 93), +(13, 359, 89), +(13, 360, 84), +(13, 361, 84), +(13, 362, 77), +(13, 363, 87), +(13, 364, 94), +(13, 365, 78), +(13, 366, 80), +(13, 367, 69), +(13, 368, 87), +(13, 369, 93), +(13, 370, 72), +(13, 371, 82), +(13, 372, 87), +(13, 373, 78), +(13, 374, 83), +(13, 375, 76), +(13, 376, 81), +(13, 377, 97), +(13, 378, 77), +(13, 379, 72), +(13, 380, 76), +(13, 381, 94), +(13, 382, 97), +(13, 383, 67), +(13, 384, 85), +(13, 385, 75), +(13, 386, 99), +(13, 387, 71), +(13, 388, 76), +(13, 389, 88), +(13, 390, 87), +(13, 391, 76), +(13, 392, 74), +(13, 393, 67), +(13, 394, 81), +(13, 395, 65), +(13, 396, 99), +(13, 397, 91), +(13, 398, 72), +(13, 399, 75), +(13, 400, 90), +(13, 401, 80), +(13, 402, 85), +(13, 403, 97), +(13, 404, 90), +(13, 405, 90), +(13, 406, 86), +(13, 407, 72), +(13, 408, 87), +(13, 409, 98), +(13, 410, 79), +(13, 411, 97), +(13, 412, 85), +(13, 413, 82), +(13, 414, 66), +(13, 415, 70), +(13, 416, 72), +(13, 417, 90), +(13, 418, 87), +(13, 419, 76), +(13, 420, 65), +(13, 421, 95), +(13, 422, 80), +(13, 423, 85), +(13, 424, 86), +(13, 425, 90), +(13, 426, 78), +(13, 427, 76), +(13, 428, 93), +(13, 429, 67), +(13, 430, 93), +(13, 431, 93), +(13, 432, 99), +(13, 433, 89), +(13, 434, 78), +(13, 435, 80), +(13, 436, 71), +(13, 437, 81), +(13, 438, 98), +(13, 439, 65), +(13, 440, 96), +(13, 441, 79), +(13, 442, 76), +(13, 443, 95), +(13, 444, 68), +(13, 445, 87), +(13, 446, 88), +(13, 447, 88), +(13, 448, 74), +(13, 449, 73), +(13, 450, 94), +(13, 451, 88), +(13, 452, 99), +(13, 453, 99), +(13, 454, 75), +(13, 455, 90), +(13, 456, 69), +(13, 457, 87), +(13, 458, 91), +(13, 459, 96), +(13, 460, 96), +(13, 461, 84), +(13, 462, 99), +(13, 463, 97), +(13, 464, 90), +(13, 465, 94), +(13, 466, 88), +(13, 467, 78), +(13, 468, 68), +(13, 469, 71), +(13, 470, 89), +(13, 471, 99), +(13, 472, 93), +(13, 473, 87), +(13, 474, 65), +(13, 475, 65), +(13, 476, 97), +(13, 477, 79), +(13, 478, 98), +(13, 479, 65), +(13, 480, 77), +(13, 481, 67), +(13, 482, 67), +(13, 483, 94), +(13, 484, 70), +(13, 485, 67), +(13, 486, 74), +(13, 487, 77), +(13, 488, 80), +(13, 489, 87), +(13, 490, 99), +(13, 491, 95), +(13, 492, 91), +(13, 493, 93), +(13, 494, 92), +(13, 495, 75), +(13, 496, 82), +(13, 497, 87), +(13, 498, 73), +(13, 499, 82), +(13, 500, 89), +(13, 501, 80), +(13, 502, 70), +(13, 503, 78), +(13, 504, 84), +(13, 505, 69), +(13, 506, 79), +(13, 507, 69), +(13, 508, 99), +(13, 509, 67), +(13, 510, 85), +(13, 511, 80), +(13, 512, 91), +(13, 513, 75), +(13, 514, 86), +(13, 515, 66), +(13, 516, 80), +(13, 517, 65), +(13, 518, 95), +(13, 519, 97), +(13, 520, 85), +(13, 521, 74), +(13, 522, 82), +(13, 523, 74), +(13, 524, 69), +(13, 525, 74), +(13, 526, 75), +(13, 527, 65), +(13, 528, 77), +(13, 529, 95), +(13, 530, 72), +(13, 531, 87), +(13, 532, 86), +(13, 533, 86), +(13, 534, 87), +(13, 535, 97), +(13, 536, 79), +(13, 537, 69), +(13, 538, 70), +(13, 539, 86), +(13, 540, 75), +(13, 541, 76), +(13, 542, 78), +(13, 543, 73), +(13, 544, 92), +(13, 545, 66), +(13, 546, 78), +(13, 547, 71), +(13, 548, 92), +(13, 549, 73), +(13, 550, 69), +(13, 551, 74), +(13, 552, 95), +(13, 553, 66), +(13, 554, 68), +(13, 555, 81), +(13, 556, 86), +(13, 557, 94), +(13, 558, 78), +(13, 559, 74), +(13, 560, 94), +(13, 561, 83), +(13, 562, 95), +(13, 563, 92), +(13, 564, 90), +(13, 1024, 76), +(13, 1025, 98), +(13, 1026, 98), +(13, 1027, 84), +(13, 1028, 65), +(13, 1029, 90), +(13, 1030, 68), +(13, 1031, 84), +(13, 1032, 89), +(13, 1033, 94), +(13, 1034, 86), +(13, 1035, 95), +(13, 1036, 74), +(13, 1037, 78), +(13, 1038, 90), +(13, 1039, 78), +(13, 1040, 67), +(13, 1041, 87), +(13, 1042, 82), +(13, 1043, 74), +(13, 1044, 83), +(13, 1045, 73), +(13, 1046, 82), +(13, 1047, 78), +(13, 1048, 72), +(13, 1049, 99), +(13, 1050, 99), +(13, 1051, 73), +(13, 1052, 79), +(13, 1053, 94), +(13, 1054, 73), +(13, 1055, 75), +(13, 1056, 70), +(13, 1057, 89), +(13, 1058, 78), +(13, 1059, 80), +(13, 1060, 74), +(13, 1061, 97), +(13, 1062, 88), +(13, 1063, 82), +(13, 1064, 90), +(13, 1065, 72), +(13, 1066, 88), +(13, 1067, 97), +(13, 1068, 77), +(13, 1069, 79), +(13, 1070, 98), +(13, 1071, 96), +(13, 1072, 82), +(13, 1073, 69), +(13, 1074, 83), +(13, 1075, 67), +(13, 1076, 97), +(13, 1077, 85), +(13, 1078, 92), +(13, 1079, 81), +(13, 1080, 87), +(13, 1081, 98), +(13, 1082, 94), +(13, 1083, 84), +(13, 1084, 97), +(13, 1085, 70), +(13, 1086, 94), +(13, 1087, 66), +(13, 1088, 98), +(13, 1089, 74), +(13, 1090, 81), +(13, 1091, 88), +(13, 1092, 84), +(13, 1093, 74), +(13, 1094, 96), +(13, 1095, 65), +(13, 1096, 85), +(13, 1097, 91), +(13, 1098, 76), +(13, 1099, 82), +(13, 1100, 90), +(13, 1101, 89), +(13, 1102, 91), +(13, 1103, 73), +(13, 1104, 72), +(13, 1105, 68), +(13, 1106, 78), +(13, 1107, 73), +(13, 1108, 89), +(13, 1109, 85), +(13, 1110, 90), +(13, 1111, 82), +(13, 1112, 69), +(13, 1113, 80), +(13, 1114, 93), +(13, 1115, 71), +(13, 1116, 66), +(13, 1117, 87), +(13, 1118, 65), +(13, 1119, 67), +(13, 1120, 99), +(13, 1121, 68), +(13, 1122, 69), +(13, 1123, 80), +(13, 1124, 91), +(13, 1125, 66), +(13, 1126, 80), +(13, 1127, 66), +(13, 1128, 80), +(13, 1129, 85), +(13, 1130, 93), +(13, 1131, 92), +(13, 1132, 71), +(13, 1133, 99), +(13, 1134, 95), +(13, 1135, 83), +(13, 1136, 86), +(13, 1137, 72), +(13, 1138, 83), +(13, 1139, 72), +(13, 1140, 67), +(13, 1141, 91), +(13, 1142, 94), +(13, 1143, 70), +(13, 1144, 97), +(13, 1145, 96), +(13, 1146, 73), +(13, 1147, 77), +(13, 1148, 83), +(13, 1149, 66), +(13, 1150, 76), +(13, 1151, 93), +(13, 1152, 66), +(13, 1153, 81), +(13, 1154, 98), +(13, 1155, 73), +(13, 1156, 77), +(13, 1157, 75), +(13, 1158, 66), +(13, 1159, 93), +(13, 1160, 84), +(13, 1161, 79), +(13, 1162, 91), +(13, 1163, 66), +(13, 1164, 72), +(13, 1165, 99), +(13, 1166, 80), +(13, 1167, 67), +(13, 1168, 79), +(13, 1169, 89), +(13, 1170, 96), +(13, 1171, 80), +(13, 1172, 66), +(13, 1173, 70), +(13, 1174, 74), +(13, 1175, 86), +(13, 1176, 83), +(13, 1177, 98), +(13, 1178, 69), +(13, 1179, 97), +(13, 1180, 74), +(13, 1181, 80), +(13, 1182, 69), +(13, 1183, 88), +(13, 1184, 72), +(13, 1185, 83), +(13, 1186, 76), +(13, 1187, 97), +(13, 1188, 79), +(13, 1189, 79), +(13, 1190, 85), +(13, 1191, 92), +(13, 1192, 74), +(13, 1193, 77), +(13, 1194, 88), +(13, 1195, 83), +(13, 1196, 73), +(13, 1197, 98), +(13, 1198, 66), +(13, 1199, 98), +(13, 1200, 65), +(13, 1201, 80), +(13, 1202, 70), +(13, 1203, 89), +(13, 1204, 79), +(13, 1205, 76), +(13, 1206, 76), +(13, 1207, 86), +(13, 1208, 86), +(13, 1209, 96), +(13, 1210, 76), +(13, 1211, 83), +(13, 1212, 80), +(13, 1213, 89), +(13, 1214, 70), +(13, 1215, 90), +(13, 1216, 78), +(13, 1217, 94), +(13, 1218, 93), +(13, 1219, 99), +(13, 1220, 98), +(13, 1221, 84), +(13, 1222, 71), +(13, 1223, 89), +(13, 1224, 71), +(13, 1225, 87), +(13, 1226, 72), +(13, 1227, 82), +(13, 1228, 95), +(13, 1229, 96), +(13, 1230, 77), +(13, 1231, 82), +(13, 1232, 95), +(13, 1233, 71), +(13, 1234, 95), +(13, 1235, 92), +(13, 1236, 78), +(13, 1237, 89), +(13, 1238, 74), +(13, 1239, 74), +(13, 1240, 84), +(13, 1241, 85), +(13, 1242, 74), +(13, 1243, 67), +(13, 1244, 68), +(13, 1245, 94), +(13, 1246, 81), +(13, 1247, 75), +(13, 1248, 95), +(13, 1249, 76), +(13, 1250, 95), +(13, 1251, 71), +(13, 1252, 80), +(13, 1253, 78), +(13, 1254, 90), +(13, 1255, 97), +(13, 1256, 93), +(13, 1257, 96), +(13, 1258, 85), +(13, 1259, 96), +(13, 1260, 99), +(13, 1261, 90), +(13, 1262, 85), +(13, 1263, 66), +(13, 1264, 78), +(13, 1265, 93), +(13, 1266, 95), +(13, 1267, 69), +(13, 1268, 69), +(13, 1269, 83), +(13, 1270, 70), +(13, 1271, 86), +(13, 1272, 69), +(13, 1273, 93), +(13, 1274, 96), +(13, 1275, 69), +(13, 1276, 74), +(13, 1277, 72), +(13, 1278, 88), +(13, 1279, 94), +(13, 1280, 77), +(13, 1281, 91), +(13, 1282, 73), +(13, 1283, 93), +(13, 1284, 73), +(13, 1285, 69), +(13, 1286, 94), +(13, 1287, 99), +(13, 1288, 73), +(13, 1289, 84), +(13, 1290, 75), +(13, 1291, 66), +(13, 1292, 76), +(13, 1293, 75), +(13, 1294, 78), +(13, 1295, 68), +(13, 1296, 88), +(13, 1297, 66), +(13, 1298, 77), +(13, 1299, 73), +(13, 1300, 98), +(13, 1301, 94), +(13, 1302, 80), +(13, 1303, 84), +(13, 1304, 74), +(13, 1305, 89), +(13, 1306, 95), +(13, 1307, 70), +(13, 1308, 77), +(13, 1309, 95), +(13, 1310, 93), +(13, 1311, 73), +(13, 1312, 73), +(13, 1313, 92), +(13, 1314, 75), +(13, 1315, 96), +(13, 1316, 79), +(13, 1317, 90), +(13, 1318, 76), +(13, 1319, 66), +(13, 1320, 96), +(13, 1321, 87), +(13, 1322, 79), +(13, 1323, 96), +(13, 1324, 82), +(13, 1325, 91), +(13, 1326, 68), +(13, 1327, 81), +(13, 1328, 84), +(13, 1329, 82), +(13, 1330, 85), +(13, 1331, 79), +(13, 1332, 70), +(13, 1333, 93), +(13, 1334, 79), +(13, 1335, 69), +(13, 1336, 82), +(13, 1337, 77), +(13, 1338, 82), +(13, 1339, 88), +(13, 1340, 80), +(13, 1341, 95), +(13, 1342, 87), +(13, 1343, 86), +(13, 1344, 89), +(13, 1345, 98), +(13, 1346, 79), +(13, 1347, 91), +(13, 1348, 68), +(13, 1349, 69), +(13, 1350, 84), +(13, 1351, 85), +(13, 1352, 75), +(13, 1353, 99), +(13, 1354, 80), +(13, 1355, 71), +(13, 1356, 96), +(13, 1357, 95), +(13, 1358, 79), +(13, 1359, 79), +(13, 1360, 86), +(13, 1361, 80), +(13, 1362, 67), +(13, 1363, 99), +(13, 1364, 95), +(13, 1365, 72), +(13, 1366, 95), +(13, 1367, 79), +(13, 1368, 92), +(13, 1369, 70), +(13, 1370, 72), +(13, 1371, 68), +(13, 1372, 72), +(13, 1373, 69), +(13, 1374, 69), +(13, 1375, 81), +(13, 1376, 85), +(13, 1377, 88), +(13, 1378, 90), +(13, 1379, 75), +(13, 1380, 79), +(13, 1381, 98), +(13, 1382, 66), +(13, 1383, 81), +(13, 1384, 84), +(13, 1385, 99), +(13, 1386, 99), +(13, 1387, 96), +(13, 1388, 82), +(13, 1389, 95), +(13, 1390, 65), +(13, 1391, 99), +(13, 1392, 97), +(13, 1393, 77), +(13, 1394, 83), +(13, 1395, 68), +(13, 1396, 71), +(13, 1397, 82), +(13, 1398, 83), +(13, 1399, 82), +(13, 1400, 72), +(13, 1401, 97), +(13, 1402, 90), +(13, 1403, 74), +(13, 1404, 98), +(13, 1405, 71), +(13, 1406, 87), +(13, 1407, 77), +(13, 1408, 84), +(13, 1409, 96), +(13, 1410, 75), +(13, 1411, 83), +(13, 1412, 99), +(13, 1413, 97), +(13, 1414, 67), +(13, 1415, 66), +(13, 1416, 74), +(13, 1417, 69), +(13, 1418, 74), +(13, 1419, 91), +(13, 1420, 89), +(13, 1421, 88), +(13, 1422, 80), +(13, 1423, 77), +(13, 1424, 73), +(13, 1425, 92), +(13, 1426, 71), +(13, 1427, 69), +(13, 1428, 89), +(13, 1429, 74), +(13, 1430, 91), +(13, 1431, 71), +(13, 1432, 97), +(13, 1433, 75), +(13, 1434, 99), +(13, 1435, 97), +(13, 1436, 81), +(13, 1437, 84), +(13, 1438, 97), +(13, 1439, 86), +(13, 1440, 73), +(13, 1441, 96), +(13, 1442, 99), +(13, 1443, 83), +(13, 1444, 88), +(13, 1445, 73), +(13, 1446, 75), +(13, 1447, 99), +(13, 1448, 98), +(13, 1449, 65), +(13, 1450, 85), +(13, 1451, 97), +(13, 1452, 95), +(13, 1453, 74), +(13, 1454, 89), +(13, 1455, 90), +(13, 1456, 66), +(13, 1457, 75), +(13, 1458, 69), +(13, 1459, 77), +(13, 1460, 86), +(13, 1461, 71), +(13, 1462, 99), +(13, 1463, 99), +(13, 1464, 95), +(13, 1465, 75), +(13, 1466, 66), +(13, 1467, 76), +(13, 1468, 68), +(13, 1469, 87), +(13, 1470, 82), +(13, 1471, 87), +(13, 1472, 99), +(13, 1473, 91), +(13, 1474, 76), +(13, 1475, 98), +(13, 1476, 96), +(13, 1477, 93), +(13, 1478, 92), +(13, 1479, 93), +(13, 1480, 77), +(13, 1481, 99), +(13, 1482, 73), +(13, 1483, 68), +(13, 1484, 99), +(13, 1485, 93), +(13, 1486, 82), +(13, 1487, 84), +(13, 1488, 89), +(13, 1489, 98), +(13, 1490, 77), +(13, 1491, 79), +(13, 1492, 95), +(13, 1493, 80), +(13, 1494, 88), +(13, 1495, 99), +(13, 1496, 82), +(13, 1497, 76), +(13, 1498, 74), +(13, 1499, 96), +(13, 1500, 79), +(13, 1501, 78), +(13, 1502, 75), +(13, 1503, 70), +(13, 1504, 97), +(13, 1505, 84), +(13, 1506, 87), +(13, 1507, 65), +(13, 1508, 72), +(13, 1509, 66), +(13, 1510, 85), +(13, 1511, 80), +(13, 1512, 89), +(13, 1513, 73), +(13, 1514, 72), +(13, 1515, 76), +(13, 1516, 76), +(13, 1517, 85), +(13, 1518, 68), +(13, 1519, 72), +(13, 1520, 88), +(13, 1521, 87), +(13, 1522, 90), +(13, 1523, 67), +(13, 1524, 91), +(13, 1525, 76), +(13, 1526, 92), +(13, 1527, 89), +(13, 1528, 72), +(13, 1529, 77), +(13, 1530, 69), +(13, 1531, 77), +(13, 1532, 97), +(13, 1533, 77), +(13, 1534, 79), +(13, 1535, 86), +(13, 1536, 70), +(13, 1537, 66), +(13, 1538, 69), +(13, 1539, 99), +(13, 1540, 87), +(13, 1541, 69), +(13, 1542, 79), +(13, 1543, 91), +(13, 1544, 92), +(13, 1545, 80), +(13, 1546, 91), +(13, 1547, 94), +(13, 1548, 86), +(13, 1549, 67), +(13, 1550, 91), +(13, 1551, 71), +(13, 1552, 97), +(13, 1553, 65), +(13, 1554, 99), +(13, 1555, 66), +(13, 1556, 87), +(13, 1557, 93), +(13, 1558, 74), +(13, 1559, 67), +(13, 1560, 95), +(13, 1561, 84), +(13, 1562, 66), +(13, 1563, 97), +(13, 1564, 68), +(13, 1565, 78), +(13, 1566, 68), +(13, 1567, 77), +(13, 1568, 84), +(13, 1569, 71), +(13, 1570, 84), +(13, 1571, 86), +(13, 1572, 65), +(13, 1573, 84), +(13, 1574, 85), +(13, 1575, 77), +(13, 1576, 87), +(13, 1577, 75), +(13, 1578, 68), +(13, 1579, 65), +(13, 1580, 77), +(13, 1581, 72), +(13, 1582, 98), +(13, 1583, 76), +(13, 1584, 73), +(13, 1585, 69), +(13, 1586, 88), +(13, 1587, 96), +(13, 2047, 83), +(13, 2048, 80), +(13, 2049, 72), +(13, 2050, 87), +(13, 2051, 99), +(13, 2052, 85), +(13, 2053, 90), +(13, 2054, 87), +(13, 2055, 76), +(13, 2056, 82), +(13, 2057, 99), +(13, 2058, 68), +(13, 2059, 81), +(13, 2060, 69), +(13, 2061, 97), +(13, 2062, 95), +(13, 2063, 74), +(13, 2064, 70), +(13, 2065, 68), +(13, 2066, 97), +(13, 2067, 72), +(13, 2068, 75), +(13, 2069, 81), +(13, 2070, 83), +(13, 2071, 82), +(13, 2072, 96), +(13, 2073, 99), +(13, 2074, 76), +(13, 2075, 85), +(13, 2076, 98), +(13, 2077, 91), +(13, 2078, 75), +(13, 2079, 82), +(13, 2080, 95), +(13, 2081, 84), +(13, 2082, 93), +(13, 2083, 96), +(13, 2084, 93), +(13, 2085, 87), +(13, 2086, 76), +(13, 2087, 79), +(13, 2088, 70), +(13, 2089, 94), +(13, 2090, 98), +(13, 2091, 79), +(13, 2092, 87), +(13, 2093, 74), +(13, 2094, 85), +(13, 2095, 82), +(13, 2096, 96), +(13, 2097, 79), +(13, 2098, 65), +(13, 2099, 66), +(13, 2100, 66), +(13, 2101, 92), +(13, 2102, 89), +(13, 2103, 90), +(13, 2104, 85), +(13, 2105, 65), +(13, 2106, 82), +(13, 2107, 87), +(13, 2108, 79), +(13, 2109, 82), +(13, 2110, 83), +(13, 2111, 78), +(13, 2112, 66), +(13, 2113, 95), +(13, 2114, 94), +(13, 2115, 83), +(13, 2116, 85), +(13, 2117, 70), +(13, 2118, 88), +(13, 2119, 71), +(13, 2120, 87), +(13, 2121, 70), +(13, 2122, 97), +(13, 2123, 95), +(13, 2124, 93), +(13, 2125, 68), +(13, 2126, 81), +(13, 2127, 84), +(13, 2128, 84), +(13, 2129, 79), +(13, 2130, 81), +(13, 2131, 77), +(13, 2132, 92), +(13, 2133, 86), +(13, 2134, 82), +(13, 2135, 91), +(13, 2136, 80), +(13, 2137, 99), +(13, 2138, 73), +(13, 2139, 66), +(13, 2140, 66), +(13, 2141, 75), +(13, 2142, 82), +(13, 2143, 77), +(13, 2144, 89), +(13, 2145, 99), +(13, 2146, 96), +(13, 2147, 90), +(13, 2148, 90), +(13, 2149, 65), +(13, 2150, 83), +(13, 2151, 93), +(13, 2152, 82), +(13, 2153, 87), +(13, 2154, 71), +(13, 2155, 91), +(13, 2156, 67), +(13, 2157, 92), +(13, 2158, 98), +(13, 2159, 69), +(13, 2160, 93), +(13, 2161, 95), +(13, 2162, 92), +(13, 2163, 71), +(13, 2164, 86), +(13, 2165, 98), +(13, 2166, 66), +(13, 2167, 91), +(13, 2168, 78), +(13, 2169, 66), +(13, 2170, 71), +(13, 2171, 97), +(13, 2172, 93), +(13, 2173, 92), +(13, 2174, 67), +(13, 2175, 80), +(13, 2176, 78), +(13, 2177, 96), +(13, 2178, 68), +(13, 2179, 73), +(13, 2180, 67), +(13, 2181, 80), +(13, 2182, 68), +(13, 2183, 95), +(13, 2184, 96), +(13, 2185, 89), +(13, 2186, 70), +(13, 2187, 91), +(13, 2188, 97), +(13, 2189, 77), +(13, 2190, 80), +(13, 2191, 94), +(13, 2192, 93), +(13, 2193, 89), +(13, 2194, 92), +(13, 2195, 97), +(13, 2196, 80), +(13, 2197, 91), +(13, 2198, 81), +(13, 2199, 94), +(13, 2200, 88), +(13, 2201, 89), +(13, 2202, 98), +(13, 2203, 88), +(13, 2204, 95), +(13, 2205, 72), +(13, 2206, 83), +(13, 2207, 88), +(13, 2208, 91), +(13, 2209, 90), +(13, 2210, 82), +(13, 2211, 67), +(13, 2212, 75), +(13, 2213, 85), +(13, 2214, 83), +(13, 2215, 80), +(13, 2216, 96), +(13, 2217, 71), +(13, 2218, 80), +(13, 2219, 89), +(13, 2220, 89), +(13, 2221, 99), +(13, 2222, 73), +(13, 2223, 75), +(13, 2224, 98), +(13, 2225, 85), +(13, 2226, 99), +(13, 2227, 82), +(13, 2228, 85), +(13, 2229, 68), +(13, 2230, 81), +(13, 2231, 69), +(13, 2232, 87), +(13, 2233, 66), +(13, 2234, 80), +(13, 2235, 81), +(13, 2236, 92), +(13, 2237, 83), +(13, 2238, 73), +(13, 2239, 66), +(13, 2240, 90), +(13, 2241, 83), +(13, 2242, 96), +(13, 2243, 83), +(13, 2244, 94), +(13, 2245, 79), +(13, 2246, 78), +(13, 2247, 82), +(13, 2248, 94), +(13, 2249, 67), +(13, 2250, 77), +(13, 2251, 79), +(13, 2252, 72), +(13, 2253, 74), +(13, 2254, 95), +(13, 2255, 76), +(13, 2256, 85), +(13, 2257, 89), +(13, 2258, 95), +(13, 2259, 72), +(13, 2260, 66), +(13, 2261, 99), +(13, 2262, 78), +(13, 2263, 78), +(13, 2264, 77), +(13, 2265, 81), +(13, 2266, 72), +(13, 2267, 78), +(13, 2268, 77), +(13, 2269, 94), +(13, 2270, 72), +(13, 2271, 94), +(13, 2272, 78), +(13, 2273, 91), +(13, 2274, 73), +(13, 2275, 94), +(13, 2276, 70), +(13, 2277, 83), +(13, 2278, 74), +(13, 2279, 81), +(13, 2280, 85), +(13, 2281, 75), +(13, 2282, 91), +(13, 2283, 99), +(13, 2284, 69), +(13, 2285, 86), +(13, 2286, 85), +(13, 2287, 72), +(13, 2288, 98), +(13, 2289, 90), +(13, 2290, 96), +(13, 2291, 84), +(13, 2292, 77), +(13, 2293, 86), +(13, 2294, 90), +(13, 2295, 94), +(13, 2296, 75), +(13, 2297, 81), +(13, 2298, 80), +(13, 2299, 91), +(13, 2300, 85), +(13, 2301, 97), +(13, 2302, 74), +(13, 2303, 72), +(13, 2304, 70), +(13, 2305, 80), +(13, 2306, 97), +(13, 2307, 78), +(13, 2308, 67), +(13, 2309, 72), +(13, 2310, 65), +(13, 2311, 80), +(13, 2312, 87), +(13, 2313, 84), +(13, 2314, 97), +(13, 2315, 82), +(13, 2316, 74), +(13, 2317, 84), +(13, 2318, 86), +(13, 2319, 77), +(13, 2320, 83), +(13, 2321, 66), +(13, 2322, 71), +(13, 2323, 93), +(13, 2324, 71), +(13, 2325, 99), +(13, 2326, 87), +(13, 2327, 75), +(13, 2328, 90), +(13, 2329, 87), +(13, 2330, 69), +(13, 2331, 82), +(13, 2332, 86), +(13, 2333, 85), +(13, 2334, 95), +(13, 2335, 68), +(13, 2336, 89), +(13, 2337, 67), +(13, 2338, 94), +(13, 2339, 95), +(13, 2340, 91), +(13, 2341, 66), +(13, 2342, 85), +(13, 2343, 95), +(13, 2344, 82), +(13, 2345, 90), +(13, 2346, 78), +(13, 2347, 83), +(13, 2348, 83), +(13, 2349, 84), +(13, 2350, 83), +(13, 2351, 78), +(13, 2352, 70), +(13, 2353, 76), +(13, 2354, 95), +(13, 2355, 77), +(13, 2356, 68), +(13, 2357, 68), +(13, 2358, 88), +(13, 2359, 70), +(13, 2360, 95), +(13, 2361, 87), +(13, 2362, 99), +(13, 2363, 83), +(13, 2364, 79), +(13, 2365, 88), +(13, 2366, 89), +(13, 2367, 77), +(13, 2368, 65), +(13, 2369, 84), +(13, 2370, 89), +(13, 2371, 78), +(13, 2372, 67), +(13, 2373, 88), +(13, 2374, 75), +(13, 2375, 98), +(13, 2376, 69), +(13, 2377, 77), +(13, 2378, 84), +(13, 2379, 67), +(13, 2380, 80), +(13, 2381, 87), +(13, 2382, 97), +(13, 2383, 97), +(13, 2384, 83), +(13, 2385, 92), +(13, 2386, 90), +(13, 2387, 78), +(13, 2388, 94), +(13, 2389, 97), +(13, 2390, 83), +(13, 2391, 70), +(13, 2392, 90), +(13, 2393, 77), +(13, 2394, 94), +(13, 2395, 96), +(13, 2396, 90), +(13, 2397, 83), +(13, 2398, 70), +(13, 2399, 70), +(13, 2400, 73), +(13, 2401, 96), +(13, 2402, 93), +(13, 2403, 75), +(13, 2404, 81), +(13, 2405, 74), +(13, 2406, 69), +(13, 2407, 81), +(13, 2408, 70), +(13, 2409, 86), +(13, 2410, 94), +(13, 2411, 65), +(13, 2412, 73), +(13, 2413, 71), +(13, 2414, 99), +(13, 2415, 68), +(13, 2416, 78), +(13, 2417, 78), +(13, 2418, 87), +(13, 2419, 91), +(13, 2420, 68), +(13, 2421, 67), +(13, 2422, 71), +(13, 2423, 83), +(13, 2424, 67), +(13, 2425, 85), +(13, 2426, 68), +(13, 2427, 73), +(13, 2428, 95), +(13, 2429, 93), +(13, 2430, 86), +(13, 2431, 80), +(13, 2432, 94), +(13, 2433, 93), +(13, 2434, 97), +(13, 2435, 86), +(13, 2436, 76), +(13, 2437, 65), +(13, 2438, 67), +(13, 2439, 88), +(13, 2440, 98), +(13, 2441, 92), +(13, 2442, 76), +(13, 2443, 94), +(13, 2444, 74), +(13, 2445, 90), +(13, 2446, 87), +(13, 2447, 67), +(13, 2448, 77), +(13, 2449, 85), +(13, 2450, 85), +(13, 2451, 67), +(13, 2452, 67), +(13, 2453, 86), +(13, 2454, 92), +(13, 2455, 99), +(13, 2456, 87), +(13, 2457, 87), +(13, 2458, 97), +(13, 2459, 96), +(13, 2460, 67), +(13, 2461, 89), +(13, 2462, 69), +(13, 2463, 76), +(13, 2464, 82), +(13, 2465, 81), +(13, 2466, 91), +(13, 2467, 99), +(13, 2468, 80), +(13, 2469, 71), +(13, 2470, 75), +(13, 2471, 96), +(13, 2472, 87), +(13, 2473, 98), +(13, 2474, 79), +(13, 2475, 88), +(13, 2476, 69), +(13, 2477, 90), +(13, 2478, 95), +(13, 2479, 68), +(13, 2480, 87), +(13, 2481, 78), +(13, 2482, 80), +(13, 2483, 68), +(13, 2484, 73), +(13, 2485, 81), +(13, 2486, 78), +(13, 2487, 65), +(13, 2488, 81), +(13, 2489, 65), +(13, 2490, 73), +(13, 2491, 94), +(13, 2492, 83), +(13, 2493, 99), +(13, 2494, 65), +(13, 2495, 87), +(13, 2496, 69), +(13, 2497, 86), +(13, 2498, 68), +(13, 2499, 84), +(13, 2500, 77), +(13, 2501, 87), +(13, 2502, 86), +(13, 2503, 89), +(13, 2504, 66), +(13, 2505, 89), +(13, 2506, 91), +(13, 2507, 89), +(13, 2508, 72), +(13, 2509, 78), +(13, 2510, 97), +(13, 2511, 74), +(13, 2512, 82), +(13, 2513, 89), +(13, 2514, 70), +(13, 2515, 84), +(13, 2516, 94), +(13, 2517, 89), +(13, 2518, 75), +(13, 2519, 66), +(13, 2520, 96), +(13, 2521, 84), +(13, 2522, 91), +(13, 2523, 67), +(13, 2524, 75), +(13, 2525, 82), +(13, 2526, 97), +(13, 2527, 89), +(13, 2528, 87), +(13, 2529, 70), +(13, 2530, 65), +(13, 2531, 87), +(13, 2532, 66), +(13, 2533, 83), +(13, 2534, 84), +(13, 2535, 96), +(13, 2536, 70), +(13, 2537, 99), +(13, 2538, 71), +(13, 2539, 91), +(13, 2540, 86), +(13, 2541, 89), +(13, 2542, 83), +(13, 2543, 76), +(13, 2544, 84), +(13, 2545, 93), +(13, 2546, 89), +(13, 2547, 96), +(13, 2548, 97), +(13, 2549, 78), +(13, 2550, 73), +(13, 2551, 77), +(13, 2552, 84), +(13, 2553, 77), +(13, 2554, 92), +(13, 2555, 68), +(13, 2556, 75), +(13, 2557, 98), +(13, 2558, 89), +(13, 2559, 75), +(13, 2560, 78), +(13, 2561, 77), +(13, 2562, 67), +(13, 2563, 67), +(13, 2564, 83), +(13, 2565, 83), +(13, 2566, 73), +(13, 2567, 76), +(13, 2568, 97), +(13, 2569, 68), +(13, 2570, 88), +(13, 2571, 75), +(13, 2572, 97), +(13, 2573, 68), +(13, 2574, 93), +(13, 2575, 99), +(13, 2576, 80), +(13, 2577, 82), +(13, 2578, 87), +(13, 2579, 68), +(13, 2580, 79), +(13, 2581, 68), +(13, 2582, 92), +(13, 2583, 74), +(13, 2584, 65), +(13, 2585, 75), +(13, 2586, 90), +(13, 2587, 92), +(13, 2588, 74), +(13, 2589, 78), +(13, 2590, 68), +(13, 2591, 68), +(13, 2592, 73), +(13, 2593, 66), +(13, 2594, 94), +(13, 2595, 99), +(13, 2596, 79), +(13, 2597, 88), +(13, 2598, 77), +(13, 2599, 97), +(13, 2600, 83), +(13, 2601, 92), +(13, 2602, 99), +(13, 2603, 75), +(13, 2604, 65), +(13, 2605, 75), +(13, 2606, 76), +(13, 2607, 93), +(13, 2608, 80), +(13, 2609, 87), +(13, 2610, 68), +(14, 1, 78), +(14, 2, 76), +(14, 3, 83), +(14, 4, 90), +(14, 5, 92), +(14, 6, 98), +(14, 7, 96), +(14, 8, 92), +(14, 9, 84), +(14, 10, 88), +(14, 11, 69), +(14, 12, 90), +(14, 13, 72), +(14, 14, 67), +(14, 15, 77), +(14, 16, 80), +(14, 17, 79), +(14, 18, 75), +(14, 19, 99), +(14, 20, 96), +(14, 21, 66), +(14, 22, 66), +(14, 23, 76), +(14, 24, 65), +(14, 25, 79), +(14, 26, 94), +(14, 27, 87), +(14, 28, 99), +(14, 29, 92), +(14, 30, 98), +(14, 31, 78), +(14, 32, 70), +(14, 33, 65), +(14, 34, 72), +(14, 35, 67), +(14, 36, 67), +(14, 37, 85), +(14, 38, 80), +(14, 39, 74), +(14, 40, 96), +(14, 41, 85), +(14, 42, 81), +(14, 43, 66), +(14, 44, 84), +(14, 45, 92), +(14, 46, 77), +(14, 47, 90), +(14, 48, 91), +(14, 49, 89), +(14, 50, 65), +(14, 51, 97), +(14, 52, 72), +(14, 53, 94), +(14, 54, 84), +(14, 55, 73), +(14, 56, 81), +(14, 57, 79), +(14, 58, 88), +(14, 59, 76), +(14, 60, 69), +(14, 61, 89), +(14, 62, 98), +(14, 63, 88), +(14, 64, 76), +(14, 65, 70), +(14, 66, 88), +(14, 67, 95), +(14, 68, 93), +(14, 69, 75), +(14, 70, 94), +(14, 71, 67), +(14, 72, 80), +(14, 73, 70), +(14, 74, 98), +(14, 75, 72), +(14, 76, 85), +(14, 77, 89), +(14, 78, 88), +(14, 79, 97), +(14, 80, 95), +(14, 81, 92), +(14, 82, 84), +(14, 83, 99), +(14, 84, 95), +(14, 85, 65), +(14, 86, 67), +(14, 87, 76), +(14, 88, 90), +(14, 89, 77), +(14, 90, 82), +(14, 91, 95), +(14, 92, 83), +(14, 93, 73), +(14, 94, 95), +(14, 95, 66), +(14, 96, 98), +(14, 97, 72), +(14, 98, 85), +(14, 99, 89), +(14, 100, 89), +(14, 101, 79), +(14, 102, 95), +(14, 103, 76), +(14, 104, 88), +(14, 105, 67), +(14, 106, 86), +(14, 107, 76), +(14, 108, 73), +(14, 109, 70), +(14, 110, 69), +(14, 111, 72), +(14, 112, 85), +(14, 113, 93), +(14, 114, 75), +(14, 115, 90), +(14, 116, 86), +(14, 117, 71), +(14, 118, 84), +(14, 119, 84), +(14, 120, 96), +(14, 121, 91), +(14, 122, 99), +(14, 123, 75), +(14, 124, 83), +(14, 125, 92), +(14, 126, 68), +(14, 127, 98), +(14, 128, 77), +(14, 129, 86), +(14, 130, 95), +(14, 131, 66), +(14, 132, 93), +(14, 133, 66), +(14, 134, 84), +(14, 135, 76), +(14, 136, 85), +(14, 137, 79), +(14, 138, 81), +(14, 139, 68), +(14, 140, 69), +(14, 141, 89), +(14, 142, 90), +(14, 143, 75), +(14, 144, 71), +(14, 145, 78), +(14, 146, 89), +(14, 147, 65), +(14, 148, 82), +(14, 149, 87), +(14, 150, 72), +(14, 151, 93), +(14, 152, 88), +(14, 153, 91), +(14, 154, 70), +(14, 155, 66), +(14, 156, 69), +(14, 157, 75), +(14, 158, 85), +(14, 159, 92), +(14, 160, 66), +(14, 161, 94), +(14, 162, 65), +(14, 163, 88), +(14, 164, 81), +(14, 165, 89), +(14, 166, 98), +(14, 167, 65), +(14, 168, 69), +(14, 169, 78), +(14, 170, 72), +(14, 171, 75), +(14, 172, 79), +(14, 173, 68), +(14, 174, 68), +(14, 175, 81), +(14, 176, 65), +(14, 177, 92), +(14, 178, 75), +(14, 179, 83), +(14, 180, 68), +(14, 181, 82), +(14, 182, 88), +(14, 183, 68), +(14, 184, 91), +(14, 185, 87), +(14, 186, 98), +(14, 187, 70), +(14, 188, 83), +(14, 189, 99), +(14, 190, 99), +(14, 191, 98), +(14, 192, 82), +(14, 193, 83), +(14, 194, 78), +(14, 195, 74), +(14, 196, 94), +(14, 197, 86), +(14, 198, 69), +(14, 199, 77), +(14, 200, 98), +(14, 201, 89), +(14, 202, 67), +(14, 203, 93), +(14, 204, 69), +(14, 205, 66), +(14, 206, 77), +(14, 207, 81), +(14, 208, 81), +(14, 209, 74), +(14, 210, 93), +(14, 211, 67), +(14, 212, 68), +(14, 213, 65), +(14, 214, 67), +(14, 215, 83), +(14, 216, 97), +(14, 217, 80), +(14, 218, 94), +(14, 219, 71), +(14, 220, 86), +(14, 221, 96), +(14, 222, 86), +(14, 223, 70), +(14, 224, 77), +(14, 225, 94), +(14, 226, 93), +(14, 227, 75), +(14, 228, 75), +(14, 229, 72), +(14, 230, 83), +(14, 231, 94), +(14, 232, 89), +(14, 233, 69), +(14, 234, 87), +(14, 235, 67), +(14, 236, 72), +(14, 237, 79), +(14, 238, 85), +(14, 239, 92), +(14, 240, 83), +(14, 241, 80), +(14, 242, 83), +(14, 243, 70), +(14, 244, 94), +(14, 245, 68), +(14, 246, 93), +(14, 247, 97), +(14, 248, 74), +(14, 249, 92), +(14, 250, 96), +(14, 251, 68), +(14, 252, 81), +(14, 253, 81), +(14, 254, 78), +(14, 255, 94), +(14, 256, 75), +(14, 257, 83), +(14, 258, 65), +(14, 259, 82), +(14, 260, 94), +(14, 261, 93), +(14, 262, 73), +(14, 263, 69), +(14, 264, 70), +(14, 265, 83), +(14, 266, 77), +(14, 267, 94), +(14, 268, 99), +(14, 269, 95), +(14, 270, 87), +(14, 271, 85), +(14, 272, 66), +(14, 273, 80), +(14, 274, 81), +(14, 275, 94), +(14, 276, 96), +(14, 277, 71), +(14, 278, 85), +(14, 279, 84), +(14, 280, 66), +(14, 281, 98), +(14, 282, 72), +(14, 283, 90), +(14, 284, 71), +(14, 285, 81), +(14, 286, 75), +(14, 287, 82), +(14, 288, 91), +(14, 289, 75), +(14, 290, 71), +(14, 291, 72), +(14, 292, 87), +(14, 293, 75), +(14, 294, 75), +(14, 295, 89), +(14, 296, 90), +(14, 297, 73), +(14, 298, 89), +(14, 299, 85), +(14, 300, 89), +(14, 301, 99), +(14, 302, 87), +(14, 303, 65), +(14, 304, 65), +(14, 305, 87), +(14, 306, 70), +(14, 307, 74), +(14, 308, 81), +(14, 309, 85), +(14, 310, 71), +(14, 311, 72), +(14, 312, 66), +(14, 313, 91), +(14, 314, 80), +(14, 315, 76), +(14, 316, 69), +(14, 317, 71), +(14, 318, 83), +(14, 319, 72), +(14, 320, 66), +(14, 321, 75), +(14, 322, 75), +(14, 323, 85), +(14, 324, 92), +(14, 325, 76), +(14, 326, 70), +(14, 327, 99), +(14, 328, 66), +(14, 329, 65), +(14, 330, 78), +(14, 331, 70), +(14, 332, 88), +(14, 333, 97), +(14, 334, 97), +(14, 335, 68), +(14, 336, 70), +(14, 337, 93), +(14, 338, 73), +(14, 339, 72), +(14, 340, 72), +(14, 341, 91), +(14, 342, 96), +(14, 343, 97), +(14, 344, 83), +(14, 345, 75), +(14, 346, 84), +(14, 347, 68), +(14, 348, 89), +(14, 349, 93), +(14, 350, 86), +(14, 351, 96), +(14, 352, 87), +(14, 353, 77), +(14, 354, 66), +(14, 355, 88), +(14, 356, 99), +(14, 357, 96), +(14, 358, 91), +(14, 359, 84), +(14, 360, 76), +(14, 361, 85), +(14, 362, 97), +(14, 363, 80), +(14, 364, 69), +(14, 365, 81), +(14, 366, 78), +(14, 367, 91), +(14, 368, 72), +(14, 369, 89), +(14, 370, 75), +(14, 371, 80), +(14, 372, 99), +(14, 373, 98), +(14, 374, 70), +(14, 375, 81), +(14, 376, 99), +(14, 377, 82), +(14, 378, 85), +(14, 379, 96), +(14, 380, 95), +(14, 381, 75), +(14, 382, 70), +(14, 383, 92), +(14, 384, 89), +(14, 385, 78), +(14, 386, 71), +(14, 387, 66), +(14, 388, 99), +(14, 389, 98), +(14, 390, 71), +(14, 391, 70), +(14, 392, 87), +(14, 393, 70), +(14, 394, 70), +(14, 395, 72), +(14, 396, 76), +(14, 397, 88), +(14, 398, 69), +(14, 399, 82), +(14, 400, 85), +(14, 401, 83), +(14, 402, 70), +(14, 403, 78), +(14, 404, 70), +(14, 405, 86), +(14, 406, 86), +(14, 407, 72), +(14, 408, 99), +(14, 409, 79), +(14, 410, 92), +(14, 411, 78), +(14, 412, 83), +(14, 413, 87), +(14, 414, 87), +(14, 415, 78), +(14, 416, 65), +(14, 417, 75), +(14, 418, 77), +(14, 419, 86), +(14, 420, 69), +(14, 421, 95), +(14, 422, 75), +(14, 423, 92), +(14, 424, 88), +(14, 425, 87), +(14, 426, 99), +(14, 427, 67), +(14, 428, 67), +(14, 429, 94), +(14, 430, 65), +(14, 431, 74), +(14, 432, 67), +(14, 433, 73), +(14, 434, 82), +(14, 435, 70), +(14, 436, 83), +(14, 437, 73), +(14, 438, 65), +(14, 439, 73), +(14, 440, 70), +(14, 441, 65), +(14, 442, 78), +(14, 443, 94), +(14, 444, 93), +(14, 445, 93), +(14, 446, 70), +(14, 447, 66), +(14, 448, 85), +(14, 449, 93), +(14, 450, 78), +(14, 451, 66), +(14, 452, 78), +(14, 453, 82), +(14, 454, 98), +(14, 455, 93), +(14, 456, 97), +(14, 457, 76), +(14, 458, 75), +(14, 459, 91), +(14, 460, 80), +(14, 461, 83), +(14, 462, 91), +(14, 463, 76), +(14, 464, 88), +(14, 465, 83), +(14, 466, 81), +(14, 467, 69), +(14, 468, 82), +(14, 469, 97), +(14, 470, 81), +(14, 471, 85), +(14, 472, 96), +(14, 473, 72), +(14, 474, 68), +(14, 475, 70), +(14, 476, 72), +(14, 477, 85), +(14, 478, 90), +(14, 479, 74), +(14, 480, 84), +(14, 481, 90), +(14, 482, 75), +(14, 483, 80), +(14, 484, 94), +(14, 485, 85), +(14, 486, 70), +(14, 487, 74), +(14, 488, 86), +(14, 489, 93), +(14, 490, 65), +(14, 491, 67), +(14, 492, 68), +(14, 493, 66), +(14, 494, 81), +(14, 495, 78), +(14, 496, 72), +(14, 497, 96), +(14, 498, 95), +(14, 499, 70), +(14, 500, 90), +(14, 501, 71), +(14, 502, 91), +(14, 503, 84), +(14, 504, 88), +(14, 505, 97), +(14, 506, 99), +(14, 507, 88), +(14, 508, 98), +(14, 509, 79), +(14, 510, 80), +(14, 511, 68), +(14, 512, 83), +(14, 513, 82), +(14, 514, 82), +(14, 515, 69), +(14, 516, 85), +(14, 517, 97), +(14, 518, 65), +(14, 519, 88), +(14, 520, 95), +(14, 521, 88), +(14, 522, 90), +(14, 523, 92), +(14, 524, 66), +(14, 525, 82), +(14, 526, 70), +(14, 527, 87), +(14, 528, 87), +(14, 529, 86), +(14, 530, 89), +(14, 531, 90), +(14, 532, 73), +(14, 533, 69), +(14, 534, 72), +(14, 535, 77), +(14, 536, 66), +(14, 537, 66), +(14, 538, 99), +(14, 539, 80), +(14, 540, 67), +(14, 541, 78), +(14, 542, 87), +(14, 543, 76), +(14, 544, 87), +(14, 545, 78), +(14, 546, 99), +(14, 547, 92), +(14, 548, 87), +(14, 549, 91), +(14, 550, 74), +(14, 551, 88), +(14, 552, 82), +(14, 553, 95), +(14, 554, 67), +(14, 555, 70), +(14, 556, 95), +(14, 557, 66), +(14, 558, 92), +(14, 559, 71), +(14, 560, 91), +(14, 561, 91), +(14, 562, 71), +(14, 563, 89), +(14, 564, 87), +(14, 1024, 82), +(14, 1025, 90), +(14, 1026, 85), +(14, 1027, 86), +(14, 1028, 95), +(14, 1029, 96), +(14, 1030, 83), +(14, 1031, 86), +(14, 1032, 81), +(14, 1033, 79), +(14, 1034, 90), +(14, 1035, 94), +(14, 1036, 75), +(14, 1037, 70), +(14, 1038, 69), +(14, 1039, 81), +(14, 1040, 72), +(14, 1041, 91), +(14, 1042, 98), +(14, 1043, 73), +(14, 1044, 87), +(14, 1045, 67), +(14, 1046, 92), +(14, 1047, 90), +(14, 1048, 75), +(14, 1049, 92), +(14, 1050, 69), +(14, 1051, 86), +(14, 1052, 83), +(14, 1053, 66), +(14, 1054, 90), +(14, 1055, 84), +(14, 1056, 75), +(14, 1057, 80), +(14, 1058, 68), +(14, 1059, 72), +(14, 1060, 74), +(14, 1061, 79), +(14, 1062, 72), +(14, 1063, 70), +(14, 1064, 67), +(14, 1065, 73), +(14, 1066, 70), +(14, 1067, 94), +(14, 1068, 98), +(14, 1069, 78), +(14, 1070, 73), +(14, 1071, 94), +(14, 1072, 84), +(14, 1073, 75), +(14, 1074, 66), +(14, 1075, 72), +(14, 1076, 86), +(14, 1077, 89), +(14, 1078, 97), +(14, 1079, 75), +(14, 1080, 75), +(14, 1081, 85), +(14, 1082, 96), +(14, 1083, 82), +(14, 1084, 95), +(14, 1085, 73), +(14, 1086, 81), +(14, 1087, 93), +(14, 1088, 90), +(14, 1089, 78), +(14, 1090, 81), +(14, 1091, 87), +(14, 1092, 75), +(14, 1093, 68), +(14, 1094, 86), +(14, 1095, 99), +(14, 1096, 78), +(14, 1097, 80), +(14, 1098, 69), +(14, 1099, 85), +(14, 1100, 87), +(14, 1101, 87), +(14, 1102, 94), +(14, 1103, 93), +(14, 1104, 68), +(14, 1105, 66), +(14, 1106, 72), +(14, 1107, 87), +(14, 1108, 85), +(14, 1109, 84), +(14, 1110, 89), +(14, 1111, 76), +(14, 1112, 93), +(14, 1113, 90), +(14, 1114, 78), +(14, 1115, 81), +(14, 1116, 88), +(14, 1117, 78), +(14, 1118, 84), +(14, 1119, 90), +(14, 1120, 77), +(14, 1121, 72), +(14, 1122, 71), +(14, 1123, 71), +(14, 1124, 96), +(14, 1125, 87), +(14, 1126, 95), +(14, 1127, 67), +(14, 1128, 97), +(14, 1129, 94), +(14, 1130, 68), +(14, 1131, 70), +(14, 1132, 66), +(14, 1133, 91), +(14, 1134, 96), +(14, 1135, 80), +(14, 1136, 71), +(14, 1137, 87), +(14, 1138, 91), +(14, 1139, 96), +(14, 1140, 91), +(14, 1141, 81), +(14, 1142, 65), +(14, 1143, 92), +(14, 1144, 68), +(14, 1145, 74), +(14, 1146, 72), +(14, 1147, 70), +(14, 1148, 91), +(14, 1149, 89), +(14, 1150, 88), +(14, 1151, 78), +(14, 1152, 68), +(14, 1153, 90), +(14, 1154, 95), +(14, 1155, 81), +(14, 1156, 78), +(14, 1157, 68), +(14, 1158, 81), +(14, 1159, 99), +(14, 1160, 80), +(14, 1161, 69), +(14, 1162, 74), +(14, 1163, 65), +(14, 1164, 68), +(14, 1165, 88), +(14, 1166, 67), +(14, 1167, 79), +(14, 1168, 80), +(14, 1169, 86), +(14, 1170, 85), +(14, 1171, 86), +(14, 1172, 76), +(14, 1173, 86), +(14, 1174, 80), +(14, 1175, 76), +(14, 1176, 83), +(14, 1177, 89), +(14, 1178, 74), +(14, 1179, 89), +(14, 1180, 84), +(14, 1181, 73), +(14, 1182, 99), +(14, 1183, 80), +(14, 1184, 80), +(14, 1185, 91), +(14, 1186, 93), +(14, 1187, 68), +(14, 1188, 91), +(14, 1189, 89), +(14, 1190, 71), +(14, 1191, 97), +(14, 1192, 82), +(14, 1193, 90), +(14, 1194, 92), +(14, 1195, 77), +(14, 1196, 69), +(14, 1197, 85), +(14, 1198, 97), +(14, 1199, 75), +(14, 1200, 73), +(14, 1201, 76), +(14, 1202, 92), +(14, 1203, 97), +(14, 1204, 75), +(14, 1205, 73), +(14, 1206, 94), +(14, 1207, 94), +(14, 1208, 99), +(14, 1209, 82), +(14, 1210, 73), +(14, 1211, 84), +(14, 1212, 95), +(14, 1213, 90), +(14, 1214, 71), +(14, 1215, 72), +(14, 1216, 98), +(14, 1217, 83), +(14, 1218, 96), +(14, 1219, 80), +(14, 1220, 92), +(14, 1221, 98), +(14, 1222, 75), +(14, 1223, 67), +(14, 1224, 95), +(14, 1225, 99), +(14, 1226, 69), +(14, 1227, 68), +(14, 1228, 74), +(14, 1229, 78), +(14, 1230, 69), +(14, 1231, 83), +(14, 1232, 77), +(14, 1233, 92), +(14, 1234, 85), +(14, 1235, 78), +(14, 1236, 81), +(14, 1237, 99), +(14, 1238, 82), +(14, 1239, 99), +(14, 1240, 74), +(14, 1241, 82), +(14, 1242, 84), +(14, 1243, 72), +(14, 1244, 84), +(14, 1245, 67), +(14, 1246, 81), +(14, 1247, 84), +(14, 1248, 76), +(14, 1249, 98), +(14, 1250, 79), +(14, 1251, 74), +(14, 1252, 97), +(14, 1253, 83), +(14, 1254, 98), +(14, 1255, 96), +(14, 1256, 90), +(14, 1257, 87), +(14, 1258, 77), +(14, 1259, 77), +(14, 1260, 82), +(14, 1261, 99), +(14, 1262, 80), +(14, 1263, 74), +(14, 1264, 71), +(14, 1265, 84), +(14, 1266, 81), +(14, 1267, 65), +(14, 1268, 96), +(14, 1269, 75), +(14, 1270, 74), +(14, 1271, 97), +(14, 1272, 74), +(14, 1273, 71), +(14, 1274, 98), +(14, 1275, 80), +(14, 1276, 82), +(14, 1277, 99), +(14, 1278, 91), +(14, 1279, 94), +(14, 1280, 74), +(14, 1281, 92), +(14, 1282, 83), +(14, 1283, 74), +(14, 1284, 96), +(14, 1285, 72), +(14, 1286, 98), +(14, 1287, 82), +(14, 1288, 68), +(14, 1289, 89), +(14, 1290, 88), +(14, 1291, 80), +(14, 1292, 70), +(14, 1293, 65), +(14, 1294, 99), +(14, 1295, 91), +(14, 1296, 65), +(14, 1297, 88), +(14, 1298, 71), +(14, 1299, 87), +(14, 1300, 81), +(14, 1301, 94), +(14, 1302, 65), +(14, 1303, 67), +(14, 1304, 75), +(14, 1305, 88), +(14, 1306, 95), +(14, 1307, 81), +(14, 1308, 86), +(14, 1309, 91), +(14, 1310, 74), +(14, 1311, 92), +(14, 1312, 74), +(14, 1313, 87), +(14, 1314, 98), +(14, 1315, 83), +(14, 1316, 80), +(14, 1317, 74), +(14, 1318, 66), +(14, 1319, 75), +(14, 1320, 75), +(14, 1321, 84), +(14, 1322, 76), +(14, 1323, 92), +(14, 1324, 70), +(14, 1325, 83), +(14, 1326, 90), +(14, 1327, 80), +(14, 1328, 90), +(14, 1329, 89), +(14, 1330, 65), +(14, 1331, 73), +(14, 1332, 89), +(14, 1333, 85), +(14, 1334, 86), +(14, 1335, 90), +(14, 1336, 88), +(14, 1337, 82), +(14, 1338, 66), +(14, 1339, 91), +(14, 1340, 87), +(14, 1341, 71), +(14, 1342, 69), +(14, 1343, 81), +(14, 1344, 87), +(14, 1345, 92), +(14, 1346, 81), +(14, 1347, 82), +(14, 1348, 99), +(14, 1349, 73), +(14, 1350, 90), +(14, 1351, 90), +(14, 1352, 65), +(14, 1353, 90), +(14, 1354, 68), +(14, 1355, 76), +(14, 1356, 92), +(14, 1357, 84), +(14, 1358, 87), +(14, 1359, 81), +(14, 1360, 81), +(14, 1361, 75), +(14, 1362, 68), +(14, 1363, 65), +(14, 1364, 83), +(14, 1365, 82), +(14, 1366, 78), +(14, 1367, 93), +(14, 1368, 92), +(14, 1369, 68), +(14, 1370, 66), +(14, 1371, 98), +(14, 1372, 95), +(14, 1373, 95), +(14, 1374, 75), +(14, 1375, 94), +(14, 1376, 81), +(14, 1377, 65), +(14, 1378, 92), +(14, 1379, 78), +(14, 1380, 69), +(14, 1381, 75), +(14, 1382, 65), +(14, 1383, 83), +(14, 1384, 95), +(14, 1385, 68), +(14, 1386, 87), +(14, 1387, 75), +(14, 1388, 77), +(14, 1389, 93), +(14, 1390, 98), +(14, 1391, 82), +(14, 1392, 91), +(14, 1393, 99), +(14, 1394, 65), +(14, 1395, 82), +(14, 1396, 77), +(14, 1397, 89), +(14, 1398, 80), +(14, 1399, 97), +(14, 1400, 98), +(14, 1401, 91), +(14, 1402, 78), +(14, 1403, 93), +(14, 1404, 86), +(14, 1405, 87), +(14, 1406, 98), +(14, 1407, 69), +(14, 1408, 66), +(14, 1409, 84), +(14, 1410, 89), +(14, 1411, 80), +(14, 1412, 84), +(14, 1413, 72), +(14, 1414, 81), +(14, 1415, 77), +(14, 1416, 93), +(14, 1417, 94), +(14, 1418, 73), +(14, 1419, 86), +(14, 1420, 81), +(14, 1421, 83), +(14, 1422, 92), +(14, 1423, 83), +(14, 1424, 76), +(14, 1425, 91), +(14, 1426, 65), +(14, 1427, 87), +(14, 1428, 68), +(14, 1429, 99), +(14, 1430, 91), +(14, 1431, 79), +(14, 1432, 86), +(14, 1433, 80), +(14, 1434, 79), +(14, 1435, 68), +(14, 1436, 81), +(14, 1437, 67), +(14, 1438, 74), +(14, 1439, 97), +(14, 1440, 81), +(14, 1441, 99), +(14, 1442, 91), +(14, 1443, 89), +(14, 1444, 73), +(14, 1445, 82), +(14, 1446, 81), +(14, 1447, 74), +(14, 1448, 85), +(14, 1449, 67), +(14, 1450, 68), +(14, 1451, 68), +(14, 1452, 90), +(14, 1453, 66), +(14, 1454, 67), +(14, 1455, 85), +(14, 1456, 74), +(14, 1457, 75), +(14, 1458, 76), +(14, 1459, 75), +(14, 1460, 67), +(14, 1461, 74), +(14, 1462, 93), +(14, 1463, 90), +(14, 1464, 98), +(14, 1465, 67), +(14, 1466, 70), +(14, 1467, 94), +(14, 1468, 92), +(14, 1469, 85), +(14, 1470, 66), +(14, 1471, 80), +(14, 1472, 70), +(14, 1473, 76), +(14, 1474, 84), +(14, 1475, 92), +(14, 1476, 95), +(14, 1477, 85), +(14, 1478, 67), +(14, 1479, 81), +(14, 1480, 97), +(14, 1481, 77), +(14, 1482, 98), +(14, 1483, 83), +(14, 1484, 85), +(14, 1485, 94), +(14, 1486, 65), +(14, 1487, 78), +(14, 1488, 67), +(14, 1489, 99), +(14, 1490, 84), +(14, 1491, 81), +(14, 1492, 87), +(14, 1493, 69), +(14, 1494, 93), +(14, 1495, 79), +(14, 1496, 99), +(14, 1497, 94), +(14, 1498, 95), +(14, 1499, 96), +(14, 1500, 83), +(14, 1501, 90), +(14, 1502, 65), +(14, 1503, 81), +(14, 1504, 91), +(14, 1505, 72), +(14, 1506, 98), +(14, 1507, 99), +(14, 1508, 76), +(14, 1509, 97), +(14, 1510, 92), +(14, 1511, 75), +(14, 1512, 97), +(14, 1513, 65), +(14, 1514, 88), +(14, 1515, 84), +(14, 1516, 82), +(14, 1517, 80), +(14, 1518, 87), +(14, 1519, 85), +(14, 1520, 70), +(14, 1521, 75), +(14, 1522, 91), +(14, 1523, 99), +(14, 1524, 87), +(14, 1525, 93), +(14, 1526, 80), +(14, 1527, 66), +(14, 1528, 91), +(14, 1529, 68), +(14, 1530, 95), +(14, 1531, 83), +(14, 1532, 84), +(14, 1533, 94), +(14, 1534, 87), +(14, 1535, 84), +(14, 1536, 81), +(14, 1537, 73), +(14, 1538, 65), +(14, 1539, 69), +(14, 1540, 77), +(14, 1541, 83), +(14, 1542, 98), +(14, 1543, 77), +(14, 1544, 89), +(14, 1545, 82), +(14, 1546, 77), +(14, 1547, 97), +(14, 1548, 72), +(14, 1549, 72), +(14, 1550, 69), +(14, 1551, 80), +(14, 1552, 82), +(14, 1553, 79), +(14, 1554, 90), +(14, 1555, 75), +(14, 1556, 75), +(14, 1557, 90), +(14, 1558, 91), +(14, 1559, 94), +(14, 1560, 95), +(14, 1561, 74), +(14, 1562, 97), +(14, 1563, 77), +(14, 1564, 96), +(14, 1565, 70), +(14, 1566, 71), +(14, 1567, 94), +(14, 1568, 74), +(14, 1569, 85), +(14, 1570, 72), +(14, 1571, 78), +(14, 1572, 86), +(14, 1573, 83), +(14, 1574, 83), +(14, 1575, 80), +(14, 1576, 67), +(14, 1577, 73), +(14, 1578, 99), +(14, 1579, 99), +(14, 1580, 86), +(14, 1581, 76), +(14, 1582, 88), +(14, 1583, 89), +(14, 1584, 80), +(14, 1585, 77), +(14, 1586, 89), +(14, 1587, 65), +(14, 2047, 88), +(14, 2048, 82), +(14, 2049, 73), +(14, 2050, 67), +(14, 2051, 70), +(14, 2052, 70), +(14, 2053, 82), +(14, 2054, 73), +(14, 2055, 99), +(14, 2056, 72), +(14, 2057, 91), +(14, 2058, 86), +(14, 2059, 68), +(14, 2060, 75), +(14, 2061, 74), +(14, 2062, 71), +(14, 2063, 74), +(14, 2064, 88), +(14, 2065, 78), +(14, 2066, 67), +(14, 2067, 70), +(14, 2068, 96), +(14, 2069, 78), +(14, 2070, 92), +(14, 2071, 76), +(14, 2072, 66), +(14, 2073, 92), +(14, 2074, 92), +(14, 2075, 80), +(14, 2076, 68), +(14, 2077, 73), +(14, 2078, 94); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(14, 2079, 67), +(14, 2080, 65), +(14, 2081, 79), +(14, 2082, 77), +(14, 2083, 96), +(14, 2084, 78), +(14, 2085, 89), +(14, 2086, 88), +(14, 2087, 73), +(14, 2088, 96), +(14, 2089, 90), +(14, 2090, 93), +(14, 2091, 69), +(14, 2092, 96), +(14, 2093, 90), +(14, 2094, 96), +(14, 2095, 88), +(14, 2096, 96), +(14, 2097, 74), +(14, 2098, 90), +(14, 2099, 70), +(14, 2100, 84), +(14, 2101, 68), +(14, 2102, 74), +(14, 2103, 73), +(14, 2104, 83), +(14, 2105, 90), +(14, 2106, 87), +(14, 2107, 87), +(14, 2108, 70), +(14, 2109, 96), +(14, 2110, 93), +(14, 2111, 79), +(14, 2112, 65), +(14, 2113, 94), +(14, 2114, 92), +(14, 2115, 86), +(14, 2116, 67), +(14, 2117, 83), +(14, 2118, 80), +(14, 2119, 95), +(14, 2120, 82), +(14, 2121, 97), +(14, 2122, 89), +(14, 2123, 80), +(14, 2124, 95), +(14, 2125, 71), +(14, 2126, 84), +(14, 2127, 89), +(14, 2128, 67), +(14, 2129, 68), +(14, 2130, 97), +(14, 2131, 80), +(14, 2132, 86), +(14, 2133, 74), +(14, 2134, 68), +(14, 2135, 83), +(14, 2136, 91), +(14, 2137, 98), +(14, 2138, 72), +(14, 2139, 92), +(14, 2140, 82), +(14, 2141, 77), +(14, 2142, 79), +(14, 2143, 65), +(14, 2144, 98), +(14, 2145, 65), +(14, 2146, 88), +(14, 2147, 73), +(14, 2148, 70), +(14, 2149, 82), +(14, 2150, 79), +(14, 2151, 78), +(14, 2152, 70), +(14, 2153, 83), +(14, 2154, 76), +(14, 2155, 96), +(14, 2156, 82), +(14, 2157, 80), +(14, 2158, 68), +(14, 2159, 78), +(14, 2160, 88), +(14, 2161, 73), +(14, 2162, 74), +(14, 2163, 95), +(14, 2164, 74), +(14, 2165, 79), +(14, 2166, 92), +(14, 2167, 75), +(14, 2168, 83), +(14, 2169, 99), +(14, 2170, 83), +(14, 2171, 67), +(14, 2172, 77), +(14, 2173, 73), +(14, 2174, 93), +(14, 2175, 84), +(14, 2176, 97), +(14, 2177, 96), +(14, 2178, 89), +(14, 2179, 95), +(14, 2180, 83), +(14, 2181, 70), +(14, 2182, 81), +(14, 2183, 87), +(14, 2184, 78), +(14, 2185, 82), +(14, 2186, 83), +(14, 2187, 97), +(14, 2188, 72), +(14, 2189, 74), +(14, 2190, 68), +(14, 2191, 89), +(14, 2192, 77), +(14, 2193, 65), +(14, 2194, 73), +(14, 2195, 71), +(14, 2196, 90), +(14, 2197, 88), +(14, 2198, 67), +(14, 2199, 92), +(14, 2200, 88), +(14, 2201, 81), +(14, 2202, 81), +(14, 2203, 66), +(14, 2204, 91), +(14, 2205, 79), +(14, 2206, 97), +(14, 2207, 74), +(14, 2208, 93), +(14, 2209, 78), +(14, 2210, 99), +(14, 2211, 87), +(14, 2212, 83), +(14, 2213, 77), +(14, 2214, 72), +(14, 2215, 79), +(14, 2216, 88), +(14, 2217, 90), +(14, 2218, 72), +(14, 2219, 81), +(14, 2220, 82), +(14, 2221, 99), +(14, 2222, 82), +(14, 2223, 69), +(14, 2224, 83), +(14, 2225, 82), +(14, 2226, 95), +(14, 2227, 87), +(14, 2228, 76), +(14, 2229, 81), +(14, 2230, 72), +(14, 2231, 81), +(14, 2232, 83), +(14, 2233, 72), +(14, 2234, 75), +(14, 2235, 78), +(14, 2236, 68), +(14, 2237, 79), +(14, 2238, 77), +(14, 2239, 83), +(14, 2240, 72), +(14, 2241, 82), +(14, 2242, 93), +(14, 2243, 80), +(14, 2244, 86), +(14, 2245, 89), +(14, 2246, 73), +(14, 2247, 74), +(14, 2248, 73), +(14, 2249, 83), +(14, 2250, 69), +(14, 2251, 83), +(14, 2252, 92), +(14, 2253, 86), +(14, 2254, 67), +(14, 2255, 81), +(14, 2256, 68), +(14, 2257, 97), +(14, 2258, 72), +(14, 2259, 80), +(14, 2260, 85), +(14, 2261, 92), +(14, 2262, 89), +(14, 2263, 81), +(14, 2264, 86), +(14, 2265, 73), +(14, 2266, 89), +(14, 2267, 71), +(14, 2268, 75), +(14, 2269, 87), +(14, 2270, 74), +(14, 2271, 72), +(14, 2272, 85), +(14, 2273, 82), +(14, 2274, 95), +(14, 2275, 83), +(14, 2276, 65), +(14, 2277, 78), +(14, 2278, 94), +(14, 2279, 92), +(14, 2280, 71), +(14, 2281, 83), +(14, 2282, 87), +(14, 2283, 92), +(14, 2284, 95), +(14, 2285, 74), +(14, 2286, 82), +(14, 2287, 98), +(14, 2288, 84), +(14, 2289, 66), +(14, 2290, 87), +(14, 2291, 87), +(14, 2292, 68), +(14, 2293, 93), +(14, 2294, 72), +(14, 2295, 68), +(14, 2296, 87), +(14, 2297, 98), +(14, 2298, 67), +(14, 2299, 96), +(14, 2300, 95), +(14, 2301, 83), +(14, 2302, 90), +(14, 2303, 72), +(14, 2304, 92), +(14, 2305, 87), +(14, 2306, 89), +(14, 2307, 75), +(14, 2308, 65), +(14, 2309, 78), +(14, 2310, 95), +(14, 2311, 65), +(14, 2312, 99), +(14, 2313, 81), +(14, 2314, 98), +(14, 2315, 94), +(14, 2316, 73), +(14, 2317, 74), +(14, 2318, 71), +(14, 2319, 81), +(14, 2320, 89), +(14, 2321, 92), +(14, 2322, 72), +(14, 2323, 85), +(14, 2324, 93), +(14, 2325, 74), +(14, 2326, 97), +(14, 2327, 93), +(14, 2328, 78), +(14, 2329, 72), +(14, 2330, 93), +(14, 2331, 89), +(14, 2332, 75), +(14, 2333, 70), +(14, 2334, 78), +(14, 2335, 98), +(14, 2336, 77), +(14, 2337, 98), +(14, 2338, 69), +(14, 2339, 84), +(14, 2340, 71), +(14, 2341, 90), +(14, 2342, 87), +(14, 2343, 85), +(14, 2344, 76), +(14, 2345, 76), +(14, 2346, 66), +(14, 2347, 76), +(14, 2348, 92), +(14, 2349, 77), +(14, 2350, 76), +(14, 2351, 86), +(14, 2352, 71), +(14, 2353, 89), +(14, 2354, 68), +(14, 2355, 71), +(14, 2356, 69), +(14, 2357, 91), +(14, 2358, 73), +(14, 2359, 97), +(14, 2360, 87), +(14, 2361, 76), +(14, 2362, 70), +(14, 2363, 79), +(14, 2364, 69), +(14, 2365, 74), +(14, 2366, 67), +(14, 2367, 94), +(14, 2368, 84), +(14, 2369, 89), +(14, 2370, 89), +(14, 2371, 92), +(14, 2372, 65), +(14, 2373, 67), +(14, 2374, 71), +(14, 2375, 78), +(14, 2376, 87), +(14, 2377, 68), +(14, 2378, 84), +(14, 2379, 70), +(14, 2380, 92), +(14, 2381, 95), +(14, 2382, 79), +(14, 2383, 74), +(14, 2384, 68), +(14, 2385, 97), +(14, 2386, 70), +(14, 2387, 77), +(14, 2388, 65), +(14, 2389, 82), +(14, 2390, 65), +(14, 2391, 81), +(14, 2392, 95), +(14, 2393, 92), +(14, 2394, 77), +(14, 2395, 70), +(14, 2396, 88), +(14, 2397, 65), +(14, 2398, 99), +(14, 2399, 67), +(14, 2400, 97), +(14, 2401, 70), +(14, 2402, 70), +(14, 2403, 97), +(14, 2404, 65), +(14, 2405, 71), +(14, 2406, 74), +(14, 2407, 67), +(14, 2408, 82), +(14, 2409, 98), +(14, 2410, 76), +(14, 2411, 68), +(14, 2412, 74), +(14, 2413, 70), +(14, 2414, 67), +(14, 2415, 76), +(14, 2416, 94), +(14, 2417, 86), +(14, 2418, 97), +(14, 2419, 85), +(14, 2420, 66), +(14, 2421, 73), +(14, 2422, 90), +(14, 2423, 92), +(14, 2424, 95), +(14, 2425, 73), +(14, 2426, 72), +(14, 2427, 69), +(14, 2428, 84), +(14, 2429, 88), +(14, 2430, 75), +(14, 2431, 88), +(14, 2432, 83), +(14, 2433, 98), +(14, 2434, 66), +(14, 2435, 81), +(14, 2436, 78), +(14, 2437, 89), +(14, 2438, 91), +(14, 2439, 92), +(14, 2440, 71), +(14, 2441, 65), +(14, 2442, 76), +(14, 2443, 65), +(14, 2444, 74), +(14, 2445, 89), +(14, 2446, 93), +(14, 2447, 65), +(14, 2448, 69), +(14, 2449, 81), +(14, 2450, 80), +(14, 2451, 73), +(14, 2452, 69), +(14, 2453, 75), +(14, 2454, 74), +(14, 2455, 90), +(14, 2456, 98), +(14, 2457, 70), +(14, 2458, 78), +(14, 2459, 71), +(14, 2460, 98), +(14, 2461, 83), +(14, 2462, 69), +(14, 2463, 83), +(14, 2464, 74), +(14, 2465, 87), +(14, 2466, 66), +(14, 2467, 86), +(14, 2468, 82), +(14, 2469, 70), +(14, 2470, 83), +(14, 2471, 87), +(14, 2472, 70), +(14, 2473, 88), +(14, 2474, 76), +(14, 2475, 95), +(14, 2476, 79), +(14, 2477, 95), +(14, 2478, 93), +(14, 2479, 95), +(14, 2480, 83), +(14, 2481, 78), +(14, 2482, 79), +(14, 2483, 81), +(14, 2484, 93), +(14, 2485, 87), +(14, 2486, 81), +(14, 2487, 89), +(14, 2488, 87), +(14, 2489, 89), +(14, 2490, 80), +(14, 2491, 91), +(14, 2492, 77), +(14, 2493, 74), +(14, 2494, 65), +(14, 2495, 90), +(14, 2496, 70), +(14, 2497, 84), +(14, 2498, 67), +(14, 2499, 89), +(14, 2500, 76), +(14, 2501, 78), +(14, 2502, 83), +(14, 2503, 66), +(14, 2504, 65), +(14, 2505, 65), +(14, 2506, 73), +(14, 2507, 93), +(14, 2508, 84), +(14, 2509, 88), +(14, 2510, 89), +(14, 2511, 74), +(14, 2512, 98), +(14, 2513, 87), +(14, 2514, 75), +(14, 2515, 81), +(14, 2516, 87), +(14, 2517, 75), +(14, 2518, 98), +(14, 2519, 83), +(14, 2520, 97), +(14, 2521, 92), +(14, 2522, 98), +(14, 2523, 86), +(14, 2524, 68), +(14, 2525, 65), +(14, 2526, 95), +(14, 2527, 72), +(14, 2528, 83), +(14, 2529, 90), +(14, 2530, 81), +(14, 2531, 78), +(14, 2532, 79), +(14, 2533, 80), +(14, 2534, 67), +(14, 2535, 80), +(14, 2536, 78), +(14, 2537, 69), +(14, 2538, 87), +(14, 2539, 91), +(14, 2540, 90), +(14, 2541, 87), +(14, 2542, 80), +(14, 2543, 82), +(14, 2544, 85), +(14, 2545, 93), +(14, 2546, 98), +(14, 2547, 77), +(14, 2548, 79), +(14, 2549, 83), +(14, 2550, 89), +(14, 2551, 83), +(14, 2552, 94), +(14, 2553, 99), +(14, 2554, 87), +(14, 2555, 98), +(14, 2556, 86), +(14, 2557, 94), +(14, 2558, 70), +(14, 2559, 71), +(14, 2560, 74), +(14, 2561, 81), +(14, 2562, 77), +(14, 2563, 80), +(14, 2564, 95), +(14, 2565, 92), +(14, 2566, 92), +(14, 2567, 68), +(14, 2568, 74), +(14, 2569, 83), +(14, 2570, 83), +(14, 2571, 93), +(14, 2572, 75), +(14, 2573, 71), +(14, 2574, 87), +(14, 2575, 65), +(14, 2576, 97), +(14, 2577, 97), +(14, 2578, 76), +(14, 2579, 83), +(14, 2580, 96), +(14, 2581, 99), +(14, 2582, 71), +(14, 2583, 70), +(14, 2584, 91), +(14, 2585, 76), +(14, 2586, 65), +(14, 2587, 91), +(14, 2588, 87), +(14, 2589, 76), +(14, 2590, 98), +(14, 2591, 99), +(14, 2592, 66), +(14, 2593, 82), +(14, 2594, 80), +(14, 2595, 83), +(14, 2596, 86), +(14, 2597, 67), +(14, 2598, 98), +(14, 2599, 97), +(14, 2600, 96), +(14, 2601, 89), +(14, 2602, 86), +(14, 2603, 90), +(14, 2604, 79), +(14, 2605, 81), +(14, 2606, 92), +(14, 2607, 88), +(14, 2608, 90), +(14, 2609, 88), +(14, 2610, 72), +(15, 1, 90), +(15, 2, 70), +(15, 3, 99), +(15, 4, 81), +(15, 5, 89), +(15, 6, 84), +(15, 7, 77), +(15, 8, 77), +(15, 9, 92), +(15, 10, 80), +(15, 11, 86), +(15, 12, 90), +(15, 13, 99), +(15, 14, 80), +(15, 15, 71), +(15, 16, 93), +(15, 17, 88), +(15, 18, 74), +(15, 19, 96), +(15, 20, 92), +(15, 21, 93), +(15, 22, 74), +(15, 23, 82), +(15, 24, 81), +(15, 25, 99), +(15, 26, 67), +(15, 27, 75), +(15, 28, 85), +(15, 29, 89), +(15, 30, 80), +(15, 31, 91), +(15, 32, 94), +(15, 33, 71), +(15, 34, 84), +(15, 35, 97), +(15, 36, 81), +(15, 37, 92), +(15, 38, 89), +(15, 39, 79), +(15, 40, 66), +(15, 41, 79), +(15, 42, 72), +(15, 43, 72), +(15, 44, 81), +(15, 45, 72), +(15, 46, 66), +(15, 47, 85), +(15, 48, 71), +(15, 49, 98), +(15, 50, 97), +(15, 51, 83), +(15, 52, 85), +(15, 53, 88), +(15, 54, 79), +(15, 55, 90), +(15, 56, 76), +(15, 57, 72), +(15, 58, 76), +(15, 59, 78), +(15, 60, 82), +(15, 61, 75), +(15, 62, 82), +(15, 63, 83), +(15, 64, 96), +(15, 65, 71), +(15, 66, 77), +(15, 67, 70), +(15, 68, 84), +(15, 69, 66), +(15, 70, 81), +(15, 71, 70), +(15, 72, 95), +(15, 73, 94), +(15, 74, 77), +(15, 75, 68), +(15, 76, 96), +(15, 77, 91), +(15, 78, 87), +(15, 79, 66), +(15, 80, 82), +(15, 81, 71), +(15, 82, 88), +(15, 83, 81), +(15, 84, 71), +(15, 85, 80), +(15, 86, 84), +(15, 87, 92), +(15, 88, 90), +(15, 89, 79), +(15, 90, 69), +(15, 91, 67), +(15, 92, 74), +(15, 93, 70), +(15, 94, 94), +(15, 95, 89), +(15, 96, 68), +(15, 97, 75), +(15, 98, 85), +(15, 99, 79), +(15, 100, 88), +(15, 101, 95), +(15, 102, 69), +(15, 103, 79), +(15, 104, 88), +(15, 105, 85), +(15, 106, 65), +(15, 107, 71), +(15, 108, 82), +(15, 109, 65), +(15, 110, 72), +(15, 111, 87), +(15, 112, 92), +(15, 113, 97), +(15, 114, 75), +(15, 115, 79), +(15, 116, 90), +(15, 117, 83), +(15, 118, 80), +(15, 119, 68), +(15, 120, 87), +(15, 121, 70), +(15, 122, 90), +(15, 123, 85), +(15, 124, 71), +(15, 125, 72), +(15, 126, 67), +(15, 127, 71), +(15, 128, 91), +(15, 129, 90), +(15, 130, 69), +(15, 131, 79), +(15, 132, 66), +(15, 133, 79), +(15, 134, 87), +(15, 135, 96), +(15, 136, 97), +(15, 137, 80), +(15, 138, 98), +(15, 139, 75), +(15, 140, 93), +(15, 141, 65), +(15, 142, 93), +(15, 143, 82), +(15, 144, 80), +(15, 145, 83), +(15, 146, 76), +(15, 147, 89), +(15, 148, 97), +(15, 149, 90), +(15, 150, 89), +(15, 151, 70), +(15, 152, 96), +(15, 153, 84), +(15, 154, 94), +(15, 155, 77), +(15, 156, 71), +(15, 157, 93), +(15, 158, 95), +(15, 159, 78), +(15, 160, 73), +(15, 161, 70), +(15, 162, 65), +(15, 163, 97), +(15, 164, 95), +(15, 165, 99), +(15, 166, 67), +(15, 167, 72), +(15, 168, 83), +(15, 169, 73), +(15, 170, 82), +(15, 171, 80), +(15, 172, 82), +(15, 173, 73), +(15, 174, 74), +(15, 175, 87), +(15, 176, 76), +(15, 177, 70), +(15, 178, 98), +(15, 179, 76), +(15, 180, 99), +(15, 181, 73), +(15, 182, 82), +(15, 183, 67), +(15, 184, 78), +(15, 185, 72), +(15, 186, 81), +(15, 187, 85), +(15, 188, 99), +(15, 189, 96), +(15, 190, 71), +(15, 191, 83), +(15, 192, 84), +(15, 193, 70), +(15, 194, 88), +(15, 195, 65), +(15, 196, 68), +(15, 197, 69), +(15, 198, 81), +(15, 199, 77), +(15, 200, 78), +(15, 201, 90), +(15, 202, 85), +(15, 203, 66), +(15, 204, 89), +(15, 205, 79), +(15, 206, 69), +(15, 207, 89), +(15, 208, 67), +(15, 209, 86), +(15, 210, 96), +(15, 211, 88), +(15, 212, 80), +(15, 213, 94), +(15, 214, 94), +(15, 215, 68), +(15, 216, 77), +(15, 217, 98), +(15, 218, 97), +(15, 219, 88), +(15, 220, 67), +(15, 221, 68), +(15, 222, 71), +(15, 223, 84), +(15, 224, 75), +(15, 225, 86), +(15, 226, 69), +(15, 227, 86), +(15, 228, 74), +(15, 229, 92), +(15, 230, 66), +(15, 231, 85), +(15, 232, 79), +(15, 233, 91), +(15, 234, 95), +(15, 235, 96), +(15, 236, 65), +(15, 237, 87), +(15, 238, 72), +(15, 239, 91), +(15, 240, 98), +(15, 241, 86), +(15, 242, 72), +(15, 243, 70), +(15, 244, 74), +(15, 245, 66), +(15, 246, 83), +(15, 247, 83), +(15, 248, 71), +(15, 249, 77), +(15, 250, 76), +(15, 251, 91), +(15, 252, 74), +(15, 253, 92), +(15, 254, 78), +(15, 255, 74), +(15, 256, 69), +(15, 257, 66), +(15, 258, 86), +(15, 259, 75), +(15, 260, 87), +(15, 261, 84), +(15, 262, 67), +(15, 263, 96), +(15, 264, 67), +(15, 265, 91), +(15, 266, 69), +(15, 267, 89), +(15, 268, 98), +(15, 269, 74), +(15, 270, 83), +(15, 271, 87), +(15, 272, 68), +(15, 273, 82), +(15, 274, 78), +(15, 275, 79), +(15, 276, 89), +(15, 277, 92), +(15, 278, 89), +(15, 279, 98), +(15, 280, 66), +(15, 281, 79), +(15, 282, 92), +(15, 283, 73), +(15, 284, 89), +(15, 285, 65), +(15, 286, 77), +(15, 287, 91), +(15, 288, 71), +(15, 289, 71), +(15, 290, 97), +(15, 291, 74), +(15, 292, 96), +(15, 293, 99), +(15, 294, 95), +(15, 295, 70), +(15, 296, 81), +(15, 297, 90), +(15, 298, 90), +(15, 299, 95), +(15, 300, 91), +(15, 301, 93), +(15, 302, 75), +(15, 303, 67), +(15, 304, 89), +(15, 305, 88), +(15, 306, 80), +(15, 307, 76), +(15, 308, 99), +(15, 309, 95), +(15, 310, 91), +(15, 311, 80), +(15, 312, 95), +(15, 313, 91), +(15, 314, 90), +(15, 315, 66), +(15, 316, 76), +(15, 317, 77), +(15, 318, 87), +(15, 319, 95), +(15, 320, 74), +(15, 321, 94), +(15, 322, 90), +(15, 323, 88), +(15, 324, 67), +(15, 325, 67), +(15, 326, 89), +(15, 327, 94), +(15, 328, 75), +(15, 329, 66), +(15, 330, 97), +(15, 331, 87), +(15, 332, 75), +(15, 333, 69), +(15, 334, 92), +(15, 335, 92), +(15, 336, 99), +(15, 337, 74), +(15, 338, 87), +(15, 339, 88), +(15, 340, 83), +(15, 341, 91), +(15, 342, 78), +(15, 343, 72), +(15, 344, 68), +(15, 345, 90), +(15, 346, 68), +(15, 347, 81), +(15, 348, 90), +(15, 349, 87), +(15, 350, 72), +(15, 351, 99), +(15, 352, 86), +(15, 353, 96), +(15, 354, 96), +(15, 355, 81), +(15, 356, 72), +(15, 357, 96), +(15, 358, 78), +(15, 359, 87), +(15, 360, 97), +(15, 361, 74), +(15, 362, 86), +(15, 363, 71), +(15, 364, 69), +(15, 365, 71), +(15, 366, 88), +(15, 367, 77), +(15, 368, 72), +(15, 369, 68), +(15, 370, 97), +(15, 371, 93), +(15, 372, 66), +(15, 373, 87), +(15, 374, 72), +(15, 375, 76), +(15, 376, 83), +(15, 377, 87), +(15, 378, 92), +(15, 379, 93), +(15, 380, 80), +(15, 381, 99), +(15, 382, 65), +(15, 383, 89), +(15, 384, 94), +(15, 385, 68), +(15, 386, 96), +(15, 387, 85), +(15, 388, 96), +(15, 389, 93), +(15, 390, 97), +(15, 391, 92), +(15, 392, 80), +(15, 393, 83), +(15, 394, 79), +(15, 395, 66), +(15, 396, 90), +(15, 397, 65), +(15, 398, 99), +(15, 399, 85), +(15, 400, 92), +(15, 401, 75), +(15, 402, 66), +(15, 403, 70), +(15, 404, 86), +(15, 405, 96), +(15, 406, 72), +(15, 407, 81), +(15, 408, 66), +(15, 409, 72), +(15, 410, 91), +(15, 411, 69), +(15, 412, 97), +(15, 413, 88), +(15, 414, 65), +(15, 415, 79), +(15, 416, 78), +(15, 417, 77), +(15, 418, 96), +(15, 419, 99), +(15, 420, 85), +(15, 421, 94), +(15, 422, 71), +(15, 423, 73), +(15, 424, 84), +(15, 425, 66), +(15, 426, 94), +(15, 427, 76), +(15, 428, 98), +(15, 429, 96), +(15, 430, 87), +(15, 431, 97), +(15, 432, 80), +(15, 433, 68), +(15, 434, 75), +(15, 435, 83), +(15, 436, 67), +(15, 437, 94), +(15, 438, 70), +(15, 439, 73), +(15, 440, 67), +(15, 441, 93), +(15, 442, 97), +(15, 443, 86), +(15, 444, 90), +(15, 445, 71), +(15, 446, 91), +(15, 447, 74), +(15, 448, 67), +(15, 449, 79), +(15, 450, 77), +(15, 451, 72), +(15, 452, 67), +(15, 453, 85), +(15, 454, 93), +(15, 455, 94), +(15, 456, 73), +(15, 457, 87), +(15, 458, 74), +(15, 459, 69), +(15, 460, 84), +(15, 461, 98), +(15, 462, 93), +(15, 463, 95), +(15, 464, 72), +(15, 465, 69), +(15, 466, 74), +(15, 467, 80), +(15, 468, 71), +(15, 469, 69), +(15, 470, 72), +(15, 471, 96), +(15, 472, 66), +(15, 473, 70), +(15, 474, 79), +(15, 475, 90), +(15, 476, 75), +(15, 477, 88), +(15, 478, 94), +(15, 479, 76), +(15, 480, 91), +(15, 481, 80), +(15, 482, 75), +(15, 483, 87), +(15, 484, 92), +(15, 485, 90), +(15, 486, 98), +(15, 487, 72), +(15, 488, 92), +(15, 489, 71), +(15, 490, 68), +(15, 491, 91), +(15, 492, 72), +(15, 493, 93), +(15, 494, 68), +(15, 495, 65), +(15, 496, 83), +(15, 497, 85), +(15, 498, 86), +(15, 499, 75), +(15, 500, 84), +(15, 501, 86), +(15, 502, 77), +(15, 503, 87), +(15, 504, 87), +(15, 505, 74), +(15, 506, 91), +(15, 507, 98), +(15, 508, 92), +(15, 509, 96), +(15, 510, 82), +(15, 511, 69), +(15, 512, 79), +(15, 513, 88), +(15, 514, 91), +(15, 515, 84), +(15, 516, 87), +(15, 517, 86), +(15, 518, 80), +(15, 519, 84), +(15, 520, 87), +(15, 521, 84), +(15, 522, 70), +(15, 523, 68), +(15, 524, 93), +(15, 525, 89), +(15, 526, 93), +(15, 527, 69), +(15, 528, 66), +(15, 529, 83), +(15, 530, 97), +(15, 531, 88), +(15, 532, 78), +(15, 533, 96), +(15, 534, 71), +(15, 535, 65), +(15, 536, 99), +(15, 537, 90), +(15, 538, 80), +(15, 539, 75), +(15, 540, 82), +(15, 541, 96), +(15, 542, 67), +(15, 543, 96), +(15, 544, 96), +(15, 545, 91), +(15, 546, 93), +(15, 547, 75), +(15, 548, 94), +(15, 549, 66), +(15, 550, 95), +(15, 551, 85), +(15, 552, 96), +(15, 553, 71), +(15, 554, 67), +(15, 555, 78), +(15, 556, 84), +(15, 557, 90), +(15, 558, 90), +(15, 559, 65), +(15, 560, 75), +(15, 561, 69), +(15, 562, 75), +(15, 563, 68), +(15, 564, 67), +(15, 1024, 81), +(15, 1025, 93), +(15, 1026, 65), +(15, 1027, 79), +(15, 1028, 75), +(15, 1029, 73), +(15, 1030, 79), +(15, 1031, 77), +(15, 1032, 72), +(15, 1033, 80), +(15, 1034, 91), +(15, 1035, 89), +(15, 1036, 88), +(15, 1037, 87), +(15, 1038, 80), +(15, 1039, 70), +(15, 1040, 95), +(15, 1041, 96), +(15, 1042, 74), +(15, 1043, 76), +(15, 1044, 88), +(15, 1045, 87), +(15, 1046, 81), +(15, 1047, 82), +(15, 1048, 96), +(15, 1049, 96), +(15, 1050, 90), +(15, 1051, 75), +(15, 1052, 77), +(15, 1053, 87), +(15, 1054, 99), +(15, 1055, 95), +(15, 1056, 68), +(15, 1057, 66), +(15, 1058, 77), +(15, 1059, 89), +(15, 1060, 84), +(15, 1061, 75), +(15, 1062, 68), +(15, 1063, 74), +(15, 1064, 72), +(15, 1065, 87), +(15, 1066, 95), +(15, 1067, 79), +(15, 1068, 91), +(15, 1069, 89), +(15, 1070, 75), +(15, 1071, 82), +(15, 1072, 78), +(15, 1073, 66), +(15, 1074, 84), +(15, 1075, 95), +(15, 1076, 75), +(15, 1077, 88), +(15, 1078, 74), +(15, 1079, 69), +(15, 1080, 86), +(15, 1081, 69), +(15, 1082, 98), +(15, 1083, 95), +(15, 1084, 86), +(15, 1085, 88), +(15, 1086, 95), +(15, 1087, 98), +(15, 1088, 90), +(15, 1089, 71), +(15, 1090, 96), +(15, 1091, 74), +(15, 1092, 91), +(15, 1093, 86), +(15, 1094, 76), +(15, 1095, 96), +(15, 1096, 69), +(15, 1097, 99), +(15, 1098, 90), +(15, 1099, 81), +(15, 1100, 65), +(15, 1101, 69), +(15, 1102, 98), +(15, 1103, 77), +(15, 1104, 93), +(15, 1105, 95), +(15, 1106, 95), +(15, 1107, 80), +(15, 1108, 95), +(15, 1109, 98), +(15, 1110, 75), +(15, 1111, 67), +(15, 1112, 86), +(15, 1113, 77), +(15, 1114, 80), +(15, 1115, 94), +(15, 1116, 75), +(15, 1117, 66), +(15, 1118, 88), +(15, 1119, 79), +(15, 1120, 93), +(15, 1121, 94), +(15, 1122, 83), +(15, 1123, 87), +(15, 1124, 75), +(15, 1125, 99), +(15, 1126, 98), +(15, 1127, 75), +(15, 1128, 73), +(15, 1129, 78), +(15, 1130, 65), +(15, 1131, 80), +(15, 1132, 84), +(15, 1133, 91), +(15, 1134, 98), +(15, 1135, 87), +(15, 1136, 68), +(15, 1137, 84), +(15, 1138, 71), +(15, 1139, 92), +(15, 1140, 83), +(15, 1141, 68), +(15, 1142, 82), +(15, 1143, 82), +(15, 1144, 92), +(15, 1145, 87), +(15, 1146, 77), +(15, 1147, 90), +(15, 1148, 70), +(15, 1149, 75), +(15, 1150, 76), +(15, 1151, 82), +(15, 1152, 80), +(15, 1153, 74), +(15, 1154, 79), +(15, 1155, 84), +(15, 1156, 98), +(15, 1157, 82), +(15, 1158, 72), +(15, 1159, 83), +(15, 1160, 81), +(15, 1161, 78), +(15, 1162, 65), +(15, 1163, 98), +(15, 1164, 96), +(15, 1165, 78), +(15, 1166, 97), +(15, 1167, 93), +(15, 1168, 66), +(15, 1169, 65), +(15, 1170, 75), +(15, 1171, 90), +(15, 1172, 82), +(15, 1173, 84), +(15, 1174, 81), +(15, 1175, 94), +(15, 1176, 66), +(15, 1177, 88), +(15, 1178, 97), +(15, 1179, 89), +(15, 1180, 95), +(15, 1181, 95), +(15, 1182, 83), +(15, 1183, 72), +(15, 1184, 86), +(15, 1185, 72), +(15, 1186, 67), +(15, 1187, 91), +(15, 1188, 85), +(15, 1189, 73), +(15, 1190, 73), +(15, 1191, 74), +(15, 1192, 86), +(15, 1193, 85), +(15, 1194, 97), +(15, 1195, 69), +(15, 1196, 95), +(15, 1197, 65), +(15, 1198, 84), +(15, 1199, 87), +(15, 1200, 69), +(15, 1201, 75), +(15, 1202, 81), +(15, 1203, 83), +(15, 1204, 74), +(15, 1205, 70), +(15, 1206, 72), +(15, 1207, 77), +(15, 1208, 66), +(15, 1209, 92), +(15, 1210, 71), +(15, 1211, 72), +(15, 1212, 65), +(15, 1213, 85), +(15, 1214, 79), +(15, 1215, 95), +(15, 1216, 88), +(15, 1217, 65), +(15, 1218, 67), +(15, 1219, 71), +(15, 1220, 67), +(15, 1221, 71), +(15, 1222, 94), +(15, 1223, 74), +(15, 1224, 92), +(15, 1225, 98), +(15, 1226, 97), +(15, 1227, 99), +(15, 1228, 90), +(15, 1229, 72), +(15, 1230, 84), +(15, 1231, 69), +(15, 1232, 71), +(15, 1233, 78), +(15, 1234, 75), +(15, 1235, 83), +(15, 1236, 73), +(15, 1237, 91), +(15, 1238, 87), +(15, 1239, 70), +(15, 1240, 91), +(15, 1241, 92), +(15, 1242, 99), +(15, 1243, 96), +(15, 1244, 83), +(15, 1245, 91), +(15, 1246, 97), +(15, 1247, 94), +(15, 1248, 66), +(15, 1249, 92), +(15, 1250, 79), +(15, 1251, 91), +(15, 1252, 76), +(15, 1253, 82), +(15, 1254, 86), +(15, 1255, 90), +(15, 1256, 73), +(15, 1257, 80), +(15, 1258, 67), +(15, 1259, 69), +(15, 1260, 82), +(15, 1261, 89), +(15, 1262, 82), +(15, 1263, 73), +(15, 1264, 89), +(15, 1265, 75), +(15, 1266, 91), +(15, 1267, 88), +(15, 1268, 72), +(15, 1269, 96), +(15, 1270, 98), +(15, 1271, 93), +(15, 1272, 99), +(15, 1273, 81), +(15, 1274, 68), +(15, 1275, 95), +(15, 1276, 88), +(15, 1277, 75), +(15, 1278, 94), +(15, 1279, 87), +(15, 1280, 72), +(15, 1281, 85), +(15, 1282, 99), +(15, 1283, 97), +(15, 1284, 93), +(15, 1285, 92), +(15, 1286, 72), +(15, 1287, 80), +(15, 1288, 89), +(15, 1289, 94), +(15, 1290, 82), +(15, 1291, 66), +(15, 1292, 90), +(15, 1293, 71), +(15, 1294, 91), +(15, 1295, 84), +(15, 1296, 65), +(15, 1297, 75), +(15, 1298, 97), +(15, 1299, 80), +(15, 1300, 84), +(15, 1301, 89), +(15, 1302, 92), +(15, 1303, 90), +(15, 1304, 91), +(15, 1305, 74), +(15, 1306, 89), +(15, 1307, 95), +(15, 1308, 99), +(15, 1309, 69), +(15, 1310, 96), +(15, 1311, 73), +(15, 1312, 86), +(15, 1313, 92), +(15, 1314, 96), +(15, 1315, 97), +(15, 1316, 96), +(15, 1317, 73), +(15, 1318, 75), +(15, 1319, 77), +(15, 1320, 90), +(15, 1321, 95), +(15, 1322, 77), +(15, 1323, 72), +(15, 1324, 74), +(15, 1325, 79), +(15, 1326, 77), +(15, 1327, 92), +(15, 1328, 96), +(15, 1329, 97), +(15, 1330, 77), +(15, 1331, 96), +(15, 1332, 98), +(15, 1333, 82), +(15, 1334, 92), +(15, 1335, 75), +(15, 1336, 91), +(15, 1337, 78), +(15, 1338, 87), +(15, 1339, 94), +(15, 1340, 98), +(15, 1341, 72), +(15, 1342, 88), +(15, 1343, 82), +(15, 1344, 69), +(15, 1345, 65), +(15, 1346, 69), +(15, 1347, 73), +(15, 1348, 87), +(15, 1349, 92), +(15, 1350, 95), +(15, 1351, 95), +(15, 1352, 69), +(15, 1353, 88), +(15, 1354, 69), +(15, 1355, 65), +(15, 1356, 74), +(15, 1357, 69), +(15, 1358, 95), +(15, 1359, 69), +(15, 1360, 82), +(15, 1361, 71), +(15, 1362, 73), +(15, 1363, 68), +(15, 1364, 68), +(15, 1365, 93), +(15, 1366, 74), +(15, 1367, 95), +(15, 1368, 83), +(15, 1369, 66), +(15, 1370, 86), +(15, 1371, 81), +(15, 1372, 92), +(15, 1373, 97), +(15, 1374, 69), +(15, 1375, 94), +(15, 1376, 85), +(15, 1377, 68), +(15, 1378, 92), +(15, 1379, 65), +(15, 1380, 78), +(15, 1381, 85), +(15, 1382, 98), +(15, 1383, 70), +(15, 1384, 89), +(15, 1385, 84), +(15, 1386, 76), +(15, 1387, 93), +(15, 1388, 74), +(15, 1389, 80), +(15, 1390, 90), +(15, 1391, 82), +(15, 1392, 98), +(15, 1393, 98), +(15, 1394, 79), +(15, 1395, 70), +(15, 1396, 71), +(15, 1397, 66), +(15, 1398, 86), +(15, 1399, 67), +(15, 1400, 67), +(15, 1401, 99), +(15, 1402, 93), +(15, 1403, 75), +(15, 1404, 71), +(15, 1405, 88), +(15, 1406, 93), +(15, 1407, 85), +(15, 1408, 83), +(15, 1409, 67), +(15, 1410, 85), +(15, 1411, 89), +(15, 1412, 92), +(15, 1413, 78), +(15, 1414, 69), +(15, 1415, 87), +(15, 1416, 70), +(15, 1417, 91), +(15, 1418, 77), +(15, 1419, 94), +(15, 1420, 73), +(15, 1421, 83), +(15, 1422, 85), +(15, 1423, 88), +(15, 1424, 95), +(15, 1425, 78), +(15, 1426, 83), +(15, 1427, 92), +(15, 1428, 79), +(15, 1429, 68), +(15, 1430, 81), +(15, 1431, 82), +(15, 1432, 73), +(15, 1433, 73), +(15, 1434, 68), +(15, 1435, 91), +(15, 1436, 66), +(15, 1437, 89), +(15, 1438, 82), +(15, 1439, 93), +(15, 1440, 87), +(15, 1441, 75), +(15, 1442, 92), +(15, 1443, 96), +(15, 1444, 70), +(15, 1445, 94), +(15, 1446, 82), +(15, 1447, 82), +(15, 1448, 66), +(15, 1449, 74), +(15, 1450, 90), +(15, 1451, 89), +(15, 1452, 66), +(15, 1453, 78), +(15, 1454, 72), +(15, 1455, 90), +(15, 1456, 72), +(15, 1457, 87), +(15, 1458, 73), +(15, 1459, 78), +(15, 1460, 83), +(15, 1461, 90), +(15, 1462, 69), +(15, 1463, 87), +(15, 1464, 68), +(15, 1465, 82), +(15, 1466, 84), +(15, 1467, 71), +(15, 1468, 90), +(15, 1469, 66), +(15, 1470, 88), +(15, 1471, 75), +(15, 1472, 93), +(15, 1473, 78), +(15, 1474, 92), +(15, 1475, 65), +(15, 1476, 86), +(15, 1477, 83), +(15, 1478, 66), +(15, 1479, 97), +(15, 1480, 87), +(15, 1481, 93), +(15, 1482, 66), +(15, 1483, 79), +(15, 1484, 65), +(15, 1485, 93), +(15, 1486, 86), +(15, 1487, 73), +(15, 1488, 76), +(15, 1489, 65), +(15, 1490, 91), +(15, 1491, 71), +(15, 1492, 85), +(15, 1493, 78), +(15, 1494, 67), +(15, 1495, 69), +(15, 1496, 80), +(15, 1497, 72), +(15, 1498, 83), +(15, 1499, 91), +(15, 1500, 76), +(15, 1501, 81), +(15, 1502, 69), +(15, 1503, 97), +(15, 1504, 65), +(15, 1505, 77), +(15, 1506, 91), +(15, 1507, 96), +(15, 1508, 98), +(15, 1509, 84), +(15, 1510, 68), +(15, 1511, 70), +(15, 1512, 83), +(15, 1513, 78), +(15, 1514, 87), +(15, 1515, 92), +(15, 1516, 82), +(15, 1517, 83), +(15, 1518, 94), +(15, 1519, 75), +(15, 1520, 91), +(15, 1521, 85), +(15, 1522, 86), +(15, 1523, 87), +(15, 1524, 97), +(15, 1525, 67), +(15, 1526, 93), +(15, 1527, 67), +(15, 1528, 66), +(15, 1529, 79), +(15, 1530, 66), +(15, 1531, 83), +(15, 1532, 96), +(15, 1533, 66), +(15, 1534, 97), +(15, 1535, 99), +(15, 1536, 95), +(15, 1537, 66), +(15, 1538, 88), +(15, 1539, 90), +(15, 1540, 95), +(15, 1541, 72), +(15, 1542, 84), +(15, 1543, 83), +(15, 1544, 70), +(15, 1545, 68), +(15, 1546, 85), +(15, 1547, 69), +(15, 1548, 73), +(15, 1549, 96), +(15, 1550, 77), +(15, 1551, 87), +(15, 1552, 90), +(15, 1553, 66), +(15, 1554, 86), +(15, 1555, 80), +(15, 1556, 85), +(15, 1557, 70), +(15, 1558, 99), +(15, 1559, 99), +(15, 1560, 88), +(15, 1561, 90), +(15, 1562, 81), +(15, 1563, 66), +(15, 1564, 75), +(15, 1565, 89), +(15, 1566, 85), +(15, 1567, 70), +(15, 1568, 88), +(15, 1569, 78), +(15, 1570, 79), +(15, 1571, 69), +(15, 1572, 99), +(15, 1573, 97), +(15, 1574, 92), +(15, 1575, 68), +(15, 1576, 83), +(15, 1577, 75), +(15, 1578, 84), +(15, 1579, 95), +(15, 1580, 98), +(15, 1581, 97), +(15, 1582, 82), +(15, 1583, 82), +(15, 1584, 81), +(15, 1585, 79), +(15, 1586, 84), +(15, 1587, 76), +(15, 2047, 92), +(15, 2048, 74), +(15, 2049, 85), +(15, 2050, 78), +(15, 2051, 94), +(15, 2052, 65), +(15, 2053, 77), +(15, 2054, 76), +(15, 2055, 97), +(15, 2056, 86), +(15, 2057, 92), +(15, 2058, 90), +(15, 2059, 66), +(15, 2060, 67), +(15, 2061, 85), +(15, 2062, 72), +(15, 2063, 86), +(15, 2064, 94), +(15, 2065, 84), +(15, 2066, 85), +(15, 2067, 71), +(15, 2068, 86), +(15, 2069, 83), +(15, 2070, 77), +(15, 2071, 68), +(15, 2072, 84), +(15, 2073, 99), +(15, 2074, 97), +(15, 2075, 82), +(15, 2076, 86), +(15, 2077, 65), +(15, 2078, 76), +(15, 2079, 96), +(15, 2080, 79), +(15, 2081, 76), +(15, 2082, 74), +(15, 2083, 94), +(15, 2084, 85), +(15, 2085, 86), +(15, 2086, 76), +(15, 2087, 65), +(15, 2088, 66), +(15, 2089, 70), +(15, 2090, 72), +(15, 2091, 76), +(15, 2092, 86), +(15, 2093, 92), +(15, 2094, 92), +(15, 2095, 91), +(15, 2096, 93), +(15, 2097, 68), +(15, 2098, 82), +(15, 2099, 88), +(15, 2100, 85), +(15, 2101, 72), +(15, 2102, 70), +(15, 2103, 67), +(15, 2104, 97), +(15, 2105, 85), +(15, 2106, 91), +(15, 2107, 72), +(15, 2108, 84), +(15, 2109, 99), +(15, 2110, 85), +(15, 2111, 98), +(15, 2112, 96), +(15, 2113, 86), +(15, 2114, 75), +(15, 2115, 83), +(15, 2116, 84), +(15, 2117, 70), +(15, 2118, 69), +(15, 2119, 93), +(15, 2120, 87), +(15, 2121, 73), +(15, 2122, 87), +(15, 2123, 82), +(15, 2124, 96), +(15, 2125, 86), +(15, 2126, 76), +(15, 2127, 96), +(15, 2128, 86), +(15, 2129, 75), +(15, 2130, 72), +(15, 2131, 69), +(15, 2132, 91), +(15, 2133, 81), +(15, 2134, 99), +(15, 2135, 76), +(15, 2136, 80), +(15, 2137, 94), +(15, 2138, 76), +(15, 2139, 95), +(15, 2140, 77), +(15, 2141, 97), +(15, 2142, 85), +(15, 2143, 65), +(15, 2144, 87), +(15, 2145, 71), +(15, 2146, 89), +(15, 2147, 66), +(15, 2148, 86), +(15, 2149, 82), +(15, 2150, 81), +(15, 2151, 80), +(15, 2152, 73), +(15, 2153, 91), +(15, 2154, 70), +(15, 2155, 73), +(15, 2156, 76), +(15, 2157, 93), +(15, 2158, 84), +(15, 2159, 82), +(15, 2160, 94), +(15, 2161, 88), +(15, 2162, 97), +(15, 2163, 95), +(15, 2164, 82), +(15, 2165, 72), +(15, 2166, 90), +(15, 2167, 76), +(15, 2168, 80), +(15, 2169, 95), +(15, 2170, 69), +(15, 2171, 87), +(15, 2172, 78), +(15, 2173, 92), +(15, 2174, 96), +(15, 2175, 80), +(15, 2176, 83), +(15, 2177, 96), +(15, 2178, 73), +(15, 2179, 84), +(15, 2180, 79), +(15, 2181, 82), +(15, 2182, 99), +(15, 2183, 84), +(15, 2184, 72), +(15, 2185, 77), +(15, 2186, 70), +(15, 2187, 75), +(15, 2188, 73), +(15, 2189, 75), +(15, 2190, 70), +(15, 2191, 98), +(15, 2192, 78), +(15, 2193, 97), +(15, 2194, 97), +(15, 2195, 69), +(15, 2196, 78), +(15, 2197, 69), +(15, 2198, 97), +(15, 2199, 80), +(15, 2200, 75), +(15, 2201, 73), +(15, 2202, 82), +(15, 2203, 69), +(15, 2204, 69), +(15, 2205, 79), +(15, 2206, 66), +(15, 2207, 76), +(15, 2208, 92), +(15, 2209, 90), +(15, 2210, 77), +(15, 2211, 66), +(15, 2212, 91), +(15, 2213, 99), +(15, 2214, 81), +(15, 2215, 90), +(15, 2216, 90), +(15, 2217, 67), +(15, 2218, 90), +(15, 2219, 75), +(15, 2220, 80), +(15, 2221, 65), +(15, 2222, 90), +(15, 2223, 90), +(15, 2224, 91), +(15, 2225, 91), +(15, 2226, 78), +(15, 2227, 91), +(15, 2228, 94), +(15, 2229, 66), +(15, 2230, 89), +(15, 2231, 99), +(15, 2232, 91), +(15, 2233, 65), +(15, 2234, 70), +(15, 2235, 80), +(15, 2236, 68), +(15, 2237, 83), +(15, 2238, 65), +(15, 2239, 84), +(15, 2240, 96), +(15, 2241, 96), +(15, 2242, 77), +(15, 2243, 85), +(15, 2244, 82), +(15, 2245, 70), +(15, 2246, 66), +(15, 2247, 95), +(15, 2248, 90), +(15, 2249, 81), +(15, 2250, 88), +(15, 2251, 81), +(15, 2252, 78), +(15, 2253, 73), +(15, 2254, 90), +(15, 2255, 76), +(15, 2256, 89), +(15, 2257, 84), +(15, 2258, 77), +(15, 2259, 88), +(15, 2260, 90), +(15, 2261, 97), +(15, 2262, 78), +(15, 2263, 71), +(15, 2264, 65), +(15, 2265, 90), +(15, 2266, 92), +(15, 2267, 90), +(15, 2268, 81), +(15, 2269, 89), +(15, 2270, 89), +(15, 2271, 83), +(15, 2272, 92), +(15, 2273, 74), +(15, 2274, 87), +(15, 2275, 67), +(15, 2276, 85), +(15, 2277, 76), +(15, 2278, 80), +(15, 2279, 83), +(15, 2280, 69), +(15, 2281, 88), +(15, 2282, 97), +(15, 2283, 65), +(15, 2284, 98), +(15, 2285, 81), +(15, 2286, 91), +(15, 2287, 66), +(15, 2288, 96), +(15, 2289, 66), +(15, 2290, 81), +(15, 2291, 86), +(15, 2292, 82), +(15, 2293, 72), +(15, 2294, 96), +(15, 2295, 96), +(15, 2296, 76), +(15, 2297, 76), +(15, 2298, 66), +(15, 2299, 71), +(15, 2300, 88), +(15, 2301, 94), +(15, 2302, 90), +(15, 2303, 83), +(15, 2304, 81), +(15, 2305, 98), +(15, 2306, 88), +(15, 2307, 78), +(15, 2308, 95), +(15, 2309, 74), +(15, 2310, 74), +(15, 2311, 88), +(15, 2312, 65), +(15, 2313, 88), +(15, 2314, 98), +(15, 2315, 90), +(15, 2316, 76), +(15, 2317, 87), +(15, 2318, 66), +(15, 2319, 76), +(15, 2320, 99), +(15, 2321, 90), +(15, 2322, 82), +(15, 2323, 80), +(15, 2324, 84), +(15, 2325, 79), +(15, 2326, 90), +(15, 2327, 71), +(15, 2328, 88), +(15, 2329, 71), +(15, 2330, 89), +(15, 2331, 97), +(15, 2332, 85), +(15, 2333, 66), +(15, 2334, 74), +(15, 2335, 82), +(15, 2336, 85), +(15, 2337, 86), +(15, 2338, 66), +(15, 2339, 71), +(15, 2340, 85), +(15, 2341, 82), +(15, 2342, 80), +(15, 2343, 78), +(15, 2344, 73), +(15, 2345, 81), +(15, 2346, 98), +(15, 2347, 67), +(15, 2348, 78), +(15, 2349, 69), +(15, 2350, 68), +(15, 2351, 98), +(15, 2352, 78), +(15, 2353, 84), +(15, 2354, 97), +(15, 2355, 94), +(15, 2356, 75), +(15, 2357, 84), +(15, 2358, 73), +(15, 2359, 68), +(15, 2360, 87), +(15, 2361, 92), +(15, 2362, 95), +(15, 2363, 84), +(15, 2364, 80), +(15, 2365, 78), +(15, 2366, 74), +(15, 2367, 70), +(15, 2368, 92), +(15, 2369, 92), +(15, 2370, 80), +(15, 2371, 89), +(15, 2372, 91), +(15, 2373, 73), +(15, 2374, 68), +(15, 2375, 67), +(15, 2376, 94), +(15, 2377, 81), +(15, 2378, 69), +(15, 2379, 84), +(15, 2380, 84), +(15, 2381, 77), +(15, 2382, 75), +(15, 2383, 85), +(15, 2384, 98), +(15, 2385, 75), +(15, 2386, 86), +(15, 2387, 85), +(15, 2388, 82), +(15, 2389, 88), +(15, 2390, 84), +(15, 2391, 94), +(15, 2392, 73), +(15, 2393, 95), +(15, 2394, 71), +(15, 2395, 71), +(15, 2396, 74), +(15, 2397, 80), +(15, 2398, 82), +(15, 2399, 93), +(15, 2400, 98), +(15, 2401, 68), +(15, 2402, 74), +(15, 2403, 89), +(15, 2404, 88), +(15, 2405, 70), +(15, 2406, 66), +(15, 2407, 99), +(15, 2408, 66), +(15, 2409, 96), +(15, 2410, 67), +(15, 2411, 83), +(15, 2412, 85), +(15, 2413, 72), +(15, 2414, 81), +(15, 2415, 80), +(15, 2416, 69), +(15, 2417, 97), +(15, 2418, 90), +(15, 2419, 86), +(15, 2420, 98), +(15, 2421, 98), +(15, 2422, 67), +(15, 2423, 78), +(15, 2424, 67), +(15, 2425, 81), +(15, 2426, 88), +(15, 2427, 98), +(15, 2428, 74), +(15, 2429, 97), +(15, 2430, 91), +(15, 2431, 99), +(15, 2432, 72), +(15, 2433, 75), +(15, 2434, 78), +(15, 2435, 83), +(15, 2436, 97), +(15, 2437, 80), +(15, 2438, 83), +(15, 2439, 93), +(15, 2440, 69), +(15, 2441, 89), +(15, 2442, 88), +(15, 2443, 85), +(15, 2444, 83), +(15, 2445, 75), +(15, 2446, 71), +(15, 2447, 94), +(15, 2448, 84), +(15, 2449, 84), +(15, 2450, 79), +(15, 2451, 66), +(15, 2452, 78), +(15, 2453, 86), +(15, 2454, 99), +(15, 2455, 88), +(15, 2456, 95), +(15, 2457, 94), +(15, 2458, 68), +(15, 2459, 70), +(15, 2460, 85), +(15, 2461, 83), +(15, 2462, 73), +(15, 2463, 87), +(15, 2464, 92), +(15, 2465, 92), +(15, 2466, 98), +(15, 2467, 67), +(15, 2468, 68), +(15, 2469, 74), +(15, 2470, 89), +(15, 2471, 85), +(15, 2472, 95), +(15, 2473, 81), +(15, 2474, 80), +(15, 2475, 79), +(15, 2476, 89), +(15, 2477, 71), +(15, 2478, 82), +(15, 2479, 65), +(15, 2480, 87), +(15, 2481, 95), +(15, 2482, 90), +(15, 2483, 68), +(15, 2484, 77), +(15, 2485, 93), +(15, 2486, 72), +(15, 2487, 81), +(15, 2488, 96), +(15, 2489, 81), +(15, 2490, 83), +(15, 2491, 73), +(15, 2492, 73), +(15, 2493, 80), +(15, 2494, 65), +(15, 2495, 92), +(15, 2496, 76), +(15, 2497, 99), +(15, 2498, 67), +(15, 2499, 94), +(15, 2500, 84), +(15, 2501, 65), +(15, 2502, 93), +(15, 2503, 70), +(15, 2504, 97), +(15, 2505, 65), +(15, 2506, 98), +(15, 2507, 97), +(15, 2508, 69), +(15, 2509, 74), +(15, 2510, 90), +(15, 2511, 82), +(15, 2512, 76), +(15, 2513, 68), +(15, 2514, 98), +(15, 2515, 89), +(15, 2516, 91), +(15, 2517, 78), +(15, 2518, 92), +(15, 2519, 82), +(15, 2520, 98), +(15, 2521, 71), +(15, 2522, 84), +(15, 2523, 97), +(15, 2524, 84), +(15, 2525, 84), +(15, 2526, 87), +(15, 2527, 96), +(15, 2528, 90), +(15, 2529, 74), +(15, 2530, 74), +(15, 2531, 65), +(15, 2532, 97), +(15, 2533, 87), +(15, 2534, 86), +(15, 2535, 86), +(15, 2536, 80), +(15, 2537, 88), +(15, 2538, 89), +(15, 2539, 84), +(15, 2540, 91), +(15, 2541, 66), +(15, 2542, 84), +(15, 2543, 84), +(15, 2544, 72), +(15, 2545, 89), +(15, 2546, 87), +(15, 2547, 70), +(15, 2548, 75), +(15, 2549, 84), +(15, 2550, 92), +(15, 2551, 86), +(15, 2552, 84), +(15, 2553, 94), +(15, 2554, 93), +(15, 2555, 80), +(15, 2556, 69), +(15, 2557, 79), +(15, 2558, 85), +(15, 2559, 98), +(15, 2560, 70), +(15, 2561, 77), +(15, 2562, 84), +(15, 2563, 99), +(15, 2564, 92), +(15, 2565, 78), +(15, 2566, 71), +(15, 2567, 85), +(15, 2568, 82), +(15, 2569, 76), +(15, 2570, 88), +(15, 2571, 74), +(15, 2572, 89), +(15, 2573, 88), +(15, 2574, 94), +(15, 2575, 71), +(15, 2576, 76), +(15, 2577, 69), +(15, 2578, 91), +(15, 2579, 76), +(15, 2580, 74), +(15, 2581, 87), +(15, 2582, 87), +(15, 2583, 99), +(15, 2584, 94), +(15, 2585, 89), +(15, 2586, 97), +(15, 2587, 82), +(15, 2588, 80), +(15, 2589, 84), +(15, 2590, 85), +(15, 2591, 86), +(15, 2592, 82), +(15, 2593, 76), +(15, 2594, 85), +(15, 2595, 88), +(15, 2596, 94), +(15, 2597, 77), +(15, 2598, 91), +(15, 2599, 93), +(15, 2600, 95), +(15, 2601, 72), +(15, 2602, 72), +(15, 2603, 92), +(15, 2604, 97), +(15, 2605, 82), +(15, 2606, 99), +(15, 2607, 98), +(15, 2608, 77), +(15, 2609, 81), +(15, 2610, 93), +(16, 1, 84), +(16, 2, 90), +(16, 3, 75), +(16, 4, 70), +(16, 5, 69), +(16, 6, 95), +(16, 7, 67), +(16, 8, 80), +(16, 9, 73), +(16, 10, 72), +(16, 11, 88), +(16, 12, 80), +(16, 13, 74), +(16, 14, 68), +(16, 15, 96), +(16, 16, 94), +(16, 17, 70), +(16, 18, 79), +(16, 19, 81), +(16, 20, 75), +(16, 21, 65), +(16, 22, 74), +(16, 23, 85), +(16, 24, 74), +(16, 25, 88), +(16, 26, 95), +(16, 27, 84), +(16, 28, 98), +(16, 29, 70), +(16, 30, 77), +(16, 31, 87), +(16, 32, 91), +(16, 33, 96), +(16, 34, 66), +(16, 35, 80), +(16, 36, 71), +(16, 37, 69), +(16, 38, 72), +(16, 39, 71), +(16, 40, 84), +(16, 41, 77), +(16, 42, 89), +(16, 43, 97), +(16, 44, 90), +(16, 45, 91), +(16, 46, 71), +(16, 47, 91), +(16, 48, 86), +(16, 49, 89), +(16, 50, 88), +(16, 51, 98), +(16, 52, 72), +(16, 53, 95), +(16, 54, 79), +(16, 55, 97), +(16, 56, 70), +(16, 57, 93), +(16, 58, 85), +(16, 59, 99), +(16, 60, 70), +(16, 61, 77), +(16, 62, 89), +(16, 63, 86), +(16, 64, 82), +(16, 65, 79), +(16, 66, 92), +(16, 67, 70), +(16, 68, 76), +(16, 69, 76), +(16, 70, 91), +(16, 71, 83), +(16, 72, 66), +(16, 73, 91), +(16, 74, 96), +(16, 75, 95), +(16, 76, 89), +(16, 77, 89), +(16, 78, 74), +(16, 79, 80), +(16, 80, 95), +(16, 81, 83), +(16, 82, 85), +(16, 83, 80), +(16, 84, 78), +(16, 85, 68), +(16, 86, 83), +(16, 87, 99), +(16, 88, 83), +(16, 89, 99), +(16, 90, 71), +(16, 91, 89), +(16, 92, 92), +(16, 93, 70), +(16, 94, 84), +(16, 95, 76), +(16, 96, 85), +(16, 97, 96), +(16, 98, 70), +(16, 99, 99), +(16, 100, 72), +(16, 101, 68), +(16, 102, 97), +(16, 103, 66), +(16, 104, 74), +(16, 105, 91), +(16, 106, 71), +(16, 107, 95), +(16, 108, 90), +(16, 109, 86), +(16, 110, 88), +(16, 111, 84), +(16, 112, 70), +(16, 113, 73), +(16, 114, 85), +(16, 115, 93), +(16, 116, 93), +(16, 117, 67), +(16, 118, 85), +(16, 119, 94), +(16, 120, 81), +(16, 121, 84), +(16, 122, 91), +(16, 123, 67), +(16, 124, 76), +(16, 125, 88), +(16, 126, 65), +(16, 127, 66), +(16, 128, 86), +(16, 129, 92), +(16, 130, 99), +(16, 131, 95), +(16, 132, 90), +(16, 133, 65), +(16, 134, 82), +(16, 135, 82), +(16, 136, 94), +(16, 137, 99), +(16, 138, 79), +(16, 139, 74), +(16, 140, 89), +(16, 141, 97), +(16, 142, 95), +(16, 143, 87), +(16, 144, 86), +(16, 145, 79), +(16, 146, 81), +(16, 147, 80), +(16, 148, 69), +(16, 149, 89), +(16, 150, 95), +(16, 151, 77), +(16, 152, 79), +(16, 153, 83), +(16, 154, 87), +(16, 155, 87), +(16, 156, 83), +(16, 157, 72), +(16, 158, 87), +(16, 159, 83), +(16, 160, 69), +(16, 161, 73), +(16, 162, 99), +(16, 163, 86), +(16, 164, 97), +(16, 165, 92), +(16, 166, 84), +(16, 167, 65), +(16, 168, 74), +(16, 169, 67), +(16, 170, 95), +(16, 171, 73), +(16, 172, 74), +(16, 173, 93), +(16, 174, 68), +(16, 175, 89), +(16, 176, 85), +(16, 177, 81), +(16, 178, 98), +(16, 179, 69), +(16, 180, 87), +(16, 181, 90), +(16, 182, 81), +(16, 183, 99), +(16, 184, 88), +(16, 185, 67), +(16, 186, 81), +(16, 187, 78), +(16, 188, 78), +(16, 189, 85), +(16, 190, 67), +(16, 191, 92), +(16, 192, 76), +(16, 193, 71), +(16, 194, 73), +(16, 195, 73), +(16, 196, 98), +(16, 197, 91), +(16, 198, 65), +(16, 199, 91), +(16, 200, 68), +(16, 201, 81), +(16, 202, 87), +(16, 203, 95), +(16, 204, 66), +(16, 205, 94), +(16, 206, 83), +(16, 207, 66), +(16, 208, 96), +(16, 209, 71), +(16, 210, 66), +(16, 211, 71), +(16, 212, 95), +(16, 213, 67), +(16, 214, 98), +(16, 215, 94), +(16, 216, 97), +(16, 217, 78), +(16, 218, 69), +(16, 219, 94), +(16, 220, 81), +(16, 221, 92), +(16, 222, 67), +(16, 223, 76), +(16, 224, 78), +(16, 225, 83), +(16, 226, 74), +(16, 227, 73), +(16, 228, 81), +(16, 229, 76), +(16, 230, 87), +(16, 231, 78), +(16, 232, 98), +(16, 233, 81), +(16, 234, 76), +(16, 235, 77), +(16, 236, 80), +(16, 237, 98), +(16, 238, 74), +(16, 239, 82), +(16, 240, 70), +(16, 241, 87), +(16, 242, 82), +(16, 243, 77), +(16, 244, 91), +(16, 245, 95), +(16, 246, 71), +(16, 247, 95), +(16, 248, 65), +(16, 249, 80), +(16, 250, 98), +(16, 251, 84), +(16, 252, 65), +(16, 253, 83), +(16, 254, 90), +(16, 255, 92), +(16, 256, 90), +(16, 257, 85), +(16, 258, 99), +(16, 259, 65), +(16, 260, 88), +(16, 261, 77), +(16, 262, 89), +(16, 263, 69), +(16, 264, 95), +(16, 265, 74), +(16, 266, 82), +(16, 267, 97), +(16, 268, 94), +(16, 269, 92), +(16, 270, 92), +(16, 271, 79), +(16, 272, 77), +(16, 273, 70), +(16, 274, 86), +(16, 275, 85), +(16, 276, 94), +(16, 277, 77), +(16, 278, 88), +(16, 279, 66), +(16, 280, 67), +(16, 281, 73), +(16, 282, 78), +(16, 283, 97), +(16, 284, 66), +(16, 285, 90), +(16, 286, 94), +(16, 287, 74), +(16, 288, 91), +(16, 289, 98), +(16, 290, 67), +(16, 291, 91), +(16, 292, 87), +(16, 293, 65), +(16, 294, 82), +(16, 295, 89), +(16, 296, 68), +(16, 297, 95), +(16, 298, 83), +(16, 299, 88), +(16, 300, 90), +(16, 301, 65), +(16, 302, 84), +(16, 303, 75), +(16, 304, 79), +(16, 305, 78), +(16, 306, 89), +(16, 307, 94), +(16, 308, 85), +(16, 309, 84), +(16, 310, 73), +(16, 311, 83), +(16, 312, 74), +(16, 313, 82), +(16, 314, 76), +(16, 315, 74), +(16, 316, 74), +(16, 317, 72), +(16, 318, 87), +(16, 319, 87), +(16, 320, 72), +(16, 321, 75), +(16, 322, 91), +(16, 323, 87), +(16, 324, 66), +(16, 325, 79), +(16, 326, 65), +(16, 327, 73), +(16, 328, 79), +(16, 329, 73), +(16, 330, 81), +(16, 331, 94), +(16, 332, 85), +(16, 333, 96), +(16, 334, 67), +(16, 335, 86), +(16, 336, 81), +(16, 337, 98), +(16, 338, 79), +(16, 339, 88), +(16, 340, 97), +(16, 341, 83), +(16, 342, 73), +(16, 343, 75), +(16, 344, 97), +(16, 345, 92), +(16, 346, 92), +(16, 347, 65), +(16, 348, 84), +(16, 349, 94), +(16, 350, 71), +(16, 351, 73), +(16, 352, 68), +(16, 353, 81), +(16, 354, 78), +(16, 355, 75), +(16, 356, 70), +(16, 357, 93), +(16, 358, 86), +(16, 359, 83), +(16, 360, 89), +(16, 361, 84), +(16, 362, 73), +(16, 363, 89), +(16, 364, 74), +(16, 365, 82), +(16, 366, 70), +(16, 367, 85), +(16, 368, 77), +(16, 369, 78), +(16, 370, 89), +(16, 371, 89), +(16, 372, 72), +(16, 373, 76), +(16, 374, 87), +(16, 375, 74), +(16, 376, 89), +(16, 377, 92), +(16, 378, 69), +(16, 379, 77), +(16, 380, 83), +(16, 381, 67), +(16, 382, 85), +(16, 383, 68), +(16, 384, 68), +(16, 385, 74), +(16, 386, 65), +(16, 387, 94), +(16, 388, 82), +(16, 389, 70), +(16, 390, 71), +(16, 391, 80), +(16, 392, 74), +(16, 393, 74), +(16, 394, 84), +(16, 395, 83), +(16, 396, 85), +(16, 397, 68), +(16, 398, 84), +(16, 399, 82), +(16, 400, 69), +(16, 401, 96), +(16, 402, 89), +(16, 403, 83), +(16, 404, 86), +(16, 405, 86), +(16, 406, 72), +(16, 407, 86), +(16, 408, 74), +(16, 409, 96), +(16, 410, 80), +(16, 411, 82), +(16, 412, 65), +(16, 413, 79), +(16, 414, 71), +(16, 415, 96), +(16, 416, 96), +(16, 417, 96), +(16, 418, 78), +(16, 419, 70), +(16, 420, 84), +(16, 421, 83), +(16, 422, 97), +(16, 423, 93), +(16, 424, 92), +(16, 425, 73), +(16, 426, 74), +(16, 427, 80), +(16, 428, 81), +(16, 429, 65), +(16, 430, 69), +(16, 431, 93), +(16, 432, 99), +(16, 433, 92), +(16, 434, 99), +(16, 435, 68), +(16, 436, 91), +(16, 437, 80), +(16, 438, 92), +(16, 439, 80), +(16, 440, 96), +(16, 441, 68), +(16, 442, 82), +(16, 443, 83), +(16, 444, 74), +(16, 445, 82), +(16, 446, 76), +(16, 447, 71), +(16, 448, 85), +(16, 449, 86), +(16, 450, 89), +(16, 451, 97), +(16, 452, 70), +(16, 453, 77), +(16, 454, 73), +(16, 455, 94), +(16, 456, 77), +(16, 457, 71), +(16, 458, 80), +(16, 459, 77), +(16, 460, 81), +(16, 461, 70), +(16, 462, 94), +(16, 463, 79), +(16, 464, 99), +(16, 465, 65), +(16, 466, 97), +(16, 467, 92), +(16, 468, 78), +(16, 469, 94), +(16, 470, 89), +(16, 471, 92), +(16, 472, 83), +(16, 473, 70), +(16, 474, 93), +(16, 475, 70), +(16, 476, 94), +(16, 477, 86), +(16, 478, 99), +(16, 479, 90), +(16, 480, 65), +(16, 481, 98), +(16, 482, 87), +(16, 483, 98), +(16, 484, 79), +(16, 485, 95), +(16, 486, 76), +(16, 487, 77), +(16, 488, 69), +(16, 489, 82), +(16, 490, 80), +(16, 491, 86), +(16, 492, 93), +(16, 493, 96), +(16, 494, 65), +(16, 495, 98), +(16, 496, 99), +(16, 497, 74), +(16, 498, 80), +(16, 499, 98), +(16, 500, 86), +(16, 501, 81), +(16, 502, 83), +(16, 503, 85), +(16, 504, 75), +(16, 505, 84), +(16, 506, 94), +(16, 507, 90), +(16, 508, 69), +(16, 509, 70), +(16, 510, 68), +(16, 511, 78), +(16, 512, 81), +(16, 513, 93), +(16, 514, 72), +(16, 515, 78), +(16, 516, 78), +(16, 517, 73), +(16, 518, 73), +(16, 519, 93), +(16, 520, 86), +(16, 521, 89), +(16, 522, 86), +(16, 523, 72), +(16, 524, 97), +(16, 525, 98), +(16, 526, 88), +(16, 527, 92), +(16, 528, 78), +(16, 529, 90), +(16, 530, 84), +(16, 531, 71), +(16, 532, 73), +(16, 533, 66), +(16, 534, 71), +(16, 535, 65), +(16, 536, 94), +(16, 537, 86), +(16, 538, 74), +(16, 539, 69), +(16, 540, 72), +(16, 541, 79), +(16, 542, 77), +(16, 543, 84), +(16, 544, 84), +(16, 545, 89), +(16, 546, 69), +(16, 547, 72), +(16, 548, 74), +(16, 549, 96), +(16, 550, 87), +(16, 551, 95), +(16, 552, 65), +(16, 553, 74), +(16, 554, 69), +(16, 555, 78), +(16, 556, 69), +(16, 557, 82), +(16, 558, 75), +(16, 559, 84), +(16, 560, 71), +(16, 561, 77), +(16, 562, 99), +(16, 563, 80), +(16, 564, 78), +(16, 1024, 95), +(16, 1025, 97), +(16, 1026, 73), +(16, 1027, 70), +(16, 1028, 94), +(16, 1029, 82), +(16, 1030, 81), +(16, 1031, 97), +(16, 1032, 88), +(16, 1033, 66), +(16, 1034, 87), +(16, 1035, 95), +(16, 1036, 83), +(16, 1037, 90), +(16, 1038, 95), +(16, 1039, 80), +(16, 1040, 87), +(16, 1041, 71), +(16, 1042, 81), +(16, 1043, 99), +(16, 1044, 79), +(16, 1045, 98), +(16, 1046, 98), +(16, 1047, 74), +(16, 1048, 83), +(16, 1049, 69), +(16, 1050, 73), +(16, 1051, 89), +(16, 1052, 75), +(16, 1053, 70), +(16, 1054, 90), +(16, 1055, 88), +(16, 1056, 83), +(16, 1057, 98), +(16, 1058, 82), +(16, 1059, 93), +(16, 1060, 98), +(16, 1061, 72), +(16, 1062, 91), +(16, 1063, 96), +(16, 1064, 93), +(16, 1065, 79), +(16, 1066, 93), +(16, 1067, 85), +(16, 1068, 97), +(16, 1069, 78), +(16, 1070, 92), +(16, 1071, 98), +(16, 1072, 70), +(16, 1073, 77), +(16, 1074, 87), +(16, 1075, 89), +(16, 1076, 88), +(16, 1077, 74), +(16, 1078, 84), +(16, 1079, 92), +(16, 1080, 70), +(16, 1081, 94), +(16, 1082, 68), +(16, 1083, 97), +(16, 1084, 81), +(16, 1085, 85), +(16, 1086, 98), +(16, 1087, 78), +(16, 1088, 80), +(16, 1089, 88), +(16, 1090, 69), +(16, 1091, 79), +(16, 1092, 97), +(16, 1093, 92), +(16, 1094, 92), +(16, 1095, 83), +(16, 1096, 81), +(16, 1097, 83), +(16, 1098, 72), +(16, 1099, 87), +(16, 1100, 69), +(16, 1101, 88), +(16, 1102, 75), +(16, 1103, 78), +(16, 1104, 93), +(16, 1105, 75), +(16, 1106, 91), +(16, 1107, 78), +(16, 1108, 83), +(16, 1109, 72), +(16, 1110, 80), +(16, 1111, 81), +(16, 1112, 89), +(16, 1113, 82), +(16, 1114, 65), +(16, 1115, 92), +(16, 1116, 78), +(16, 1117, 66), +(16, 1118, 90), +(16, 1119, 95), +(16, 1120, 67), +(16, 1121, 85), +(16, 1122, 69), +(16, 1123, 88), +(16, 1124, 92), +(16, 1125, 67), +(16, 1126, 70), +(16, 1127, 75), +(16, 1128, 83), +(16, 1129, 80), +(16, 1130, 94), +(16, 1131, 91), +(16, 1132, 91), +(16, 1133, 84), +(16, 1134, 66), +(16, 1135, 96), +(16, 1136, 97), +(16, 1137, 95), +(16, 1138, 88), +(16, 1139, 75), +(16, 1140, 79), +(16, 1141, 99), +(16, 1142, 83), +(16, 1143, 68), +(16, 1144, 84), +(16, 1145, 81), +(16, 1146, 71), +(16, 1147, 69), +(16, 1148, 84), +(16, 1149, 81), +(16, 1150, 86), +(16, 1151, 75), +(16, 1152, 95), +(16, 1153, 68), +(16, 1154, 83), +(16, 1155, 81), +(16, 1156, 86), +(16, 1157, 75), +(16, 1158, 87), +(16, 1159, 88), +(16, 1160, 67), +(16, 1161, 83), +(16, 1162, 76), +(16, 1163, 90), +(16, 1164, 70), +(16, 1165, 98), +(16, 1166, 82), +(16, 1167, 92), +(16, 1168, 96), +(16, 1169, 71), +(16, 1170, 88), +(16, 1171, 92), +(16, 1172, 81), +(16, 1173, 99), +(16, 1174, 98), +(16, 1175, 70), +(16, 1176, 87), +(16, 1177, 75), +(16, 1178, 94), +(16, 1179, 78), +(16, 1180, 91), +(16, 1181, 87), +(16, 1182, 90), +(16, 1183, 90), +(16, 1184, 90), +(16, 1185, 92), +(16, 1186, 96), +(16, 1187, 80), +(16, 1188, 86), +(16, 1189, 68), +(16, 1190, 86), +(16, 1191, 83), +(16, 1192, 85), +(16, 1193, 91), +(16, 1194, 72), +(16, 1195, 87), +(16, 1196, 98), +(16, 1197, 77), +(16, 1198, 97), +(16, 1199, 76), +(16, 1200, 99), +(16, 1201, 82), +(16, 1202, 98), +(16, 1203, 93), +(16, 1204, 80), +(16, 1205, 66), +(16, 1206, 83), +(16, 1207, 76), +(16, 1208, 76), +(16, 1209, 82), +(16, 1210, 75), +(16, 1211, 76), +(16, 1212, 82), +(16, 1213, 88), +(16, 1214, 81), +(16, 1215, 87), +(16, 1216, 82), +(16, 1217, 84), +(16, 1218, 85), +(16, 1219, 87), +(16, 1220, 98), +(16, 1221, 66), +(16, 1222, 76), +(16, 1223, 70), +(16, 1224, 75), +(16, 1225, 93), +(16, 1226, 76), +(16, 1227, 89), +(16, 1228, 91), +(16, 1229, 96), +(16, 1230, 78), +(16, 1231, 67), +(16, 1232, 93), +(16, 1233, 85), +(16, 1234, 92), +(16, 1235, 84), +(16, 1236, 89), +(16, 1237, 96), +(16, 1238, 88), +(16, 1239, 92), +(16, 1240, 96), +(16, 1241, 78), +(16, 1242, 71), +(16, 1243, 92), +(16, 1244, 98), +(16, 1245, 86), +(16, 1246, 73), +(16, 1247, 85), +(16, 1248, 75), +(16, 1249, 66), +(16, 1250, 93), +(16, 1251, 97), +(16, 1252, 93), +(16, 1253, 98), +(16, 1254, 72), +(16, 1255, 95), +(16, 1256, 98), +(16, 1257, 75), +(16, 1258, 76), +(16, 1259, 86), +(16, 1260, 67), +(16, 1261, 86), +(16, 1262, 68), +(16, 1263, 80), +(16, 1264, 99), +(16, 1265, 95), +(16, 1266, 77), +(16, 1267, 77), +(16, 1268, 74), +(16, 1269, 87), +(16, 1270, 99), +(16, 1271, 73), +(16, 1272, 66), +(16, 1273, 91), +(16, 1274, 85), +(16, 1275, 65), +(16, 1276, 96), +(16, 1277, 80), +(16, 1278, 96), +(16, 1279, 91), +(16, 1280, 74), +(16, 1281, 84), +(16, 1282, 73), +(16, 1283, 95), +(16, 1284, 78), +(16, 1285, 74), +(16, 1286, 72), +(16, 1287, 91), +(16, 1288, 75), +(16, 1289, 69), +(16, 1290, 83), +(16, 1291, 94), +(16, 1292, 72), +(16, 1293, 96), +(16, 1294, 96), +(16, 1295, 79), +(16, 1296, 66), +(16, 1297, 82), +(16, 1298, 65), +(16, 1299, 74), +(16, 1300, 75), +(16, 1301, 97), +(16, 1302, 95), +(16, 1303, 77), +(16, 1304, 95), +(16, 1305, 77), +(16, 1306, 96), +(16, 1307, 97), +(16, 1308, 67), +(16, 1309, 76), +(16, 1310, 90), +(16, 1311, 92), +(16, 1312, 73), +(16, 1313, 67), +(16, 1314, 85), +(16, 1315, 68), +(16, 1316, 71), +(16, 1317, 78), +(16, 1318, 74), +(16, 1319, 94), +(16, 1320, 94), +(16, 1321, 88), +(16, 1322, 92), +(16, 1323, 89), +(16, 1324, 96), +(16, 1325, 80), +(16, 1326, 88), +(16, 1327, 86), +(16, 1328, 77), +(16, 1329, 86), +(16, 1330, 87), +(16, 1331, 90), +(16, 1332, 88), +(16, 1333, 90), +(16, 1334, 67), +(16, 1335, 76), +(16, 1336, 93), +(16, 1337, 82), +(16, 1338, 68), +(16, 1339, 95), +(16, 1340, 93), +(16, 1341, 83), +(16, 1342, 98), +(16, 1343, 67), +(16, 1344, 89), +(16, 1345, 91), +(16, 1346, 74), +(16, 1347, 90), +(16, 1348, 75), +(16, 1349, 72), +(16, 1350, 73), +(16, 1351, 73), +(16, 1352, 87), +(16, 1353, 69), +(16, 1354, 78), +(16, 1355, 71), +(16, 1356, 97), +(16, 1357, 99), +(16, 1358, 83), +(16, 1359, 69), +(16, 1360, 69), +(16, 1361, 65), +(16, 1362, 98), +(16, 1363, 81), +(16, 1364, 96), +(16, 1365, 87), +(16, 1366, 74), +(16, 1367, 95), +(16, 1368, 76), +(16, 1369, 96), +(16, 1370, 97), +(16, 1371, 84), +(16, 1372, 76), +(16, 1373, 65), +(16, 1374, 88), +(16, 1375, 87), +(16, 1376, 81), +(16, 1377, 79), +(16, 1378, 84), +(16, 1379, 96), +(16, 1380, 86), +(16, 1381, 99), +(16, 1382, 90), +(16, 1383, 74), +(16, 1384, 97), +(16, 1385, 80), +(16, 1386, 88), +(16, 1387, 72), +(16, 1388, 75), +(16, 1389, 92), +(16, 1390, 94), +(16, 1391, 67), +(16, 1392, 81), +(16, 1393, 90), +(16, 1394, 68), +(16, 1395, 74), +(16, 1396, 95), +(16, 1397, 70), +(16, 1398, 91), +(16, 1399, 84), +(16, 1400, 83), +(16, 1401, 86), +(16, 1402, 96), +(16, 1403, 66), +(16, 1404, 66), +(16, 1405, 78), +(16, 1406, 74), +(16, 1407, 81), +(16, 1408, 82), +(16, 1409, 88), +(16, 1410, 92), +(16, 1411, 70), +(16, 1412, 75), +(16, 1413, 72), +(16, 1414, 75), +(16, 1415, 71), +(16, 1416, 79), +(16, 1417, 75), +(16, 1418, 67), +(16, 1419, 78), +(16, 1420, 93), +(16, 1421, 67), +(16, 1422, 84), +(16, 1423, 88), +(16, 1424, 79), +(16, 1425, 87), +(16, 1426, 84), +(16, 1427, 98), +(16, 1428, 92), +(16, 1429, 84), +(16, 1430, 69), +(16, 1431, 74), +(16, 1432, 77), +(16, 1433, 95), +(16, 1434, 72), +(16, 1435, 79), +(16, 1436, 90), +(16, 1437, 75), +(16, 1438, 91), +(16, 1439, 73), +(16, 1440, 90), +(16, 1441, 84), +(16, 1442, 90), +(16, 1443, 79), +(16, 1444, 67), +(16, 1445, 88), +(16, 1446, 67), +(16, 1447, 87), +(16, 1448, 83), +(16, 1449, 70), +(16, 1450, 75), +(16, 1451, 72), +(16, 1452, 98), +(16, 1453, 94), +(16, 1454, 98), +(16, 1455, 95), +(16, 1456, 75), +(16, 1457, 75), +(16, 1458, 72), +(16, 1459, 68), +(16, 1460, 79), +(16, 1461, 94), +(16, 1462, 72), +(16, 1463, 65), +(16, 1464, 90), +(16, 1465, 72), +(16, 1466, 76), +(16, 1467, 80), +(16, 1468, 73), +(16, 1469, 78), +(16, 1470, 70), +(16, 1471, 71), +(16, 1472, 88), +(16, 1473, 96), +(16, 1474, 74), +(16, 1475, 89), +(16, 1476, 79), +(16, 1477, 96), +(16, 1478, 65), +(16, 1479, 73), +(16, 1480, 79), +(16, 1481, 99), +(16, 1482, 75), +(16, 1483, 79), +(16, 1484, 73), +(16, 1485, 81), +(16, 1486, 98), +(16, 1487, 65), +(16, 1488, 78), +(16, 1489, 70), +(16, 1490, 68), +(16, 1491, 80), +(16, 1492, 99), +(16, 1493, 80), +(16, 1494, 96), +(16, 1495, 78), +(16, 1496, 74), +(16, 1497, 85), +(16, 1498, 66), +(16, 1499, 69), +(16, 1500, 66), +(16, 1501, 68), +(16, 1502, 87), +(16, 1503, 69), +(16, 1504, 91), +(16, 1505, 72), +(16, 1506, 99), +(16, 1507, 85), +(16, 1508, 96), +(16, 1509, 97), +(16, 1510, 73), +(16, 1511, 94), +(16, 1512, 96), +(16, 1513, 96), +(16, 1514, 72), +(16, 1515, 76), +(16, 1516, 99), +(16, 1517, 73), +(16, 1518, 76), +(16, 1519, 91), +(16, 1520, 76), +(16, 1521, 67), +(16, 1522, 90), +(16, 1523, 72), +(16, 1524, 91), +(16, 1525, 95), +(16, 1526, 91), +(16, 1527, 75), +(16, 1528, 66), +(16, 1529, 91), +(16, 1530, 86), +(16, 1531, 68), +(16, 1532, 95), +(16, 1533, 92), +(16, 1534, 91), +(16, 1535, 72), +(16, 1536, 97), +(16, 1537, 83), +(16, 1538, 77), +(16, 1539, 72), +(16, 1540, 74), +(16, 1541, 81), +(16, 1542, 96), +(16, 1543, 85), +(16, 1544, 89), +(16, 1545, 67), +(16, 1546, 95), +(16, 1547, 97), +(16, 1548, 83), +(16, 1549, 94), +(16, 1550, 81), +(16, 1551, 97), +(16, 1552, 71), +(16, 1553, 98), +(16, 1554, 98), +(16, 1555, 73), +(16, 1556, 65), +(16, 1557, 84), +(16, 1558, 87), +(16, 1559, 78), +(16, 1560, 91), +(16, 1561, 91), +(16, 1562, 83), +(16, 1563, 67), +(16, 1564, 90), +(16, 1565, 65), +(16, 1566, 78), +(16, 1567, 74), +(16, 1568, 84), +(16, 1569, 71), +(16, 1570, 77), +(16, 1571, 81), +(16, 1572, 68), +(16, 1573, 65), +(16, 1574, 80), +(16, 1575, 69), +(16, 1576, 77), +(16, 1577, 91), +(16, 1578, 96), +(16, 1579, 78), +(16, 1580, 97), +(16, 1581, 87), +(16, 1582, 83), +(16, 1583, 80), +(16, 1584, 98), +(16, 1585, 65), +(16, 1586, 86), +(16, 1587, 87), +(16, 2047, 98), +(16, 2048, 93), +(16, 2049, 71), +(16, 2050, 89), +(16, 2051, 91), +(16, 2052, 89), +(16, 2053, 74), +(16, 2054, 96), +(16, 2055, 91), +(16, 2056, 80), +(16, 2057, 89), +(16, 2058, 94), +(16, 2059, 98), +(16, 2060, 79), +(16, 2061, 69), +(16, 2062, 85), +(16, 2063, 71), +(16, 2064, 74), +(16, 2065, 86), +(16, 2066, 89), +(16, 2067, 78), +(16, 2068, 77), +(16, 2069, 80), +(16, 2070, 80), +(16, 2071, 82), +(16, 2072, 87), +(16, 2073, 83), +(16, 2074, 75), +(16, 2075, 69), +(16, 2076, 90), +(16, 2077, 76), +(16, 2078, 70), +(16, 2079, 73), +(16, 2080, 67), +(16, 2081, 81), +(16, 2082, 75), +(16, 2083, 79), +(16, 2084, 88), +(16, 2085, 97), +(16, 2086, 85), +(16, 2087, 78), +(16, 2088, 83), +(16, 2089, 85), +(16, 2090, 84), +(16, 2091, 76), +(16, 2092, 76), +(16, 2093, 92), +(16, 2094, 73), +(16, 2095, 93), +(16, 2096, 78), +(16, 2097, 89), +(16, 2098, 79), +(16, 2099, 95), +(16, 2100, 77), +(16, 2101, 91), +(16, 2102, 66), +(16, 2103, 87), +(16, 2104, 66), +(16, 2105, 91), +(16, 2106, 93), +(16, 2107, 72), +(16, 2108, 77), +(16, 2109, 73), +(16, 2110, 80), +(16, 2111, 84), +(16, 2112, 80), +(16, 2113, 82), +(16, 2114, 70), +(16, 2115, 92), +(16, 2116, 85), +(16, 2117, 74), +(16, 2118, 75), +(16, 2119, 79), +(16, 2120, 91), +(16, 2121, 79), +(16, 2122, 68), +(16, 2123, 71), +(16, 2124, 97), +(16, 2125, 84), +(16, 2126, 66), +(16, 2127, 75), +(16, 2128, 94), +(16, 2129, 68), +(16, 2130, 74), +(16, 2131, 77), +(16, 2132, 98), +(16, 2133, 82), +(16, 2134, 88), +(16, 2135, 68), +(16, 2136, 98), +(16, 2137, 76), +(16, 2138, 66), +(16, 2139, 66), +(16, 2140, 76), +(16, 2141, 85), +(16, 2142, 91), +(16, 2143, 67), +(16, 2144, 79), +(16, 2145, 93), +(16, 2146, 81), +(16, 2147, 79), +(16, 2148, 85), +(16, 2149, 97), +(16, 2150, 67), +(16, 2151, 69), +(16, 2152, 91), +(16, 2153, 68), +(16, 2154, 91), +(16, 2155, 83), +(16, 2156, 66), +(16, 2157, 91), +(16, 2158, 84), +(16, 2159, 78), +(16, 2160, 75), +(16, 2161, 83), +(16, 2162, 95), +(16, 2163, 90), +(16, 2164, 87), +(16, 2165, 93), +(16, 2166, 74), +(16, 2167, 90), +(16, 2168, 86), +(16, 2169, 79), +(16, 2170, 66), +(16, 2171, 98), +(16, 2172, 95), +(16, 2173, 74), +(16, 2174, 67), +(16, 2175, 85), +(16, 2176, 92), +(16, 2177, 90), +(16, 2178, 67), +(16, 2179, 74), +(16, 2180, 81), +(16, 2181, 66), +(16, 2182, 82), +(16, 2183, 95), +(16, 2184, 96), +(16, 2185, 75), +(16, 2186, 70), +(16, 2187, 90), +(16, 2188, 86), +(16, 2189, 91), +(16, 2190, 82), +(16, 2191, 87), +(16, 2192, 94), +(16, 2193, 85), +(16, 2194, 98), +(16, 2195, 66), +(16, 2196, 87), +(16, 2197, 86), +(16, 2198, 80), +(16, 2199, 93), +(16, 2200, 80), +(16, 2201, 91), +(16, 2202, 65), +(16, 2203, 86), +(16, 2204, 78), +(16, 2205, 93), +(16, 2206, 81), +(16, 2207, 94), +(16, 2208, 82), +(16, 2209, 82), +(16, 2210, 94), +(16, 2211, 76), +(16, 2212, 70), +(16, 2213, 98), +(16, 2214, 87), +(16, 2215, 78), +(16, 2216, 83), +(16, 2217, 71), +(16, 2218, 99), +(16, 2219, 68), +(16, 2220, 89), +(16, 2221, 66), +(16, 2222, 70), +(16, 2223, 74), +(16, 2224, 73), +(16, 2225, 75), +(16, 2226, 77), +(16, 2227, 94), +(16, 2228, 72), +(16, 2229, 92), +(16, 2230, 93), +(16, 2231, 83), +(16, 2232, 73), +(16, 2233, 79), +(16, 2234, 97), +(16, 2235, 66), +(16, 2236, 71), +(16, 2237, 77), +(16, 2238, 68), +(16, 2239, 72), +(16, 2240, 95), +(16, 2241, 65), +(16, 2242, 75), +(16, 2243, 86), +(16, 2244, 89), +(16, 2245, 90), +(16, 2246, 80), +(16, 2247, 82), +(16, 2248, 97), +(16, 2249, 93), +(16, 2250, 98), +(16, 2251, 90), +(16, 2252, 81), +(16, 2253, 76), +(16, 2254, 79), +(16, 2255, 72), +(16, 2256, 73), +(16, 2257, 65), +(16, 2258, 72), +(16, 2259, 98), +(16, 2260, 97), +(16, 2261, 73), +(16, 2262, 92), +(16, 2263, 81), +(16, 2264, 74), +(16, 2265, 97), +(16, 2266, 96), +(16, 2267, 66), +(16, 2268, 79), +(16, 2269, 83), +(16, 2270, 91), +(16, 2271, 66), +(16, 2272, 69), +(16, 2273, 95), +(16, 2274, 84), +(16, 2275, 91), +(16, 2276, 98), +(16, 2277, 83), +(16, 2278, 87), +(16, 2279, 75), +(16, 2280, 67), +(16, 2281, 92), +(16, 2282, 89), +(16, 2283, 89), +(16, 2284, 70), +(16, 2285, 84), +(16, 2286, 76), +(16, 2287, 80), +(16, 2288, 95), +(16, 2289, 65), +(16, 2290, 81), +(16, 2291, 67), +(16, 2292, 70), +(16, 2293, 87), +(16, 2294, 93), +(16, 2295, 71), +(16, 2296, 89), +(16, 2297, 93), +(16, 2298, 66), +(16, 2299, 73), +(16, 2300, 90), +(16, 2301, 89), +(16, 2302, 84), +(16, 2303, 97), +(16, 2304, 66), +(16, 2305, 93), +(16, 2306, 73), +(16, 2307, 67), +(16, 2308, 73), +(16, 2309, 73), +(16, 2310, 91), +(16, 2311, 76), +(16, 2312, 67), +(16, 2313, 97), +(16, 2314, 99), +(16, 2315, 68), +(16, 2316, 96), +(16, 2317, 80), +(16, 2318, 90), +(16, 2319, 74), +(16, 2320, 93), +(16, 2321, 76), +(16, 2322, 97), +(16, 2323, 82), +(16, 2324, 76), +(16, 2325, 75), +(16, 2326, 96), +(16, 2327, 79), +(16, 2328, 74), +(16, 2329, 73), +(16, 2330, 66), +(16, 2331, 83), +(16, 2332, 66), +(16, 2333, 91), +(16, 2334, 74), +(16, 2335, 85), +(16, 2336, 95), +(16, 2337, 70), +(16, 2338, 97), +(16, 2339, 72), +(16, 2340, 80), +(16, 2341, 78), +(16, 2342, 75), +(16, 2343, 72), +(16, 2344, 69), +(16, 2345, 78), +(16, 2346, 87), +(16, 2347, 79), +(16, 2348, 82), +(16, 2349, 82), +(16, 2350, 81), +(16, 2351, 95), +(16, 2352, 77), +(16, 2353, 85), +(16, 2354, 77), +(16, 2355, 86), +(16, 2356, 69); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(16, 2357, 79), +(16, 2358, 80), +(16, 2359, 93), +(16, 2360, 74), +(16, 2361, 94), +(16, 2362, 94), +(16, 2363, 82), +(16, 2364, 91), +(16, 2365, 69), +(16, 2366, 70), +(16, 2367, 73), +(16, 2368, 75), +(16, 2369, 94), +(16, 2370, 69), +(16, 2371, 70), +(16, 2372, 94), +(16, 2373, 67), +(16, 2374, 97), +(16, 2375, 71), +(16, 2376, 75), +(16, 2377, 66), +(16, 2378, 99), +(16, 2379, 77), +(16, 2380, 80), +(16, 2381, 73), +(16, 2382, 74), +(16, 2383, 67), +(16, 2384, 82), +(16, 2385, 88), +(16, 2386, 86), +(16, 2387, 94), +(16, 2388, 84), +(16, 2389, 95), +(16, 2390, 87), +(16, 2391, 93), +(16, 2392, 84), +(16, 2393, 66), +(16, 2394, 96), +(16, 2395, 77), +(16, 2396, 73), +(16, 2397, 73), +(16, 2398, 84), +(16, 2399, 96), +(16, 2400, 65), +(16, 2401, 67), +(16, 2402, 95), +(16, 2403, 92), +(16, 2404, 72), +(16, 2405, 74), +(16, 2406, 76), +(16, 2407, 91), +(16, 2408, 87), +(16, 2409, 85), +(16, 2410, 79), +(16, 2411, 76), +(16, 2412, 69), +(16, 2413, 84), +(16, 2414, 67), +(16, 2415, 71), +(16, 2416, 68), +(16, 2417, 92), +(16, 2418, 97), +(16, 2419, 75), +(16, 2420, 87), +(16, 2421, 66), +(16, 2422, 72), +(16, 2423, 85), +(16, 2424, 91), +(16, 2425, 86), +(16, 2426, 92), +(16, 2427, 79), +(16, 2428, 86), +(16, 2429, 84), +(16, 2430, 93), +(16, 2431, 98), +(16, 2432, 81), +(16, 2433, 89), +(16, 2434, 92), +(16, 2435, 74), +(16, 2436, 82), +(16, 2437, 70), +(16, 2438, 79), +(16, 2439, 92), +(16, 2440, 99), +(16, 2441, 81), +(16, 2442, 74), +(16, 2443, 94), +(16, 2444, 92), +(16, 2445, 80), +(16, 2446, 81), +(16, 2447, 72), +(16, 2448, 78), +(16, 2449, 80), +(16, 2450, 92), +(16, 2451, 81), +(16, 2452, 82), +(16, 2453, 70), +(16, 2454, 70), +(16, 2455, 73), +(16, 2456, 83), +(16, 2457, 91), +(16, 2458, 75), +(16, 2459, 72), +(16, 2460, 99), +(16, 2461, 65), +(16, 2462, 95), +(16, 2463, 87), +(16, 2464, 71), +(16, 2465, 66), +(16, 2466, 87), +(16, 2467, 84), +(16, 2468, 67), +(16, 2469, 92), +(16, 2470, 97), +(16, 2471, 98), +(16, 2472, 95), +(16, 2473, 78), +(16, 2474, 70), +(16, 2475, 78), +(16, 2476, 72), +(16, 2477, 75), +(16, 2478, 98), +(16, 2479, 83), +(16, 2480, 88), +(16, 2481, 71), +(16, 2482, 78), +(16, 2483, 67), +(16, 2484, 75), +(16, 2485, 70), +(16, 2486, 85), +(16, 2487, 72), +(16, 2488, 83), +(16, 2489, 73), +(16, 2490, 72), +(16, 2491, 65), +(16, 2492, 69), +(16, 2493, 76), +(16, 2494, 99), +(16, 2495, 91), +(16, 2496, 72), +(16, 2497, 71), +(16, 2498, 72), +(16, 2499, 68), +(16, 2500, 92), +(16, 2501, 95), +(16, 2502, 82), +(16, 2503, 85), +(16, 2504, 87), +(16, 2505, 65), +(16, 2506, 67), +(16, 2507, 75), +(16, 2508, 99), +(16, 2509, 75), +(16, 2510, 84), +(16, 2511, 91), +(16, 2512, 90), +(16, 2513, 82), +(16, 2514, 96), +(16, 2515, 65), +(16, 2516, 92), +(16, 2517, 66), +(16, 2518, 69), +(16, 2519, 98), +(16, 2520, 65), +(16, 2521, 85), +(16, 2522, 96), +(16, 2523, 92), +(16, 2524, 83), +(16, 2525, 88), +(16, 2526, 87), +(16, 2527, 95), +(16, 2528, 68), +(16, 2529, 70), +(16, 2530, 99), +(16, 2531, 97), +(16, 2532, 81), +(16, 2533, 94), +(16, 2534, 96), +(16, 2535, 87), +(16, 2536, 67), +(16, 2537, 99), +(16, 2538, 85), +(16, 2539, 83), +(16, 2540, 88), +(16, 2541, 77), +(16, 2542, 80), +(16, 2543, 73), +(16, 2544, 78), +(16, 2545, 68), +(16, 2546, 76), +(16, 2547, 87), +(16, 2548, 72), +(16, 2549, 71), +(16, 2550, 93), +(16, 2551, 80), +(16, 2552, 71), +(16, 2553, 75), +(16, 2554, 69), +(16, 2555, 78), +(16, 2556, 95), +(16, 2557, 81), +(16, 2558, 82), +(16, 2559, 75), +(16, 2560, 99), +(16, 2561, 75), +(16, 2562, 89), +(16, 2563, 87), +(16, 2564, 76), +(16, 2565, 85), +(16, 2566, 84), +(16, 2567, 84), +(16, 2568, 88), +(16, 2569, 68), +(16, 2570, 91), +(16, 2571, 95), +(16, 2572, 87), +(16, 2573, 93), +(16, 2574, 71), +(16, 2575, 96), +(16, 2576, 95), +(16, 2577, 96), +(16, 2578, 91), +(16, 2579, 67), +(16, 2580, 88), +(16, 2581, 73), +(16, 2582, 87), +(16, 2583, 78), +(16, 2584, 97), +(16, 2585, 85), +(16, 2586, 85), +(16, 2587, 73), +(16, 2588, 76), +(16, 2589, 90), +(16, 2590, 99), +(16, 2591, 70), +(16, 2592, 80), +(16, 2593, 73), +(16, 2594, 89), +(16, 2595, 90), +(16, 2596, 79), +(16, 2597, 83), +(16, 2598, 98), +(16, 2599, 74), +(16, 2600, 89), +(16, 2601, 96), +(16, 2602, 70), +(16, 2603, 91), +(16, 2604, 81), +(16, 2605, 67), +(16, 2606, 83), +(16, 2607, 93), +(16, 2608, 84), +(16, 2609, 74), +(16, 2610, 77), +(17, 1, 84), +(17, 2, 73), +(17, 3, 81), +(17, 4, 77), +(17, 5, 86), +(17, 6, 90), +(17, 7, 75), +(17, 8, 68), +(17, 9, 96), +(17, 10, 90), +(17, 11, 81), +(17, 12, 66), +(17, 13, 78), +(17, 14, 69), +(17, 15, 97), +(17, 16, 88), +(17, 17, 90), +(17, 18, 76), +(17, 19, 91), +(17, 20, 70), +(17, 21, 86), +(17, 22, 84), +(17, 23, 80), +(17, 24, 99), +(17, 25, 80), +(17, 26, 69), +(17, 27, 94), +(17, 28, 65), +(17, 29, 89), +(17, 30, 80), +(17, 31, 97), +(17, 32, 75), +(17, 33, 97), +(17, 34, 85), +(17, 35, 80), +(17, 36, 81), +(17, 37, 73), +(17, 38, 98), +(17, 39, 92), +(17, 40, 86), +(17, 41, 84), +(17, 42, 91), +(17, 43, 66), +(17, 44, 74), +(17, 45, 66), +(17, 46, 91), +(17, 47, 65), +(17, 48, 85), +(17, 49, 84), +(17, 50, 81), +(17, 51, 68), +(17, 52, 76), +(17, 53, 75), +(17, 54, 94), +(17, 55, 79), +(17, 56, 95), +(17, 57, 80), +(17, 58, 98), +(17, 59, 90), +(17, 60, 71), +(17, 61, 96), +(17, 62, 65), +(17, 63, 80), +(17, 64, 91), +(17, 65, 83), +(17, 66, 93), +(17, 67, 75), +(17, 68, 99), +(17, 69, 79), +(17, 70, 81), +(17, 71, 70), +(17, 72, 86), +(17, 73, 73), +(17, 74, 81), +(17, 75, 67), +(17, 76, 93), +(17, 77, 75), +(17, 78, 79), +(17, 79, 67), +(17, 80, 95), +(17, 81, 68), +(17, 82, 99), +(17, 83, 90), +(17, 84, 76), +(17, 85, 72), +(17, 86, 97), +(17, 87, 83), +(17, 88, 79), +(17, 89, 88), +(17, 90, 84), +(17, 91, 76), +(17, 92, 70), +(17, 93, 73), +(17, 94, 72), +(17, 95, 85), +(17, 96, 86), +(17, 97, 86), +(17, 98, 65), +(17, 99, 87), +(17, 100, 66), +(17, 101, 96), +(17, 102, 77), +(17, 103, 99), +(17, 104, 79), +(17, 105, 97), +(17, 106, 96), +(17, 107, 95), +(17, 108, 68), +(17, 109, 67), +(17, 110, 89), +(17, 111, 97), +(17, 112, 81), +(17, 113, 76), +(17, 114, 66), +(17, 115, 93), +(17, 116, 95), +(17, 117, 91), +(17, 118, 83), +(17, 119, 98), +(17, 120, 78), +(17, 121, 74), +(17, 122, 85), +(17, 123, 83), +(17, 124, 66), +(17, 125, 93), +(17, 126, 95), +(17, 127, 89), +(17, 128, 96), +(17, 129, 92), +(17, 130, 86), +(17, 131, 71), +(17, 132, 84), +(17, 133, 92), +(17, 134, 86), +(17, 135, 91), +(17, 136, 81), +(17, 137, 85), +(17, 138, 70), +(17, 139, 77), +(17, 140, 65), +(17, 141, 85), +(17, 142, 95), +(17, 143, 88), +(17, 144, 90), +(17, 145, 85), +(17, 146, 79), +(17, 147, 70), +(17, 148, 97), +(17, 149, 76), +(17, 150, 74), +(17, 151, 73), +(17, 152, 79), +(17, 153, 98), +(17, 154, 91), +(17, 155, 68), +(17, 156, 68), +(17, 157, 84), +(17, 158, 84), +(17, 159, 84), +(17, 160, 96), +(17, 161, 89), +(17, 162, 99), +(17, 163, 73), +(17, 164, 98), +(17, 165, 66), +(17, 166, 82), +(17, 167, 78), +(17, 168, 91), +(17, 169, 87), +(17, 170, 94), +(17, 171, 97), +(17, 172, 93), +(17, 173, 80), +(17, 174, 86), +(17, 175, 88), +(17, 176, 97), +(17, 177, 94), +(17, 178, 96), +(17, 179, 85), +(17, 180, 71), +(17, 181, 98), +(17, 182, 94), +(17, 183, 91), +(17, 184, 72), +(17, 185, 89), +(17, 186, 97), +(17, 187, 70), +(17, 188, 99), +(17, 189, 73), +(17, 190, 90), +(17, 191, 76), +(17, 192, 97), +(17, 193, 80), +(17, 194, 70), +(17, 195, 72), +(17, 196, 82), +(17, 197, 80), +(17, 198, 87), +(17, 199, 90), +(17, 200, 76), +(17, 201, 73), +(17, 202, 84), +(17, 203, 70), +(17, 204, 70), +(17, 205, 65), +(17, 206, 73), +(17, 207, 69), +(17, 208, 74), +(17, 209, 71), +(17, 210, 84), +(17, 211, 97), +(17, 212, 99), +(17, 213, 94), +(17, 214, 76), +(17, 215, 97), +(17, 216, 86), +(17, 217, 68), +(17, 218, 93), +(17, 219, 70), +(17, 220, 70), +(17, 221, 85), +(17, 222, 95), +(17, 223, 98), +(17, 224, 68), +(17, 225, 93), +(17, 226, 97), +(17, 227, 76), +(17, 228, 85), +(17, 229, 72), +(17, 230, 66), +(17, 231, 72), +(17, 232, 86), +(17, 233, 65), +(17, 234, 69), +(17, 235, 65), +(17, 236, 71), +(17, 237, 95), +(17, 238, 93), +(17, 239, 69), +(17, 240, 65), +(17, 241, 81), +(17, 242, 94), +(17, 243, 72), +(17, 244, 99), +(17, 245, 75), +(17, 246, 79), +(17, 247, 91), +(17, 248, 85), +(17, 249, 69), +(17, 250, 92), +(17, 251, 81), +(17, 252, 71), +(17, 253, 73), +(17, 254, 80), +(17, 255, 72), +(17, 256, 72), +(17, 257, 95), +(17, 258, 66), +(17, 259, 68), +(17, 260, 79), +(17, 261, 69), +(17, 262, 73), +(17, 263, 97), +(17, 264, 68), +(17, 265, 99), +(17, 266, 69), +(17, 267, 82), +(17, 268, 77), +(17, 269, 67), +(17, 270, 74), +(17, 271, 71), +(17, 272, 80), +(17, 273, 74), +(17, 274, 95), +(17, 275, 89), +(17, 276, 66), +(17, 277, 78), +(17, 278, 74), +(17, 279, 78), +(17, 280, 73), +(17, 281, 95), +(17, 282, 81), +(17, 283, 97), +(17, 284, 68), +(17, 285, 85), +(17, 286, 69), +(17, 287, 67), +(17, 288, 70), +(17, 289, 75), +(17, 290, 85), +(17, 291, 99), +(17, 292, 79), +(17, 293, 72), +(17, 294, 93), +(17, 295, 65), +(17, 296, 69), +(17, 297, 69), +(17, 298, 79), +(17, 299, 87), +(17, 300, 78), +(17, 301, 89), +(17, 302, 97), +(17, 303, 76), +(17, 304, 66), +(17, 305, 96), +(17, 306, 69), +(17, 307, 72), +(17, 308, 96), +(17, 309, 70), +(17, 310, 99), +(17, 311, 78), +(17, 312, 90), +(17, 313, 74), +(17, 314, 81), +(17, 315, 70), +(17, 316, 75), +(17, 317, 65), +(17, 318, 74), +(17, 319, 86), +(17, 320, 72), +(17, 321, 96), +(17, 322, 83), +(17, 323, 70), +(17, 324, 98), +(17, 325, 92), +(17, 326, 98), +(17, 327, 90), +(17, 328, 70), +(17, 329, 66), +(17, 330, 84), +(17, 331, 73), +(17, 332, 98), +(17, 333, 66), +(17, 334, 65), +(17, 335, 89), +(17, 336, 79), +(17, 337, 96), +(17, 338, 71), +(17, 339, 78), +(17, 340, 65), +(17, 341, 78), +(17, 342, 67), +(17, 343, 95), +(17, 344, 79), +(17, 345, 88), +(17, 346, 85), +(17, 347, 88), +(17, 348, 86), +(17, 349, 75), +(17, 350, 76), +(17, 351, 73), +(17, 352, 89), +(17, 353, 85), +(17, 354, 75), +(17, 355, 67), +(17, 356, 68), +(17, 357, 78), +(17, 358, 95), +(17, 359, 90), +(17, 360, 89), +(17, 361, 99), +(17, 362, 76), +(17, 363, 96), +(17, 364, 98), +(17, 365, 98), +(17, 366, 90), +(17, 367, 91), +(17, 368, 68), +(17, 369, 88), +(17, 370, 89), +(17, 371, 67), +(17, 372, 96), +(17, 373, 89), +(17, 374, 84), +(17, 375, 79), +(17, 376, 93), +(17, 377, 97), +(17, 378, 77), +(17, 379, 79), +(17, 380, 76), +(17, 381, 79), +(17, 382, 97), +(17, 383, 80), +(17, 384, 99), +(17, 385, 66), +(17, 386, 75), +(17, 387, 80), +(17, 388, 96), +(17, 389, 79), +(17, 390, 68), +(17, 391, 93), +(17, 392, 98), +(17, 393, 88), +(17, 394, 85), +(17, 395, 85), +(17, 396, 91), +(17, 397, 79), +(17, 398, 94), +(17, 399, 87), +(17, 400, 74), +(17, 401, 85), +(17, 402, 78), +(17, 403, 73), +(17, 404, 73), +(17, 405, 81), +(17, 406, 78), +(17, 407, 90), +(17, 408, 73), +(17, 409, 92), +(17, 410, 98), +(17, 411, 67), +(17, 412, 76), +(17, 413, 65), +(17, 414, 94), +(17, 415, 72), +(17, 416, 75), +(17, 417, 80), +(17, 418, 72), +(17, 419, 93), +(17, 420, 67), +(17, 421, 69), +(17, 422, 71), +(17, 423, 77), +(17, 424, 73), +(17, 425, 71), +(17, 426, 91), +(17, 427, 74), +(17, 428, 84), +(17, 429, 76), +(17, 430, 89), +(17, 431, 75), +(17, 432, 84), +(17, 433, 85), +(17, 434, 66), +(17, 435, 96), +(17, 436, 85), +(17, 437, 91), +(17, 438, 79), +(17, 439, 81), +(17, 440, 76), +(17, 441, 98), +(17, 442, 89), +(17, 443, 93), +(17, 444, 69), +(17, 445, 96), +(17, 446, 78), +(17, 447, 70), +(17, 448, 88), +(17, 449, 92), +(17, 450, 79), +(17, 451, 65), +(17, 452, 85), +(17, 453, 67), +(17, 454, 93), +(17, 455, 88), +(17, 456, 69), +(17, 457, 67), +(17, 458, 78), +(17, 459, 80), +(17, 460, 90), +(17, 461, 65), +(17, 462, 93), +(17, 463, 79), +(17, 464, 74), +(17, 465, 88), +(17, 466, 95), +(17, 467, 87), +(17, 468, 80), +(17, 469, 93), +(17, 470, 95), +(17, 471, 74), +(17, 472, 81), +(17, 473, 74), +(17, 474, 92), +(17, 475, 86), +(17, 476, 74), +(17, 477, 65), +(17, 478, 78), +(17, 479, 91), +(17, 480, 92), +(17, 481, 81), +(17, 482, 74), +(17, 483, 95), +(17, 484, 86), +(17, 485, 72), +(17, 486, 93), +(17, 487, 68), +(17, 488, 72), +(17, 489, 94), +(17, 490, 65), +(17, 491, 92), +(17, 492, 77), +(17, 493, 66), +(17, 494, 91), +(17, 495, 88), +(17, 496, 79), +(17, 497, 84), +(17, 498, 77), +(17, 499, 97), +(17, 500, 76), +(17, 501, 85), +(17, 502, 86), +(17, 503, 65), +(17, 504, 82), +(17, 505, 65), +(17, 506, 95), +(17, 507, 91), +(17, 508, 72), +(17, 509, 69), +(17, 510, 98), +(17, 511, 83), +(17, 512, 70), +(17, 513, 67), +(17, 514, 94), +(17, 515, 73), +(17, 516, 65), +(17, 517, 80), +(17, 518, 95), +(17, 519, 77), +(17, 520, 68), +(17, 521, 95), +(17, 522, 84), +(17, 523, 90), +(17, 524, 71), +(17, 525, 89), +(17, 526, 95), +(17, 527, 81), +(17, 528, 91), +(17, 529, 69), +(17, 530, 98), +(17, 531, 96), +(17, 532, 66), +(17, 533, 83), +(17, 534, 79), +(17, 535, 65), +(17, 536, 70), +(17, 537, 96), +(17, 538, 66), +(17, 539, 94), +(17, 540, 86), +(17, 541, 74), +(17, 542, 88), +(17, 543, 69), +(17, 544, 69), +(17, 545, 72), +(17, 546, 73), +(17, 547, 70), +(17, 548, 94), +(17, 549, 81), +(17, 550, 83), +(17, 551, 85), +(17, 552, 79), +(17, 553, 95), +(17, 554, 79), +(17, 555, 92), +(17, 556, 65), +(17, 557, 75), +(17, 558, 76), +(17, 559, 89), +(17, 560, 67), +(17, 561, 79), +(17, 562, 65), +(17, 563, 96), +(17, 564, 91), +(17, 1024, 98), +(17, 1025, 71), +(17, 1026, 74), +(17, 1027, 83), +(17, 1028, 77), +(17, 1029, 91), +(17, 1030, 69), +(17, 1031, 86), +(17, 1032, 88), +(17, 1033, 96), +(17, 1034, 97), +(17, 1035, 77), +(17, 1036, 85), +(17, 1037, 90), +(17, 1038, 65), +(17, 1039, 89), +(17, 1040, 86), +(17, 1041, 72), +(17, 1042, 85), +(17, 1043, 97), +(17, 1044, 66), +(17, 1045, 96), +(17, 1046, 80), +(17, 1047, 98), +(17, 1048, 99), +(17, 1049, 99), +(17, 1050, 67), +(17, 1051, 87), +(17, 1052, 76), +(17, 1053, 95), +(17, 1054, 87), +(17, 1055, 92), +(17, 1056, 75), +(17, 1057, 86), +(17, 1058, 80), +(17, 1059, 66), +(17, 1060, 70), +(17, 1061, 70), +(17, 1062, 85), +(17, 1063, 91), +(17, 1064, 78), +(17, 1065, 70), +(17, 1066, 81), +(17, 1067, 89), +(17, 1068, 75), +(17, 1069, 93), +(17, 1070, 99), +(17, 1071, 76), +(17, 1072, 86), +(17, 1073, 86), +(17, 1074, 83), +(17, 1075, 93), +(17, 1076, 78), +(17, 1077, 77), +(17, 1078, 65), +(17, 1079, 80), +(17, 1080, 95), +(17, 1081, 94), +(17, 1082, 86), +(17, 1083, 97), +(17, 1084, 82), +(17, 1085, 98), +(17, 1086, 71), +(17, 1087, 98), +(17, 1088, 68), +(17, 1089, 93), +(17, 1090, 97), +(17, 1091, 73), +(17, 1092, 75), +(17, 1093, 66), +(17, 1094, 98), +(17, 1095, 99), +(17, 1096, 99), +(17, 1097, 88), +(17, 1098, 94), +(17, 1099, 92), +(17, 1100, 86), +(17, 1101, 66), +(17, 1102, 83), +(17, 1103, 95), +(17, 1104, 88), +(17, 1105, 94), +(17, 1106, 71), +(17, 1107, 83), +(17, 1108, 68), +(17, 1109, 69), +(17, 1110, 76), +(17, 1111, 66), +(17, 1112, 88), +(17, 1113, 82), +(17, 1114, 93), +(17, 1115, 80), +(17, 1116, 68), +(17, 1117, 70), +(17, 1118, 84), +(17, 1119, 69), +(17, 1120, 94), +(17, 1121, 76), +(17, 1122, 66), +(17, 1123, 81), +(17, 1124, 67), +(17, 1125, 78), +(17, 1126, 96), +(17, 1127, 86), +(17, 1128, 95), +(17, 1129, 67), +(17, 1130, 68), +(17, 1131, 81), +(17, 1132, 67), +(17, 1133, 82), +(17, 1134, 76), +(17, 1135, 86), +(17, 1136, 76), +(17, 1137, 86), +(17, 1138, 90), +(17, 1139, 67), +(17, 1140, 80), +(17, 1141, 90), +(17, 1142, 67), +(17, 1143, 99), +(17, 1144, 79), +(17, 1145, 79), +(17, 1146, 93), +(17, 1147, 80), +(17, 1148, 75), +(17, 1149, 78), +(17, 1150, 70), +(17, 1151, 67), +(17, 1152, 67), +(17, 1153, 90), +(17, 1154, 76), +(17, 1155, 87), +(17, 1156, 69), +(17, 1157, 99), +(17, 1158, 83), +(17, 1159, 90), +(17, 1160, 98), +(17, 1161, 81), +(17, 1162, 86), +(17, 1163, 93), +(17, 1164, 68), +(17, 1165, 85), +(17, 1166, 89), +(17, 1167, 84), +(17, 1168, 75), +(17, 1169, 96), +(17, 1170, 81), +(17, 1171, 92), +(17, 1172, 96), +(17, 1173, 75), +(17, 1174, 80), +(17, 1175, 76), +(17, 1176, 69), +(17, 1177, 78), +(17, 1178, 79), +(17, 1179, 93), +(17, 1180, 68), +(17, 1181, 84), +(17, 1182, 65), +(17, 1183, 66), +(17, 1184, 92), +(17, 1185, 75), +(17, 1186, 76), +(17, 1187, 98), +(17, 1188, 74), +(17, 1189, 91), +(17, 1190, 75), +(17, 1191, 95), +(17, 1192, 67), +(17, 1193, 98), +(17, 1194, 75), +(17, 1195, 95), +(17, 1196, 71), +(17, 1197, 91), +(17, 1198, 99), +(17, 1199, 91), +(17, 1200, 82), +(17, 1201, 84), +(17, 1202, 78), +(17, 1203, 82), +(17, 1204, 77), +(17, 1205, 92), +(17, 1206, 99), +(17, 1207, 85), +(17, 1208, 82), +(17, 1209, 67), +(17, 1210, 96), +(17, 1211, 67), +(17, 1212, 80), +(17, 1213, 85), +(17, 1214, 70), +(17, 1215, 87), +(17, 1216, 81), +(17, 1217, 88), +(17, 1218, 92), +(17, 1219, 86), +(17, 1220, 86), +(17, 1221, 87), +(17, 1222, 69), +(17, 1223, 98), +(17, 1224, 70), +(17, 1225, 72), +(17, 1226, 94), +(17, 1227, 80), +(17, 1228, 89), +(17, 1229, 93), +(17, 1230, 72), +(17, 1231, 65), +(17, 1232, 81), +(17, 1233, 92), +(17, 1234, 66), +(17, 1235, 71), +(17, 1236, 92), +(17, 1237, 72), +(17, 1238, 82), +(17, 1239, 80), +(17, 1240, 75), +(17, 1241, 86), +(17, 1242, 67), +(17, 1243, 74), +(17, 1244, 69), +(17, 1245, 92), +(17, 1246, 80), +(17, 1247, 79), +(17, 1248, 75), +(17, 1249, 93), +(17, 1250, 95), +(17, 1251, 79), +(17, 1252, 71), +(17, 1253, 72), +(17, 1254, 72), +(17, 1255, 70), +(17, 1256, 68), +(17, 1257, 71), +(17, 1258, 78), +(17, 1259, 87), +(17, 1260, 95), +(17, 1261, 99), +(17, 1262, 99), +(17, 1263, 82), +(17, 1264, 94), +(17, 1265, 78), +(17, 1266, 84), +(17, 1267, 92), +(17, 1268, 91), +(17, 1269, 84), +(17, 1270, 67), +(17, 1271, 94), +(17, 1272, 76), +(17, 1273, 78), +(17, 1274, 86), +(17, 1275, 79), +(17, 1276, 83), +(17, 1277, 79), +(17, 1278, 97), +(17, 1279, 91), +(17, 1280, 90), +(17, 1281, 68), +(17, 1282, 75), +(17, 1283, 82), +(17, 1284, 82), +(17, 1285, 98), +(17, 1286, 80), +(17, 1287, 79), +(17, 1288, 78), +(17, 1289, 70), +(17, 1290, 68), +(17, 1291, 70), +(17, 1292, 97), +(17, 1293, 96), +(17, 1294, 71), +(17, 1295, 82), +(17, 1296, 70), +(17, 1297, 84), +(17, 1298, 77), +(17, 1299, 66), +(17, 1300, 94), +(17, 1301, 83), +(17, 1302, 98), +(17, 1303, 87), +(17, 1304, 69), +(17, 1305, 97), +(17, 1306, 77), +(17, 1307, 98), +(17, 1308, 78), +(17, 1309, 75), +(17, 1310, 95), +(17, 1311, 71), +(17, 1312, 76), +(17, 1313, 98), +(17, 1314, 73), +(17, 1315, 89), +(17, 1316, 72), +(17, 1317, 69), +(17, 1318, 80), +(17, 1319, 72), +(17, 1320, 97), +(17, 1321, 90), +(17, 1322, 94), +(17, 1323, 96), +(17, 1324, 89), +(17, 1325, 65), +(17, 1326, 71), +(17, 1327, 91), +(17, 1328, 68), +(17, 1329, 75), +(17, 1330, 72), +(17, 1331, 66), +(17, 1332, 81), +(17, 1333, 69), +(17, 1334, 67), +(17, 1335, 91), +(17, 1336, 92), +(17, 1337, 73), +(17, 1338, 84), +(17, 1339, 93), +(17, 1340, 74), +(17, 1341, 66), +(17, 1342, 93), +(17, 1343, 94), +(17, 1344, 69), +(17, 1345, 88), +(17, 1346, 97), +(17, 1347, 98), +(17, 1348, 83), +(17, 1349, 90), +(17, 1350, 83), +(17, 1351, 84), +(17, 1352, 92), +(17, 1353, 88), +(17, 1354, 84), +(17, 1355, 94), +(17, 1356, 96), +(17, 1357, 85), +(17, 1358, 98), +(17, 1359, 77), +(17, 1360, 70), +(17, 1361, 81), +(17, 1362, 67), +(17, 1363, 66), +(17, 1364, 72), +(17, 1365, 91), +(17, 1366, 83), +(17, 1367, 91), +(17, 1368, 66), +(17, 1369, 78), +(17, 1370, 92), +(17, 1371, 78), +(17, 1372, 73), +(17, 1373, 76), +(17, 1374, 67), +(17, 1375, 90), +(17, 1376, 87), +(17, 1377, 92), +(17, 1378, 78), +(17, 1379, 80), +(17, 1380, 97), +(17, 1381, 72), +(17, 1382, 91), +(17, 1383, 96), +(17, 1384, 81), +(17, 1385, 85), +(17, 1386, 79), +(17, 1387, 85), +(17, 1388, 88), +(17, 1389, 86), +(17, 1390, 67), +(17, 1391, 92), +(17, 1392, 84), +(17, 1393, 94), +(17, 1394, 72), +(17, 1395, 95), +(17, 1396, 94), +(17, 1397, 86), +(17, 1398, 95), +(17, 1399, 86), +(17, 1400, 77), +(17, 1401, 70), +(17, 1402, 65), +(17, 1403, 74), +(17, 1404, 89), +(17, 1405, 98), +(17, 1406, 94), +(17, 1407, 85), +(17, 1408, 98), +(17, 1409, 71), +(17, 1410, 73), +(17, 1411, 88), +(17, 1412, 69), +(17, 1413, 97), +(17, 1414, 68), +(17, 1415, 99), +(17, 1416, 83), +(17, 1417, 73), +(17, 1418, 73), +(17, 1419, 75), +(17, 1420, 76), +(17, 1421, 91), +(17, 1422, 65), +(17, 1423, 78), +(17, 1424, 79), +(17, 1425, 69), +(17, 1426, 73), +(17, 1427, 82), +(17, 1428, 86), +(17, 1429, 82), +(17, 1430, 72), +(17, 1431, 95), +(17, 1432, 67), +(17, 1433, 89), +(17, 1434, 93), +(17, 1435, 95), +(17, 1436, 82), +(17, 1437, 80), +(17, 1438, 75), +(17, 1439, 93), +(17, 1440, 92), +(17, 1441, 92), +(17, 1442, 72), +(17, 1443, 78), +(17, 1444, 97), +(17, 1445, 95), +(17, 1446, 93), +(17, 1447, 90), +(17, 1448, 81), +(17, 1449, 97), +(17, 1450, 75), +(17, 1451, 97), +(17, 1452, 90), +(17, 1453, 99), +(17, 1454, 67), +(17, 1455, 70), +(17, 1456, 95), +(17, 1457, 86), +(17, 1458, 78), +(17, 1459, 76), +(17, 1460, 80), +(17, 1461, 66), +(17, 1462, 89), +(17, 1463, 70), +(17, 1464, 73), +(17, 1465, 87), +(17, 1466, 99), +(17, 1467, 85), +(17, 1468, 67), +(17, 1469, 95), +(17, 1470, 95), +(17, 1471, 65), +(17, 1472, 94), +(17, 1473, 75), +(17, 1474, 65), +(17, 1475, 81), +(17, 1476, 72), +(17, 1477, 96), +(17, 1478, 96), +(17, 1479, 80), +(17, 1480, 68), +(17, 1481, 82), +(17, 1482, 79), +(17, 1483, 93), +(17, 1484, 73), +(17, 1485, 99), +(17, 1486, 99), +(17, 1487, 76), +(17, 1488, 96), +(17, 1489, 88), +(17, 1490, 71), +(17, 1491, 90), +(17, 1492, 73), +(17, 1493, 69), +(17, 1494, 76), +(17, 1495, 85), +(17, 1496, 99), +(17, 1497, 76), +(17, 1498, 85), +(17, 1499, 77), +(17, 1500, 73), +(17, 1501, 70), +(17, 1502, 91), +(17, 1503, 95), +(17, 1504, 89), +(17, 1505, 98), +(17, 1506, 88), +(17, 1507, 70), +(17, 1508, 84), +(17, 1509, 65), +(17, 1510, 95), +(17, 1511, 92), +(17, 1512, 96), +(17, 1513, 77), +(17, 1514, 69), +(17, 1515, 72), +(17, 1516, 80), +(17, 1517, 89), +(17, 1518, 67), +(17, 1519, 96), +(17, 1520, 76), +(17, 1521, 83), +(17, 1522, 95), +(17, 1523, 72), +(17, 1524, 99), +(17, 1525, 72), +(17, 1526, 76), +(17, 1527, 71), +(17, 1528, 65), +(17, 1529, 83), +(17, 1530, 98), +(17, 1531, 96), +(17, 1532, 89), +(17, 1533, 91), +(17, 1534, 97), +(17, 1535, 71), +(17, 1536, 68), +(17, 1537, 82), +(17, 1538, 90), +(17, 1539, 96), +(17, 1540, 92), +(17, 1541, 89), +(17, 1542, 92), +(17, 1543, 75), +(17, 1544, 65), +(17, 1545, 65), +(17, 1546, 85), +(17, 1547, 72), +(17, 1548, 97), +(17, 1549, 83), +(17, 1550, 72), +(17, 1551, 90), +(17, 1552, 90), +(17, 1553, 88), +(17, 1554, 98), +(17, 1555, 95), +(17, 1556, 76), +(17, 1557, 76), +(17, 1558, 71), +(17, 1559, 65), +(17, 1560, 93), +(17, 1561, 88), +(17, 1562, 73), +(17, 1563, 74), +(17, 1564, 91), +(17, 1565, 97), +(17, 1566, 70), +(17, 1567, 93), +(17, 1568, 91), +(17, 1569, 93), +(17, 1570, 84), +(17, 1571, 96), +(17, 1572, 82), +(17, 1573, 75), +(17, 1574, 91), +(17, 1575, 80), +(17, 1576, 73), +(17, 1577, 94), +(17, 1578, 91), +(17, 1579, 76), +(17, 1580, 91), +(17, 1581, 79), +(17, 1582, 69), +(17, 1583, 89), +(17, 1584, 80), +(17, 1585, 93), +(17, 1586, 79), +(17, 1587, 72), +(17, 2047, 77), +(17, 2048, 72), +(17, 2049, 70), +(17, 2050, 77), +(17, 2051, 72), +(17, 2052, 78), +(17, 2053, 73), +(17, 2054, 80), +(17, 2055, 65), +(17, 2056, 77), +(17, 2057, 69), +(17, 2058, 65), +(17, 2059, 87), +(17, 2060, 94), +(17, 2061, 93), +(17, 2062, 72), +(17, 2063, 67), +(17, 2064, 92), +(17, 2065, 81), +(17, 2066, 90), +(17, 2067, 80), +(17, 2068, 98), +(17, 2069, 86), +(17, 2070, 71), +(17, 2071, 74), +(17, 2072, 84), +(17, 2073, 89), +(17, 2074, 88), +(17, 2075, 69), +(17, 2076, 92), +(17, 2077, 85), +(17, 2078, 90), +(17, 2079, 81), +(17, 2080, 69), +(17, 2081, 76), +(17, 2082, 89), +(17, 2083, 86), +(17, 2084, 89), +(17, 2085, 93), +(17, 2086, 98), +(17, 2087, 94), +(17, 2088, 81), +(17, 2089, 79), +(17, 2090, 70), +(17, 2091, 87), +(17, 2092, 92), +(17, 2093, 85), +(17, 2094, 96), +(17, 2095, 92), +(17, 2096, 79), +(17, 2097, 74), +(17, 2098, 81), +(17, 2099, 76), +(17, 2100, 97), +(17, 2101, 70), +(17, 2102, 91), +(17, 2103, 97), +(17, 2104, 79), +(17, 2105, 98), +(17, 2106, 92), +(17, 2107, 81), +(17, 2108, 69), +(17, 2109, 75), +(17, 2110, 80), +(17, 2111, 97), +(17, 2112, 84), +(17, 2113, 88), +(17, 2114, 96), +(17, 2115, 76), +(17, 2116, 73), +(17, 2117, 95), +(17, 2118, 68), +(17, 2119, 87), +(17, 2120, 93), +(17, 2121, 76), +(17, 2122, 85), +(17, 2123, 82), +(17, 2124, 98), +(17, 2125, 97), +(17, 2126, 72), +(17, 2127, 95), +(17, 2128, 80), +(17, 2129, 88), +(17, 2130, 91), +(17, 2131, 78), +(17, 2132, 82), +(17, 2133, 70), +(17, 2134, 79), +(17, 2135, 83), +(17, 2136, 79), +(17, 2137, 71), +(17, 2138, 72), +(17, 2139, 82), +(17, 2140, 86), +(17, 2141, 69), +(17, 2142, 98), +(17, 2143, 76), +(17, 2144, 68), +(17, 2145, 83), +(17, 2146, 72), +(17, 2147, 65), +(17, 2148, 66), +(17, 2149, 72), +(17, 2150, 65), +(17, 2151, 74), +(17, 2152, 68), +(17, 2153, 75), +(17, 2154, 75), +(17, 2155, 96), +(17, 2156, 72), +(17, 2157, 75), +(17, 2158, 69), +(17, 2159, 80), +(17, 2160, 97), +(17, 2161, 89), +(17, 2162, 83), +(17, 2163, 99), +(17, 2164, 90), +(17, 2165, 78), +(17, 2166, 73), +(17, 2167, 85), +(17, 2168, 92), +(17, 2169, 79), +(17, 2170, 91), +(17, 2171, 96), +(17, 2172, 70), +(17, 2173, 99), +(17, 2174, 87), +(17, 2175, 83), +(17, 2176, 79), +(17, 2177, 99), +(17, 2178, 86), +(17, 2179, 88), +(17, 2180, 68), +(17, 2181, 91), +(17, 2182, 84), +(17, 2183, 90), +(17, 2184, 93), +(17, 2185, 80), +(17, 2186, 77), +(17, 2187, 91), +(17, 2188, 78), +(17, 2189, 93), +(17, 2190, 66), +(17, 2191, 76), +(17, 2192, 66), +(17, 2193, 71), +(17, 2194, 96), +(17, 2195, 95), +(17, 2196, 68), +(17, 2197, 87), +(17, 2198, 79), +(17, 2199, 93), +(17, 2200, 77), +(17, 2201, 69), +(17, 2202, 87), +(17, 2203, 86), +(17, 2204, 85), +(17, 2205, 94), +(17, 2206, 71), +(17, 2207, 75), +(17, 2208, 67), +(17, 2209, 74), +(17, 2210, 71), +(17, 2211, 81), +(17, 2212, 85), +(17, 2213, 91), +(17, 2214, 95), +(17, 2215, 92), +(17, 2216, 82), +(17, 2217, 91), +(17, 2218, 90), +(17, 2219, 86), +(17, 2220, 71), +(17, 2221, 73), +(17, 2222, 87), +(17, 2223, 70), +(17, 2224, 94), +(17, 2225, 71), +(17, 2226, 86), +(17, 2227, 97), +(17, 2228, 82), +(17, 2229, 93), +(17, 2230, 98), +(17, 2231, 88), +(17, 2232, 94), +(17, 2233, 98), +(17, 2234, 69), +(17, 2235, 96), +(17, 2236, 86), +(17, 2237, 74), +(17, 2238, 81), +(17, 2239, 76), +(17, 2240, 87), +(17, 2241, 75), +(17, 2242, 82), +(17, 2243, 77), +(17, 2244, 97), +(17, 2245, 71), +(17, 2246, 69), +(17, 2247, 96), +(17, 2248, 81), +(17, 2249, 84), +(17, 2250, 90), +(17, 2251, 74), +(17, 2252, 72), +(17, 2253, 65), +(17, 2254, 98), +(17, 2255, 69), +(17, 2256, 70), +(17, 2257, 79), +(17, 2258, 97), +(17, 2259, 94), +(17, 2260, 80), +(17, 2261, 79), +(17, 2262, 93), +(17, 2263, 95), +(17, 2264, 76), +(17, 2265, 83), +(17, 2266, 68), +(17, 2267, 68), +(17, 2268, 89), +(17, 2269, 85), +(17, 2270, 88), +(17, 2271, 85), +(17, 2272, 74), +(17, 2273, 83), +(17, 2274, 95), +(17, 2275, 84), +(17, 2276, 99), +(17, 2277, 88), +(17, 2278, 98), +(17, 2279, 94), +(17, 2280, 65), +(17, 2281, 98), +(17, 2282, 89), +(17, 2283, 82), +(17, 2284, 96), +(17, 2285, 76), +(17, 2286, 77), +(17, 2287, 65), +(17, 2288, 86), +(17, 2289, 66), +(17, 2290, 95), +(17, 2291, 83), +(17, 2292, 74), +(17, 2293, 83), +(17, 2294, 81), +(17, 2295, 74), +(17, 2296, 81), +(17, 2297, 67), +(17, 2298, 99), +(17, 2299, 87), +(17, 2300, 86), +(17, 2301, 98), +(17, 2302, 82), +(17, 2303, 67), +(17, 2304, 89), +(17, 2305, 73), +(17, 2306, 71), +(17, 2307, 69), +(17, 2308, 86), +(17, 2309, 79), +(17, 2310, 98), +(17, 2311, 85), +(17, 2312, 75), +(17, 2313, 85), +(17, 2314, 67), +(17, 2315, 75), +(17, 2316, 83), +(17, 2317, 75), +(17, 2318, 82), +(17, 2319, 79), +(17, 2320, 69), +(17, 2321, 81), +(17, 2322, 69), +(17, 2323, 71), +(17, 2324, 97), +(17, 2325, 70), +(17, 2326, 77), +(17, 2327, 82), +(17, 2328, 75), +(17, 2329, 89), +(17, 2330, 70), +(17, 2331, 94), +(17, 2332, 80), +(17, 2333, 85), +(17, 2334, 82), +(17, 2335, 78), +(17, 2336, 87), +(17, 2337, 99), +(17, 2338, 79), +(17, 2339, 82), +(17, 2340, 82), +(17, 2341, 78), +(17, 2342, 70), +(17, 2343, 94), +(17, 2344, 97), +(17, 2345, 83), +(17, 2346, 79), +(17, 2347, 93), +(17, 2348, 75), +(17, 2349, 71), +(17, 2350, 69), +(17, 2351, 82), +(17, 2352, 87), +(17, 2353, 77), +(17, 2354, 98), +(17, 2355, 85), +(17, 2356, 92), +(17, 2357, 80), +(17, 2358, 81), +(17, 2359, 92), +(17, 2360, 81), +(17, 2361, 95), +(17, 2362, 87), +(17, 2363, 92), +(17, 2364, 81), +(17, 2365, 82), +(17, 2366, 96), +(17, 2367, 92), +(17, 2368, 70), +(17, 2369, 93), +(17, 2370, 77), +(17, 2371, 89), +(17, 2372, 95), +(17, 2373, 88), +(17, 2374, 77), +(17, 2375, 90), +(17, 2376, 97), +(17, 2377, 92), +(17, 2378, 83), +(17, 2379, 66), +(17, 2380, 86), +(17, 2381, 69), +(17, 2382, 78), +(17, 2383, 89), +(17, 2384, 85), +(17, 2385, 80), +(17, 2386, 71), +(17, 2387, 80), +(17, 2388, 71), +(17, 2389, 79), +(17, 2390, 83), +(17, 2391, 83), +(17, 2392, 66), +(17, 2393, 83), +(17, 2394, 99), +(17, 2395, 73), +(17, 2396, 80), +(17, 2397, 93), +(17, 2398, 74), +(17, 2399, 65), +(17, 2400, 70), +(17, 2401, 98), +(17, 2402, 86), +(17, 2403, 91), +(17, 2404, 70), +(17, 2405, 95), +(17, 2406, 85), +(17, 2407, 90), +(17, 2408, 66), +(17, 2409, 74), +(17, 2410, 96), +(17, 2411, 66), +(17, 2412, 94), +(17, 2413, 70), +(17, 2414, 97), +(17, 2415, 86), +(17, 2416, 70), +(17, 2417, 70), +(17, 2418, 79), +(17, 2419, 89), +(17, 2420, 76), +(17, 2421, 76), +(17, 2422, 93), +(17, 2423, 89), +(17, 2424, 85), +(17, 2425, 86), +(17, 2426, 95), +(17, 2427, 70), +(17, 2428, 75), +(17, 2429, 66), +(17, 2430, 92), +(17, 2431, 92), +(17, 2432, 89), +(17, 2433, 83), +(17, 2434, 93), +(17, 2435, 92), +(17, 2436, 89), +(17, 2437, 79), +(17, 2438, 79), +(17, 2439, 82), +(17, 2440, 87), +(17, 2441, 72), +(17, 2442, 79), +(17, 2443, 80), +(17, 2444, 79), +(17, 2445, 75), +(17, 2446, 91), +(17, 2447, 81), +(17, 2448, 75), +(17, 2449, 82), +(17, 2450, 89), +(17, 2451, 75), +(17, 2452, 79), +(17, 2453, 97), +(17, 2454, 91), +(17, 2455, 73), +(17, 2456, 99), +(17, 2457, 73), +(17, 2458, 72), +(17, 2459, 86), +(17, 2460, 70), +(17, 2461, 84), +(17, 2462, 86), +(17, 2463, 74), +(17, 2464, 84), +(17, 2465, 93), +(17, 2466, 75), +(17, 2467, 84), +(17, 2468, 65), +(17, 2469, 72), +(17, 2470, 85), +(17, 2471, 99), +(17, 2472, 92), +(17, 2473, 81), +(17, 2474, 83), +(17, 2475, 89), +(17, 2476, 65), +(17, 2477, 65), +(17, 2478, 77), +(17, 2479, 85), +(17, 2480, 78), +(17, 2481, 74), +(17, 2482, 90), +(17, 2483, 67), +(17, 2484, 82), +(17, 2485, 77), +(17, 2486, 77), +(17, 2487, 91), +(17, 2488, 96), +(17, 2489, 91), +(17, 2490, 83), +(17, 2491, 74), +(17, 2492, 95), +(17, 2493, 76), +(17, 2494, 97), +(17, 2495, 77), +(17, 2496, 68), +(17, 2497, 66), +(17, 2498, 91), +(17, 2499, 98), +(17, 2500, 75), +(17, 2501, 78), +(17, 2502, 99), +(17, 2503, 84), +(17, 2504, 77), +(17, 2505, 99), +(17, 2506, 81), +(17, 2507, 87), +(17, 2508, 84), +(17, 2509, 88), +(17, 2510, 84), +(17, 2511, 73), +(17, 2512, 88), +(17, 2513, 75), +(17, 2514, 86), +(17, 2515, 99), +(17, 2516, 87), +(17, 2517, 66), +(17, 2518, 75), +(17, 2519, 74), +(17, 2520, 69), +(17, 2521, 78), +(17, 2522, 94), +(17, 2523, 68), +(17, 2524, 98), +(17, 2525, 91), +(17, 2526, 72), +(17, 2527, 87), +(17, 2528, 72), +(17, 2529, 99), +(17, 2530, 70), +(17, 2531, 85), +(17, 2532, 84), +(17, 2533, 75), +(17, 2534, 89), +(17, 2535, 78), +(17, 2536, 99), +(17, 2537, 97), +(17, 2538, 94), +(17, 2539, 98), +(17, 2540, 66), +(17, 2541, 86), +(17, 2542, 84), +(17, 2543, 83), +(17, 2544, 74), +(17, 2545, 76), +(17, 2546, 88), +(17, 2547, 92), +(17, 2548, 69), +(17, 2549, 72), +(17, 2550, 91), +(17, 2551, 78), +(17, 2552, 74), +(17, 2553, 95), +(17, 2554, 74), +(17, 2555, 85), +(17, 2556, 98), +(17, 2557, 69), +(17, 2558, 91), +(17, 2559, 85), +(17, 2560, 82), +(17, 2561, 79), +(17, 2562, 96), +(17, 2563, 71), +(17, 2564, 74), +(17, 2565, 91), +(17, 2566, 74), +(17, 2567, 67), +(17, 2568, 95), +(17, 2569, 83), +(17, 2570, 90), +(17, 2571, 84), +(17, 2572, 67), +(17, 2573, 67), +(17, 2574, 81), +(17, 2575, 97), +(17, 2576, 76), +(17, 2577, 66), +(17, 2578, 85), +(17, 2579, 75), +(17, 2580, 83), +(17, 2581, 74), +(17, 2582, 73), +(17, 2583, 67), +(17, 2584, 67), +(17, 2585, 93), +(17, 2586, 72), +(17, 2587, 90), +(17, 2588, 72), +(17, 2589, 98), +(17, 2590, 72), +(17, 2591, 98), +(17, 2592, 89), +(17, 2593, 71), +(17, 2594, 88), +(17, 2595, 86), +(17, 2596, 83), +(17, 2597, 85), +(17, 2598, 80), +(17, 2599, 96), +(17, 2600, 96), +(17, 2601, 94), +(17, 2602, 71), +(17, 2603, 79), +(17, 2604, 83), +(17, 2605, 94), +(17, 2606, 91), +(17, 2607, 70), +(17, 2608, 91), +(17, 2609, 98), +(17, 2610, 78), +(18, 1, 69), +(18, 2, 66), +(18, 3, 84), +(18, 4, 77), +(18, 5, 85), +(18, 6, 98), +(18, 7, 74), +(18, 8, 71), +(18, 9, 91), +(18, 10, 97), +(18, 11, 76), +(18, 12, 96), +(18, 13, 68), +(18, 14, 75), +(18, 15, 99), +(18, 16, 94), +(18, 17, 72), +(18, 18, 79), +(18, 19, 75), +(18, 20, 92), +(18, 21, 65), +(18, 22, 97), +(18, 23, 79), +(18, 24, 67), +(18, 25, 73), +(18, 26, 99), +(18, 27, 84), +(18, 28, 72), +(18, 29, 99), +(18, 30, 71), +(18, 31, 89), +(18, 32, 71), +(18, 33, 97), +(18, 34, 92), +(18, 35, 94), +(18, 36, 95), +(18, 37, 97), +(18, 38, 70), +(18, 39, 75), +(18, 40, 78), +(18, 41, 90), +(18, 42, 89), +(18, 43, 78), +(18, 44, 71), +(18, 45, 66), +(18, 46, 73), +(18, 47, 92), +(18, 48, 99), +(18, 49, 90), +(18, 50, 80), +(18, 51, 89), +(18, 52, 66), +(18, 53, 98), +(18, 54, 98), +(18, 55, 77), +(18, 56, 96), +(18, 57, 90), +(18, 58, 67), +(18, 59, 90), +(18, 60, 84), +(18, 61, 77), +(18, 62, 97), +(18, 63, 79), +(18, 64, 76), +(18, 65, 80), +(18, 66, 91), +(18, 67, 67), +(18, 68, 97), +(18, 69, 70), +(18, 70, 66), +(18, 71, 71), +(18, 72, 96), +(18, 73, 98), +(18, 74, 85), +(18, 75, 89), +(18, 76, 65), +(18, 77, 77), +(18, 78, 73), +(18, 79, 65), +(18, 80, 92), +(18, 81, 98), +(18, 82, 70), +(18, 83, 76), +(18, 84, 83), +(18, 85, 92), +(18, 86, 70), +(18, 87, 88), +(18, 88, 80), +(18, 89, 78), +(18, 90, 71), +(18, 91, 82), +(18, 92, 78), +(18, 93, 91), +(18, 94, 79), +(18, 95, 96), +(18, 96, 76), +(18, 97, 77), +(18, 98, 88), +(18, 99, 72), +(18, 100, 84), +(18, 101, 72), +(18, 102, 98), +(18, 103, 90), +(18, 104, 73), +(18, 105, 78), +(18, 106, 98), +(18, 107, 91), +(18, 108, 76), +(18, 109, 81), +(18, 110, 80), +(18, 111, 98), +(18, 112, 96), +(18, 113, 99), +(18, 114, 78), +(18, 115, 88), +(18, 116, 97), +(18, 117, 86), +(18, 118, 97), +(18, 119, 71), +(18, 120, 84), +(18, 121, 89), +(18, 122, 86), +(18, 123, 79), +(18, 124, 73), +(18, 125, 98), +(18, 126, 76), +(18, 127, 75), +(18, 128, 86), +(18, 129, 84), +(18, 130, 67), +(18, 131, 76), +(18, 132, 84), +(18, 133, 95), +(18, 134, 85), +(18, 135, 77), +(18, 136, 94), +(18, 137, 97), +(18, 138, 84), +(18, 139, 99), +(18, 140, 65), +(18, 141, 71), +(18, 142, 93), +(18, 143, 78), +(18, 144, 92), +(18, 145, 86), +(18, 146, 88), +(18, 147, 81), +(18, 148, 73), +(18, 149, 83), +(18, 150, 92), +(18, 151, 72), +(18, 152, 94), +(18, 153, 72), +(18, 154, 95), +(18, 155, 87), +(18, 156, 95), +(18, 157, 72), +(18, 158, 96), +(18, 159, 70), +(18, 160, 68), +(18, 161, 95), +(18, 162, 96), +(18, 163, 80), +(18, 164, 67), +(18, 165, 94), +(18, 166, 93), +(18, 167, 98), +(18, 168, 99), +(18, 169, 99), +(18, 170, 87), +(18, 171, 98), +(18, 172, 74), +(18, 173, 88), +(18, 174, 92), +(18, 175, 73), +(18, 176, 95), +(18, 177, 94), +(18, 178, 88), +(18, 179, 85), +(18, 180, 66), +(18, 181, 84), +(18, 182, 92), +(18, 183, 92), +(18, 184, 99), +(18, 185, 77), +(18, 186, 74), +(18, 187, 85), +(18, 188, 91), +(18, 189, 80), +(18, 190, 81), +(18, 191, 76), +(18, 192, 86), +(18, 193, 90), +(18, 194, 69), +(18, 195, 75), +(18, 196, 85), +(18, 197, 98), +(18, 198, 70), +(18, 199, 75), +(18, 200, 78), +(18, 201, 90), +(18, 202, 91), +(18, 203, 70), +(18, 204, 88), +(18, 205, 85), +(18, 206, 86), +(18, 207, 84), +(18, 208, 89), +(18, 209, 74), +(18, 210, 86), +(18, 211, 66), +(18, 212, 76), +(18, 213, 66), +(18, 214, 90), +(18, 215, 69), +(18, 216, 75), +(18, 217, 74), +(18, 218, 90), +(18, 219, 75), +(18, 220, 77), +(18, 221, 86), +(18, 222, 70), +(18, 223, 94), +(18, 224, 76), +(18, 225, 79), +(18, 226, 92), +(18, 227, 97), +(18, 228, 81), +(18, 229, 67), +(18, 230, 76), +(18, 231, 95), +(18, 232, 72), +(18, 233, 87), +(18, 234, 84), +(18, 235, 66), +(18, 236, 83), +(18, 237, 81), +(18, 238, 70), +(18, 239, 72), +(18, 240, 82), +(18, 241, 79), +(18, 242, 92), +(18, 243, 68), +(18, 244, 90), +(18, 245, 96), +(18, 246, 80), +(18, 247, 69), +(18, 248, 95), +(18, 249, 76), +(18, 250, 66), +(18, 251, 89), +(18, 252, 97), +(18, 253, 88), +(18, 254, 67), +(18, 255, 87), +(18, 256, 96), +(18, 257, 83), +(18, 258, 76), +(18, 259, 80), +(18, 260, 66), +(18, 261, 83), +(18, 262, 69), +(18, 263, 74), +(18, 264, 97), +(18, 265, 70), +(18, 266, 69), +(18, 267, 89), +(18, 268, 72), +(18, 269, 67), +(18, 270, 66), +(18, 271, 91), +(18, 272, 72), +(18, 273, 95), +(18, 274, 83), +(18, 275, 88), +(18, 276, 91), +(18, 277, 98), +(18, 278, 77), +(18, 279, 91), +(18, 280, 66), +(18, 281, 87), +(18, 282, 72), +(18, 283, 97), +(18, 284, 75), +(18, 285, 89), +(18, 286, 68), +(18, 287, 85), +(18, 288, 81), +(18, 289, 88), +(18, 290, 91), +(18, 291, 87), +(18, 292, 72), +(18, 293, 97), +(18, 294, 85), +(18, 295, 65), +(18, 296, 78), +(18, 297, 67), +(18, 298, 85), +(18, 299, 75), +(18, 300, 90), +(18, 301, 80), +(18, 302, 96), +(18, 303, 91), +(18, 304, 96), +(18, 305, 77), +(18, 306, 87), +(18, 307, 85), +(18, 308, 92), +(18, 309, 70), +(18, 310, 69), +(18, 311, 76), +(18, 312, 93), +(18, 313, 91), +(18, 314, 77), +(18, 315, 98), +(18, 316, 91), +(18, 317, 82), +(18, 318, 81), +(18, 319, 72), +(18, 320, 83), +(18, 321, 88), +(18, 322, 78), +(18, 323, 92), +(18, 324, 89), +(18, 325, 88), +(18, 326, 91), +(18, 327, 97), +(18, 328, 85), +(18, 329, 80), +(18, 330, 78), +(18, 331, 91), +(18, 332, 67), +(18, 333, 82), +(18, 334, 97), +(18, 335, 89), +(18, 336, 86), +(18, 337, 87), +(18, 338, 89), +(18, 339, 98), +(18, 340, 77), +(18, 341, 74), +(18, 342, 84), +(18, 343, 80), +(18, 344, 73), +(18, 345, 67), +(18, 346, 86), +(18, 347, 76), +(18, 348, 76), +(18, 349, 99), +(18, 350, 67), +(18, 351, 79), +(18, 352, 69), +(18, 353, 86), +(18, 354, 73), +(18, 355, 82), +(18, 356, 68), +(18, 357, 82), +(18, 358, 84), +(18, 359, 69), +(18, 360, 78), +(18, 361, 75), +(18, 362, 98), +(18, 363, 78), +(18, 364, 65), +(18, 365, 73), +(18, 366, 72), +(18, 367, 69), +(18, 368, 81), +(18, 369, 68), +(18, 370, 80), +(18, 371, 72), +(18, 372, 96), +(18, 373, 82), +(18, 374, 95), +(18, 375, 71), +(18, 376, 67), +(18, 377, 75), +(18, 378, 77), +(18, 379, 97), +(18, 380, 66), +(18, 381, 95), +(18, 382, 93), +(18, 383, 94), +(18, 384, 85), +(18, 385, 81), +(18, 386, 83), +(18, 387, 89), +(18, 388, 96), +(18, 389, 82), +(18, 390, 98), +(18, 391, 93), +(18, 392, 67), +(18, 393, 86), +(18, 394, 72), +(18, 395, 75), +(18, 396, 67), +(18, 397, 92), +(18, 398, 81), +(18, 399, 93), +(18, 400, 97), +(18, 401, 72), +(18, 402, 94), +(18, 403, 87), +(18, 404, 75), +(18, 405, 80), +(18, 406, 78), +(18, 407, 92), +(18, 408, 79), +(18, 409, 72), +(18, 410, 78), +(18, 411, 96), +(18, 412, 87), +(18, 413, 96), +(18, 414, 87), +(18, 415, 81), +(18, 416, 94), +(18, 417, 83), +(18, 418, 98), +(18, 419, 83), +(18, 420, 89), +(18, 421, 67), +(18, 422, 66), +(18, 423, 75), +(18, 424, 96), +(18, 425, 70), +(18, 426, 66), +(18, 427, 65), +(18, 428, 79), +(18, 429, 88), +(18, 430, 71), +(18, 431, 68), +(18, 432, 93), +(18, 433, 86), +(18, 434, 74), +(18, 435, 73), +(18, 436, 85), +(18, 437, 78), +(18, 438, 92), +(18, 439, 66), +(18, 440, 99), +(18, 441, 82), +(18, 442, 99), +(18, 443, 83), +(18, 444, 94), +(18, 445, 98), +(18, 446, 98), +(18, 447, 70), +(18, 448, 88), +(18, 449, 67), +(18, 450, 99), +(18, 451, 74), +(18, 452, 80), +(18, 453, 73), +(18, 454, 77), +(18, 455, 92), +(18, 456, 83), +(18, 457, 91), +(18, 458, 87), +(18, 459, 69), +(18, 460, 69), +(18, 461, 85), +(18, 462, 81), +(18, 463, 95), +(18, 464, 82), +(18, 465, 74), +(18, 466, 84), +(18, 467, 96), +(18, 468, 67), +(18, 469, 84), +(18, 470, 73), +(18, 471, 96), +(18, 472, 93), +(18, 473, 95), +(18, 474, 83), +(18, 475, 83), +(18, 476, 95), +(18, 477, 74), +(18, 478, 99), +(18, 479, 86), +(18, 480, 97), +(18, 481, 82), +(18, 482, 81), +(18, 483, 79), +(18, 484, 97), +(18, 485, 80), +(18, 486, 66), +(18, 487, 80), +(18, 488, 90), +(18, 489, 93), +(18, 490, 87), +(18, 491, 68), +(18, 492, 79), +(18, 493, 83), +(18, 494, 90), +(18, 495, 84), +(18, 496, 66), +(18, 497, 65), +(18, 498, 79), +(18, 499, 90), +(18, 500, 92), +(18, 501, 82), +(18, 502, 80), +(18, 503, 73), +(18, 504, 84), +(18, 505, 78), +(18, 506, 93), +(18, 507, 87), +(18, 508, 89), +(18, 509, 70), +(18, 510, 85), +(18, 511, 82), +(18, 512, 75), +(18, 513, 97), +(18, 514, 84), +(18, 515, 65), +(18, 516, 97), +(18, 517, 78), +(18, 518, 87), +(18, 519, 76), +(18, 520, 86), +(18, 521, 74), +(18, 522, 65), +(18, 523, 65), +(18, 524, 69), +(18, 525, 88), +(18, 526, 78), +(18, 527, 67), +(18, 528, 85), +(18, 529, 81), +(18, 530, 69), +(18, 531, 96), +(18, 532, 82), +(18, 533, 81), +(18, 534, 84), +(18, 535, 65), +(18, 536, 76), +(18, 537, 85), +(18, 538, 79), +(18, 539, 91), +(18, 540, 80), +(18, 541, 71), +(18, 542, 72), +(18, 543, 95), +(18, 544, 96), +(18, 545, 65), +(18, 546, 90), +(18, 547, 70), +(18, 548, 79), +(18, 549, 84), +(18, 550, 88), +(18, 551, 76), +(18, 552, 97), +(18, 553, 82), +(18, 554, 91), +(18, 555, 91), +(18, 556, 86), +(18, 557, 98), +(18, 558, 92), +(18, 559, 93), +(18, 560, 90), +(18, 561, 66), +(18, 562, 68), +(18, 563, 72), +(18, 564, 88), +(18, 1024, 70), +(18, 1025, 69), +(18, 1026, 86), +(18, 1027, 72), +(18, 1028, 73), +(18, 1029, 74), +(18, 1030, 72), +(18, 1031, 72), +(18, 1032, 78), +(18, 1033, 75), +(18, 1034, 91), +(18, 1035, 67), +(18, 1036, 76), +(18, 1037, 79), +(18, 1038, 82), +(18, 1039, 71), +(18, 1040, 71), +(18, 1041, 84), +(18, 1042, 82), +(18, 1043, 88), +(18, 1044, 66), +(18, 1045, 87), +(18, 1046, 75), +(18, 1047, 95), +(18, 1048, 74), +(18, 1049, 81), +(18, 1050, 86), +(18, 1051, 66), +(18, 1052, 93), +(18, 1053, 94), +(18, 1054, 67), +(18, 1055, 95), +(18, 1056, 99), +(18, 1057, 72), +(18, 1058, 88), +(18, 1059, 92), +(18, 1060, 96), +(18, 1061, 70), +(18, 1062, 88), +(18, 1063, 99), +(18, 1064, 82), +(18, 1065, 86), +(18, 1066, 97), +(18, 1067, 89), +(18, 1068, 89), +(18, 1069, 98), +(18, 1070, 86), +(18, 1071, 92), +(18, 1072, 88), +(18, 1073, 66), +(18, 1074, 91), +(18, 1075, 67), +(18, 1076, 97), +(18, 1077, 99), +(18, 1078, 77), +(18, 1079, 97), +(18, 1080, 98), +(18, 1081, 89), +(18, 1082, 93), +(18, 1083, 96), +(18, 1084, 68), +(18, 1085, 67), +(18, 1086, 98), +(18, 1087, 90), +(18, 1088, 70), +(18, 1089, 68), +(18, 1090, 75), +(18, 1091, 97), +(18, 1092, 91), +(18, 1093, 97), +(18, 1094, 78), +(18, 1095, 73), +(18, 1096, 84), +(18, 1097, 95), +(18, 1098, 87), +(18, 1099, 99), +(18, 1100, 87), +(18, 1101, 71), +(18, 1102, 93), +(18, 1103, 73), +(18, 1104, 94), +(18, 1105, 76), +(18, 1106, 88), +(18, 1107, 80), +(18, 1108, 97), +(18, 1109, 98), +(18, 1110, 73), +(18, 1111, 93), +(18, 1112, 74), +(18, 1113, 98), +(18, 1114, 98), +(18, 1115, 94), +(18, 1116, 78), +(18, 1117, 85), +(18, 1118, 87), +(18, 1119, 65), +(18, 1120, 65), +(18, 1121, 99), +(18, 1122, 94), +(18, 1123, 74), +(18, 1124, 99), +(18, 1125, 91), +(18, 1126, 66), +(18, 1127, 68), +(18, 1128, 91), +(18, 1129, 99), +(18, 1130, 65), +(18, 1131, 68), +(18, 1132, 69), +(18, 1133, 94), +(18, 1134, 81), +(18, 1135, 76), +(18, 1136, 95), +(18, 1137, 83), +(18, 1138, 89), +(18, 1139, 83), +(18, 1140, 99), +(18, 1141, 88), +(18, 1142, 93), +(18, 1143, 89), +(18, 1144, 81), +(18, 1145, 87), +(18, 1146, 81), +(18, 1147, 93), +(18, 1148, 92), +(18, 1149, 85), +(18, 1150, 96), +(18, 1151, 78), +(18, 1152, 90), +(18, 1153, 78), +(18, 1154, 68), +(18, 1155, 93), +(18, 1156, 95), +(18, 1157, 66), +(18, 1158, 90), +(18, 1159, 89), +(18, 1160, 84), +(18, 1161, 92), +(18, 1162, 66), +(18, 1163, 96), +(18, 1164, 99), +(18, 1165, 68), +(18, 1166, 66), +(18, 1167, 77), +(18, 1168, 96), +(18, 1169, 99), +(18, 1170, 76), +(18, 1171, 84), +(18, 1172, 66), +(18, 1173, 81), +(18, 1174, 76), +(18, 1175, 70), +(18, 1176, 87), +(18, 1177, 68), +(18, 1178, 82), +(18, 1179, 97), +(18, 1180, 73), +(18, 1181, 95), +(18, 1182, 98), +(18, 1183, 98), +(18, 1184, 89), +(18, 1185, 68), +(18, 1186, 97), +(18, 1187, 82), +(18, 1188, 85), +(18, 1189, 80), +(18, 1190, 86), +(18, 1191, 91), +(18, 1192, 87), +(18, 1193, 86), +(18, 1194, 96), +(18, 1195, 78), +(18, 1196, 66), +(18, 1197, 88), +(18, 1198, 70), +(18, 1199, 92), +(18, 1200, 82), +(18, 1201, 77), +(18, 1202, 67), +(18, 1203, 65), +(18, 1204, 81), +(18, 1205, 94), +(18, 1206, 79), +(18, 1207, 97), +(18, 1208, 84), +(18, 1209, 95), +(18, 1210, 85), +(18, 1211, 77), +(18, 1212, 87), +(18, 1213, 99), +(18, 1214, 77), +(18, 1215, 74), +(18, 1216, 97), +(18, 1217, 91), +(18, 1218, 71), +(18, 1219, 72), +(18, 1220, 71), +(18, 1221, 67), +(18, 1222, 87), +(18, 1223, 78), +(18, 1224, 96), +(18, 1225, 86), +(18, 1226, 74), +(18, 1227, 71), +(18, 1228, 70), +(18, 1229, 81), +(18, 1230, 96), +(18, 1231, 94), +(18, 1232, 65), +(18, 1233, 68), +(18, 1234, 94), +(18, 1235, 71), +(18, 1236, 94), +(18, 1237, 77), +(18, 1238, 80), +(18, 1239, 96), +(18, 1240, 90), +(18, 1241, 98), +(18, 1242, 89), +(18, 1243, 98), +(18, 1244, 94), +(18, 1245, 68), +(18, 1246, 83), +(18, 1247, 74), +(18, 1248, 86), +(18, 1249, 97), +(18, 1250, 97), +(18, 1251, 74), +(18, 1252, 80), +(18, 1253, 74), +(18, 1254, 80), +(18, 1255, 73), +(18, 1256, 85), +(18, 1257, 99), +(18, 1258, 99), +(18, 1259, 80), +(18, 1260, 70), +(18, 1261, 67), +(18, 1262, 87), +(18, 1263, 69), +(18, 1264, 75), +(18, 1265, 79), +(18, 1266, 88), +(18, 1267, 95), +(18, 1268, 97), +(18, 1269, 95), +(18, 1270, 76), +(18, 1271, 79), +(18, 1272, 80), +(18, 1273, 90), +(18, 1274, 76), +(18, 1275, 66), +(18, 1276, 95), +(18, 1277, 91), +(18, 1278, 98), +(18, 1279, 84), +(18, 1280, 92), +(18, 1281, 92), +(18, 1282, 91), +(18, 1283, 96), +(18, 1284, 74), +(18, 1285, 65), +(18, 1286, 84), +(18, 1287, 95), +(18, 1288, 67), +(18, 1289, 76), +(18, 1290, 96), +(18, 1291, 73), +(18, 1292, 98), +(18, 1293, 91), +(18, 1294, 72), +(18, 1295, 72), +(18, 1296, 89), +(18, 1297, 74), +(18, 1298, 90), +(18, 1299, 80), +(18, 1300, 75), +(18, 1301, 95), +(18, 1302, 70), +(18, 1303, 67), +(18, 1304, 98), +(18, 1305, 84), +(18, 1306, 68), +(18, 1307, 68), +(18, 1308, 89), +(18, 1309, 82), +(18, 1310, 70), +(18, 1311, 84), +(18, 1312, 98), +(18, 1313, 85), +(18, 1314, 81), +(18, 1315, 73), +(18, 1316, 85), +(18, 1317, 83), +(18, 1318, 79), +(18, 1319, 81), +(18, 1320, 69), +(18, 1321, 87), +(18, 1322, 97), +(18, 1323, 78), +(18, 1324, 92), +(18, 1325, 92), +(18, 1326, 65), +(18, 1327, 98), +(18, 1328, 80), +(18, 1329, 87), +(18, 1330, 68), +(18, 1331, 65), +(18, 1332, 79), +(18, 1333, 81), +(18, 1334, 68), +(18, 1335, 90), +(18, 1336, 81), +(18, 1337, 91), +(18, 1338, 81), +(18, 1339, 80), +(18, 1340, 94), +(18, 1341, 88), +(18, 1342, 72), +(18, 1343, 67), +(18, 1344, 81), +(18, 1345, 67), +(18, 1346, 96), +(18, 1347, 83), +(18, 1348, 89), +(18, 1349, 65), +(18, 1350, 98), +(18, 1351, 66), +(18, 1352, 67), +(18, 1353, 97), +(18, 1354, 86), +(18, 1355, 86), +(18, 1356, 90), +(18, 1357, 99), +(18, 1358, 70), +(18, 1359, 78), +(18, 1360, 80), +(18, 1361, 77), +(18, 1362, 82), +(18, 1363, 91), +(18, 1364, 77), +(18, 1365, 93), +(18, 1366, 92), +(18, 1367, 71), +(18, 1368, 73), +(18, 1369, 70), +(18, 1370, 72), +(18, 1371, 73), +(18, 1372, 74), +(18, 1373, 83), +(18, 1374, 76), +(18, 1375, 86), +(18, 1376, 92), +(18, 1377, 87), +(18, 1378, 76), +(18, 1379, 82), +(18, 1380, 91), +(18, 1381, 69), +(18, 1382, 86), +(18, 1383, 89), +(18, 1384, 88), +(18, 1385, 85), +(18, 1386, 99), +(18, 1387, 73), +(18, 1388, 81), +(18, 1389, 91), +(18, 1390, 90), +(18, 1391, 91), +(18, 1392, 78), +(18, 1393, 65), +(18, 1394, 94), +(18, 1395, 86), +(18, 1396, 82), +(18, 1397, 87), +(18, 1398, 70), +(18, 1399, 80), +(18, 1400, 73), +(18, 1401, 99), +(18, 1402, 76), +(18, 1403, 75), +(18, 1404, 78), +(18, 1405, 84), +(18, 1406, 81), +(18, 1407, 82), +(18, 1408, 72), +(18, 1409, 98), +(18, 1410, 93), +(18, 1411, 96), +(18, 1412, 89), +(18, 1413, 67), +(18, 1414, 85), +(18, 1415, 77), +(18, 1416, 80), +(18, 1417, 76), +(18, 1418, 66), +(18, 1419, 79), +(18, 1420, 73), +(18, 1421, 86), +(18, 1422, 81), +(18, 1423, 94), +(18, 1424, 95), +(18, 1425, 90), +(18, 1426, 82), +(18, 1427, 84), +(18, 1428, 90), +(18, 1429, 91), +(18, 1430, 88), +(18, 1431, 81), +(18, 1432, 74), +(18, 1433, 95), +(18, 1434, 80), +(18, 1435, 66), +(18, 1436, 78), +(18, 1437, 73), +(18, 1438, 70), +(18, 1439, 75), +(18, 1440, 91), +(18, 1441, 77), +(18, 1442, 95), +(18, 1443, 87), +(18, 1444, 80), +(18, 1445, 74), +(18, 1446, 97), +(18, 1447, 89), +(18, 1448, 93), +(18, 1449, 73), +(18, 1450, 86), +(18, 1451, 67), +(18, 1452, 93), +(18, 1453, 79), +(18, 1454, 82), +(18, 1455, 70), +(18, 1456, 81), +(18, 1457, 71), +(18, 1458, 73), +(18, 1459, 76), +(18, 1460, 65), +(18, 1461, 87), +(18, 1462, 93), +(18, 1463, 92), +(18, 1464, 66), +(18, 1465, 83), +(18, 1466, 96), +(18, 1467, 88), +(18, 1468, 85), +(18, 1469, 69), +(18, 1470, 95), +(18, 1471, 84), +(18, 1472, 73), +(18, 1473, 94), +(18, 1474, 72), +(18, 1475, 73), +(18, 1476, 96), +(18, 1477, 94), +(18, 1478, 83), +(18, 1479, 79), +(18, 1480, 74), +(18, 1481, 81), +(18, 1482, 72), +(18, 1483, 96), +(18, 1484, 82), +(18, 1485, 82), +(18, 1486, 68), +(18, 1487, 88), +(18, 1488, 78), +(18, 1489, 96), +(18, 1490, 88), +(18, 1491, 74), +(18, 1492, 70), +(18, 1493, 76), +(18, 1494, 96), +(18, 1495, 90), +(18, 1496, 71), +(18, 1497, 94), +(18, 1498, 96), +(18, 1499, 79), +(18, 1500, 68), +(18, 1501, 80), +(18, 1502, 96), +(18, 1503, 99), +(18, 1504, 73), +(18, 1505, 70), +(18, 1506, 79), +(18, 1507, 68), +(18, 1508, 68), +(18, 1509, 74), +(18, 1510, 88), +(18, 1511, 79), +(18, 1512, 93), +(18, 1513, 69), +(18, 1514, 65), +(18, 1515, 67), +(18, 1516, 73), +(18, 1517, 91), +(18, 1518, 77), +(18, 1519, 73), +(18, 1520, 88), +(18, 1521, 81), +(18, 1522, 72), +(18, 1523, 79), +(18, 1524, 86), +(18, 1525, 79), +(18, 1526, 76), +(18, 1527, 68), +(18, 1528, 99), +(18, 1529, 80), +(18, 1530, 97), +(18, 1531, 74), +(18, 1532, 92), +(18, 1533, 79), +(18, 1534, 79), +(18, 1535, 72), +(18, 1536, 87), +(18, 1537, 96), +(18, 1538, 86), +(18, 1539, 96), +(18, 1540, 69), +(18, 1541, 69), +(18, 1542, 75), +(18, 1543, 93), +(18, 1544, 97), +(18, 1545, 95), +(18, 1546, 77), +(18, 1547, 76), +(18, 1548, 65), +(18, 1549, 70), +(18, 1550, 87), +(18, 1551, 96), +(18, 1552, 65), +(18, 1553, 83), +(18, 1554, 95), +(18, 1555, 87), +(18, 1556, 87), +(18, 1557, 66), +(18, 1558, 68), +(18, 1559, 94), +(18, 1560, 92), +(18, 1561, 66), +(18, 1562, 87), +(18, 1563, 71), +(18, 1564, 87), +(18, 1565, 85), +(18, 1566, 89), +(18, 1567, 77), +(18, 1568, 69), +(18, 1569, 80), +(18, 1570, 89), +(18, 1571, 70), +(18, 1572, 74), +(18, 1573, 83), +(18, 1574, 83), +(18, 1575, 94), +(18, 1576, 67), +(18, 1577, 98), +(18, 1578, 68), +(18, 1579, 83), +(18, 1580, 66), +(18, 1581, 71), +(18, 1582, 67), +(18, 1583, 72), +(18, 1584, 77), +(18, 1585, 65), +(18, 1586, 74), +(18, 1587, 72), +(18, 2047, 98), +(18, 2048, 89), +(18, 2049, 73), +(18, 2050, 89), +(18, 2051, 94), +(18, 2052, 94), +(18, 2053, 78), +(18, 2054, 84), +(18, 2055, 90), +(18, 2056, 79), +(18, 2057, 84), +(18, 2058, 85), +(18, 2059, 77), +(18, 2060, 65), +(18, 2061, 89), +(18, 2062, 76), +(18, 2063, 94), +(18, 2064, 69), +(18, 2065, 82), +(18, 2066, 83), +(18, 2067, 66), +(18, 2068, 90), +(18, 2069, 91), +(18, 2070, 85), +(18, 2071, 91), +(18, 2072, 96), +(18, 2073, 95), +(18, 2074, 80), +(18, 2075, 74), +(18, 2076, 91), +(18, 2077, 99), +(18, 2078, 71), +(18, 2079, 87), +(18, 2080, 81), +(18, 2081, 74), +(18, 2082, 86), +(18, 2083, 92), +(18, 2084, 78), +(18, 2085, 77), +(18, 2086, 68), +(18, 2087, 69), +(18, 2088, 93), +(18, 2089, 76), +(18, 2090, 67), +(18, 2091, 70), +(18, 2092, 99), +(18, 2093, 83), +(18, 2094, 88), +(18, 2095, 82), +(18, 2096, 98), +(18, 2097, 71), +(18, 2098, 72), +(18, 2099, 67), +(18, 2100, 86), +(18, 2101, 81), +(18, 2102, 87), +(18, 2103, 90), +(18, 2104, 98), +(18, 2105, 85), +(18, 2106, 82), +(18, 2107, 86), +(18, 2108, 82), +(18, 2109, 89), +(18, 2110, 96), +(18, 2111, 96), +(18, 2112, 78), +(18, 2113, 96), +(18, 2114, 99), +(18, 2115, 76), +(18, 2116, 81), +(18, 2117, 82), +(18, 2118, 85), +(18, 2119, 98), +(18, 2120, 91), +(18, 2121, 79), +(18, 2122, 85), +(18, 2123, 96), +(18, 2124, 98), +(18, 2125, 99), +(18, 2126, 96), +(18, 2127, 81), +(18, 2128, 88), +(18, 2129, 65), +(18, 2130, 98), +(18, 2131, 96), +(18, 2132, 87), +(18, 2133, 73), +(18, 2134, 66), +(18, 2135, 76), +(18, 2136, 75), +(18, 2137, 95), +(18, 2138, 96), +(18, 2139, 80), +(18, 2140, 67), +(18, 2141, 95), +(18, 2142, 83), +(18, 2143, 81), +(18, 2144, 76), +(18, 2145, 71), +(18, 2146, 87), +(18, 2147, 94), +(18, 2148, 83), +(18, 2149, 76), +(18, 2150, 95), +(18, 2151, 65), +(18, 2152, 71), +(18, 2153, 71), +(18, 2154, 72), +(18, 2155, 95), +(18, 2156, 97), +(18, 2157, 75), +(18, 2158, 65), +(18, 2159, 68), +(18, 2160, 92), +(18, 2161, 94), +(18, 2162, 65), +(18, 2163, 92), +(18, 2164, 88), +(18, 2165, 81), +(18, 2166, 79), +(18, 2167, 94), +(18, 2168, 65), +(18, 2169, 95), +(18, 2170, 89), +(18, 2171, 85), +(18, 2172, 72), +(18, 2173, 70), +(18, 2174, 66), +(18, 2175, 97), +(18, 2176, 88), +(18, 2177, 92), +(18, 2178, 97), +(18, 2179, 85), +(18, 2180, 70), +(18, 2181, 86), +(18, 2182, 76), +(18, 2183, 98), +(18, 2184, 80), +(18, 2185, 74), +(18, 2186, 73), +(18, 2187, 84), +(18, 2188, 99), +(18, 2189, 94), +(18, 2190, 90), +(18, 2191, 93), +(18, 2192, 91), +(18, 2193, 70), +(18, 2194, 88), +(18, 2195, 73), +(18, 2196, 85), +(18, 2197, 80), +(18, 2198, 89), +(18, 2199, 84), +(18, 2200, 79), +(18, 2201, 75), +(18, 2202, 70), +(18, 2203, 72), +(18, 2204, 88), +(18, 2205, 90), +(18, 2206, 84), +(18, 2207, 95), +(18, 2208, 97), +(18, 2209, 97), +(18, 2210, 78), +(18, 2211, 76), +(18, 2212, 79), +(18, 2213, 95), +(18, 2214, 78), +(18, 2215, 91), +(18, 2216, 98), +(18, 2217, 72), +(18, 2218, 91), +(18, 2219, 89), +(18, 2220, 93), +(18, 2221, 68), +(18, 2222, 91), +(18, 2223, 66), +(18, 2224, 83), +(18, 2225, 65), +(18, 2226, 99), +(18, 2227, 68), +(18, 2228, 96), +(18, 2229, 91), +(18, 2230, 78), +(18, 2231, 91), +(18, 2232, 84), +(18, 2233, 86), +(18, 2234, 93), +(18, 2235, 76), +(18, 2236, 83), +(18, 2237, 71), +(18, 2238, 98), +(18, 2239, 68), +(18, 2240, 84), +(18, 2241, 84), +(18, 2242, 84), +(18, 2243, 96), +(18, 2244, 86), +(18, 2245, 89), +(18, 2246, 73), +(18, 2247, 97), +(18, 2248, 85), +(18, 2249, 79), +(18, 2250, 91), +(18, 2251, 68), +(18, 2252, 90), +(18, 2253, 65), +(18, 2254, 80), +(18, 2255, 99), +(18, 2256, 65), +(18, 2257, 99), +(18, 2258, 65), +(18, 2259, 77), +(18, 2260, 81), +(18, 2261, 78), +(18, 2262, 87), +(18, 2263, 96), +(18, 2264, 93), +(18, 2265, 93), +(18, 2266, 95), +(18, 2267, 77), +(18, 2268, 71), +(18, 2269, 75), +(18, 2270, 67), +(18, 2271, 93), +(18, 2272, 65), +(18, 2273, 99), +(18, 2274, 88), +(18, 2275, 85), +(18, 2276, 68), +(18, 2277, 90), +(18, 2278, 91), +(18, 2279, 78), +(18, 2280, 94), +(18, 2281, 77), +(18, 2282, 80), +(18, 2283, 76), +(18, 2284, 66), +(18, 2285, 66), +(18, 2286, 92), +(18, 2287, 91), +(18, 2288, 82), +(18, 2289, 71), +(18, 2290, 66), +(18, 2291, 77), +(18, 2292, 94), +(18, 2293, 91), +(18, 2294, 93), +(18, 2295, 94), +(18, 2296, 75), +(18, 2297, 98), +(18, 2298, 95), +(18, 2299, 82), +(18, 2300, 94), +(18, 2301, 88), +(18, 2302, 96), +(18, 2303, 85), +(18, 2304, 80), +(18, 2305, 93), +(18, 2306, 74), +(18, 2307, 81), +(18, 2308, 77), +(18, 2309, 78), +(18, 2310, 84), +(18, 2311, 99), +(18, 2312, 77), +(18, 2313, 70), +(18, 2314, 77), +(18, 2315, 70), +(18, 2316, 98), +(18, 2317, 68), +(18, 2318, 75), +(18, 2319, 70), +(18, 2320, 73), +(18, 2321, 75), +(18, 2322, 92), +(18, 2323, 77), +(18, 2324, 90), +(18, 2325, 99), +(18, 2326, 65), +(18, 2327, 77), +(18, 2328, 89), +(18, 2329, 92), +(18, 2330, 86), +(18, 2331, 90), +(18, 2332, 67), +(18, 2333, 90), +(18, 2334, 88), +(18, 2335, 73), +(18, 2336, 84), +(18, 2337, 80), +(18, 2338, 77), +(18, 2339, 97), +(18, 2340, 67), +(18, 2341, 94), +(18, 2342, 96), +(18, 2343, 83), +(18, 2344, 76), +(18, 2345, 80), +(18, 2346, 70), +(18, 2347, 94), +(18, 2348, 67), +(18, 2349, 81), +(18, 2350, 71), +(18, 2351, 95), +(18, 2352, 72), +(18, 2353, 97), +(18, 2354, 89), +(18, 2355, 69), +(18, 2356, 83), +(18, 2357, 99), +(18, 2358, 67), +(18, 2359, 78), +(18, 2360, 83), +(18, 2361, 96), +(18, 2362, 88), +(18, 2363, 83), +(18, 2364, 69), +(18, 2365, 67), +(18, 2366, 65), +(18, 2367, 72), +(18, 2368, 93), +(18, 2369, 83), +(18, 2370, 75), +(18, 2371, 66), +(18, 2372, 95), +(18, 2373, 68), +(18, 2374, 66), +(18, 2375, 65), +(18, 2376, 93), +(18, 2377, 93), +(18, 2378, 87), +(18, 2379, 71), +(18, 2380, 88), +(18, 2381, 96), +(18, 2382, 72), +(18, 2383, 72), +(18, 2384, 79), +(18, 2385, 74), +(18, 2386, 67), +(18, 2387, 90), +(18, 2388, 77), +(18, 2389, 80), +(18, 2390, 90), +(18, 2391, 72), +(18, 2392, 86), +(18, 2393, 85), +(18, 2394, 69), +(18, 2395, 69), +(18, 2396, 80), +(18, 2397, 75), +(18, 2398, 86), +(18, 2399, 79), +(18, 2400, 89), +(18, 2401, 88), +(18, 2402, 79), +(18, 2403, 82), +(18, 2404, 68), +(18, 2405, 84), +(18, 2406, 96), +(18, 2407, 79), +(18, 2408, 78), +(18, 2409, 86), +(18, 2410, 71), +(18, 2411, 71), +(18, 2412, 95), +(18, 2413, 67), +(18, 2414, 80), +(18, 2415, 82), +(18, 2416, 79), +(18, 2417, 78), +(18, 2418, 73), +(18, 2419, 83), +(18, 2420, 90), +(18, 2421, 85), +(18, 2422, 80), +(18, 2423, 92), +(18, 2424, 89), +(18, 2425, 74), +(18, 2426, 65), +(18, 2427, 83), +(18, 2428, 86), +(18, 2429, 82), +(18, 2430, 83), +(18, 2431, 66), +(18, 2432, 68), +(18, 2433, 83), +(18, 2434, 87), +(18, 2435, 67), +(18, 2436, 98), +(18, 2437, 87), +(18, 2438, 95), +(18, 2439, 69), +(18, 2440, 72), +(18, 2441, 89), +(18, 2442, 72), +(18, 2443, 87), +(18, 2444, 87), +(18, 2445, 69), +(18, 2446, 78), +(18, 2447, 92), +(18, 2448, 76), +(18, 2449, 70), +(18, 2450, 67), +(18, 2451, 65), +(18, 2452, 84), +(18, 2453, 71), +(18, 2454, 76), +(18, 2455, 78), +(18, 2456, 75), +(18, 2457, 96), +(18, 2458, 72), +(18, 2459, 80), +(18, 2460, 95), +(18, 2461, 90), +(18, 2462, 81), +(18, 2463, 79), +(18, 2464, 72), +(18, 2465, 98), +(18, 2466, 85), +(18, 2467, 67), +(18, 2468, 94), +(18, 2469, 89), +(18, 2470, 68), +(18, 2471, 69), +(18, 2472, 75), +(18, 2473, 74), +(18, 2474, 70), +(18, 2475, 77), +(18, 2476, 80), +(18, 2477, 68), +(18, 2478, 97), +(18, 2479, 75), +(18, 2480, 97), +(18, 2481, 94), +(18, 2482, 82), +(18, 2483, 70), +(18, 2484, 85), +(18, 2485, 75), +(18, 2486, 65), +(18, 2487, 67), +(18, 2488, 96), +(18, 2489, 66), +(18, 2490, 98), +(18, 2491, 77), +(18, 2492, 66), +(18, 2493, 88), +(18, 2494, 91), +(18, 2495, 84), +(18, 2496, 93), +(18, 2497, 87), +(18, 2498, 72), +(18, 2499, 80), +(18, 2500, 69), +(18, 2501, 73), +(18, 2502, 80), +(18, 2503, 65), +(18, 2504, 96), +(18, 2505, 95), +(18, 2506, 71), +(18, 2507, 78), +(18, 2508, 91), +(18, 2509, 81), +(18, 2510, 71), +(18, 2511, 99), +(18, 2512, 69), +(18, 2513, 97), +(18, 2514, 80), +(18, 2515, 98), +(18, 2516, 94), +(18, 2517, 68), +(18, 2518, 70), +(18, 2519, 80), +(18, 2520, 85), +(18, 2521, 70), +(18, 2522, 81), +(18, 2523, 72), +(18, 2524, 69), +(18, 2525, 92), +(18, 2526, 71), +(18, 2527, 86), +(18, 2528, 92), +(18, 2529, 79), +(18, 2530, 90), +(18, 2531, 68), +(18, 2532, 76), +(18, 2533, 99), +(18, 2534, 91), +(18, 2535, 67), +(18, 2536, 91), +(18, 2537, 86), +(18, 2538, 80), +(18, 2539, 73), +(18, 2540, 74), +(18, 2541, 98), +(18, 2542, 80), +(18, 2543, 96), +(18, 2544, 71), +(18, 2545, 77), +(18, 2546, 81), +(18, 2547, 99), +(18, 2548, 65), +(18, 2549, 83), +(18, 2550, 74), +(18, 2551, 86), +(18, 2552, 92), +(18, 2553, 83), +(18, 2554, 97), +(18, 2555, 93), +(18, 2556, 70), +(18, 2557, 72), +(18, 2558, 75), +(18, 2559, 66), +(18, 2560, 85), +(18, 2561, 71), +(18, 2562, 76), +(18, 2563, 99), +(18, 2564, 76), +(18, 2565, 66), +(18, 2566, 87), +(18, 2567, 87), +(18, 2568, 78), +(18, 2569, 74), +(18, 2570, 78), +(18, 2571, 72), +(18, 2572, 78), +(18, 2573, 94), +(18, 2574, 93), +(18, 2575, 98), +(18, 2576, 66), +(18, 2577, 85), +(18, 2578, 85), +(18, 2579, 77), +(18, 2580, 87), +(18, 2581, 85), +(18, 2582, 76), +(18, 2583, 70), +(18, 2584, 84), +(18, 2585, 76), +(18, 2586, 72), +(18, 2587, 95), +(18, 2588, 70), +(18, 2589, 85), +(18, 2590, 67), +(18, 2591, 73), +(18, 2592, 70), +(18, 2593, 71), +(18, 2594, 76), +(18, 2595, 98), +(18, 2596, 80), +(18, 2597, 75), +(18, 2598, 77), +(18, 2599, 88), +(18, 2600, 78), +(18, 2601, 85), +(18, 2602, 78), +(18, 2603, 90), +(18, 2604, 73), +(18, 2605, 98), +(18, 2606, 68), +(18, 2607, 78), +(18, 2608, 68), +(18, 2609, 65), +(18, 2610, 93), +(19, 1, 97), +(19, 2, 82), +(19, 3, 77), +(19, 4, 89), +(19, 5, 67), +(19, 6, 88), +(19, 7, 82), +(19, 8, 88), +(19, 9, 66), +(19, 10, 82), +(19, 11, 72), +(19, 12, 76), +(19, 13, 79), +(19, 14, 70), +(19, 15, 67), +(19, 16, 74), +(19, 17, 94), +(19, 18, 65), +(19, 19, 74), +(19, 20, 84), +(19, 21, 72), +(19, 22, 99), +(19, 23, 93), +(19, 24, 80), +(19, 25, 93), +(19, 26, 85), +(19, 27, 74), +(19, 28, 66), +(19, 29, 94); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(19, 30, 86), +(19, 31, 88), +(19, 32, 67), +(19, 33, 93), +(19, 34, 70), +(19, 35, 98), +(19, 36, 97), +(19, 37, 94), +(19, 38, 96), +(19, 39, 70), +(19, 40, 69), +(19, 41, 97), +(19, 42, 74), +(19, 43, 91), +(19, 44, 66), +(19, 45, 67), +(19, 46, 99), +(19, 47, 95), +(19, 48, 74), +(19, 49, 65), +(19, 50, 90), +(19, 51, 71), +(19, 52, 72), +(19, 53, 94), +(19, 54, 75), +(19, 55, 82), +(19, 56, 95), +(19, 57, 74), +(19, 58, 81), +(19, 59, 82), +(19, 60, 69), +(19, 61, 71), +(19, 62, 87), +(19, 63, 90), +(19, 64, 78), +(19, 65, 86), +(19, 66, 75), +(19, 67, 82), +(19, 68, 88), +(19, 69, 84), +(19, 70, 93), +(19, 71, 80), +(19, 72, 86), +(19, 73, 99), +(19, 74, 82), +(19, 75, 74), +(19, 76, 84), +(19, 77, 96), +(19, 78, 98), +(19, 79, 95), +(19, 80, 76), +(19, 81, 79), +(19, 82, 92), +(19, 83, 81), +(19, 84, 86), +(19, 85, 75), +(19, 86, 96), +(19, 87, 92), +(19, 88, 66), +(19, 89, 96), +(19, 90, 75), +(19, 91, 84), +(19, 92, 82), +(19, 93, 65), +(19, 94, 79), +(19, 95, 91), +(19, 96, 93), +(19, 97, 95), +(19, 98, 72), +(19, 99, 72), +(19, 100, 90), +(19, 101, 77), +(19, 102, 89), +(19, 103, 92), +(19, 104, 65), +(19, 105, 70), +(19, 106, 67), +(19, 107, 69), +(19, 108, 76), +(19, 109, 69), +(19, 110, 70), +(19, 111, 65), +(19, 112, 67), +(19, 113, 98), +(19, 114, 93), +(19, 115, 95), +(19, 116, 99), +(19, 117, 92), +(19, 118, 66), +(19, 119, 68), +(19, 120, 85), +(19, 121, 89), +(19, 122, 75), +(19, 123, 84), +(19, 124, 67), +(19, 125, 78), +(19, 126, 67), +(19, 127, 80), +(19, 128, 76), +(19, 129, 79), +(19, 130, 84), +(19, 131, 68), +(19, 132, 68), +(19, 133, 99), +(19, 134, 68), +(19, 135, 83), +(19, 136, 93), +(19, 137, 96), +(19, 138, 76), +(19, 139, 94), +(19, 140, 67), +(19, 141, 70), +(19, 142, 80), +(19, 143, 98), +(19, 144, 92), +(19, 145, 77), +(19, 146, 66), +(19, 147, 96), +(19, 148, 80), +(19, 149, 90), +(19, 150, 66), +(19, 151, 74), +(19, 152, 99), +(19, 153, 73), +(19, 154, 68), +(19, 155, 98), +(19, 156, 69), +(19, 157, 79), +(19, 158, 91), +(19, 159, 67), +(19, 160, 93), +(19, 161, 71), +(19, 162, 85), +(19, 163, 81), +(19, 164, 81), +(19, 165, 66), +(19, 166, 87), +(19, 167, 86), +(19, 168, 86), +(19, 169, 98), +(19, 170, 87), +(19, 171, 99), +(19, 172, 98), +(19, 173, 69), +(19, 174, 68), +(19, 175, 72), +(19, 176, 84), +(19, 177, 87), +(19, 178, 85), +(19, 179, 70), +(19, 180, 85), +(19, 181, 98), +(19, 182, 79), +(19, 183, 87), +(19, 184, 74), +(19, 185, 87), +(19, 186, 84), +(19, 187, 84), +(19, 188, 93), +(19, 189, 80), +(19, 190, 68), +(19, 191, 86), +(19, 192, 75), +(19, 193, 75), +(19, 194, 69), +(19, 195, 94), +(19, 196, 81), +(19, 197, 81), +(19, 198, 93), +(19, 199, 79), +(19, 200, 96), +(19, 201, 95), +(19, 202, 71), +(19, 203, 75), +(19, 204, 95), +(19, 205, 96), +(19, 206, 78), +(19, 207, 79), +(19, 208, 89), +(19, 209, 94), +(19, 210, 78), +(19, 211, 82), +(19, 212, 89), +(19, 213, 90), +(19, 214, 86), +(19, 215, 95), +(19, 216, 86), +(19, 217, 69), +(19, 218, 71), +(19, 219, 99), +(19, 220, 74), +(19, 221, 77), +(19, 222, 68), +(19, 223, 76), +(19, 224, 77), +(19, 225, 90), +(19, 226, 69), +(19, 227, 88), +(19, 228, 88), +(19, 229, 91), +(19, 230, 81), +(19, 231, 91), +(19, 232, 70), +(19, 233, 71), +(19, 234, 80), +(19, 235, 70), +(19, 236, 71), +(19, 237, 89), +(19, 238, 78), +(19, 239, 89), +(19, 240, 83), +(19, 241, 85), +(19, 242, 75), +(19, 243, 91), +(19, 244, 86), +(19, 245, 85), +(19, 246, 97), +(19, 247, 77), +(19, 248, 86), +(19, 249, 74), +(19, 250, 94), +(19, 251, 66), +(19, 252, 65), +(19, 253, 85), +(19, 254, 99), +(19, 255, 86), +(19, 256, 96), +(19, 257, 65), +(19, 258, 81), +(19, 259, 96), +(19, 260, 99), +(19, 261, 75), +(19, 262, 95), +(19, 263, 86), +(19, 264, 78), +(19, 265, 95), +(19, 266, 76), +(19, 267, 67), +(19, 268, 65), +(19, 269, 69), +(19, 270, 79), +(19, 271, 69), +(19, 272, 92), +(19, 273, 83), +(19, 274, 99), +(19, 275, 74), +(19, 276, 85), +(19, 277, 85), +(19, 278, 99), +(19, 279, 88), +(19, 280, 79), +(19, 281, 88), +(19, 282, 88), +(19, 283, 93), +(19, 284, 72), +(19, 285, 89), +(19, 286, 71), +(19, 287, 89), +(19, 288, 97), +(19, 289, 78), +(19, 290, 65), +(19, 291, 72), +(19, 292, 91), +(19, 293, 66), +(19, 294, 84), +(19, 295, 99), +(19, 296, 82), +(19, 297, 96), +(19, 298, 85), +(19, 299, 82), +(19, 300, 81), +(19, 301, 68), +(19, 302, 92), +(19, 303, 91), +(19, 304, 77), +(19, 305, 67), +(19, 306, 94), +(19, 307, 73), +(19, 308, 72), +(19, 309, 75), +(19, 310, 89), +(19, 311, 83), +(19, 312, 96), +(19, 313, 67), +(19, 314, 78), +(19, 315, 77), +(19, 316, 93), +(19, 317, 77), +(19, 318, 81), +(19, 319, 72), +(19, 320, 96), +(19, 321, 87), +(19, 322, 76), +(19, 323, 84), +(19, 324, 84), +(19, 325, 65), +(19, 326, 99), +(19, 327, 82), +(19, 328, 78), +(19, 329, 67), +(19, 330, 73), +(19, 331, 98), +(19, 332, 80), +(19, 333, 79), +(19, 334, 82), +(19, 335, 79), +(19, 336, 95), +(19, 337, 84), +(19, 338, 97), +(19, 339, 84), +(19, 340, 91), +(19, 341, 73), +(19, 342, 86), +(19, 343, 85), +(19, 344, 99), +(19, 345, 78), +(19, 346, 74), +(19, 347, 86), +(19, 348, 93), +(19, 349, 65), +(19, 350, 77), +(19, 351, 79), +(19, 352, 87), +(19, 353, 73), +(19, 354, 77), +(19, 355, 76), +(19, 356, 70), +(19, 357, 77), +(19, 358, 69), +(19, 359, 78), +(19, 360, 96), +(19, 361, 82), +(19, 362, 93), +(19, 363, 75), +(19, 364, 70), +(19, 365, 78), +(19, 366, 95), +(19, 367, 74), +(19, 368, 68), +(19, 369, 85), +(19, 370, 70), +(19, 371, 93), +(19, 372, 93), +(19, 373, 77), +(19, 374, 87), +(19, 375, 91), +(19, 376, 93), +(19, 377, 90), +(19, 378, 91), +(19, 379, 79), +(19, 380, 75), +(19, 381, 68), +(19, 382, 75), +(19, 383, 99), +(19, 384, 66), +(19, 385, 70), +(19, 386, 88), +(19, 387, 70), +(19, 388, 93), +(19, 389, 75), +(19, 390, 80), +(19, 391, 88), +(19, 392, 80), +(19, 393, 99), +(19, 394, 78), +(19, 395, 92), +(19, 396, 68), +(19, 397, 90), +(19, 398, 97), +(19, 399, 69), +(19, 400, 96), +(19, 401, 75), +(19, 402, 67), +(19, 403, 80), +(19, 404, 93), +(19, 405, 92), +(19, 406, 91), +(19, 407, 90), +(19, 408, 74), +(19, 409, 90), +(19, 410, 66), +(19, 411, 76), +(19, 412, 70), +(19, 413, 79), +(19, 414, 90), +(19, 415, 88), +(19, 416, 74), +(19, 417, 76), +(19, 418, 70), +(19, 419, 74), +(19, 420, 73), +(19, 421, 98), +(19, 422, 89), +(19, 423, 82), +(19, 424, 89), +(19, 425, 71), +(19, 426, 95), +(19, 427, 72), +(19, 428, 75), +(19, 429, 77), +(19, 430, 92), +(19, 431, 83), +(19, 432, 81), +(19, 433, 76), +(19, 434, 74), +(19, 435, 84), +(19, 436, 73), +(19, 437, 90), +(19, 438, 87), +(19, 439, 92), +(19, 440, 94), +(19, 441, 88), +(19, 442, 92), +(19, 443, 72), +(19, 444, 92), +(19, 445, 68), +(19, 446, 87), +(19, 447, 77), +(19, 448, 76), +(19, 449, 66), +(19, 450, 86), +(19, 451, 77), +(19, 452, 80), +(19, 453, 66), +(19, 454, 75), +(19, 455, 96), +(19, 456, 75), +(19, 457, 87), +(19, 458, 99), +(19, 459, 74), +(19, 460, 80), +(19, 461, 95), +(19, 462, 97), +(19, 463, 69), +(19, 464, 86), +(19, 465, 80), +(19, 466, 70), +(19, 467, 84), +(19, 468, 66), +(19, 469, 76), +(19, 470, 87), +(19, 471, 92), +(19, 472, 86), +(19, 473, 83), +(19, 474, 74), +(19, 475, 95), +(19, 476, 82), +(19, 477, 74), +(19, 478, 93), +(19, 479, 92), +(19, 480, 73), +(19, 481, 69), +(19, 482, 84), +(19, 483, 79), +(19, 484, 89), +(19, 485, 85), +(19, 486, 90), +(19, 487, 94), +(19, 488, 99), +(19, 489, 80), +(19, 490, 72), +(19, 491, 70), +(19, 492, 98), +(19, 493, 82), +(19, 494, 78), +(19, 495, 91), +(19, 496, 98), +(19, 497, 78), +(19, 498, 65), +(19, 499, 98), +(19, 500, 66), +(19, 501, 91), +(19, 502, 77), +(19, 503, 72), +(19, 504, 78), +(19, 505, 94), +(19, 506, 82), +(19, 507, 98), +(19, 508, 94), +(19, 509, 78), +(19, 510, 66), +(19, 511, 96), +(19, 512, 68), +(19, 513, 77), +(19, 514, 75), +(19, 515, 80), +(19, 516, 86), +(19, 517, 87), +(19, 518, 83), +(19, 519, 85), +(19, 520, 93), +(19, 521, 91), +(19, 522, 77), +(19, 523, 94), +(19, 524, 67), +(19, 525, 73), +(19, 526, 75), +(19, 527, 97), +(19, 528, 90), +(19, 529, 98), +(19, 530, 93), +(19, 531, 93), +(19, 532, 79), +(19, 533, 92), +(19, 534, 83), +(19, 535, 65), +(19, 536, 71), +(19, 537, 73), +(19, 538, 99), +(19, 539, 75), +(19, 540, 79), +(19, 541, 70), +(19, 542, 66), +(19, 543, 66), +(19, 544, 71), +(19, 545, 77), +(19, 546, 99), +(19, 547, 75), +(19, 548, 83), +(19, 549, 79), +(19, 550, 94), +(19, 551, 97), +(19, 552, 81), +(19, 553, 96), +(19, 554, 82), +(19, 555, 79), +(19, 556, 68), +(19, 557, 98), +(19, 558, 95), +(19, 559, 65), +(19, 560, 80), +(19, 561, 96), +(19, 562, 83), +(19, 563, 77), +(19, 564, 65), +(19, 1024, 95), +(19, 1025, 69), +(19, 1026, 74), +(19, 1027, 82), +(19, 1028, 68), +(19, 1029, 70), +(19, 1030, 90), +(19, 1031, 75), +(19, 1032, 95), +(19, 1033, 92), +(19, 1034, 98), +(19, 1035, 77), +(19, 1036, 97), +(19, 1037, 98), +(19, 1038, 78), +(19, 1039, 91), +(19, 1040, 65), +(19, 1041, 71), +(19, 1042, 91), +(19, 1043, 87), +(19, 1044, 67), +(19, 1045, 82), +(19, 1046, 71), +(19, 1047, 83), +(19, 1048, 80), +(19, 1049, 81), +(19, 1050, 94), +(19, 1051, 75), +(19, 1052, 66), +(19, 1053, 85), +(19, 1054, 79), +(19, 1055, 66), +(19, 1056, 66), +(19, 1057, 71), +(19, 1058, 66), +(19, 1059, 92), +(19, 1060, 99), +(19, 1061, 76), +(19, 1062, 84), +(19, 1063, 88), +(19, 1064, 78), +(19, 1065, 83), +(19, 1066, 74), +(19, 1067, 79), +(19, 1068, 89), +(19, 1069, 73), +(19, 1070, 70), +(19, 1071, 96), +(19, 1072, 83), +(19, 1073, 79), +(19, 1074, 72), +(19, 1075, 96), +(19, 1076, 84), +(19, 1077, 95), +(19, 1078, 92), +(19, 1079, 74), +(19, 1080, 70), +(19, 1081, 99), +(19, 1082, 73), +(19, 1083, 87), +(19, 1084, 97), +(19, 1085, 80), +(19, 1086, 76), +(19, 1087, 89), +(19, 1088, 80), +(19, 1089, 67), +(19, 1090, 90), +(19, 1091, 97), +(19, 1092, 97), +(19, 1093, 83), +(19, 1094, 67), +(19, 1095, 76), +(19, 1096, 92), +(19, 1097, 73), +(19, 1098, 88), +(19, 1099, 87), +(19, 1100, 79), +(19, 1101, 91), +(19, 1102, 81), +(19, 1103, 82), +(19, 1104, 72), +(19, 1105, 67), +(19, 1106, 92), +(19, 1107, 90), +(19, 1108, 74), +(19, 1109, 81), +(19, 1110, 73), +(19, 1111, 98), +(19, 1112, 76), +(19, 1113, 74), +(19, 1114, 77), +(19, 1115, 94), +(19, 1116, 83), +(19, 1117, 83), +(19, 1118, 83), +(19, 1119, 88), +(19, 1120, 82), +(19, 1121, 94), +(19, 1122, 69), +(19, 1123, 99), +(19, 1124, 87), +(19, 1125, 84), +(19, 1126, 83), +(19, 1127, 87), +(19, 1128, 71), +(19, 1129, 88), +(19, 1130, 89), +(19, 1131, 67), +(19, 1132, 78), +(19, 1133, 87), +(19, 1134, 80), +(19, 1135, 94), +(19, 1136, 78), +(19, 1137, 90), +(19, 1138, 75), +(19, 1139, 79), +(19, 1140, 87), +(19, 1141, 69), +(19, 1142, 93), +(19, 1143, 81), +(19, 1144, 65), +(19, 1145, 99), +(19, 1146, 96), +(19, 1147, 90), +(19, 1148, 66), +(19, 1149, 89), +(19, 1150, 65), +(19, 1151, 90), +(19, 1152, 78), +(19, 1153, 89), +(19, 1154, 84), +(19, 1155, 69), +(19, 1156, 97), +(19, 1157, 72), +(19, 1158, 68), +(19, 1159, 75), +(19, 1160, 95), +(19, 1161, 81), +(19, 1162, 80), +(19, 1163, 68), +(19, 1164, 86), +(19, 1165, 89), +(19, 1166, 66), +(19, 1167, 70), +(19, 1168, 82), +(19, 1169, 73), +(19, 1170, 74), +(19, 1171, 77), +(19, 1172, 83), +(19, 1173, 81), +(19, 1174, 76), +(19, 1175, 94), +(19, 1176, 94), +(19, 1177, 78), +(19, 1178, 77), +(19, 1179, 70), +(19, 1180, 95), +(19, 1181, 87), +(19, 1182, 88), +(19, 1183, 88), +(19, 1184, 71), +(19, 1185, 87), +(19, 1186, 86), +(19, 1187, 87), +(19, 1188, 66), +(19, 1189, 65), +(19, 1190, 74), +(19, 1191, 70), +(19, 1192, 97), +(19, 1193, 69), +(19, 1194, 84), +(19, 1195, 76), +(19, 1196, 90), +(19, 1197, 70), +(19, 1198, 92), +(19, 1199, 87), +(19, 1200, 66), +(19, 1201, 69), +(19, 1202, 72), +(19, 1203, 88), +(19, 1204, 73), +(19, 1205, 93), +(19, 1206, 67), +(19, 1207, 97), +(19, 1208, 73), +(19, 1209, 68), +(19, 1210, 75), +(19, 1211, 85), +(19, 1212, 99), +(19, 1213, 68), +(19, 1214, 74), +(19, 1215, 80), +(19, 1216, 69), +(19, 1217, 89), +(19, 1218, 82), +(19, 1219, 69), +(19, 1220, 66), +(19, 1221, 80), +(19, 1222, 96), +(19, 1223, 99), +(19, 1224, 66), +(19, 1225, 80), +(19, 1226, 92), +(19, 1227, 85), +(19, 1228, 90), +(19, 1229, 94), +(19, 1230, 97), +(19, 1231, 70), +(19, 1232, 86), +(19, 1233, 69), +(19, 1234, 67), +(19, 1235, 78), +(19, 1236, 96), +(19, 1237, 68), +(19, 1238, 90), +(19, 1239, 71), +(19, 1240, 90), +(19, 1241, 96), +(19, 1242, 77), +(19, 1243, 98), +(19, 1244, 94), +(19, 1245, 70), +(19, 1246, 74), +(19, 1247, 68), +(19, 1248, 69), +(19, 1249, 71), +(19, 1250, 66), +(19, 1251, 70), +(19, 1252, 86), +(19, 1253, 88), +(19, 1254, 84), +(19, 1255, 88), +(19, 1256, 86), +(19, 1257, 78), +(19, 1258, 93), +(19, 1259, 71), +(19, 1260, 69), +(19, 1261, 80), +(19, 1262, 72), +(19, 1263, 69), +(19, 1264, 96), +(19, 1265, 95), +(19, 1266, 87), +(19, 1267, 65), +(19, 1268, 78), +(19, 1269, 87), +(19, 1270, 82), +(19, 1271, 86), +(19, 1272, 72), +(19, 1273, 80), +(19, 1274, 91), +(19, 1275, 98), +(19, 1276, 92), +(19, 1277, 80), +(19, 1278, 99), +(19, 1279, 80), +(19, 1280, 93), +(19, 1281, 85), +(19, 1282, 94), +(19, 1283, 99), +(19, 1284, 95), +(19, 1285, 70), +(19, 1286, 78), +(19, 1287, 69), +(19, 1288, 70), +(19, 1289, 72), +(19, 1290, 71), +(19, 1291, 90), +(19, 1292, 65), +(19, 1293, 69), +(19, 1294, 82), +(19, 1295, 85), +(19, 1296, 67), +(19, 1297, 90), +(19, 1298, 83), +(19, 1299, 67), +(19, 1300, 99), +(19, 1301, 93), +(19, 1302, 98), +(19, 1303, 83), +(19, 1304, 81), +(19, 1305, 98), +(19, 1306, 82), +(19, 1307, 85), +(19, 1308, 79), +(19, 1309, 85), +(19, 1310, 72), +(19, 1311, 72), +(19, 1312, 93), +(19, 1313, 66), +(19, 1314, 87), +(19, 1315, 68), +(19, 1316, 73), +(19, 1317, 72), +(19, 1318, 93), +(19, 1319, 90), +(19, 1320, 94), +(19, 1321, 67), +(19, 1322, 68), +(19, 1323, 73), +(19, 1324, 93), +(19, 1325, 92), +(19, 1326, 81), +(19, 1327, 83), +(19, 1328, 97), +(19, 1329, 77), +(19, 1330, 97), +(19, 1331, 95), +(19, 1332, 87), +(19, 1333, 65), +(19, 1334, 76), +(19, 1335, 77), +(19, 1336, 99), +(19, 1337, 68), +(19, 1338, 89), +(19, 1339, 93), +(19, 1340, 79), +(19, 1341, 70), +(19, 1342, 87), +(19, 1343, 92), +(19, 1344, 66), +(19, 1345, 76), +(19, 1346, 86), +(19, 1347, 91), +(19, 1348, 97), +(19, 1349, 94), +(19, 1350, 70), +(19, 1351, 83), +(19, 1352, 65), +(19, 1353, 86), +(19, 1354, 77), +(19, 1355, 87), +(19, 1356, 98), +(19, 1357, 70), +(19, 1358, 65), +(19, 1359, 95), +(19, 1360, 87), +(19, 1361, 75), +(19, 1362, 75), +(19, 1363, 89), +(19, 1364, 68), +(19, 1365, 93), +(19, 1366, 77), +(19, 1367, 88), +(19, 1368, 68), +(19, 1369, 89), +(19, 1370, 89), +(19, 1371, 99), +(19, 1372, 85), +(19, 1373, 88), +(19, 1374, 80), +(19, 1375, 99), +(19, 1376, 66), +(19, 1377, 95), +(19, 1378, 80), +(19, 1379, 73), +(19, 1380, 98), +(19, 1381, 66), +(19, 1382, 94), +(19, 1383, 90), +(19, 1384, 94), +(19, 1385, 70), +(19, 1386, 88), +(19, 1387, 82), +(19, 1388, 76), +(19, 1389, 96), +(19, 1390, 79), +(19, 1391, 80), +(19, 1392, 73), +(19, 1393, 84), +(19, 1394, 83), +(19, 1395, 78), +(19, 1396, 67), +(19, 1397, 78), +(19, 1398, 71), +(19, 1399, 75), +(19, 1400, 71), +(19, 1401, 81), +(19, 1402, 89), +(19, 1403, 89), +(19, 1404, 91), +(19, 1405, 98), +(19, 1406, 92), +(19, 1407, 93), +(19, 1408, 74), +(19, 1409, 70), +(19, 1410, 77), +(19, 1411, 82), +(19, 1412, 71), +(19, 1413, 82), +(19, 1414, 86), +(19, 1415, 95), +(19, 1416, 85), +(19, 1417, 95), +(19, 1418, 80), +(19, 1419, 69), +(19, 1420, 72), +(19, 1421, 91), +(19, 1422, 73), +(19, 1423, 70), +(19, 1424, 68), +(19, 1425, 73), +(19, 1426, 94), +(19, 1427, 74), +(19, 1428, 93), +(19, 1429, 78), +(19, 1430, 91), +(19, 1431, 94), +(19, 1432, 71), +(19, 1433, 71), +(19, 1434, 93), +(19, 1435, 87), +(19, 1436, 80), +(19, 1437, 95), +(19, 1438, 97), +(19, 1439, 69), +(19, 1440, 77), +(19, 1441, 79), +(19, 1442, 90), +(19, 1443, 65), +(19, 1444, 77), +(19, 1445, 93), +(19, 1446, 70), +(19, 1447, 74), +(19, 1448, 85), +(19, 1449, 79), +(19, 1450, 72), +(19, 1451, 85), +(19, 1452, 92), +(19, 1453, 68), +(19, 1454, 76), +(19, 1455, 76), +(19, 1456, 89), +(19, 1457, 65), +(19, 1458, 66), +(19, 1459, 86), +(19, 1460, 92), +(19, 1461, 69), +(19, 1462, 97), +(19, 1463, 81), +(19, 1464, 80), +(19, 1465, 89), +(19, 1466, 87), +(19, 1467, 84), +(19, 1468, 91), +(19, 1469, 65), +(19, 1470, 92), +(19, 1471, 92), +(19, 1472, 86), +(19, 1473, 75), +(19, 1474, 68), +(19, 1475, 92), +(19, 1476, 95), +(19, 1477, 82), +(19, 1478, 97), +(19, 1479, 93), +(19, 1480, 67), +(19, 1481, 97), +(19, 1482, 92), +(19, 1483, 67), +(19, 1484, 89), +(19, 1485, 85), +(19, 1486, 83), +(19, 1487, 76), +(19, 1488, 70), +(19, 1489, 82), +(19, 1490, 92), +(19, 1491, 69), +(19, 1492, 70), +(19, 1493, 75), +(19, 1494, 84), +(19, 1495, 96), +(19, 1496, 98), +(19, 1497, 73), +(19, 1498, 87), +(19, 1499, 99), +(19, 1500, 93), +(19, 1501, 89), +(19, 1502, 74), +(19, 1503, 76), +(19, 1504, 67), +(19, 1505, 96), +(19, 1506, 99), +(19, 1507, 66), +(19, 1508, 95), +(19, 1509, 76), +(19, 1510, 90), +(19, 1511, 89), +(19, 1512, 76), +(19, 1513, 83), +(19, 1514, 91), +(19, 1515, 92), +(19, 1516, 97), +(19, 1517, 86), +(19, 1518, 84), +(19, 1519, 79), +(19, 1520, 79), +(19, 1521, 89), +(19, 1522, 78), +(19, 1523, 78), +(19, 1524, 69), +(19, 1525, 78), +(19, 1526, 91), +(19, 1527, 95), +(19, 1528, 93), +(19, 1529, 85), +(19, 1530, 90), +(19, 1531, 84), +(19, 1532, 96), +(19, 1533, 92), +(19, 1534, 76), +(19, 1535, 83), +(19, 1536, 97), +(19, 1537, 65), +(19, 1538, 94), +(19, 1539, 90), +(19, 1540, 74), +(19, 1541, 83), +(19, 1542, 69), +(19, 1543, 68), +(19, 1544, 85), +(19, 1545, 73), +(19, 1546, 97), +(19, 1547, 98), +(19, 1548, 74), +(19, 1549, 69), +(19, 1550, 87), +(19, 1551, 72), +(19, 1552, 97), +(19, 1553, 84), +(19, 1554, 80), +(19, 1555, 86), +(19, 1556, 72), +(19, 1557, 72), +(19, 1558, 96), +(19, 1559, 74), +(19, 1560, 81), +(19, 1561, 74), +(19, 1562, 80), +(19, 1563, 66), +(19, 1564, 98), +(19, 1565, 70), +(19, 1566, 99), +(19, 1567, 75), +(19, 1568, 79), +(19, 1569, 94), +(19, 1570, 92), +(19, 1571, 69), +(19, 1572, 95), +(19, 1573, 87), +(19, 1574, 77), +(19, 1575, 94), +(19, 1576, 87), +(19, 1577, 74), +(19, 1578, 72), +(19, 1579, 87), +(19, 1580, 96), +(19, 1581, 86), +(19, 1582, 98), +(19, 1583, 99), +(19, 1584, 79), +(19, 1585, 86), +(19, 1586, 66), +(19, 1587, 76), +(19, 2047, 89), +(19, 2048, 94), +(19, 2049, 91), +(19, 2050, 80), +(19, 2051, 82), +(19, 2052, 65), +(19, 2053, 71), +(19, 2054, 82), +(19, 2055, 86), +(19, 2056, 65), +(19, 2057, 77), +(19, 2058, 95), +(19, 2059, 95), +(19, 2060, 83), +(19, 2061, 65), +(19, 2062, 99), +(19, 2063, 97), +(19, 2064, 74), +(19, 2065, 65), +(19, 2066, 81), +(19, 2067, 94), +(19, 2068, 92), +(19, 2069, 96), +(19, 2070, 77), +(19, 2071, 66), +(19, 2072, 94), +(19, 2073, 75), +(19, 2074, 73), +(19, 2075, 65), +(19, 2076, 81), +(19, 2077, 72), +(19, 2078, 89), +(19, 2079, 92), +(19, 2080, 98), +(19, 2081, 76), +(19, 2082, 65), +(19, 2083, 69), +(19, 2084, 94), +(19, 2085, 75), +(19, 2086, 85), +(19, 2087, 66), +(19, 2088, 87), +(19, 2089, 79), +(19, 2090, 98), +(19, 2091, 96), +(19, 2092, 84), +(19, 2093, 98), +(19, 2094, 90), +(19, 2095, 68), +(19, 2096, 84), +(19, 2097, 67), +(19, 2098, 86), +(19, 2099, 79), +(19, 2100, 73), +(19, 2101, 96), +(19, 2102, 97), +(19, 2103, 97), +(19, 2104, 83), +(19, 2105, 66), +(19, 2106, 70), +(19, 2107, 88), +(19, 2108, 69), +(19, 2109, 86), +(19, 2110, 69), +(19, 2111, 89), +(19, 2112, 75), +(19, 2113, 81), +(19, 2114, 73), +(19, 2115, 86), +(19, 2116, 87), +(19, 2117, 96), +(19, 2118, 89), +(19, 2119, 95), +(19, 2120, 78), +(19, 2121, 68), +(19, 2122, 70), +(19, 2123, 98), +(19, 2124, 96), +(19, 2125, 69), +(19, 2126, 94), +(19, 2127, 89), +(19, 2128, 67), +(19, 2129, 66), +(19, 2130, 81), +(19, 2131, 77), +(19, 2132, 89), +(19, 2133, 90), +(19, 2134, 97), +(19, 2135, 67), +(19, 2136, 70), +(19, 2137, 95), +(19, 2138, 96), +(19, 2139, 89), +(19, 2140, 83), +(19, 2141, 98), +(19, 2142, 90), +(19, 2143, 74), +(19, 2144, 74), +(19, 2145, 79), +(19, 2146, 86), +(19, 2147, 72), +(19, 2148, 83), +(19, 2149, 97), +(19, 2150, 75), +(19, 2151, 72), +(19, 2152, 88), +(19, 2153, 67), +(19, 2154, 73), +(19, 2155, 90), +(19, 2156, 66), +(19, 2157, 83), +(19, 2158, 85), +(19, 2159, 69), +(19, 2160, 68), +(19, 2161, 70), +(19, 2162, 83), +(19, 2163, 96), +(19, 2164, 72), +(19, 2165, 72), +(19, 2166, 74), +(19, 2167, 78), +(19, 2168, 90), +(19, 2169, 66), +(19, 2170, 74), +(19, 2171, 72), +(19, 2172, 86), +(19, 2173, 94), +(19, 2174, 75), +(19, 2175, 68), +(19, 2176, 69), +(19, 2177, 95), +(19, 2178, 89), +(19, 2179, 95), +(19, 2180, 79), +(19, 2181, 93), +(19, 2182, 97), +(19, 2183, 87), +(19, 2184, 93), +(19, 2185, 65), +(19, 2186, 73), +(19, 2187, 84), +(19, 2188, 95), +(19, 2189, 91), +(19, 2190, 80), +(19, 2191, 65), +(19, 2192, 85), +(19, 2193, 73), +(19, 2194, 87), +(19, 2195, 85), +(19, 2196, 86), +(19, 2197, 71), +(19, 2198, 77), +(19, 2199, 77), +(19, 2200, 66), +(19, 2201, 70), +(19, 2202, 95), +(19, 2203, 74), +(19, 2204, 88), +(19, 2205, 70), +(19, 2206, 72), +(19, 2207, 81), +(19, 2208, 80), +(19, 2209, 92), +(19, 2210, 77), +(19, 2211, 75), +(19, 2212, 78), +(19, 2213, 70), +(19, 2214, 76), +(19, 2215, 81), +(19, 2216, 75), +(19, 2217, 93), +(19, 2218, 83), +(19, 2219, 90), +(19, 2220, 83), +(19, 2221, 92), +(19, 2222, 92), +(19, 2223, 87), +(19, 2224, 68), +(19, 2225, 85), +(19, 2226, 67), +(19, 2227, 89), +(19, 2228, 98), +(19, 2229, 75), +(19, 2230, 67), +(19, 2231, 91), +(19, 2232, 74), +(19, 2233, 71), +(19, 2234, 88), +(19, 2235, 99), +(19, 2236, 92), +(19, 2237, 71), +(19, 2238, 80), +(19, 2239, 79), +(19, 2240, 94), +(19, 2241, 96), +(19, 2242, 73), +(19, 2243, 80), +(19, 2244, 73), +(19, 2245, 99), +(19, 2246, 94), +(19, 2247, 66), +(19, 2248, 81), +(19, 2249, 79), +(19, 2250, 84), +(19, 2251, 88), +(19, 2252, 98), +(19, 2253, 68), +(19, 2254, 80), +(19, 2255, 82), +(19, 2256, 86), +(19, 2257, 88), +(19, 2258, 74), +(19, 2259, 72), +(19, 2260, 99), +(19, 2261, 89), +(19, 2262, 93), +(19, 2263, 95), +(19, 2264, 69), +(19, 2265, 81), +(19, 2266, 98), +(19, 2267, 81), +(19, 2268, 96), +(19, 2269, 93), +(19, 2270, 78), +(19, 2271, 78), +(19, 2272, 75), +(19, 2273, 79), +(19, 2274, 90), +(19, 2275, 74), +(19, 2276, 84), +(19, 2277, 87), +(19, 2278, 65), +(19, 2279, 77), +(19, 2280, 71), +(19, 2281, 97), +(19, 2282, 68), +(19, 2283, 69), +(19, 2284, 84), +(19, 2285, 70), +(19, 2286, 93), +(19, 2287, 93), +(19, 2288, 87), +(19, 2289, 92), +(19, 2290, 85), +(19, 2291, 75), +(19, 2292, 80), +(19, 2293, 71), +(19, 2294, 87), +(19, 2295, 76), +(19, 2296, 67), +(19, 2297, 83), +(19, 2298, 78), +(19, 2299, 85), +(19, 2300, 80), +(19, 2301, 80), +(19, 2302, 98), +(19, 2303, 89), +(19, 2304, 69), +(19, 2305, 73), +(19, 2306, 91), +(19, 2307, 96), +(19, 2308, 97), +(19, 2309, 86), +(19, 2310, 98), +(19, 2311, 70), +(19, 2312, 95), +(19, 2313, 68), +(19, 2314, 86), +(19, 2315, 97), +(19, 2316, 70), +(19, 2317, 85), +(19, 2318, 99), +(19, 2319, 83), +(19, 2320, 92), +(19, 2321, 70), +(19, 2322, 84), +(19, 2323, 73), +(19, 2324, 93), +(19, 2325, 79), +(19, 2326, 66), +(19, 2327, 71), +(19, 2328, 84), +(19, 2329, 91), +(19, 2330, 84), +(19, 2331, 65), +(19, 2332, 65), +(19, 2333, 93), +(19, 2334, 96), +(19, 2335, 66), +(19, 2336, 95), +(19, 2337, 73), +(19, 2338, 81), +(19, 2339, 70), +(19, 2340, 96), +(19, 2341, 98), +(19, 2342, 98), +(19, 2343, 70), +(19, 2344, 93), +(19, 2345, 88), +(19, 2346, 81), +(19, 2347, 91), +(19, 2348, 79), +(19, 2349, 91), +(19, 2350, 85), +(19, 2351, 93), +(19, 2352, 68), +(19, 2353, 87), +(19, 2354, 87), +(19, 2355, 93), +(19, 2356, 76), +(19, 2357, 87), +(19, 2358, 96), +(19, 2359, 88), +(19, 2360, 74), +(19, 2361, 95), +(19, 2362, 78), +(19, 2363, 71), +(19, 2364, 72), +(19, 2365, 96), +(19, 2366, 78), +(19, 2367, 90), +(19, 2368, 87), +(19, 2369, 75), +(19, 2370, 81), +(19, 2371, 68), +(19, 2372, 89), +(19, 2373, 80), +(19, 2374, 69), +(19, 2375, 98), +(19, 2376, 73), +(19, 2377, 88), +(19, 2378, 87), +(19, 2379, 94), +(19, 2380, 82), +(19, 2381, 68), +(19, 2382, 93), +(19, 2383, 99), +(19, 2384, 76), +(19, 2385, 98), +(19, 2386, 96), +(19, 2387, 74), +(19, 2388, 71), +(19, 2389, 97), +(19, 2390, 66), +(19, 2391, 81), +(19, 2392, 95), +(19, 2393, 75), +(19, 2394, 92), +(19, 2395, 99), +(19, 2396, 96), +(19, 2397, 69), +(19, 2398, 77), +(19, 2399, 99), +(19, 2400, 68), +(19, 2401, 80), +(19, 2402, 71), +(19, 2403, 71), +(19, 2404, 99), +(19, 2405, 70), +(19, 2406, 89), +(19, 2407, 93), +(19, 2408, 92), +(19, 2409, 71), +(19, 2410, 73), +(19, 2411, 93), +(19, 2412, 92), +(19, 2413, 99), +(19, 2414, 79), +(19, 2415, 88), +(19, 2416, 85), +(19, 2417, 82), +(19, 2418, 98), +(19, 2419, 86), +(19, 2420, 88), +(19, 2421, 97), +(19, 2422, 93), +(19, 2423, 94), +(19, 2424, 88), +(19, 2425, 81), +(19, 2426, 80), +(19, 2427, 72), +(19, 2428, 73), +(19, 2429, 77), +(19, 2430, 74), +(19, 2431, 96), +(19, 2432, 77), +(19, 2433, 67), +(19, 2434, 92), +(19, 2435, 67), +(19, 2436, 91), +(19, 2437, 98), +(19, 2438, 70), +(19, 2439, 68), +(19, 2440, 68), +(19, 2441, 94), +(19, 2442, 96), +(19, 2443, 97), +(19, 2444, 66), +(19, 2445, 91), +(19, 2446, 85), +(19, 2447, 83), +(19, 2448, 90), +(19, 2449, 75), +(19, 2450, 74), +(19, 2451, 69), +(19, 2452, 83), +(19, 2453, 69), +(19, 2454, 76), +(19, 2455, 71), +(19, 2456, 86), +(19, 2457, 94), +(19, 2458, 81), +(19, 2459, 77), +(19, 2460, 97), +(19, 2461, 97), +(19, 2462, 80), +(19, 2463, 73), +(19, 2464, 79), +(19, 2465, 74), +(19, 2466, 67), +(19, 2467, 91), +(19, 2468, 70), +(19, 2469, 93), +(19, 2470, 92), +(19, 2471, 87), +(19, 2472, 68), +(19, 2473, 96), +(19, 2474, 73), +(19, 2475, 90), +(19, 2476, 71), +(19, 2477, 81), +(19, 2478, 82), +(19, 2479, 93), +(19, 2480, 83), +(19, 2481, 76), +(19, 2482, 75), +(19, 2483, 82), +(19, 2484, 78), +(19, 2485, 79), +(19, 2486, 99), +(19, 2487, 69), +(19, 2488, 94), +(19, 2489, 97), +(19, 2490, 73), +(19, 2491, 65), +(19, 2492, 86), +(19, 2493, 76), +(19, 2494, 96), +(19, 2495, 90), +(19, 2496, 93), +(19, 2497, 67), +(19, 2498, 92), +(19, 2499, 78), +(19, 2500, 90), +(19, 2501, 66), +(19, 2502, 74), +(19, 2503, 76), +(19, 2504, 78), +(19, 2505, 80), +(19, 2506, 83), +(19, 2507, 98), +(19, 2508, 72), +(19, 2509, 75), +(19, 2510, 73), +(19, 2511, 69), +(19, 2512, 87), +(19, 2513, 93), +(19, 2514, 74), +(19, 2515, 90), +(19, 2516, 77), +(19, 2517, 77), +(19, 2518, 92), +(19, 2519, 79), +(19, 2520, 83), +(19, 2521, 88), +(19, 2522, 95), +(19, 2523, 91), +(19, 2524, 95), +(19, 2525, 89), +(19, 2526, 74), +(19, 2527, 69), +(19, 2528, 77), +(19, 2529, 68), +(19, 2530, 73), +(19, 2531, 91), +(19, 2532, 97), +(19, 2533, 66), +(19, 2534, 88), +(19, 2535, 68), +(19, 2536, 93), +(19, 2537, 77), +(19, 2538, 87), +(19, 2539, 73), +(19, 2540, 71), +(19, 2541, 65), +(19, 2542, 86), +(19, 2543, 99), +(19, 2544, 67), +(19, 2545, 94), +(19, 2546, 73), +(19, 2547, 84), +(19, 2548, 91), +(19, 2549, 98), +(19, 2550, 67), +(19, 2551, 97), +(19, 2552, 70), +(19, 2553, 98), +(19, 2554, 94), +(19, 2555, 73), +(19, 2556, 95), +(19, 2557, 88), +(19, 2558, 74), +(19, 2559, 80), +(19, 2560, 77), +(19, 2561, 87), +(19, 2562, 99), +(19, 2563, 80), +(19, 2564, 95), +(19, 2565, 99), +(19, 2566, 79), +(19, 2567, 67), +(19, 2568, 77), +(19, 2569, 94), +(19, 2570, 91), +(19, 2571, 75), +(19, 2572, 92), +(19, 2573, 66), +(19, 2574, 89), +(19, 2575, 65), +(19, 2576, 74), +(19, 2577, 93), +(19, 2578, 70), +(19, 2579, 93), +(19, 2580, 88), +(19, 2581, 70), +(19, 2582, 97), +(19, 2583, 84), +(19, 2584, 85), +(19, 2585, 70), +(19, 2586, 81), +(19, 2587, 71), +(19, 2588, 69), +(19, 2589, 68), +(19, 2590, 88), +(19, 2591, 77), +(19, 2592, 88), +(19, 2593, 79), +(19, 2594, 84), +(19, 2595, 97), +(19, 2596, 84), +(19, 2597, 92), +(19, 2598, 81), +(19, 2599, 89), +(19, 2600, 71), +(19, 2601, 76), +(19, 2602, 81), +(19, 2603, 82), +(19, 2604, 88), +(19, 2605, 73), +(19, 2606, 75), +(19, 2607, 78), +(19, 2608, 70), +(19, 2609, 72), +(19, 2610, 98), +(20, 1, 77), +(20, 2, 75), +(20, 3, 66), +(20, 4, 79), +(20, 5, 89), +(20, 6, 79), +(20, 7, 85), +(20, 8, 92), +(20, 9, 98), +(20, 10, 89), +(20, 11, 71), +(20, 12, 99), +(20, 13, 90), +(20, 14, 95), +(20, 15, 82), +(20, 16, 92), +(20, 17, 86), +(20, 18, 93), +(20, 19, 81), +(20, 20, 77), +(20, 21, 65), +(20, 22, 70), +(20, 23, 91), +(20, 24, 66), +(20, 25, 79), +(20, 26, 65), +(20, 27, 88), +(20, 28, 84), +(20, 29, 74), +(20, 30, 82), +(20, 31, 75), +(20, 32, 92), +(20, 33, 75), +(20, 34, 81), +(20, 35, 71), +(20, 36, 65), +(20, 37, 79), +(20, 38, 66), +(20, 39, 95), +(20, 40, 81), +(20, 41, 80), +(20, 42, 71), +(20, 43, 88), +(20, 44, 90), +(20, 45, 72), +(20, 46, 70), +(20, 47, 65), +(20, 48, 77), +(20, 49, 96), +(20, 50, 76), +(20, 51, 95), +(20, 52, 98), +(20, 53, 77), +(20, 54, 86), +(20, 55, 78), +(20, 56, 88), +(20, 57, 73), +(20, 58, 71), +(20, 59, 72), +(20, 60, 65), +(20, 61, 95), +(20, 62, 78), +(20, 63, 78), +(20, 64, 95), +(20, 65, 92), +(20, 66, 74), +(20, 67, 72), +(20, 68, 86), +(20, 69, 74), +(20, 70, 99), +(20, 71, 89), +(20, 72, 81), +(20, 73, 69), +(20, 74, 93), +(20, 75, 76), +(20, 76, 91), +(20, 77, 79), +(20, 78, 66), +(20, 79, 77), +(20, 80, 74), +(20, 81, 73), +(20, 82, 80), +(20, 83, 78), +(20, 84, 81), +(20, 85, 69), +(20, 86, 68), +(20, 87, 97), +(20, 88, 95), +(20, 89, 78), +(20, 90, 97), +(20, 91, 72), +(20, 92, 75), +(20, 93, 92), +(20, 94, 96), +(20, 95, 68), +(20, 96, 66), +(20, 97, 76), +(20, 98, 69), +(20, 99, 78), +(20, 100, 97), +(20, 101, 68), +(20, 102, 88), +(20, 103, 91), +(20, 104, 77), +(20, 105, 87), +(20, 106, 83), +(20, 107, 78), +(20, 108, 89), +(20, 109, 73), +(20, 110, 82), +(20, 111, 72), +(20, 112, 87), +(20, 113, 94), +(20, 114, 99), +(20, 115, 78), +(20, 116, 72), +(20, 117, 67), +(20, 118, 81), +(20, 119, 99), +(20, 120, 75), +(20, 121, 80), +(20, 122, 90), +(20, 123, 81), +(20, 124, 86), +(20, 125, 67), +(20, 126, 75), +(20, 127, 76), +(20, 128, 95), +(20, 129, 79), +(20, 130, 82), +(20, 131, 79), +(20, 132, 92), +(20, 133, 78), +(20, 134, 90), +(20, 135, 84), +(20, 136, 83), +(20, 137, 91), +(20, 138, 98), +(20, 139, 73), +(20, 140, 74), +(20, 141, 74), +(20, 142, 92), +(20, 143, 88), +(20, 144, 85), +(20, 145, 97), +(20, 146, 75), +(20, 147, 66), +(20, 148, 80), +(20, 149, 99), +(20, 150, 93), +(20, 151, 90), +(20, 152, 78), +(20, 153, 81), +(20, 154, 93), +(20, 155, 91), +(20, 156, 98), +(20, 157, 79), +(20, 158, 69), +(20, 159, 96), +(20, 160, 90), +(20, 161, 74), +(20, 162, 74), +(20, 163, 67), +(20, 164, 68), +(20, 165, 91), +(20, 166, 92), +(20, 167, 71), +(20, 168, 69), +(20, 169, 94), +(20, 170, 74), +(20, 171, 65), +(20, 172, 96), +(20, 173, 85), +(20, 174, 71), +(20, 175, 75), +(20, 176, 70), +(20, 177, 91), +(20, 178, 96), +(20, 179, 66), +(20, 180, 94), +(20, 181, 67), +(20, 182, 89), +(20, 183, 95), +(20, 184, 81), +(20, 185, 68), +(20, 186, 97), +(20, 187, 66), +(20, 188, 93), +(20, 189, 97), +(20, 190, 70), +(20, 191, 66), +(20, 192, 87), +(20, 193, 73), +(20, 194, 73), +(20, 195, 78), +(20, 196, 86), +(20, 197, 79), +(20, 198, 87), +(20, 199, 69), +(20, 200, 76), +(20, 201, 74), +(20, 202, 87), +(20, 203, 68), +(20, 204, 77), +(20, 205, 88), +(20, 206, 66), +(20, 207, 76), +(20, 208, 77), +(20, 209, 80), +(20, 210, 70), +(20, 211, 76), +(20, 212, 82), +(20, 213, 80), +(20, 214, 99), +(20, 215, 98), +(20, 216, 70), +(20, 217, 93), +(20, 218, 93), +(20, 219, 65), +(20, 220, 76), +(20, 221, 94), +(20, 222, 99), +(20, 223, 69), +(20, 224, 93), +(20, 225, 75), +(20, 226, 75), +(20, 227, 82), +(20, 228, 94), +(20, 229, 83), +(20, 230, 80), +(20, 231, 70), +(20, 232, 72), +(20, 233, 65), +(20, 234, 82), +(20, 235, 86), +(20, 236, 73), +(20, 237, 68), +(20, 238, 81), +(20, 239, 93), +(20, 240, 68), +(20, 241, 92), +(20, 242, 73), +(20, 243, 82), +(20, 244, 96), +(20, 245, 72), +(20, 246, 79), +(20, 247, 78), +(20, 248, 79), +(20, 249, 78), +(20, 250, 70), +(20, 251, 71), +(20, 252, 76), +(20, 253, 99), +(20, 254, 93), +(20, 255, 70), +(20, 256, 91), +(20, 257, 82), +(20, 258, 77), +(20, 259, 72), +(20, 260, 93), +(20, 261, 98), +(20, 262, 98), +(20, 263, 74), +(20, 264, 68), +(20, 265, 94), +(20, 266, 70), +(20, 267, 72), +(20, 268, 80), +(20, 269, 81), +(20, 270, 99), +(20, 271, 79), +(20, 272, 72), +(20, 273, 68), +(20, 274, 79), +(20, 275, 77), +(20, 276, 91), +(20, 277, 65), +(20, 278, 92), +(20, 279, 68), +(20, 280, 97), +(20, 281, 78), +(20, 282, 89), +(20, 283, 75), +(20, 284, 72), +(20, 285, 81), +(20, 286, 86), +(20, 287, 92), +(20, 288, 73), +(20, 289, 98), +(20, 290, 94), +(20, 291, 68), +(20, 292, 72), +(20, 293, 81), +(20, 294, 99), +(20, 295, 97), +(20, 296, 76), +(20, 297, 78), +(20, 298, 74), +(20, 299, 85), +(20, 300, 71), +(20, 301, 72), +(20, 302, 73), +(20, 303, 82), +(20, 304, 69), +(20, 305, 74), +(20, 306, 72), +(20, 307, 83), +(20, 308, 91), +(20, 309, 99), +(20, 310, 71), +(20, 311, 85), +(20, 312, 66), +(20, 313, 66), +(20, 314, 93), +(20, 315, 97), +(20, 316, 91), +(20, 317, 75), +(20, 318, 99), +(20, 319, 77), +(20, 320, 98), +(20, 321, 71), +(20, 322, 83), +(20, 323, 77), +(20, 324, 91), +(20, 325, 67), +(20, 326, 85), +(20, 327, 86), +(20, 328, 72), +(20, 329, 67), +(20, 330, 67), +(20, 331, 86), +(20, 332, 65), +(20, 333, 82), +(20, 334, 91), +(20, 335, 97), +(20, 336, 80), +(20, 337, 95), +(20, 338, 81), +(20, 339, 98), +(20, 340, 89), +(20, 341, 78), +(20, 342, 79), +(20, 343, 85), +(20, 344, 72), +(20, 345, 86), +(20, 346, 83), +(20, 347, 68), +(20, 348, 68), +(20, 349, 67), +(20, 350, 85), +(20, 351, 95), +(20, 352, 91), +(20, 353, 80), +(20, 354, 67), +(20, 355, 66), +(20, 356, 83), +(20, 357, 72), +(20, 358, 66), +(20, 359, 84), +(20, 360, 74), +(20, 361, 85), +(20, 362, 70), +(20, 363, 75), +(20, 364, 91), +(20, 365, 71), +(20, 366, 89), +(20, 367, 67), +(20, 368, 66), +(20, 369, 84), +(20, 370, 79), +(20, 371, 82), +(20, 372, 77), +(20, 373, 78), +(20, 374, 86), +(20, 375, 70), +(20, 376, 97), +(20, 377, 89), +(20, 378, 87), +(20, 379, 74), +(20, 380, 76), +(20, 381, 96), +(20, 382, 69), +(20, 383, 75), +(20, 384, 78), +(20, 385, 80), +(20, 386, 93), +(20, 387, 88), +(20, 388, 80), +(20, 389, 98), +(20, 390, 76), +(20, 391, 94), +(20, 392, 98), +(20, 393, 70), +(20, 394, 74), +(20, 395, 98), +(20, 396, 72), +(20, 397, 76), +(20, 398, 70), +(20, 399, 70), +(20, 400, 88), +(20, 401, 97), +(20, 402, 92), +(20, 403, 76), +(20, 404, 69), +(20, 405, 86), +(20, 406, 84), +(20, 407, 74), +(20, 408, 69), +(20, 409, 98), +(20, 410, 67), +(20, 411, 96), +(20, 412, 93), +(20, 413, 76), +(20, 414, 91), +(20, 415, 99), +(20, 416, 93), +(20, 417, 67), +(20, 418, 95), +(20, 419, 92), +(20, 420, 68), +(20, 421, 84), +(20, 422, 79), +(20, 423, 86), +(20, 424, 93), +(20, 425, 82), +(20, 426, 74), +(20, 427, 66), +(20, 428, 77), +(20, 429, 91), +(20, 430, 80), +(20, 431, 79), +(20, 432, 96), +(20, 433, 90), +(20, 434, 81), +(20, 435, 99), +(20, 436, 78), +(20, 437, 82), +(20, 438, 96), +(20, 439, 95), +(20, 440, 75), +(20, 441, 92), +(20, 442, 65), +(20, 443, 79), +(20, 444, 80), +(20, 445, 86), +(20, 446, 77), +(20, 447, 77), +(20, 448, 85), +(20, 449, 98), +(20, 450, 68), +(20, 451, 98), +(20, 452, 98), +(20, 453, 80), +(20, 454, 82), +(20, 455, 72), +(20, 456, 95), +(20, 457, 96), +(20, 458, 65), +(20, 459, 99), +(20, 460, 96), +(20, 461, 84), +(20, 462, 74), +(20, 463, 65), +(20, 464, 85), +(20, 465, 76), +(20, 466, 71), +(20, 467, 68), +(20, 468, 97), +(20, 469, 65), +(20, 470, 79), +(20, 471, 72), +(20, 472, 88), +(20, 473, 66), +(20, 474, 91), +(20, 475, 92), +(20, 476, 94), +(20, 477, 84), +(20, 478, 69), +(20, 479, 66), +(20, 480, 81), +(20, 481, 70), +(20, 482, 78), +(20, 483, 97), +(20, 484, 92), +(20, 485, 83), +(20, 486, 84), +(20, 487, 98), +(20, 488, 91), +(20, 489, 95), +(20, 490, 70), +(20, 491, 81), +(20, 492, 85), +(20, 493, 97), +(20, 494, 91), +(20, 495, 68), +(20, 496, 87), +(20, 497, 94), +(20, 498, 93), +(20, 499, 82), +(20, 500, 91), +(20, 501, 73), +(20, 502, 81), +(20, 503, 76), +(20, 504, 72), +(20, 505, 68), +(20, 506, 67), +(20, 507, 96), +(20, 508, 69), +(20, 509, 79), +(20, 510, 78), +(20, 511, 98), +(20, 512, 86), +(20, 513, 68), +(20, 514, 94), +(20, 515, 69), +(20, 516, 74), +(20, 517, 67), +(20, 518, 91), +(20, 519, 99), +(20, 520, 72), +(20, 521, 96), +(20, 522, 90), +(20, 523, 73), +(20, 524, 66), +(20, 525, 73), +(20, 526, 77), +(20, 527, 79), +(20, 528, 93), +(20, 529, 78), +(20, 530, 86), +(20, 531, 78), +(20, 532, 81), +(20, 533, 84), +(20, 534, 97), +(20, 535, 67), +(20, 536, 95), +(20, 537, 79), +(20, 538, 87), +(20, 539, 72), +(20, 540, 90), +(20, 541, 70), +(20, 542, 87), +(20, 543, 83), +(20, 544, 71), +(20, 545, 90), +(20, 546, 91), +(20, 547, 65), +(20, 548, 78), +(20, 549, 78), +(20, 550, 70), +(20, 551, 87), +(20, 552, 84), +(20, 553, 99), +(20, 554, 71), +(20, 555, 93), +(20, 556, 86), +(20, 557, 97), +(20, 558, 66), +(20, 559, 86), +(20, 560, 67), +(20, 561, 77), +(20, 562, 75), +(20, 563, 68), +(20, 564, 66), +(20, 1024, 98), +(20, 1025, 70), +(20, 1026, 82), +(20, 1027, 96), +(20, 1028, 91), +(20, 1029, 97), +(20, 1030, 98), +(20, 1031, 94), +(20, 1032, 71), +(20, 1033, 66), +(20, 1034, 82), +(20, 1035, 82), +(20, 1036, 86), +(20, 1037, 84), +(20, 1038, 81), +(20, 1039, 76), +(20, 1040, 82), +(20, 1041, 72), +(20, 1042, 74), +(20, 1043, 69), +(20, 1044, 72), +(20, 1045, 85), +(20, 1046, 65), +(20, 1047, 68), +(20, 1048, 76), +(20, 1049, 99), +(20, 1050, 79), +(20, 1051, 76), +(20, 1052, 94), +(20, 1053, 78), +(20, 1054, 96), +(20, 1055, 84), +(20, 1056, 71), +(20, 1057, 76), +(20, 1058, 72), +(20, 1059, 85), +(20, 1060, 73), +(20, 1061, 70), +(20, 1062, 91), +(20, 1063, 78), +(20, 1064, 80), +(20, 1065, 95), +(20, 1066, 83), +(20, 1067, 99), +(20, 1068, 75), +(20, 1069, 80), +(20, 1070, 95), +(20, 1071, 71), +(20, 1072, 87), +(20, 1073, 96), +(20, 1074, 93), +(20, 1075, 73), +(20, 1076, 98), +(20, 1077, 77), +(20, 1078, 95), +(20, 1079, 85), +(20, 1080, 94), +(20, 1081, 91), +(20, 1082, 90), +(20, 1083, 86), +(20, 1084, 79), +(20, 1085, 65), +(20, 1086, 89), +(20, 1087, 76), +(20, 1088, 90), +(20, 1089, 99), +(20, 1090, 91), +(20, 1091, 96), +(20, 1092, 77), +(20, 1093, 91), +(20, 1094, 73), +(20, 1095, 96), +(20, 1096, 73), +(20, 1097, 87), +(20, 1098, 79), +(20, 1099, 70), +(20, 1100, 68), +(20, 1101, 74), +(20, 1102, 96), +(20, 1103, 94), +(20, 1104, 85), +(20, 1105, 76), +(20, 1106, 95), +(20, 1107, 73), +(20, 1108, 85), +(20, 1109, 82), +(20, 1110, 80), +(20, 1111, 77), +(20, 1112, 94), +(20, 1113, 84), +(20, 1114, 98), +(20, 1115, 89), +(20, 1116, 85), +(20, 1117, 95), +(20, 1118, 90), +(20, 1119, 76), +(20, 1120, 82), +(20, 1121, 75), +(20, 1122, 67), +(20, 1123, 68), +(20, 1124, 74), +(20, 1125, 82), +(20, 1126, 82), +(20, 1127, 96), +(20, 1128, 89), +(20, 1129, 80), +(20, 1130, 84), +(20, 1131, 68), +(20, 1132, 84), +(20, 1133, 90), +(20, 1134, 94), +(20, 1135, 73), +(20, 1136, 77), +(20, 1137, 67), +(20, 1138, 78), +(20, 1139, 82), +(20, 1140, 71), +(20, 1141, 88), +(20, 1142, 86), +(20, 1143, 76), +(20, 1144, 90), +(20, 1145, 65), +(20, 1146, 70), +(20, 1147, 72), +(20, 1148, 96), +(20, 1149, 93), +(20, 1150, 80), +(20, 1151, 80), +(20, 1152, 93), +(20, 1153, 77), +(20, 1154, 82), +(20, 1155, 71), +(20, 1156, 67), +(20, 1157, 99), +(20, 1158, 76), +(20, 1159, 77), +(20, 1160, 89), +(20, 1161, 67), +(20, 1162, 66), +(20, 1163, 89), +(20, 1164, 68), +(20, 1165, 73), +(20, 1166, 67), +(20, 1167, 91), +(20, 1168, 93), +(20, 1169, 74), +(20, 1170, 75), +(20, 1171, 71), +(20, 1172, 82), +(20, 1173, 97), +(20, 1174, 86), +(20, 1175, 89), +(20, 1176, 75), +(20, 1177, 84), +(20, 1178, 73), +(20, 1179, 68), +(20, 1180, 88), +(20, 1181, 86), +(20, 1182, 82), +(20, 1183, 84), +(20, 1184, 94), +(20, 1185, 95), +(20, 1186, 75), +(20, 1187, 88), +(20, 1188, 80), +(20, 1189, 91), +(20, 1190, 82), +(20, 1191, 84), +(20, 1192, 92), +(20, 1193, 93), +(20, 1194, 69), +(20, 1195, 80), +(20, 1196, 81), +(20, 1197, 88), +(20, 1198, 79), +(20, 1199, 96), +(20, 1200, 87), +(20, 1201, 85), +(20, 1202, 93), +(20, 1203, 73), +(20, 1204, 95), +(20, 1205, 82), +(20, 1206, 69), +(20, 1207, 93), +(20, 1208, 86), +(20, 1209, 96), +(20, 1210, 88), +(20, 1211, 94), +(20, 1212, 97), +(20, 1213, 84), +(20, 1214, 76), +(20, 1215, 76), +(20, 1216, 96), +(20, 1217, 74), +(20, 1218, 98), +(20, 1219, 68), +(20, 1220, 90), +(20, 1221, 65), +(20, 1222, 83), +(20, 1223, 92), +(20, 1224, 82), +(20, 1225, 78), +(20, 1226, 71), +(20, 1227, 75), +(20, 1228, 68), +(20, 1229, 95), +(20, 1230, 95), +(20, 1231, 73), +(20, 1232, 99), +(20, 1233, 77), +(20, 1234, 92), +(20, 1235, 79), +(20, 1236, 98), +(20, 1237, 81), +(20, 1238, 76), +(20, 1239, 70), +(20, 1240, 82), +(20, 1241, 85), +(20, 1242, 88), +(20, 1243, 96), +(20, 1244, 86), +(20, 1245, 80), +(20, 1246, 91), +(20, 1247, 90), +(20, 1248, 94), +(20, 1249, 72), +(20, 1250, 79), +(20, 1251, 97), +(20, 1252, 90), +(20, 1253, 82), +(20, 1254, 81), +(20, 1255, 86), +(20, 1256, 79), +(20, 1257, 98), +(20, 1258, 65), +(20, 1259, 87), +(20, 1260, 69), +(20, 1261, 98), +(20, 1262, 72), +(20, 1263, 75), +(20, 1264, 87), +(20, 1265, 67), +(20, 1266, 75), +(20, 1267, 79), +(20, 1268, 72), +(20, 1269, 84), +(20, 1270, 82), +(20, 1271, 94), +(20, 1272, 90), +(20, 1273, 65), +(20, 1274, 94), +(20, 1275, 87), +(20, 1276, 76), +(20, 1277, 65), +(20, 1278, 68), +(20, 1279, 87), +(20, 1280, 87), +(20, 1281, 87), +(20, 1282, 99), +(20, 1283, 72), +(20, 1284, 86), +(20, 1285, 91), +(20, 1286, 77), +(20, 1287, 99), +(20, 1288, 84), +(20, 1289, 65), +(20, 1290, 71), +(20, 1291, 96), +(20, 1292, 69), +(20, 1293, 76), +(20, 1294, 95), +(20, 1295, 73), +(20, 1296, 72), +(20, 1297, 94), +(20, 1298, 84), +(20, 1299, 66), +(20, 1300, 66), +(20, 1301, 79), +(20, 1302, 77), +(20, 1303, 77), +(20, 1304, 81), +(20, 1305, 71), +(20, 1306, 69), +(20, 1307, 88), +(20, 1308, 97), +(20, 1309, 79), +(20, 1310, 87), +(20, 1311, 80), +(20, 1312, 73), +(20, 1313, 82), +(20, 1314, 92), +(20, 1315, 91), +(20, 1316, 83), +(20, 1317, 83), +(20, 1318, 91), +(20, 1319, 73), +(20, 1320, 95), +(20, 1321, 77), +(20, 1322, 89), +(20, 1323, 68), +(20, 1324, 88), +(20, 1325, 88), +(20, 1326, 77), +(20, 1327, 89), +(20, 1328, 76), +(20, 1329, 94), +(20, 1330, 75), +(20, 1331, 79), +(20, 1332, 99), +(20, 1333, 86), +(20, 1334, 74), +(20, 1335, 88), +(20, 1336, 82), +(20, 1337, 73), +(20, 1338, 69), +(20, 1339, 90), +(20, 1340, 82), +(20, 1341, 93), +(20, 1342, 84), +(20, 1343, 90), +(20, 1344, 92), +(20, 1345, 82), +(20, 1346, 80), +(20, 1347, 70), +(20, 1348, 86), +(20, 1349, 70), +(20, 1350, 98), +(20, 1351, 85), +(20, 1352, 92), +(20, 1353, 75), +(20, 1354, 98), +(20, 1355, 75), +(20, 1356, 86), +(20, 1357, 92), +(20, 1358, 83), +(20, 1359, 71), +(20, 1360, 98), +(20, 1361, 82), +(20, 1362, 65), +(20, 1363, 73), +(20, 1364, 80), +(20, 1365, 89), +(20, 1366, 79), +(20, 1367, 90), +(20, 1368, 91), +(20, 1369, 65), +(20, 1370, 92), +(20, 1371, 75), +(20, 1372, 71), +(20, 1373, 94), +(20, 1374, 72), +(20, 1375, 68), +(20, 1376, 94), +(20, 1377, 81), +(20, 1378, 73), +(20, 1379, 87), +(20, 1380, 85), +(20, 1381, 90), +(20, 1382, 74), +(20, 1383, 86), +(20, 1384, 72), +(20, 1385, 65), +(20, 1386, 80), +(20, 1387, 90), +(20, 1388, 72), +(20, 1389, 74), +(20, 1390, 97), +(20, 1391, 97), +(20, 1392, 68), +(20, 1393, 91), +(20, 1394, 69), +(20, 1395, 67), +(20, 1396, 93), +(20, 1397, 98), +(20, 1398, 82), +(20, 1399, 73), +(20, 1400, 72), +(20, 1401, 79), +(20, 1402, 82), +(20, 1403, 84), +(20, 1404, 88), +(20, 1405, 70), +(20, 1406, 81), +(20, 1407, 84), +(20, 1408, 87), +(20, 1409, 96), +(20, 1410, 75), +(20, 1411, 91), +(20, 1412, 91), +(20, 1413, 73), +(20, 1414, 74), +(20, 1415, 72), +(20, 1416, 85), +(20, 1417, 77), +(20, 1418, 70), +(20, 1419, 81), +(20, 1420, 75), +(20, 1421, 99), +(20, 1422, 95), +(20, 1423, 72), +(20, 1424, 94), +(20, 1425, 99), +(20, 1426, 88), +(20, 1427, 91), +(20, 1428, 97), +(20, 1429, 86), +(20, 1430, 89), +(20, 1431, 91), +(20, 1432, 67), +(20, 1433, 79), +(20, 1434, 90), +(20, 1435, 67), +(20, 1436, 99), +(20, 1437, 89), +(20, 1438, 72), +(20, 1439, 89), +(20, 1440, 83), +(20, 1441, 97), +(20, 1442, 65), +(20, 1443, 73), +(20, 1444, 82), +(20, 1445, 73), +(20, 1446, 66), +(20, 1447, 77), +(20, 1448, 83), +(20, 1449, 76), +(20, 1450, 73), +(20, 1451, 87), +(20, 1452, 84), +(20, 1453, 73), +(20, 1454, 69), +(20, 1455, 72), +(20, 1456, 69), +(20, 1457, 85), +(20, 1458, 81), +(20, 1459, 70), +(20, 1460, 93), +(20, 1461, 87), +(20, 1462, 74), +(20, 1463, 65), +(20, 1464, 71), +(20, 1465, 98), +(20, 1466, 80), +(20, 1467, 91), +(20, 1468, 65), +(20, 1469, 91), +(20, 1470, 74), +(20, 1471, 70), +(20, 1472, 78), +(20, 1473, 66), +(20, 1474, 92), +(20, 1475, 73), +(20, 1476, 86), +(20, 1477, 97), +(20, 1478, 65), +(20, 1479, 91), +(20, 1480, 85), +(20, 1481, 71), +(20, 1482, 73), +(20, 1483, 88), +(20, 1484, 68), +(20, 1485, 78), +(20, 1486, 74), +(20, 1487, 87), +(20, 1488, 89), +(20, 1489, 94), +(20, 1490, 97), +(20, 1491, 93), +(20, 1492, 72), +(20, 1493, 80), +(20, 1494, 66), +(20, 1495, 75), +(20, 1496, 71), +(20, 1497, 87), +(20, 1498, 83), +(20, 1499, 88), +(20, 1500, 90), +(20, 1501, 73), +(20, 1502, 88), +(20, 1503, 87), +(20, 1504, 90), +(20, 1505, 66), +(20, 1506, 88), +(20, 1507, 95), +(20, 1508, 66), +(20, 1509, 92), +(20, 1510, 86), +(20, 1511, 74), +(20, 1512, 71), +(20, 1513, 71), +(20, 1514, 87), +(20, 1515, 89), +(20, 1516, 96), +(20, 1517, 96), +(20, 1518, 89), +(20, 1519, 79), +(20, 1520, 66), +(20, 1521, 70), +(20, 1522, 74), +(20, 1523, 87), +(20, 1524, 93), +(20, 1525, 88), +(20, 1526, 91), +(20, 1527, 67), +(20, 1528, 71), +(20, 1529, 88), +(20, 1530, 94), +(20, 1531, 66), +(20, 1532, 69), +(20, 1533, 91), +(20, 1534, 79), +(20, 1535, 99), +(20, 1536, 91), +(20, 1537, 78), +(20, 1538, 79), +(20, 1539, 99), +(20, 1540, 96), +(20, 1541, 75), +(20, 1542, 92), +(20, 1543, 69), +(20, 1544, 70), +(20, 1545, 89), +(20, 1546, 87), +(20, 1547, 91), +(20, 1548, 78), +(20, 1549, 73), +(20, 1550, 72), +(20, 1551, 80), +(20, 1552, 85), +(20, 1553, 71), +(20, 1554, 87), +(20, 1555, 68), +(20, 1556, 70), +(20, 1557, 96), +(20, 1558, 72), +(20, 1559, 90), +(20, 1560, 99), +(20, 1561, 69), +(20, 1562, 77), +(20, 1563, 87), +(20, 1564, 92), +(20, 1565, 67), +(20, 1566, 95), +(20, 1567, 81), +(20, 1568, 86), +(20, 1569, 95), +(20, 1570, 97), +(20, 1571, 68), +(20, 1572, 81), +(20, 1573, 88), +(20, 1574, 71), +(20, 1575, 87), +(20, 1576, 67), +(20, 1577, 81), +(20, 1578, 90), +(20, 1579, 87), +(20, 1580, 80), +(20, 1581, 86), +(20, 1582, 83), +(20, 1583, 75), +(20, 1584, 65), +(20, 1585, 65), +(20, 1586, 80), +(20, 1587, 67), +(20, 2047, 85), +(20, 2048, 69), +(20, 2049, 67), +(20, 2050, 67), +(20, 2051, 98), +(20, 2052, 85), +(20, 2053, 92), +(20, 2054, 94), +(20, 2055, 94), +(20, 2056, 94), +(20, 2057, 70), +(20, 2058, 85), +(20, 2059, 72), +(20, 2060, 84), +(20, 2061, 67), +(20, 2062, 65), +(20, 2063, 72), +(20, 2064, 65), +(20, 2065, 86), +(20, 2066, 93), +(20, 2067, 67), +(20, 2068, 88), +(20, 2069, 75), +(20, 2070, 98), +(20, 2071, 98), +(20, 2072, 81), +(20, 2073, 94), +(20, 2074, 96), +(20, 2075, 71), +(20, 2076, 99), +(20, 2077, 65), +(20, 2078, 66), +(20, 2079, 99), +(20, 2080, 78), +(20, 2081, 92), +(20, 2082, 71), +(20, 2083, 74), +(20, 2084, 68), +(20, 2085, 78), +(20, 2086, 85), +(20, 2087, 96), +(20, 2088, 93), +(20, 2089, 66), +(20, 2090, 82), +(20, 2091, 65), +(20, 2092, 92), +(20, 2093, 70), +(20, 2094, 86), +(20, 2095, 99), +(20, 2096, 97), +(20, 2097, 96), +(20, 2098, 78), +(20, 2099, 93), +(20, 2100, 78), +(20, 2101, 68), +(20, 2102, 90), +(20, 2103, 78), +(20, 2104, 91), +(20, 2105, 80), +(20, 2106, 73), +(20, 2107, 81), +(20, 2108, 71), +(20, 2109, 98), +(20, 2110, 99), +(20, 2111, 95), +(20, 2112, 74), +(20, 2113, 85), +(20, 2114, 74), +(20, 2115, 69), +(20, 2116, 92), +(20, 2117, 99), +(20, 2118, 91), +(20, 2119, 80), +(20, 2120, 87), +(20, 2121, 74), +(20, 2122, 66), +(20, 2123, 67), +(20, 2124, 89), +(20, 2125, 89), +(20, 2126, 82), +(20, 2127, 67), +(20, 2128, 75), +(20, 2129, 70), +(20, 2130, 81), +(20, 2131, 67), +(20, 2132, 85), +(20, 2133, 96), +(20, 2134, 83), +(20, 2135, 75), +(20, 2136, 98), +(20, 2137, 87), +(20, 2138, 93), +(20, 2139, 69), +(20, 2140, 77), +(20, 2141, 72), +(20, 2142, 67), +(20, 2143, 99), +(20, 2144, 80), +(20, 2145, 80), +(20, 2146, 68), +(20, 2147, 81), +(20, 2148, 66), +(20, 2149, 86), +(20, 2150, 94), +(20, 2151, 68), +(20, 2152, 90), +(20, 2153, 91), +(20, 2154, 83), +(20, 2155, 66), +(20, 2156, 81), +(20, 2157, 91), +(20, 2158, 98), +(20, 2159, 76), +(20, 2160, 70), +(20, 2161, 73), +(20, 2162, 83), +(20, 2163, 70), +(20, 2164, 68), +(20, 2165, 90), +(20, 2166, 70), +(20, 2167, 81), +(20, 2168, 88), +(20, 2169, 87), +(20, 2170, 74), +(20, 2171, 78), +(20, 2172, 80), +(20, 2173, 90), +(20, 2174, 75), +(20, 2175, 89), +(20, 2176, 87), +(20, 2177, 66), +(20, 2178, 92), +(20, 2179, 86), +(20, 2180, 86), +(20, 2181, 71), +(20, 2182, 87), +(20, 2183, 75), +(20, 2184, 88), +(20, 2185, 76), +(20, 2186, 79), +(20, 2187, 68), +(20, 2188, 75), +(20, 2189, 72), +(20, 2190, 68), +(20, 2191, 86), +(20, 2192, 88), +(20, 2193, 91), +(20, 2194, 70), +(20, 2195, 72), +(20, 2196, 76), +(20, 2197, 89), +(20, 2198, 85), +(20, 2199, 67), +(20, 2200, 96), +(20, 2201, 94), +(20, 2202, 95), +(20, 2203, 88), +(20, 2204, 77), +(20, 2205, 83), +(20, 2206, 79), +(20, 2207, 91), +(20, 2208, 78), +(20, 2209, 68), +(20, 2210, 89), +(20, 2211, 80), +(20, 2212, 85), +(20, 2213, 70), +(20, 2214, 83), +(20, 2215, 66), +(20, 2216, 86), +(20, 2217, 80), +(20, 2218, 77), +(20, 2219, 83), +(20, 2220, 73), +(20, 2221, 85), +(20, 2222, 87), +(20, 2223, 70), +(20, 2224, 98), +(20, 2225, 95), +(20, 2226, 77), +(20, 2227, 73), +(20, 2228, 68), +(20, 2229, 74), +(20, 2230, 71), +(20, 2231, 84), +(20, 2232, 86), +(20, 2233, 67), +(20, 2234, 99), +(20, 2235, 99), +(20, 2236, 78), +(20, 2237, 78), +(20, 2238, 77), +(20, 2239, 95), +(20, 2240, 83), +(20, 2241, 92), +(20, 2242, 86), +(20, 2243, 80), +(20, 2244, 79), +(20, 2245, 92), +(20, 2246, 82), +(20, 2247, 77), +(20, 2248, 86), +(20, 2249, 94), +(20, 2250, 86), +(20, 2251, 67), +(20, 2252, 84), +(20, 2253, 80), +(20, 2254, 93), +(20, 2255, 83), +(20, 2256, 65), +(20, 2257, 77), +(20, 2258, 75), +(20, 2259, 98), +(20, 2260, 82), +(20, 2261, 76), +(20, 2262, 70), +(20, 2263, 86), +(20, 2264, 69), +(20, 2265, 96), +(20, 2266, 71), +(20, 2267, 74), +(20, 2268, 99), +(20, 2269, 69), +(20, 2270, 87), +(20, 2271, 78), +(20, 2272, 78), +(20, 2273, 66), +(20, 2274, 87), +(20, 2275, 83), +(20, 2276, 80), +(20, 2277, 67), +(20, 2278, 90), +(20, 2279, 88), +(20, 2280, 77), +(20, 2281, 86), +(20, 2282, 69), +(20, 2283, 87), +(20, 2284, 87), +(20, 2285, 88), +(20, 2286, 90), +(20, 2287, 89), +(20, 2288, 91), +(20, 2289, 78), +(20, 2290, 91), +(20, 2291, 80), +(20, 2292, 88), +(20, 2293, 86), +(20, 2294, 92), +(20, 2295, 70), +(20, 2296, 83), +(20, 2297, 92), +(20, 2298, 75), +(20, 2299, 78), +(20, 2300, 87), +(20, 2301, 72), +(20, 2302, 66), +(20, 2303, 90), +(20, 2304, 75), +(20, 2305, 92), +(20, 2306, 98), +(20, 2307, 69), +(20, 2308, 83), +(20, 2309, 97), +(20, 2310, 67), +(20, 2311, 95), +(20, 2312, 72), +(20, 2313, 98), +(20, 2314, 99), +(20, 2315, 68), +(20, 2316, 98), +(20, 2317, 87), +(20, 2318, 68), +(20, 2319, 73), +(20, 2320, 71), +(20, 2321, 96), +(20, 2322, 82), +(20, 2323, 72), +(20, 2324, 96), +(20, 2325, 67), +(20, 2326, 72), +(20, 2327, 96), +(20, 2328, 90), +(20, 2329, 82), +(20, 2330, 99), +(20, 2331, 95), +(20, 2332, 93), +(20, 2333, 98), +(20, 2334, 80), +(20, 2335, 82), +(20, 2336, 88), +(20, 2337, 96), +(20, 2338, 75), +(20, 2339, 98), +(20, 2340, 73), +(20, 2341, 76), +(20, 2342, 70), +(20, 2343, 71), +(20, 2344, 67), +(20, 2345, 65), +(20, 2346, 98), +(20, 2347, 72), +(20, 2348, 97), +(20, 2349, 76), +(20, 2350, 75), +(20, 2351, 82), +(20, 2352, 96), +(20, 2353, 78), +(20, 2354, 67), +(20, 2355, 89), +(20, 2356, 66), +(20, 2357, 70), +(20, 2358, 74), +(20, 2359, 68), +(20, 2360, 89), +(20, 2361, 87), +(20, 2362, 97), +(20, 2363, 78), +(20, 2364, 90), +(20, 2365, 75), +(20, 2366, 98), +(20, 2367, 97), +(20, 2368, 92), +(20, 2369, 94), +(20, 2370, 79), +(20, 2371, 77), +(20, 2372, 97), +(20, 2373, 96), +(20, 2374, 81), +(20, 2375, 90), +(20, 2376, 93), +(20, 2377, 97), +(20, 2378, 75), +(20, 2379, 85), +(20, 2380, 80), +(20, 2381, 93), +(20, 2382, 82), +(20, 2383, 74), +(20, 2384, 80), +(20, 2385, 97), +(20, 2386, 71), +(20, 2387, 71), +(20, 2388, 95), +(20, 2389, 76), +(20, 2390, 66), +(20, 2391, 90), +(20, 2392, 82), +(20, 2393, 90), +(20, 2394, 82), +(20, 2395, 82), +(20, 2396, 70), +(20, 2397, 91), +(20, 2398, 94), +(20, 2399, 88), +(20, 2400, 79), +(20, 2401, 70), +(20, 2402, 89), +(20, 2403, 80), +(20, 2404, 88), +(20, 2405, 69), +(20, 2406, 94), +(20, 2407, 96), +(20, 2408, 90), +(20, 2409, 70), +(20, 2410, 89), +(20, 2411, 82), +(20, 2412, 77), +(20, 2413, 86), +(20, 2414, 90), +(20, 2415, 92), +(20, 2416, 90), +(20, 2417, 75), +(20, 2418, 67), +(20, 2419, 79), +(20, 2420, 68), +(20, 2421, 95), +(20, 2422, 87), +(20, 2423, 95), +(20, 2424, 73), +(20, 2425, 83), +(20, 2426, 69), +(20, 2427, 81), +(20, 2428, 75), +(20, 2429, 74), +(20, 2430, 92), +(20, 2431, 75), +(20, 2432, 81), +(20, 2433, 93), +(20, 2434, 66), +(20, 2435, 68), +(20, 2436, 94), +(20, 2437, 95), +(20, 2438, 70), +(20, 2439, 68), +(20, 2440, 97), +(20, 2441, 69), +(20, 2442, 92), +(20, 2443, 91), +(20, 2444, 73), +(20, 2445, 81), +(20, 2446, 95), +(20, 2447, 72), +(20, 2448, 88), +(20, 2449, 99), +(20, 2450, 68), +(20, 2451, 87), +(20, 2452, 98), +(20, 2453, 67), +(20, 2454, 89), +(20, 2455, 93), +(20, 2456, 69), +(20, 2457, 80), +(20, 2458, 86), +(20, 2459, 79), +(20, 2460, 65), +(20, 2461, 83), +(20, 2462, 92), +(20, 2463, 98), +(20, 2464, 78), +(20, 2465, 84), +(20, 2466, 83), +(20, 2467, 84), +(20, 2468, 76), +(20, 2469, 98), +(20, 2470, 87), +(20, 2471, 95), +(20, 2472, 85), +(20, 2473, 89), +(20, 2474, 90), +(20, 2475, 85), +(20, 2476, 86), +(20, 2477, 65), +(20, 2478, 90), +(20, 2479, 68), +(20, 2480, 93), +(20, 2481, 70), +(20, 2482, 65), +(20, 2483, 67), +(20, 2484, 72), +(20, 2485, 69), +(20, 2486, 96), +(20, 2487, 79), +(20, 2488, 83), +(20, 2489, 85), +(20, 2490, 77), +(20, 2491, 98), +(20, 2492, 98), +(20, 2493, 87), +(20, 2494, 72), +(20, 2495, 96), +(20, 2496, 88), +(20, 2497, 78), +(20, 2498, 74), +(20, 2499, 84), +(20, 2500, 72), +(20, 2501, 83), +(20, 2502, 67), +(20, 2503, 86), +(20, 2504, 75), +(20, 2505, 84), +(20, 2506, 65), +(20, 2507, 85), +(20, 2508, 89), +(20, 2509, 67), +(20, 2510, 88), +(20, 2511, 89), +(20, 2512, 93), +(20, 2513, 75), +(20, 2514, 69), +(20, 2515, 94), +(20, 2516, 71), +(20, 2517, 81), +(20, 2518, 81), +(20, 2519, 93), +(20, 2520, 98), +(20, 2521, 94), +(20, 2522, 95), +(20, 2523, 70), +(20, 2524, 96), +(20, 2525, 67), +(20, 2526, 92), +(20, 2527, 91), +(20, 2528, 78), +(20, 2529, 74), +(20, 2530, 99), +(20, 2531, 81), +(20, 2532, 90), +(20, 2533, 74), +(20, 2534, 69), +(20, 2535, 78), +(20, 2536, 92), +(20, 2537, 99), +(20, 2538, 96), +(20, 2539, 85), +(20, 2540, 70), +(20, 2541, 72), +(20, 2542, 88), +(20, 2543, 72), +(20, 2544, 95), +(20, 2545, 71), +(20, 2546, 95), +(20, 2547, 93), +(20, 2548, 88), +(20, 2549, 73), +(20, 2550, 83), +(20, 2551, 91), +(20, 2552, 79), +(20, 2553, 72), +(20, 2554, 81), +(20, 2555, 93), +(20, 2556, 97), +(20, 2557, 91), +(20, 2558, 79), +(20, 2559, 68), +(20, 2560, 68), +(20, 2561, 89), +(20, 2562, 95), +(20, 2563, 71), +(20, 2564, 76), +(20, 2565, 91), +(20, 2566, 70), +(20, 2567, 80), +(20, 2568, 84), +(20, 2569, 77), +(20, 2570, 88), +(20, 2571, 97), +(20, 2572, 91), +(20, 2573, 88), +(20, 2574, 98), +(20, 2575, 69), +(20, 2576, 71), +(20, 2577, 75), +(20, 2578, 66), +(20, 2579, 99), +(20, 2580, 78), +(20, 2581, 67), +(20, 2582, 87), +(20, 2583, 75), +(20, 2584, 72), +(20, 2585, 93), +(20, 2586, 88), +(20, 2587, 77), +(20, 2588, 71), +(20, 2589, 88), +(20, 2590, 73), +(20, 2591, 68), +(20, 2592, 96), +(20, 2593, 80), +(20, 2594, 93), +(20, 2595, 93), +(20, 2596, 80), +(20, 2597, 65), +(20, 2598, 73), +(20, 2599, 79), +(20, 2600, 91), +(20, 2601, 95), +(20, 2602, 68), +(20, 2603, 74), +(20, 2604, 85), +(20, 2605, 80), +(20, 2606, 72), +(20, 2607, 91), +(20, 2608, 85), +(20, 2609, 66), +(20, 2610, 76), +(21, 1, 96), +(21, 2, 66), +(21, 3, 71), +(21, 4, 99), +(21, 5, 72), +(21, 6, 70), +(21, 7, 82), +(21, 8, 98), +(21, 9, 87), +(21, 10, 65), +(21, 11, 71), +(21, 12, 98), +(21, 13, 78), +(21, 14, 95), +(21, 15, 71), +(21, 16, 67), +(21, 17, 82), +(21, 18, 65), +(21, 19, 82), +(21, 20, 69), +(21, 21, 82), +(21, 22, 91), +(21, 23, 77), +(21, 24, 94), +(21, 25, 84), +(21, 26, 72), +(21, 27, 86), +(21, 28, 87), +(21, 29, 92), +(21, 30, 87), +(21, 31, 81), +(21, 32, 90), +(21, 33, 68), +(21, 34, 93), +(21, 35, 67), +(21, 36, 75), +(21, 37, 83), +(21, 38, 82), +(21, 39, 96), +(21, 40, 97), +(21, 41, 82), +(21, 42, 70), +(21, 43, 67), +(21, 44, 81), +(21, 45, 94), +(21, 46, 94), +(21, 47, 81), +(21, 48, 98), +(21, 49, 78), +(21, 50, 79), +(21, 51, 89), +(21, 52, 70), +(21, 53, 74), +(21, 54, 72), +(21, 55, 82), +(21, 56, 91), +(21, 57, 79), +(21, 58, 81), +(21, 59, 85), +(21, 60, 88), +(21, 61, 92), +(21, 62, 98), +(21, 63, 93), +(21, 64, 73), +(21, 65, 66), +(21, 66, 78), +(21, 67, 86), +(21, 68, 66), +(21, 69, 91), +(21, 70, 81), +(21, 71, 69), +(21, 72, 79), +(21, 73, 86), +(21, 74, 85), +(21, 75, 94), +(21, 76, 70), +(21, 77, 76), +(21, 78, 78), +(21, 79, 71), +(21, 80, 77), +(21, 81, 97), +(21, 82, 94), +(21, 83, 84), +(21, 84, 84), +(21, 85, 89), +(21, 86, 92), +(21, 87, 73), +(21, 88, 71), +(21, 89, 72), +(21, 90, 90), +(21, 91, 80), +(21, 92, 67), +(21, 93, 98), +(21, 94, 73), +(21, 95, 73), +(21, 96, 91), +(21, 97, 67), +(21, 98, 98), +(21, 99, 77), +(21, 100, 79), +(21, 101, 81), +(21, 102, 75), +(21, 103, 77), +(21, 104, 89), +(21, 105, 90), +(21, 106, 77), +(21, 107, 85), +(21, 108, 81), +(21, 109, 95), +(21, 110, 65), +(21, 111, 98), +(21, 112, 98), +(21, 113, 75), +(21, 114, 80), +(21, 115, 76), +(21, 116, 65), +(21, 117, 67), +(21, 118, 72), +(21, 119, 86), +(21, 120, 92), +(21, 121, 68), +(21, 122, 87), +(21, 123, 87), +(21, 124, 95), +(21, 125, 73), +(21, 126, 76), +(21, 127, 77), +(21, 128, 77), +(21, 129, 92), +(21, 130, 96), +(21, 131, 95), +(21, 132, 90), +(21, 133, 96), +(21, 134, 75), +(21, 135, 69), +(21, 136, 72), +(21, 137, 65), +(21, 138, 91), +(21, 139, 88), +(21, 140, 68), +(21, 141, 95), +(21, 142, 87), +(21, 143, 79), +(21, 144, 86), +(21, 145, 85), +(21, 146, 74), +(21, 147, 84), +(21, 148, 97), +(21, 149, 90), +(21, 150, 65), +(21, 151, 94), +(21, 152, 65), +(21, 153, 90), +(21, 154, 91), +(21, 155, 98), +(21, 156, 79), +(21, 157, 93), +(21, 158, 79), +(21, 159, 76), +(21, 160, 74), +(21, 161, 95), +(21, 162, 82), +(21, 163, 98), +(21, 164, 69), +(21, 165, 85), +(21, 166, 98), +(21, 167, 67), +(21, 168, 92), +(21, 169, 78), +(21, 170, 78), +(21, 171, 68), +(21, 172, 87), +(21, 173, 82), +(21, 174, 87), +(21, 175, 94), +(21, 176, 70), +(21, 177, 92), +(21, 178, 92), +(21, 179, 89), +(21, 180, 82), +(21, 181, 80), +(21, 182, 74), +(21, 183, 79), +(21, 184, 83), +(21, 185, 87), +(21, 186, 65), +(21, 187, 84), +(21, 188, 86), +(21, 189, 75), +(21, 190, 81), +(21, 191, 80), +(21, 192, 77), +(21, 193, 77), +(21, 194, 95), +(21, 195, 78), +(21, 196, 88), +(21, 197, 89), +(21, 198, 91), +(21, 199, 77), +(21, 200, 98), +(21, 201, 90), +(21, 202, 89), +(21, 203, 86), +(21, 204, 69), +(21, 205, 87), +(21, 206, 69), +(21, 207, 78), +(21, 208, 90), +(21, 209, 88), +(21, 210, 87), +(21, 211, 71), +(21, 212, 79), +(21, 213, 65), +(21, 214, 65), +(21, 215, 70), +(21, 216, 97), +(21, 217, 87), +(21, 218, 79), +(21, 219, 71), +(21, 220, 92), +(21, 221, 72), +(21, 222, 90), +(21, 223, 87), +(21, 224, 66), +(21, 225, 78), +(21, 226, 70), +(21, 227, 84), +(21, 228, 73), +(21, 229, 80), +(21, 230, 90), +(21, 231, 85), +(21, 232, 84), +(21, 233, 84), +(21, 234, 73), +(21, 235, 88), +(21, 236, 87), +(21, 237, 81), +(21, 238, 72), +(21, 239, 98), +(21, 240, 96), +(21, 241, 68), +(21, 242, 72), +(21, 243, 75), +(21, 244, 87), +(21, 245, 74), +(21, 246, 72), +(21, 247, 94), +(21, 248, 72), +(21, 249, 70), +(21, 250, 71), +(21, 251, 91), +(21, 252, 85), +(21, 253, 68), +(21, 254, 65), +(21, 255, 96), +(21, 256, 66), +(21, 257, 81), +(21, 258, 78), +(21, 259, 76), +(21, 260, 67), +(21, 261, 94), +(21, 262, 71), +(21, 263, 80), +(21, 264, 74), +(21, 265, 86), +(21, 266, 96), +(21, 267, 94), +(21, 268, 71), +(21, 269, 97), +(21, 270, 85), +(21, 271, 90), +(21, 272, 90), +(21, 273, 96), +(21, 274, 68), +(21, 275, 65), +(21, 276, 98), +(21, 277, 77), +(21, 278, 65), +(21, 279, 80), +(21, 280, 78), +(21, 281, 97), +(21, 282, 84), +(21, 283, 65), +(21, 284, 78), +(21, 285, 71), +(21, 286, 81), +(21, 287, 92), +(21, 288, 78), +(21, 289, 86), +(21, 290, 69), +(21, 291, 98), +(21, 292, 90), +(21, 293, 72), +(21, 294, 72), +(21, 295, 89), +(21, 296, 70), +(21, 297, 71), +(21, 298, 84), +(21, 299, 82), +(21, 300, 81), +(21, 301, 90), +(21, 302, 95), +(21, 303, 74), +(21, 304, 85), +(21, 305, 70), +(21, 306, 85), +(21, 307, 96), +(21, 308, 68), +(21, 309, 68), +(21, 310, 91), +(21, 311, 75), +(21, 312, 82), +(21, 313, 99), +(21, 314, 96), +(21, 315, 84), +(21, 316, 80), +(21, 317, 79), +(21, 318, 82), +(21, 319, 70), +(21, 320, 68), +(21, 321, 99), +(21, 322, 88), +(21, 323, 69), +(21, 324, 68), +(21, 325, 77), +(21, 326, 65), +(21, 327, 87), +(21, 328, 98), +(21, 329, 68), +(21, 330, 86), +(21, 331, 69), +(21, 332, 91), +(21, 333, 76), +(21, 334, 76); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(21, 335, 81), +(21, 336, 87), +(21, 337, 88), +(21, 338, 88), +(21, 339, 70), +(21, 340, 72), +(21, 341, 70), +(21, 342, 74), +(21, 343, 71), +(21, 344, 70), +(21, 345, 97), +(21, 346, 96), +(21, 347, 89), +(21, 348, 66), +(21, 349, 77), +(21, 350, 96), +(21, 351, 66), +(21, 352, 95), +(21, 353, 81), +(21, 354, 73), +(21, 355, 73), +(21, 356, 70), +(21, 357, 67), +(21, 358, 92), +(21, 359, 88), +(21, 360, 90), +(21, 361, 81), +(21, 362, 76), +(21, 363, 85), +(21, 364, 74), +(21, 365, 94), +(21, 366, 97), +(21, 367, 82), +(21, 368, 96), +(21, 369, 65), +(21, 370, 84), +(21, 371, 65), +(21, 372, 78), +(21, 373, 94), +(21, 374, 70), +(21, 375, 82), +(21, 376, 70), +(21, 377, 75), +(21, 378, 99), +(21, 379, 71), +(21, 380, 89), +(21, 381, 71), +(21, 382, 87), +(21, 383, 86), +(21, 384, 94), +(21, 385, 88), +(21, 386, 65), +(21, 387, 96), +(21, 388, 89), +(21, 389, 96), +(21, 390, 75), +(21, 391, 72), +(21, 392, 80), +(21, 393, 95), +(21, 394, 70), +(21, 395, 82), +(21, 396, 92), +(21, 397, 77), +(21, 398, 99), +(21, 399, 79), +(21, 400, 89), +(21, 401, 91), +(21, 402, 90), +(21, 403, 76), +(21, 404, 74), +(21, 405, 91), +(21, 406, 85), +(21, 407, 72), +(21, 408, 93), +(21, 409, 88), +(21, 410, 71), +(21, 411, 81), +(21, 412, 89), +(21, 413, 81), +(21, 414, 85), +(21, 415, 96), +(21, 416, 76), +(21, 417, 77), +(21, 418, 98), +(21, 419, 67), +(21, 420, 93), +(21, 421, 97), +(21, 422, 99), +(21, 423, 84), +(21, 424, 65), +(21, 425, 98), +(21, 426, 90), +(21, 427, 87), +(21, 428, 93), +(21, 429, 90), +(21, 430, 91), +(21, 431, 81), +(21, 432, 69), +(21, 433, 91), +(21, 434, 84), +(21, 435, 73), +(21, 436, 73), +(21, 437, 74), +(21, 438, 82), +(21, 439, 97), +(21, 440, 98), +(21, 441, 65), +(21, 442, 91), +(21, 443, 82), +(21, 444, 94), +(21, 445, 93), +(21, 446, 94), +(21, 447, 87), +(21, 448, 65), +(21, 449, 90), +(21, 450, 90), +(21, 451, 88), +(21, 452, 77), +(21, 453, 68), +(21, 454, 83), +(21, 455, 77), +(21, 456, 81), +(21, 457, 86), +(21, 458, 68), +(21, 459, 69), +(21, 460, 70), +(21, 461, 70), +(21, 462, 84), +(21, 463, 88), +(21, 464, 67), +(21, 465, 75), +(21, 466, 78), +(21, 467, 94), +(21, 468, 85), +(21, 469, 65), +(21, 470, 68), +(21, 471, 88), +(21, 472, 84), +(21, 473, 85), +(21, 474, 98), +(21, 475, 75), +(21, 476, 92), +(21, 477, 98), +(21, 478, 72), +(21, 479, 95), +(21, 480, 86), +(21, 481, 78), +(21, 482, 70), +(21, 483, 76), +(21, 484, 93), +(21, 485, 98), +(21, 486, 84), +(21, 487, 72), +(21, 488, 94), +(21, 489, 99), +(21, 490, 67), +(21, 491, 94), +(21, 492, 66), +(21, 493, 68), +(21, 494, 88), +(21, 495, 72), +(21, 496, 79), +(21, 497, 69), +(21, 498, 99), +(21, 499, 88), +(21, 500, 90), +(21, 501, 96), +(21, 502, 76), +(21, 503, 65), +(21, 504, 97), +(21, 505, 65), +(21, 506, 93), +(21, 507, 85), +(21, 508, 70), +(21, 509, 98), +(21, 510, 96), +(21, 511, 70), +(21, 512, 91), +(21, 513, 78), +(21, 514, 73), +(21, 515, 77), +(21, 516, 80), +(21, 517, 77), +(21, 518, 72), +(21, 519, 68), +(21, 520, 88), +(21, 521, 74), +(21, 522, 83), +(21, 523, 86), +(21, 524, 98), +(21, 525, 78), +(21, 526, 97), +(21, 527, 73), +(21, 528, 96), +(21, 529, 67), +(21, 530, 90), +(21, 531, 82), +(21, 532, 72), +(21, 533, 79), +(21, 534, 66), +(21, 535, 75), +(21, 536, 95), +(21, 537, 77), +(21, 538, 73), +(21, 539, 73), +(21, 540, 77), +(21, 541, 75), +(21, 542, 66), +(21, 543, 82), +(21, 544, 79), +(21, 545, 84), +(21, 546, 93), +(21, 547, 70), +(21, 548, 76), +(21, 549, 88), +(21, 550, 73), +(21, 551, 79), +(21, 552, 77), +(21, 553, 73), +(21, 554, 80), +(21, 555, 93), +(21, 556, 92), +(21, 557, 92), +(21, 558, 85), +(21, 559, 65), +(21, 560, 98), +(21, 561, 67), +(21, 562, 97), +(21, 563, 81), +(21, 564, 72), +(21, 1024, 71), +(21, 1025, 82), +(21, 1026, 87), +(21, 1027, 97), +(21, 1028, 82), +(21, 1029, 73), +(21, 1030, 87), +(21, 1031, 75), +(21, 1032, 77), +(21, 1033, 94), +(21, 1034, 87), +(21, 1035, 81), +(21, 1036, 75), +(21, 1037, 95), +(21, 1038, 71), +(21, 1039, 76), +(21, 1040, 83), +(21, 1041, 83), +(21, 1042, 66), +(21, 1043, 88), +(21, 1044, 94), +(21, 1045, 79), +(21, 1046, 83), +(21, 1047, 93), +(21, 1048, 78), +(21, 1049, 80), +(21, 1050, 82), +(21, 1051, 93), +(21, 1052, 66), +(21, 1053, 69), +(21, 1054, 71), +(21, 1055, 87), +(21, 1056, 93), +(21, 1057, 66), +(21, 1058, 95), +(21, 1059, 84), +(21, 1060, 75), +(21, 1061, 93), +(21, 1062, 67), +(21, 1063, 97), +(21, 1064, 99), +(21, 1065, 91), +(21, 1066, 93), +(21, 1067, 89), +(21, 1068, 79), +(21, 1069, 78), +(21, 1070, 98), +(21, 1071, 74), +(21, 1072, 86), +(21, 1073, 72), +(21, 1074, 80), +(21, 1075, 83), +(21, 1076, 70), +(21, 1077, 72), +(21, 1078, 65), +(21, 1079, 68), +(21, 1080, 94), +(21, 1081, 96), +(21, 1082, 97), +(21, 1083, 69), +(21, 1084, 72), +(21, 1085, 91), +(21, 1086, 82), +(21, 1087, 85), +(21, 1088, 77), +(21, 1089, 92), +(21, 1090, 84), +(21, 1091, 89), +(21, 1092, 65), +(21, 1093, 75), +(21, 1094, 99), +(21, 1095, 81), +(21, 1096, 95), +(21, 1097, 79), +(21, 1098, 65), +(21, 1099, 95), +(21, 1100, 73), +(21, 1101, 65), +(21, 1102, 68), +(21, 1103, 88), +(21, 1104, 74), +(21, 1105, 82), +(21, 1106, 67), +(21, 1107, 66), +(21, 1108, 70), +(21, 1109, 67), +(21, 1110, 85), +(21, 1111, 96), +(21, 1112, 70), +(21, 1113, 99), +(21, 1114, 87), +(21, 1115, 65), +(21, 1116, 74), +(21, 1117, 91), +(21, 1118, 68), +(21, 1119, 88), +(21, 1120, 97), +(21, 1121, 99), +(21, 1122, 65), +(21, 1123, 84), +(21, 1124, 80), +(21, 1125, 96), +(21, 1126, 99), +(21, 1127, 86), +(21, 1128, 96), +(21, 1129, 70), +(21, 1130, 86), +(21, 1131, 72), +(21, 1132, 88), +(21, 1133, 91), +(21, 1134, 92), +(21, 1135, 88), +(21, 1136, 86), +(21, 1137, 70), +(21, 1138, 66), +(21, 1139, 74), +(21, 1140, 98), +(21, 1141, 99), +(21, 1142, 89), +(21, 1143, 69), +(21, 1144, 85), +(21, 1145, 67), +(21, 1146, 67), +(21, 1147, 95), +(21, 1148, 76), +(21, 1149, 97), +(21, 1150, 68), +(21, 1151, 69), +(21, 1152, 96), +(21, 1153, 89), +(21, 1154, 91), +(21, 1155, 84), +(21, 1156, 85), +(21, 1157, 75), +(21, 1158, 77), +(21, 1159, 95), +(21, 1160, 96), +(21, 1161, 98), +(21, 1162, 95), +(21, 1163, 72), +(21, 1164, 90), +(21, 1165, 69), +(21, 1166, 73), +(21, 1167, 74), +(21, 1168, 83), +(21, 1169, 87), +(21, 1170, 89), +(21, 1171, 95), +(21, 1172, 96), +(21, 1173, 72), +(21, 1174, 68), +(21, 1175, 97), +(21, 1176, 99), +(21, 1177, 86), +(21, 1178, 70), +(21, 1179, 97), +(21, 1180, 89), +(21, 1181, 71), +(21, 1182, 81), +(21, 1183, 90), +(21, 1184, 85), +(21, 1185, 79), +(21, 1186, 89), +(21, 1187, 80), +(21, 1188, 69), +(21, 1189, 89), +(21, 1190, 90), +(21, 1191, 73), +(21, 1192, 69), +(21, 1193, 87), +(21, 1194, 97), +(21, 1195, 74), +(21, 1196, 71), +(21, 1197, 99), +(21, 1198, 93), +(21, 1199, 83), +(21, 1200, 71), +(21, 1201, 83), +(21, 1202, 82), +(21, 1203, 72), +(21, 1204, 85), +(21, 1205, 66), +(21, 1206, 81), +(21, 1207, 74), +(21, 1208, 74), +(21, 1209, 72), +(21, 1210, 83), +(21, 1211, 81), +(21, 1212, 88), +(21, 1213, 82), +(21, 1214, 95), +(21, 1215, 79), +(21, 1216, 68), +(21, 1217, 71), +(21, 1218, 74), +(21, 1219, 67), +(21, 1220, 81), +(21, 1221, 89), +(21, 1222, 98), +(21, 1223, 66), +(21, 1224, 77), +(21, 1225, 84), +(21, 1226, 81), +(21, 1227, 94), +(21, 1228, 77), +(21, 1229, 91), +(21, 1230, 85), +(21, 1231, 90), +(21, 1232, 70), +(21, 1233, 79), +(21, 1234, 91), +(21, 1235, 96), +(21, 1236, 67), +(21, 1237, 99), +(21, 1238, 79), +(21, 1239, 73), +(21, 1240, 75), +(21, 1241, 75), +(21, 1242, 73), +(21, 1243, 88), +(21, 1244, 85), +(21, 1245, 91), +(21, 1246, 66), +(21, 1247, 75), +(21, 1248, 95), +(21, 1249, 80), +(21, 1250, 96), +(21, 1251, 72), +(21, 1252, 93), +(21, 1253, 83), +(21, 1254, 90), +(21, 1255, 69), +(21, 1256, 69), +(21, 1257, 86), +(21, 1258, 90), +(21, 1259, 86), +(21, 1260, 77), +(21, 1261, 83), +(21, 1262, 77), +(21, 1263, 69), +(21, 1264, 82), +(21, 1265, 92), +(21, 1266, 83), +(21, 1267, 67), +(21, 1268, 93), +(21, 1269, 96), +(21, 1270, 66), +(21, 1271, 74), +(21, 1272, 67), +(21, 1273, 89), +(21, 1274, 97), +(21, 1275, 77), +(21, 1276, 75), +(21, 1277, 90), +(21, 1278, 82), +(21, 1279, 92), +(21, 1280, 91), +(21, 1281, 78), +(21, 1282, 79), +(21, 1283, 70), +(21, 1284, 77), +(21, 1285, 75), +(21, 1286, 87), +(21, 1287, 84), +(21, 1288, 74), +(21, 1289, 82), +(21, 1290, 80), +(21, 1291, 75), +(21, 1292, 88), +(21, 1293, 76), +(21, 1294, 97), +(21, 1295, 81), +(21, 1296, 94), +(21, 1297, 65), +(21, 1298, 68), +(21, 1299, 99), +(21, 1300, 73), +(21, 1301, 86), +(21, 1302, 95), +(21, 1303, 73), +(21, 1304, 98), +(21, 1305, 67), +(21, 1306, 69), +(21, 1307, 86), +(21, 1308, 78), +(21, 1309, 75), +(21, 1310, 83), +(21, 1311, 84), +(21, 1312, 90), +(21, 1313, 76), +(21, 1314, 66), +(21, 1315, 81), +(21, 1316, 93), +(21, 1317, 97), +(21, 1318, 75), +(21, 1319, 99), +(21, 1320, 94), +(21, 1321, 84), +(21, 1322, 69), +(21, 1323, 89), +(21, 1324, 97), +(21, 1325, 97), +(21, 1326, 75), +(21, 1327, 97), +(21, 1328, 92), +(21, 1329, 68), +(21, 1330, 89), +(21, 1331, 78), +(21, 1332, 97), +(21, 1333, 65), +(21, 1334, 80), +(21, 1335, 72), +(21, 1336, 84), +(21, 1337, 97), +(21, 1338, 84), +(21, 1339, 71), +(21, 1340, 76), +(21, 1341, 86), +(21, 1342, 94), +(21, 1343, 76), +(21, 1344, 91), +(21, 1345, 80), +(21, 1346, 75), +(21, 1347, 85), +(21, 1348, 72), +(21, 1349, 73), +(21, 1350, 76), +(21, 1351, 75), +(21, 1352, 96), +(21, 1353, 87), +(21, 1354, 89), +(21, 1355, 85), +(21, 1356, 70), +(21, 1357, 82), +(21, 1358, 87), +(21, 1359, 75), +(21, 1360, 94), +(21, 1361, 84), +(21, 1362, 70), +(21, 1363, 66), +(21, 1364, 97), +(21, 1365, 98), +(21, 1366, 66), +(21, 1367, 88), +(21, 1368, 81), +(21, 1369, 65), +(21, 1370, 94), +(21, 1371, 82), +(21, 1372, 68), +(21, 1373, 70), +(21, 1374, 92), +(21, 1375, 83), +(21, 1376, 66), +(21, 1377, 90), +(21, 1378, 95), +(21, 1379, 81), +(21, 1380, 67), +(21, 1381, 85), +(21, 1382, 97), +(21, 1383, 95), +(21, 1384, 85), +(21, 1385, 86), +(21, 1386, 72), +(21, 1387, 70), +(21, 1388, 66), +(21, 1389, 88), +(21, 1390, 78), +(21, 1391, 76), +(21, 1392, 92), +(21, 1393, 70), +(21, 1394, 66), +(21, 1395, 74), +(21, 1396, 93), +(21, 1397, 85), +(21, 1398, 94), +(21, 1399, 72), +(21, 1400, 83), +(21, 1401, 86), +(21, 1402, 76), +(21, 1403, 87), +(21, 1404, 68), +(21, 1405, 95), +(21, 1406, 66), +(21, 1407, 77), +(21, 1408, 78), +(21, 1409, 65), +(21, 1410, 82), +(21, 1411, 76), +(21, 1412, 75), +(21, 1413, 91), +(21, 1414, 83), +(21, 1415, 81), +(21, 1416, 70), +(21, 1417, 73), +(21, 1418, 79), +(21, 1419, 96), +(21, 1420, 95), +(21, 1421, 88), +(21, 1422, 84), +(21, 1423, 84), +(21, 1424, 97), +(21, 1425, 74), +(21, 1426, 92), +(21, 1427, 99), +(21, 1428, 68), +(21, 1429, 98), +(21, 1430, 75), +(21, 1431, 73), +(21, 1432, 94), +(21, 1433, 81), +(21, 1434, 72), +(21, 1435, 81), +(21, 1436, 85), +(21, 1437, 94), +(21, 1438, 75), +(21, 1439, 68), +(21, 1440, 84), +(21, 1441, 80), +(21, 1442, 96), +(21, 1443, 68), +(21, 1444, 79), +(21, 1445, 91), +(21, 1446, 91), +(21, 1447, 96), +(21, 1448, 94), +(21, 1449, 78), +(21, 1450, 82), +(21, 1451, 81), +(21, 1452, 80), +(21, 1453, 98), +(21, 1454, 88), +(21, 1455, 65), +(21, 1456, 84), +(21, 1457, 94), +(21, 1458, 75), +(21, 1459, 97), +(21, 1460, 92), +(21, 1461, 97), +(21, 1462, 85), +(21, 1463, 85), +(21, 1464, 82), +(21, 1465, 87), +(21, 1466, 74), +(21, 1467, 67), +(21, 1468, 93), +(21, 1469, 91), +(21, 1470, 66), +(21, 1471, 81), +(21, 1472, 69), +(21, 1473, 73), +(21, 1474, 88), +(21, 1475, 94), +(21, 1476, 80), +(21, 1477, 69), +(21, 1478, 74), +(21, 1479, 76), +(21, 1480, 90), +(21, 1481, 71), +(21, 1482, 95), +(21, 1483, 69), +(21, 1484, 75), +(21, 1485, 71), +(21, 1486, 95), +(21, 1487, 73), +(21, 1488, 65), +(21, 1489, 87), +(21, 1490, 75), +(21, 1491, 89), +(21, 1492, 89), +(21, 1493, 76), +(21, 1494, 86), +(21, 1495, 92), +(21, 1496, 67), +(21, 1497, 83), +(21, 1498, 89), +(21, 1499, 77), +(21, 1500, 70), +(21, 1501, 67), +(21, 1502, 81), +(21, 1503, 72), +(21, 1504, 78), +(21, 1505, 82), +(21, 1506, 78), +(21, 1507, 74), +(21, 1508, 87), +(21, 1509, 96), +(21, 1510, 97), +(21, 1511, 71), +(21, 1512, 66), +(21, 1513, 80), +(21, 1514, 98), +(21, 1515, 69), +(21, 1516, 90), +(21, 1517, 86), +(21, 1518, 94), +(21, 1519, 95), +(21, 1520, 99), +(21, 1521, 89), +(21, 1522, 72), +(21, 1523, 70), +(21, 1524, 87), +(21, 1525, 71), +(21, 1526, 80), +(21, 1527, 93), +(21, 1528, 79), +(21, 1529, 82), +(21, 1530, 66), +(21, 1531, 83), +(21, 1532, 95), +(21, 1533, 79), +(21, 1534, 67), +(21, 1535, 76), +(21, 1536, 98), +(21, 1537, 93), +(21, 1538, 84), +(21, 1539, 90), +(21, 1540, 92), +(21, 1541, 95), +(21, 1542, 83), +(21, 1543, 74), +(21, 1544, 66), +(21, 1545, 89), +(21, 1546, 79), +(21, 1547, 99), +(21, 1548, 67), +(21, 1549, 94), +(21, 1550, 71), +(21, 1551, 82), +(21, 1552, 68), +(21, 1553, 75), +(21, 1554, 97), +(21, 1555, 89), +(21, 1556, 69), +(21, 1557, 93), +(21, 1558, 78), +(21, 1559, 96), +(21, 1560, 83), +(21, 1561, 97), +(21, 1562, 77), +(21, 1563, 68), +(21, 1564, 65), +(21, 1565, 94), +(21, 1566, 78), +(21, 1567, 80), +(21, 1568, 97), +(21, 1569, 92), +(21, 1570, 71), +(21, 1571, 69), +(21, 1572, 91), +(21, 1573, 80), +(21, 1574, 95), +(21, 1575, 91), +(21, 1576, 76), +(21, 1577, 85), +(21, 1578, 67), +(21, 1579, 72), +(21, 1580, 80), +(21, 1581, 69), +(21, 1582, 91), +(21, 1583, 82), +(21, 1584, 95), +(21, 1585, 74), +(21, 1586, 68), +(21, 1587, 77), +(21, 2047, 94), +(21, 2048, 68), +(21, 2049, 66), +(21, 2050, 68), +(21, 2051, 77), +(21, 2052, 97), +(21, 2053, 76), +(21, 2054, 88), +(21, 2055, 81), +(21, 2056, 70), +(21, 2057, 87), +(21, 2058, 76), +(21, 2059, 82), +(21, 2060, 72), +(21, 2061, 73), +(21, 2062, 66), +(21, 2063, 73), +(21, 2064, 74), +(21, 2065, 99), +(21, 2066, 89), +(21, 2067, 94), +(21, 2068, 66), +(21, 2069, 92), +(21, 2070, 93), +(21, 2071, 86), +(21, 2072, 96), +(21, 2073, 77), +(21, 2074, 92), +(21, 2075, 95), +(21, 2076, 86), +(21, 2077, 82), +(21, 2078, 67), +(21, 2079, 84), +(21, 2080, 68), +(21, 2081, 65), +(21, 2082, 98), +(21, 2083, 97), +(21, 2084, 96), +(21, 2085, 67), +(21, 2086, 74), +(21, 2087, 75), +(21, 2088, 67), +(21, 2089, 66), +(21, 2090, 88), +(21, 2091, 76), +(21, 2092, 74), +(21, 2093, 97), +(21, 2094, 96), +(21, 2095, 90), +(21, 2096, 96), +(21, 2097, 74), +(21, 2098, 67), +(21, 2099, 95), +(21, 2100, 73), +(21, 2101, 92), +(21, 2102, 94), +(21, 2103, 69), +(21, 2104, 71), +(21, 2105, 69), +(21, 2106, 91), +(21, 2107, 78), +(21, 2108, 83), +(21, 2109, 97), +(21, 2110, 82), +(21, 2111, 71), +(21, 2112, 84), +(21, 2113, 85), +(21, 2114, 88), +(21, 2115, 93), +(21, 2116, 99), +(21, 2117, 72), +(21, 2118, 88), +(21, 2119, 85), +(21, 2120, 67), +(21, 2121, 66), +(21, 2122, 92), +(21, 2123, 81), +(21, 2124, 90), +(21, 2125, 67), +(21, 2126, 98), +(21, 2127, 72), +(21, 2128, 74), +(21, 2129, 87), +(21, 2130, 99), +(21, 2131, 76), +(21, 2132, 93), +(21, 2133, 78), +(21, 2134, 97), +(21, 2135, 77), +(21, 2136, 74), +(21, 2137, 89), +(21, 2138, 79), +(21, 2139, 83), +(21, 2140, 72), +(21, 2141, 72), +(21, 2142, 70), +(21, 2143, 69), +(21, 2144, 77), +(21, 2145, 66), +(21, 2146, 88), +(21, 2147, 88), +(21, 2148, 84), +(21, 2149, 78), +(21, 2150, 77), +(21, 2151, 93), +(21, 2152, 89), +(21, 2153, 86), +(21, 2154, 97), +(21, 2155, 99), +(21, 2156, 70), +(21, 2157, 73), +(21, 2158, 99), +(21, 2159, 73), +(21, 2160, 82), +(21, 2161, 92), +(21, 2162, 68), +(21, 2163, 69), +(21, 2164, 92), +(21, 2165, 98), +(21, 2166, 99), +(21, 2167, 70), +(21, 2168, 67), +(21, 2169, 66), +(21, 2170, 84), +(21, 2171, 75), +(21, 2172, 76), +(21, 2173, 67), +(21, 2174, 84), +(21, 2175, 69), +(21, 2176, 92), +(21, 2177, 87), +(21, 2178, 93), +(21, 2179, 79), +(21, 2180, 94), +(21, 2181, 82), +(21, 2182, 79), +(21, 2183, 85), +(21, 2184, 96), +(21, 2185, 85), +(21, 2186, 79), +(21, 2187, 93), +(21, 2188, 98), +(21, 2189, 93), +(21, 2190, 71), +(21, 2191, 67), +(21, 2192, 85), +(21, 2193, 65), +(21, 2194, 98), +(21, 2195, 75), +(21, 2196, 93), +(21, 2197, 94), +(21, 2198, 97), +(21, 2199, 75), +(21, 2200, 80), +(21, 2201, 92), +(21, 2202, 93), +(21, 2203, 83), +(21, 2204, 91), +(21, 2205, 73), +(21, 2206, 80), +(21, 2207, 79), +(21, 2208, 85), +(21, 2209, 73), +(21, 2210, 76), +(21, 2211, 76), +(21, 2212, 92), +(21, 2213, 75), +(21, 2214, 85), +(21, 2215, 94), +(21, 2216, 71), +(21, 2217, 93), +(21, 2218, 71), +(21, 2219, 82), +(21, 2220, 84), +(21, 2221, 85), +(21, 2222, 97), +(21, 2223, 93), +(21, 2224, 80), +(21, 2225, 85), +(21, 2226, 85), +(21, 2227, 67), +(21, 2228, 89), +(21, 2229, 79), +(21, 2230, 89), +(21, 2231, 84), +(21, 2232, 76), +(21, 2233, 91), +(21, 2234, 94), +(21, 2235, 96), +(21, 2236, 84), +(21, 2237, 78), +(21, 2238, 78), +(21, 2239, 66), +(21, 2240, 68), +(21, 2241, 73), +(21, 2242, 74), +(21, 2243, 99), +(21, 2244, 76), +(21, 2245, 65), +(21, 2246, 98), +(21, 2247, 89), +(21, 2248, 88), +(21, 2249, 95), +(21, 2250, 77), +(21, 2251, 78), +(21, 2252, 97), +(21, 2253, 97), +(21, 2254, 91), +(21, 2255, 71), +(21, 2256, 73), +(21, 2257, 94), +(21, 2258, 91), +(21, 2259, 70), +(21, 2260, 84), +(21, 2261, 85), +(21, 2262, 77), +(21, 2263, 83), +(21, 2264, 74), +(21, 2265, 67), +(21, 2266, 68), +(21, 2267, 97), +(21, 2268, 69), +(21, 2269, 73), +(21, 2270, 68), +(21, 2271, 92), +(21, 2272, 68), +(21, 2273, 98), +(21, 2274, 99), +(21, 2275, 95), +(21, 2276, 84), +(21, 2277, 78), +(21, 2278, 88), +(21, 2279, 72), +(21, 2280, 75), +(21, 2281, 72), +(21, 2282, 77), +(21, 2283, 96), +(21, 2284, 82), +(21, 2285, 94), +(21, 2286, 71), +(21, 2287, 68), +(21, 2288, 95), +(21, 2289, 86), +(21, 2290, 68), +(21, 2291, 73), +(21, 2292, 65), +(21, 2293, 82), +(21, 2294, 98), +(21, 2295, 90), +(21, 2296, 77), +(21, 2297, 76), +(21, 2298, 76), +(21, 2299, 70), +(21, 2300, 95), +(21, 2301, 93), +(21, 2302, 79), +(21, 2303, 84), +(21, 2304, 69), +(21, 2305, 71), +(21, 2306, 85), +(21, 2307, 99), +(21, 2308, 95), +(21, 2309, 93), +(21, 2310, 81), +(21, 2311, 94), +(21, 2312, 81), +(21, 2313, 81), +(21, 2314, 67), +(21, 2315, 92), +(21, 2316, 73), +(21, 2317, 80), +(21, 2318, 80), +(21, 2319, 87), +(21, 2320, 84), +(21, 2321, 98), +(21, 2322, 93), +(21, 2323, 75), +(21, 2324, 65), +(21, 2325, 69), +(21, 2326, 95), +(21, 2327, 97), +(21, 2328, 97), +(21, 2329, 72), +(21, 2330, 73), +(21, 2331, 77), +(21, 2332, 69), +(21, 2333, 77), +(21, 2334, 81), +(21, 2335, 79), +(21, 2336, 90), +(21, 2337, 92), +(21, 2338, 69), +(21, 2339, 74), +(21, 2340, 85), +(21, 2341, 92), +(21, 2342, 96), +(21, 2343, 80), +(21, 2344, 96), +(21, 2345, 65), +(21, 2346, 78), +(21, 2347, 93), +(21, 2348, 76), +(21, 2349, 78), +(21, 2350, 93), +(21, 2351, 67), +(21, 2352, 69), +(21, 2353, 99), +(21, 2354, 80), +(21, 2355, 68), +(21, 2356, 70), +(21, 2357, 97), +(21, 2358, 87), +(21, 2359, 84), +(21, 2360, 91), +(21, 2361, 84), +(21, 2362, 83), +(21, 2363, 80), +(21, 2364, 96), +(21, 2365, 92), +(21, 2366, 84), +(21, 2367, 81), +(21, 2368, 99), +(21, 2369, 75), +(21, 2370, 87), +(21, 2371, 80), +(21, 2372, 81), +(21, 2373, 72), +(21, 2374, 98), +(21, 2375, 93), +(21, 2376, 74), +(21, 2377, 88), +(21, 2378, 83), +(21, 2379, 81), +(21, 2380, 93), +(21, 2381, 92), +(21, 2382, 99), +(21, 2383, 81), +(21, 2384, 73), +(21, 2385, 94), +(21, 2386, 75), +(21, 2387, 67), +(21, 2388, 94), +(21, 2389, 96), +(21, 2390, 67), +(21, 2391, 74), +(21, 2392, 99), +(21, 2393, 89), +(21, 2394, 70), +(21, 2395, 82), +(21, 2396, 69), +(21, 2397, 77), +(21, 2398, 73), +(21, 2399, 79), +(21, 2400, 91), +(21, 2401, 83), +(21, 2402, 98), +(21, 2403, 86), +(21, 2404, 80), +(21, 2405, 69), +(21, 2406, 69), +(21, 2407, 67), +(21, 2408, 77), +(21, 2409, 73), +(21, 2410, 91), +(21, 2411, 66), +(21, 2412, 77), +(21, 2413, 70), +(21, 2414, 80), +(21, 2415, 99), +(21, 2416, 93), +(21, 2417, 65), +(21, 2418, 82), +(21, 2419, 72), +(21, 2420, 84), +(21, 2421, 86), +(21, 2422, 94), +(21, 2423, 94), +(21, 2424, 74), +(21, 2425, 73), +(21, 2426, 76), +(21, 2427, 89), +(21, 2428, 94), +(21, 2429, 74), +(21, 2430, 70), +(21, 2431, 96), +(21, 2432, 76), +(21, 2433, 93), +(21, 2434, 95), +(21, 2435, 73), +(21, 2436, 99), +(21, 2437, 79), +(21, 2438, 77), +(21, 2439, 71), +(21, 2440, 75), +(21, 2441, 69), +(21, 2442, 72), +(21, 2443, 99), +(21, 2444, 68), +(21, 2445, 65), +(21, 2446, 86), +(21, 2447, 82), +(21, 2448, 68), +(21, 2449, 67), +(21, 2450, 89), +(21, 2451, 94), +(21, 2452, 70), +(21, 2453, 99), +(21, 2454, 84), +(21, 2455, 81), +(21, 2456, 93), +(21, 2457, 89), +(21, 2458, 89), +(21, 2459, 68), +(21, 2460, 75), +(21, 2461, 94), +(21, 2462, 89), +(21, 2463, 68), +(21, 2464, 90), +(21, 2465, 98), +(21, 2466, 81), +(21, 2467, 83), +(21, 2468, 70), +(21, 2469, 77), +(21, 2470, 92), +(21, 2471, 79), +(21, 2472, 86), +(21, 2473, 92), +(21, 2474, 94), +(21, 2475, 89), +(21, 2476, 82), +(21, 2477, 88), +(21, 2478, 71), +(21, 2479, 67), +(21, 2480, 81), +(21, 2481, 92), +(21, 2482, 73), +(21, 2483, 95), +(21, 2484, 95), +(21, 2485, 79), +(21, 2486, 84), +(21, 2487, 88), +(21, 2488, 69), +(21, 2489, 67), +(21, 2490, 99), +(21, 2491, 92), +(21, 2492, 94), +(21, 2493, 72), +(21, 2494, 81), +(21, 2495, 79), +(21, 2496, 94), +(21, 2497, 92), +(21, 2498, 65), +(21, 2499, 88), +(21, 2500, 96), +(21, 2501, 82), +(21, 2502, 83), +(21, 2503, 69), +(21, 2504, 74), +(21, 2505, 82), +(21, 2506, 81), +(21, 2507, 67), +(21, 2508, 97), +(21, 2509, 82), +(21, 2510, 85), +(21, 2511, 71), +(21, 2512, 71), +(21, 2513, 65), +(21, 2514, 90), +(21, 2515, 66), +(21, 2516, 94), +(21, 2517, 75), +(21, 2518, 99), +(21, 2519, 91), +(21, 2520, 69), +(21, 2521, 72), +(21, 2522, 94), +(21, 2523, 82), +(21, 2524, 98), +(21, 2525, 76), +(21, 2526, 69), +(21, 2527, 80), +(21, 2528, 95), +(21, 2529, 67), +(21, 2530, 71), +(21, 2531, 69), +(21, 2532, 92), +(21, 2533, 70), +(21, 2534, 85), +(21, 2535, 84), +(21, 2536, 84), +(21, 2537, 92), +(21, 2538, 86), +(21, 2539, 70), +(21, 2540, 70), +(21, 2541, 98), +(21, 2542, 84), +(21, 2543, 68), +(21, 2544, 67), +(21, 2545, 75), +(21, 2546, 85), +(21, 2547, 80), +(21, 2548, 68), +(21, 2549, 76), +(21, 2550, 82), +(21, 2551, 99), +(21, 2552, 84), +(21, 2553, 71), +(21, 2554, 90), +(21, 2555, 77), +(21, 2556, 99), +(21, 2557, 91), +(21, 2558, 72), +(21, 2559, 70), +(21, 2560, 76), +(21, 2561, 83), +(21, 2562, 81), +(21, 2563, 86), +(21, 2564, 66), +(21, 2565, 92), +(21, 2566, 84), +(21, 2567, 96), +(21, 2568, 89), +(21, 2569, 75), +(21, 2570, 65), +(21, 2571, 89), +(21, 2572, 81), +(21, 2573, 74), +(21, 2574, 91), +(21, 2575, 86), +(21, 2576, 68), +(21, 2577, 99), +(21, 2578, 93), +(21, 2579, 81), +(21, 2580, 98), +(21, 2581, 92), +(21, 2582, 80), +(21, 2583, 96), +(21, 2584, 75), +(21, 2585, 85), +(21, 2586, 97), +(21, 2587, 72), +(21, 2588, 85), +(21, 2589, 70), +(21, 2590, 70), +(21, 2591, 80), +(21, 2592, 82), +(21, 2593, 66), +(21, 2594, 79), +(21, 2595, 73), +(21, 2596, 83), +(21, 2597, 92), +(21, 2598, 92), +(21, 2599, 66), +(21, 2600, 74), +(21, 2601, 80), +(21, 2602, 70), +(21, 2603, 94), +(21, 2604, 95), +(21, 2605, 78), +(21, 2606, 70), +(21, 2607, 88), +(21, 2608, 78), +(21, 2609, 85), +(21, 2610, 92), +(22, 1, 80), +(22, 2, 75), +(22, 3, 92), +(22, 4, 88), +(22, 5, 99), +(22, 6, 80), +(22, 7, 91), +(22, 8, 77), +(22, 9, 78), +(22, 10, 65), +(22, 11, 78), +(22, 12, 94), +(22, 13, 91), +(22, 14, 89), +(22, 15, 81), +(22, 16, 99), +(22, 17, 86), +(22, 18, 90), +(22, 19, 68), +(22, 20, 87), +(22, 21, 79), +(22, 22, 78), +(22, 23, 83), +(22, 24, 66), +(22, 25, 83), +(22, 26, 68), +(22, 27, 99), +(22, 28, 85), +(22, 29, 68), +(22, 30, 88), +(22, 31, 80), +(22, 32, 73), +(22, 33, 84), +(22, 34, 89), +(22, 35, 91), +(22, 36, 80), +(22, 37, 80), +(22, 38, 76), +(22, 39, 93), +(22, 40, 75), +(22, 41, 69), +(22, 42, 73), +(22, 43, 77), +(22, 44, 69), +(22, 45, 86), +(22, 46, 92), +(22, 47, 75), +(22, 48, 91), +(22, 49, 74), +(22, 50, 70), +(22, 51, 98), +(22, 52, 97), +(22, 53, 74), +(22, 54, 69), +(22, 55, 74), +(22, 56, 91), +(22, 57, 75), +(22, 58, 92), +(22, 59, 76), +(22, 60, 74), +(22, 61, 73), +(22, 62, 90), +(22, 63, 94), +(22, 64, 84), +(22, 65, 95), +(22, 66, 70), +(22, 67, 78), +(22, 68, 78), +(22, 69, 97), +(22, 70, 76), +(22, 71, 85), +(22, 72, 89), +(22, 73, 88), +(22, 74, 78), +(22, 75, 71), +(22, 76, 84), +(22, 77, 79), +(22, 78, 94), +(22, 79, 96), +(22, 80, 98), +(22, 81, 99), +(22, 82, 98), +(22, 83, 83), +(22, 84, 76), +(22, 85, 71), +(22, 86, 88), +(22, 87, 80), +(22, 88, 75), +(22, 89, 96), +(22, 90, 95), +(22, 91, 84), +(22, 92, 77), +(22, 93, 80), +(22, 94, 81), +(22, 95, 97), +(22, 96, 89), +(22, 97, 76), +(22, 98, 79), +(22, 99, 84), +(22, 100, 76), +(22, 101, 67), +(22, 102, 79), +(22, 103, 82), +(22, 104, 80), +(22, 105, 88), +(22, 106, 71), +(22, 107, 92), +(22, 108, 73), +(22, 109, 84), +(22, 110, 86), +(22, 111, 71), +(22, 112, 95), +(22, 113, 98), +(22, 114, 72), +(22, 115, 82), +(22, 116, 83), +(22, 117, 68), +(22, 118, 89), +(22, 119, 70), +(22, 120, 99), +(22, 121, 68), +(22, 122, 68), +(22, 123, 96), +(22, 124, 82), +(22, 125, 99), +(22, 126, 90), +(22, 127, 92), +(22, 128, 70), +(22, 129, 91), +(22, 130, 98), +(22, 131, 66), +(22, 132, 72), +(22, 133, 78), +(22, 134, 75), +(22, 135, 65), +(22, 136, 81), +(22, 137, 93), +(22, 138, 99), +(22, 139, 87), +(22, 140, 91), +(22, 141, 85), +(22, 142, 93), +(22, 143, 68), +(22, 144, 73), +(22, 145, 69), +(22, 146, 84), +(22, 147, 87), +(22, 148, 75), +(22, 149, 89), +(22, 150, 88), +(22, 151, 99), +(22, 152, 96), +(22, 153, 73), +(22, 154, 80), +(22, 155, 82), +(22, 156, 74), +(22, 157, 92), +(22, 158, 86), +(22, 159, 98), +(22, 160, 70), +(22, 161, 84), +(22, 162, 90), +(22, 163, 81), +(22, 164, 77), +(22, 165, 88), +(22, 166, 79), +(22, 167, 92), +(22, 168, 83), +(22, 169, 80), +(22, 170, 70), +(22, 171, 83), +(22, 172, 81), +(22, 173, 90), +(22, 174, 85), +(22, 175, 78), +(22, 176, 77), +(22, 177, 89), +(22, 178, 72), +(22, 179, 80), +(22, 180, 97), +(22, 181, 68), +(22, 182, 75), +(22, 183, 81), +(22, 184, 72), +(22, 185, 97), +(22, 186, 74), +(22, 187, 85), +(22, 188, 87), +(22, 189, 88), +(22, 190, 97), +(22, 191, 67), +(22, 192, 95), +(22, 193, 68), +(22, 194, 88), +(22, 195, 90), +(22, 196, 81), +(22, 197, 75), +(22, 198, 95), +(22, 199, 80), +(22, 200, 92), +(22, 201, 95), +(22, 202, 83), +(22, 203, 92), +(22, 204, 85), +(22, 205, 74), +(22, 206, 79), +(22, 207, 65), +(22, 208, 83), +(22, 209, 67), +(22, 210, 88), +(22, 211, 96), +(22, 212, 86), +(22, 213, 92), +(22, 214, 68), +(22, 215, 98), +(22, 216, 70), +(22, 217, 94), +(22, 218, 89), +(22, 219, 92), +(22, 220, 99), +(22, 221, 85), +(22, 222, 89), +(22, 223, 94), +(22, 224, 88), +(22, 225, 99), +(22, 226, 93), +(22, 227, 74), +(22, 228, 91), +(22, 229, 84), +(22, 230, 77), +(22, 231, 77), +(22, 232, 70), +(22, 233, 91), +(22, 234, 87), +(22, 235, 83), +(22, 236, 84), +(22, 237, 99), +(22, 238, 87), +(22, 239, 78), +(22, 240, 74), +(22, 241, 69), +(22, 242, 78), +(22, 243, 98), +(22, 244, 84), +(22, 245, 91), +(22, 246, 95), +(22, 247, 69), +(22, 248, 94), +(22, 249, 84), +(22, 250, 80), +(22, 251, 72), +(22, 252, 96), +(22, 253, 85), +(22, 254, 88), +(22, 255, 66), +(22, 256, 99), +(22, 257, 94), +(22, 258, 94), +(22, 259, 65), +(22, 260, 97), +(22, 261, 74), +(22, 262, 65), +(22, 263, 82), +(22, 264, 70), +(22, 265, 83), +(22, 266, 99), +(22, 267, 85), +(22, 268, 87), +(22, 269, 73), +(22, 270, 65), +(22, 271, 78), +(22, 272, 67), +(22, 273, 69), +(22, 274, 74), +(22, 275, 98), +(22, 276, 83), +(22, 277, 90), +(22, 278, 91), +(22, 279, 99), +(22, 280, 71), +(22, 281, 79), +(22, 282, 87), +(22, 283, 72), +(22, 284, 73), +(22, 285, 84), +(22, 286, 82), +(22, 287, 85), +(22, 288, 74), +(22, 289, 71), +(22, 290, 70), +(22, 291, 82), +(22, 292, 67), +(22, 293, 86), +(22, 294, 69), +(22, 295, 90), +(22, 296, 93), +(22, 297, 90), +(22, 298, 97), +(22, 299, 90), +(22, 300, 92), +(22, 301, 65), +(22, 302, 84), +(22, 303, 94), +(22, 304, 84), +(22, 305, 99), +(22, 306, 73), +(22, 307, 96), +(22, 308, 74), +(22, 309, 82), +(22, 310, 72), +(22, 311, 94), +(22, 312, 80), +(22, 313, 93), +(22, 314, 67), +(22, 315, 66), +(22, 316, 96), +(22, 317, 72), +(22, 318, 84), +(22, 319, 89), +(22, 320, 85), +(22, 321, 78), +(22, 322, 93), +(22, 323, 85), +(22, 324, 71), +(22, 325, 84), +(22, 326, 75), +(22, 327, 78), +(22, 328, 67), +(22, 329, 76), +(22, 330, 94), +(22, 331, 92), +(22, 332, 89), +(22, 333, 71), +(22, 334, 78), +(22, 335, 83), +(22, 336, 96), +(22, 337, 91), +(22, 338, 95), +(22, 339, 96), +(22, 340, 98), +(22, 341, 89), +(22, 342, 68), +(22, 343, 69), +(22, 344, 67), +(22, 345, 94), +(22, 346, 93), +(22, 347, 70), +(22, 348, 95), +(22, 349, 85), +(22, 350, 91), +(22, 351, 87), +(22, 352, 66), +(22, 353, 99), +(22, 354, 66), +(22, 355, 68), +(22, 356, 71), +(22, 357, 88), +(22, 358, 93), +(22, 359, 87), +(22, 360, 90), +(22, 361, 84), +(22, 362, 72), +(22, 363, 68), +(22, 364, 69), +(22, 365, 84), +(22, 366, 83), +(22, 367, 75), +(22, 368, 80), +(22, 369, 78), +(22, 370, 85), +(22, 371, 87), +(22, 372, 93), +(22, 373, 99), +(22, 374, 98), +(22, 375, 65), +(22, 376, 66), +(22, 377, 81), +(22, 378, 99), +(22, 379, 67), +(22, 380, 83), +(22, 381, 74), +(22, 382, 96), +(22, 383, 68), +(22, 384, 99), +(22, 385, 66), +(22, 386, 86), +(22, 387, 82), +(22, 388, 73), +(22, 389, 86), +(22, 390, 83), +(22, 391, 85), +(22, 392, 79), +(22, 393, 92), +(22, 394, 66), +(22, 395, 86), +(22, 396, 77), +(22, 397, 94), +(22, 398, 79), +(22, 399, 86), +(22, 400, 81), +(22, 401, 65), +(22, 402, 75), +(22, 403, 85), +(22, 404, 98), +(22, 405, 95), +(22, 406, 73), +(22, 407, 74), +(22, 408, 89), +(22, 409, 81), +(22, 410, 90), +(22, 411, 89), +(22, 412, 65), +(22, 413, 77), +(22, 414, 89), +(22, 415, 84), +(22, 416, 70), +(22, 417, 86), +(22, 418, 70), +(22, 419, 65), +(22, 420, 93), +(22, 421, 99), +(22, 422, 87), +(22, 423, 98), +(22, 424, 85), +(22, 425, 73), +(22, 426, 93), +(22, 427, 65), +(22, 428, 99), +(22, 429, 76), +(22, 430, 83), +(22, 431, 68), +(22, 432, 97), +(22, 433, 82), +(22, 434, 77), +(22, 435, 75), +(22, 436, 65), +(22, 437, 95), +(22, 438, 95), +(22, 439, 66), +(22, 440, 95), +(22, 441, 87), +(22, 442, 87), +(22, 443, 73), +(22, 444, 97), +(22, 445, 73), +(22, 446, 68), +(22, 447, 69), +(22, 448, 75), +(22, 449, 91), +(22, 450, 75), +(22, 451, 82), +(22, 452, 65), +(22, 453, 73), +(22, 454, 69), +(22, 455, 70), +(22, 456, 88), +(22, 457, 77), +(22, 458, 81), +(22, 459, 88), +(22, 460, 65), +(22, 461, 68), +(22, 462, 65), +(22, 463, 74), +(22, 464, 86), +(22, 465, 82), +(22, 466, 80), +(22, 467, 95), +(22, 468, 70), +(22, 469, 67), +(22, 470, 77), +(22, 471, 89), +(22, 472, 89), +(22, 473, 95), +(22, 474, 84), +(22, 475, 71), +(22, 476, 80), +(22, 477, 69), +(22, 478, 86), +(22, 479, 75), +(22, 480, 88), +(22, 481, 81), +(22, 482, 90), +(22, 483, 95), +(22, 484, 89), +(22, 485, 73), +(22, 486, 67), +(22, 487, 73), +(22, 488, 98), +(22, 489, 74), +(22, 490, 99), +(22, 491, 95), +(22, 492, 79), +(22, 493, 90), +(22, 494, 65), +(22, 495, 92), +(22, 496, 67), +(22, 497, 69), +(22, 498, 84), +(22, 499, 93), +(22, 500, 78), +(22, 501, 95), +(22, 502, 73), +(22, 503, 68), +(22, 504, 99), +(22, 505, 89), +(22, 506, 97), +(22, 507, 73), +(22, 508, 78), +(22, 509, 85), +(22, 510, 75), +(22, 511, 95), +(22, 512, 97), +(22, 513, 85), +(22, 514, 91), +(22, 515, 75), +(22, 516, 82), +(22, 517, 86), +(22, 518, 92), +(22, 519, 83), +(22, 520, 90), +(22, 521, 88), +(22, 522, 82), +(22, 523, 76), +(22, 524, 86), +(22, 525, 74), +(22, 526, 82), +(22, 527, 65), +(22, 528, 69), +(22, 529, 69), +(22, 530, 89), +(22, 531, 74), +(22, 532, 87), +(22, 533, 80), +(22, 534, 81), +(22, 535, 76), +(22, 536, 90), +(22, 537, 85), +(22, 538, 73), +(22, 539, 81), +(22, 540, 87), +(22, 541, 68), +(22, 542, 75), +(22, 543, 98), +(22, 544, 82), +(22, 545, 87), +(22, 546, 91), +(22, 547, 90), +(22, 548, 82), +(22, 549, 73), +(22, 550, 92), +(22, 551, 70), +(22, 552, 71), +(22, 553, 73), +(22, 554, 90), +(22, 555, 88), +(22, 556, 69), +(22, 557, 68), +(22, 558, 91), +(22, 559, 74), +(22, 560, 87), +(22, 561, 75), +(22, 562, 92), +(22, 563, 66), +(22, 564, 97), +(22, 1024, 66), +(22, 1025, 65), +(22, 1026, 88), +(22, 1027, 99), +(22, 1028, 71), +(22, 1029, 77), +(22, 1030, 77), +(22, 1031, 98), +(22, 1032, 73), +(22, 1033, 69), +(22, 1034, 88), +(22, 1035, 94), +(22, 1036, 86), +(22, 1037, 90), +(22, 1038, 84), +(22, 1039, 89), +(22, 1040, 69), +(22, 1041, 98), +(22, 1042, 80), +(22, 1043, 66), +(22, 1044, 83), +(22, 1045, 77), +(22, 1046, 85), +(22, 1047, 91), +(22, 1048, 99), +(22, 1049, 73), +(22, 1050, 74), +(22, 1051, 68), +(22, 1052, 91), +(22, 1053, 85), +(22, 1054, 73), +(22, 1055, 84), +(22, 1056, 81), +(22, 1057, 72), +(22, 1058, 91), +(22, 1059, 65), +(22, 1060, 91), +(22, 1061, 87), +(22, 1062, 69), +(22, 1063, 83), +(22, 1064, 86), +(22, 1065, 71), +(22, 1066, 83), +(22, 1067, 81), +(22, 1068, 73), +(22, 1069, 88), +(22, 1070, 71), +(22, 1071, 89), +(22, 1072, 67), +(22, 1073, 79), +(22, 1074, 89), +(22, 1075, 96), +(22, 1076, 97), +(22, 1077, 66), +(22, 1078, 79), +(22, 1079, 92), +(22, 1080, 88), +(22, 1081, 70), +(22, 1082, 82), +(22, 1083, 93), +(22, 1084, 96), +(22, 1085, 91), +(22, 1086, 78), +(22, 1087, 96), +(22, 1088, 87), +(22, 1089, 98), +(22, 1090, 84), +(22, 1091, 92), +(22, 1092, 98), +(22, 1093, 72), +(22, 1094, 73), +(22, 1095, 90), +(22, 1096, 84), +(22, 1097, 72), +(22, 1098, 94), +(22, 1099, 95), +(22, 1100, 97), +(22, 1101, 76), +(22, 1102, 91), +(22, 1103, 93), +(22, 1104, 87), +(22, 1105, 83), +(22, 1106, 89), +(22, 1107, 81), +(22, 1108, 66), +(22, 1109, 93), +(22, 1110, 83), +(22, 1111, 81), +(22, 1112, 74), +(22, 1113, 72), +(22, 1114, 79), +(22, 1115, 97), +(22, 1116, 87), +(22, 1117, 72), +(22, 1118, 73), +(22, 1119, 77), +(22, 1120, 73), +(22, 1121, 99), +(22, 1122, 93), +(22, 1123, 79), +(22, 1124, 79), +(22, 1125, 98), +(22, 1126, 77), +(22, 1127, 79), +(22, 1128, 81), +(22, 1129, 83), +(22, 1130, 79), +(22, 1131, 94), +(22, 1132, 86), +(22, 1133, 83), +(22, 1134, 80), +(22, 1135, 87), +(22, 1136, 98), +(22, 1137, 84), +(22, 1138, 66), +(22, 1139, 93), +(22, 1140, 76), +(22, 1141, 96), +(22, 1142, 85), +(22, 1143, 91), +(22, 1144, 93), +(22, 1145, 78), +(22, 1146, 96), +(22, 1147, 91), +(22, 1148, 98), +(22, 1149, 72), +(22, 1150, 72), +(22, 1151, 73), +(22, 1152, 99), +(22, 1153, 79), +(22, 1154, 76), +(22, 1155, 73), +(22, 1156, 89), +(22, 1157, 83), +(22, 1158, 90), +(22, 1159, 74), +(22, 1160, 79), +(22, 1161, 85), +(22, 1162, 72), +(22, 1163, 65), +(22, 1164, 75), +(22, 1165, 95), +(22, 1166, 65), +(22, 1167, 69), +(22, 1168, 74), +(22, 1169, 76), +(22, 1170, 87), +(22, 1171, 91), +(22, 1172, 65), +(22, 1173, 74), +(22, 1174, 90), +(22, 1175, 84), +(22, 1176, 66), +(22, 1177, 81), +(22, 1178, 65), +(22, 1179, 76), +(22, 1180, 80), +(22, 1181, 68), +(22, 1182, 96), +(22, 1183, 99), +(22, 1184, 81), +(22, 1185, 79), +(22, 1186, 83), +(22, 1187, 73), +(22, 1188, 77), +(22, 1189, 72), +(22, 1190, 69), +(22, 1191, 84), +(22, 1192, 73), +(22, 1193, 93), +(22, 1194, 74), +(22, 1195, 65), +(22, 1196, 81), +(22, 1197, 95), +(22, 1198, 91), +(22, 1199, 99), +(22, 1200, 96), +(22, 1201, 94), +(22, 1202, 66), +(22, 1203, 76), +(22, 1204, 74), +(22, 1205, 90), +(22, 1206, 98), +(22, 1207, 97), +(22, 1208, 83), +(22, 1209, 78), +(22, 1210, 86), +(22, 1211, 93), +(22, 1212, 87), +(22, 1213, 92), +(22, 1214, 78), +(22, 1215, 67), +(22, 1216, 91), +(22, 1217, 72), +(22, 1218, 81), +(22, 1219, 68), +(22, 1220, 71), +(22, 1221, 79), +(22, 1222, 70), +(22, 1223, 91), +(22, 1224, 73), +(22, 1225, 86), +(22, 1226, 94), +(22, 1227, 75), +(22, 1228, 83), +(22, 1229, 72), +(22, 1230, 76), +(22, 1231, 95), +(22, 1232, 94), +(22, 1233, 99), +(22, 1234, 77), +(22, 1235, 75), +(22, 1236, 80), +(22, 1237, 86), +(22, 1238, 68), +(22, 1239, 91), +(22, 1240, 66), +(22, 1241, 88), +(22, 1242, 74), +(22, 1243, 89), +(22, 1244, 66), +(22, 1245, 79), +(22, 1246, 94), +(22, 1247, 78), +(22, 1248, 92), +(22, 1249, 85), +(22, 1250, 73), +(22, 1251, 75), +(22, 1252, 96), +(22, 1253, 70), +(22, 1254, 69), +(22, 1255, 91), +(22, 1256, 79), +(22, 1257, 72), +(22, 1258, 83), +(22, 1259, 72), +(22, 1260, 77), +(22, 1261, 88), +(22, 1262, 70), +(22, 1263, 90), +(22, 1264, 86), +(22, 1265, 91), +(22, 1266, 91), +(22, 1267, 68), +(22, 1268, 82), +(22, 1269, 94), +(22, 1270, 87), +(22, 1271, 97), +(22, 1272, 71), +(22, 1273, 84), +(22, 1274, 69), +(22, 1275, 95), +(22, 1276, 81), +(22, 1277, 84), +(22, 1278, 70), +(22, 1279, 68), +(22, 1280, 94), +(22, 1281, 67), +(22, 1282, 67), +(22, 1283, 70), +(22, 1284, 66), +(22, 1285, 75), +(22, 1286, 67), +(22, 1287, 93), +(22, 1288, 91), +(22, 1289, 81), +(22, 1290, 85), +(22, 1291, 92), +(22, 1292, 98), +(22, 1293, 85), +(22, 1294, 97), +(22, 1295, 85), +(22, 1296, 86), +(22, 1297, 83), +(22, 1298, 93), +(22, 1299, 95), +(22, 1300, 69), +(22, 1301, 94), +(22, 1302, 76), +(22, 1303, 69), +(22, 1304, 75), +(22, 1305, 93), +(22, 1306, 76), +(22, 1307, 65), +(22, 1308, 71), +(22, 1309, 74), +(22, 1310, 91), +(22, 1311, 82), +(22, 1312, 98), +(22, 1313, 70), +(22, 1314, 92), +(22, 1315, 69), +(22, 1316, 84), +(22, 1317, 69), +(22, 1318, 75), +(22, 1319, 70), +(22, 1320, 84), +(22, 1321, 92), +(22, 1322, 87), +(22, 1323, 71), +(22, 1324, 89), +(22, 1325, 89), +(22, 1326, 79), +(22, 1327, 84), +(22, 1328, 65), +(22, 1329, 65), +(22, 1330, 87), +(22, 1331, 88), +(22, 1332, 90), +(22, 1333, 72), +(22, 1334, 79), +(22, 1335, 68), +(22, 1336, 76), +(22, 1337, 96), +(22, 1338, 79), +(22, 1339, 90), +(22, 1340, 70), +(22, 1341, 84), +(22, 1342, 83), +(22, 1343, 78), +(22, 1344, 78), +(22, 1345, 92), +(22, 1346, 72), +(22, 1347, 78), +(22, 1348, 74), +(22, 1349, 92), +(22, 1350, 92), +(22, 1351, 90), +(22, 1352, 70), +(22, 1353, 77), +(22, 1354, 89), +(22, 1355, 66), +(22, 1356, 98), +(22, 1357, 67), +(22, 1358, 88), +(22, 1359, 96), +(22, 1360, 75), +(22, 1361, 73), +(22, 1362, 92), +(22, 1363, 85), +(22, 1364, 76), +(22, 1365, 90), +(22, 1366, 98), +(22, 1367, 71), +(22, 1368, 66), +(22, 1369, 99), +(22, 1370, 95), +(22, 1371, 84), +(22, 1372, 97), +(22, 1373, 75), +(22, 1374, 74), +(22, 1375, 77), +(22, 1376, 90), +(22, 1377, 74), +(22, 1378, 89), +(22, 1379, 82), +(22, 1380, 86), +(22, 1381, 89), +(22, 1382, 93), +(22, 1383, 83), +(22, 1384, 73), +(22, 1385, 65), +(22, 1386, 88), +(22, 1387, 85), +(22, 1388, 87), +(22, 1389, 84), +(22, 1390, 70), +(22, 1391, 95), +(22, 1392, 84), +(22, 1393, 79), +(22, 1394, 95), +(22, 1395, 70), +(22, 1396, 86), +(22, 1397, 69), +(22, 1398, 90), +(22, 1399, 79), +(22, 1400, 98), +(22, 1401, 95), +(22, 1402, 71), +(22, 1403, 84), +(22, 1404, 80), +(22, 1405, 96), +(22, 1406, 91), +(22, 1407, 68), +(22, 1408, 68), +(22, 1409, 80), +(22, 1410, 83), +(22, 1411, 77), +(22, 1412, 70), +(22, 1413, 68), +(22, 1414, 94), +(22, 1415, 89), +(22, 1416, 66), +(22, 1417, 68), +(22, 1418, 88), +(22, 1419, 70), +(22, 1420, 82), +(22, 1421, 78), +(22, 1422, 71), +(22, 1423, 70), +(22, 1424, 71), +(22, 1425, 79), +(22, 1426, 65), +(22, 1427, 88), +(22, 1428, 93), +(22, 1429, 98), +(22, 1430, 76), +(22, 1431, 98), +(22, 1432, 98), +(22, 1433, 67), +(22, 1434, 94), +(22, 1435, 67), +(22, 1436, 66), +(22, 1437, 69), +(22, 1438, 94), +(22, 1439, 78), +(22, 1440, 71), +(22, 1441, 80), +(22, 1442, 80), +(22, 1443, 92), +(22, 1444, 85), +(22, 1445, 65), +(22, 1446, 88), +(22, 1447, 79), +(22, 1448, 88), +(22, 1449, 96), +(22, 1450, 92), +(22, 1451, 79), +(22, 1452, 82), +(22, 1453, 68), +(22, 1454, 65), +(22, 1455, 79), +(22, 1456, 76), +(22, 1457, 80), +(22, 1458, 68), +(22, 1459, 71), +(22, 1460, 80), +(22, 1461, 87), +(22, 1462, 67), +(22, 1463, 95), +(22, 1464, 65), +(22, 1465, 79), +(22, 1466, 99), +(22, 1467, 70), +(22, 1468, 65), +(22, 1469, 83), +(22, 1470, 77), +(22, 1471, 94), +(22, 1472, 79), +(22, 1473, 69), +(22, 1474, 65), +(22, 1475, 80), +(22, 1476, 78), +(22, 1477, 94), +(22, 1478, 74), +(22, 1479, 80), +(22, 1480, 93), +(22, 1481, 77), +(22, 1482, 88), +(22, 1483, 87), +(22, 1484, 73), +(22, 1485, 91), +(22, 1486, 80), +(22, 1487, 75), +(22, 1488, 65), +(22, 1489, 91), +(22, 1490, 88), +(22, 1491, 68), +(22, 1492, 92), +(22, 1493, 75), +(22, 1494, 94), +(22, 1495, 65), +(22, 1496, 93), +(22, 1497, 90), +(22, 1498, 95), +(22, 1499, 94), +(22, 1500, 86), +(22, 1501, 87), +(22, 1502, 78), +(22, 1503, 70), +(22, 1504, 89), +(22, 1505, 79), +(22, 1506, 98), +(22, 1507, 88), +(22, 1508, 67), +(22, 1509, 73), +(22, 1510, 91), +(22, 1511, 70), +(22, 1512, 84), +(22, 1513, 88), +(22, 1514, 93), +(22, 1515, 85), +(22, 1516, 96), +(22, 1517, 78), +(22, 1518, 70), +(22, 1519, 66), +(22, 1520, 91), +(22, 1521, 65), +(22, 1522, 75), +(22, 1523, 94), +(22, 1524, 91), +(22, 1525, 97), +(22, 1526, 66), +(22, 1527, 93), +(22, 1528, 83), +(22, 1529, 83), +(22, 1530, 90), +(22, 1531, 84), +(22, 1532, 67), +(22, 1533, 91), +(22, 1534, 67), +(22, 1535, 89), +(22, 1536, 83), +(22, 1537, 98), +(22, 1538, 82), +(22, 1539, 89), +(22, 1540, 69), +(22, 1541, 83), +(22, 1542, 75), +(22, 1543, 99), +(22, 1544, 91), +(22, 1545, 78), +(22, 1546, 72), +(22, 1547, 88), +(22, 1548, 72), +(22, 1549, 79), +(22, 1550, 75), +(22, 1551, 71), +(22, 1552, 91), +(22, 1553, 96), +(22, 1554, 88), +(22, 1555, 72), +(22, 1556, 69), +(22, 1557, 79), +(22, 1558, 72), +(22, 1559, 77), +(22, 1560, 88), +(22, 1561, 72), +(22, 1562, 93), +(22, 1563, 86), +(22, 1564, 93), +(22, 1565, 65), +(22, 1566, 76), +(22, 1567, 91), +(22, 1568, 89), +(22, 1569, 74), +(22, 1570, 72), +(22, 1571, 77), +(22, 1572, 76), +(22, 1573, 69), +(22, 1574, 94), +(22, 1575, 93), +(22, 1576, 82), +(22, 1577, 81), +(22, 1578, 69), +(22, 1579, 72), +(22, 1580, 96), +(22, 1581, 96), +(22, 1582, 73), +(22, 1583, 87), +(22, 1584, 76), +(22, 1585, 75), +(22, 1586, 72), +(22, 1587, 86), +(22, 2047, 82), +(22, 2048, 66), +(22, 2049, 65), +(22, 2050, 71), +(22, 2051, 97), +(22, 2052, 95), +(22, 2053, 78), +(22, 2054, 92), +(22, 2055, 90), +(22, 2056, 73), +(22, 2057, 91), +(22, 2058, 94), +(22, 2059, 95), +(22, 2060, 77), +(22, 2061, 99), +(22, 2062, 70), +(22, 2063, 86), +(22, 2064, 74), +(22, 2065, 67), +(22, 2066, 98), +(22, 2067, 98), +(22, 2068, 73), +(22, 2069, 99), +(22, 2070, 70), +(22, 2071, 70), +(22, 2072, 65), +(22, 2073, 72), +(22, 2074, 71), +(22, 2075, 93), +(22, 2076, 69), +(22, 2077, 81), +(22, 2078, 73), +(22, 2079, 96), +(22, 2080, 74), +(22, 2081, 88), +(22, 2082, 69), +(22, 2083, 96), +(22, 2084, 73), +(22, 2085, 72), +(22, 2086, 82), +(22, 2087, 91), +(22, 2088, 96), +(22, 2089, 67), +(22, 2090, 96), +(22, 2091, 88), +(22, 2092, 65), +(22, 2093, 68), +(22, 2094, 86), +(22, 2095, 85), +(22, 2096, 91), +(22, 2097, 85), +(22, 2098, 73), +(22, 2099, 94), +(22, 2100, 68), +(22, 2101, 85), +(22, 2102, 99), +(22, 2103, 83), +(22, 2104, 88), +(22, 2105, 73), +(22, 2106, 67), +(22, 2107, 84), +(22, 2108, 67), +(22, 2109, 91), +(22, 2110, 84), +(22, 2111, 76), +(22, 2112, 98), +(22, 2113, 70), +(22, 2114, 84), +(22, 2115, 87), +(22, 2116, 83), +(22, 2117, 71), +(22, 2118, 66), +(22, 2119, 85), +(22, 2120, 81), +(22, 2121, 78), +(22, 2122, 91), +(22, 2123, 72), +(22, 2124, 86), +(22, 2125, 75), +(22, 2126, 77), +(22, 2127, 96), +(22, 2128, 83), +(22, 2129, 89), +(22, 2130, 80), +(22, 2131, 77), +(22, 2132, 74), +(22, 2133, 72), +(22, 2134, 99), +(22, 2135, 94), +(22, 2136, 80), +(22, 2137, 83), +(22, 2138, 84), +(22, 2139, 73), +(22, 2140, 65), +(22, 2141, 77), +(22, 2142, 85), +(22, 2143, 89), +(22, 2144, 82), +(22, 2145, 92), +(22, 2146, 68), +(22, 2147, 66), +(22, 2148, 89), +(22, 2149, 99), +(22, 2150, 73), +(22, 2151, 91), +(22, 2152, 73), +(22, 2153, 94), +(22, 2154, 65), +(22, 2155, 95), +(22, 2156, 77), +(22, 2157, 95), +(22, 2158, 69), +(22, 2159, 75), +(22, 2160, 98), +(22, 2161, 71), +(22, 2162, 96), +(22, 2163, 71), +(22, 2164, 89), +(22, 2165, 84), +(22, 2166, 81), +(22, 2167, 78), +(22, 2168, 79), +(22, 2169, 73), +(22, 2170, 97), +(22, 2171, 74), +(22, 2172, 77), +(22, 2173, 73), +(22, 2174, 98), +(22, 2175, 86), +(22, 2176, 67), +(22, 2177, 67), +(22, 2178, 91), +(22, 2179, 74), +(22, 2180, 75), +(22, 2181, 99), +(22, 2182, 70), +(22, 2183, 99), +(22, 2184, 81), +(22, 2185, 96), +(22, 2186, 94), +(22, 2187, 94), +(22, 2188, 95), +(22, 2189, 81), +(22, 2190, 88), +(22, 2191, 81), +(22, 2192, 97), +(22, 2193, 92), +(22, 2194, 73), +(22, 2195, 93), +(22, 2196, 66), +(22, 2197, 72), +(22, 2198, 95), +(22, 2199, 77), +(22, 2200, 83), +(22, 2201, 79), +(22, 2202, 77), +(22, 2203, 85), +(22, 2204, 88), +(22, 2205, 87), +(22, 2206, 98), +(22, 2207, 92), +(22, 2208, 93), +(22, 2209, 94), +(22, 2210, 86), +(22, 2211, 74), +(22, 2212, 71), +(22, 2213, 68), +(22, 2214, 78), +(22, 2215, 68), +(22, 2216, 67), +(22, 2217, 87), +(22, 2218, 96), +(22, 2219, 96), +(22, 2220, 69), +(22, 2221, 73), +(22, 2222, 88), +(22, 2223, 86), +(22, 2224, 78), +(22, 2225, 76), +(22, 2226, 96), +(22, 2227, 87), +(22, 2228, 68), +(22, 2229, 75), +(22, 2230, 96), +(22, 2231, 66), +(22, 2232, 92), +(22, 2233, 84), +(22, 2234, 76), +(22, 2235, 86), +(22, 2236, 87), +(22, 2237, 89), +(22, 2238, 97), +(22, 2239, 85), +(22, 2240, 97), +(22, 2241, 96), +(22, 2242, 82), +(22, 2243, 84), +(22, 2244, 79), +(22, 2245, 88), +(22, 2246, 75), +(22, 2247, 78), +(22, 2248, 82), +(22, 2249, 97), +(22, 2250, 96), +(22, 2251, 90), +(22, 2252, 66), +(22, 2253, 75), +(22, 2254, 79), +(22, 2255, 78), +(22, 2256, 72), +(22, 2257, 70), +(22, 2258, 92), +(22, 2259, 98), +(22, 2260, 76), +(22, 2261, 98), +(22, 2262, 73), +(22, 2263, 90), +(22, 2264, 99), +(22, 2265, 89), +(22, 2266, 98), +(22, 2267, 93), +(22, 2268, 91), +(22, 2269, 91), +(22, 2270, 83), +(22, 2271, 94), +(22, 2272, 77), +(22, 2273, 87), +(22, 2274, 66), +(22, 2275, 93), +(22, 2276, 78), +(22, 2277, 92), +(22, 2278, 69), +(22, 2279, 68), +(22, 2280, 80), +(22, 2281, 73), +(22, 2282, 77), +(22, 2283, 82), +(22, 2284, 84), +(22, 2285, 72), +(22, 2286, 91), +(22, 2287, 80), +(22, 2288, 65), +(22, 2289, 94), +(22, 2290, 72), +(22, 2291, 97), +(22, 2292, 65), +(22, 2293, 90), +(22, 2294, 81), +(22, 2295, 74), +(22, 2296, 70), +(22, 2297, 75), +(22, 2298, 92), +(22, 2299, 88), +(22, 2300, 80), +(22, 2301, 78), +(22, 2302, 98), +(22, 2303, 87), +(22, 2304, 91), +(22, 2305, 86), +(22, 2306, 65), +(22, 2307, 82), +(22, 2308, 91), +(22, 2309, 76), +(22, 2310, 68), +(22, 2311, 86), +(22, 2312, 91), +(22, 2313, 82), +(22, 2314, 79), +(22, 2315, 88), +(22, 2316, 79), +(22, 2317, 75), +(22, 2318, 99), +(22, 2319, 81), +(22, 2320, 75), +(22, 2321, 68), +(22, 2322, 83), +(22, 2323, 95), +(22, 2324, 76), +(22, 2325, 80), +(22, 2326, 88), +(22, 2327, 99), +(22, 2328, 80), +(22, 2329, 86), +(22, 2330, 75), +(22, 2331, 72), +(22, 2332, 70), +(22, 2333, 96), +(22, 2334, 67), +(22, 2335, 83), +(22, 2336, 88), +(22, 2337, 72), +(22, 2338, 92), +(22, 2339, 83), +(22, 2340, 71), +(22, 2341, 98), +(22, 2342, 67), +(22, 2343, 89), +(22, 2344, 73), +(22, 2345, 67), +(22, 2346, 67), +(22, 2347, 79), +(22, 2348, 96), +(22, 2349, 97), +(22, 2350, 69), +(22, 2351, 95), +(22, 2352, 97), +(22, 2353, 93), +(22, 2354, 99), +(22, 2355, 78), +(22, 2356, 89), +(22, 2357, 70), +(22, 2358, 81), +(22, 2359, 80), +(22, 2360, 86), +(22, 2361, 97), +(22, 2362, 92), +(22, 2363, 98), +(22, 2364, 78), +(22, 2365, 99), +(22, 2366, 96), +(22, 2367, 86), +(22, 2368, 84), +(22, 2369, 99), +(22, 2370, 98), +(22, 2371, 72), +(22, 2372, 85), +(22, 2373, 77), +(22, 2374, 77), +(22, 2375, 93), +(22, 2376, 96), +(22, 2377, 85), +(22, 2378, 90), +(22, 2379, 85), +(22, 2380, 90), +(22, 2381, 80), +(22, 2382, 81), +(22, 2383, 82), +(22, 2384, 95), +(22, 2385, 80), +(22, 2386, 95), +(22, 2387, 92), +(22, 2388, 85), +(22, 2389, 80), +(22, 2390, 74), +(22, 2391, 69), +(22, 2392, 76), +(22, 2393, 77), +(22, 2394, 74), +(22, 2395, 66), +(22, 2396, 71), +(22, 2397, 82), +(22, 2398, 85), +(22, 2399, 65), +(22, 2400, 82), +(22, 2401, 70), +(22, 2402, 89), +(22, 2403, 92), +(22, 2404, 71), +(22, 2405, 76), +(22, 2406, 69), +(22, 2407, 88), +(22, 2408, 84), +(22, 2409, 91), +(22, 2410, 90), +(22, 2411, 89), +(22, 2412, 91), +(22, 2413, 99), +(22, 2414, 99), +(22, 2415, 83), +(22, 2416, 98), +(22, 2417, 70), +(22, 2418, 74), +(22, 2419, 97), +(22, 2420, 83), +(22, 2421, 81), +(22, 2422, 76), +(22, 2423, 83), +(22, 2424, 86), +(22, 2425, 88), +(22, 2426, 74), +(22, 2427, 66), +(22, 2428, 72), +(22, 2429, 84), +(22, 2430, 79), +(22, 2431, 82), +(22, 2432, 74), +(22, 2433, 85), +(22, 2434, 74), +(22, 2435, 97), +(22, 2436, 78), +(22, 2437, 82), +(22, 2438, 74), +(22, 2439, 88), +(22, 2440, 91), +(22, 2441, 74), +(22, 2442, 92), +(22, 2443, 89), +(22, 2444, 92), +(22, 2445, 88), +(22, 2446, 81), +(22, 2447, 95), +(22, 2448, 84), +(22, 2449, 79), +(22, 2450, 74), +(22, 2451, 74), +(22, 2452, 99), +(22, 2453, 88), +(22, 2454, 89), +(22, 2455, 97), +(22, 2456, 90), +(22, 2457, 71), +(22, 2458, 86), +(22, 2459, 70), +(22, 2460, 78), +(22, 2461, 85), +(22, 2462, 67), +(22, 2463, 87), +(22, 2464, 79), +(22, 2465, 70), +(22, 2466, 90), +(22, 2467, 96), +(22, 2468, 90), +(22, 2469, 99), +(22, 2470, 67), +(22, 2471, 82), +(22, 2472, 77), +(22, 2473, 92), +(22, 2474, 69), +(22, 2475, 93), +(22, 2476, 88), +(22, 2477, 75), +(22, 2478, 89), +(22, 2479, 65), +(22, 2480, 97), +(22, 2481, 82), +(22, 2482, 67), +(22, 2483, 70), +(22, 2484, 92), +(22, 2485, 90), +(22, 2486, 66), +(22, 2487, 71), +(22, 2488, 67), +(22, 2489, 86), +(22, 2490, 95), +(22, 2491, 65), +(22, 2492, 80), +(22, 2493, 70), +(22, 2494, 86), +(22, 2495, 76), +(22, 2496, 71), +(22, 2497, 90), +(22, 2498, 72), +(22, 2499, 88), +(22, 2500, 96), +(22, 2501, 97), +(22, 2502, 80), +(22, 2503, 92), +(22, 2504, 83), +(22, 2505, 94), +(22, 2506, 75), +(22, 2507, 85), +(22, 2508, 83), +(22, 2509, 75), +(22, 2510, 96), +(22, 2511, 91), +(22, 2512, 79), +(22, 2513, 70), +(22, 2514, 77), +(22, 2515, 90), +(22, 2516, 87), +(22, 2517, 68), +(22, 2518, 85), +(22, 2519, 75), +(22, 2520, 93), +(22, 2521, 83), +(22, 2522, 83), +(22, 2523, 99), +(22, 2524, 65), +(22, 2525, 79), +(22, 2526, 74), +(22, 2527, 97), +(22, 2528, 70), +(22, 2529, 85), +(22, 2530, 98), +(22, 2531, 71), +(22, 2532, 93), +(22, 2533, 66), +(22, 2534, 82), +(22, 2535, 87), +(22, 2536, 77), +(22, 2537, 98), +(22, 2538, 78), +(22, 2539, 67), +(22, 2540, 78), +(22, 2541, 69), +(22, 2542, 89), +(22, 2543, 96), +(22, 2544, 90), +(22, 2545, 99), +(22, 2546, 77), +(22, 2547, 91), +(22, 2548, 83), +(22, 2549, 96), +(22, 2550, 97), +(22, 2551, 90), +(22, 2552, 86), +(22, 2553, 76), +(22, 2554, 76), +(22, 2555, 75), +(22, 2556, 70), +(22, 2557, 83), +(22, 2558, 95), +(22, 2559, 83), +(22, 2560, 78), +(22, 2561, 85), +(22, 2562, 88), +(22, 2563, 83), +(22, 2564, 74), +(22, 2565, 90), +(22, 2566, 74), +(22, 2567, 74), +(22, 2568, 96), +(22, 2569, 79), +(22, 2570, 68), +(22, 2571, 90), +(22, 2572, 67), +(22, 2573, 76), +(22, 2574, 94), +(22, 2575, 91), +(22, 2576, 98), +(22, 2577, 69), +(22, 2578, 95), +(22, 2579, 81), +(22, 2580, 83), +(22, 2581, 93), +(22, 2582, 72), +(22, 2583, 84), +(22, 2584, 97), +(22, 2585, 82), +(22, 2586, 86), +(22, 2587, 66), +(22, 2588, 75), +(22, 2589, 88), +(22, 2590, 65), +(22, 2591, 95), +(22, 2592, 91), +(22, 2593, 95), +(22, 2594, 86), +(22, 2595, 92), +(22, 2596, 76), +(22, 2597, 93), +(22, 2598, 72), +(22, 2599, 97), +(22, 2600, 69), +(22, 2601, 86), +(22, 2602, 81), +(22, 2603, 78), +(22, 2604, 86), +(22, 2605, 87), +(22, 2606, 69), +(22, 2607, 68), +(22, 2608, 73), +(22, 2609, 93), +(22, 2610, 98), +(23, 1, 82), +(23, 2, 80), +(23, 3, 80), +(23, 4, 77), +(23, 5, 74), +(23, 6, 94), +(23, 7, 76), +(23, 8, 98), +(23, 9, 99), +(23, 10, 97), +(23, 11, 76), +(23, 12, 77), +(23, 13, 85), +(23, 14, 98), +(23, 15, 93), +(23, 16, 92), +(23, 17, 86), +(23, 18, 83), +(23, 19, 66), +(23, 20, 91), +(23, 21, 86), +(23, 22, 87), +(23, 23, 82), +(23, 24, 90), +(23, 25, 98), +(23, 26, 95), +(23, 27, 69), +(23, 28, 65), +(23, 29, 72), +(23, 30, 82), +(23, 31, 92), +(23, 32, 66), +(23, 33, 83), +(23, 34, 68), +(23, 35, 86), +(23, 36, 77), +(23, 37, 86), +(23, 38, 71), +(23, 39, 81), +(23, 40, 89), +(23, 41, 70), +(23, 42, 90), +(23, 43, 85), +(23, 44, 74), +(23, 45, 82), +(23, 46, 78), +(23, 47, 69), +(23, 48, 95), +(23, 49, 72), +(23, 50, 83), +(23, 51, 90), +(23, 52, 69), +(23, 53, 85), +(23, 54, 68), +(23, 55, 94), +(23, 56, 84), +(23, 57, 73), +(23, 58, 82), +(23, 59, 96), +(23, 60, 77), +(23, 61, 96), +(23, 62, 88), +(23, 63, 91), +(23, 64, 67), +(23, 65, 74), +(23, 66, 86), +(23, 67, 69), +(23, 68, 93), +(23, 69, 76), +(23, 70, 73), +(23, 71, 83), +(23, 72, 72), +(23, 73, 82), +(23, 74, 74), +(23, 75, 78), +(23, 76, 73), +(23, 77, 66), +(23, 78, 65), +(23, 79, 94), +(23, 80, 90), +(23, 81, 67), +(23, 82, 71), +(23, 83, 67), +(23, 84, 65), +(23, 85, 94), +(23, 86, 99), +(23, 87, 80), +(23, 88, 98), +(23, 89, 94), +(23, 90, 72), +(23, 91, 81), +(23, 92, 86), +(23, 93, 76), +(23, 94, 87), +(23, 95, 97), +(23, 96, 72), +(23, 97, 80), +(23, 98, 70), +(23, 99, 88), +(23, 100, 78), +(23, 101, 96), +(23, 102, 72), +(23, 103, 79), +(23, 104, 67), +(23, 105, 71), +(23, 106, 95), +(23, 107, 69), +(23, 108, 93), +(23, 109, 72), +(23, 110, 99), +(23, 111, 66), +(23, 112, 80), +(23, 113, 95), +(23, 114, 90), +(23, 115, 81), +(23, 116, 85), +(23, 117, 73), +(23, 118, 94), +(23, 119, 96), +(23, 120, 85), +(23, 121, 73), +(23, 122, 85), +(23, 123, 85), +(23, 124, 98), +(23, 125, 69), +(23, 126, 86), +(23, 127, 94), +(23, 128, 90), +(23, 129, 77), +(23, 130, 68), +(23, 131, 85), +(23, 132, 97), +(23, 133, 71), +(23, 134, 88), +(23, 135, 87), +(23, 136, 89), +(23, 137, 65), +(23, 138, 88), +(23, 139, 70), +(23, 140, 81), +(23, 141, 75), +(23, 142, 69), +(23, 143, 72), +(23, 144, 79), +(23, 145, 95), +(23, 146, 96), +(23, 147, 82), +(23, 148, 91), +(23, 149, 74), +(23, 150, 73), +(23, 151, 81), +(23, 152, 80), +(23, 153, 98), +(23, 154, 94), +(23, 155, 88), +(23, 156, 67), +(23, 157, 81), +(23, 158, 95), +(23, 159, 92), +(23, 160, 98), +(23, 161, 70), +(23, 162, 69), +(23, 163, 84), +(23, 164, 78), +(23, 165, 85), +(23, 166, 74), +(23, 167, 88), +(23, 168, 73), +(23, 169, 99), +(23, 170, 87), +(23, 171, 76), +(23, 172, 82), +(23, 173, 72), +(23, 174, 67), +(23, 175, 77), +(23, 176, 73), +(23, 177, 68), +(23, 178, 91), +(23, 179, 67), +(23, 180, 69), +(23, 181, 69), +(23, 182, 88), +(23, 183, 66), +(23, 184, 80), +(23, 185, 90), +(23, 186, 75), +(23, 187, 75), +(23, 188, 79), +(23, 189, 82), +(23, 190, 70), +(23, 191, 65), +(23, 192, 75), +(23, 193, 79), +(23, 194, 87), +(23, 195, 81), +(23, 196, 75), +(23, 197, 78), +(23, 198, 67), +(23, 199, 68), +(23, 200, 67), +(23, 201, 68), +(23, 202, 82), +(23, 203, 68), +(23, 204, 85), +(23, 205, 78), +(23, 206, 91), +(23, 207, 94), +(23, 208, 79), +(23, 209, 75), +(23, 210, 82), +(23, 211, 97), +(23, 212, 93), +(23, 213, 95), +(23, 214, 83), +(23, 215, 76), +(23, 216, 66), +(23, 217, 74), +(23, 218, 73), +(23, 219, 80), +(23, 220, 84), +(23, 221, 73), +(23, 222, 74), +(23, 223, 75), +(23, 224, 74), +(23, 225, 94), +(23, 226, 86), +(23, 227, 89), +(23, 228, 98), +(23, 229, 81), +(23, 230, 85), +(23, 231, 66), +(23, 232, 70), +(23, 233, 68), +(23, 234, 81), +(23, 235, 86), +(23, 236, 93), +(23, 237, 83), +(23, 238, 82), +(23, 239, 66), +(23, 240, 85), +(23, 241, 76), +(23, 242, 76), +(23, 243, 96), +(23, 244, 92), +(23, 245, 65), +(23, 246, 88), +(23, 247, 67), +(23, 248, 87), +(23, 249, 75), +(23, 250, 90), +(23, 251, 94), +(23, 252, 92), +(23, 253, 87), +(23, 254, 77), +(23, 255, 80), +(23, 256, 92), +(23, 257, 93), +(23, 258, 66), +(23, 259, 66), +(23, 260, 78), +(23, 261, 97), +(23, 262, 85), +(23, 263, 67), +(23, 264, 99), +(23, 265, 92), +(23, 266, 71), +(23, 267, 77), +(23, 268, 85), +(23, 269, 79), +(23, 270, 76), +(23, 271, 92), +(23, 272, 67), +(23, 273, 98), +(23, 274, 67), +(23, 275, 93), +(23, 276, 92), +(23, 277, 86), +(23, 278, 89), +(23, 279, 82), +(23, 280, 91), +(23, 281, 78), +(23, 282, 84), +(23, 283, 66), +(23, 284, 68), +(23, 285, 74), +(23, 286, 70), +(23, 287, 84), +(23, 288, 72), +(23, 289, 67), +(23, 290, 75), +(23, 291, 84), +(23, 292, 68), +(23, 293, 80), +(23, 294, 65), +(23, 295, 81), +(23, 296, 87), +(23, 297, 69), +(23, 298, 65), +(23, 299, 70), +(23, 300, 83), +(23, 301, 96), +(23, 302, 70), +(23, 303, 78), +(23, 304, 66), +(23, 305, 80), +(23, 306, 83), +(23, 307, 91), +(23, 308, 67), +(23, 309, 74), +(23, 310, 93), +(23, 311, 74), +(23, 312, 88), +(23, 313, 67), +(23, 314, 89), +(23, 315, 82), +(23, 316, 71), +(23, 317, 94), +(23, 318, 72), +(23, 319, 99), +(23, 320, 88), +(23, 321, 97), +(23, 322, 98), +(23, 323, 82), +(23, 324, 89), +(23, 325, 90), +(23, 326, 79), +(23, 327, 65), +(23, 328, 83), +(23, 329, 75), +(23, 330, 79), +(23, 331, 84), +(23, 332, 71), +(23, 333, 94), +(23, 334, 94), +(23, 335, 72), +(23, 336, 85), +(23, 337, 92), +(23, 338, 78), +(23, 339, 98), +(23, 340, 72), +(23, 341, 65), +(23, 342, 86), +(23, 343, 67), +(23, 344, 96), +(23, 345, 80), +(23, 346, 79), +(23, 347, 88), +(23, 348, 73), +(23, 349, 94), +(23, 350, 67), +(23, 351, 65), +(23, 352, 87), +(23, 353, 82), +(23, 354, 82), +(23, 355, 92), +(23, 356, 81), +(23, 357, 68), +(23, 358, 91), +(23, 359, 74), +(23, 360, 83), +(23, 361, 77), +(23, 362, 68), +(23, 363, 89), +(23, 364, 92), +(23, 365, 74), +(23, 366, 94), +(23, 367, 98), +(23, 368, 81), +(23, 369, 95), +(23, 370, 73), +(23, 371, 67), +(23, 372, 95), +(23, 373, 79), +(23, 374, 75), +(23, 375, 86), +(23, 376, 89), +(23, 377, 78), +(23, 378, 65), +(23, 379, 92), +(23, 380, 85), +(23, 381, 93), +(23, 382, 82), +(23, 383, 88), +(23, 384, 81), +(23, 385, 70), +(23, 386, 68), +(23, 387, 92), +(23, 388, 69), +(23, 389, 77), +(23, 390, 92), +(23, 391, 74), +(23, 392, 88), +(23, 393, 76), +(23, 394, 90), +(23, 395, 85), +(23, 396, 78), +(23, 397, 68), +(23, 398, 71), +(23, 399, 92), +(23, 400, 75), +(23, 401, 92), +(23, 402, 74), +(23, 403, 99), +(23, 404, 96), +(23, 405, 70), +(23, 406, 80), +(23, 407, 88), +(23, 408, 67), +(23, 409, 74), +(23, 410, 69), +(23, 411, 67), +(23, 412, 97), +(23, 413, 76), +(23, 414, 88), +(23, 415, 65), +(23, 416, 93), +(23, 417, 97), +(23, 418, 97), +(23, 419, 93), +(23, 420, 84), +(23, 421, 69), +(23, 422, 75), +(23, 423, 68), +(23, 424, 96), +(23, 425, 77), +(23, 426, 96), +(23, 427, 69), +(23, 428, 81), +(23, 429, 80), +(23, 430, 78), +(23, 431, 69), +(23, 432, 73), +(23, 433, 75), +(23, 434, 70), +(23, 435, 89), +(23, 436, 76), +(23, 437, 81), +(23, 438, 94), +(23, 439, 80), +(23, 440, 83), +(23, 441, 70), +(23, 442, 66), +(23, 443, 90), +(23, 444, 69), +(23, 445, 89), +(23, 446, 65), +(23, 447, 90), +(23, 448, 79), +(23, 449, 84), +(23, 450, 75), +(23, 451, 82), +(23, 452, 97), +(23, 453, 94), +(23, 454, 67), +(23, 455, 91), +(23, 456, 66), +(23, 457, 97), +(23, 458, 68), +(23, 459, 99), +(23, 460, 89), +(23, 461, 66), +(23, 462, 77), +(23, 463, 76), +(23, 464, 93), +(23, 465, 88), +(23, 466, 65), +(23, 467, 92), +(23, 468, 99), +(23, 469, 77), +(23, 470, 80), +(23, 471, 81), +(23, 472, 93), +(23, 473, 84), +(23, 474, 94), +(23, 475, 65), +(23, 476, 92), +(23, 477, 93), +(23, 478, 81), +(23, 479, 92), +(23, 480, 80), +(23, 481, 72), +(23, 482, 71), +(23, 483, 76), +(23, 484, 68), +(23, 485, 73), +(23, 486, 92), +(23, 487, 83), +(23, 488, 74), +(23, 489, 79), +(23, 490, 88), +(23, 491, 91), +(23, 492, 97), +(23, 493, 79), +(23, 494, 68), +(23, 495, 74), +(23, 496, 69), +(23, 497, 74), +(23, 498, 93), +(23, 499, 68), +(23, 500, 90), +(23, 501, 84), +(23, 502, 70), +(23, 503, 81), +(23, 504, 69), +(23, 505, 82), +(23, 506, 69), +(23, 507, 78), +(23, 508, 78), +(23, 509, 66), +(23, 510, 91), +(23, 511, 95), +(23, 512, 76), +(23, 513, 93), +(23, 514, 65), +(23, 515, 83), +(23, 516, 71), +(23, 517, 98), +(23, 518, 76), +(23, 519, 76), +(23, 520, 85), +(23, 521, 84), +(23, 522, 95), +(23, 523, 94), +(23, 524, 72), +(23, 525, 71), +(23, 526, 91), +(23, 527, 76), +(23, 528, 96), +(23, 529, 80), +(23, 530, 78), +(23, 531, 96), +(23, 532, 82), +(23, 533, 98), +(23, 534, 72), +(23, 535, 90), +(23, 536, 99), +(23, 537, 94), +(23, 538, 83), +(23, 539, 87), +(23, 540, 70), +(23, 541, 83), +(23, 542, 79), +(23, 543, 73), +(23, 544, 75), +(23, 545, 83), +(23, 546, 77), +(23, 547, 73), +(23, 548, 83), +(23, 549, 71), +(23, 550, 73), +(23, 551, 81), +(23, 552, 91), +(23, 553, 82), +(23, 554, 74), +(23, 555, 95), +(23, 556, 72), +(23, 557, 69), +(23, 558, 68), +(23, 559, 76), +(23, 560, 75), +(23, 561, 76), +(23, 562, 67), +(23, 563, 94), +(23, 564, 98), +(23, 1024, 87), +(23, 1025, 82), +(23, 1026, 83), +(23, 1027, 68), +(23, 1028, 83), +(23, 1029, 66), +(23, 1030, 93), +(23, 1031, 97), +(23, 1032, 67), +(23, 1033, 67), +(23, 1034, 81), +(23, 1035, 91), +(23, 1036, 73), +(23, 1037, 65), +(23, 1038, 71), +(23, 1039, 81), +(23, 1040, 65), +(23, 1041, 74), +(23, 1042, 68), +(23, 1043, 69), +(23, 1044, 69), +(23, 1045, 82), +(23, 1046, 75), +(23, 1047, 80), +(23, 1048, 89), +(23, 1049, 98), +(23, 1050, 92), +(23, 1051, 99), +(23, 1052, 84), +(23, 1053, 80), +(23, 1054, 88), +(23, 1055, 93), +(23, 1056, 99), +(23, 1057, 99), +(23, 1058, 70), +(23, 1059, 78), +(23, 1060, 93), +(23, 1061, 91), +(23, 1062, 79), +(23, 1063, 94), +(23, 1064, 69), +(23, 1065, 87), +(23, 1066, 72), +(23, 1067, 75), +(23, 1068, 98), +(23, 1069, 71), +(23, 1070, 99), +(23, 1071, 90), +(23, 1072, 84), +(23, 1073, 79), +(23, 1074, 71), +(23, 1075, 98), +(23, 1076, 68), +(23, 1077, 83), +(23, 1078, 65), +(23, 1079, 84), +(23, 1080, 94), +(23, 1081, 71), +(23, 1082, 88), +(23, 1083, 88), +(23, 1084, 94), +(23, 1085, 83), +(23, 1086, 81), +(23, 1087, 91); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(23, 1088, 67), +(23, 1089, 78), +(23, 1090, 67), +(23, 1091, 96), +(23, 1092, 89), +(23, 1093, 69), +(23, 1094, 74), +(23, 1095, 71), +(23, 1096, 74), +(23, 1097, 93), +(23, 1098, 69), +(23, 1099, 90), +(23, 1100, 95), +(23, 1101, 85), +(23, 1102, 83), +(23, 1103, 69), +(23, 1104, 76), +(23, 1105, 70), +(23, 1106, 75), +(23, 1107, 71), +(23, 1108, 89), +(23, 1109, 97), +(23, 1110, 96), +(23, 1111, 88), +(23, 1112, 97), +(23, 1113, 70), +(23, 1114, 68), +(23, 1115, 84), +(23, 1116, 76), +(23, 1117, 90), +(23, 1118, 96), +(23, 1119, 90), +(23, 1120, 78), +(23, 1121, 66), +(23, 1122, 66), +(23, 1123, 82), +(23, 1124, 92), +(23, 1125, 70), +(23, 1126, 93), +(23, 1127, 72), +(23, 1128, 85), +(23, 1129, 69), +(23, 1130, 73), +(23, 1131, 81), +(23, 1132, 66), +(23, 1133, 77), +(23, 1134, 94), +(23, 1135, 71), +(23, 1136, 65), +(23, 1137, 78), +(23, 1138, 66), +(23, 1139, 75), +(23, 1140, 92), +(23, 1141, 85), +(23, 1142, 96), +(23, 1143, 78), +(23, 1144, 72), +(23, 1145, 89), +(23, 1146, 76), +(23, 1147, 71), +(23, 1148, 93), +(23, 1149, 74), +(23, 1150, 92), +(23, 1151, 93), +(23, 1152, 74), +(23, 1153, 99), +(23, 1154, 77), +(23, 1155, 82), +(23, 1156, 90), +(23, 1157, 92), +(23, 1158, 86), +(23, 1159, 92), +(23, 1160, 76), +(23, 1161, 67), +(23, 1162, 83), +(23, 1163, 77), +(23, 1164, 76), +(23, 1165, 65), +(23, 1166, 77), +(23, 1167, 92), +(23, 1168, 90), +(23, 1169, 90), +(23, 1170, 69), +(23, 1171, 72), +(23, 1172, 78), +(23, 1173, 91), +(23, 1174, 73), +(23, 1175, 99), +(23, 1176, 72), +(23, 1177, 83), +(23, 1178, 87), +(23, 1179, 96), +(23, 1180, 72), +(23, 1181, 95), +(23, 1182, 65), +(23, 1183, 89), +(23, 1184, 83), +(23, 1185, 97), +(23, 1186, 86), +(23, 1187, 93), +(23, 1188, 78), +(23, 1189, 98), +(23, 1190, 78), +(23, 1191, 68), +(23, 1192, 94), +(23, 1193, 71), +(23, 1194, 85), +(23, 1195, 71), +(23, 1196, 92), +(23, 1197, 79), +(23, 1198, 75), +(23, 1199, 74), +(23, 1200, 66), +(23, 1201, 89), +(23, 1202, 89), +(23, 1203, 67), +(23, 1204, 89), +(23, 1205, 83), +(23, 1206, 79), +(23, 1207, 93), +(23, 1208, 93), +(23, 1209, 73), +(23, 1210, 80), +(23, 1211, 87), +(23, 1212, 72), +(23, 1213, 82), +(23, 1214, 73), +(23, 1215, 69), +(23, 1216, 84), +(23, 1217, 79), +(23, 1218, 86), +(23, 1219, 73), +(23, 1220, 81), +(23, 1221, 66), +(23, 1222, 95), +(23, 1223, 91), +(23, 1224, 72), +(23, 1225, 81), +(23, 1226, 93), +(23, 1227, 97), +(23, 1228, 85), +(23, 1229, 94), +(23, 1230, 94), +(23, 1231, 74), +(23, 1232, 90), +(23, 1233, 91), +(23, 1234, 85), +(23, 1235, 92), +(23, 1236, 65), +(23, 1237, 66), +(23, 1238, 74), +(23, 1239, 66), +(23, 1240, 77), +(23, 1241, 83), +(23, 1242, 87), +(23, 1243, 79), +(23, 1244, 83), +(23, 1245, 93), +(23, 1246, 69), +(23, 1247, 65), +(23, 1248, 76), +(23, 1249, 85), +(23, 1250, 85), +(23, 1251, 95), +(23, 1252, 65), +(23, 1253, 71), +(23, 1254, 83), +(23, 1255, 79), +(23, 1256, 91), +(23, 1257, 74), +(23, 1258, 81), +(23, 1259, 73), +(23, 1260, 89), +(23, 1261, 94), +(23, 1262, 89), +(23, 1263, 73), +(23, 1264, 84), +(23, 1265, 79), +(23, 1266, 72), +(23, 1267, 72), +(23, 1268, 68), +(23, 1269, 83), +(23, 1270, 67), +(23, 1271, 92), +(23, 1272, 91), +(23, 1273, 86), +(23, 1274, 95), +(23, 1275, 73), +(23, 1276, 81), +(23, 1277, 88), +(23, 1278, 78), +(23, 1279, 69), +(23, 1280, 97), +(23, 1281, 71), +(23, 1282, 68), +(23, 1283, 76), +(23, 1284, 67), +(23, 1285, 84), +(23, 1286, 79), +(23, 1287, 79), +(23, 1288, 96), +(23, 1289, 92), +(23, 1290, 86), +(23, 1291, 68), +(23, 1292, 91), +(23, 1293, 98), +(23, 1294, 96), +(23, 1295, 84), +(23, 1296, 84), +(23, 1297, 87), +(23, 1298, 91), +(23, 1299, 75), +(23, 1300, 95), +(23, 1301, 78), +(23, 1302, 65), +(23, 1303, 98), +(23, 1304, 87), +(23, 1305, 95), +(23, 1306, 73), +(23, 1307, 72), +(23, 1308, 92), +(23, 1309, 80), +(23, 1310, 69), +(23, 1311, 91), +(23, 1312, 84), +(23, 1313, 93), +(23, 1314, 95), +(23, 1315, 73), +(23, 1316, 77), +(23, 1317, 93), +(23, 1318, 83), +(23, 1319, 97), +(23, 1320, 72), +(23, 1321, 71), +(23, 1322, 91), +(23, 1323, 95), +(23, 1324, 89), +(23, 1325, 89), +(23, 1326, 73), +(23, 1327, 98), +(23, 1328, 90), +(23, 1329, 91), +(23, 1330, 69), +(23, 1331, 71), +(23, 1332, 96), +(23, 1333, 67), +(23, 1334, 90), +(23, 1335, 94), +(23, 1336, 98), +(23, 1337, 88), +(23, 1338, 77), +(23, 1339, 66), +(23, 1340, 91), +(23, 1341, 99), +(23, 1342, 69), +(23, 1343, 99), +(23, 1344, 91), +(23, 1345, 84), +(23, 1346, 71), +(23, 1347, 73), +(23, 1348, 88), +(23, 1349, 70), +(23, 1350, 96), +(23, 1351, 89), +(23, 1352, 66), +(23, 1353, 93), +(23, 1354, 75), +(23, 1355, 79), +(23, 1356, 75), +(23, 1357, 96), +(23, 1358, 77), +(23, 1359, 88), +(23, 1360, 99), +(23, 1361, 85), +(23, 1362, 78), +(23, 1363, 89), +(23, 1364, 93), +(23, 1365, 90), +(23, 1366, 87), +(23, 1367, 94), +(23, 1368, 96), +(23, 1369, 95), +(23, 1370, 95), +(23, 1371, 77), +(23, 1372, 79), +(23, 1373, 98), +(23, 1374, 97), +(23, 1375, 70), +(23, 1376, 82), +(23, 1377, 69), +(23, 1378, 92), +(23, 1379, 66), +(23, 1380, 93), +(23, 1381, 89), +(23, 1382, 74), +(23, 1383, 67), +(23, 1384, 82), +(23, 1385, 74), +(23, 1386, 93), +(23, 1387, 81), +(23, 1388, 67), +(23, 1389, 91), +(23, 1390, 87), +(23, 1391, 77), +(23, 1392, 80), +(23, 1393, 87), +(23, 1394, 71), +(23, 1395, 98), +(23, 1396, 87), +(23, 1397, 94), +(23, 1398, 69), +(23, 1399, 81), +(23, 1400, 71), +(23, 1401, 80), +(23, 1402, 99), +(23, 1403, 96), +(23, 1404, 96), +(23, 1405, 94), +(23, 1406, 88), +(23, 1407, 78), +(23, 1408, 74), +(23, 1409, 68), +(23, 1410, 69), +(23, 1411, 92), +(23, 1412, 99), +(23, 1413, 74), +(23, 1414, 88), +(23, 1415, 70), +(23, 1416, 90), +(23, 1417, 91), +(23, 1418, 65), +(23, 1419, 65), +(23, 1420, 96), +(23, 1421, 96), +(23, 1422, 75), +(23, 1423, 69), +(23, 1424, 67), +(23, 1425, 72), +(23, 1426, 86), +(23, 1427, 78), +(23, 1428, 88), +(23, 1429, 94), +(23, 1430, 90), +(23, 1431, 65), +(23, 1432, 73), +(23, 1433, 66), +(23, 1434, 84), +(23, 1435, 98), +(23, 1436, 78), +(23, 1437, 70), +(23, 1438, 74), +(23, 1439, 87), +(23, 1440, 73), +(23, 1441, 94), +(23, 1442, 84), +(23, 1443, 86), +(23, 1444, 87), +(23, 1445, 93), +(23, 1446, 65), +(23, 1447, 77), +(23, 1448, 93), +(23, 1449, 80), +(23, 1450, 81), +(23, 1451, 88), +(23, 1452, 70), +(23, 1453, 84), +(23, 1454, 98), +(23, 1455, 68), +(23, 1456, 66), +(23, 1457, 89), +(23, 1458, 85), +(23, 1459, 69), +(23, 1460, 95), +(23, 1461, 80), +(23, 1462, 88), +(23, 1463, 85), +(23, 1464, 84), +(23, 1465, 66), +(23, 1466, 72), +(23, 1467, 84), +(23, 1468, 87), +(23, 1469, 77), +(23, 1470, 89), +(23, 1471, 92), +(23, 1472, 88), +(23, 1473, 97), +(23, 1474, 65), +(23, 1475, 91), +(23, 1476, 84), +(23, 1477, 95), +(23, 1478, 86), +(23, 1479, 71), +(23, 1480, 96), +(23, 1481, 74), +(23, 1482, 89), +(23, 1483, 93), +(23, 1484, 73), +(23, 1485, 73), +(23, 1486, 87), +(23, 1487, 89), +(23, 1488, 65), +(23, 1489, 94), +(23, 1490, 80), +(23, 1491, 79), +(23, 1492, 92), +(23, 1493, 81), +(23, 1494, 81), +(23, 1495, 91), +(23, 1496, 95), +(23, 1497, 66), +(23, 1498, 76), +(23, 1499, 70), +(23, 1500, 87), +(23, 1501, 65), +(23, 1502, 81), +(23, 1503, 68), +(23, 1504, 78), +(23, 1505, 83), +(23, 1506, 88), +(23, 1507, 85), +(23, 1508, 79), +(23, 1509, 80), +(23, 1510, 67), +(23, 1511, 74), +(23, 1512, 88), +(23, 1513, 98), +(23, 1514, 75), +(23, 1515, 80), +(23, 1516, 75), +(23, 1517, 68), +(23, 1518, 71), +(23, 1519, 88), +(23, 1520, 95), +(23, 1521, 98), +(23, 1522, 95), +(23, 1523, 89), +(23, 1524, 96), +(23, 1525, 67), +(23, 1526, 96), +(23, 1527, 86), +(23, 1528, 81), +(23, 1529, 67), +(23, 1530, 81), +(23, 1531, 71), +(23, 1532, 87), +(23, 1533, 85), +(23, 1534, 70), +(23, 1535, 85), +(23, 1536, 93), +(23, 1537, 78), +(23, 1538, 92), +(23, 1539, 75), +(23, 1540, 76), +(23, 1541, 97), +(23, 1542, 96), +(23, 1543, 67), +(23, 1544, 87), +(23, 1545, 93), +(23, 1546, 90), +(23, 1547, 78), +(23, 1548, 94), +(23, 1549, 83), +(23, 1550, 95), +(23, 1551, 78), +(23, 1552, 80), +(23, 1553, 86), +(23, 1554, 85), +(23, 1555, 97), +(23, 1556, 76), +(23, 1557, 87), +(23, 1558, 98), +(23, 1559, 99), +(23, 1560, 91), +(23, 1561, 73), +(23, 1562, 97), +(23, 1563, 90), +(23, 1564, 65), +(23, 1565, 83), +(23, 1566, 79), +(23, 1567, 80), +(23, 1568, 90), +(23, 1569, 67), +(23, 1570, 82), +(23, 1571, 79), +(23, 1572, 80), +(23, 1573, 79), +(23, 1574, 83), +(23, 1575, 91), +(23, 1576, 80), +(23, 1577, 88), +(23, 1578, 79), +(23, 1579, 77), +(23, 1580, 70), +(23, 1581, 67), +(23, 1582, 95), +(23, 1583, 89), +(23, 1584, 65), +(23, 1585, 87), +(23, 1586, 90), +(23, 1587, 98), +(23, 2047, 65), +(23, 2048, 65), +(23, 2049, 99), +(23, 2050, 90), +(23, 2051, 82), +(23, 2052, 85), +(23, 2053, 95), +(23, 2054, 97), +(23, 2055, 76), +(23, 2056, 93), +(23, 2057, 97), +(23, 2058, 72), +(23, 2059, 94), +(23, 2060, 70), +(23, 2061, 74), +(23, 2062, 88), +(23, 2063, 75), +(23, 2064, 82), +(23, 2065, 78), +(23, 2066, 89), +(23, 2067, 73), +(23, 2068, 65), +(23, 2069, 85), +(23, 2070, 79), +(23, 2071, 65), +(23, 2072, 80), +(23, 2073, 98), +(23, 2074, 83), +(23, 2075, 83), +(23, 2076, 91), +(23, 2077, 94), +(23, 2078, 99), +(23, 2079, 93), +(23, 2080, 69), +(23, 2081, 75), +(23, 2082, 93), +(23, 2083, 89), +(23, 2084, 84), +(23, 2085, 93), +(23, 2086, 89), +(23, 2087, 98), +(23, 2088, 74), +(23, 2089, 74), +(23, 2090, 80), +(23, 2091, 75), +(23, 2092, 75), +(23, 2093, 91), +(23, 2094, 79), +(23, 2095, 91), +(23, 2096, 68), +(23, 2097, 69), +(23, 2098, 65), +(23, 2099, 87), +(23, 2100, 89), +(23, 2101, 87), +(23, 2102, 81), +(23, 2103, 73), +(23, 2104, 94), +(23, 2105, 93), +(23, 2106, 67), +(23, 2107, 85), +(23, 2108, 90), +(23, 2109, 66), +(23, 2110, 73), +(23, 2111, 66), +(23, 2112, 70), +(23, 2113, 99), +(23, 2114, 92), +(23, 2115, 92), +(23, 2116, 92), +(23, 2117, 74), +(23, 2118, 74), +(23, 2119, 73), +(23, 2120, 66), +(23, 2121, 94), +(23, 2122, 82), +(23, 2123, 86), +(23, 2124, 94), +(23, 2125, 73), +(23, 2126, 95), +(23, 2127, 95), +(23, 2128, 91), +(23, 2129, 88), +(23, 2130, 77), +(23, 2131, 93), +(23, 2132, 99), +(23, 2133, 96), +(23, 2134, 68), +(23, 2135, 69), +(23, 2136, 79), +(23, 2137, 86), +(23, 2138, 83), +(23, 2139, 86), +(23, 2140, 81), +(23, 2141, 70), +(23, 2142, 81), +(23, 2143, 68), +(23, 2144, 79), +(23, 2145, 96), +(23, 2146, 79), +(23, 2147, 71), +(23, 2148, 95), +(23, 2149, 94), +(23, 2150, 69), +(23, 2151, 78), +(23, 2152, 69), +(23, 2153, 74), +(23, 2154, 73), +(23, 2155, 76), +(23, 2156, 78), +(23, 2157, 88), +(23, 2158, 85), +(23, 2159, 91), +(23, 2160, 77), +(23, 2161, 85), +(23, 2162, 70), +(23, 2163, 82), +(23, 2164, 66), +(23, 2165, 98), +(23, 2166, 77), +(23, 2167, 80), +(23, 2168, 94), +(23, 2169, 71), +(23, 2170, 98), +(23, 2171, 81), +(23, 2172, 94), +(23, 2173, 98), +(23, 2174, 70), +(23, 2175, 86), +(23, 2176, 98), +(23, 2177, 81), +(23, 2178, 77), +(23, 2179, 69), +(23, 2180, 66), +(23, 2181, 77), +(23, 2182, 86), +(23, 2183, 71), +(23, 2184, 88), +(23, 2185, 89), +(23, 2186, 97), +(23, 2187, 88), +(23, 2188, 81), +(23, 2189, 96), +(23, 2190, 89), +(23, 2191, 70), +(23, 2192, 96), +(23, 2193, 98), +(23, 2194, 79), +(23, 2195, 70), +(23, 2196, 92), +(23, 2197, 83), +(23, 2198, 86), +(23, 2199, 94), +(23, 2200, 74), +(23, 2201, 91), +(23, 2202, 77), +(23, 2203, 80), +(23, 2204, 69), +(23, 2205, 80), +(23, 2206, 82), +(23, 2207, 89), +(23, 2208, 76), +(23, 2209, 82), +(23, 2210, 67), +(23, 2211, 79), +(23, 2212, 86), +(23, 2213, 83), +(23, 2214, 69), +(23, 2215, 97), +(23, 2216, 93), +(23, 2217, 94), +(23, 2218, 99), +(23, 2219, 97), +(23, 2220, 96), +(23, 2221, 77), +(23, 2222, 84), +(23, 2223, 88), +(23, 2224, 83), +(23, 2225, 96), +(23, 2226, 89), +(23, 2227, 65), +(23, 2228, 81), +(23, 2229, 72), +(23, 2230, 79), +(23, 2231, 85), +(23, 2232, 97), +(23, 2233, 85), +(23, 2234, 69), +(23, 2235, 76), +(23, 2236, 84), +(23, 2237, 76), +(23, 2238, 83), +(23, 2239, 92), +(23, 2240, 78), +(23, 2241, 92), +(23, 2242, 91), +(23, 2243, 95), +(23, 2244, 69), +(23, 2245, 78), +(23, 2246, 87), +(23, 2247, 93), +(23, 2248, 84), +(23, 2249, 66), +(23, 2250, 80), +(23, 2251, 80), +(23, 2252, 77), +(23, 2253, 88), +(23, 2254, 90), +(23, 2255, 77), +(23, 2256, 74), +(23, 2257, 73), +(23, 2258, 90), +(23, 2259, 76), +(23, 2260, 95), +(23, 2261, 65), +(23, 2262, 72), +(23, 2263, 69), +(23, 2264, 68), +(23, 2265, 72), +(23, 2266, 81), +(23, 2267, 76), +(23, 2268, 79), +(23, 2269, 68), +(23, 2270, 77), +(23, 2271, 93), +(23, 2272, 81), +(23, 2273, 76), +(23, 2274, 72), +(23, 2275, 79), +(23, 2276, 77), +(23, 2277, 89), +(23, 2278, 87), +(23, 2279, 96), +(23, 2280, 73), +(23, 2281, 85), +(23, 2282, 90), +(23, 2283, 93), +(23, 2284, 75), +(23, 2285, 85), +(23, 2286, 74), +(23, 2287, 94), +(23, 2288, 82), +(23, 2289, 80), +(23, 2290, 92), +(23, 2291, 97), +(23, 2292, 69), +(23, 2293, 70), +(23, 2294, 80), +(23, 2295, 69), +(23, 2296, 92), +(23, 2297, 81), +(23, 2298, 96), +(23, 2299, 93), +(23, 2300, 87), +(23, 2301, 82), +(23, 2302, 82), +(23, 2303, 84), +(23, 2304, 77), +(23, 2305, 84), +(23, 2306, 76), +(23, 2307, 85), +(23, 2308, 71), +(23, 2309, 69), +(23, 2310, 70), +(23, 2311, 81), +(23, 2312, 77), +(23, 2313, 67), +(23, 2314, 94), +(23, 2315, 98), +(23, 2316, 76), +(23, 2317, 70), +(23, 2318, 83), +(23, 2319, 81), +(23, 2320, 91), +(23, 2321, 88), +(23, 2322, 72), +(23, 2323, 80), +(23, 2324, 88), +(23, 2325, 92), +(23, 2326, 93), +(23, 2327, 70), +(23, 2328, 80), +(23, 2329, 76), +(23, 2330, 92), +(23, 2331, 98), +(23, 2332, 80), +(23, 2333, 78), +(23, 2334, 98), +(23, 2335, 78), +(23, 2336, 69), +(23, 2337, 89), +(23, 2338, 82), +(23, 2339, 91), +(23, 2340, 70), +(23, 2341, 79), +(23, 2342, 86), +(23, 2343, 69), +(23, 2344, 86), +(23, 2345, 75), +(23, 2346, 71), +(23, 2347, 88), +(23, 2348, 82), +(23, 2349, 80), +(23, 2350, 73), +(23, 2351, 70), +(23, 2352, 76), +(23, 2353, 68), +(23, 2354, 88), +(23, 2355, 87), +(23, 2356, 99), +(23, 2357, 66), +(23, 2358, 77), +(23, 2359, 84), +(23, 2360, 95), +(23, 2361, 97), +(23, 2362, 78), +(23, 2363, 81), +(23, 2364, 73), +(23, 2365, 86), +(23, 2366, 94), +(23, 2367, 86), +(23, 2368, 93), +(23, 2369, 66), +(23, 2370, 96), +(23, 2371, 88), +(23, 2372, 83), +(23, 2373, 71), +(23, 2374, 99), +(23, 2375, 87), +(23, 2376, 90), +(23, 2377, 94), +(23, 2378, 65), +(23, 2379, 80), +(23, 2380, 69), +(23, 2381, 96), +(23, 2382, 77), +(23, 2383, 65), +(23, 2384, 85), +(23, 2385, 88), +(23, 2386, 82), +(23, 2387, 92), +(23, 2388, 78), +(23, 2389, 82), +(23, 2390, 70), +(23, 2391, 95), +(23, 2392, 88), +(23, 2393, 89), +(23, 2394, 94), +(23, 2395, 88), +(23, 2396, 84), +(23, 2397, 80), +(23, 2398, 75), +(23, 2399, 96), +(23, 2400, 75), +(23, 2401, 69), +(23, 2402, 88), +(23, 2403, 66), +(23, 2404, 85), +(23, 2405, 73), +(23, 2406, 73), +(23, 2407, 71), +(23, 2408, 88), +(23, 2409, 65), +(23, 2410, 78), +(23, 2411, 80), +(23, 2412, 91), +(23, 2413, 77), +(23, 2414, 86), +(23, 2415, 91), +(23, 2416, 78), +(23, 2417, 92), +(23, 2418, 94), +(23, 2419, 96), +(23, 2420, 96), +(23, 2421, 81), +(23, 2422, 66), +(23, 2423, 72), +(23, 2424, 71), +(23, 2425, 87), +(23, 2426, 80), +(23, 2427, 72), +(23, 2428, 86), +(23, 2429, 98), +(23, 2430, 87), +(23, 2431, 95), +(23, 2432, 76), +(23, 2433, 83), +(23, 2434, 87), +(23, 2435, 97), +(23, 2436, 98), +(23, 2437, 73), +(23, 2438, 74), +(23, 2439, 90), +(23, 2440, 93), +(23, 2441, 98), +(23, 2442, 72), +(23, 2443, 82), +(23, 2444, 86), +(23, 2445, 73), +(23, 2446, 80), +(23, 2447, 95), +(23, 2448, 80), +(23, 2449, 94), +(23, 2450, 72), +(23, 2451, 95), +(23, 2452, 78), +(23, 2453, 78), +(23, 2454, 93), +(23, 2455, 71), +(23, 2456, 69), +(23, 2457, 92), +(23, 2458, 66), +(23, 2459, 85), +(23, 2460, 68), +(23, 2461, 79), +(23, 2462, 76), +(23, 2463, 97), +(23, 2464, 98), +(23, 2465, 95), +(23, 2466, 73), +(23, 2467, 98), +(23, 2468, 73), +(23, 2469, 91), +(23, 2470, 99), +(23, 2471, 73), +(23, 2472, 98), +(23, 2473, 87), +(23, 2474, 65), +(23, 2475, 95), +(23, 2476, 95), +(23, 2477, 81), +(23, 2478, 99), +(23, 2479, 96), +(23, 2480, 73), +(23, 2481, 68), +(23, 2482, 88), +(23, 2483, 69), +(23, 2484, 74), +(23, 2485, 78), +(23, 2486, 86), +(23, 2487, 93), +(23, 2488, 97), +(23, 2489, 96), +(23, 2490, 79), +(23, 2491, 89), +(23, 2492, 88), +(23, 2493, 70), +(23, 2494, 90), +(23, 2495, 76), +(23, 2496, 81), +(23, 2497, 74), +(23, 2498, 66), +(23, 2499, 77), +(23, 2500, 90), +(23, 2501, 69), +(23, 2502, 87), +(23, 2503, 84), +(23, 2504, 92), +(23, 2505, 88), +(23, 2506, 69), +(23, 2507, 92), +(23, 2508, 94), +(23, 2509, 97), +(23, 2510, 90), +(23, 2511, 74), +(23, 2512, 83), +(23, 2513, 91), +(23, 2514, 83), +(23, 2515, 79), +(23, 2516, 92), +(23, 2517, 86), +(23, 2518, 97), +(23, 2519, 74), +(23, 2520, 89), +(23, 2521, 66), +(23, 2522, 68), +(23, 2523, 80), +(23, 2524, 73), +(23, 2525, 69), +(23, 2526, 97), +(23, 2527, 77), +(23, 2528, 71), +(23, 2529, 89), +(23, 2530, 72), +(23, 2531, 86), +(23, 2532, 87), +(23, 2533, 88), +(23, 2534, 93), +(23, 2535, 84), +(23, 2536, 67), +(23, 2537, 81), +(23, 2538, 68), +(23, 2539, 95), +(23, 2540, 80), +(23, 2541, 94), +(23, 2542, 97), +(23, 2543, 69), +(23, 2544, 79), +(23, 2545, 67), +(23, 2546, 99), +(23, 2547, 83), +(23, 2548, 75), +(23, 2549, 85), +(23, 2550, 68), +(23, 2551, 87), +(23, 2552, 77), +(23, 2553, 68), +(23, 2554, 78), +(23, 2555, 80), +(23, 2556, 94), +(23, 2557, 77), +(23, 2558, 91), +(23, 2559, 68), +(23, 2560, 99), +(23, 2561, 78), +(23, 2562, 98), +(23, 2563, 91), +(23, 2564, 72), +(23, 2565, 71), +(23, 2566, 88), +(23, 2567, 87), +(23, 2568, 78), +(23, 2569, 72), +(23, 2570, 79), +(23, 2571, 82), +(23, 2572, 98), +(23, 2573, 94), +(23, 2574, 97), +(23, 2575, 96), +(23, 2576, 81), +(23, 2577, 85), +(23, 2578, 96), +(23, 2579, 97), +(23, 2580, 95), +(23, 2581, 89), +(23, 2582, 92), +(23, 2583, 68), +(23, 2584, 91), +(23, 2585, 92), +(23, 2586, 76), +(23, 2587, 83), +(23, 2588, 92), +(23, 2589, 97), +(23, 2590, 87), +(23, 2591, 65), +(23, 2592, 76), +(23, 2593, 74), +(23, 2594, 92), +(23, 2595, 70), +(23, 2596, 66), +(23, 2597, 91), +(23, 2598, 92), +(23, 2599, 82), +(23, 2600, 92), +(23, 2601, 87), +(23, 2602, 94), +(23, 2603, 80), +(23, 2604, 79), +(23, 2605, 67), +(23, 2606, 69), +(23, 2607, 80), +(23, 2608, 98), +(23, 2609, 73), +(23, 2610, 79), +(24, 1, 71), +(24, 2, 72), +(24, 3, 92), +(24, 4, 93), +(24, 5, 78), +(24, 6, 93), +(24, 7, 75), +(24, 8, 88), +(24, 9, 89), +(24, 10, 88), +(24, 11, 84), +(24, 12, 71), +(24, 13, 89), +(24, 14, 87), +(24, 15, 86), +(24, 16, 65), +(24, 17, 74), +(24, 18, 81), +(24, 19, 95), +(24, 20, 95), +(24, 21, 92), +(24, 22, 65), +(24, 23, 99), +(24, 24, 82), +(24, 25, 74), +(24, 26, 65), +(24, 27, 88), +(24, 28, 76), +(24, 29, 92), +(24, 30, 80), +(24, 31, 86), +(24, 32, 80), +(24, 33, 97), +(24, 34, 79), +(24, 35, 91), +(24, 36, 80), +(24, 37, 92), +(24, 38, 98), +(24, 39, 96), +(24, 40, 87), +(24, 41, 78), +(24, 42, 96), +(24, 43, 93), +(24, 44, 99), +(24, 45, 87), +(24, 46, 85), +(24, 47, 90), +(24, 48, 67), +(24, 49, 73), +(24, 50, 70), +(24, 51, 90), +(24, 52, 95), +(24, 53, 67), +(24, 54, 66), +(24, 55, 81), +(24, 56, 80), +(24, 57, 77), +(24, 58, 70), +(24, 59, 81), +(24, 60, 66), +(24, 61, 92), +(24, 62, 73), +(24, 63, 73), +(24, 64, 90), +(24, 65, 89), +(24, 66, 87), +(24, 67, 79), +(24, 68, 97), +(24, 69, 95), +(24, 70, 75), +(24, 71, 97), +(24, 72, 97), +(24, 73, 82), +(24, 74, 70), +(24, 75, 76), +(24, 76, 84), +(24, 77, 65), +(24, 78, 82), +(24, 79, 82), +(24, 80, 90), +(24, 81, 78), +(24, 82, 68), +(24, 83, 89), +(24, 84, 69), +(24, 85, 85), +(24, 86, 94), +(24, 87, 97), +(24, 88, 94), +(24, 89, 84), +(24, 90, 79), +(24, 91, 90), +(24, 92, 99), +(24, 93, 77), +(24, 94, 93), +(24, 95, 95), +(24, 96, 65), +(24, 97, 71), +(24, 98, 85), +(24, 99, 91), +(24, 100, 99), +(24, 101, 77), +(24, 102, 91), +(24, 103, 85), +(24, 104, 65), +(24, 105, 96), +(24, 106, 93), +(24, 107, 74), +(24, 108, 75), +(24, 109, 76), +(24, 110, 69), +(24, 111, 88), +(24, 112, 87), +(24, 113, 82), +(24, 114, 66), +(24, 115, 93), +(24, 116, 77), +(24, 117, 96), +(24, 118, 69), +(24, 119, 98), +(24, 120, 99), +(24, 121, 97), +(24, 122, 86), +(24, 123, 70), +(24, 124, 71), +(24, 125, 90), +(24, 126, 95), +(24, 127, 93), +(24, 128, 71), +(24, 129, 85), +(24, 130, 86), +(24, 131, 94), +(24, 132, 65), +(24, 133, 92), +(24, 134, 78), +(24, 135, 70), +(24, 136, 66), +(24, 137, 86), +(24, 138, 76), +(24, 139, 96), +(24, 140, 67), +(24, 141, 89), +(24, 142, 71), +(24, 143, 94), +(24, 144, 75), +(24, 145, 99), +(24, 146, 95), +(24, 147, 84), +(24, 148, 92), +(24, 149, 73), +(24, 150, 73), +(24, 151, 77), +(24, 152, 82), +(24, 153, 68), +(24, 154, 96), +(24, 155, 93), +(24, 156, 83), +(24, 157, 67), +(24, 158, 81), +(24, 159, 99), +(24, 160, 77), +(24, 161, 67), +(24, 162, 83), +(24, 163, 79), +(24, 164, 96), +(24, 165, 96), +(24, 166, 68), +(24, 167, 68), +(24, 168, 90), +(24, 169, 86), +(24, 170, 91), +(24, 171, 65), +(24, 172, 67), +(24, 173, 93), +(24, 174, 84), +(24, 175, 87), +(24, 176, 70), +(24, 177, 81), +(24, 178, 68), +(24, 179, 99), +(24, 180, 96), +(24, 181, 75), +(24, 182, 80), +(24, 183, 96), +(24, 184, 86), +(24, 185, 94), +(24, 186, 88), +(24, 187, 92), +(24, 188, 69), +(24, 189, 79), +(24, 190, 99), +(24, 191, 93), +(24, 192, 95), +(24, 193, 92), +(24, 194, 74), +(24, 195, 72), +(24, 196, 70), +(24, 197, 98), +(24, 198, 89), +(24, 199, 70), +(24, 200, 66), +(24, 201, 98), +(24, 202, 99), +(24, 203, 67), +(24, 204, 70), +(24, 205, 67), +(24, 206, 84), +(24, 207, 72), +(24, 208, 85), +(24, 209, 76), +(24, 210, 82), +(24, 211, 99), +(24, 212, 72), +(24, 213, 66), +(24, 214, 74), +(24, 215, 91), +(24, 216, 91), +(24, 217, 94), +(24, 218, 69), +(24, 219, 94), +(24, 220, 95), +(24, 221, 79), +(24, 222, 72), +(24, 223, 99), +(24, 224, 77), +(24, 225, 72), +(24, 226, 86), +(24, 227, 86), +(24, 228, 82), +(24, 229, 88), +(24, 230, 96), +(24, 231, 68), +(24, 232, 73), +(24, 233, 70), +(24, 234, 80), +(24, 235, 82), +(24, 236, 81), +(24, 237, 87), +(24, 238, 87), +(24, 239, 65), +(24, 240, 68), +(24, 241, 75), +(24, 242, 79), +(24, 243, 86), +(24, 244, 75), +(24, 245, 93), +(24, 246, 90), +(24, 247, 98), +(24, 248, 86), +(24, 249, 94), +(24, 250, 76), +(24, 251, 82), +(24, 252, 73), +(24, 253, 79), +(24, 254, 90), +(24, 255, 71), +(24, 256, 98), +(24, 257, 82), +(24, 258, 91), +(24, 259, 74), +(24, 260, 70), +(24, 261, 94), +(24, 262, 95), +(24, 263, 97), +(24, 264, 81), +(24, 265, 75), +(24, 266, 99), +(24, 267, 68), +(24, 268, 66), +(24, 269, 78), +(24, 270, 86), +(24, 271, 90), +(24, 272, 71), +(24, 273, 80), +(24, 274, 85), +(24, 275, 68), +(24, 276, 78), +(24, 277, 95), +(24, 278, 72), +(24, 279, 85), +(24, 280, 73), +(24, 281, 86), +(24, 282, 92), +(24, 283, 84), +(24, 284, 93), +(24, 285, 88), +(24, 286, 73), +(24, 287, 65), +(24, 288, 73), +(24, 289, 94), +(24, 290, 69), +(24, 291, 76), +(24, 292, 77), +(24, 293, 77), +(24, 294, 90), +(24, 295, 72), +(24, 296, 88), +(24, 297, 81), +(24, 298, 72), +(24, 299, 83), +(24, 300, 75), +(24, 301, 79), +(24, 302, 67), +(24, 303, 80), +(24, 304, 85), +(24, 305, 74), +(24, 306, 94), +(24, 307, 70), +(24, 308, 85), +(24, 309, 92), +(24, 310, 82), +(24, 311, 92), +(24, 312, 66), +(24, 313, 99), +(24, 314, 74), +(24, 315, 79), +(24, 316, 71), +(24, 317, 84), +(24, 318, 82), +(24, 319, 96), +(24, 320, 86), +(24, 321, 80), +(24, 322, 80), +(24, 323, 91), +(24, 324, 95), +(24, 325, 96), +(24, 326, 73), +(24, 327, 94), +(24, 328, 78), +(24, 329, 85), +(24, 330, 82), +(24, 331, 78), +(24, 332, 96), +(24, 333, 89), +(24, 334, 70), +(24, 335, 80), +(24, 336, 74), +(24, 337, 87), +(24, 338, 77), +(24, 339, 69), +(24, 340, 69), +(24, 341, 65), +(24, 342, 95), +(24, 343, 99), +(24, 344, 73), +(24, 345, 89), +(24, 346, 84), +(24, 347, 95), +(24, 348, 86), +(24, 349, 82), +(24, 350, 65), +(24, 351, 72), +(24, 352, 68), +(24, 353, 85), +(24, 354, 79), +(24, 355, 88), +(24, 356, 94), +(24, 357, 82), +(24, 358, 74), +(24, 359, 77), +(24, 360, 80), +(24, 361, 69), +(24, 362, 92), +(24, 363, 71), +(24, 364, 85), +(24, 365, 90), +(24, 366, 86), +(24, 367, 95), +(24, 368, 67), +(24, 369, 72), +(24, 370, 82), +(24, 371, 81), +(24, 372, 99), +(24, 373, 70), +(24, 374, 86), +(24, 375, 98), +(24, 376, 80), +(24, 377, 84), +(24, 378, 69), +(24, 379, 92), +(24, 380, 74), +(24, 381, 73), +(24, 382, 92), +(24, 383, 68), +(24, 384, 78), +(24, 385, 90), +(24, 386, 85), +(24, 387, 80), +(24, 388, 96), +(24, 389, 99), +(24, 390, 76), +(24, 391, 86), +(24, 392, 71), +(24, 393, 74), +(24, 394, 82), +(24, 395, 69), +(24, 396, 96), +(24, 397, 66), +(24, 398, 89), +(24, 399, 70), +(24, 400, 68), +(24, 401, 94), +(24, 402, 82), +(24, 403, 68), +(24, 404, 89), +(24, 405, 69), +(24, 406, 82), +(24, 407, 84), +(24, 408, 72), +(24, 409, 66), +(24, 410, 82), +(24, 411, 75), +(24, 412, 87), +(24, 413, 84), +(24, 414, 75), +(24, 415, 81), +(24, 416, 84), +(24, 417, 95), +(24, 418, 71), +(24, 419, 67), +(24, 420, 77), +(24, 421, 89), +(24, 422, 85), +(24, 423, 88), +(24, 424, 90), +(24, 425, 65), +(24, 426, 69), +(24, 427, 85), +(24, 428, 79), +(24, 429, 73), +(24, 430, 77), +(24, 431, 77), +(24, 432, 82), +(24, 433, 99), +(24, 434, 90), +(24, 435, 87), +(24, 436, 87), +(24, 437, 93), +(24, 438, 86), +(24, 439, 69), +(24, 440, 99), +(24, 441, 95), +(24, 442, 73), +(24, 443, 98), +(24, 444, 95), +(24, 445, 93), +(24, 446, 93), +(24, 447, 74), +(24, 448, 71), +(24, 449, 82), +(24, 450, 87), +(24, 451, 97), +(24, 452, 86), +(24, 453, 81), +(24, 454, 98), +(24, 455, 74), +(24, 456, 72), +(24, 457, 85), +(24, 458, 68), +(24, 459, 97), +(24, 460, 80), +(24, 461, 98), +(24, 462, 92), +(24, 463, 96), +(24, 464, 75), +(24, 465, 92), +(24, 466, 91), +(24, 467, 77), +(24, 468, 80), +(24, 469, 81), +(24, 470, 71), +(24, 471, 74), +(24, 472, 97), +(24, 473, 71), +(24, 474, 86), +(24, 475, 83), +(24, 476, 86), +(24, 477, 89), +(24, 478, 82), +(24, 479, 66), +(24, 480, 74), +(24, 481, 88), +(24, 482, 88), +(24, 483, 65), +(24, 484, 76), +(24, 485, 83), +(24, 486, 89), +(24, 487, 96), +(24, 488, 83), +(24, 489, 76), +(24, 490, 78), +(24, 491, 71), +(24, 492, 78), +(24, 493, 92), +(24, 494, 81), +(24, 495, 65), +(24, 496, 80), +(24, 497, 95), +(24, 498, 77), +(24, 499, 99), +(24, 500, 80), +(24, 501, 73), +(24, 502, 66), +(24, 503, 65), +(24, 504, 90), +(24, 505, 77), +(24, 506, 95), +(24, 507, 73), +(24, 508, 94), +(24, 509, 78), +(24, 510, 98), +(24, 511, 93), +(24, 512, 94), +(24, 513, 74), +(24, 514, 95), +(24, 515, 89), +(24, 516, 78), +(24, 517, 99), +(24, 518, 74), +(24, 519, 68), +(24, 520, 91), +(24, 521, 89), +(24, 522, 96), +(24, 523, 71), +(24, 524, 72), +(24, 525, 68), +(24, 526, 72), +(24, 527, 88), +(24, 528, 68), +(24, 529, 93), +(24, 530, 92), +(24, 531, 91), +(24, 532, 87), +(24, 533, 79), +(24, 534, 88), +(24, 535, 87), +(24, 536, 92), +(24, 537, 80), +(24, 538, 96), +(24, 539, 93), +(24, 540, 93), +(24, 541, 76), +(24, 542, 67), +(24, 543, 77), +(24, 544, 65), +(24, 545, 90), +(24, 546, 82), +(24, 547, 65), +(24, 548, 70), +(24, 549, 72), +(24, 550, 94), +(24, 551, 98), +(24, 552, 73), +(24, 553, 89), +(24, 554, 69), +(24, 555, 78), +(24, 556, 91), +(24, 557, 77), +(24, 558, 71), +(24, 559, 91), +(24, 560, 85), +(24, 561, 91), +(24, 562, 99), +(24, 563, 99), +(24, 564, 66), +(24, 1024, 67), +(24, 1025, 82), +(24, 1026, 85), +(24, 1027, 85), +(24, 1028, 65), +(24, 1029, 70), +(24, 1030, 98), +(24, 1031, 89), +(24, 1032, 89), +(24, 1033, 66), +(24, 1034, 76), +(24, 1035, 74), +(24, 1036, 75), +(24, 1037, 96), +(24, 1038, 74), +(24, 1039, 76), +(24, 1040, 89), +(24, 1041, 80), +(24, 1042, 69), +(24, 1043, 83), +(24, 1044, 66), +(24, 1045, 80), +(24, 1046, 90), +(24, 1047, 94), +(24, 1048, 83), +(24, 1049, 99), +(24, 1050, 72), +(24, 1051, 88), +(24, 1052, 84), +(24, 1053, 83), +(24, 1054, 87), +(24, 1055, 80), +(24, 1056, 80), +(24, 1057, 74), +(24, 1058, 84), +(24, 1059, 97), +(24, 1060, 96), +(24, 1061, 92), +(24, 1062, 88), +(24, 1063, 86), +(24, 1064, 92), +(24, 1065, 86), +(24, 1066, 79), +(24, 1067, 66), +(24, 1068, 99), +(24, 1069, 97), +(24, 1070, 80), +(24, 1071, 84), +(24, 1072, 86), +(24, 1073, 94), +(24, 1074, 92), +(24, 1075, 65), +(24, 1076, 89), +(24, 1077, 82), +(24, 1078, 93), +(24, 1079, 82), +(24, 1080, 69), +(24, 1081, 77), +(24, 1082, 93), +(24, 1083, 95), +(24, 1084, 84), +(24, 1085, 78), +(24, 1086, 71), +(24, 1087, 66), +(24, 1088, 79), +(24, 1089, 67), +(24, 1090, 90), +(24, 1091, 67), +(24, 1092, 88), +(24, 1093, 66), +(24, 1094, 87), +(24, 1095, 89), +(24, 1096, 88), +(24, 1097, 81), +(24, 1098, 71), +(24, 1099, 65), +(24, 1100, 85), +(24, 1101, 97), +(24, 1102, 75), +(24, 1103, 69), +(24, 1104, 91), +(24, 1105, 70), +(24, 1106, 77), +(24, 1107, 86), +(24, 1108, 79), +(24, 1109, 69), +(24, 1110, 96), +(24, 1111, 97), +(24, 1112, 92), +(24, 1113, 70), +(24, 1114, 73), +(24, 1115, 66), +(24, 1116, 91), +(24, 1117, 65), +(24, 1118, 91), +(24, 1119, 85), +(24, 1120, 71), +(24, 1121, 72), +(24, 1122, 92), +(24, 1123, 70), +(24, 1124, 85), +(24, 1125, 93), +(24, 1126, 99), +(24, 1127, 91), +(24, 1128, 84), +(24, 1129, 67), +(24, 1130, 97), +(24, 1131, 97), +(24, 1132, 79), +(24, 1133, 74), +(24, 1134, 97), +(24, 1135, 66), +(24, 1136, 71), +(24, 1137, 73), +(24, 1138, 71), +(24, 1139, 66), +(24, 1140, 95), +(24, 1141, 69), +(24, 1142, 90), +(24, 1143, 85), +(24, 1144, 87), +(24, 1145, 76), +(24, 1146, 95), +(24, 1147, 89), +(24, 1148, 73), +(24, 1149, 89), +(24, 1150, 75), +(24, 1151, 78), +(24, 1152, 79), +(24, 1153, 87), +(24, 1154, 93), +(24, 1155, 92), +(24, 1156, 85), +(24, 1157, 75), +(24, 1158, 94), +(24, 1159, 69), +(24, 1160, 79), +(24, 1161, 83), +(24, 1162, 99), +(24, 1163, 92), +(24, 1164, 89), +(24, 1165, 79), +(24, 1166, 88), +(24, 1167, 86), +(24, 1168, 93), +(24, 1169, 87), +(24, 1170, 88), +(24, 1171, 92), +(24, 1172, 94), +(24, 1173, 98), +(24, 1174, 66), +(24, 1175, 72), +(24, 1176, 96), +(24, 1177, 72), +(24, 1178, 71), +(24, 1179, 81), +(24, 1180, 90), +(24, 1181, 68), +(24, 1182, 78), +(24, 1183, 83), +(24, 1184, 75), +(24, 1185, 78), +(24, 1186, 79), +(24, 1187, 76), +(24, 1188, 96), +(24, 1189, 69), +(24, 1190, 86), +(24, 1191, 91), +(24, 1192, 80), +(24, 1193, 80), +(24, 1194, 70), +(24, 1195, 99), +(24, 1196, 84), +(24, 1197, 82), +(24, 1198, 76), +(24, 1199, 80), +(24, 1200, 81), +(24, 1201, 99), +(24, 1202, 75), +(24, 1203, 74), +(24, 1204, 86), +(24, 1205, 81), +(24, 1206, 69), +(24, 1207, 74), +(24, 1208, 81), +(24, 1209, 67), +(24, 1210, 79), +(24, 1211, 90), +(24, 1212, 69), +(24, 1213, 70), +(24, 1214, 65), +(24, 1215, 79), +(24, 1216, 81), +(24, 1217, 81), +(24, 1218, 85), +(24, 1219, 96), +(24, 1220, 93), +(24, 1221, 97), +(24, 1222, 99), +(24, 1223, 81), +(24, 1224, 76), +(24, 1225, 81), +(24, 1226, 82), +(24, 1227, 91), +(24, 1228, 74), +(24, 1229, 83), +(24, 1230, 75), +(24, 1231, 87), +(24, 1232, 69), +(24, 1233, 91), +(24, 1234, 96), +(24, 1235, 99), +(24, 1236, 89), +(24, 1237, 80), +(24, 1238, 67), +(24, 1239, 97), +(24, 1240, 84), +(24, 1241, 85), +(24, 1242, 79), +(24, 1243, 65), +(24, 1244, 80), +(24, 1245, 92), +(24, 1246, 67), +(24, 1247, 97), +(24, 1248, 76), +(24, 1249, 71), +(24, 1250, 69), +(24, 1251, 82), +(24, 1252, 78), +(24, 1253, 82), +(24, 1254, 73), +(24, 1255, 91), +(24, 1256, 82), +(24, 1257, 89), +(24, 1258, 90), +(24, 1259, 83), +(24, 1260, 81), +(24, 1261, 72), +(24, 1262, 67), +(24, 1263, 99), +(24, 1264, 98), +(24, 1265, 93), +(24, 1266, 92), +(24, 1267, 94), +(24, 1268, 96), +(24, 1269, 68), +(24, 1270, 80), +(24, 1271, 70), +(24, 1272, 69), +(24, 1273, 81), +(24, 1274, 97), +(24, 1275, 87), +(24, 1276, 96), +(24, 1277, 86), +(24, 1278, 79), +(24, 1279, 75), +(24, 1280, 70), +(24, 1281, 88), +(24, 1282, 76), +(24, 1283, 68), +(24, 1284, 75), +(24, 1285, 96), +(24, 1286, 96), +(24, 1287, 85), +(24, 1288, 75), +(24, 1289, 85), +(24, 1290, 74), +(24, 1291, 70), +(24, 1292, 99), +(24, 1293, 99), +(24, 1294, 89), +(24, 1295, 65), +(24, 1296, 99), +(24, 1297, 86), +(24, 1298, 77), +(24, 1299, 97), +(24, 1300, 98), +(24, 1301, 79), +(24, 1302, 66), +(24, 1303, 76), +(24, 1304, 78), +(24, 1305, 95), +(24, 1306, 71), +(24, 1307, 68), +(24, 1308, 78), +(24, 1309, 78), +(24, 1310, 78), +(24, 1311, 76), +(24, 1312, 97), +(24, 1313, 84), +(24, 1314, 65), +(24, 1315, 92), +(24, 1316, 68), +(24, 1317, 90), +(24, 1318, 93), +(24, 1319, 70), +(24, 1320, 82), +(24, 1321, 84), +(24, 1322, 95), +(24, 1323, 94), +(24, 1324, 77), +(24, 1325, 76), +(24, 1326, 96), +(24, 1327, 71), +(24, 1328, 85), +(24, 1329, 89), +(24, 1330, 88), +(24, 1331, 99), +(24, 1332, 74), +(24, 1333, 89), +(24, 1334, 79), +(24, 1335, 96), +(24, 1336, 94), +(24, 1337, 88), +(24, 1338, 85), +(24, 1339, 67), +(24, 1340, 75), +(24, 1341, 72), +(24, 1342, 68), +(24, 1343, 91), +(24, 1344, 85), +(24, 1345, 78), +(24, 1346, 74), +(24, 1347, 66), +(24, 1348, 83), +(24, 1349, 81), +(24, 1350, 71), +(24, 1351, 78), +(24, 1352, 90), +(24, 1353, 99), +(24, 1354, 82), +(24, 1355, 97), +(24, 1356, 86), +(24, 1357, 73), +(24, 1358, 90), +(24, 1359, 85), +(24, 1360, 65), +(24, 1361, 70), +(24, 1362, 87), +(24, 1363, 94), +(24, 1364, 66), +(24, 1365, 81), +(24, 1366, 77), +(24, 1367, 91), +(24, 1368, 74), +(24, 1369, 79), +(24, 1370, 89), +(24, 1371, 65), +(24, 1372, 72), +(24, 1373, 96), +(24, 1374, 97), +(24, 1375, 90), +(24, 1376, 78), +(24, 1377, 94), +(24, 1378, 95), +(24, 1379, 89), +(24, 1380, 74), +(24, 1381, 80), +(24, 1382, 97), +(24, 1383, 89), +(24, 1384, 91), +(24, 1385, 75), +(24, 1386, 65), +(24, 1387, 84), +(24, 1388, 78), +(24, 1389, 68), +(24, 1390, 91), +(24, 1391, 70), +(24, 1392, 84), +(24, 1393, 96), +(24, 1394, 76), +(24, 1395, 75), +(24, 1396, 78), +(24, 1397, 93), +(24, 1398, 81), +(24, 1399, 67), +(24, 1400, 69), +(24, 1401, 89), +(24, 1402, 78), +(24, 1403, 94), +(24, 1404, 71), +(24, 1405, 83), +(24, 1406, 68), +(24, 1407, 88), +(24, 1408, 66), +(24, 1409, 70), +(24, 1410, 69), +(24, 1411, 94), +(24, 1412, 77), +(24, 1413, 98), +(24, 1414, 93), +(24, 1415, 88), +(24, 1416, 83), +(24, 1417, 80), +(24, 1418, 67), +(24, 1419, 87), +(24, 1420, 99), +(24, 1421, 76), +(24, 1422, 97), +(24, 1423, 72), +(24, 1424, 94), +(24, 1425, 96), +(24, 1426, 68), +(24, 1427, 96), +(24, 1428, 99), +(24, 1429, 76), +(24, 1430, 89), +(24, 1431, 74), +(24, 1432, 79), +(24, 1433, 96), +(24, 1434, 74), +(24, 1435, 84), +(24, 1436, 94), +(24, 1437, 76), +(24, 1438, 94), +(24, 1439, 67), +(24, 1440, 87), +(24, 1441, 95), +(24, 1442, 82), +(24, 1443, 90), +(24, 1444, 82), +(24, 1445, 66), +(24, 1446, 67), +(24, 1447, 83), +(24, 1448, 65), +(24, 1449, 80), +(24, 1450, 66), +(24, 1451, 70), +(24, 1452, 77), +(24, 1453, 82), +(24, 1454, 93), +(24, 1455, 73), +(24, 1456, 72), +(24, 1457, 72), +(24, 1458, 86), +(24, 1459, 69), +(24, 1460, 99), +(24, 1461, 76), +(24, 1462, 66), +(24, 1463, 78), +(24, 1464, 92), +(24, 1465, 66), +(24, 1466, 66), +(24, 1467, 78), +(24, 1468, 70), +(24, 1469, 69), +(24, 1470, 81), +(24, 1471, 82), +(24, 1472, 69), +(24, 1473, 71), +(24, 1474, 66), +(24, 1475, 79), +(24, 1476, 89), +(24, 1477, 91), +(24, 1478, 74), +(24, 1479, 84), +(24, 1480, 67), +(24, 1481, 72), +(24, 1482, 83), +(24, 1483, 69), +(24, 1484, 85), +(24, 1485, 96), +(24, 1486, 96), +(24, 1487, 86), +(24, 1488, 66), +(24, 1489, 98), +(24, 1490, 70), +(24, 1491, 92), +(24, 1492, 88), +(24, 1493, 82), +(24, 1494, 90), +(24, 1495, 88), +(24, 1496, 95), +(24, 1497, 67), +(24, 1498, 99), +(24, 1499, 71), +(24, 1500, 75), +(24, 1501, 69), +(24, 1502, 72), +(24, 1503, 65), +(24, 1504, 95), +(24, 1505, 77), +(24, 1506, 80), +(24, 1507, 97), +(24, 1508, 94), +(24, 1509, 84), +(24, 1510, 66), +(24, 1511, 94), +(24, 1512, 89), +(24, 1513, 92), +(24, 1514, 99), +(24, 1515, 84), +(24, 1516, 92), +(24, 1517, 74), +(24, 1518, 83), +(24, 1519, 70), +(24, 1520, 67), +(24, 1521, 92), +(24, 1522, 79), +(24, 1523, 65), +(24, 1524, 73), +(24, 1525, 86), +(24, 1526, 74), +(24, 1527, 85), +(24, 1528, 89), +(24, 1529, 95), +(24, 1530, 73), +(24, 1531, 74), +(24, 1532, 68), +(24, 1533, 85), +(24, 1534, 83), +(24, 1535, 90), +(24, 1536, 78), +(24, 1537, 66), +(24, 1538, 82), +(24, 1539, 77), +(24, 1540, 74), +(24, 1541, 69), +(24, 1542, 85), +(24, 1543, 79), +(24, 1544, 98), +(24, 1545, 99), +(24, 1546, 99), +(24, 1547, 96), +(24, 1548, 83), +(24, 1549, 80), +(24, 1550, 82), +(24, 1551, 79), +(24, 1552, 98), +(24, 1553, 77), +(24, 1554, 97), +(24, 1555, 65), +(24, 1556, 71), +(24, 1557, 98), +(24, 1558, 72), +(24, 1559, 96), +(24, 1560, 91), +(24, 1561, 87), +(24, 1562, 73), +(24, 1563, 93), +(24, 1564, 87), +(24, 1565, 84), +(24, 1566, 68), +(24, 1567, 99), +(24, 1568, 84), +(24, 1569, 82), +(24, 1570, 95), +(24, 1571, 66), +(24, 1572, 70), +(24, 1573, 87), +(24, 1574, 70), +(24, 1575, 79), +(24, 1576, 93), +(24, 1577, 94), +(24, 1578, 90), +(24, 1579, 72), +(24, 1580, 70), +(24, 1581, 86), +(24, 1582, 90), +(24, 1583, 85), +(24, 1584, 67), +(24, 1585, 75), +(24, 1586, 66), +(24, 1587, 98), +(24, 2047, 82), +(24, 2048, 95), +(24, 2049, 95), +(24, 2050, 67), +(24, 2051, 90), +(24, 2052, 75), +(24, 2053, 71), +(24, 2054, 74), +(24, 2055, 77), +(24, 2056, 74), +(24, 2057, 77), +(24, 2058, 85), +(24, 2059, 84), +(24, 2060, 90), +(24, 2061, 75), +(24, 2062, 94), +(24, 2063, 89), +(24, 2064, 90), +(24, 2065, 89), +(24, 2066, 87), +(24, 2067, 80), +(24, 2068, 77), +(24, 2069, 65), +(24, 2070, 82), +(24, 2071, 83), +(24, 2072, 68), +(24, 2073, 71), +(24, 2074, 71), +(24, 2075, 69), +(24, 2076, 80), +(24, 2077, 92), +(24, 2078, 72), +(24, 2079, 77), +(24, 2080, 91), +(24, 2081, 84), +(24, 2082, 89), +(24, 2083, 92), +(24, 2084, 99), +(24, 2085, 81), +(24, 2086, 99), +(24, 2087, 83), +(24, 2088, 90), +(24, 2089, 68), +(24, 2090, 81), +(24, 2091, 84), +(24, 2092, 80), +(24, 2093, 83), +(24, 2094, 73), +(24, 2095, 65), +(24, 2096, 73), +(24, 2097, 97), +(24, 2098, 76), +(24, 2099, 89), +(24, 2100, 71), +(24, 2101, 81), +(24, 2102, 79), +(24, 2103, 87), +(24, 2104, 69), +(24, 2105, 78), +(24, 2106, 72), +(24, 2107, 74), +(24, 2108, 81), +(24, 2109, 98), +(24, 2110, 87), +(24, 2111, 73), +(24, 2112, 93), +(24, 2113, 82), +(24, 2114, 74), +(24, 2115, 98), +(24, 2116, 73), +(24, 2117, 94), +(24, 2118, 71), +(24, 2119, 81), +(24, 2120, 96), +(24, 2121, 99), +(24, 2122, 72), +(24, 2123, 78), +(24, 2124, 78), +(24, 2125, 78), +(24, 2126, 74), +(24, 2127, 88), +(24, 2128, 72), +(24, 2129, 73), +(24, 2130, 78), +(24, 2131, 99), +(24, 2132, 69), +(24, 2133, 94), +(24, 2134, 86), +(24, 2135, 68), +(24, 2136, 93), +(24, 2137, 79), +(24, 2138, 65), +(24, 2139, 80), +(24, 2140, 75), +(24, 2141, 90), +(24, 2142, 84), +(24, 2143, 80), +(24, 2144, 86), +(24, 2145, 69), +(24, 2146, 93), +(24, 2147, 90), +(24, 2148, 74), +(24, 2149, 74), +(24, 2150, 96), +(24, 2151, 87), +(24, 2152, 98), +(24, 2153, 94), +(24, 2154, 74), +(24, 2155, 99), +(24, 2156, 95), +(24, 2157, 92), +(24, 2158, 86), +(24, 2159, 95), +(24, 2160, 95), +(24, 2161, 78), +(24, 2162, 70), +(24, 2163, 99), +(24, 2164, 72), +(24, 2165, 68), +(24, 2166, 77), +(24, 2167, 66), +(24, 2168, 65), +(24, 2169, 71), +(24, 2170, 66), +(24, 2171, 86), +(24, 2172, 67), +(24, 2173, 68), +(24, 2174, 94), +(24, 2175, 74), +(24, 2176, 83), +(24, 2177, 67), +(24, 2178, 83), +(24, 2179, 91), +(24, 2180, 76), +(24, 2181, 95), +(24, 2182, 83), +(24, 2183, 98), +(24, 2184, 96), +(24, 2185, 95), +(24, 2186, 69), +(24, 2187, 96), +(24, 2188, 91), +(24, 2189, 66), +(24, 2190, 83), +(24, 2191, 78), +(24, 2192, 91), +(24, 2193, 78), +(24, 2194, 74), +(24, 2195, 76), +(24, 2196, 91), +(24, 2197, 97), +(24, 2198, 79), +(24, 2199, 69), +(24, 2200, 91), +(24, 2201, 81), +(24, 2202, 91), +(24, 2203, 78), +(24, 2204, 85), +(24, 2205, 75), +(24, 2206, 87), +(24, 2207, 68), +(24, 2208, 70), +(24, 2209, 98), +(24, 2210, 81), +(24, 2211, 73), +(24, 2212, 81), +(24, 2213, 78), +(24, 2214, 81), +(24, 2215, 79), +(24, 2216, 93), +(24, 2217, 72), +(24, 2218, 70), +(24, 2219, 99), +(24, 2220, 71), +(24, 2221, 67), +(24, 2222, 91), +(24, 2223, 81), +(24, 2224, 81), +(24, 2225, 81), +(24, 2226, 91), +(24, 2227, 70), +(24, 2228, 68), +(24, 2229, 70), +(24, 2230, 79), +(24, 2231, 91), +(24, 2232, 73), +(24, 2233, 73), +(24, 2234, 87), +(24, 2235, 92), +(24, 2236, 95), +(24, 2237, 84), +(24, 2238, 92), +(24, 2239, 73), +(24, 2240, 69), +(24, 2241, 72), +(24, 2242, 72), +(24, 2243, 89), +(24, 2244, 76), +(24, 2245, 95), +(24, 2246, 76), +(24, 2247, 98), +(24, 2248, 71), +(24, 2249, 76), +(24, 2250, 81), +(24, 2251, 66), +(24, 2252, 90), +(24, 2253, 81), +(24, 2254, 77), +(24, 2255, 86), +(24, 2256, 89), +(24, 2257, 89), +(24, 2258, 74), +(24, 2259, 92), +(24, 2260, 81), +(24, 2261, 73), +(24, 2262, 76), +(24, 2263, 79), +(24, 2264, 85), +(24, 2265, 66), +(24, 2266, 80), +(24, 2267, 69), +(24, 2268, 92), +(24, 2269, 73), +(24, 2270, 73), +(24, 2271, 85), +(24, 2272, 72), +(24, 2273, 89), +(24, 2274, 97), +(24, 2275, 87), +(24, 2276, 85), +(24, 2277, 71), +(24, 2278, 95), +(24, 2279, 72), +(24, 2280, 97), +(24, 2281, 70), +(24, 2282, 86), +(24, 2283, 83), +(24, 2284, 93), +(24, 2285, 72), +(24, 2286, 67), +(24, 2287, 98), +(24, 2288, 79), +(24, 2289, 86), +(24, 2290, 72), +(24, 2291, 93), +(24, 2292, 84), +(24, 2293, 86), +(24, 2294, 95), +(24, 2295, 94), +(24, 2296, 81), +(24, 2297, 82), +(24, 2298, 72), +(24, 2299, 70), +(24, 2300, 96), +(24, 2301, 77), +(24, 2302, 85), +(24, 2303, 95), +(24, 2304, 81), +(24, 2305, 95), +(24, 2306, 87), +(24, 2307, 80), +(24, 2308, 87), +(24, 2309, 88), +(24, 2310, 82), +(24, 2311, 86), +(24, 2312, 81), +(24, 2313, 93), +(24, 2314, 97), +(24, 2315, 91), +(24, 2316, 77), +(24, 2317, 96), +(24, 2318, 90), +(24, 2319, 97), +(24, 2320, 98), +(24, 2321, 67), +(24, 2322, 80), +(24, 2323, 85), +(24, 2324, 78), +(24, 2325, 85), +(24, 2326, 67), +(24, 2327, 92), +(24, 2328, 95), +(24, 2329, 95), +(24, 2330, 98), +(24, 2331, 68), +(24, 2332, 88), +(24, 2333, 73), +(24, 2334, 84), +(24, 2335, 76), +(24, 2336, 86), +(24, 2337, 95), +(24, 2338, 69), +(24, 2339, 75), +(24, 2340, 72), +(24, 2341, 71), +(24, 2342, 94), +(24, 2343, 86), +(24, 2344, 75), +(24, 2345, 73), +(24, 2346, 89), +(24, 2347, 67), +(24, 2348, 91), +(24, 2349, 82), +(24, 2350, 91), +(24, 2351, 68), +(24, 2352, 93), +(24, 2353, 68), +(24, 2354, 77), +(24, 2355, 67), +(24, 2356, 94), +(24, 2357, 90), +(24, 2358, 77), +(24, 2359, 80), +(24, 2360, 82), +(24, 2361, 93), +(24, 2362, 86), +(24, 2363, 80), +(24, 2364, 66), +(24, 2365, 69), +(24, 2366, 84), +(24, 2367, 73), +(24, 2368, 81), +(24, 2369, 74), +(24, 2370, 88), +(24, 2371, 89), +(24, 2372, 98), +(24, 2373, 93), +(24, 2374, 95), +(24, 2375, 91), +(24, 2376, 99), +(24, 2377, 80), +(24, 2378, 99), +(24, 2379, 82), +(24, 2380, 84), +(24, 2381, 69), +(24, 2382, 76), +(24, 2383, 88), +(24, 2384, 76), +(24, 2385, 67), +(24, 2386, 95), +(24, 2387, 82), +(24, 2388, 72), +(24, 2389, 72), +(24, 2390, 98), +(24, 2391, 97), +(24, 2392, 77), +(24, 2393, 81), +(24, 2394, 78), +(24, 2395, 72), +(24, 2396, 71), +(24, 2397, 91), +(24, 2398, 88), +(24, 2399, 80), +(24, 2400, 97), +(24, 2401, 73), +(24, 2402, 74), +(24, 2403, 95), +(24, 2404, 78), +(24, 2405, 71), +(24, 2406, 91), +(24, 2407, 93), +(24, 2408, 91), +(24, 2409, 94), +(24, 2410, 87), +(24, 2411, 66), +(24, 2412, 80), +(24, 2413, 96), +(24, 2414, 69), +(24, 2415, 69), +(24, 2416, 99), +(24, 2417, 78), +(24, 2418, 77), +(24, 2419, 90), +(24, 2420, 96), +(24, 2421, 97), +(24, 2422, 73), +(24, 2423, 78), +(24, 2424, 70), +(24, 2425, 69), +(24, 2426, 75), +(24, 2427, 95), +(24, 2428, 79), +(24, 2429, 67), +(24, 2430, 97), +(24, 2431, 95), +(24, 2432, 92), +(24, 2433, 95), +(24, 2434, 79), +(24, 2435, 96), +(24, 2436, 89), +(24, 2437, 90), +(24, 2438, 85), +(24, 2439, 89), +(24, 2440, 95), +(24, 2441, 98), +(24, 2442, 90), +(24, 2443, 77), +(24, 2444, 90), +(24, 2445, 75), +(24, 2446, 94), +(24, 2447, 90), +(24, 2448, 86), +(24, 2449, 98), +(24, 2450, 72), +(24, 2451, 84), +(24, 2452, 67), +(24, 2453, 98), +(24, 2454, 98), +(24, 2455, 72), +(24, 2456, 83), +(24, 2457, 77), +(24, 2458, 77), +(24, 2459, 77), +(24, 2460, 75), +(24, 2461, 74), +(24, 2462, 77), +(24, 2463, 87), +(24, 2464, 82), +(24, 2465, 94), +(24, 2466, 68), +(24, 2467, 67), +(24, 2468, 67), +(24, 2469, 96), +(24, 2470, 88), +(24, 2471, 88), +(24, 2472, 89), +(24, 2473, 94), +(24, 2474, 91), +(24, 2475, 98), +(24, 2476, 77), +(24, 2477, 81), +(24, 2478, 92), +(24, 2479, 80), +(24, 2480, 79), +(24, 2481, 65), +(24, 2482, 68), +(24, 2483, 71), +(24, 2484, 66), +(24, 2485, 90), +(24, 2486, 98), +(24, 2487, 83), +(24, 2488, 78), +(24, 2489, 89), +(24, 2490, 81), +(24, 2491, 79), +(24, 2492, 67), +(24, 2493, 75), +(24, 2494, 91), +(24, 2495, 91), +(24, 2496, 90), +(24, 2497, 72), +(24, 2498, 83), +(24, 2499, 93), +(24, 2500, 98), +(24, 2501, 93), +(24, 2502, 96), +(24, 2503, 78), +(24, 2504, 77), +(24, 2505, 94), +(24, 2506, 92), +(24, 2507, 68), +(24, 2508, 86), +(24, 2509, 92), +(24, 2510, 97), +(24, 2511, 65), +(24, 2512, 81), +(24, 2513, 76), +(24, 2514, 85), +(24, 2515, 98), +(24, 2516, 97), +(24, 2517, 90), +(24, 2518, 97), +(24, 2519, 82), +(24, 2520, 66), +(24, 2521, 84), +(24, 2522, 97), +(24, 2523, 74), +(24, 2524, 71), +(24, 2525, 77), +(24, 2526, 97), +(24, 2527, 98), +(24, 2528, 80), +(24, 2529, 90), +(24, 2530, 71), +(24, 2531, 79), +(24, 2532, 93), +(24, 2533, 72), +(24, 2534, 83), +(24, 2535, 95), +(24, 2536, 78), +(24, 2537, 80), +(24, 2538, 74), +(24, 2539, 71), +(24, 2540, 66), +(24, 2541, 93), +(24, 2542, 82), +(24, 2543, 97), +(24, 2544, 97), +(24, 2545, 79), +(24, 2546, 97), +(24, 2547, 74), +(24, 2548, 98), +(24, 2549, 71), +(24, 2550, 88), +(24, 2551, 66), +(24, 2552, 97), +(24, 2553, 84), +(24, 2554, 97), +(24, 2555, 76), +(24, 2556, 89), +(24, 2557, 73), +(24, 2558, 70), +(24, 2559, 96), +(24, 2560, 90), +(24, 2561, 68), +(24, 2562, 92), +(24, 2563, 72), +(24, 2564, 74), +(24, 2565, 94), +(24, 2566, 84), +(24, 2567, 77), +(24, 2568, 72), +(24, 2569, 94), +(24, 2570, 94), +(24, 2571, 75), +(24, 2572, 82), +(24, 2573, 70), +(24, 2574, 69), +(24, 2575, 72), +(24, 2576, 81), +(24, 2577, 85), +(24, 2578, 97), +(24, 2579, 71), +(24, 2580, 91), +(24, 2581, 66), +(24, 2582, 73), +(24, 2583, 92), +(24, 2584, 97), +(24, 2585, 78), +(24, 2586, 92), +(24, 2587, 82), +(24, 2588, 98), +(24, 2589, 85), +(24, 2590, 71), +(24, 2591, 81), +(24, 2592, 77), +(24, 2593, 89), +(24, 2594, 67), +(24, 2595, 82), +(24, 2596, 73), +(24, 2597, 75), +(24, 2598, 71), +(24, 2599, 89), +(24, 2600, 83), +(24, 2601, 81), +(24, 2602, 95), +(24, 2603, 67), +(24, 2604, 74), +(24, 2605, 79), +(24, 2606, 75), +(24, 2607, 99), +(24, 2608, 70), +(24, 2609, 93), +(24, 2610, 73), +(25, 1, 79), +(25, 2, 93), +(25, 3, 86), +(25, 4, 98), +(25, 5, 70), +(25, 6, 85), +(25, 7, 83), +(25, 8, 81), +(25, 9, 86), +(25, 10, 85), +(25, 11, 91), +(25, 12, 96), +(25, 13, 89), +(25, 14, 78), +(25, 15, 89), +(25, 16, 86), +(25, 17, 81), +(25, 18, 91), +(25, 19, 73), +(25, 20, 68), +(25, 21, 67), +(25, 22, 68), +(25, 23, 79), +(25, 24, 74), +(25, 25, 82), +(25, 26, 82), +(25, 27, 99), +(25, 28, 84), +(25, 29, 74), +(25, 30, 92), +(25, 31, 91), +(25, 32, 68), +(25, 33, 69), +(25, 34, 88), +(25, 35, 98), +(25, 36, 70), +(25, 37, 66), +(25, 38, 74), +(25, 39, 66), +(25, 40, 69), +(25, 41, 79), +(25, 42, 77), +(25, 43, 74), +(25, 44, 69), +(25, 45, 89), +(25, 46, 89), +(25, 47, 74), +(25, 48, 91), +(25, 49, 84), +(25, 50, 70), +(25, 51, 80), +(25, 52, 97), +(25, 53, 86), +(25, 54, 97), +(25, 55, 94), +(25, 56, 84), +(25, 57, 65), +(25, 58, 75), +(25, 59, 88), +(25, 60, 68), +(25, 61, 73), +(25, 62, 71), +(25, 63, 65), +(25, 64, 77), +(25, 65, 89), +(25, 66, 79), +(25, 67, 89), +(25, 68, 72), +(25, 69, 78), +(25, 70, 89), +(25, 71, 67), +(25, 72, 68), +(25, 73, 65), +(25, 74, 99), +(25, 75, 85), +(25, 76, 66), +(25, 77, 97), +(25, 78, 80), +(25, 79, 98), +(25, 80, 82), +(25, 81, 88), +(25, 82, 96), +(25, 83, 77), +(25, 84, 84), +(25, 85, 78), +(25, 86, 75), +(25, 87, 74), +(25, 88, 78), +(25, 89, 71), +(25, 90, 79), +(25, 91, 72), +(25, 92, 67), +(25, 93, 90), +(25, 94, 70), +(25, 95, 84), +(25, 96, 77), +(25, 97, 86), +(25, 98, 78), +(25, 99, 90), +(25, 100, 92), +(25, 101, 67), +(25, 102, 70), +(25, 103, 91), +(25, 104, 94), +(25, 105, 99), +(25, 106, 79), +(25, 107, 65), +(25, 108, 68), +(25, 109, 67), +(25, 110, 89), +(25, 111, 74), +(25, 112, 96), +(25, 113, 96), +(25, 114, 99), +(25, 115, 88), +(25, 116, 99), +(25, 117, 92), +(25, 118, 67), +(25, 119, 71), +(25, 120, 72), +(25, 121, 96), +(25, 122, 74), +(25, 123, 68), +(25, 124, 70), +(25, 125, 74), +(25, 126, 84), +(25, 127, 87), +(25, 128, 91), +(25, 129, 95), +(25, 130, 92), +(25, 131, 81), +(25, 132, 75), +(25, 133, 76), +(25, 134, 98), +(25, 135, 97), +(25, 136, 71), +(25, 137, 65), +(25, 138, 89), +(25, 139, 99), +(25, 140, 65), +(25, 141, 85), +(25, 142, 85), +(25, 143, 82), +(25, 144, 76), +(25, 145, 77), +(25, 146, 89), +(25, 147, 74), +(25, 148, 90), +(25, 149, 81), +(25, 150, 79), +(25, 151, 77), +(25, 152, 71), +(25, 153, 84), +(25, 154, 99), +(25, 155, 68), +(25, 156, 81), +(25, 157, 99), +(25, 158, 92), +(25, 159, 87), +(25, 160, 95), +(25, 161, 95), +(25, 162, 71), +(25, 163, 76), +(25, 164, 75), +(25, 165, 91), +(25, 166, 86), +(25, 167, 80), +(25, 168, 95), +(25, 169, 68), +(25, 170, 94), +(25, 171, 70), +(25, 172, 92), +(25, 173, 81), +(25, 174, 86), +(25, 175, 67), +(25, 176, 69), +(25, 177, 65), +(25, 178, 72), +(25, 179, 90), +(25, 180, 67), +(25, 181, 71), +(25, 182, 74), +(25, 183, 76), +(25, 184, 90), +(25, 185, 66), +(25, 186, 81), +(25, 187, 98), +(25, 188, 76), +(25, 189, 88), +(25, 190, 83), +(25, 191, 66), +(25, 192, 81), +(25, 193, 88), +(25, 194, 80), +(25, 195, 86), +(25, 196, 95), +(25, 197, 89), +(25, 198, 75), +(25, 199, 84), +(25, 200, 98), +(25, 201, 82), +(25, 202, 78), +(25, 203, 66), +(25, 204, 99), +(25, 205, 72), +(25, 206, 81), +(25, 207, 84), +(25, 208, 87), +(25, 209, 87), +(25, 210, 99), +(25, 211, 67), +(25, 212, 89), +(25, 213, 84), +(25, 214, 91), +(25, 215, 92), +(25, 216, 86), +(25, 217, 76), +(25, 218, 96), +(25, 219, 93), +(25, 220, 89), +(25, 221, 75), +(25, 222, 77), +(25, 223, 66), +(25, 224, 97), +(25, 225, 82), +(25, 226, 73), +(25, 227, 67), +(25, 228, 87), +(25, 229, 65), +(25, 230, 91), +(25, 231, 79), +(25, 232, 91), +(25, 233, 85), +(25, 234, 92), +(25, 235, 89), +(25, 236, 95), +(25, 237, 89), +(25, 238, 91), +(25, 239, 99), +(25, 240, 93), +(25, 241, 83), +(25, 242, 71), +(25, 243, 77), +(25, 244, 69), +(25, 245, 99), +(25, 246, 88), +(25, 247, 83), +(25, 248, 70), +(25, 249, 76), +(25, 250, 78), +(25, 251, 99), +(25, 252, 95), +(25, 253, 69), +(25, 254, 84), +(25, 255, 86), +(25, 256, 78), +(25, 257, 66), +(25, 258, 85), +(25, 259, 70), +(25, 260, 89), +(25, 261, 77), +(25, 262, 85), +(25, 263, 77), +(25, 264, 75), +(25, 265, 71), +(25, 266, 78), +(25, 267, 78), +(25, 268, 80), +(25, 269, 88), +(25, 270, 67), +(25, 271, 75), +(25, 272, 91), +(25, 273, 78), +(25, 274, 87), +(25, 275, 67), +(25, 276, 85), +(25, 277, 84), +(25, 278, 98), +(25, 279, 79), +(25, 280, 96), +(25, 281, 97), +(25, 282, 77), +(25, 283, 89), +(25, 284, 91), +(25, 285, 81), +(25, 286, 91), +(25, 287, 78), +(25, 288, 83), +(25, 289, 98), +(25, 290, 91), +(25, 291, 97), +(25, 292, 83), +(25, 293, 81), +(25, 294, 85), +(25, 295, 88), +(25, 296, 83), +(25, 297, 99), +(25, 298, 68), +(25, 299, 72), +(25, 300, 96), +(25, 301, 79), +(25, 302, 99), +(25, 303, 66), +(25, 304, 89), +(25, 305, 66), +(25, 306, 89), +(25, 307, 80), +(25, 308, 86), +(25, 309, 68), +(25, 310, 98), +(25, 311, 68), +(25, 312, 71), +(25, 313, 88), +(25, 314, 73), +(25, 315, 85), +(25, 316, 77), +(25, 317, 73), +(25, 318, 93), +(25, 319, 81), +(25, 320, 66), +(25, 321, 83), +(25, 322, 75), +(25, 323, 75), +(25, 324, 73), +(25, 325, 76), +(25, 326, 99), +(25, 327, 71), +(25, 328, 75), +(25, 329, 66), +(25, 330, 73), +(25, 331, 73), +(25, 332, 98), +(25, 333, 97), +(25, 334, 71), +(25, 335, 86), +(25, 336, 83), +(25, 337, 94), +(25, 338, 86), +(25, 339, 92), +(25, 340, 66), +(25, 341, 99), +(25, 342, 79), +(25, 343, 89), +(25, 344, 82), +(25, 345, 70), +(25, 346, 87), +(25, 347, 79), +(25, 348, 74), +(25, 349, 98), +(25, 350, 97), +(25, 351, 99), +(25, 352, 86), +(25, 353, 80), +(25, 354, 82), +(25, 355, 99), +(25, 356, 91), +(25, 357, 71), +(25, 358, 67), +(25, 359, 66), +(25, 360, 86), +(25, 361, 83), +(25, 362, 87), +(25, 363, 94), +(25, 364, 83), +(25, 365, 91), +(25, 366, 82), +(25, 367, 82), +(25, 368, 96), +(25, 369, 82), +(25, 370, 90), +(25, 371, 71), +(25, 372, 77), +(25, 373, 85), +(25, 374, 71), +(25, 375, 65), +(25, 376, 67), +(25, 377, 87), +(25, 378, 83), +(25, 379, 82), +(25, 380, 86), +(25, 381, 91), +(25, 382, 81), +(25, 383, 79), +(25, 384, 80), +(25, 385, 71), +(25, 386, 87), +(25, 387, 93), +(25, 388, 67), +(25, 389, 94), +(25, 390, 76), +(25, 391, 73), +(25, 392, 97), +(25, 393, 76), +(25, 394, 76), +(25, 395, 94), +(25, 396, 74), +(25, 397, 96), +(25, 398, 98), +(25, 399, 80), +(25, 400, 83), +(25, 401, 97), +(25, 402, 87), +(25, 403, 86), +(25, 404, 90), +(25, 405, 70), +(25, 406, 71), +(25, 407, 91), +(25, 408, 95), +(25, 409, 76), +(25, 410, 65), +(25, 411, 74), +(25, 412, 79), +(25, 413, 93), +(25, 414, 81), +(25, 415, 74), +(25, 416, 77), +(25, 417, 84), +(25, 418, 67), +(25, 419, 94), +(25, 420, 70), +(25, 421, 68), +(25, 422, 67), +(25, 423, 65), +(25, 424, 97), +(25, 425, 67), +(25, 426, 94), +(25, 427, 85), +(25, 428, 86), +(25, 429, 97), +(25, 430, 85), +(25, 431, 75), +(25, 432, 88), +(25, 433, 66), +(25, 434, 72), +(25, 435, 70), +(25, 436, 72), +(25, 437, 87), +(25, 438, 84), +(25, 439, 75), +(25, 440, 77), +(25, 441, 97), +(25, 442, 66), +(25, 443, 82), +(25, 444, 98), +(25, 445, 98), +(25, 446, 97), +(25, 447, 72), +(25, 448, 88), +(25, 449, 96), +(25, 450, 76), +(25, 451, 72), +(25, 452, 74), +(25, 453, 94), +(25, 454, 86), +(25, 455, 66), +(25, 456, 96), +(25, 457, 68), +(25, 458, 69), +(25, 459, 87), +(25, 460, 67), +(25, 461, 88), +(25, 462, 94), +(25, 463, 81), +(25, 464, 65), +(25, 465, 96), +(25, 466, 92), +(25, 467, 82), +(25, 468, 76), +(25, 469, 78), +(25, 470, 86), +(25, 471, 98), +(25, 472, 75), +(25, 473, 75), +(25, 474, 81), +(25, 475, 84), +(25, 476, 90), +(25, 477, 68), +(25, 478, 66), +(25, 479, 96), +(25, 480, 66), +(25, 481, 88), +(25, 482, 92), +(25, 483, 70), +(25, 484, 78), +(25, 485, 95), +(25, 486, 69), +(25, 487, 96), +(25, 488, 91), +(25, 489, 77), +(25, 490, 96), +(25, 491, 87), +(25, 492, 71), +(25, 493, 91), +(25, 494, 99), +(25, 495, 75), +(25, 496, 92), +(25, 497, 87), +(25, 498, 77), +(25, 499, 89), +(25, 500, 99), +(25, 501, 81), +(25, 502, 91), +(25, 503, 89), +(25, 504, 72), +(25, 505, 73), +(25, 506, 99), +(25, 507, 68), +(25, 508, 66), +(25, 509, 94), +(25, 510, 83), +(25, 511, 80), +(25, 512, 73), +(25, 513, 98), +(25, 514, 72), +(25, 515, 98), +(25, 516, 79), +(25, 517, 65), +(25, 518, 75), +(25, 519, 81), +(25, 520, 65), +(25, 521, 93), +(25, 522, 96), +(25, 523, 81), +(25, 524, 81), +(25, 525, 96), +(25, 526, 96), +(25, 527, 75), +(25, 528, 91), +(25, 529, 91), +(25, 530, 94), +(25, 531, 99), +(25, 532, 87), +(25, 533, 72), +(25, 534, 87), +(25, 535, 68), +(25, 536, 97), +(25, 537, 89), +(25, 538, 95), +(25, 539, 70), +(25, 540, 87), +(25, 541, 68), +(25, 542, 72), +(25, 543, 65), +(25, 544, 68), +(25, 545, 65), +(25, 546, 80), +(25, 547, 76), +(25, 548, 69), +(25, 549, 83), +(25, 550, 79), +(25, 551, 78), +(25, 552, 99), +(25, 553, 68), +(25, 554, 96), +(25, 555, 75), +(25, 556, 66), +(25, 557, 79), +(25, 558, 86), +(25, 559, 94), +(25, 560, 98), +(25, 561, 92), +(25, 562, 92), +(25, 563, 82), +(25, 564, 78), +(25, 1024, 80), +(25, 1025, 99), +(25, 1026, 77), +(25, 1027, 87), +(25, 1028, 84), +(25, 1029, 89), +(25, 1030, 79), +(25, 1031, 90), +(25, 1032, 75), +(25, 1033, 99), +(25, 1034, 71), +(25, 1035, 68), +(25, 1036, 92), +(25, 1037, 82), +(25, 1038, 94), +(25, 1039, 71), +(25, 1040, 82), +(25, 1041, 77), +(25, 1042, 78), +(25, 1043, 72), +(25, 1044, 96), +(25, 1045, 90), +(25, 1046, 90), +(25, 1047, 96), +(25, 1048, 86), +(25, 1049, 66), +(25, 1050, 87), +(25, 1051, 77), +(25, 1052, 69), +(25, 1053, 74), +(25, 1054, 69), +(25, 1055, 91), +(25, 1056, 75), +(25, 1057, 78), +(25, 1058, 73), +(25, 1059, 80), +(25, 1060, 65), +(25, 1061, 89), +(25, 1062, 71), +(25, 1063, 84), +(25, 1064, 83), +(25, 1065, 69), +(25, 1066, 80), +(25, 1067, 76), +(25, 1068, 67), +(25, 1069, 66), +(25, 1070, 73), +(25, 1071, 85), +(25, 1072, 77), +(25, 1073, 97), +(25, 1074, 79), +(25, 1075, 71), +(25, 1076, 71), +(25, 1077, 98), +(25, 1078, 65), +(25, 1079, 92), +(25, 1080, 71), +(25, 1081, 74), +(25, 1082, 68), +(25, 1083, 79), +(25, 1084, 70), +(25, 1085, 75), +(25, 1086, 83), +(25, 1087, 97), +(25, 1088, 96), +(25, 1089, 70), +(25, 1090, 79), +(25, 1091, 90), +(25, 1092, 73), +(25, 1093, 93), +(25, 1094, 79), +(25, 1095, 98), +(25, 1096, 84), +(25, 1097, 94), +(25, 1098, 81), +(25, 1099, 94), +(25, 1100, 77), +(25, 1101, 94), +(25, 1102, 98), +(25, 1103, 74), +(25, 1104, 92), +(25, 1105, 78), +(25, 1106, 98), +(25, 1107, 79), +(25, 1108, 97), +(25, 1109, 94), +(25, 1110, 93), +(25, 1111, 85), +(25, 1112, 68), +(25, 1113, 75), +(25, 1114, 97), +(25, 1115, 84), +(25, 1116, 91), +(25, 1117, 98), +(25, 1118, 70), +(25, 1119, 91), +(25, 1120, 91), +(25, 1121, 65), +(25, 1122, 91), +(25, 1123, 77), +(25, 1124, 88), +(25, 1125, 87), +(25, 1126, 84), +(25, 1127, 70), +(25, 1128, 66), +(25, 1129, 99), +(25, 1130, 97), +(25, 1131, 70), +(25, 1132, 97), +(25, 1133, 74), +(25, 1134, 69), +(25, 1135, 84), +(25, 1136, 96), +(25, 1137, 99), +(25, 1138, 89), +(25, 1139, 76), +(25, 1140, 67), +(25, 1141, 99), +(25, 1142, 97), +(25, 1143, 94), +(25, 1144, 83), +(25, 1145, 84), +(25, 1146, 77), +(25, 1147, 94), +(25, 1148, 88), +(25, 1149, 87), +(25, 1150, 67), +(25, 1151, 81), +(25, 1152, 75), +(25, 1153, 73), +(25, 1154, 98), +(25, 1155, 80), +(25, 1156, 90), +(25, 1157, 68), +(25, 1158, 78), +(25, 1159, 72), +(25, 1160, 66), +(25, 1161, 82), +(25, 1162, 74), +(25, 1163, 96), +(25, 1164, 84), +(25, 1165, 65), +(25, 1166, 76), +(25, 1167, 88), +(25, 1168, 98), +(25, 1169, 65), +(25, 1170, 65), +(25, 1171, 72), +(25, 1172, 68), +(25, 1173, 84), +(25, 1174, 80), +(25, 1175, 71), +(25, 1176, 98), +(25, 1177, 80), +(25, 1178, 99), +(25, 1179, 90), +(25, 1180, 99), +(25, 1181, 94), +(25, 1182, 95), +(25, 1183, 84), +(25, 1184, 95), +(25, 1185, 71), +(25, 1186, 74), +(25, 1187, 73), +(25, 1188, 74), +(25, 1189, 92), +(25, 1190, 95), +(25, 1191, 83), +(25, 1192, 89), +(25, 1193, 90), +(25, 1194, 98), +(25, 1195, 76), +(25, 1196, 80), +(25, 1197, 70), +(25, 1198, 87), +(25, 1199, 78), +(25, 1200, 73), +(25, 1201, 92), +(25, 1202, 82), +(25, 1203, 73), +(25, 1204, 99), +(25, 1205, 93), +(25, 1206, 81), +(25, 1207, 98), +(25, 1208, 95), +(25, 1209, 88), +(25, 1210, 89), +(25, 1211, 91), +(25, 1212, 98), +(25, 1213, 73), +(25, 1214, 80), +(25, 1215, 88), +(25, 1216, 87), +(25, 1217, 70), +(25, 1218, 68), +(25, 1219, 93), +(25, 1220, 90), +(25, 1221, 83), +(25, 1222, 72), +(25, 1223, 66), +(25, 1224, 66), +(25, 1225, 98), +(25, 1226, 67), +(25, 1227, 66), +(25, 1228, 87), +(25, 1229, 67), +(25, 1230, 97), +(25, 1231, 80), +(25, 1232, 80), +(25, 1233, 85), +(25, 1234, 88), +(25, 1235, 86), +(25, 1236, 84), +(25, 1237, 67), +(25, 1238, 84), +(25, 1239, 83), +(25, 1240, 92), +(25, 1241, 75), +(25, 1242, 67), +(25, 1243, 93), +(25, 1244, 86), +(25, 1245, 84), +(25, 1246, 65), +(25, 1247, 83), +(25, 1248, 88), +(25, 1249, 69), +(25, 1250, 99), +(25, 1251, 92), +(25, 1252, 98), +(25, 1253, 96), +(25, 1254, 84), +(25, 1255, 86), +(25, 1256, 71), +(25, 1257, 87), +(25, 1258, 75), +(25, 1259, 95), +(25, 1260, 71), +(25, 1261, 83), +(25, 1262, 74), +(25, 1263, 74), +(25, 1264, 66), +(25, 1265, 94), +(25, 1266, 75), +(25, 1267, 86), +(25, 1268, 72), +(25, 1269, 95), +(25, 1270, 67), +(25, 1271, 81), +(25, 1272, 79), +(25, 1273, 82), +(25, 1274, 68), +(25, 1275, 80), +(25, 1276, 68), +(25, 1277, 67), +(25, 1278, 98), +(25, 1279, 69), +(25, 1280, 66), +(25, 1281, 91), +(25, 1282, 78), +(25, 1283, 84), +(25, 1284, 74), +(25, 1285, 92), +(25, 1286, 74), +(25, 1287, 88), +(25, 1288, 90), +(25, 1289, 81), +(25, 1290, 85), +(25, 1291, 80), +(25, 1292, 86), +(25, 1293, 67), +(25, 1294, 92), +(25, 1295, 79), +(25, 1296, 71), +(25, 1297, 68), +(25, 1298, 82), +(25, 1299, 89), +(25, 1300, 73), +(25, 1301, 94), +(25, 1302, 73), +(25, 1303, 93), +(25, 1304, 98), +(25, 1305, 89), +(25, 1306, 74), +(25, 1307, 94), +(25, 1308, 85), +(25, 1309, 84), +(25, 1310, 86), +(25, 1311, 76), +(25, 1312, 65), +(25, 1313, 78), +(25, 1314, 79), +(25, 1315, 74), +(25, 1316, 79), +(25, 1317, 69), +(25, 1318, 79), +(25, 1319, 98), +(25, 1320, 93), +(25, 1321, 74), +(25, 1322, 68), +(25, 1323, 84), +(25, 1324, 88), +(25, 1325, 86), +(25, 1326, 94), +(25, 1327, 99), +(25, 1328, 91), +(25, 1329, 75), +(25, 1330, 97), +(25, 1331, 78), +(25, 1332, 87), +(25, 1333, 75), +(25, 1334, 93), +(25, 1335, 99), +(25, 1336, 75), +(25, 1337, 78), +(25, 1338, 95), +(25, 1339, 74), +(25, 1340, 72), +(25, 1341, 70), +(25, 1342, 69), +(25, 1343, 95), +(25, 1344, 87), +(25, 1345, 75), +(25, 1346, 92), +(25, 1347, 80), +(25, 1348, 86), +(25, 1349, 93), +(25, 1350, 71), +(25, 1351, 93), +(25, 1352, 85), +(25, 1353, 84), +(25, 1354, 83), +(25, 1355, 81), +(25, 1356, 71), +(25, 1357, 82), +(25, 1358, 87), +(25, 1359, 65), +(25, 1360, 67), +(25, 1361, 67), +(25, 1362, 65), +(25, 1363, 66), +(25, 1364, 94), +(25, 1365, 73); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(25, 1366, 93), +(25, 1367, 71), +(25, 1368, 88), +(25, 1369, 79), +(25, 1370, 97), +(25, 1371, 68), +(25, 1372, 96), +(25, 1373, 86), +(25, 1374, 91), +(25, 1375, 72), +(25, 1376, 76), +(25, 1377, 92), +(25, 1378, 66), +(25, 1379, 80), +(25, 1380, 97), +(25, 1381, 69), +(25, 1382, 92), +(25, 1383, 76), +(25, 1384, 73), +(25, 1385, 89), +(25, 1386, 85), +(25, 1387, 80), +(25, 1388, 90), +(25, 1389, 73), +(25, 1390, 94), +(25, 1391, 92), +(25, 1392, 80), +(25, 1393, 88), +(25, 1394, 66), +(25, 1395, 88), +(25, 1396, 98), +(25, 1397, 84), +(25, 1398, 97), +(25, 1399, 96), +(25, 1400, 65), +(25, 1401, 68), +(25, 1402, 97), +(25, 1403, 82), +(25, 1404, 72), +(25, 1405, 70), +(25, 1406, 82), +(25, 1407, 71), +(25, 1408, 79), +(25, 1409, 81), +(25, 1410, 72), +(25, 1411, 94), +(25, 1412, 94), +(25, 1413, 99), +(25, 1414, 65), +(25, 1415, 96), +(25, 1416, 83), +(25, 1417, 66), +(25, 1418, 76), +(25, 1419, 69), +(25, 1420, 71), +(25, 1421, 96), +(25, 1422, 90), +(25, 1423, 87), +(25, 1424, 99), +(25, 1425, 92), +(25, 1426, 86), +(25, 1427, 78), +(25, 1428, 96), +(25, 1429, 71), +(25, 1430, 76), +(25, 1431, 75), +(25, 1432, 74), +(25, 1433, 81), +(25, 1434, 89), +(25, 1435, 99), +(25, 1436, 65), +(25, 1437, 72), +(25, 1438, 81), +(25, 1439, 77), +(25, 1440, 83), +(25, 1441, 96), +(25, 1442, 90), +(25, 1443, 93), +(25, 1444, 86), +(25, 1445, 90), +(25, 1446, 77), +(25, 1447, 84), +(25, 1448, 90), +(25, 1449, 94), +(25, 1450, 89), +(25, 1451, 89), +(25, 1452, 72), +(25, 1453, 94), +(25, 1454, 71), +(25, 1455, 94), +(25, 1456, 97), +(25, 1457, 98), +(25, 1458, 78), +(25, 1459, 71), +(25, 1460, 75), +(25, 1461, 73), +(25, 1462, 73), +(25, 1463, 71), +(25, 1464, 73), +(25, 1465, 65), +(25, 1466, 84), +(25, 1467, 70), +(25, 1468, 93), +(25, 1469, 86), +(25, 1470, 70), +(25, 1471, 66), +(25, 1472, 86), +(25, 1473, 70), +(25, 1474, 69), +(25, 1475, 95), +(25, 1476, 91), +(25, 1477, 73), +(25, 1478, 82), +(25, 1479, 74), +(25, 1480, 89), +(25, 1481, 73), +(25, 1482, 81), +(25, 1483, 70), +(25, 1484, 69), +(25, 1485, 92), +(25, 1486, 86), +(25, 1487, 98), +(25, 1488, 72), +(25, 1489, 72), +(25, 1490, 84), +(25, 1491, 89), +(25, 1492, 99), +(25, 1493, 66), +(25, 1494, 76), +(25, 1495, 68), +(25, 1496, 92), +(25, 1497, 69), +(25, 1498, 98), +(25, 1499, 82), +(25, 1500, 85), +(25, 1501, 85), +(25, 1502, 86), +(25, 1503, 95), +(25, 1504, 69), +(25, 1505, 73), +(25, 1506, 72), +(25, 1507, 96), +(25, 1508, 98), +(25, 1509, 81), +(25, 1510, 98), +(25, 1511, 77), +(25, 1512, 82), +(25, 1513, 65), +(25, 1514, 66), +(25, 1515, 79), +(25, 1516, 99), +(25, 1517, 67), +(25, 1518, 68), +(25, 1519, 91), +(25, 1520, 92), +(25, 1521, 66), +(25, 1522, 83), +(25, 1523, 98), +(25, 1524, 83), +(25, 1525, 92), +(25, 1526, 90), +(25, 1527, 70), +(25, 1528, 69), +(25, 1529, 69), +(25, 1530, 90), +(25, 1531, 92), +(25, 1532, 82), +(25, 1533, 72), +(25, 1534, 71), +(25, 1535, 98), +(25, 1536, 85), +(25, 1537, 65), +(25, 1538, 68), +(25, 1539, 95), +(25, 1540, 77), +(25, 1541, 95), +(25, 1542, 75), +(25, 1543, 95), +(25, 1544, 94), +(25, 1545, 80), +(25, 1546, 91), +(25, 1547, 78), +(25, 1548, 70), +(25, 1549, 87), +(25, 1550, 96), +(25, 1551, 95), +(25, 1552, 83), +(25, 1553, 98), +(25, 1554, 96), +(25, 1555, 76), +(25, 1556, 97), +(25, 1557, 93), +(25, 1558, 68), +(25, 1559, 82), +(25, 1560, 82), +(25, 1561, 80), +(25, 1562, 77), +(25, 1563, 97), +(25, 1564, 69), +(25, 1565, 72), +(25, 1566, 76), +(25, 1567, 85), +(25, 1568, 86), +(25, 1569, 77), +(25, 1570, 94), +(25, 1571, 96), +(25, 1572, 84), +(25, 1573, 99), +(25, 1574, 71), +(25, 1575, 91), +(25, 1576, 87), +(25, 1577, 74), +(25, 1578, 78), +(25, 1579, 99), +(25, 1580, 74), +(25, 1581, 94), +(25, 1582, 99), +(25, 1583, 94), +(25, 1584, 76), +(25, 1585, 84), +(25, 1586, 66), +(25, 1587, 97), +(25, 2047, 82), +(25, 2048, 76), +(25, 2049, 76), +(25, 2050, 69), +(25, 2051, 71), +(25, 2052, 88), +(25, 2053, 78), +(25, 2054, 87), +(25, 2055, 95), +(25, 2056, 97), +(25, 2057, 99), +(25, 2058, 75), +(25, 2059, 74), +(25, 2060, 71), +(25, 2061, 92), +(25, 2062, 71), +(25, 2063, 84), +(25, 2064, 70), +(25, 2065, 79), +(25, 2066, 70), +(25, 2067, 79), +(25, 2068, 90), +(25, 2069, 75), +(25, 2070, 77), +(25, 2071, 85), +(25, 2072, 70), +(25, 2073, 68), +(25, 2074, 74), +(25, 2075, 66), +(25, 2076, 97), +(25, 2077, 81), +(25, 2078, 70), +(25, 2079, 75), +(25, 2080, 79), +(25, 2081, 94), +(25, 2082, 65), +(25, 2083, 92), +(25, 2084, 76), +(25, 2085, 96), +(25, 2086, 95), +(25, 2087, 89), +(25, 2088, 92), +(25, 2089, 87), +(25, 2090, 67), +(25, 2091, 96), +(25, 2092, 77), +(25, 2093, 78), +(25, 2094, 65), +(25, 2095, 92), +(25, 2096, 95), +(25, 2097, 73), +(25, 2098, 86), +(25, 2099, 85), +(25, 2100, 94), +(25, 2101, 80), +(25, 2102, 88), +(25, 2103, 81), +(25, 2104, 70), +(25, 2105, 81), +(25, 2106, 91), +(25, 2107, 84), +(25, 2108, 69), +(25, 2109, 88), +(25, 2110, 79), +(25, 2111, 70), +(25, 2112, 88), +(25, 2113, 81), +(25, 2114, 65), +(25, 2115, 82), +(25, 2116, 96), +(25, 2117, 77), +(25, 2118, 70), +(25, 2119, 86), +(25, 2120, 76), +(25, 2121, 80), +(25, 2122, 83), +(25, 2123, 70), +(25, 2124, 80), +(25, 2125, 72), +(25, 2126, 89), +(25, 2127, 91), +(25, 2128, 95), +(25, 2129, 71), +(25, 2130, 96), +(25, 2131, 81), +(25, 2132, 90), +(25, 2133, 83), +(25, 2134, 90), +(25, 2135, 70), +(25, 2136, 92), +(25, 2137, 72), +(25, 2138, 82), +(25, 2139, 74), +(25, 2140, 67), +(25, 2141, 70), +(25, 2142, 77), +(25, 2143, 95), +(25, 2144, 91), +(25, 2145, 97), +(25, 2146, 92), +(25, 2147, 70), +(25, 2148, 87), +(25, 2149, 92), +(25, 2150, 69), +(25, 2151, 68), +(25, 2152, 77), +(25, 2153, 80), +(25, 2154, 85), +(25, 2155, 65), +(25, 2156, 68), +(25, 2157, 96), +(25, 2158, 77), +(25, 2159, 69), +(25, 2160, 74), +(25, 2161, 70), +(25, 2162, 76), +(25, 2163, 79), +(25, 2164, 97), +(25, 2165, 87), +(25, 2166, 91), +(25, 2167, 95), +(25, 2168, 84), +(25, 2169, 76), +(25, 2170, 74), +(25, 2171, 86), +(25, 2172, 92), +(25, 2173, 85), +(25, 2174, 91), +(25, 2175, 80), +(25, 2176, 92), +(25, 2177, 97), +(25, 2178, 82), +(25, 2179, 80), +(25, 2180, 80), +(25, 2181, 75), +(25, 2182, 92), +(25, 2183, 75), +(25, 2184, 81), +(25, 2185, 73), +(25, 2186, 93), +(25, 2187, 81), +(25, 2188, 79), +(25, 2189, 82), +(25, 2190, 84), +(25, 2191, 79), +(25, 2192, 65), +(25, 2193, 68), +(25, 2194, 68), +(25, 2195, 73), +(25, 2196, 82), +(25, 2197, 68), +(25, 2198, 75), +(25, 2199, 69), +(25, 2200, 99), +(25, 2201, 67), +(25, 2202, 90), +(25, 2203, 87), +(25, 2204, 83), +(25, 2205, 69), +(25, 2206, 90), +(25, 2207, 81), +(25, 2208, 92), +(25, 2209, 76), +(25, 2210, 69), +(25, 2211, 99), +(25, 2212, 81), +(25, 2213, 74), +(25, 2214, 66), +(25, 2215, 71), +(25, 2216, 87), +(25, 2217, 86), +(25, 2218, 95), +(25, 2219, 71), +(25, 2220, 71), +(25, 2221, 75), +(25, 2222, 70), +(25, 2223, 75), +(25, 2224, 95), +(25, 2225, 86), +(25, 2226, 92), +(25, 2227, 90), +(25, 2228, 65), +(25, 2229, 72), +(25, 2230, 91), +(25, 2231, 68), +(25, 2232, 80), +(25, 2233, 81), +(25, 2234, 94), +(25, 2235, 65), +(25, 2236, 88), +(25, 2237, 95), +(25, 2238, 76), +(25, 2239, 93), +(25, 2240, 82), +(25, 2241, 90), +(25, 2242, 95), +(25, 2243, 96), +(25, 2244, 76), +(25, 2245, 72), +(25, 2246, 88), +(25, 2247, 76), +(25, 2248, 77), +(25, 2249, 86), +(25, 2250, 69), +(25, 2251, 96), +(25, 2252, 82), +(25, 2253, 77), +(25, 2254, 89), +(25, 2255, 67), +(25, 2256, 90), +(25, 2257, 92), +(25, 2258, 69), +(25, 2259, 98), +(25, 2260, 90), +(25, 2261, 70), +(25, 2262, 65), +(25, 2263, 88), +(25, 2264, 85), +(25, 2265, 86), +(25, 2266, 92), +(25, 2267, 89), +(25, 2268, 88), +(25, 2269, 97), +(25, 2270, 70), +(25, 2271, 81), +(25, 2272, 90), +(25, 2273, 83), +(25, 2274, 68), +(25, 2275, 98), +(25, 2276, 95), +(25, 2277, 93), +(25, 2278, 77), +(25, 2279, 75), +(25, 2280, 96), +(25, 2281, 68), +(25, 2282, 94), +(25, 2283, 72), +(25, 2284, 72), +(25, 2285, 76), +(25, 2286, 83), +(25, 2287, 71), +(25, 2288, 84), +(25, 2289, 89), +(25, 2290, 92), +(25, 2291, 76), +(25, 2292, 78), +(25, 2293, 86), +(25, 2294, 66), +(25, 2295, 92), +(25, 2296, 65), +(25, 2297, 67), +(25, 2298, 77), +(25, 2299, 75), +(25, 2300, 83), +(25, 2301, 73), +(25, 2302, 83), +(25, 2303, 89), +(25, 2304, 77), +(25, 2305, 90), +(25, 2306, 71), +(25, 2307, 82), +(25, 2308, 89), +(25, 2309, 97), +(25, 2310, 99), +(25, 2311, 87), +(25, 2312, 77), +(25, 2313, 96), +(25, 2314, 70), +(25, 2315, 95), +(25, 2316, 94), +(25, 2317, 99), +(25, 2318, 65), +(25, 2319, 71), +(25, 2320, 80), +(25, 2321, 74), +(25, 2322, 86), +(25, 2323, 84), +(25, 2324, 97), +(25, 2325, 88), +(25, 2326, 94), +(25, 2327, 80), +(25, 2328, 68), +(25, 2329, 78), +(25, 2330, 79), +(25, 2331, 90), +(25, 2332, 66), +(25, 2333, 68), +(25, 2334, 95), +(25, 2335, 82), +(25, 2336, 91), +(25, 2337, 75), +(25, 2338, 68), +(25, 2339, 70), +(25, 2340, 87), +(25, 2341, 87), +(25, 2342, 77), +(25, 2343, 86), +(25, 2344, 87), +(25, 2345, 77), +(25, 2346, 98), +(25, 2347, 78), +(25, 2348, 74), +(25, 2349, 68), +(25, 2350, 66), +(25, 2351, 65), +(25, 2352, 66), +(25, 2353, 71), +(25, 2354, 90), +(25, 2355, 77), +(25, 2356, 74), +(25, 2357, 83), +(25, 2358, 92), +(25, 2359, 83), +(25, 2360, 93), +(25, 2361, 75), +(25, 2362, 96), +(25, 2363, 94), +(25, 2364, 81), +(25, 2365, 90), +(25, 2366, 72), +(25, 2367, 78), +(25, 2368, 94), +(25, 2369, 72), +(25, 2370, 84), +(25, 2371, 82), +(25, 2372, 68), +(25, 2373, 85), +(25, 2374, 79), +(25, 2375, 95), +(25, 2376, 88), +(25, 2377, 89), +(25, 2378, 95), +(25, 2379, 69), +(25, 2380, 77), +(25, 2381, 65), +(25, 2382, 87), +(25, 2383, 75), +(25, 2384, 97), +(25, 2385, 75), +(25, 2386, 95), +(25, 2387, 69), +(25, 2388, 97), +(25, 2389, 86), +(25, 2390, 75), +(25, 2391, 66), +(25, 2392, 94), +(25, 2393, 70), +(25, 2394, 79), +(25, 2395, 68), +(25, 2396, 74), +(25, 2397, 80), +(25, 2398, 83), +(25, 2399, 84), +(25, 2400, 93), +(25, 2401, 93), +(25, 2402, 73), +(25, 2403, 74), +(25, 2404, 70), +(25, 2405, 72), +(25, 2406, 70), +(25, 2407, 85), +(25, 2408, 91), +(25, 2409, 71), +(25, 2410, 70), +(25, 2411, 98), +(25, 2412, 97), +(25, 2413, 81), +(25, 2414, 91), +(25, 2415, 80), +(25, 2416, 91), +(25, 2417, 87), +(25, 2418, 75), +(25, 2419, 99), +(25, 2420, 94), +(25, 2421, 72), +(25, 2422, 66), +(25, 2423, 76), +(25, 2424, 73), +(25, 2425, 91), +(25, 2426, 71), +(25, 2427, 91), +(25, 2428, 71), +(25, 2429, 84), +(25, 2430, 91), +(25, 2431, 89), +(25, 2432, 99), +(25, 2433, 91), +(25, 2434, 69), +(25, 2435, 88), +(25, 2436, 84), +(25, 2437, 95), +(25, 2438, 67), +(25, 2439, 73), +(25, 2440, 94), +(25, 2441, 96), +(25, 2442, 66), +(25, 2443, 74), +(25, 2444, 90), +(25, 2445, 91), +(25, 2446, 95), +(25, 2447, 98), +(25, 2448, 89), +(25, 2449, 72), +(25, 2450, 79), +(25, 2451, 68), +(25, 2452, 69), +(25, 2453, 87), +(25, 2454, 76), +(25, 2455, 80), +(25, 2456, 71), +(25, 2457, 80), +(25, 2458, 88), +(25, 2459, 69), +(25, 2460, 72), +(25, 2461, 71), +(25, 2462, 92), +(25, 2463, 80), +(25, 2464, 87), +(25, 2465, 89), +(25, 2466, 88), +(25, 2467, 82), +(25, 2468, 84), +(25, 2469, 72), +(25, 2470, 81), +(25, 2471, 89), +(25, 2472, 87), +(25, 2473, 75), +(25, 2474, 89), +(25, 2475, 71), +(25, 2476, 71), +(25, 2477, 65), +(25, 2478, 65), +(25, 2479, 83), +(25, 2480, 78), +(25, 2481, 91), +(25, 2482, 83), +(25, 2483, 83), +(25, 2484, 77), +(25, 2485, 80), +(25, 2486, 94), +(25, 2487, 73), +(25, 2488, 73), +(25, 2489, 90), +(25, 2490, 66), +(25, 2491, 66), +(25, 2492, 73), +(25, 2493, 66), +(25, 2494, 86), +(25, 2495, 93), +(25, 2496, 72), +(25, 2497, 74), +(25, 2498, 83), +(25, 2499, 96), +(25, 2500, 85), +(25, 2501, 90), +(25, 2502, 85), +(25, 2503, 74), +(25, 2504, 79), +(25, 2505, 70), +(25, 2506, 81), +(25, 2507, 70), +(25, 2508, 85), +(25, 2509, 68), +(25, 2510, 80), +(25, 2511, 75), +(25, 2512, 89), +(25, 2513, 79), +(25, 2514, 78), +(25, 2515, 84), +(25, 2516, 74), +(25, 2517, 92), +(25, 2518, 95), +(25, 2519, 88), +(25, 2520, 67), +(25, 2521, 89), +(25, 2522, 78), +(25, 2523, 65), +(25, 2524, 69), +(25, 2525, 79), +(25, 2526, 92), +(25, 2527, 89), +(25, 2528, 90), +(25, 2529, 84), +(25, 2530, 76), +(25, 2531, 75), +(25, 2532, 70), +(25, 2533, 66), +(25, 2534, 72), +(25, 2535, 88), +(25, 2536, 88), +(25, 2537, 94), +(25, 2538, 70), +(25, 2539, 73), +(25, 2540, 94), +(25, 2541, 82), +(25, 2542, 91), +(25, 2543, 74), +(25, 2544, 77), +(25, 2545, 92), +(25, 2546, 86), +(25, 2547, 92), +(25, 2548, 93), +(25, 2549, 71), +(25, 2550, 69), +(25, 2551, 74), +(25, 2552, 84), +(25, 2553, 79), +(25, 2554, 81), +(25, 2555, 77), +(25, 2556, 98), +(25, 2557, 69), +(25, 2558, 80), +(25, 2559, 72), +(25, 2560, 91), +(25, 2561, 77), +(25, 2562, 66), +(25, 2563, 92), +(25, 2564, 89), +(25, 2565, 86), +(25, 2566, 92), +(25, 2567, 97), +(25, 2568, 95), +(25, 2569, 83), +(25, 2570, 97), +(25, 2571, 98), +(25, 2572, 87), +(25, 2573, 76), +(25, 2574, 93), +(25, 2575, 79), +(25, 2576, 99), +(25, 2577, 71), +(25, 2578, 99), +(25, 2579, 71), +(25, 2580, 71), +(25, 2581, 69), +(25, 2582, 97), +(25, 2583, 89), +(25, 2584, 81), +(25, 2585, 86), +(25, 2586, 98), +(25, 2587, 97), +(25, 2588, 81), +(25, 2589, 71), +(25, 2590, 98), +(25, 2591, 77), +(25, 2592, 94), +(25, 2593, 89), +(25, 2594, 68), +(25, 2595, 98), +(25, 2596, 66), +(25, 2597, 73), +(25, 2598, 85), +(25, 2599, 67), +(25, 2600, 74), +(25, 2601, 79), +(25, 2602, 92), +(25, 2603, 99), +(25, 2604, 68), +(25, 2605, 96), +(25, 2606, 69), +(25, 2607, 84), +(25, 2608, 93), +(25, 2609, 77), +(25, 2610, 98), +(26, 1, 85), +(26, 2, 78), +(26, 3, 91), +(26, 4, 77), +(26, 5, 85), +(26, 6, 79), +(26, 7, 89), +(26, 8, 76), +(26, 9, 65), +(26, 10, 96), +(26, 11, 68), +(26, 12, 96), +(26, 13, 80), +(26, 14, 99), +(26, 15, 86), +(26, 16, 67), +(26, 17, 86), +(26, 18, 80), +(26, 19, 84), +(26, 20, 97), +(26, 21, 99), +(26, 22, 84), +(26, 23, 67), +(26, 24, 96), +(26, 25, 88), +(26, 26, 80), +(26, 27, 95), +(26, 28, 94), +(26, 29, 65), +(26, 30, 83), +(26, 31, 97), +(26, 32, 73), +(26, 33, 93), +(26, 34, 72), +(26, 35, 84), +(26, 36, 81), +(26, 37, 96), +(26, 38, 79), +(26, 39, 83), +(26, 40, 87), +(26, 41, 65), +(26, 42, 65), +(26, 43, 99), +(26, 44, 89), +(26, 45, 86), +(26, 46, 92), +(26, 47, 70), +(26, 48, 85), +(26, 49, 65), +(26, 50, 77), +(26, 51, 66), +(26, 52, 69), +(26, 53, 94), +(26, 54, 83), +(26, 55, 92), +(26, 56, 81), +(26, 57, 65), +(26, 58, 99), +(26, 59, 96), +(26, 60, 77), +(26, 61, 93), +(26, 62, 70), +(26, 63, 73), +(26, 64, 85), +(26, 65, 77), +(26, 66, 66), +(26, 67, 74), +(26, 68, 75), +(26, 69, 76), +(26, 70, 88), +(26, 71, 84), +(26, 72, 90), +(26, 73, 83), +(26, 74, 79), +(26, 75, 94), +(26, 76, 84), +(26, 77, 85), +(26, 78, 89), +(26, 79, 78), +(26, 80, 74), +(26, 81, 75), +(26, 82, 73), +(26, 83, 86), +(26, 84, 77), +(26, 85, 72), +(26, 86, 97), +(26, 87, 85), +(26, 88, 77), +(26, 89, 74), +(26, 90, 96), +(26, 91, 95), +(26, 92, 79), +(26, 93, 85), +(26, 94, 77), +(26, 95, 68), +(26, 96, 91), +(26, 97, 81), +(26, 98, 73), +(26, 99, 77), +(26, 100, 98), +(26, 101, 72), +(26, 102, 83), +(26, 103, 98), +(26, 104, 71), +(26, 105, 74), +(26, 106, 87), +(26, 107, 73), +(26, 108, 86), +(26, 109, 78), +(26, 110, 66), +(26, 111, 74), +(26, 112, 82), +(26, 113, 98), +(26, 114, 92), +(26, 115, 99), +(26, 116, 97), +(26, 117, 72), +(26, 118, 66), +(26, 119, 67), +(26, 120, 66), +(26, 121, 91), +(26, 122, 85), +(26, 123, 65), +(26, 124, 69), +(26, 125, 70), +(26, 126, 70), +(26, 127, 88), +(26, 128, 71), +(26, 129, 85), +(26, 130, 68), +(26, 131, 94), +(26, 132, 78), +(26, 133, 75), +(26, 134, 85), +(26, 135, 71), +(26, 136, 94), +(26, 137, 72), +(26, 138, 82), +(26, 139, 74), +(26, 140, 91), +(26, 141, 94), +(26, 142, 77), +(26, 143, 98), +(26, 144, 89), +(26, 145, 92), +(26, 146, 93), +(26, 147, 88), +(26, 148, 75), +(26, 149, 84), +(26, 150, 80), +(26, 151, 89), +(26, 152, 80), +(26, 153, 83), +(26, 154, 71), +(26, 155, 67), +(26, 156, 91), +(26, 157, 86), +(26, 158, 81), +(26, 159, 71), +(26, 160, 75), +(26, 161, 71), +(26, 162, 77), +(26, 163, 78), +(26, 164, 92), +(26, 165, 69), +(26, 166, 93), +(26, 167, 97), +(26, 168, 71), +(26, 169, 86), +(26, 170, 99), +(26, 171, 90), +(26, 172, 92), +(26, 173, 95), +(26, 174, 79), +(26, 175, 83), +(26, 176, 68), +(26, 177, 90), +(26, 178, 91), +(26, 179, 87), +(26, 180, 89), +(26, 181, 99), +(26, 182, 97), +(26, 183, 99), +(26, 184, 92), +(26, 185, 89), +(26, 186, 78), +(26, 187, 82), +(26, 188, 77), +(26, 189, 67), +(26, 190, 88), +(26, 191, 94), +(26, 192, 89), +(26, 193, 97), +(26, 194, 78), +(26, 195, 82), +(26, 196, 96), +(26, 197, 87), +(26, 198, 77), +(26, 199, 74), +(26, 200, 88), +(26, 201, 85), +(26, 202, 98), +(26, 203, 66), +(26, 204, 80), +(26, 205, 93), +(26, 206, 88), +(26, 207, 69), +(26, 208, 79), +(26, 209, 76), +(26, 210, 80), +(26, 211, 79), +(26, 212, 91), +(26, 213, 88), +(26, 214, 66), +(26, 215, 88), +(26, 216, 92), +(26, 217, 70), +(26, 218, 67), +(26, 219, 87), +(26, 220, 96), +(26, 221, 77), +(26, 222, 67), +(26, 223, 74), +(26, 224, 87), +(26, 225, 97), +(26, 226, 79), +(26, 227, 81), +(26, 228, 90), +(26, 229, 98), +(26, 230, 67), +(26, 231, 92), +(26, 232, 65), +(26, 233, 78), +(26, 234, 85), +(26, 235, 96), +(26, 236, 99), +(26, 237, 82), +(26, 238, 93), +(26, 239, 95), +(26, 240, 88), +(26, 241, 88), +(26, 242, 85), +(26, 243, 97), +(26, 244, 90), +(26, 245, 82), +(26, 246, 72), +(26, 247, 93), +(26, 248, 96), +(26, 249, 68), +(26, 250, 96), +(26, 251, 82), +(26, 252, 85), +(26, 253, 80), +(26, 254, 86), +(26, 255, 81), +(26, 256, 69), +(26, 257, 92), +(26, 258, 90), +(26, 259, 97), +(26, 260, 99), +(26, 261, 72), +(26, 262, 78), +(26, 263, 67), +(26, 264, 70), +(26, 265, 66), +(26, 266, 97), +(26, 267, 85), +(26, 268, 70), +(26, 269, 71), +(26, 270, 83), +(26, 271, 77), +(26, 272, 72), +(26, 273, 83), +(26, 274, 82), +(26, 275, 68), +(26, 276, 90), +(26, 277, 68), +(26, 278, 71), +(26, 279, 77), +(26, 280, 93), +(26, 281, 91), +(26, 282, 77), +(26, 283, 91), +(26, 284, 77), +(26, 285, 78), +(26, 286, 68), +(26, 287, 95), +(26, 288, 95), +(26, 289, 75), +(26, 290, 78), +(26, 291, 87), +(26, 292, 81), +(26, 293, 75), +(26, 294, 90), +(26, 295, 91), +(26, 296, 85), +(26, 297, 81), +(26, 298, 94), +(26, 299, 83), +(26, 300, 87), +(26, 301, 91), +(26, 302, 89), +(26, 303, 96), +(26, 304, 91), +(26, 305, 76), +(26, 306, 99), +(26, 307, 91), +(26, 308, 76), +(26, 309, 71), +(26, 310, 77), +(26, 311, 69), +(26, 312, 95), +(26, 313, 78), +(26, 314, 77), +(26, 315, 86), +(26, 316, 72), +(26, 317, 85), +(26, 318, 83), +(26, 319, 91), +(26, 320, 79), +(26, 321, 75), +(26, 322, 68), +(26, 323, 72), +(26, 324, 85), +(26, 325, 98), +(26, 326, 69), +(26, 327, 79), +(26, 328, 79), +(26, 329, 77), +(26, 330, 90), +(26, 331, 67), +(26, 332, 65), +(26, 333, 86), +(26, 334, 83), +(26, 335, 90), +(26, 336, 92), +(26, 337, 73), +(26, 338, 98), +(26, 339, 82), +(26, 340, 94), +(26, 341, 95), +(26, 342, 82), +(26, 343, 82), +(26, 344, 93), +(26, 345, 89), +(26, 346, 82), +(26, 347, 78), +(26, 348, 86), +(26, 349, 72), +(26, 350, 85), +(26, 351, 75), +(26, 352, 90), +(26, 353, 80), +(26, 354, 76), +(26, 355, 95), +(26, 356, 76), +(26, 357, 80), +(26, 358, 85), +(26, 359, 69), +(26, 360, 89), +(26, 361, 74), +(26, 362, 96), +(26, 363, 86), +(26, 364, 95), +(26, 365, 87), +(26, 366, 89), +(26, 367, 96), +(26, 368, 75), +(26, 369, 92), +(26, 370, 70), +(26, 371, 83), +(26, 372, 91), +(26, 373, 78), +(26, 374, 68), +(26, 375, 70), +(26, 376, 68), +(26, 377, 84), +(26, 378, 73), +(26, 379, 71), +(26, 380, 73), +(26, 381, 65), +(26, 382, 99), +(26, 383, 93), +(26, 384, 70), +(26, 385, 90), +(26, 386, 81), +(26, 387, 92), +(26, 388, 88), +(26, 389, 75), +(26, 390, 86), +(26, 391, 79), +(26, 392, 65), +(26, 393, 96), +(26, 394, 69), +(26, 395, 92), +(26, 396, 90), +(26, 397, 78), +(26, 398, 87), +(26, 399, 91), +(26, 400, 76), +(26, 401, 68), +(26, 402, 91), +(26, 403, 92), +(26, 404, 85), +(26, 405, 78), +(26, 406, 80), +(26, 407, 67), +(26, 408, 88), +(26, 409, 85), +(26, 410, 88), +(26, 411, 81), +(26, 412, 71), +(26, 413, 80), +(26, 414, 79), +(26, 415, 97), +(26, 416, 69), +(26, 417, 68), +(26, 418, 92), +(26, 419, 67), +(26, 420, 88), +(26, 421, 78), +(26, 422, 82), +(26, 423, 68), +(26, 424, 79), +(26, 425, 74), +(26, 426, 94), +(26, 427, 71), +(26, 428, 95), +(26, 429, 94), +(26, 430, 94), +(26, 431, 82), +(26, 432, 95), +(26, 433, 74), +(26, 434, 92), +(26, 435, 92), +(26, 436, 68), +(26, 437, 93), +(26, 438, 97), +(26, 439, 69), +(26, 440, 92), +(26, 441, 65), +(26, 442, 81), +(26, 443, 89), +(26, 444, 70), +(26, 445, 79), +(26, 446, 74), +(26, 447, 74), +(26, 448, 94), +(26, 449, 97), +(26, 450, 88), +(26, 451, 74), +(26, 452, 84), +(26, 453, 95), +(26, 454, 71), +(26, 455, 81), +(26, 456, 94), +(26, 457, 93), +(26, 458, 76), +(26, 459, 81), +(26, 460, 66), +(26, 461, 82), +(26, 462, 94), +(26, 463, 87), +(26, 464, 70), +(26, 465, 72), +(26, 466, 84), +(26, 467, 76), +(26, 468, 75), +(26, 469, 79), +(26, 470, 81), +(26, 471, 98), +(26, 472, 89), +(26, 473, 97), +(26, 474, 84), +(26, 475, 74), +(26, 476, 94), +(26, 477, 75), +(26, 478, 91), +(26, 479, 75), +(26, 480, 76), +(26, 481, 75), +(26, 482, 97), +(26, 483, 88), +(26, 484, 95), +(26, 485, 94), +(26, 486, 83), +(26, 487, 93), +(26, 488, 71), +(26, 489, 94), +(26, 490, 76), +(26, 491, 86), +(26, 492, 93), +(26, 493, 78), +(26, 494, 83), +(26, 495, 80), +(26, 496, 87), +(26, 497, 85), +(26, 498, 88), +(26, 499, 82), +(26, 500, 89), +(26, 501, 88), +(26, 502, 87), +(26, 503, 78), +(26, 504, 94), +(26, 505, 72), +(26, 506, 77), +(26, 507, 90), +(26, 508, 90), +(26, 509, 69), +(26, 510, 91), +(26, 511, 90), +(26, 512, 87), +(26, 513, 96), +(26, 514, 83), +(26, 515, 86), +(26, 516, 94), +(26, 517, 67), +(26, 518, 90), +(26, 519, 67), +(26, 520, 95), +(26, 521, 67), +(26, 522, 91), +(26, 523, 92), +(26, 524, 89), +(26, 525, 75), +(26, 526, 92), +(26, 527, 83), +(26, 528, 82), +(26, 529, 78), +(26, 530, 91), +(26, 531, 89), +(26, 532, 77), +(26, 533, 93), +(26, 534, 74), +(26, 535, 81), +(26, 536, 74), +(26, 537, 70), +(26, 538, 91), +(26, 539, 78), +(26, 540, 91), +(26, 541, 84), +(26, 542, 93), +(26, 543, 67), +(26, 544, 81), +(26, 545, 96), +(26, 546, 90), +(26, 547, 85), +(26, 548, 74), +(26, 549, 65), +(26, 550, 84), +(26, 551, 65), +(26, 552, 72), +(26, 553, 75), +(26, 554, 69), +(26, 555, 76), +(26, 556, 66), +(26, 557, 97), +(26, 558, 81), +(26, 559, 99), +(26, 560, 69), +(26, 561, 86), +(26, 562, 96), +(26, 563, 84), +(26, 564, 93), +(26, 1024, 65), +(26, 1025, 81), +(26, 1026, 67), +(26, 1027, 81), +(26, 1028, 88), +(26, 1029, 99), +(26, 1030, 70), +(26, 1031, 84), +(26, 1032, 77), +(26, 1033, 92), +(26, 1034, 99), +(26, 1035, 90), +(26, 1036, 66), +(26, 1037, 90), +(26, 1038, 79), +(26, 1039, 98), +(26, 1040, 76), +(26, 1041, 81), +(26, 1042, 81), +(26, 1043, 83), +(26, 1044, 77), +(26, 1045, 74), +(26, 1046, 83), +(26, 1047, 65), +(26, 1048, 81), +(26, 1049, 76), +(26, 1050, 84), +(26, 1051, 91), +(26, 1052, 98), +(26, 1053, 94), +(26, 1054, 92), +(26, 1055, 83), +(26, 1056, 68), +(26, 1057, 70), +(26, 1058, 86), +(26, 1059, 80), +(26, 1060, 76), +(26, 1061, 69), +(26, 1062, 96), +(26, 1063, 96), +(26, 1064, 77), +(26, 1065, 92), +(26, 1066, 65), +(26, 1067, 85), +(26, 1068, 79), +(26, 1069, 80), +(26, 1070, 95), +(26, 1071, 73), +(26, 1072, 97), +(26, 1073, 71), +(26, 1074, 91), +(26, 1075, 97), +(26, 1076, 93), +(26, 1077, 73), +(26, 1078, 88), +(26, 1079, 79), +(26, 1080, 81), +(26, 1081, 76), +(26, 1082, 66), +(26, 1083, 80), +(26, 1084, 71), +(26, 1085, 75), +(26, 1086, 68), +(26, 1087, 84), +(26, 1088, 72), +(26, 1089, 85), +(26, 1090, 97), +(26, 1091, 77), +(26, 1092, 71), +(26, 1093, 97), +(26, 1094, 69), +(26, 1095, 88), +(26, 1096, 91), +(26, 1097, 95), +(26, 1098, 94), +(26, 1099, 74), +(26, 1100, 99), +(26, 1101, 79), +(26, 1102, 97), +(26, 1103, 65), +(26, 1104, 89), +(26, 1105, 79), +(26, 1106, 89), +(26, 1107, 74), +(26, 1108, 77), +(26, 1109, 95), +(26, 1110, 78), +(26, 1111, 69), +(26, 1112, 72), +(26, 1113, 98), +(26, 1114, 96), +(26, 1115, 88), +(26, 1116, 84), +(26, 1117, 87), +(26, 1118, 80), +(26, 1119, 67), +(26, 1120, 72), +(26, 1121, 77), +(26, 1122, 79), +(26, 1123, 75), +(26, 1124, 83), +(26, 1125, 92), +(26, 1126, 92), +(26, 1127, 84), +(26, 1128, 81), +(26, 1129, 91), +(26, 1130, 94), +(26, 1131, 67), +(26, 1132, 79), +(26, 1133, 83), +(26, 1134, 93), +(26, 1135, 91), +(26, 1136, 99), +(26, 1137, 75), +(26, 1138, 99), +(26, 1139, 82), +(26, 1140, 91), +(26, 1141, 83), +(26, 1142, 81), +(26, 1143, 79), +(26, 1144, 91), +(26, 1145, 91), +(26, 1146, 73), +(26, 1147, 71), +(26, 1148, 90), +(26, 1149, 72), +(26, 1150, 80), +(26, 1151, 70), +(26, 1152, 72), +(26, 1153, 76), +(26, 1154, 78), +(26, 1155, 93), +(26, 1156, 95), +(26, 1157, 88), +(26, 1158, 80), +(26, 1159, 92), +(26, 1160, 65), +(26, 1161, 94), +(26, 1162, 82), +(26, 1163, 70), +(26, 1164, 86), +(26, 1165, 92), +(26, 1166, 85), +(26, 1167, 82), +(26, 1168, 75), +(26, 1169, 69), +(26, 1170, 66), +(26, 1171, 93), +(26, 1172, 98), +(26, 1173, 97), +(26, 1174, 70), +(26, 1175, 74), +(26, 1176, 66), +(26, 1177, 83), +(26, 1178, 77), +(26, 1179, 70), +(26, 1180, 91), +(26, 1181, 98), +(26, 1182, 73), +(26, 1183, 70), +(26, 1184, 82), +(26, 1185, 89), +(26, 1186, 67), +(26, 1187, 71), +(26, 1188, 87), +(26, 1189, 84), +(26, 1190, 84), +(26, 1191, 78), +(26, 1192, 72), +(26, 1193, 73), +(26, 1194, 75), +(26, 1195, 89), +(26, 1196, 83), +(26, 1197, 77), +(26, 1198, 75), +(26, 1199, 85), +(26, 1200, 91), +(26, 1201, 98), +(26, 1202, 84), +(26, 1203, 77), +(26, 1204, 69), +(26, 1205, 86), +(26, 1206, 95), +(26, 1207, 96), +(26, 1208, 66), +(26, 1209, 70), +(26, 1210, 76), +(26, 1211, 85), +(26, 1212, 81), +(26, 1213, 91), +(26, 1214, 70), +(26, 1215, 69), +(26, 1216, 96), +(26, 1217, 77), +(26, 1218, 89), +(26, 1219, 76), +(26, 1220, 70), +(26, 1221, 94), +(26, 1222, 71), +(26, 1223, 92), +(26, 1224, 72), +(26, 1225, 75), +(26, 1226, 95), +(26, 1227, 98), +(26, 1228, 79), +(26, 1229, 94), +(26, 1230, 90), +(26, 1231, 76), +(26, 1232, 92), +(26, 1233, 85), +(26, 1234, 88), +(26, 1235, 66), +(26, 1236, 85), +(26, 1237, 99), +(26, 1238, 83), +(26, 1239, 93), +(26, 1240, 75), +(26, 1241, 94), +(26, 1242, 68), +(26, 1243, 65), +(26, 1244, 94), +(26, 1245, 80), +(26, 1246, 95), +(26, 1247, 98), +(26, 1248, 75), +(26, 1249, 68), +(26, 1250, 80), +(26, 1251, 82), +(26, 1252, 85), +(26, 1253, 67), +(26, 1254, 69), +(26, 1255, 93), +(26, 1256, 82), +(26, 1257, 70), +(26, 1258, 75), +(26, 1259, 95), +(26, 1260, 82), +(26, 1261, 66), +(26, 1262, 67), +(26, 1263, 78), +(26, 1264, 80), +(26, 1265, 91), +(26, 1266, 68), +(26, 1267, 80), +(26, 1268, 78), +(26, 1269, 70), +(26, 1270, 98), +(26, 1271, 93), +(26, 1272, 87), +(26, 1273, 69), +(26, 1274, 86), +(26, 1275, 77), +(26, 1276, 93), +(26, 1277, 85), +(26, 1278, 84), +(26, 1279, 89), +(26, 1280, 90), +(26, 1281, 94), +(26, 1282, 95), +(26, 1283, 83), +(26, 1284, 81), +(26, 1285, 72), +(26, 1286, 85), +(26, 1287, 87), +(26, 1288, 92), +(26, 1289, 89), +(26, 1290, 69), +(26, 1291, 92), +(26, 1292, 67), +(26, 1293, 79), +(26, 1294, 95), +(26, 1295, 65), +(26, 1296, 97), +(26, 1297, 89), +(26, 1298, 80), +(26, 1299, 90), +(26, 1300, 75), +(26, 1301, 99), +(26, 1302, 68), +(26, 1303, 68), +(26, 1304, 88), +(26, 1305, 97), +(26, 1306, 90), +(26, 1307, 95), +(26, 1308, 91), +(26, 1309, 90), +(26, 1310, 94), +(26, 1311, 90), +(26, 1312, 74), +(26, 1313, 73), +(26, 1314, 66), +(26, 1315, 98), +(26, 1316, 91), +(26, 1317, 82), +(26, 1318, 86), +(26, 1319, 75), +(26, 1320, 83), +(26, 1321, 90), +(26, 1322, 96), +(26, 1323, 73), +(26, 1324, 75), +(26, 1325, 67), +(26, 1326, 81), +(26, 1327, 79), +(26, 1328, 65), +(26, 1329, 76), +(26, 1330, 87), +(26, 1331, 97), +(26, 1332, 79), +(26, 1333, 80), +(26, 1334, 95), +(26, 1335, 74), +(26, 1336, 65), +(26, 1337, 97), +(26, 1338, 86), +(26, 1339, 68), +(26, 1340, 72), +(26, 1341, 70), +(26, 1342, 76), +(26, 1343, 68), +(26, 1344, 83), +(26, 1345, 76), +(26, 1346, 67), +(26, 1347, 67), +(26, 1348, 83), +(26, 1349, 91), +(26, 1350, 80), +(26, 1351, 97), +(26, 1352, 91), +(26, 1353, 93), +(26, 1354, 70), +(26, 1355, 85), +(26, 1356, 69), +(26, 1357, 94), +(26, 1358, 67), +(26, 1359, 73), +(26, 1360, 79), +(26, 1361, 94), +(26, 1362, 70), +(26, 1363, 88), +(26, 1364, 68), +(26, 1365, 90), +(26, 1366, 67), +(26, 1367, 90), +(26, 1368, 85), +(26, 1369, 95), +(26, 1370, 84), +(26, 1371, 79), +(26, 1372, 92), +(26, 1373, 77), +(26, 1374, 67), +(26, 1375, 96), +(26, 1376, 84), +(26, 1377, 80), +(26, 1378, 85), +(26, 1379, 68), +(26, 1380, 92), +(26, 1381, 73), +(26, 1382, 69), +(26, 1383, 81), +(26, 1384, 98), +(26, 1385, 86), +(26, 1386, 99), +(26, 1387, 83), +(26, 1388, 82), +(26, 1389, 94), +(26, 1390, 96), +(26, 1391, 77), +(26, 1392, 83), +(26, 1393, 86), +(26, 1394, 72), +(26, 1395, 79), +(26, 1396, 88), +(26, 1397, 75), +(26, 1398, 75), +(26, 1399, 75), +(26, 1400, 91), +(26, 1401, 78), +(26, 1402, 81), +(26, 1403, 99), +(26, 1404, 84), +(26, 1405, 70), +(26, 1406, 73), +(26, 1407, 95), +(26, 1408, 99), +(26, 1409, 95), +(26, 1410, 89), +(26, 1411, 91), +(26, 1412, 68), +(26, 1413, 67), +(26, 1414, 89), +(26, 1415, 80), +(26, 1416, 98), +(26, 1417, 93), +(26, 1418, 79), +(26, 1419, 90), +(26, 1420, 99), +(26, 1421, 85), +(26, 1422, 93), +(26, 1423, 87), +(26, 1424, 77), +(26, 1425, 73), +(26, 1426, 94), +(26, 1427, 71), +(26, 1428, 84), +(26, 1429, 95), +(26, 1430, 83), +(26, 1431, 86), +(26, 1432, 71), +(26, 1433, 85), +(26, 1434, 87), +(26, 1435, 70), +(26, 1436, 84), +(26, 1437, 68), +(26, 1438, 91), +(26, 1439, 87), +(26, 1440, 90), +(26, 1441, 95), +(26, 1442, 72), +(26, 1443, 94), +(26, 1444, 83), +(26, 1445, 85), +(26, 1446, 85), +(26, 1447, 72), +(26, 1448, 82), +(26, 1449, 99), +(26, 1450, 78), +(26, 1451, 68), +(26, 1452, 68), +(26, 1453, 88), +(26, 1454, 79), +(26, 1455, 85), +(26, 1456, 99), +(26, 1457, 68), +(26, 1458, 99), +(26, 1459, 84), +(26, 1460, 85), +(26, 1461, 74), +(26, 1462, 66), +(26, 1463, 91), +(26, 1464, 94), +(26, 1465, 66), +(26, 1466, 87), +(26, 1467, 86), +(26, 1468, 87), +(26, 1469, 89), +(26, 1470, 78), +(26, 1471, 92), +(26, 1472, 88), +(26, 1473, 73), +(26, 1474, 82), +(26, 1475, 65), +(26, 1476, 92), +(26, 1477, 98), +(26, 1478, 89), +(26, 1479, 87), +(26, 1480, 72), +(26, 1481, 87), +(26, 1482, 92), +(26, 1483, 79), +(26, 1484, 97), +(26, 1485, 74), +(26, 1486, 75), +(26, 1487, 99), +(26, 1488, 94), +(26, 1489, 70), +(26, 1490, 75), +(26, 1491, 67), +(26, 1492, 97), +(26, 1493, 92), +(26, 1494, 79), +(26, 1495, 83), +(26, 1496, 76), +(26, 1497, 82), +(26, 1498, 96), +(26, 1499, 99), +(26, 1500, 65), +(26, 1501, 86), +(26, 1502, 81), +(26, 1503, 72), +(26, 1504, 68), +(26, 1505, 70), +(26, 1506, 91), +(26, 1507, 89), +(26, 1508, 74), +(26, 1509, 86), +(26, 1510, 89), +(26, 1511, 76), +(26, 1512, 80), +(26, 1513, 91), +(26, 1514, 73), +(26, 1515, 77), +(26, 1516, 88), +(26, 1517, 85), +(26, 1518, 97), +(26, 1519, 74), +(26, 1520, 87), +(26, 1521, 92), +(26, 1522, 77), +(26, 1523, 90), +(26, 1524, 95), +(26, 1525, 70), +(26, 1526, 92), +(26, 1527, 99), +(26, 1528, 85), +(26, 1529, 98), +(26, 1530, 95), +(26, 1531, 68), +(26, 1532, 72), +(26, 1533, 74), +(26, 1534, 77), +(26, 1535, 85), +(26, 1536, 90), +(26, 1537, 99), +(26, 1538, 98), +(26, 1539, 77), +(26, 1540, 98), +(26, 1541, 95), +(26, 1542, 88), +(26, 1543, 69), +(26, 1544, 78), +(26, 1545, 73), +(26, 1546, 96), +(26, 1547, 71), +(26, 1548, 71), +(26, 1549, 94), +(26, 1550, 97), +(26, 1551, 71), +(26, 1552, 91), +(26, 1553, 88), +(26, 1554, 87), +(26, 1555, 85), +(26, 1556, 68), +(26, 1557, 71), +(26, 1558, 94), +(26, 1559, 94), +(26, 1560, 75), +(26, 1561, 73), +(26, 1562, 68), +(26, 1563, 72), +(26, 1564, 89), +(26, 1565, 81), +(26, 1566, 76), +(26, 1567, 98), +(26, 1568, 78), +(26, 1569, 74), +(26, 1570, 86), +(26, 1571, 78), +(26, 1572, 73), +(26, 1573, 98), +(26, 1574, 82), +(26, 1575, 85), +(26, 1576, 95), +(26, 1577, 92), +(26, 1578, 89), +(26, 1579, 72), +(26, 1580, 95), +(26, 1581, 80), +(26, 1582, 89), +(26, 1583, 81), +(26, 1584, 77), +(26, 1585, 97), +(26, 1586, 68), +(26, 1587, 92), +(26, 2047, 99), +(26, 2048, 65), +(26, 2049, 68), +(26, 2050, 82), +(26, 2051, 89), +(26, 2052, 84), +(26, 2053, 78), +(26, 2054, 76), +(26, 2055, 75), +(26, 2056, 96), +(26, 2057, 95), +(26, 2058, 90), +(26, 2059, 90), +(26, 2060, 91), +(26, 2061, 97), +(26, 2062, 81), +(26, 2063, 91), +(26, 2064, 86), +(26, 2065, 96), +(26, 2066, 96), +(26, 2067, 91), +(26, 2068, 86), +(26, 2069, 81), +(26, 2070, 72), +(26, 2071, 79), +(26, 2072, 82), +(26, 2073, 97), +(26, 2074, 91), +(26, 2075, 93), +(26, 2076, 75), +(26, 2077, 97), +(26, 2078, 69), +(26, 2079, 82), +(26, 2080, 93), +(26, 2081, 84), +(26, 2082, 66), +(26, 2083, 86), +(26, 2084, 87), +(26, 2085, 66), +(26, 2086, 78), +(26, 2087, 99), +(26, 2088, 91), +(26, 2089, 96), +(26, 2090, 96), +(26, 2091, 92), +(26, 2092, 79), +(26, 2093, 78), +(26, 2094, 74), +(26, 2095, 97), +(26, 2096, 85), +(26, 2097, 80), +(26, 2098, 66), +(26, 2099, 92), +(26, 2100, 89), +(26, 2101, 91), +(26, 2102, 68), +(26, 2103, 82), +(26, 2104, 79), +(26, 2105, 73), +(26, 2106, 72), +(26, 2107, 99), +(26, 2108, 75), +(26, 2109, 81), +(26, 2110, 70), +(26, 2111, 98), +(26, 2112, 96), +(26, 2113, 97), +(26, 2114, 71), +(26, 2115, 85), +(26, 2116, 92), +(26, 2117, 74), +(26, 2118, 72), +(26, 2119, 87), +(26, 2120, 65), +(26, 2121, 73), +(26, 2122, 65), +(26, 2123, 84), +(26, 2124, 67), +(26, 2125, 94), +(26, 2126, 92), +(26, 2127, 92), +(26, 2128, 86), +(26, 2129, 72), +(26, 2130, 77), +(26, 2131, 81), +(26, 2132, 70), +(26, 2133, 70), +(26, 2134, 94), +(26, 2135, 81), +(26, 2136, 83), +(26, 2137, 93), +(26, 2138, 82), +(26, 2139, 66), +(26, 2140, 82), +(26, 2141, 87), +(26, 2142, 67), +(26, 2143, 65), +(26, 2144, 65), +(26, 2145, 73), +(26, 2146, 82), +(26, 2147, 84), +(26, 2148, 82), +(26, 2149, 68), +(26, 2150, 96), +(26, 2151, 83), +(26, 2152, 95), +(26, 2153, 88), +(26, 2154, 71), +(26, 2155, 66), +(26, 2156, 99), +(26, 2157, 71), +(26, 2158, 95), +(26, 2159, 65), +(26, 2160, 92), +(26, 2161, 87), +(26, 2162, 68), +(26, 2163, 70), +(26, 2164, 98), +(26, 2165, 95), +(26, 2166, 87), +(26, 2167, 74), +(26, 2168, 88), +(26, 2169, 69), +(26, 2170, 73), +(26, 2171, 70), +(26, 2172, 93), +(26, 2173, 86), +(26, 2174, 74), +(26, 2175, 81), +(26, 2176, 77), +(26, 2177, 82), +(26, 2178, 98), +(26, 2179, 99), +(26, 2180, 73), +(26, 2181, 97), +(26, 2182, 79), +(26, 2183, 85), +(26, 2184, 91), +(26, 2185, 85), +(26, 2186, 89), +(26, 2187, 88), +(26, 2188, 90), +(26, 2189, 77), +(26, 2190, 72), +(26, 2191, 98), +(26, 2192, 94), +(26, 2193, 74), +(26, 2194, 90), +(26, 2195, 73), +(26, 2196, 70), +(26, 2197, 89), +(26, 2198, 70), +(26, 2199, 73), +(26, 2200, 86), +(26, 2201, 97), +(26, 2202, 78), +(26, 2203, 67), +(26, 2204, 96), +(26, 2205, 94), +(26, 2206, 90), +(26, 2207, 99), +(26, 2208, 81), +(26, 2209, 92), +(26, 2210, 73), +(26, 2211, 72), +(26, 2212, 65), +(26, 2213, 73), +(26, 2214, 93), +(26, 2215, 91), +(26, 2216, 90), +(26, 2217, 79), +(26, 2218, 93), +(26, 2219, 99), +(26, 2220, 78), +(26, 2221, 73), +(26, 2222, 83), +(26, 2223, 67), +(26, 2224, 94), +(26, 2225, 91), +(26, 2226, 86), +(26, 2227, 72), +(26, 2228, 92), +(26, 2229, 85), +(26, 2230, 83), +(26, 2231, 70), +(26, 2232, 82), +(26, 2233, 88), +(26, 2234, 75), +(26, 2235, 89), +(26, 2236, 92), +(26, 2237, 85), +(26, 2238, 74), +(26, 2239, 75), +(26, 2240, 69), +(26, 2241, 65), +(26, 2242, 87), +(26, 2243, 79), +(26, 2244, 87), +(26, 2245, 82), +(26, 2246, 78), +(26, 2247, 91), +(26, 2248, 70), +(26, 2249, 99), +(26, 2250, 70), +(26, 2251, 76), +(26, 2252, 76), +(26, 2253, 76), +(26, 2254, 76), +(26, 2255, 79), +(26, 2256, 82), +(26, 2257, 95), +(26, 2258, 95), +(26, 2259, 80), +(26, 2260, 74), +(26, 2261, 66), +(26, 2262, 69), +(26, 2263, 70), +(26, 2264, 73), +(26, 2265, 95), +(26, 2266, 87), +(26, 2267, 68), +(26, 2268, 65), +(26, 2269, 96), +(26, 2270, 99), +(26, 2271, 84), +(26, 2272, 98), +(26, 2273, 86), +(26, 2274, 86), +(26, 2275, 93), +(26, 2276, 84), +(26, 2277, 81), +(26, 2278, 72), +(26, 2279, 95), +(26, 2280, 88), +(26, 2281, 99), +(26, 2282, 78), +(26, 2283, 81), +(26, 2284, 85), +(26, 2285, 66), +(26, 2286, 78), +(26, 2287, 66), +(26, 2288, 84), +(26, 2289, 90), +(26, 2290, 72), +(26, 2291, 70), +(26, 2292, 72), +(26, 2293, 72), +(26, 2294, 85), +(26, 2295, 79), +(26, 2296, 87), +(26, 2297, 95), +(26, 2298, 68), +(26, 2299, 65), +(26, 2300, 98), +(26, 2301, 68), +(26, 2302, 93), +(26, 2303, 94), +(26, 2304, 75), +(26, 2305, 66), +(26, 2306, 66), +(26, 2307, 67), +(26, 2308, 86), +(26, 2309, 88), +(26, 2310, 82), +(26, 2311, 77), +(26, 2312, 76), +(26, 2313, 66), +(26, 2314, 98), +(26, 2315, 69), +(26, 2316, 69), +(26, 2317, 76), +(26, 2318, 98), +(26, 2319, 69), +(26, 2320, 76), +(26, 2321, 71), +(26, 2322, 91), +(26, 2323, 66), +(26, 2324, 80), +(26, 2325, 82), +(26, 2326, 65), +(26, 2327, 94), +(26, 2328, 92), +(26, 2329, 74), +(26, 2330, 72), +(26, 2331, 74), +(26, 2332, 73), +(26, 2333, 93), +(26, 2334, 88), +(26, 2335, 84), +(26, 2336, 95), +(26, 2337, 96), +(26, 2338, 70), +(26, 2339, 97), +(26, 2340, 82), +(26, 2341, 87), +(26, 2342, 73), +(26, 2343, 73), +(26, 2344, 77), +(26, 2345, 68), +(26, 2346, 87), +(26, 2347, 89), +(26, 2348, 70), +(26, 2349, 65), +(26, 2350, 99), +(26, 2351, 94), +(26, 2352, 93), +(26, 2353, 86), +(26, 2354, 87), +(26, 2355, 87), +(26, 2356, 92), +(26, 2357, 80), +(26, 2358, 94), +(26, 2359, 75), +(26, 2360, 86), +(26, 2361, 67), +(26, 2362, 88), +(26, 2363, 94), +(26, 2364, 71), +(26, 2365, 74), +(26, 2366, 79), +(26, 2367, 71), +(26, 2368, 95), +(26, 2369, 73), +(26, 2370, 95), +(26, 2371, 78), +(26, 2372, 87), +(26, 2373, 80), +(26, 2374, 77), +(26, 2375, 67), +(26, 2376, 80), +(26, 2377, 72), +(26, 2378, 77), +(26, 2379, 72), +(26, 2380, 68), +(26, 2381, 87), +(26, 2382, 74), +(26, 2383, 79), +(26, 2384, 88), +(26, 2385, 74), +(26, 2386, 88), +(26, 2387, 71), +(26, 2388, 65), +(26, 2389, 78), +(26, 2390, 86), +(26, 2391, 78), +(26, 2392, 69), +(26, 2393, 80), +(26, 2394, 97), +(26, 2395, 93), +(26, 2396, 92), +(26, 2397, 98), +(26, 2398, 83), +(26, 2399, 79), +(26, 2400, 72), +(26, 2401, 78), +(26, 2402, 81), +(26, 2403, 91), +(26, 2404, 88), +(26, 2405, 84), +(26, 2406, 81), +(26, 2407, 82), +(26, 2408, 84), +(26, 2409, 77), +(26, 2410, 92), +(26, 2411, 85), +(26, 2412, 75), +(26, 2413, 84), +(26, 2414, 78), +(26, 2415, 90), +(26, 2416, 95), +(26, 2417, 99), +(26, 2418, 80), +(26, 2419, 92), +(26, 2420, 83), +(26, 2421, 77), +(26, 2422, 84), +(26, 2423, 82), +(26, 2424, 91), +(26, 2425, 77), +(26, 2426, 67), +(26, 2427, 69), +(26, 2428, 91), +(26, 2429, 85), +(26, 2430, 65), +(26, 2431, 96), +(26, 2432, 82), +(26, 2433, 72), +(26, 2434, 78), +(26, 2435, 90), +(26, 2436, 88), +(26, 2437, 71), +(26, 2438, 86), +(26, 2439, 71), +(26, 2440, 88), +(26, 2441, 88), +(26, 2442, 98), +(26, 2443, 77), +(26, 2444, 83), +(26, 2445, 96), +(26, 2446, 94), +(26, 2447, 89), +(26, 2448, 86), +(26, 2449, 74), +(26, 2450, 81), +(26, 2451, 95), +(26, 2452, 80), +(26, 2453, 76), +(26, 2454, 94), +(26, 2455, 84), +(26, 2456, 75), +(26, 2457, 71), +(26, 2458, 74), +(26, 2459, 83), +(26, 2460, 71), +(26, 2461, 69), +(26, 2462, 95), +(26, 2463, 75), +(26, 2464, 88), +(26, 2465, 96), +(26, 2466, 67), +(26, 2467, 74), +(26, 2468, 83), +(26, 2469, 79), +(26, 2470, 76), +(26, 2471, 78), +(26, 2472, 70), +(26, 2473, 99), +(26, 2474, 72), +(26, 2475, 66), +(26, 2476, 94), +(26, 2477, 85), +(26, 2478, 90), +(26, 2479, 75), +(26, 2480, 89), +(26, 2481, 92), +(26, 2482, 76), +(26, 2483, 66), +(26, 2484, 86), +(26, 2485, 65), +(26, 2486, 79), +(26, 2487, 88), +(26, 2488, 98), +(26, 2489, 82), +(26, 2490, 95), +(26, 2491, 97), +(26, 2492, 68), +(26, 2493, 76), +(26, 2494, 91), +(26, 2495, 89), +(26, 2496, 98), +(26, 2497, 87), +(26, 2498, 65), +(26, 2499, 69), +(26, 2500, 69), +(26, 2501, 73), +(26, 2502, 73), +(26, 2503, 73), +(26, 2504, 98), +(26, 2505, 76), +(26, 2506, 67), +(26, 2507, 83), +(26, 2508, 68), +(26, 2509, 72), +(26, 2510, 81), +(26, 2511, 82), +(26, 2512, 67), +(26, 2513, 65), +(26, 2514, 69), +(26, 2515, 95), +(26, 2516, 84), +(26, 2517, 93), +(26, 2518, 82), +(26, 2519, 93), +(26, 2520, 71), +(26, 2521, 93), +(26, 2522, 70), +(26, 2523, 74), +(26, 2524, 69), +(26, 2525, 99), +(26, 2526, 68), +(26, 2527, 87), +(26, 2528, 74), +(26, 2529, 83), +(26, 2530, 68), +(26, 2531, 75), +(26, 2532, 76), +(26, 2533, 88), +(26, 2534, 83), +(26, 2535, 92), +(26, 2536, 73), +(26, 2537, 94), +(26, 2538, 95), +(26, 2539, 88), +(26, 2540, 70), +(26, 2541, 68), +(26, 2542, 73), +(26, 2543, 85), +(26, 2544, 67), +(26, 2545, 89), +(26, 2546, 76), +(26, 2547, 67), +(26, 2548, 71), +(26, 2549, 77), +(26, 2550, 87), +(26, 2551, 75), +(26, 2552, 67), +(26, 2553, 81), +(26, 2554, 86), +(26, 2555, 92), +(26, 2556, 90), +(26, 2557, 96), +(26, 2558, 92), +(26, 2559, 80), +(26, 2560, 83), +(26, 2561, 80), +(26, 2562, 97), +(26, 2563, 77), +(26, 2564, 87), +(26, 2565, 84), +(26, 2566, 74), +(26, 2567, 83), +(26, 2568, 92), +(26, 2569, 67), +(26, 2570, 71), +(26, 2571, 99), +(26, 2572, 89), +(26, 2573, 68), +(26, 2574, 91), +(26, 2575, 79), +(26, 2576, 82), +(26, 2577, 71), +(26, 2578, 66), +(26, 2579, 79), +(26, 2580, 86), +(26, 2581, 82), +(26, 2582, 95), +(26, 2583, 66), +(26, 2584, 81), +(26, 2585, 94), +(26, 2586, 78), +(26, 2587, 68), +(26, 2588, 82), +(26, 2589, 69), +(26, 2590, 73), +(26, 2591, 78), +(26, 2592, 67), +(26, 2593, 79), +(26, 2594, 71), +(26, 2595, 75), +(26, 2596, 81), +(26, 2597, 74), +(26, 2598, 79), +(26, 2599, 73), +(26, 2600, 91), +(26, 2601, 85), +(26, 2602, 77), +(26, 2603, 91), +(26, 2604, 89), +(26, 2605, 71), +(26, 2606, 89), +(26, 2607, 93), +(26, 2608, 88), +(26, 2609, 78), +(26, 2610, 67), +(27, 1, 86), +(27, 2, 81), +(27, 3, 96), +(27, 4, 96), +(27, 5, 82), +(27, 6, 78), +(27, 7, 97), +(27, 8, 73), +(27, 9, 71), +(27, 10, 92), +(27, 11, 74), +(27, 12, 94), +(27, 13, 67), +(27, 14, 89), +(27, 15, 99), +(27, 16, 82), +(27, 17, 85), +(27, 18, 95), +(27, 19, 68), +(27, 20, 74), +(27, 21, 90), +(27, 22, 80), +(27, 23, 70), +(27, 24, 87), +(27, 25, 95), +(27, 26, 90), +(27, 27, 81), +(27, 28, 83), +(27, 29, 71), +(27, 30, 75), +(27, 31, 77), +(27, 32, 94), +(27, 33, 87), +(27, 34, 66), +(27, 35, 95), +(27, 36, 96), +(27, 37, 77), +(27, 38, 76), +(27, 39, 84), +(27, 40, 94), +(27, 41, 91), +(27, 42, 66), +(27, 43, 69), +(27, 44, 66), +(27, 45, 97), +(27, 46, 93), +(27, 47, 96), +(27, 48, 89), +(27, 49, 78), +(27, 50, 74), +(27, 51, 97), +(27, 52, 91), +(27, 53, 76), +(27, 54, 95), +(27, 55, 79), +(27, 56, 86), +(27, 57, 99), +(27, 58, 67), +(27, 59, 83), +(27, 60, 83), +(27, 61, 76), +(27, 62, 73), +(27, 63, 74), +(27, 64, 97), +(27, 65, 88), +(27, 66, 66), +(27, 67, 73), +(27, 68, 95), +(27, 69, 80), +(27, 70, 71), +(27, 71, 85), +(27, 72, 75), +(27, 73, 88), +(27, 74, 69), +(27, 75, 83), +(27, 76, 89), +(27, 77, 70), +(27, 78, 73), +(27, 79, 99), +(27, 80, 96), +(27, 81, 81), +(27, 82, 82), +(27, 83, 67), +(27, 84, 68), +(27, 85, 98), +(27, 86, 90), +(27, 87, 70), +(27, 88, 87), +(27, 89, 93), +(27, 90, 71), +(27, 91, 90), +(27, 92, 94), +(27, 93, 90), +(27, 94, 75), +(27, 95, 96), +(27, 96, 92), +(27, 97, 86), +(27, 98, 67), +(27, 99, 86), +(27, 100, 81), +(27, 101, 95), +(27, 102, 69), +(27, 103, 82), +(27, 104, 77), +(27, 105, 76), +(27, 106, 97), +(27, 107, 70), +(27, 108, 91), +(27, 109, 90), +(27, 110, 71), +(27, 111, 85), +(27, 112, 95), +(27, 113, 70), +(27, 114, 65), +(27, 115, 95), +(27, 116, 87), +(27, 117, 92), +(27, 118, 97), +(27, 119, 92), +(27, 120, 87), +(27, 121, 67), +(27, 122, 66), +(27, 123, 92), +(27, 124, 74), +(27, 125, 97), +(27, 126, 67), +(27, 127, 81), +(27, 128, 89), +(27, 129, 75), +(27, 130, 69), +(27, 131, 90), +(27, 132, 67), +(27, 133, 83), +(27, 134, 68), +(27, 135, 69), +(27, 136, 85), +(27, 137, 68), +(27, 138, 77), +(27, 139, 77), +(27, 140, 93), +(27, 141, 83), +(27, 142, 65), +(27, 143, 77), +(27, 144, 83), +(27, 145, 95), +(27, 146, 66), +(27, 147, 86), +(27, 148, 75), +(27, 149, 78), +(27, 150, 96), +(27, 151, 79), +(27, 152, 85), +(27, 153, 98), +(27, 154, 98), +(27, 155, 67), +(27, 156, 77), +(27, 157, 72), +(27, 158, 98), +(27, 159, 67), +(27, 160, 95), +(27, 161, 75), +(27, 162, 75), +(27, 163, 98), +(27, 164, 67), +(27, 165, 75), +(27, 166, 72), +(27, 167, 77), +(27, 168, 76), +(27, 169, 93), +(27, 170, 78), +(27, 171, 69), +(27, 172, 84), +(27, 173, 97), +(27, 174, 73), +(27, 175, 77), +(27, 176, 71), +(27, 177, 82), +(27, 178, 72), +(27, 179, 68), +(27, 180, 72), +(27, 181, 76), +(27, 182, 94), +(27, 183, 94), +(27, 184, 92), +(27, 185, 79), +(27, 186, 81), +(27, 187, 87), +(27, 188, 90), +(27, 189, 76), +(27, 190, 90), +(27, 191, 66), +(27, 192, 69), +(27, 193, 89), +(27, 194, 83), +(27, 195, 88), +(27, 196, 94), +(27, 197, 69), +(27, 198, 96), +(27, 199, 87), +(27, 200, 79), +(27, 201, 82), +(27, 202, 87), +(27, 203, 67), +(27, 204, 76), +(27, 205, 81), +(27, 206, 65), +(27, 207, 97), +(27, 208, 69), +(27, 209, 89), +(27, 210, 73), +(27, 211, 94), +(27, 212, 90), +(27, 213, 90), +(27, 214, 98), +(27, 215, 99), +(27, 216, 69), +(27, 217, 92), +(27, 218, 89), +(27, 219, 91), +(27, 220, 77), +(27, 221, 94), +(27, 222, 74), +(27, 223, 71), +(27, 224, 77), +(27, 225, 67), +(27, 226, 77), +(27, 227, 70), +(27, 228, 91), +(27, 229, 94), +(27, 230, 66), +(27, 231, 88), +(27, 232, 95), +(27, 233, 72), +(27, 234, 87), +(27, 235, 80), +(27, 236, 73), +(27, 237, 81), +(27, 238, 94), +(27, 239, 77), +(27, 240, 65), +(27, 241, 92), +(27, 242, 79), +(27, 243, 84), +(27, 244, 72), +(27, 245, 84), +(27, 246, 65), +(27, 247, 81), +(27, 248, 66), +(27, 249, 84), +(27, 250, 80), +(27, 251, 81), +(27, 252, 78), +(27, 253, 94), +(27, 254, 79), +(27, 255, 83), +(27, 256, 81), +(27, 257, 93), +(27, 258, 95), +(27, 259, 73), +(27, 260, 92), +(27, 261, 68), +(27, 262, 67), +(27, 263, 72), +(27, 264, 95), +(27, 265, 86), +(27, 266, 81), +(27, 267, 94), +(27, 268, 77), +(27, 269, 95), +(27, 270, 80), +(27, 271, 94), +(27, 272, 91), +(27, 273, 84), +(27, 274, 84), +(27, 275, 72), +(27, 276, 94), +(27, 277, 93), +(27, 278, 66), +(27, 279, 84), +(27, 280, 76), +(27, 281, 66), +(27, 282, 90), +(27, 283, 88), +(27, 284, 82), +(27, 285, 82), +(27, 286, 70), +(27, 287, 71), +(27, 288, 95), +(27, 289, 84), +(27, 290, 88), +(27, 291, 81), +(27, 292, 92), +(27, 293, 67), +(27, 294, 95), +(27, 295, 89), +(27, 296, 78), +(27, 297, 77), +(27, 298, 97), +(27, 299, 99), +(27, 300, 83), +(27, 301, 85), +(27, 302, 84), +(27, 303, 79), +(27, 304, 88), +(27, 305, 84), +(27, 306, 93), +(27, 307, 82), +(27, 308, 91), +(27, 309, 87), +(27, 310, 95), +(27, 311, 79), +(27, 312, 89), +(27, 313, 98), +(27, 314, 70), +(27, 315, 76), +(27, 316, 65), +(27, 317, 72), +(27, 318, 74), +(27, 319, 74), +(27, 320, 95), +(27, 321, 95), +(27, 322, 89), +(27, 323, 72), +(27, 324, 74), +(27, 325, 92), +(27, 326, 91), +(27, 327, 84), +(27, 328, 71), +(27, 329, 91), +(27, 330, 97), +(27, 331, 89), +(27, 332, 72), +(27, 333, 74), +(27, 334, 67), +(27, 335, 92), +(27, 336, 80), +(27, 337, 92), +(27, 338, 98), +(27, 339, 71), +(27, 340, 67), +(27, 341, 77), +(27, 342, 75), +(27, 343, 82), +(27, 344, 85), +(27, 345, 99), +(27, 346, 85), +(27, 347, 90), +(27, 348, 73), +(27, 349, 74), +(27, 350, 71), +(27, 351, 84), +(27, 352, 93), +(27, 353, 97), +(27, 354, 68), +(27, 355, 80), +(27, 356, 74), +(27, 357, 87), +(27, 358, 88), +(27, 359, 81), +(27, 360, 90), +(27, 361, 94), +(27, 362, 82), +(27, 363, 82), +(27, 364, 93), +(27, 365, 96), +(27, 366, 99), +(27, 367, 66), +(27, 368, 94), +(27, 369, 82), +(27, 370, 87), +(27, 371, 65), +(27, 372, 90), +(27, 373, 73), +(27, 374, 98), +(27, 375, 91), +(27, 376, 71), +(27, 377, 93), +(27, 378, 89), +(27, 379, 78), +(27, 380, 76), +(27, 381, 93), +(27, 382, 82), +(27, 383, 95), +(27, 384, 78), +(27, 385, 67), +(27, 386, 79), +(27, 387, 79), +(27, 388, 72), +(27, 389, 99), +(27, 390, 69), +(27, 391, 77), +(27, 392, 75), +(27, 393, 80), +(27, 394, 86), +(27, 395, 78), +(27, 396, 91), +(27, 397, 73), +(27, 398, 76), +(27, 399, 80), +(27, 400, 68), +(27, 401, 89), +(27, 402, 92), +(27, 403, 68), +(27, 404, 90), +(27, 405, 82), +(27, 406, 86), +(27, 407, 69), +(27, 408, 92), +(27, 409, 96), +(27, 410, 74), +(27, 411, 81), +(27, 412, 87), +(27, 413, 91), +(27, 414, 90), +(27, 415, 94), +(27, 416, 83), +(27, 417, 97), +(27, 418, 89), +(27, 419, 92), +(27, 420, 97), +(27, 421, 85), +(27, 422, 77), +(27, 423, 80), +(27, 424, 77), +(27, 425, 69), +(27, 426, 87), +(27, 427, 69), +(27, 428, 82), +(27, 429, 83), +(27, 430, 80), +(27, 431, 87), +(27, 432, 76), +(27, 433, 73), +(27, 434, 77), +(27, 435, 81), +(27, 436, 97), +(27, 437, 68), +(27, 438, 98), +(27, 439, 90), +(27, 440, 95), +(27, 441, 76), +(27, 442, 73), +(27, 443, 98), +(27, 444, 95), +(27, 445, 69), +(27, 446, 85), +(27, 447, 87), +(27, 448, 69), +(27, 449, 65), +(27, 450, 76), +(27, 451, 91), +(27, 452, 99), +(27, 453, 91), +(27, 454, 68), +(27, 455, 72), +(27, 456, 84), +(27, 457, 90), +(27, 458, 72), +(27, 459, 80), +(27, 460, 99), +(27, 461, 81), +(27, 462, 90), +(27, 463, 92), +(27, 464, 89), +(27, 465, 76), +(27, 466, 83), +(27, 467, 70), +(27, 468, 82), +(27, 469, 99), +(27, 470, 81), +(27, 471, 98), +(27, 472, 86), +(27, 473, 91), +(27, 474, 78), +(27, 475, 87), +(27, 476, 65), +(27, 477, 72), +(27, 478, 85), +(27, 479, 94), +(27, 480, 83), +(27, 481, 82), +(27, 482, 74), +(27, 483, 99), +(27, 484, 74), +(27, 485, 82), +(27, 486, 73), +(27, 487, 76), +(27, 488, 87), +(27, 489, 68), +(27, 490, 65), +(27, 491, 72), +(27, 492, 79), +(27, 493, 87), +(27, 494, 88), +(27, 495, 75), +(27, 496, 96), +(27, 497, 65), +(27, 498, 75), +(27, 499, 81), +(27, 500, 80), +(27, 501, 98), +(27, 502, 99), +(27, 503, 95), +(27, 504, 86), +(27, 505, 76), +(27, 506, 90), +(27, 507, 77), +(27, 508, 82), +(27, 509, 65), +(27, 510, 69), +(27, 511, 74), +(27, 512, 84), +(27, 513, 90), +(27, 514, 99), +(27, 515, 72), +(27, 516, 99), +(27, 517, 79), +(27, 518, 90), +(27, 519, 96), +(27, 520, 73), +(27, 521, 93), +(27, 522, 69), +(27, 523, 82), +(27, 524, 66), +(27, 525, 89), +(27, 526, 75), +(27, 527, 89), +(27, 528, 74), +(27, 529, 89), +(27, 530, 77), +(27, 531, 83), +(27, 532, 94), +(27, 533, 80), +(27, 534, 78), +(27, 535, 69), +(27, 536, 85), +(27, 537, 88), +(27, 538, 67), +(27, 539, 79), +(27, 540, 93), +(27, 541, 79), +(27, 542, 79), +(27, 543, 74), +(27, 544, 66), +(27, 545, 79), +(27, 546, 77), +(27, 547, 98), +(27, 548, 96), +(27, 549, 80), +(27, 550, 86), +(27, 551, 96), +(27, 552, 68), +(27, 553, 75), +(27, 554, 94), +(27, 555, 93), +(27, 556, 66), +(27, 557, 81), +(27, 558, 86), +(27, 559, 76), +(27, 560, 91), +(27, 561, 89), +(27, 562, 72), +(27, 563, 71), +(27, 564, 93), +(27, 1024, 88), +(27, 1025, 78), +(27, 1026, 74), +(27, 1027, 78), +(27, 1028, 90), +(27, 1029, 94), +(27, 1030, 82), +(27, 1031, 86), +(27, 1032, 98), +(27, 1033, 97), +(27, 1034, 78), +(27, 1035, 76), +(27, 1036, 96), +(27, 1037, 70), +(27, 1038, 82), +(27, 1039, 74), +(27, 1040, 70), +(27, 1041, 75), +(27, 1042, 74), +(27, 1043, 99), +(27, 1044, 65), +(27, 1045, 70), +(27, 1046, 81), +(27, 1047, 76), +(27, 1048, 81), +(27, 1049, 82), +(27, 1050, 96), +(27, 1051, 90), +(27, 1052, 78), +(27, 1053, 77), +(27, 1054, 82), +(27, 1055, 75), +(27, 1056, 88), +(27, 1057, 88), +(27, 1058, 75), +(27, 1059, 94), +(27, 1060, 85), +(27, 1061, 82), +(27, 1062, 95), +(27, 1063, 96), +(27, 1064, 68), +(27, 1065, 83), +(27, 1066, 88), +(27, 1067, 95), +(27, 1068, 95), +(27, 1069, 66), +(27, 1070, 85), +(27, 1071, 81), +(27, 1072, 84), +(27, 1073, 68), +(27, 1074, 83), +(27, 1075, 68), +(27, 1076, 83), +(27, 1077, 79), +(27, 1078, 76), +(27, 1079, 89), +(27, 1080, 92), +(27, 1081, 94), +(27, 1082, 97), +(27, 1083, 97), +(27, 1084, 79), +(27, 1085, 89), +(27, 1086, 96), +(27, 1087, 98), +(27, 1088, 79), +(27, 1089, 80), +(27, 1090, 76), +(27, 1091, 85), +(27, 1092, 70), +(27, 1093, 71), +(27, 1094, 76), +(27, 1095, 83), +(27, 1096, 69), +(27, 1097, 91), +(27, 1098, 92), +(27, 1099, 92), +(27, 1100, 96), +(27, 1101, 85), +(27, 1102, 92), +(27, 1103, 71), +(27, 1104, 69), +(27, 1105, 98), +(27, 1106, 85), +(27, 1107, 70), +(27, 1108, 67), +(27, 1109, 94), +(27, 1110, 82), +(27, 1111, 96), +(27, 1112, 90), +(27, 1113, 98), +(27, 1114, 88), +(27, 1115, 87), +(27, 1116, 81), +(27, 1117, 78), +(27, 1118, 93), +(27, 1119, 66), +(27, 1120, 92), +(27, 1121, 91), +(27, 1122, 95), +(27, 1123, 79), +(27, 1124, 86), +(27, 1125, 99), +(27, 1126, 74), +(27, 1127, 75), +(27, 1128, 74), +(27, 1129, 90), +(27, 1130, 80), +(27, 1131, 95), +(27, 1132, 73), +(27, 1133, 92), +(27, 1134, 89), +(27, 1135, 66), +(27, 1136, 69), +(27, 1137, 80), +(27, 1138, 95), +(27, 1139, 82), +(27, 1140, 83), +(27, 1141, 86), +(27, 1142, 85), +(27, 1143, 86), +(27, 1144, 73), +(27, 1145, 70), +(27, 1146, 69), +(27, 1147, 78), +(27, 1148, 84), +(27, 1149, 68), +(27, 1150, 99), +(27, 1151, 78), +(27, 1152, 69), +(27, 1153, 95), +(27, 1154, 66), +(27, 1155, 91), +(27, 1156, 71), +(27, 1157, 67), +(27, 1158, 67), +(27, 1159, 72), +(27, 1160, 98), +(27, 1161, 89), +(27, 1162, 85), +(27, 1163, 67), +(27, 1164, 82), +(27, 1165, 98), +(27, 1166, 65), +(27, 1167, 80), +(27, 1168, 86), +(27, 1169, 85), +(27, 1170, 72), +(27, 1171, 78), +(27, 1172, 83), +(27, 1173, 96), +(27, 1174, 80), +(27, 1175, 94), +(27, 1176, 78), +(27, 1177, 79), +(27, 1178, 94), +(27, 1179, 87), +(27, 1180, 92), +(27, 1181, 72), +(27, 1182, 84), +(27, 1183, 68), +(27, 1184, 95), +(27, 1185, 96), +(27, 1186, 84), +(27, 1187, 71), +(27, 1188, 77), +(27, 1189, 78), +(27, 1190, 70), +(27, 1191, 77), +(27, 1192, 99), +(27, 1193, 66), +(27, 1194, 87), +(27, 1195, 84), +(27, 1196, 75), +(27, 1197, 75), +(27, 1198, 86), +(27, 1199, 91), +(27, 1200, 68), +(27, 1201, 80), +(27, 1202, 77), +(27, 1203, 65), +(27, 1204, 89), +(27, 1205, 85), +(27, 1206, 66), +(27, 1207, 89), +(27, 1208, 83), +(27, 1209, 91), +(27, 1210, 82), +(27, 1211, 88), +(27, 1212, 82), +(27, 1213, 68), +(27, 1214, 81), +(27, 1215, 87), +(27, 1216, 83), +(27, 1217, 76), +(27, 1218, 72), +(27, 1219, 74), +(27, 1220, 84), +(27, 1221, 86), +(27, 1222, 74), +(27, 1223, 96), +(27, 1224, 98), +(27, 1225, 90), +(27, 1226, 70), +(27, 1227, 87), +(27, 1228, 71), +(27, 1229, 99), +(27, 1230, 93), +(27, 1231, 74), +(27, 1232, 88), +(27, 1233, 70), +(27, 1234, 78), +(27, 1235, 80), +(27, 1236, 76), +(27, 1237, 91), +(27, 1238, 65), +(27, 1239, 84), +(27, 1240, 67), +(27, 1241, 72), +(27, 1242, 75), +(27, 1243, 85), +(27, 1244, 74), +(27, 1245, 83), +(27, 1246, 77), +(27, 1247, 69), +(27, 1248, 81), +(27, 1249, 69), +(27, 1250, 74), +(27, 1251, 68), +(27, 1252, 99), +(27, 1253, 85), +(27, 1254, 99), +(27, 1255, 73), +(27, 1256, 96), +(27, 1257, 94), +(27, 1258, 87), +(27, 1259, 87), +(27, 1260, 99), +(27, 1261, 84), +(27, 1262, 87), +(27, 1263, 67), +(27, 1264, 65), +(27, 1265, 71), +(27, 1266, 84), +(27, 1267, 79), +(27, 1268, 76), +(27, 1269, 67), +(27, 1270, 84), +(27, 1271, 87), +(27, 1272, 66), +(27, 1273, 68), +(27, 1274, 95), +(27, 1275, 77), +(27, 1276, 93), +(27, 1277, 86), +(27, 1278, 97), +(27, 1279, 71), +(27, 1280, 84), +(27, 1281, 97), +(27, 1282, 74), +(27, 1283, 98), +(27, 1284, 82), +(27, 1285, 92), +(27, 1286, 71), +(27, 1287, 70), +(27, 1288, 90), +(27, 1289, 68), +(27, 1290, 95), +(27, 1291, 83), +(27, 1292, 82), +(27, 1293, 93), +(27, 1294, 97), +(27, 1295, 94), +(27, 1296, 69), +(27, 1297, 71), +(27, 1298, 90), +(27, 1299, 84), +(27, 1300, 91), +(27, 1301, 80), +(27, 1302, 89), +(27, 1303, 65), +(27, 1304, 82), +(27, 1305, 82), +(27, 1306, 93), +(27, 1307, 95), +(27, 1308, 67), +(27, 1309, 96), +(27, 1310, 77), +(27, 1311, 85), +(27, 1312, 75), +(27, 1313, 65), +(27, 1314, 65), +(27, 1315, 98), +(27, 1316, 86), +(27, 1317, 67), +(27, 1318, 97), +(27, 1319, 89), +(27, 1320, 72), +(27, 1321, 92), +(27, 1322, 72), +(27, 1323, 85), +(27, 1324, 81), +(27, 1325, 83), +(27, 1326, 96), +(27, 1327, 69), +(27, 1328, 93), +(27, 1329, 91), +(27, 1330, 80), +(27, 1331, 81), +(27, 1332, 67), +(27, 1333, 72), +(27, 1334, 94), +(27, 1335, 79), +(27, 1336, 70), +(27, 1337, 81), +(27, 1338, 79), +(27, 1339, 87), +(27, 1340, 79), +(27, 1341, 77), +(27, 1342, 72), +(27, 1343, 93), +(27, 1344, 87), +(27, 1345, 92), +(27, 1346, 66), +(27, 1347, 69), +(27, 1348, 93), +(27, 1349, 74), +(27, 1350, 86), +(27, 1351, 70), +(27, 1352, 98), +(27, 1353, 78), +(27, 1354, 72), +(27, 1355, 80), +(27, 1356, 65), +(27, 1357, 90), +(27, 1358, 77), +(27, 1359, 69), +(27, 1360, 91), +(27, 1361, 67), +(27, 1362, 90), +(27, 1363, 71), +(27, 1364, 96), +(27, 1365, 97), +(27, 1366, 97), +(27, 1367, 99), +(27, 1368, 95), +(27, 1369, 68), +(27, 1370, 99), +(27, 1371, 90), +(27, 1372, 75), +(27, 1373, 99), +(27, 1374, 66), +(27, 1375, 93), +(27, 1376, 90), +(27, 1377, 96), +(27, 1378, 94), +(27, 1379, 68), +(27, 1380, 69), +(27, 1381, 96), +(27, 1382, 76), +(27, 1383, 79), +(27, 1384, 67), +(27, 1385, 99), +(27, 1386, 67), +(27, 1387, 74), +(27, 1388, 74), +(27, 1389, 84), +(27, 1390, 65), +(27, 1391, 81), +(27, 1392, 77), +(27, 1393, 68), +(27, 1394, 97), +(27, 1395, 68), +(27, 1396, 81), +(27, 1397, 95), +(27, 1398, 87), +(27, 1399, 91), +(27, 1400, 91), +(27, 1401, 89), +(27, 1402, 85), +(27, 1403, 81), +(27, 1404, 67), +(27, 1405, 78), +(27, 1406, 89), +(27, 1407, 95), +(27, 1408, 87), +(27, 1409, 65), +(27, 1410, 94), +(27, 1411, 72), +(27, 1412, 66), +(27, 1413, 78), +(27, 1414, 78), +(27, 1415, 84), +(27, 1416, 73), +(27, 1417, 97), +(27, 1418, 69), +(27, 1419, 73), +(27, 1420, 76), +(27, 1421, 71), +(27, 1422, 97), +(27, 1423, 72), +(27, 1424, 93), +(27, 1425, 96), +(27, 1426, 76), +(27, 1427, 94), +(27, 1428, 68), +(27, 1429, 94), +(27, 1430, 89), +(27, 1431, 74), +(27, 1432, 66), +(27, 1433, 83), +(27, 1434, 70), +(27, 1435, 96), +(27, 1436, 90), +(27, 1437, 95), +(27, 1438, 78), +(27, 1439, 68), +(27, 1440, 68), +(27, 1441, 86), +(27, 1442, 94), +(27, 1443, 94), +(27, 1444, 94), +(27, 1445, 91), +(27, 1446, 93), +(27, 1447, 79), +(27, 1448, 78), +(27, 1449, 76), +(27, 1450, 94), +(27, 1451, 77), +(27, 1452, 94), +(27, 1453, 96), +(27, 1454, 85), +(27, 1455, 75), +(27, 1456, 71), +(27, 1457, 86), +(27, 1458, 91), +(27, 1459, 72), +(27, 1460, 66), +(27, 1461, 85), +(27, 1462, 83), +(27, 1463, 73), +(27, 1464, 82), +(27, 1465, 68), +(27, 1466, 86), +(27, 1467, 87), +(27, 1468, 91), +(27, 1469, 86), +(27, 1470, 83), +(27, 1471, 90), +(27, 1472, 84), +(27, 1473, 90), +(27, 1474, 71), +(27, 1475, 81), +(27, 1476, 84), +(27, 1477, 99), +(27, 1478, 65), +(27, 1479, 79), +(27, 1480, 97), +(27, 1481, 82), +(27, 1482, 84), +(27, 1483, 88), +(27, 1484, 71), +(27, 1485, 97), +(27, 1486, 86), +(27, 1487, 67), +(27, 1488, 88), +(27, 1489, 73), +(27, 1490, 94), +(27, 1491, 74), +(27, 1492, 86), +(27, 1493, 92), +(27, 1494, 68), +(27, 1495, 76), +(27, 1496, 73), +(27, 1497, 70), +(27, 1498, 83), +(27, 1499, 77), +(27, 1500, 74), +(27, 1501, 74), +(27, 1502, 83), +(27, 1503, 83), +(27, 1504, 69), +(27, 1505, 65), +(27, 1506, 68), +(27, 1507, 94), +(27, 1508, 83), +(27, 1509, 89), +(27, 1510, 85), +(27, 1511, 86), +(27, 1512, 88), +(27, 1513, 92), +(27, 1514, 67), +(27, 1515, 86), +(27, 1516, 77), +(27, 1517, 89), +(27, 1518, 76), +(27, 1519, 71), +(27, 1520, 97), +(27, 1521, 95), +(27, 1522, 70), +(27, 1523, 91), +(27, 1524, 94), +(27, 1525, 77), +(27, 1526, 91), +(27, 1527, 82), +(27, 1528, 80), +(27, 1529, 81), +(27, 1530, 73), +(27, 1531, 69), +(27, 1532, 86), +(27, 1533, 88), +(27, 1534, 71), +(27, 1535, 68), +(27, 1536, 94), +(27, 1537, 95), +(27, 1538, 85), +(27, 1539, 71), +(27, 1540, 90), +(27, 1541, 94), +(27, 1542, 82), +(27, 1543, 65), +(27, 1544, 79), +(27, 1545, 94), +(27, 1546, 69), +(27, 1547, 92), +(27, 1548, 81), +(27, 1549, 75), +(27, 1550, 66), +(27, 1551, 73), +(27, 1552, 70), +(27, 1553, 83), +(27, 1554, 83), +(27, 1555, 96), +(27, 1556, 92), +(27, 1557, 82), +(27, 1558, 98), +(27, 1559, 89), +(27, 1560, 99), +(27, 1561, 98), +(27, 1562, 79), +(27, 1563, 74), +(27, 1564, 68), +(27, 1565, 86), +(27, 1566, 85), +(27, 1567, 99), +(27, 1568, 66), +(27, 1569, 73), +(27, 1570, 83), +(27, 1571, 73), +(27, 1572, 82), +(27, 1573, 93), +(27, 1574, 97), +(27, 1575, 89), +(27, 1576, 76), +(27, 1577, 71), +(27, 1578, 78), +(27, 1579, 72), +(27, 1580, 82), +(27, 1581, 89), +(27, 1582, 85), +(27, 1583, 93), +(27, 1584, 95), +(27, 1585, 97), +(27, 1586, 76), +(27, 1587, 70), +(27, 2047, 80), +(27, 2048, 67), +(27, 2049, 81), +(27, 2050, 67), +(27, 2051, 97), +(27, 2052, 90), +(27, 2053, 89), +(27, 2054, 90), +(27, 2055, 96), +(27, 2056, 87), +(27, 2057, 80), +(27, 2058, 92), +(27, 2059, 94), +(27, 2060, 72), +(27, 2061, 76), +(27, 2062, 93), +(27, 2063, 67), +(27, 2064, 86), +(27, 2065, 76), +(27, 2066, 97), +(27, 2067, 84), +(27, 2068, 94), +(27, 2069, 79), +(27, 2070, 65), +(27, 2071, 75), +(27, 2072, 68), +(27, 2073, 78), +(27, 2074, 67), +(27, 2075, 65), +(27, 2076, 91), +(27, 2077, 72), +(27, 2078, 71), +(27, 2079, 85), +(27, 2080, 93), +(27, 2081, 74), +(27, 2082, 69), +(27, 2083, 88), +(27, 2084, 71), +(27, 2085, 83), +(27, 2086, 77), +(27, 2087, 91), +(27, 2088, 78), +(27, 2089, 87), +(27, 2090, 75), +(27, 2091, 73), +(27, 2092, 65), +(27, 2093, 88), +(27, 2094, 76), +(27, 2095, 75), +(27, 2096, 77), +(27, 2097, 83), +(27, 2098, 80), +(27, 2099, 73), +(27, 2100, 96), +(27, 2101, 80), +(27, 2102, 83); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(27, 2103, 99), +(27, 2104, 84), +(27, 2105, 92), +(27, 2106, 90), +(27, 2107, 74), +(27, 2108, 67), +(27, 2109, 77), +(27, 2110, 85), +(27, 2111, 77), +(27, 2112, 83), +(27, 2113, 72), +(27, 2114, 97), +(27, 2115, 81), +(27, 2116, 72), +(27, 2117, 75), +(27, 2118, 83), +(27, 2119, 76), +(27, 2120, 99), +(27, 2121, 94), +(27, 2122, 81), +(27, 2123, 75), +(27, 2124, 98), +(27, 2125, 84), +(27, 2126, 92), +(27, 2127, 85), +(27, 2128, 84), +(27, 2129, 81), +(27, 2130, 67), +(27, 2131, 95), +(27, 2132, 85), +(27, 2133, 72), +(27, 2134, 99), +(27, 2135, 95), +(27, 2136, 73), +(27, 2137, 80), +(27, 2138, 97), +(27, 2139, 80), +(27, 2140, 73), +(27, 2141, 88), +(27, 2142, 78), +(27, 2143, 80), +(27, 2144, 92), +(27, 2145, 80), +(27, 2146, 72), +(27, 2147, 75), +(27, 2148, 83), +(27, 2149, 72), +(27, 2150, 70), +(27, 2151, 76), +(27, 2152, 77), +(27, 2153, 67), +(27, 2154, 68), +(27, 2155, 70), +(27, 2156, 83), +(27, 2157, 70), +(27, 2158, 75), +(27, 2159, 89), +(27, 2160, 70), +(27, 2161, 90), +(27, 2162, 82), +(27, 2163, 84), +(27, 2164, 67), +(27, 2165, 81), +(27, 2166, 99), +(27, 2167, 88), +(27, 2168, 90), +(27, 2169, 88), +(27, 2170, 79), +(27, 2171, 66), +(27, 2172, 87), +(27, 2173, 78), +(27, 2174, 66), +(27, 2175, 99), +(27, 2176, 79), +(27, 2177, 90), +(27, 2178, 75), +(27, 2179, 86), +(27, 2180, 97), +(27, 2181, 89), +(27, 2182, 87), +(27, 2183, 67), +(27, 2184, 75), +(27, 2185, 72), +(27, 2186, 66), +(27, 2187, 95), +(27, 2188, 79), +(27, 2189, 75), +(27, 2190, 76), +(27, 2191, 84), +(27, 2192, 69), +(27, 2193, 67), +(27, 2194, 78), +(27, 2195, 80), +(27, 2196, 76), +(27, 2197, 72), +(27, 2198, 96), +(27, 2199, 94), +(27, 2200, 70), +(27, 2201, 80), +(27, 2202, 89), +(27, 2203, 79), +(27, 2204, 98), +(27, 2205, 90), +(27, 2206, 77), +(27, 2207, 83), +(27, 2208, 65), +(27, 2209, 97), +(27, 2210, 92), +(27, 2211, 67), +(27, 2212, 88), +(27, 2213, 79), +(27, 2214, 94), +(27, 2215, 70), +(27, 2216, 90), +(27, 2217, 70), +(27, 2218, 82), +(27, 2219, 75), +(27, 2220, 79), +(27, 2221, 76), +(27, 2222, 72), +(27, 2223, 83), +(27, 2224, 88), +(27, 2225, 96), +(27, 2226, 90), +(27, 2227, 96), +(27, 2228, 97), +(27, 2229, 74), +(27, 2230, 79), +(27, 2231, 84), +(27, 2232, 72), +(27, 2233, 95), +(27, 2234, 96), +(27, 2235, 79), +(27, 2236, 94), +(27, 2237, 78), +(27, 2238, 80), +(27, 2239, 68), +(27, 2240, 70), +(27, 2241, 93), +(27, 2242, 86), +(27, 2243, 75), +(27, 2244, 70), +(27, 2245, 94), +(27, 2246, 97), +(27, 2247, 92), +(27, 2248, 90), +(27, 2249, 71), +(27, 2250, 79), +(27, 2251, 65), +(27, 2252, 72), +(27, 2253, 84), +(27, 2254, 85), +(27, 2255, 96), +(27, 2256, 75), +(27, 2257, 98), +(27, 2258, 97), +(27, 2259, 76), +(27, 2260, 69), +(27, 2261, 89), +(27, 2262, 85), +(27, 2263, 91), +(27, 2264, 78), +(27, 2265, 83), +(27, 2266, 94), +(27, 2267, 79), +(27, 2268, 66), +(27, 2269, 89), +(27, 2270, 80), +(27, 2271, 77), +(27, 2272, 86), +(27, 2273, 78), +(27, 2274, 91), +(27, 2275, 74), +(27, 2276, 70), +(27, 2277, 97), +(27, 2278, 98), +(27, 2279, 79), +(27, 2280, 90), +(27, 2281, 88), +(27, 2282, 80), +(27, 2283, 90), +(27, 2284, 74), +(27, 2285, 73), +(27, 2286, 78), +(27, 2287, 90), +(27, 2288, 70), +(27, 2289, 84), +(27, 2290, 89), +(27, 2291, 91), +(27, 2292, 65), +(27, 2293, 73), +(27, 2294, 90), +(27, 2295, 89), +(27, 2296, 72), +(27, 2297, 68), +(27, 2298, 81), +(27, 2299, 73), +(27, 2300, 70), +(27, 2301, 93), +(27, 2302, 80), +(27, 2303, 67), +(27, 2304, 82), +(27, 2305, 66), +(27, 2306, 87), +(27, 2307, 96), +(27, 2308, 96), +(27, 2309, 85), +(27, 2310, 81), +(27, 2311, 94), +(27, 2312, 84), +(27, 2313, 82), +(27, 2314, 77), +(27, 2315, 98), +(27, 2316, 68), +(27, 2317, 85), +(27, 2318, 88), +(27, 2319, 67), +(27, 2320, 75), +(27, 2321, 69), +(27, 2322, 98), +(27, 2323, 85), +(27, 2324, 79), +(27, 2325, 82), +(27, 2326, 84), +(27, 2327, 96), +(27, 2328, 88), +(27, 2329, 72), +(27, 2330, 92), +(27, 2331, 72), +(27, 2332, 68), +(27, 2333, 88), +(27, 2334, 93), +(27, 2335, 75), +(27, 2336, 69), +(27, 2337, 85), +(27, 2338, 81), +(27, 2339, 71), +(27, 2340, 86), +(27, 2341, 74), +(27, 2342, 70), +(27, 2343, 77), +(27, 2344, 96), +(27, 2345, 79), +(27, 2346, 78), +(27, 2347, 78), +(27, 2348, 98), +(27, 2349, 93), +(27, 2350, 93), +(27, 2351, 72), +(27, 2352, 99), +(27, 2353, 82), +(27, 2354, 98), +(27, 2355, 69), +(27, 2356, 71), +(27, 2357, 87), +(27, 2358, 94), +(27, 2359, 97), +(27, 2360, 87), +(27, 2361, 80), +(27, 2362, 87), +(27, 2363, 90), +(27, 2364, 85), +(27, 2365, 69), +(27, 2366, 79), +(27, 2367, 93), +(27, 2368, 91), +(27, 2369, 85), +(27, 2370, 88), +(27, 2371, 81), +(27, 2372, 98), +(27, 2373, 80), +(27, 2374, 87), +(27, 2375, 92), +(27, 2376, 69), +(27, 2377, 98), +(27, 2378, 71), +(27, 2379, 88), +(27, 2380, 80), +(27, 2381, 71), +(27, 2382, 76), +(27, 2383, 74), +(27, 2384, 82), +(27, 2385, 79), +(27, 2386, 93), +(27, 2387, 81), +(27, 2388, 74), +(27, 2389, 68), +(27, 2390, 72), +(27, 2391, 93), +(27, 2392, 69), +(27, 2393, 91), +(27, 2394, 77), +(27, 2395, 93), +(27, 2396, 67), +(27, 2397, 78), +(27, 2398, 70), +(27, 2399, 79), +(27, 2400, 88), +(27, 2401, 82), +(27, 2402, 86), +(27, 2403, 96), +(27, 2404, 94), +(27, 2405, 70), +(27, 2406, 97), +(27, 2407, 87), +(27, 2408, 80), +(27, 2409, 71), +(27, 2410, 83), +(27, 2411, 70), +(27, 2412, 90), +(27, 2413, 79), +(27, 2414, 88), +(27, 2415, 79), +(27, 2416, 66), +(27, 2417, 67), +(27, 2418, 75), +(27, 2419, 96), +(27, 2420, 66), +(27, 2421, 68), +(27, 2422, 89), +(27, 2423, 83), +(27, 2424, 99), +(27, 2425, 84), +(27, 2426, 94), +(27, 2427, 79), +(27, 2428, 71), +(27, 2429, 74), +(27, 2430, 90), +(27, 2431, 78), +(27, 2432, 86), +(27, 2433, 91), +(27, 2434, 86), +(27, 2435, 85), +(27, 2436, 88), +(27, 2437, 77), +(27, 2438, 96), +(27, 2439, 69), +(27, 2440, 94), +(27, 2441, 85), +(27, 2442, 89), +(27, 2443, 98), +(27, 2444, 80), +(27, 2445, 70), +(27, 2446, 86), +(27, 2447, 87), +(27, 2448, 65), +(27, 2449, 90), +(27, 2450, 70), +(27, 2451, 67), +(27, 2452, 94), +(27, 2453, 88), +(27, 2454, 70), +(27, 2455, 82), +(27, 2456, 66), +(27, 2457, 86), +(27, 2458, 77), +(27, 2459, 73), +(27, 2460, 75), +(27, 2461, 66), +(27, 2462, 99), +(27, 2463, 69), +(27, 2464, 82), +(27, 2465, 77), +(27, 2466, 79), +(27, 2467, 93), +(27, 2468, 65), +(27, 2469, 77), +(27, 2470, 73), +(27, 2471, 97), +(27, 2472, 92), +(27, 2473, 98), +(27, 2474, 66), +(27, 2475, 88), +(27, 2476, 85), +(27, 2477, 95), +(27, 2478, 85), +(27, 2479, 96), +(27, 2480, 74), +(27, 2481, 87), +(27, 2482, 66), +(27, 2483, 87), +(27, 2484, 65), +(27, 2485, 94), +(27, 2486, 83), +(27, 2487, 85), +(27, 2488, 67), +(27, 2489, 77), +(27, 2490, 73), +(27, 2491, 81), +(27, 2492, 89), +(27, 2493, 83), +(27, 2494, 65), +(27, 2495, 70), +(27, 2496, 67), +(27, 2497, 82), +(27, 2498, 84), +(27, 2499, 95), +(27, 2500, 93), +(27, 2501, 65), +(27, 2502, 79), +(27, 2503, 78), +(27, 2504, 86), +(27, 2505, 71), +(27, 2506, 96), +(27, 2507, 70), +(27, 2508, 89), +(27, 2509, 92), +(27, 2510, 67), +(27, 2511, 86), +(27, 2512, 75), +(27, 2513, 95), +(27, 2514, 82), +(27, 2515, 87), +(27, 2516, 99), +(27, 2517, 88), +(27, 2518, 98), +(27, 2519, 67), +(27, 2520, 93), +(27, 2521, 97), +(27, 2522, 84), +(27, 2523, 75), +(27, 2524, 72), +(27, 2525, 88), +(27, 2526, 72), +(27, 2527, 67), +(27, 2528, 70), +(27, 2529, 65), +(27, 2530, 83), +(27, 2531, 83), +(27, 2532, 70), +(27, 2533, 69), +(27, 2534, 65), +(27, 2535, 97), +(27, 2536, 70), +(27, 2537, 88), +(27, 2538, 98), +(27, 2539, 87), +(27, 2540, 73), +(27, 2541, 65), +(27, 2542, 98), +(27, 2543, 67), +(27, 2544, 73), +(27, 2545, 69), +(27, 2546, 90), +(27, 2547, 67), +(27, 2548, 84), +(27, 2549, 72), +(27, 2550, 93), +(27, 2551, 85), +(27, 2552, 86), +(27, 2553, 66), +(27, 2554, 88), +(27, 2555, 95), +(27, 2556, 91), +(27, 2557, 70), +(27, 2558, 87), +(27, 2559, 82), +(27, 2560, 78), +(27, 2561, 72), +(27, 2562, 80), +(27, 2563, 78), +(27, 2564, 70), +(27, 2565, 98), +(27, 2566, 98), +(27, 2567, 96), +(27, 2568, 76), +(27, 2569, 93), +(27, 2570, 66), +(27, 2571, 67), +(27, 2572, 85), +(27, 2573, 82), +(27, 2574, 77), +(27, 2575, 95), +(27, 2576, 83), +(27, 2577, 75), +(27, 2578, 76), +(27, 2579, 79), +(27, 2580, 84), +(27, 2581, 68), +(27, 2582, 87), +(27, 2583, 72), +(27, 2584, 99), +(27, 2585, 80), +(27, 2586, 67), +(27, 2587, 92), +(27, 2588, 69), +(27, 2589, 69), +(27, 2590, 77), +(27, 2591, 92), +(27, 2592, 95), +(27, 2593, 96), +(27, 2594, 89), +(27, 2595, 88), +(27, 2596, 73), +(27, 2597, 86), +(27, 2598, 75), +(27, 2599, 66), +(27, 2600, 98), +(27, 2601, 90), +(27, 2602, 80), +(27, 2603, 91), +(27, 2604, 72), +(27, 2605, 74), +(27, 2606, 68), +(27, 2607, 79), +(27, 2608, 97), +(27, 2609, 92), +(27, 2610, 80), +(28, 1, 74), +(28, 2, 73), +(28, 3, 74), +(28, 4, 80), +(28, 5, 89), +(28, 6, 87), +(28, 7, 82), +(28, 8, 72), +(28, 9, 97), +(28, 10, 71), +(28, 11, 67), +(28, 12, 82), +(28, 13, 67), +(28, 14, 87), +(28, 15, 68), +(28, 16, 75), +(28, 17, 68), +(28, 18, 65), +(28, 19, 94), +(28, 20, 83), +(28, 21, 88), +(28, 22, 84), +(28, 23, 86), +(28, 24, 85), +(28, 25, 75), +(28, 26, 73), +(28, 27, 88), +(28, 28, 70), +(28, 29, 96), +(28, 30, 98), +(28, 31, 99), +(28, 32, 82), +(28, 33, 95), +(28, 34, 82), +(28, 35, 91), +(28, 36, 65), +(28, 37, 69), +(28, 38, 75), +(28, 39, 73), +(28, 40, 75), +(28, 41, 90), +(28, 42, 71), +(28, 43, 89), +(28, 44, 68), +(28, 45, 93), +(28, 46, 89), +(28, 47, 69), +(28, 48, 88), +(28, 49, 98), +(28, 50, 77), +(28, 51, 80), +(28, 52, 79), +(28, 53, 70), +(28, 54, 93), +(28, 55, 87), +(28, 56, 90), +(28, 57, 96), +(28, 58, 78), +(28, 59, 99), +(28, 60, 84), +(28, 61, 72), +(28, 62, 91), +(28, 63, 86), +(28, 64, 97), +(28, 65, 78), +(28, 66, 67), +(28, 67, 79), +(28, 68, 80), +(28, 69, 75), +(28, 70, 99), +(28, 71, 74), +(28, 72, 74), +(28, 73, 92), +(28, 74, 80), +(28, 75, 66), +(28, 76, 91), +(28, 77, 67), +(28, 78, 69), +(28, 79, 92), +(28, 80, 86), +(28, 81, 79), +(28, 82, 93), +(28, 83, 83), +(28, 84, 81), +(28, 85, 68), +(28, 86, 94), +(28, 87, 67), +(28, 88, 70), +(28, 89, 73), +(28, 90, 71), +(28, 91, 66), +(28, 92, 97), +(28, 93, 97), +(28, 94, 81), +(28, 95, 69), +(28, 96, 85), +(28, 97, 85), +(28, 98, 84), +(28, 99, 66), +(28, 100, 80), +(28, 101, 92), +(28, 102, 68), +(28, 103, 89), +(28, 104, 75), +(28, 105, 95), +(28, 106, 90), +(28, 107, 68), +(28, 108, 98), +(28, 109, 81), +(28, 110, 92), +(28, 111, 70), +(28, 112, 94), +(28, 113, 95), +(28, 114, 87), +(28, 115, 78), +(28, 116, 81), +(28, 117, 72), +(28, 118, 82), +(28, 119, 88), +(28, 120, 65), +(28, 121, 68), +(28, 122, 81), +(28, 123, 94), +(28, 124, 96), +(28, 125, 73), +(28, 126, 98), +(28, 127, 75), +(28, 128, 98), +(28, 129, 90), +(28, 130, 75), +(28, 131, 70), +(28, 132, 71), +(28, 133, 89), +(28, 134, 89), +(28, 135, 69), +(28, 136, 78), +(28, 137, 95), +(28, 138, 73), +(28, 139, 66), +(28, 140, 90), +(28, 141, 65), +(28, 142, 66), +(28, 143, 94), +(28, 144, 83), +(28, 145, 65), +(28, 146, 89), +(28, 147, 99), +(28, 148, 87), +(28, 149, 73), +(28, 150, 73), +(28, 151, 66), +(28, 152, 88), +(28, 153, 73), +(28, 154, 74), +(28, 155, 70), +(28, 156, 83), +(28, 157, 70), +(28, 158, 80), +(28, 159, 90), +(28, 160, 82), +(28, 161, 99), +(28, 162, 76), +(28, 163, 87), +(28, 164, 99), +(28, 165, 71), +(28, 166, 88), +(28, 167, 99), +(28, 168, 66), +(28, 169, 74), +(28, 170, 65), +(28, 171, 81), +(28, 172, 80), +(28, 173, 66), +(28, 174, 96), +(28, 175, 72), +(28, 176, 83), +(28, 177, 78), +(28, 178, 92), +(28, 179, 82), +(28, 180, 66), +(28, 181, 89), +(28, 182, 79), +(28, 183, 77), +(28, 184, 85), +(28, 185, 96), +(28, 186, 71), +(28, 187, 86), +(28, 188, 85), +(28, 189, 78), +(28, 190, 86), +(28, 191, 89), +(28, 192, 85), +(28, 193, 91), +(28, 194, 84), +(28, 195, 92), +(28, 196, 84), +(28, 197, 90), +(28, 198, 82), +(28, 199, 81), +(28, 200, 69), +(28, 201, 87), +(28, 202, 78), +(28, 203, 71), +(28, 204, 76), +(28, 205, 96), +(28, 206, 65), +(28, 207, 74), +(28, 208, 79), +(28, 209, 80), +(28, 210, 95), +(28, 211, 66), +(28, 212, 76), +(28, 213, 83), +(28, 214, 87), +(28, 215, 97), +(28, 216, 76), +(28, 217, 81), +(28, 218, 75), +(28, 219, 94), +(28, 220, 70), +(28, 221, 72), +(28, 222, 69), +(28, 223, 69), +(28, 224, 94), +(28, 225, 85), +(28, 226, 83), +(28, 227, 79), +(28, 228, 84), +(28, 229, 74), +(28, 230, 66), +(28, 231, 66), +(28, 232, 75), +(28, 233, 96), +(28, 234, 77), +(28, 235, 81), +(28, 236, 73), +(28, 237, 95), +(28, 238, 90), +(28, 239, 71), +(28, 240, 99), +(28, 241, 98), +(28, 242, 73), +(28, 243, 65), +(28, 244, 98), +(28, 245, 75), +(28, 246, 80), +(28, 247, 98), +(28, 248, 84), +(28, 249, 79), +(28, 250, 82), +(28, 251, 95), +(28, 252, 69), +(28, 253, 96), +(28, 254, 73), +(28, 255, 74), +(28, 256, 97), +(28, 257, 90), +(28, 258, 68), +(28, 259, 81), +(28, 260, 98), +(28, 261, 92), +(28, 262, 74), +(28, 263, 96), +(28, 264, 95), +(28, 265, 98), +(28, 266, 86), +(28, 267, 78), +(28, 268, 75), +(28, 269, 93), +(28, 270, 84), +(28, 271, 68), +(28, 272, 69), +(28, 273, 68), +(28, 274, 77), +(28, 275, 93), +(28, 276, 65), +(28, 277, 91), +(28, 278, 87), +(28, 279, 90), +(28, 280, 71), +(28, 281, 98), +(28, 282, 86), +(28, 283, 68), +(28, 284, 78), +(28, 285, 78), +(28, 286, 82), +(28, 287, 78), +(28, 288, 89), +(28, 289, 98), +(28, 290, 71), +(28, 291, 78), +(28, 292, 82), +(28, 293, 79), +(28, 294, 71), +(28, 295, 74), +(28, 296, 71), +(28, 297, 79), +(28, 298, 67), +(28, 299, 77), +(28, 300, 90), +(28, 301, 86), +(28, 302, 86), +(28, 303, 76), +(28, 304, 68), +(28, 305, 91), +(28, 306, 69), +(28, 307, 70), +(28, 308, 95), +(28, 309, 87), +(28, 310, 74), +(28, 311, 88), +(28, 312, 96), +(28, 313, 84), +(28, 314, 87), +(28, 315, 93), +(28, 316, 79), +(28, 317, 76), +(28, 318, 88), +(28, 319, 69), +(28, 320, 69), +(28, 321, 80), +(28, 322, 71), +(28, 323, 80), +(28, 324, 86), +(28, 325, 66), +(28, 326, 77), +(28, 327, 82), +(28, 328, 86), +(28, 329, 87), +(28, 330, 81), +(28, 331, 73), +(28, 332, 99), +(28, 333, 81), +(28, 334, 92), +(28, 335, 92), +(28, 336, 94), +(28, 337, 69), +(28, 338, 95), +(28, 339, 80), +(28, 340, 95), +(28, 341, 74), +(28, 342, 65), +(28, 343, 98), +(28, 344, 81), +(28, 345, 94), +(28, 346, 81), +(28, 347, 83), +(28, 348, 75), +(28, 349, 88), +(28, 350, 71), +(28, 351, 94), +(28, 352, 96), +(28, 353, 77), +(28, 354, 84), +(28, 355, 84), +(28, 356, 80), +(28, 357, 94), +(28, 358, 87), +(28, 359, 99), +(28, 360, 81), +(28, 361, 76), +(28, 362, 94), +(28, 363, 91), +(28, 364, 82), +(28, 365, 85), +(28, 366, 94), +(28, 367, 83), +(28, 368, 74), +(28, 369, 68), +(28, 370, 88), +(28, 371, 83), +(28, 372, 78), +(28, 373, 65), +(28, 374, 80), +(28, 375, 76), +(28, 376, 89), +(28, 377, 81), +(28, 378, 90), +(28, 379, 79), +(28, 380, 65), +(28, 381, 66), +(28, 382, 82), +(28, 383, 97), +(28, 384, 81), +(28, 385, 73), +(28, 386, 86), +(28, 387, 91), +(28, 388, 98), +(28, 389, 98), +(28, 390, 90), +(28, 391, 84), +(28, 392, 81), +(28, 393, 85), +(28, 394, 89), +(28, 395, 88), +(28, 396, 86), +(28, 397, 67), +(28, 398, 91), +(28, 399, 97), +(28, 400, 83), +(28, 401, 73), +(28, 402, 89), +(28, 403, 68), +(28, 404, 94), +(28, 405, 76), +(28, 406, 92), +(28, 407, 80), +(28, 408, 98), +(28, 409, 92), +(28, 410, 77), +(28, 411, 66), +(28, 412, 86), +(28, 413, 82), +(28, 414, 79), +(28, 415, 79), +(28, 416, 75), +(28, 417, 74), +(28, 418, 70), +(28, 419, 90), +(28, 420, 87), +(28, 421, 93), +(28, 422, 75), +(28, 423, 97), +(28, 424, 83), +(28, 425, 92), +(28, 426, 90), +(28, 427, 69), +(28, 428, 94), +(28, 429, 65), +(28, 430, 89), +(28, 431, 86), +(28, 432, 65), +(28, 433, 76), +(28, 434, 79), +(28, 435, 65), +(28, 436, 74), +(28, 437, 68), +(28, 438, 99), +(28, 439, 73), +(28, 440, 67), +(28, 441, 82), +(28, 442, 94), +(28, 443, 91), +(28, 444, 97), +(28, 445, 79), +(28, 446, 68), +(28, 447, 80), +(28, 448, 69), +(28, 449, 74), +(28, 450, 88), +(28, 451, 98), +(28, 452, 73), +(28, 453, 71), +(28, 454, 99), +(28, 455, 88), +(28, 456, 73), +(28, 457, 70), +(28, 458, 71), +(28, 459, 90), +(28, 460, 91), +(28, 461, 92), +(28, 462, 67), +(28, 463, 67), +(28, 464, 67), +(28, 465, 98), +(28, 466, 96), +(28, 467, 94), +(28, 468, 84), +(28, 469, 86), +(28, 470, 65), +(28, 471, 97), +(28, 472, 96), +(28, 473, 65), +(28, 474, 74), +(28, 475, 77), +(28, 476, 85), +(28, 477, 69), +(28, 478, 90), +(28, 479, 75), +(28, 480, 88), +(28, 481, 87), +(28, 482, 84), +(28, 483, 93), +(28, 484, 91), +(28, 485, 67), +(28, 486, 88), +(28, 487, 73), +(28, 488, 89), +(28, 489, 66), +(28, 490, 66), +(28, 491, 70), +(28, 492, 88), +(28, 493, 65), +(28, 494, 94), +(28, 495, 72), +(28, 496, 83), +(28, 497, 73), +(28, 498, 84), +(28, 499, 93), +(28, 500, 71), +(28, 501, 89), +(28, 502, 66), +(28, 503, 70), +(28, 504, 85), +(28, 505, 98), +(28, 506, 88), +(28, 507, 87), +(28, 508, 75), +(28, 509, 89), +(28, 510, 80), +(28, 511, 74), +(28, 512, 92), +(28, 513, 96), +(28, 514, 78), +(28, 515, 73), +(28, 516, 80), +(28, 517, 91), +(28, 518, 83), +(28, 519, 76), +(28, 520, 85), +(28, 521, 95), +(28, 522, 79), +(28, 523, 69), +(28, 524, 68), +(28, 525, 86), +(28, 526, 69), +(28, 527, 95), +(28, 528, 93), +(28, 529, 73), +(28, 530, 81), +(28, 531, 83), +(28, 532, 68), +(28, 533, 90), +(28, 534, 68), +(28, 535, 70), +(28, 536, 69), +(28, 537, 97), +(28, 538, 70), +(28, 539, 98), +(28, 540, 91), +(28, 541, 80), +(28, 542, 87), +(28, 543, 69), +(28, 544, 93), +(28, 545, 80), +(28, 546, 84), +(28, 547, 67), +(28, 548, 88), +(28, 549, 69), +(28, 550, 78), +(28, 551, 80), +(28, 552, 95), +(28, 553, 83), +(28, 554, 97), +(28, 555, 99), +(28, 556, 70), +(28, 557, 82), +(28, 558, 84), +(28, 559, 89), +(28, 560, 76), +(28, 561, 90), +(28, 562, 78), +(28, 563, 76), +(28, 564, 89), +(28, 1024, 79), +(28, 1025, 81), +(28, 1026, 69), +(28, 1027, 84), +(28, 1028, 84), +(28, 1029, 76), +(28, 1030, 68), +(28, 1031, 79), +(28, 1032, 86), +(28, 1033, 75), +(28, 1034, 96), +(28, 1035, 82), +(28, 1036, 78), +(28, 1037, 85), +(28, 1038, 75), +(28, 1039, 80), +(28, 1040, 94), +(28, 1041, 67), +(28, 1042, 98), +(28, 1043, 78), +(28, 1044, 67), +(28, 1045, 99), +(28, 1046, 89), +(28, 1047, 86), +(28, 1048, 97), +(28, 1049, 83), +(28, 1050, 94), +(28, 1051, 78), +(28, 1052, 68), +(28, 1053, 76), +(28, 1054, 68), +(28, 1055, 97), +(28, 1056, 66), +(28, 1057, 93), +(28, 1058, 86), +(28, 1059, 96), +(28, 1060, 97), +(28, 1061, 71), +(28, 1062, 90), +(28, 1063, 90), +(28, 1064, 83), +(28, 1065, 77), +(28, 1066, 75), +(28, 1067, 84), +(28, 1068, 70), +(28, 1069, 98), +(28, 1070, 76), +(28, 1071, 86), +(28, 1072, 67), +(28, 1073, 96), +(28, 1074, 77), +(28, 1075, 89), +(28, 1076, 71), +(28, 1077, 74), +(28, 1078, 84), +(28, 1079, 73), +(28, 1080, 84), +(28, 1081, 70), +(28, 1082, 81), +(28, 1083, 74), +(28, 1084, 84), +(28, 1085, 84), +(28, 1086, 73), +(28, 1087, 70), +(28, 1088, 78), +(28, 1089, 80), +(28, 1090, 94), +(28, 1091, 96), +(28, 1092, 75), +(28, 1093, 71), +(28, 1094, 77), +(28, 1095, 85), +(28, 1096, 76), +(28, 1097, 73), +(28, 1098, 80), +(28, 1099, 67), +(28, 1100, 83), +(28, 1101, 89), +(28, 1102, 70), +(28, 1103, 95), +(28, 1104, 84), +(28, 1105, 80), +(28, 1106, 94), +(28, 1107, 97), +(28, 1108, 74), +(28, 1109, 87), +(28, 1110, 77), +(28, 1111, 67), +(28, 1112, 66), +(28, 1113, 94), +(28, 1114, 88), +(28, 1115, 70), +(28, 1116, 89), +(28, 1117, 98), +(28, 1118, 88), +(28, 1119, 98), +(28, 1120, 77), +(28, 1121, 90), +(28, 1122, 66), +(28, 1123, 71), +(28, 1124, 81), +(28, 1125, 85), +(28, 1126, 98), +(28, 1127, 94), +(28, 1128, 99), +(28, 1129, 81), +(28, 1130, 88), +(28, 1131, 70), +(28, 1132, 98), +(28, 1133, 76), +(28, 1134, 67), +(28, 1135, 65), +(28, 1136, 92), +(28, 1137, 77), +(28, 1138, 77), +(28, 1139, 99), +(28, 1140, 79), +(28, 1141, 82), +(28, 1142, 81), +(28, 1143, 91), +(28, 1144, 98), +(28, 1145, 83), +(28, 1146, 94), +(28, 1147, 77), +(28, 1148, 85), +(28, 1149, 94), +(28, 1150, 86), +(28, 1151, 79), +(28, 1152, 67), +(28, 1153, 77), +(28, 1154, 68), +(28, 1155, 77), +(28, 1156, 75), +(28, 1157, 76), +(28, 1158, 99), +(28, 1159, 89), +(28, 1160, 91), +(28, 1161, 66), +(28, 1162, 81), +(28, 1163, 95), +(28, 1164, 87), +(28, 1165, 77), +(28, 1166, 73), +(28, 1167, 91), +(28, 1168, 69), +(28, 1169, 84), +(28, 1170, 95), +(28, 1171, 82), +(28, 1172, 91), +(28, 1173, 89), +(28, 1174, 92), +(28, 1175, 76), +(28, 1176, 91), +(28, 1177, 78), +(28, 1178, 70), +(28, 1179, 89), +(28, 1180, 89), +(28, 1181, 71), +(28, 1182, 65), +(28, 1183, 68), +(28, 1184, 96), +(28, 1185, 81), +(28, 1186, 86), +(28, 1187, 79), +(28, 1188, 98), +(28, 1189, 75), +(28, 1190, 70), +(28, 1191, 85), +(28, 1192, 75), +(28, 1193, 81), +(28, 1194, 76), +(28, 1195, 89), +(28, 1196, 95), +(28, 1197, 77), +(28, 1198, 68), +(28, 1199, 65), +(28, 1200, 70), +(28, 1201, 76), +(28, 1202, 65), +(28, 1203, 67), +(28, 1204, 68), +(28, 1205, 71), +(28, 1206, 82), +(28, 1207, 90), +(28, 1208, 83), +(28, 1209, 77), +(28, 1210, 83), +(28, 1211, 87), +(28, 1212, 66), +(28, 1213, 73), +(28, 1214, 96), +(28, 1215, 95), +(28, 1216, 96), +(28, 1217, 84), +(28, 1218, 66), +(28, 1219, 77), +(28, 1220, 76), +(28, 1221, 84), +(28, 1222, 94), +(28, 1223, 66), +(28, 1224, 67), +(28, 1225, 88), +(28, 1226, 72), +(28, 1227, 75), +(28, 1228, 87), +(28, 1229, 77), +(28, 1230, 98), +(28, 1231, 79), +(28, 1232, 65), +(28, 1233, 67), +(28, 1234, 95), +(28, 1235, 65), +(28, 1236, 94), +(28, 1237, 93), +(28, 1238, 79), +(28, 1239, 78), +(28, 1240, 80), +(28, 1241, 85), +(28, 1242, 73), +(28, 1243, 97), +(28, 1244, 94), +(28, 1245, 77), +(28, 1246, 68), +(28, 1247, 93), +(28, 1248, 80), +(28, 1249, 76), +(28, 1250, 67), +(28, 1251, 98), +(28, 1252, 74), +(28, 1253, 91), +(28, 1254, 84), +(28, 1255, 92), +(28, 1256, 66), +(28, 1257, 91), +(28, 1258, 74), +(28, 1259, 86), +(28, 1260, 80), +(28, 1261, 89), +(28, 1262, 96), +(28, 1263, 71), +(28, 1264, 90), +(28, 1265, 91), +(28, 1266, 85), +(28, 1267, 92), +(28, 1268, 83), +(28, 1269, 96), +(28, 1270, 97), +(28, 1271, 92), +(28, 1272, 74), +(28, 1273, 69), +(28, 1274, 81), +(28, 1275, 92), +(28, 1276, 87), +(28, 1277, 77), +(28, 1278, 99), +(28, 1279, 91), +(28, 1280, 84), +(28, 1281, 70), +(28, 1282, 88), +(28, 1283, 73), +(28, 1284, 67), +(28, 1285, 73), +(28, 1286, 68), +(28, 1287, 93), +(28, 1288, 73), +(28, 1289, 76), +(28, 1290, 99), +(28, 1291, 78), +(28, 1292, 77), +(28, 1293, 93), +(28, 1294, 69), +(28, 1295, 69), +(28, 1296, 94), +(28, 1297, 95), +(28, 1298, 75), +(28, 1299, 85), +(28, 1300, 96), +(28, 1301, 75), +(28, 1302, 71), +(28, 1303, 92), +(28, 1304, 79), +(28, 1305, 89), +(28, 1306, 97), +(28, 1307, 91), +(28, 1308, 65), +(28, 1309, 77), +(28, 1310, 76), +(28, 1311, 92), +(28, 1312, 89), +(28, 1313, 79), +(28, 1314, 94), +(28, 1315, 95), +(28, 1316, 91), +(28, 1317, 95), +(28, 1318, 90), +(28, 1319, 85), +(28, 1320, 84), +(28, 1321, 90), +(28, 1322, 78), +(28, 1323, 70), +(28, 1324, 81), +(28, 1325, 81), +(28, 1326, 66), +(28, 1327, 77), +(28, 1328, 67), +(28, 1329, 92), +(28, 1330, 76), +(28, 1331, 86), +(28, 1332, 72), +(28, 1333, 93), +(28, 1334, 88), +(28, 1335, 74), +(28, 1336, 90), +(28, 1337, 84), +(28, 1338, 73), +(28, 1339, 97), +(28, 1340, 81), +(28, 1341, 74), +(28, 1342, 69), +(28, 1343, 92), +(28, 1344, 87), +(28, 1345, 98), +(28, 1346, 65), +(28, 1347, 76), +(28, 1348, 82), +(28, 1349, 70), +(28, 1350, 91), +(28, 1351, 66), +(28, 1352, 86), +(28, 1353, 82), +(28, 1354, 84), +(28, 1355, 83), +(28, 1356, 91), +(28, 1357, 68), +(28, 1358, 83), +(28, 1359, 99), +(28, 1360, 85), +(28, 1361, 94), +(28, 1362, 72), +(28, 1363, 65), +(28, 1364, 73), +(28, 1365, 79), +(28, 1366, 79), +(28, 1367, 93), +(28, 1368, 86), +(28, 1369, 95), +(28, 1370, 72), +(28, 1371, 82), +(28, 1372, 67), +(28, 1373, 95), +(28, 1374, 65), +(28, 1375, 78), +(28, 1376, 65), +(28, 1377, 69), +(28, 1378, 77), +(28, 1379, 75), +(28, 1380, 74), +(28, 1381, 90), +(28, 1382, 75), +(28, 1383, 89), +(28, 1384, 83), +(28, 1385, 68), +(28, 1386, 81), +(28, 1387, 93), +(28, 1388, 94), +(28, 1389, 72), +(28, 1390, 76), +(28, 1391, 74), +(28, 1392, 72), +(28, 1393, 89), +(28, 1394, 67), +(28, 1395, 71), +(28, 1396, 75), +(28, 1397, 80), +(28, 1398, 75), +(28, 1399, 99), +(28, 1400, 80), +(28, 1401, 74), +(28, 1402, 81), +(28, 1403, 77), +(28, 1404, 90), +(28, 1405, 79), +(28, 1406, 90), +(28, 1407, 88), +(28, 1408, 76), +(28, 1409, 80), +(28, 1410, 71), +(28, 1411, 92), +(28, 1412, 94), +(28, 1413, 88), +(28, 1414, 93), +(28, 1415, 81), +(28, 1416, 75), +(28, 1417, 73), +(28, 1418, 77), +(28, 1419, 99), +(28, 1420, 90), +(28, 1421, 70), +(28, 1422, 71), +(28, 1423, 71), +(28, 1424, 65), +(28, 1425, 90), +(28, 1426, 69), +(28, 1427, 85), +(28, 1428, 95), +(28, 1429, 85), +(28, 1430, 96), +(28, 1431, 80), +(28, 1432, 89), +(28, 1433, 96), +(28, 1434, 94), +(28, 1435, 99), +(28, 1436, 97), +(28, 1437, 65), +(28, 1438, 86), +(28, 1439, 86), +(28, 1440, 74), +(28, 1441, 82), +(28, 1442, 85), +(28, 1443, 86), +(28, 1444, 85), +(28, 1445, 99), +(28, 1446, 76), +(28, 1447, 79), +(28, 1448, 77), +(28, 1449, 91), +(28, 1450, 68), +(28, 1451, 83), +(28, 1452, 95), +(28, 1453, 79), +(28, 1454, 88), +(28, 1455, 93), +(28, 1456, 99), +(28, 1457, 94), +(28, 1458, 96), +(28, 1459, 81), +(28, 1460, 78), +(28, 1461, 71), +(28, 1462, 81), +(28, 1463, 97), +(28, 1464, 97), +(28, 1465, 79), +(28, 1466, 70), +(28, 1467, 76), +(28, 1468, 93), +(28, 1469, 66), +(28, 1470, 81), +(28, 1471, 75), +(28, 1472, 91), +(28, 1473, 98), +(28, 1474, 81), +(28, 1475, 78), +(28, 1476, 79), +(28, 1477, 67), +(28, 1478, 98), +(28, 1479, 68), +(28, 1480, 68), +(28, 1481, 84), +(28, 1482, 78), +(28, 1483, 66), +(28, 1484, 71), +(28, 1485, 94), +(28, 1486, 74), +(28, 1487, 79), +(28, 1488, 91), +(28, 1489, 88), +(28, 1490, 73), +(28, 1491, 71), +(28, 1492, 77), +(28, 1493, 84), +(28, 1494, 72), +(28, 1495, 66), +(28, 1496, 74), +(28, 1497, 73), +(28, 1498, 99), +(28, 1499, 96), +(28, 1500, 78), +(28, 1501, 81), +(28, 1502, 73), +(28, 1503, 98), +(28, 1504, 77), +(28, 1505, 88), +(28, 1506, 74), +(28, 1507, 66), +(28, 1508, 94), +(28, 1509, 88), +(28, 1510, 93), +(28, 1511, 99), +(28, 1512, 67), +(28, 1513, 86), +(28, 1514, 88), +(28, 1515, 99), +(28, 1516, 92), +(28, 1517, 88), +(28, 1518, 96), +(28, 1519, 66), +(28, 1520, 89), +(28, 1521, 98), +(28, 1522, 90), +(28, 1523, 88), +(28, 1524, 83), +(28, 1525, 78), +(28, 1526, 79), +(28, 1527, 85), +(28, 1528, 83), +(28, 1529, 82), +(28, 1530, 86), +(28, 1531, 77), +(28, 1532, 77), +(28, 1533, 87), +(28, 1534, 97), +(28, 1535, 90), +(28, 1536, 67), +(28, 1537, 79), +(28, 1538, 65), +(28, 1539, 93), +(28, 1540, 91), +(28, 1541, 86), +(28, 1542, 82), +(28, 1543, 87), +(28, 1544, 94), +(28, 1545, 84), +(28, 1546, 99), +(28, 1547, 76), +(28, 1548, 93), +(28, 1549, 65), +(28, 1550, 76), +(28, 1551, 89), +(28, 1552, 82), +(28, 1553, 88), +(28, 1554, 90), +(28, 1555, 89), +(28, 1556, 84), +(28, 1557, 96), +(28, 1558, 75), +(28, 1559, 98), +(28, 1560, 65), +(28, 1561, 99), +(28, 1562, 92), +(28, 1563, 87), +(28, 1564, 79), +(28, 1565, 91), +(28, 1566, 66), +(28, 1567, 68), +(28, 1568, 68), +(28, 1569, 78), +(28, 1570, 92), +(28, 1571, 66), +(28, 1572, 94), +(28, 1573, 72), +(28, 1574, 71), +(28, 1575, 89), +(28, 1576, 67), +(28, 1577, 83), +(28, 1578, 93), +(28, 1579, 79), +(28, 1580, 98), +(28, 1581, 69), +(28, 1582, 94), +(28, 1583, 87), +(28, 1584, 75), +(28, 1585, 95), +(28, 1586, 77), +(28, 1587, 79), +(28, 2047, 71), +(28, 2048, 78), +(28, 2049, 66), +(28, 2050, 93), +(28, 2051, 83), +(28, 2052, 66), +(28, 2053, 77), +(28, 2054, 88), +(28, 2055, 84), +(28, 2056, 83), +(28, 2057, 85), +(28, 2058, 89), +(28, 2059, 66), +(28, 2060, 94), +(28, 2061, 96), +(28, 2062, 85), +(28, 2063, 69), +(28, 2064, 71), +(28, 2065, 96), +(28, 2066, 99), +(28, 2067, 83), +(28, 2068, 78), +(28, 2069, 87), +(28, 2070, 80), +(28, 2071, 74), +(28, 2072, 97), +(28, 2073, 69), +(28, 2074, 65), +(28, 2075, 84), +(28, 2076, 96), +(28, 2077, 73), +(28, 2078, 82), +(28, 2079, 80), +(28, 2080, 89), +(28, 2081, 89), +(28, 2082, 84), +(28, 2083, 82), +(28, 2084, 65), +(28, 2085, 82), +(28, 2086, 86), +(28, 2087, 93), +(28, 2088, 90), +(28, 2089, 80), +(28, 2090, 93), +(28, 2091, 94), +(28, 2092, 91), +(28, 2093, 72), +(28, 2094, 93), +(28, 2095, 88), +(28, 2096, 65), +(28, 2097, 73), +(28, 2098, 99), +(28, 2099, 93), +(28, 2100, 80), +(28, 2101, 98), +(28, 2102, 73), +(28, 2103, 80), +(28, 2104, 83), +(28, 2105, 73), +(28, 2106, 66), +(28, 2107, 77), +(28, 2108, 82), +(28, 2109, 78), +(28, 2110, 79), +(28, 2111, 98), +(28, 2112, 95), +(28, 2113, 76), +(28, 2114, 69), +(28, 2115, 85), +(28, 2116, 91), +(28, 2117, 88), +(28, 2118, 68), +(28, 2119, 92), +(28, 2120, 98), +(28, 2121, 82), +(28, 2122, 74), +(28, 2123, 97), +(28, 2124, 85), +(28, 2125, 73), +(28, 2126, 87), +(28, 2127, 85), +(28, 2128, 94), +(28, 2129, 92), +(28, 2130, 73), +(28, 2131, 98), +(28, 2132, 82), +(28, 2133, 86), +(28, 2134, 80), +(28, 2135, 99), +(28, 2136, 85), +(28, 2137, 90), +(28, 2138, 69), +(28, 2139, 66), +(28, 2140, 90), +(28, 2141, 82), +(28, 2142, 89), +(28, 2143, 71), +(28, 2144, 94), +(28, 2145, 82), +(28, 2146, 82), +(28, 2147, 95), +(28, 2148, 70), +(28, 2149, 90), +(28, 2150, 69), +(28, 2151, 65), +(28, 2152, 71), +(28, 2153, 77), +(28, 2154, 97), +(28, 2155, 91), +(28, 2156, 92), +(28, 2157, 73), +(28, 2158, 97), +(28, 2159, 80), +(28, 2160, 77), +(28, 2161, 89), +(28, 2162, 73), +(28, 2163, 76), +(28, 2164, 81), +(28, 2165, 92), +(28, 2166, 98), +(28, 2167, 86), +(28, 2168, 88), +(28, 2169, 98), +(28, 2170, 75), +(28, 2171, 88), +(28, 2172, 92), +(28, 2173, 99), +(28, 2174, 81), +(28, 2175, 84), +(28, 2176, 65), +(28, 2177, 69), +(28, 2178, 88), +(28, 2179, 68), +(28, 2180, 95), +(28, 2181, 91), +(28, 2182, 98), +(28, 2183, 82), +(28, 2184, 73), +(28, 2185, 77), +(28, 2186, 71), +(28, 2187, 78), +(28, 2188, 95), +(28, 2189, 79), +(28, 2190, 66), +(28, 2191, 98), +(28, 2192, 70), +(28, 2193, 82), +(28, 2194, 88), +(28, 2195, 82), +(28, 2196, 72), +(28, 2197, 98), +(28, 2198, 67), +(28, 2199, 82), +(28, 2200, 96), +(28, 2201, 81), +(28, 2202, 76), +(28, 2203, 95), +(28, 2204, 65), +(28, 2205, 69), +(28, 2206, 89), +(28, 2207, 88), +(28, 2208, 89), +(28, 2209, 74), +(28, 2210, 73), +(28, 2211, 91), +(28, 2212, 73), +(28, 2213, 77), +(28, 2214, 95), +(28, 2215, 84), +(28, 2216, 79), +(28, 2217, 87), +(28, 2218, 99), +(28, 2219, 85), +(28, 2220, 94), +(28, 2221, 98), +(28, 2222, 79), +(28, 2223, 81), +(28, 2224, 94), +(28, 2225, 73), +(28, 2226, 92), +(28, 2227, 95), +(28, 2228, 72), +(28, 2229, 83), +(28, 2230, 83), +(28, 2231, 76), +(28, 2232, 84), +(28, 2233, 78), +(28, 2234, 87), +(28, 2235, 97), +(28, 2236, 94), +(28, 2237, 68), +(28, 2238, 76), +(28, 2239, 84), +(28, 2240, 76), +(28, 2241, 67), +(28, 2242, 69), +(28, 2243, 74), +(28, 2244, 97), +(28, 2245, 88), +(28, 2246, 81), +(28, 2247, 89), +(28, 2248, 71), +(28, 2249, 96), +(28, 2250, 87), +(28, 2251, 65), +(28, 2252, 99), +(28, 2253, 94), +(28, 2254, 98), +(28, 2255, 72), +(28, 2256, 67), +(28, 2257, 72), +(28, 2258, 68), +(28, 2259, 76), +(28, 2260, 95), +(28, 2261, 80), +(28, 2262, 81), +(28, 2263, 77), +(28, 2264, 72), +(28, 2265, 67), +(28, 2266, 73), +(28, 2267, 92), +(28, 2268, 71), +(28, 2269, 91), +(28, 2270, 74), +(28, 2271, 68), +(28, 2272, 71), +(28, 2273, 69), +(28, 2274, 65), +(28, 2275, 97), +(28, 2276, 68), +(28, 2277, 74), +(28, 2278, 71), +(28, 2279, 81), +(28, 2280, 86), +(28, 2281, 76), +(28, 2282, 99), +(28, 2283, 75), +(28, 2284, 87), +(28, 2285, 67), +(28, 2286, 92), +(28, 2287, 82), +(28, 2288, 66), +(28, 2289, 86), +(28, 2290, 94), +(28, 2291, 79), +(28, 2292, 77), +(28, 2293, 83), +(28, 2294, 97), +(28, 2295, 74), +(28, 2296, 67), +(28, 2297, 97), +(28, 2298, 65), +(28, 2299, 68), +(28, 2300, 98), +(28, 2301, 93), +(28, 2302, 94), +(28, 2303, 97), +(28, 2304, 84), +(28, 2305, 67), +(28, 2306, 69), +(28, 2307, 74), +(28, 2308, 87), +(28, 2309, 96), +(28, 2310, 94), +(28, 2311, 69), +(28, 2312, 95), +(28, 2313, 79), +(28, 2314, 98), +(28, 2315, 82), +(28, 2316, 67), +(28, 2317, 97), +(28, 2318, 81), +(28, 2319, 65), +(28, 2320, 84), +(28, 2321, 68), +(28, 2322, 81), +(28, 2323, 93), +(28, 2324, 92), +(28, 2325, 99), +(28, 2326, 90), +(28, 2327, 65), +(28, 2328, 66), +(28, 2329, 74), +(28, 2330, 75), +(28, 2331, 72), +(28, 2332, 89), +(28, 2333, 65), +(28, 2334, 67), +(28, 2335, 94), +(28, 2336, 99), +(28, 2337, 70), +(28, 2338, 95), +(28, 2339, 67), +(28, 2340, 83), +(28, 2341, 80), +(28, 2342, 65), +(28, 2343, 68), +(28, 2344, 77), +(28, 2345, 91), +(28, 2346, 65), +(28, 2347, 91), +(28, 2348, 77), +(28, 2349, 98), +(28, 2350, 66), +(28, 2351, 80), +(28, 2352, 79), +(28, 2353, 89), +(28, 2354, 95), +(28, 2355, 89), +(28, 2356, 84), +(28, 2357, 96), +(28, 2358, 90), +(28, 2359, 92), +(28, 2360, 78), +(28, 2361, 67), +(28, 2362, 70), +(28, 2363, 67), +(28, 2364, 76), +(28, 2365, 97), +(28, 2366, 96), +(28, 2367, 83), +(28, 2368, 73), +(28, 2369, 73), +(28, 2370, 89), +(28, 2371, 72), +(28, 2372, 95), +(28, 2373, 97), +(28, 2374, 69), +(28, 2375, 87), +(28, 2376, 78), +(28, 2377, 68), +(28, 2378, 94), +(28, 2379, 90), +(28, 2380, 96), +(28, 2381, 66), +(28, 2382, 96), +(28, 2383, 65), +(28, 2384, 83), +(28, 2385, 77), +(28, 2386, 66), +(28, 2387, 95), +(28, 2388, 73), +(28, 2389, 75), +(28, 2390, 71), +(28, 2391, 97), +(28, 2392, 73), +(28, 2393, 80), +(28, 2394, 65), +(28, 2395, 85), +(28, 2396, 65), +(28, 2397, 67), +(28, 2398, 71), +(28, 2399, 91), +(28, 2400, 89), +(28, 2401, 74), +(28, 2402, 86), +(28, 2403, 74), +(28, 2404, 71), +(28, 2405, 66), +(28, 2406, 72), +(28, 2407, 93), +(28, 2408, 83), +(28, 2409, 97), +(28, 2410, 72), +(28, 2411, 97), +(28, 2412, 90), +(28, 2413, 77), +(28, 2414, 74), +(28, 2415, 95), +(28, 2416, 88), +(28, 2417, 75), +(28, 2418, 71), +(28, 2419, 72), +(28, 2420, 90), +(28, 2421, 79), +(28, 2422, 91), +(28, 2423, 67), +(28, 2424, 88), +(28, 2425, 88), +(28, 2426, 97), +(28, 2427, 89), +(28, 2428, 87), +(28, 2429, 86), +(28, 2430, 86), +(28, 2431, 72), +(28, 2432, 83), +(28, 2433, 68), +(28, 2434, 95), +(28, 2435, 89), +(28, 2436, 77), +(28, 2437, 70), +(28, 2438, 84), +(28, 2439, 68), +(28, 2440, 70), +(28, 2441, 99), +(28, 2442, 87), +(28, 2443, 88), +(28, 2444, 87), +(28, 2445, 68), +(28, 2446, 82), +(28, 2447, 67), +(28, 2448, 74), +(28, 2449, 94), +(28, 2450, 75), +(28, 2451, 89), +(28, 2452, 94), +(28, 2453, 81), +(28, 2454, 72), +(28, 2455, 95), +(28, 2456, 76), +(28, 2457, 82), +(28, 2458, 99), +(28, 2459, 88), +(28, 2460, 99), +(28, 2461, 92), +(28, 2462, 75), +(28, 2463, 91), +(28, 2464, 80), +(28, 2465, 70), +(28, 2466, 91), +(28, 2467, 76), +(28, 2468, 82), +(28, 2469, 85), +(28, 2470, 74), +(28, 2471, 79), +(28, 2472, 80), +(28, 2473, 96), +(28, 2474, 83), +(28, 2475, 72), +(28, 2476, 82), +(28, 2477, 88), +(28, 2478, 90), +(28, 2479, 87), +(28, 2480, 73), +(28, 2481, 92), +(28, 2482, 72), +(28, 2483, 69), +(28, 2484, 73), +(28, 2485, 67), +(28, 2486, 80), +(28, 2487, 95), +(28, 2488, 84), +(28, 2489, 76), +(28, 2490, 83), +(28, 2491, 88), +(28, 2492, 71), +(28, 2493, 85), +(28, 2494, 90), +(28, 2495, 87), +(28, 2496, 83), +(28, 2497, 81), +(28, 2498, 90), +(28, 2499, 65), +(28, 2500, 90), +(28, 2501, 76), +(28, 2502, 79), +(28, 2503, 72), +(28, 2504, 70), +(28, 2505, 95), +(28, 2506, 76), +(28, 2507, 72), +(28, 2508, 73), +(28, 2509, 74), +(28, 2510, 97), +(28, 2511, 81), +(28, 2512, 75), +(28, 2513, 74), +(28, 2514, 70), +(28, 2515, 86), +(28, 2516, 72), +(28, 2517, 98), +(28, 2518, 72), +(28, 2519, 95), +(28, 2520, 82), +(28, 2521, 73), +(28, 2522, 75), +(28, 2523, 88), +(28, 2524, 89), +(28, 2525, 77), +(28, 2526, 89), +(28, 2527, 82), +(28, 2528, 99), +(28, 2529, 82), +(28, 2530, 74), +(28, 2531, 93), +(28, 2532, 94), +(28, 2533, 87), +(28, 2534, 79), +(28, 2535, 73), +(28, 2536, 66), +(28, 2537, 93), +(28, 2538, 71), +(28, 2539, 73), +(28, 2540, 90), +(28, 2541, 91), +(28, 2542, 66), +(28, 2543, 85), +(28, 2544, 98), +(28, 2545, 84), +(28, 2546, 90), +(28, 2547, 70), +(28, 2548, 72), +(28, 2549, 65), +(28, 2550, 67), +(28, 2551, 68), +(28, 2552, 97), +(28, 2553, 94), +(28, 2554, 81), +(28, 2555, 98), +(28, 2556, 86), +(28, 2557, 66), +(28, 2558, 92), +(28, 2559, 72), +(28, 2560, 76), +(28, 2561, 88), +(28, 2562, 81), +(28, 2563, 96), +(28, 2564, 92), +(28, 2565, 67), +(28, 2566, 66), +(28, 2567, 96), +(28, 2568, 76), +(28, 2569, 92), +(28, 2570, 91), +(28, 2571, 77), +(28, 2572, 92), +(28, 2573, 75), +(28, 2574, 84), +(28, 2575, 66), +(28, 2576, 68), +(28, 2577, 99), +(28, 2578, 81), +(28, 2579, 95), +(28, 2580, 96), +(28, 2581, 98), +(28, 2582, 83), +(28, 2583, 95), +(28, 2584, 81), +(28, 2585, 86), +(28, 2586, 73), +(28, 2587, 87), +(28, 2588, 68), +(28, 2589, 72), +(28, 2590, 65), +(28, 2591, 94), +(28, 2592, 68), +(28, 2593, 75), +(28, 2594, 95), +(28, 2595, 80), +(28, 2596, 92), +(28, 2597, 73), +(28, 2598, 74), +(28, 2599, 81), +(28, 2600, 85), +(28, 2601, 95), +(28, 2602, 69), +(28, 2603, 86), +(28, 2604, 98), +(28, 2605, 90), +(28, 2606, 79), +(28, 2607, 85), +(28, 2608, 86), +(28, 2609, 93), +(28, 2610, 99), +(29, 1, 85), +(29, 2, 91), +(29, 3, 86), +(29, 4, 81), +(29, 5, 65), +(29, 6, 66), +(29, 7, 91), +(29, 8, 77), +(29, 9, 65), +(29, 10, 84), +(29, 11, 84), +(29, 12, 98), +(29, 13, 67), +(29, 14, 67), +(29, 15, 82), +(29, 16, 97), +(29, 17, 92), +(29, 18, 82), +(29, 19, 98), +(29, 20, 97), +(29, 21, 70), +(29, 22, 82), +(29, 23, 85), +(29, 24, 65), +(29, 25, 94), +(29, 26, 68), +(29, 27, 65), +(29, 28, 70), +(29, 29, 97), +(29, 30, 94), +(29, 31, 97), +(29, 32, 99), +(29, 33, 76), +(29, 34, 78), +(29, 35, 69), +(29, 36, 77), +(29, 37, 84), +(29, 38, 86), +(29, 39, 80), +(29, 40, 99), +(29, 41, 79), +(29, 42, 93), +(29, 43, 68), +(29, 44, 79), +(29, 45, 77), +(29, 46, 67), +(29, 47, 95), +(29, 48, 76), +(29, 49, 86), +(29, 50, 95), +(29, 51, 81), +(29, 52, 93), +(29, 53, 93), +(29, 54, 79), +(29, 55, 67), +(29, 56, 93), +(29, 57, 83), +(29, 58, 87), +(29, 59, 75), +(29, 60, 71), +(29, 61, 66), +(29, 62, 68), +(29, 63, 74), +(29, 64, 92), +(29, 65, 93), +(29, 66, 72), +(29, 67, 78), +(29, 68, 87), +(29, 69, 71), +(29, 70, 77), +(29, 71, 86), +(29, 72, 81), +(29, 73, 96), +(29, 74, 93), +(29, 75, 87), +(29, 76, 91), +(29, 77, 94), +(29, 78, 93), +(29, 79, 99), +(29, 80, 79), +(29, 81, 88), +(29, 82, 83), +(29, 83, 76), +(29, 84, 68), +(29, 85, 86), +(29, 86, 68), +(29, 87, 92), +(29, 88, 96), +(29, 89, 90), +(29, 90, 80), +(29, 91, 67), +(29, 92, 71), +(29, 93, 79), +(29, 94, 80), +(29, 95, 98), +(29, 96, 85), +(29, 97, 70), +(29, 98, 85), +(29, 99, 78), +(29, 100, 91), +(29, 101, 73), +(29, 102, 69), +(29, 103, 98), +(29, 104, 81), +(29, 105, 75), +(29, 106, 97), +(29, 107, 98), +(29, 108, 81), +(29, 109, 70), +(29, 110, 77), +(29, 111, 99), +(29, 112, 86), +(29, 113, 97), +(29, 114, 73), +(29, 115, 77), +(29, 116, 77), +(29, 117, 88), +(29, 118, 90), +(29, 119, 67), +(29, 120, 71), +(29, 121, 73), +(29, 122, 73), +(29, 123, 95), +(29, 124, 91), +(29, 125, 78), +(29, 126, 82), +(29, 127, 69), +(29, 128, 89), +(29, 129, 89), +(29, 130, 70), +(29, 131, 87), +(29, 132, 89), +(29, 133, 99), +(29, 134, 73), +(29, 135, 71), +(29, 136, 73), +(29, 137, 99), +(29, 138, 72), +(29, 139, 67), +(29, 140, 73), +(29, 141, 83), +(29, 142, 71), +(29, 143, 69), +(29, 144, 68), +(29, 145, 82), +(29, 146, 77), +(29, 147, 70), +(29, 148, 75), +(29, 149, 67), +(29, 150, 81), +(29, 151, 96), +(29, 152, 83), +(29, 153, 74), +(29, 154, 79), +(29, 155, 85), +(29, 156, 85), +(29, 157, 69), +(29, 158, 76), +(29, 159, 79), +(29, 160, 96), +(29, 161, 98), +(29, 162, 93), +(29, 163, 75), +(29, 164, 90), +(29, 165, 99), +(29, 166, 90), +(29, 167, 96), +(29, 168, 72), +(29, 169, 94), +(29, 170, 94), +(29, 171, 97), +(29, 172, 83), +(29, 173, 80), +(29, 174, 92), +(29, 175, 98), +(29, 176, 70), +(29, 177, 80), +(29, 178, 73), +(29, 179, 74), +(29, 180, 83), +(29, 181, 83), +(29, 182, 86), +(29, 183, 73), +(29, 184, 83), +(29, 185, 74), +(29, 186, 81), +(29, 187, 72), +(29, 188, 91), +(29, 189, 99), +(29, 190, 98), +(29, 191, 79), +(29, 192, 81), +(29, 193, 86), +(29, 194, 70), +(29, 195, 99), +(29, 196, 74), +(29, 197, 73), +(29, 198, 92), +(29, 199, 77), +(29, 200, 80), +(29, 201, 92), +(29, 202, 97), +(29, 203, 89), +(29, 204, 87), +(29, 205, 69), +(29, 206, 66), +(29, 207, 84), +(29, 208, 87), +(29, 209, 69), +(29, 210, 88), +(29, 211, 86), +(29, 212, 81), +(29, 213, 83), +(29, 214, 77), +(29, 215, 87), +(29, 216, 72), +(29, 217, 66), +(29, 218, 79), +(29, 219, 96), +(29, 220, 87), +(29, 221, 80), +(29, 222, 92), +(29, 223, 67), +(29, 224, 70), +(29, 225, 89), +(29, 226, 86), +(29, 227, 85), +(29, 228, 81), +(29, 229, 96), +(29, 230, 66), +(29, 231, 69), +(29, 232, 97), +(29, 233, 96), +(29, 234, 97), +(29, 235, 65), +(29, 236, 83), +(29, 237, 98), +(29, 238, 69), +(29, 239, 95), +(29, 240, 95), +(29, 241, 77), +(29, 242, 66), +(29, 243, 78), +(29, 244, 69), +(29, 245, 94), +(29, 246, 69), +(29, 247, 76), +(29, 248, 87), +(29, 249, 80), +(29, 250, 68), +(29, 251, 97), +(29, 252, 80), +(29, 253, 65), +(29, 254, 96), +(29, 255, 92), +(29, 256, 72), +(29, 257, 71), +(29, 258, 97), +(29, 259, 84), +(29, 260, 83), +(29, 261, 88), +(29, 262, 68), +(29, 263, 94), +(29, 264, 92), +(29, 265, 96), +(29, 266, 87), +(29, 267, 80), +(29, 268, 82), +(29, 269, 82), +(29, 270, 83), +(29, 271, 99), +(29, 272, 77), +(29, 273, 96), +(29, 274, 65), +(29, 275, 79), +(29, 276, 84), +(29, 277, 78), +(29, 278, 68), +(29, 279, 97), +(29, 280, 97), +(29, 281, 86), +(29, 282, 96), +(29, 283, 83), +(29, 284, 81), +(29, 285, 80), +(29, 286, 67), +(29, 287, 77), +(29, 288, 97), +(29, 289, 66), +(29, 290, 96), +(29, 291, 85), +(29, 292, 70), +(29, 293, 94), +(29, 294, 74), +(29, 295, 71), +(29, 296, 90), +(29, 297, 65), +(29, 298, 86), +(29, 299, 92), +(29, 300, 65), +(29, 301, 75), +(29, 302, 80), +(29, 303, 80), +(29, 304, 82), +(29, 305, 70), +(29, 306, 70), +(29, 307, 74), +(29, 308, 66), +(29, 309, 74), +(29, 310, 93), +(29, 311, 69), +(29, 312, 78), +(29, 313, 65), +(29, 314, 90), +(29, 315, 67), +(29, 316, 67), +(29, 317, 65), +(29, 318, 87), +(29, 319, 92), +(29, 320, 67), +(29, 321, 87), +(29, 322, 91), +(29, 323, 85), +(29, 324, 72), +(29, 325, 95), +(29, 326, 81), +(29, 327, 95), +(29, 328, 82), +(29, 329, 97), +(29, 330, 83), +(29, 331, 69), +(29, 332, 77), +(29, 333, 86), +(29, 334, 87), +(29, 335, 84), +(29, 336, 95), +(29, 337, 74), +(29, 338, 83), +(29, 339, 86), +(29, 340, 68), +(29, 341, 71), +(29, 342, 70), +(29, 343, 76), +(29, 344, 84), +(29, 345, 72), +(29, 346, 85), +(29, 347, 78), +(29, 348, 93), +(29, 349, 82), +(29, 350, 76), +(29, 351, 84), +(29, 352, 67), +(29, 353, 96), +(29, 354, 81), +(29, 355, 80), +(29, 356, 79), +(29, 357, 77), +(29, 358, 70), +(29, 359, 84), +(29, 360, 70), +(29, 361, 68), +(29, 362, 87), +(29, 363, 72), +(29, 364, 65), +(29, 365, 71), +(29, 366, 71), +(29, 367, 80), +(29, 368, 96), +(29, 369, 98), +(29, 370, 81), +(29, 371, 86), +(29, 372, 90), +(29, 373, 79), +(29, 374, 76), +(29, 375, 76), +(29, 376, 97), +(29, 377, 96), +(29, 378, 84), +(29, 379, 97), +(29, 380, 65), +(29, 381, 92), +(29, 382, 65), +(29, 383, 66), +(29, 384, 72), +(29, 385, 97), +(29, 386, 97), +(29, 387, 82), +(29, 388, 71), +(29, 389, 95), +(29, 390, 73), +(29, 391, 87), +(29, 392, 81), +(29, 393, 84), +(29, 394, 89), +(29, 395, 69), +(29, 396, 95), +(29, 397, 86), +(29, 398, 90), +(29, 399, 76), +(29, 400, 77), +(29, 401, 66), +(29, 402, 69), +(29, 403, 73), +(29, 404, 68), +(29, 405, 68), +(29, 406, 66), +(29, 407, 92), +(29, 408, 78), +(29, 409, 74), +(29, 410, 97), +(29, 411, 90), +(29, 412, 72), +(29, 413, 73), +(29, 414, 96), +(29, 415, 85), +(29, 416, 97), +(29, 417, 85), +(29, 418, 89), +(29, 419, 76), +(29, 420, 79), +(29, 421, 75), +(29, 422, 78), +(29, 423, 75), +(29, 424, 85), +(29, 425, 86), +(29, 426, 90), +(29, 427, 72), +(29, 428, 89), +(29, 429, 85), +(29, 430, 69), +(29, 431, 71), +(29, 432, 70), +(29, 433, 96), +(29, 434, 98), +(29, 435, 87), +(29, 436, 84), +(29, 437, 70), +(29, 438, 67), +(29, 439, 66), +(29, 440, 88), +(29, 441, 86), +(29, 442, 79), +(29, 443, 94), +(29, 444, 67), +(29, 445, 88), +(29, 446, 90), +(29, 447, 72), +(29, 448, 73), +(29, 449, 76), +(29, 450, 77), +(29, 451, 84), +(29, 452, 72), +(29, 453, 87), +(29, 454, 84), +(29, 455, 91), +(29, 456, 82), +(29, 457, 86), +(29, 458, 75), +(29, 459, 78), +(29, 460, 96), +(29, 461, 85), +(29, 462, 69), +(29, 463, 99), +(29, 464, 74), +(29, 465, 94), +(29, 466, 99), +(29, 467, 89), +(29, 468, 76), +(29, 469, 70), +(29, 470, 87), +(29, 471, 89), +(29, 472, 89), +(29, 473, 90), +(29, 474, 72), +(29, 475, 97), +(29, 476, 93), +(29, 477, 66), +(29, 478, 96), +(29, 479, 99), +(29, 480, 93), +(29, 481, 87), +(29, 482, 66), +(29, 483, 72), +(29, 484, 97), +(29, 485, 94), +(29, 486, 86), +(29, 487, 72), +(29, 488, 83), +(29, 489, 94), +(29, 490, 71), +(29, 491, 71), +(29, 492, 70), +(29, 493, 73), +(29, 494, 68), +(29, 495, 69), +(29, 496, 97), +(29, 497, 71), +(29, 498, 94), +(29, 499, 89), +(29, 500, 86), +(29, 501, 88), +(29, 502, 71), +(29, 503, 72), +(29, 504, 67), +(29, 505, 93), +(29, 506, 68), +(29, 507, 67), +(29, 508, 65), +(29, 509, 82), +(29, 510, 91), +(29, 511, 81), +(29, 512, 73), +(29, 513, 76), +(29, 514, 98), +(29, 515, 82), +(29, 516, 74), +(29, 517, 85), +(29, 518, 78), +(29, 519, 97), +(29, 520, 73), +(29, 521, 96), +(29, 522, 85), +(29, 523, 68), +(29, 524, 77), +(29, 525, 66), +(29, 526, 90), +(29, 527, 76), +(29, 528, 74), +(29, 529, 69), +(29, 530, 73), +(29, 531, 66), +(29, 532, 66), +(29, 533, 75), +(29, 534, 77), +(29, 535, 79), +(29, 536, 96), +(29, 537, 87), +(29, 538, 83), +(29, 539, 84), +(29, 540, 80), +(29, 541, 99), +(29, 542, 98), +(29, 543, 95), +(29, 544, 97), +(29, 545, 98), +(29, 546, 90), +(29, 547, 80), +(29, 548, 90), +(29, 549, 79), +(29, 550, 67), +(29, 551, 84), +(29, 552, 99), +(29, 553, 90), +(29, 554, 66), +(29, 555, 84), +(29, 556, 84), +(29, 557, 70), +(29, 558, 65), +(29, 559, 82), +(29, 560, 79), +(29, 561, 83), +(29, 562, 71), +(29, 563, 66), +(29, 564, 66), +(29, 1024, 65), +(29, 1025, 70), +(29, 1026, 95), +(29, 1027, 84), +(29, 1028, 89), +(29, 1029, 65), +(29, 1030, 97), +(29, 1031, 70), +(29, 1032, 75), +(29, 1033, 91), +(29, 1034, 79), +(29, 1035, 82), +(29, 1036, 71), +(29, 1037, 80), +(29, 1038, 97), +(29, 1039, 78), +(29, 1040, 92), +(29, 1041, 82), +(29, 1042, 97), +(29, 1043, 97), +(29, 1044, 75), +(29, 1045, 82), +(29, 1046, 67), +(29, 1047, 67), +(29, 1048, 75), +(29, 1049, 68), +(29, 1050, 81), +(29, 1051, 89), +(29, 1052, 75), +(29, 1053, 82), +(29, 1054, 66), +(29, 1055, 92), +(29, 1056, 72), +(29, 1057, 65), +(29, 1058, 72), +(29, 1059, 98), +(29, 1060, 98), +(29, 1061, 79), +(29, 1062, 66), +(29, 1063, 98), +(29, 1064, 74), +(29, 1065, 72), +(29, 1066, 84), +(29, 1067, 73), +(29, 1068, 68), +(29, 1069, 87), +(29, 1070, 97), +(29, 1071, 89), +(29, 1072, 87), +(29, 1073, 72), +(29, 1074, 73), +(29, 1075, 70), +(29, 1076, 76), +(29, 1077, 71), +(29, 1078, 94), +(29, 1079, 69), +(29, 1080, 79), +(29, 1081, 75), +(29, 1082, 85), +(29, 1083, 87), +(29, 1084, 82), +(29, 1085, 87), +(29, 1086, 81), +(29, 1087, 96), +(29, 1088, 91), +(29, 1089, 95), +(29, 1090, 74), +(29, 1091, 92), +(29, 1092, 99), +(29, 1093, 79), +(29, 1094, 90), +(29, 1095, 77), +(29, 1096, 74), +(29, 1097, 94), +(29, 1098, 95), +(29, 1099, 65), +(29, 1100, 97), +(29, 1101, 89), +(29, 1102, 77), +(29, 1103, 93), +(29, 1104, 79), +(29, 1105, 80), +(29, 1106, 79), +(29, 1107, 72), +(29, 1108, 69), +(29, 1109, 87), +(29, 1110, 73), +(29, 1111, 87), +(29, 1112, 98), +(29, 1113, 77), +(29, 1114, 78), +(29, 1115, 97), +(29, 1116, 68), +(29, 1117, 87), +(29, 1118, 97), +(29, 1119, 87), +(29, 1120, 77), +(29, 1121, 76), +(29, 1122, 88), +(29, 1123, 89), +(29, 1124, 83), +(29, 1125, 99), +(29, 1126, 98), +(29, 1127, 76), +(29, 1128, 67), +(29, 1129, 67), +(29, 1130, 65), +(29, 1131, 72), +(29, 1132, 67), +(29, 1133, 76), +(29, 1134, 71), +(29, 1135, 95), +(29, 1136, 80), +(29, 1137, 80), +(29, 1138, 71), +(29, 1139, 79), +(29, 1140, 81), +(29, 1141, 90), +(29, 1142, 87), +(29, 1143, 99), +(29, 1144, 66), +(29, 1145, 70), +(29, 1146, 97), +(29, 1147, 85), +(29, 1148, 76), +(29, 1149, 96), +(29, 1150, 71), +(29, 1151, 97), +(29, 1152, 96), +(29, 1153, 72), +(29, 1154, 78), +(29, 1155, 83), +(29, 1156, 97), +(29, 1157, 81), +(29, 1158, 89), +(29, 1159, 96), +(29, 1160, 97), +(29, 1161, 69), +(29, 1162, 85), +(29, 1163, 68), +(29, 1164, 87), +(29, 1165, 98), +(29, 1166, 72), +(29, 1167, 80), +(29, 1168, 96), +(29, 1169, 67), +(29, 1170, 92), +(29, 1171, 78), +(29, 1172, 72), +(29, 1173, 92), +(29, 1174, 84), +(29, 1175, 71), +(29, 1176, 85), +(29, 1177, 91), +(29, 1178, 74), +(29, 1179, 87), +(29, 1180, 68), +(29, 1181, 77), +(29, 1182, 81), +(29, 1183, 71), +(29, 1184, 93), +(29, 1185, 86), +(29, 1186, 78), +(29, 1187, 81), +(29, 1188, 87), +(29, 1189, 77), +(29, 1190, 74), +(29, 1191, 97), +(29, 1192, 84), +(29, 1193, 73), +(29, 1194, 89), +(29, 1195, 92), +(29, 1196, 83), +(29, 1197, 99), +(29, 1198, 87), +(29, 1199, 95), +(29, 1200, 83), +(29, 1201, 74), +(29, 1202, 67), +(29, 1203, 76), +(29, 1204, 77), +(29, 1205, 67), +(29, 1206, 81), +(29, 1207, 85), +(29, 1208, 68), +(29, 1209, 81), +(29, 1210, 68), +(29, 1211, 70), +(29, 1212, 88), +(29, 1213, 96), +(29, 1214, 68), +(29, 1215, 79), +(29, 1216, 98), +(29, 1217, 92), +(29, 1218, 84), +(29, 1219, 96), +(29, 1220, 66), +(29, 1221, 98), +(29, 1222, 77), +(29, 1223, 84), +(29, 1224, 85), +(29, 1225, 72), +(29, 1226, 83), +(29, 1227, 83), +(29, 1228, 88), +(29, 1229, 96), +(29, 1230, 78), +(29, 1231, 73), +(29, 1232, 67), +(29, 1233, 95), +(29, 1234, 72), +(29, 1235, 91), +(29, 1236, 71), +(29, 1237, 91), +(29, 1238, 66), +(29, 1239, 70), +(29, 1240, 98), +(29, 1241, 73), +(29, 1242, 76), +(29, 1243, 94), +(29, 1244, 80), +(29, 1245, 71), +(29, 1246, 82), +(29, 1247, 90), +(29, 1248, 94), +(29, 1249, 73), +(29, 1250, 82), +(29, 1251, 83), +(29, 1252, 77), +(29, 1253, 98), +(29, 1254, 92), +(29, 1255, 71), +(29, 1256, 81), +(29, 1257, 72), +(29, 1258, 81), +(29, 1259, 71), +(29, 1260, 71), +(29, 1261, 94), +(29, 1262, 86), +(29, 1263, 90), +(29, 1264, 87), +(29, 1265, 70), +(29, 1266, 70), +(29, 1267, 89), +(29, 1268, 84), +(29, 1269, 76), +(29, 1270, 98), +(29, 1271, 66), +(29, 1272, 71), +(29, 1273, 76), +(29, 1274, 89), +(29, 1275, 96), +(29, 1276, 92), +(29, 1277, 96), +(29, 1278, 66), +(29, 1279, 73), +(29, 1280, 67), +(29, 1281, 98), +(29, 1282, 85), +(29, 1283, 74), +(29, 1284, 96), +(29, 1285, 95), +(29, 1286, 65), +(29, 1287, 88), +(29, 1288, 68), +(29, 1289, 79), +(29, 1290, 75), +(29, 1291, 73), +(29, 1292, 74), +(29, 1293, 89), +(29, 1294, 91), +(29, 1295, 69), +(29, 1296, 94), +(29, 1297, 93), +(29, 1298, 78), +(29, 1299, 72), +(29, 1300, 73), +(29, 1301, 68), +(29, 1302, 96), +(29, 1303, 95), +(29, 1304, 84), +(29, 1305, 67), +(29, 1306, 69), +(29, 1307, 70), +(29, 1308, 96), +(29, 1309, 67), +(29, 1310, 83), +(29, 1311, 71), +(29, 1312, 87), +(29, 1313, 98), +(29, 1314, 73), +(29, 1315, 84), +(29, 1316, 97), +(29, 1317, 71), +(29, 1318, 93), +(29, 1319, 93), +(29, 1320, 68), +(29, 1321, 77), +(29, 1322, 75), +(29, 1323, 68), +(29, 1324, 98), +(29, 1325, 90), +(29, 1326, 81), +(29, 1327, 79), +(29, 1328, 95), +(29, 1329, 88), +(29, 1330, 73), +(29, 1331, 85), +(29, 1332, 94), +(29, 1333, 78), +(29, 1334, 95), +(29, 1335, 66), +(29, 1336, 73), +(29, 1337, 76), +(29, 1338, 99), +(29, 1339, 91), +(29, 1340, 69), +(29, 1341, 72), +(29, 1342, 65), +(29, 1343, 82), +(29, 1344, 76), +(29, 1345, 77), +(29, 1346, 96), +(29, 1347, 73), +(29, 1348, 66), +(29, 1349, 96), +(29, 1350, 97), +(29, 1351, 88), +(29, 1352, 68), +(29, 1353, 75), +(29, 1354, 72), +(29, 1355, 74), +(29, 1356, 91), +(29, 1357, 77), +(29, 1358, 87), +(29, 1359, 81), +(29, 1360, 87), +(29, 1361, 99), +(29, 1362, 93), +(29, 1363, 81), +(29, 1364, 81), +(29, 1365, 77), +(29, 1366, 74), +(29, 1367, 69), +(29, 1368, 81), +(29, 1369, 67), +(29, 1370, 70), +(29, 1371, 72), +(29, 1372, 83), +(29, 1373, 77), +(29, 1374, 99), +(29, 1375, 79), +(29, 1376, 96), +(29, 1377, 96), +(29, 1378, 77), +(29, 1379, 70), +(29, 1380, 66), +(29, 1381, 97), +(29, 1382, 80), +(29, 1383, 73), +(29, 1384, 81), +(29, 1385, 81), +(29, 1386, 69), +(29, 1387, 73), +(29, 1388, 81), +(29, 1389, 79), +(29, 1390, 84), +(29, 1391, 97), +(29, 1392, 97), +(29, 1393, 69), +(29, 1394, 84), +(29, 1395, 86), +(29, 1396, 70), +(29, 1397, 85), +(29, 1398, 84), +(29, 1399, 86), +(29, 1400, 99), +(29, 1401, 73), +(29, 1402, 87), +(29, 1403, 76), +(29, 1404, 78), +(29, 1405, 97), +(29, 1406, 84), +(29, 1407, 92), +(29, 1408, 88), +(29, 1409, 69), +(29, 1410, 77), +(29, 1411, 75), +(29, 1412, 68), +(29, 1413, 72), +(29, 1414, 99), +(29, 1415, 88), +(29, 1416, 91), +(29, 1417, 79), +(29, 1418, 79), +(29, 1419, 74), +(29, 1420, 85), +(29, 1421, 75), +(29, 1422, 71), +(29, 1423, 73), +(29, 1424, 87), +(29, 1425, 99), +(29, 1426, 86), +(29, 1427, 80), +(29, 1428, 99), +(29, 1429, 81), +(29, 1430, 80), +(29, 1431, 80), +(29, 1432, 78), +(29, 1433, 96), +(29, 1434, 91), +(29, 1435, 71), +(29, 1436, 83), +(29, 1437, 82), +(29, 1438, 96), +(29, 1439, 90), +(29, 1440, 67), +(29, 1441, 87), +(29, 1442, 77), +(29, 1443, 83), +(29, 1444, 79), +(29, 1445, 90), +(29, 1446, 73), +(29, 1447, 93), +(29, 1448, 87), +(29, 1449, 91), +(29, 1450, 98), +(29, 1451, 85), +(29, 1452, 94), +(29, 1453, 80), +(29, 1454, 87), +(29, 1455, 69), +(29, 1456, 79), +(29, 1457, 77), +(29, 1458, 72), +(29, 1459, 86), +(29, 1460, 94), +(29, 1461, 69), +(29, 1462, 92), +(29, 1463, 98), +(29, 1464, 70), +(29, 1465, 90), +(29, 1466, 98), +(29, 1467, 91), +(29, 1468, 95), +(29, 1469, 75), +(29, 1470, 90), +(29, 1471, 77), +(29, 1472, 67), +(29, 1473, 83), +(29, 1474, 89), +(29, 1475, 80), +(29, 1476, 82), +(29, 1477, 77), +(29, 1478, 91), +(29, 1479, 74), +(29, 1480, 89), +(29, 1481, 76), +(29, 1482, 72), +(29, 1483, 73), +(29, 1484, 79), +(29, 1485, 79), +(29, 1486, 80), +(29, 1487, 92), +(29, 1488, 91), +(29, 1489, 89), +(29, 1490, 91), +(29, 1491, 68), +(29, 1492, 95), +(29, 1493, 81), +(29, 1494, 92), +(29, 1495, 72), +(29, 1496, 85), +(29, 1497, 90), +(29, 1498, 76), +(29, 1499, 77), +(29, 1500, 69), +(29, 1501, 85), +(29, 1502, 84), +(29, 1503, 70), +(29, 1504, 79), +(29, 1505, 74), +(29, 1506, 67), +(29, 1507, 92), +(29, 1508, 86), +(29, 1509, 75), +(29, 1510, 75), +(29, 1511, 69), +(29, 1512, 75), +(29, 1513, 89), +(29, 1514, 69), +(29, 1515, 68), +(29, 1516, 93), +(29, 1517, 77), +(29, 1518, 80), +(29, 1519, 87), +(29, 1520, 90), +(29, 1521, 72), +(29, 1522, 72), +(29, 1523, 66), +(29, 1524, 68), +(29, 1525, 94), +(29, 1526, 94), +(29, 1527, 78), +(29, 1528, 73), +(29, 1529, 67), +(29, 1530, 74), +(29, 1531, 80), +(29, 1532, 98), +(29, 1533, 71), +(29, 1534, 68), +(29, 1535, 75), +(29, 1536, 95), +(29, 1537, 80), +(29, 1538, 74), +(29, 1539, 81), +(29, 1540, 87), +(29, 1541, 81), +(29, 1542, 65), +(29, 1543, 73), +(29, 1544, 65), +(29, 1545, 72), +(29, 1546, 86), +(29, 1547, 76), +(29, 1548, 88), +(29, 1549, 70), +(29, 1550, 85), +(29, 1551, 93), +(29, 1552, 67), +(29, 1553, 90), +(29, 1554, 66), +(29, 1555, 95), +(29, 1556, 79), +(29, 1557, 68), +(29, 1558, 85), +(29, 1559, 88), +(29, 1560, 67), +(29, 1561, 67), +(29, 1562, 87), +(29, 1563, 81), +(29, 1564, 90), +(29, 1565, 96), +(29, 1566, 78), +(29, 1567, 81), +(29, 1568, 78), +(29, 1569, 74), +(29, 1570, 77), +(29, 1571, 82), +(29, 1572, 87), +(29, 1573, 86), +(29, 1574, 67), +(29, 1575, 77), +(29, 1576, 78), +(29, 1577, 68), +(29, 1578, 97), +(29, 1579, 78), +(29, 1580, 72), +(29, 1581, 85), +(29, 1582, 78), +(29, 1583, 91), +(29, 1584, 94), +(29, 1585, 85), +(29, 1586, 91), +(29, 1587, 83), +(29, 2047, 89), +(29, 2048, 88), +(29, 2049, 92), +(29, 2050, 96), +(29, 2051, 93), +(29, 2052, 97), +(29, 2053, 90), +(29, 2054, 71), +(29, 2055, 69), +(29, 2056, 90), +(29, 2057, 86), +(29, 2058, 70), +(29, 2059, 86), +(29, 2060, 82), +(29, 2061, 83), +(29, 2062, 84), +(29, 2063, 78), +(29, 2064, 67), +(29, 2065, 83), +(29, 2066, 68), +(29, 2067, 99), +(29, 2068, 76), +(29, 2069, 66), +(29, 2070, 70), +(29, 2071, 82), +(29, 2072, 78), +(29, 2073, 79), +(29, 2074, 97), +(29, 2075, 93), +(29, 2076, 72), +(29, 2077, 87), +(29, 2078, 97), +(29, 2079, 78), +(29, 2080, 98), +(29, 2081, 86), +(29, 2082, 79), +(29, 2083, 83), +(29, 2084, 83), +(29, 2085, 98), +(29, 2086, 99), +(29, 2087, 94), +(29, 2088, 78), +(29, 2089, 76), +(29, 2090, 72), +(29, 2091, 81), +(29, 2092, 94), +(29, 2093, 69), +(29, 2094, 69), +(29, 2095, 81), +(29, 2096, 98), +(29, 2097, 89), +(29, 2098, 89), +(29, 2099, 77), +(29, 2100, 83), +(29, 2101, 81), +(29, 2102, 90), +(29, 2103, 74), +(29, 2104, 98), +(29, 2105, 94), +(29, 2106, 99), +(29, 2107, 98), +(29, 2108, 74), +(29, 2109, 95), +(29, 2110, 77), +(29, 2111, 89), +(29, 2112, 91), +(29, 2113, 65), +(29, 2114, 92), +(29, 2115, 84), +(29, 2116, 71), +(29, 2117, 81), +(29, 2118, 94), +(29, 2119, 96), +(29, 2120, 92), +(29, 2121, 65), +(29, 2122, 66), +(29, 2123, 87), +(29, 2124, 66), +(29, 2125, 85), +(29, 2126, 91), +(29, 2127, 70), +(29, 2128, 86), +(29, 2129, 83), +(29, 2130, 65), +(29, 2131, 70), +(29, 2132, 92), +(29, 2133, 78), +(29, 2134, 74), +(29, 2135, 75), +(29, 2136, 72), +(29, 2137, 75), +(29, 2138, 97), +(29, 2139, 94), +(29, 2140, 98), +(29, 2141, 80), +(29, 2142, 74), +(29, 2143, 87), +(29, 2144, 96), +(29, 2145, 69), +(29, 2146, 97), +(29, 2147, 81), +(29, 2148, 70), +(29, 2149, 99), +(29, 2150, 69), +(29, 2151, 68), +(29, 2152, 94), +(29, 2153, 82), +(29, 2154, 78), +(29, 2155, 72), +(29, 2156, 75), +(29, 2157, 91), +(29, 2158, 88), +(29, 2159, 69), +(29, 2160, 78), +(29, 2161, 76), +(29, 2162, 88), +(29, 2163, 97), +(29, 2164, 69), +(29, 2165, 80), +(29, 2166, 95), +(29, 2167, 67), +(29, 2168, 70), +(29, 2169, 92), +(29, 2170, 76), +(29, 2171, 73), +(29, 2172, 66), +(29, 2173, 94), +(29, 2174, 73), +(29, 2175, 91), +(29, 2176, 92), +(29, 2177, 81), +(29, 2178, 77), +(29, 2179, 87), +(29, 2180, 85), +(29, 2181, 87), +(29, 2182, 96), +(29, 2183, 78), +(29, 2184, 76), +(29, 2185, 68), +(29, 2186, 90), +(29, 2187, 73), +(29, 2188, 70), +(29, 2189, 72), +(29, 2190, 71), +(29, 2191, 66), +(29, 2192, 80), +(29, 2193, 78), +(29, 2194, 74), +(29, 2195, 72), +(29, 2196, 65), +(29, 2197, 68), +(29, 2198, 86), +(29, 2199, 98), +(29, 2200, 66), +(29, 2201, 98), +(29, 2202, 84), +(29, 2203, 68), +(29, 2204, 72), +(29, 2205, 81), +(29, 2206, 77), +(29, 2207, 91), +(29, 2208, 78), +(29, 2209, 84), +(29, 2210, 95), +(29, 2211, 85), +(29, 2212, 72), +(29, 2213, 85), +(29, 2214, 91), +(29, 2215, 77), +(29, 2216, 96), +(29, 2217, 88), +(29, 2218, 83), +(29, 2219, 98), +(29, 2220, 98), +(29, 2221, 90), +(29, 2222, 82), +(29, 2223, 88), +(29, 2224, 71), +(29, 2225, 82), +(29, 2226, 92), +(29, 2227, 88), +(29, 2228, 77), +(29, 2229, 97), +(29, 2230, 78), +(29, 2231, 99), +(29, 2232, 71), +(29, 2233, 76), +(29, 2234, 84), +(29, 2235, 82), +(29, 2236, 88), +(29, 2237, 78), +(29, 2238, 75), +(29, 2239, 81), +(29, 2240, 71), +(29, 2241, 96), +(29, 2242, 94), +(29, 2243, 81), +(29, 2244, 70), +(29, 2245, 96), +(29, 2246, 86), +(29, 2247, 68), +(29, 2248, 89), +(29, 2249, 98), +(29, 2250, 97), +(29, 2251, 68), +(29, 2252, 78), +(29, 2253, 82), +(29, 2254, 66), +(29, 2255, 77), +(29, 2256, 78), +(29, 2257, 72), +(29, 2258, 87), +(29, 2259, 86), +(29, 2260, 96), +(29, 2261, 69), +(29, 2262, 86), +(29, 2263, 80), +(29, 2264, 98), +(29, 2265, 92), +(29, 2266, 91), +(29, 2267, 89), +(29, 2268, 91), +(29, 2269, 91), +(29, 2270, 66), +(29, 2271, 81), +(29, 2272, 66), +(29, 2273, 80), +(29, 2274, 91), +(29, 2275, 93), +(29, 2276, 68), +(29, 2277, 82), +(29, 2278, 68), +(29, 2279, 68), +(29, 2280, 96), +(29, 2281, 89), +(29, 2282, 86), +(29, 2283, 72), +(29, 2284, 79), +(29, 2285, 87), +(29, 2286, 89), +(29, 2287, 75), +(29, 2288, 94), +(29, 2289, 77), +(29, 2290, 68), +(29, 2291, 89), +(29, 2292, 91), +(29, 2293, 97), +(29, 2294, 82), +(29, 2295, 74), +(29, 2296, 91), +(29, 2297, 75), +(29, 2298, 90), +(29, 2299, 93), +(29, 2300, 75), +(29, 2301, 84), +(29, 2302, 93), +(29, 2303, 76), +(29, 2304, 77), +(29, 2305, 73), +(29, 2306, 88), +(29, 2307, 89), +(29, 2308, 82), +(29, 2309, 91), +(29, 2310, 93), +(29, 2311, 69), +(29, 2312, 86), +(29, 2313, 86), +(29, 2314, 87), +(29, 2315, 86), +(29, 2316, 69), +(29, 2317, 99), +(29, 2318, 78), +(29, 2319, 93), +(29, 2320, 95), +(29, 2321, 67), +(29, 2322, 83), +(29, 2323, 75), +(29, 2324, 89), +(29, 2325, 82), +(29, 2326, 99), +(29, 2327, 78), +(29, 2328, 69), +(29, 2329, 90), +(29, 2330, 72), +(29, 2331, 80), +(29, 2332, 74), +(29, 2333, 98), +(29, 2334, 95), +(29, 2335, 74), +(29, 2336, 83), +(29, 2337, 69), +(29, 2338, 97), +(29, 2339, 96), +(29, 2340, 95), +(29, 2341, 80), +(29, 2342, 87), +(29, 2343, 77), +(29, 2344, 66), +(29, 2345, 84), +(29, 2346, 98), +(29, 2347, 89), +(29, 2348, 95), +(29, 2349, 77), +(29, 2350, 95), +(29, 2351, 87), +(29, 2352, 71), +(29, 2353, 99), +(29, 2354, 81), +(29, 2355, 68), +(29, 2356, 74), +(29, 2357, 84), +(29, 2358, 67), +(29, 2359, 67), +(29, 2360, 65), +(29, 2361, 99), +(29, 2362, 95), +(29, 2363, 72), +(29, 2364, 95), +(29, 2365, 70), +(29, 2366, 72), +(29, 2367, 70), +(29, 2368, 97), +(29, 2369, 78), +(29, 2370, 82), +(29, 2371, 86), +(29, 2372, 79), +(29, 2373, 77), +(29, 2374, 87), +(29, 2375, 95), +(29, 2376, 83), +(29, 2377, 89), +(29, 2378, 89), +(29, 2379, 85), +(29, 2380, 70); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(29, 2381, 88), +(29, 2382, 81), +(29, 2383, 77), +(29, 2384, 67), +(29, 2385, 81), +(29, 2386, 90), +(29, 2387, 95), +(29, 2388, 81), +(29, 2389, 72), +(29, 2390, 77), +(29, 2391, 70), +(29, 2392, 95), +(29, 2393, 98), +(29, 2394, 99), +(29, 2395, 82), +(29, 2396, 97), +(29, 2397, 72), +(29, 2398, 80), +(29, 2399, 86), +(29, 2400, 83), +(29, 2401, 95), +(29, 2402, 73), +(29, 2403, 89), +(29, 2404, 79), +(29, 2405, 92), +(29, 2406, 74), +(29, 2407, 69), +(29, 2408, 75), +(29, 2409, 65), +(29, 2410, 83), +(29, 2411, 72), +(29, 2412, 81), +(29, 2413, 83), +(29, 2414, 74), +(29, 2415, 67), +(29, 2416, 70), +(29, 2417, 78), +(29, 2418, 99), +(29, 2419, 75), +(29, 2420, 79), +(29, 2421, 92), +(29, 2422, 87), +(29, 2423, 92), +(29, 2424, 77), +(29, 2425, 88), +(29, 2426, 69), +(29, 2427, 74), +(29, 2428, 88), +(29, 2429, 73), +(29, 2430, 95), +(29, 2431, 98), +(29, 2432, 92), +(29, 2433, 76), +(29, 2434, 82), +(29, 2435, 91), +(29, 2436, 90), +(29, 2437, 90), +(29, 2438, 71), +(29, 2439, 70), +(29, 2440, 73), +(29, 2441, 71), +(29, 2442, 68), +(29, 2443, 81), +(29, 2444, 97), +(29, 2445, 99), +(29, 2446, 88), +(29, 2447, 79), +(29, 2448, 75), +(29, 2449, 98), +(29, 2450, 68), +(29, 2451, 73), +(29, 2452, 87), +(29, 2453, 73), +(29, 2454, 88), +(29, 2455, 94), +(29, 2456, 81), +(29, 2457, 87), +(29, 2458, 94), +(29, 2459, 85), +(29, 2460, 97), +(29, 2461, 93), +(29, 2462, 83), +(29, 2463, 77), +(29, 2464, 91), +(29, 2465, 91), +(29, 2466, 85), +(29, 2467, 71), +(29, 2468, 82), +(29, 2469, 93), +(29, 2470, 84), +(29, 2471, 74), +(29, 2472, 94), +(29, 2473, 88), +(29, 2474, 84), +(29, 2475, 66), +(29, 2476, 88), +(29, 2477, 91), +(29, 2478, 97), +(29, 2479, 82), +(29, 2480, 80), +(29, 2481, 68), +(29, 2482, 98), +(29, 2483, 88), +(29, 2484, 69), +(29, 2485, 96), +(29, 2486, 85), +(29, 2487, 87), +(29, 2488, 84), +(29, 2489, 84), +(29, 2490, 96), +(29, 2491, 95), +(29, 2492, 95), +(29, 2493, 76), +(29, 2494, 85), +(29, 2495, 89), +(29, 2496, 79), +(29, 2497, 96), +(29, 2498, 96), +(29, 2499, 81), +(29, 2500, 71), +(29, 2501, 87), +(29, 2502, 92), +(29, 2503, 94), +(29, 2504, 99), +(29, 2505, 94), +(29, 2506, 95), +(29, 2507, 83), +(29, 2508, 69), +(29, 2509, 65), +(29, 2510, 79), +(29, 2511, 86), +(29, 2512, 86), +(29, 2513, 89), +(29, 2514, 71), +(29, 2515, 69), +(29, 2516, 70), +(29, 2517, 89), +(29, 2518, 73), +(29, 2519, 70), +(29, 2520, 67), +(29, 2521, 78), +(29, 2522, 94), +(29, 2523, 82), +(29, 2524, 95), +(29, 2525, 93), +(29, 2526, 97), +(29, 2527, 74), +(29, 2528, 80), +(29, 2529, 79), +(29, 2530, 94), +(29, 2531, 78), +(29, 2532, 91), +(29, 2533, 93), +(29, 2534, 65), +(29, 2535, 79), +(29, 2536, 91), +(29, 2537, 69), +(29, 2538, 67), +(29, 2539, 72), +(29, 2540, 97), +(29, 2541, 90), +(29, 2542, 78), +(29, 2543, 89), +(29, 2544, 69), +(29, 2545, 80), +(29, 2546, 80), +(29, 2547, 82), +(29, 2548, 79), +(29, 2549, 81), +(29, 2550, 99), +(29, 2551, 91), +(29, 2552, 92), +(29, 2553, 68), +(29, 2554, 76), +(29, 2555, 71), +(29, 2556, 94), +(29, 2557, 90), +(29, 2558, 65), +(29, 2559, 85), +(29, 2560, 80), +(29, 2561, 89), +(29, 2562, 98), +(29, 2563, 74), +(29, 2564, 84), +(29, 2565, 84), +(29, 2566, 74), +(29, 2567, 90), +(29, 2568, 84), +(29, 2569, 85), +(29, 2570, 84), +(29, 2571, 86), +(29, 2572, 73), +(29, 2573, 97), +(29, 2574, 87), +(29, 2575, 86), +(29, 2576, 97), +(29, 2577, 98), +(29, 2578, 80), +(29, 2579, 69), +(29, 2580, 93), +(29, 2581, 83), +(29, 2582, 89), +(29, 2583, 89), +(29, 2584, 81), +(29, 2585, 90), +(29, 2586, 65), +(29, 2587, 95), +(29, 2588, 71), +(29, 2589, 90), +(29, 2590, 65), +(29, 2591, 94), +(29, 2592, 98), +(29, 2593, 92), +(29, 2594, 76), +(29, 2595, 69), +(29, 2596, 71), +(29, 2597, 78), +(29, 2598, 79), +(29, 2599, 70), +(29, 2600, 65), +(29, 2601, 71), +(29, 2602, 75), +(29, 2603, 90), +(29, 2604, 69), +(29, 2605, 97), +(29, 2606, 92), +(29, 2607, 91), +(29, 2608, 73), +(29, 2609, 88), +(29, 2610, 86), +(30, 1, 66), +(30, 2, 68), +(30, 3, 75), +(30, 4, 67), +(30, 5, 98), +(30, 6, 74), +(30, 7, 75), +(30, 8, 69), +(30, 9, 76), +(30, 10, 73), +(30, 11, 83), +(30, 12, 74), +(30, 13, 73), +(30, 14, 78), +(30, 15, 71), +(30, 16, 94), +(30, 17, 86), +(30, 18, 82), +(30, 19, 70), +(30, 20, 66), +(30, 21, 91), +(30, 22, 94), +(30, 23, 66), +(30, 24, 74), +(30, 25, 79), +(30, 26, 93), +(30, 27, 67), +(30, 28, 75), +(30, 29, 65), +(30, 30, 76), +(30, 31, 87), +(30, 32, 79), +(30, 33, 67), +(30, 34, 81), +(30, 35, 76), +(30, 36, 94), +(30, 37, 78), +(30, 38, 68), +(30, 39, 82), +(30, 40, 65), +(30, 41, 97), +(30, 42, 84), +(30, 43, 78), +(30, 44, 90), +(30, 45, 74), +(30, 46, 74), +(30, 47, 66), +(30, 48, 87), +(30, 49, 71), +(30, 50, 77), +(30, 51, 65), +(30, 52, 95), +(30, 53, 87), +(30, 54, 86), +(30, 55, 77), +(30, 56, 94), +(30, 57, 98), +(30, 58, 70), +(30, 59, 84), +(30, 60, 76), +(30, 61, 87), +(30, 62, 70), +(30, 63, 80), +(30, 64, 68), +(30, 65, 98), +(30, 66, 96), +(30, 67, 86), +(30, 68, 93), +(30, 69, 65), +(30, 70, 92), +(30, 71, 72), +(30, 72, 83), +(30, 73, 71), +(30, 74, 88), +(30, 75, 69), +(30, 76, 83), +(30, 77, 66), +(30, 78, 92), +(30, 79, 86), +(30, 80, 72), +(30, 81, 67), +(30, 82, 71), +(30, 83, 70), +(30, 84, 67), +(30, 85, 93), +(30, 86, 99), +(30, 87, 91), +(30, 88, 65), +(30, 89, 98), +(30, 90, 87), +(30, 91, 70), +(30, 92, 68), +(30, 93, 76), +(30, 94, 94), +(30, 95, 78), +(30, 96, 71), +(30, 97, 98), +(30, 98, 75), +(30, 99, 93), +(30, 100, 80), +(30, 101, 94), +(30, 102, 76), +(30, 103, 87), +(30, 104, 77), +(30, 105, 96), +(30, 106, 80), +(30, 107, 81), +(30, 108, 82), +(30, 109, 78), +(30, 110, 78), +(30, 111, 81), +(30, 112, 82), +(30, 113, 67), +(30, 114, 73), +(30, 115, 86), +(30, 116, 80), +(30, 117, 93), +(30, 118, 69), +(30, 119, 76), +(30, 120, 97), +(30, 121, 98), +(30, 122, 94), +(30, 123, 94), +(30, 124, 68), +(30, 125, 70), +(30, 126, 89), +(30, 127, 91), +(30, 128, 84), +(30, 129, 76), +(30, 130, 93), +(30, 131, 89), +(30, 132, 97), +(30, 133, 93), +(30, 134, 69), +(30, 135, 83), +(30, 136, 66), +(30, 137, 77), +(30, 138, 77), +(30, 139, 74), +(30, 140, 67), +(30, 141, 84), +(30, 142, 93), +(30, 143, 68), +(30, 144, 95), +(30, 145, 79), +(30, 146, 91), +(30, 147, 92), +(30, 148, 83), +(30, 149, 88), +(30, 150, 89), +(30, 151, 77), +(30, 152, 86), +(30, 153, 86), +(30, 154, 76), +(30, 155, 78), +(30, 156, 76), +(30, 157, 72), +(30, 158, 75), +(30, 159, 96), +(30, 160, 99), +(30, 161, 96), +(30, 162, 67), +(30, 163, 85), +(30, 164, 89), +(30, 165, 77), +(30, 166, 87), +(30, 167, 83), +(30, 168, 99), +(30, 169, 78), +(30, 170, 70), +(30, 171, 72), +(30, 172, 75), +(30, 173, 70), +(30, 174, 74), +(30, 175, 70), +(30, 176, 70), +(30, 177, 67), +(30, 178, 95), +(30, 179, 95), +(30, 180, 84), +(30, 181, 82), +(30, 182, 91), +(30, 183, 71), +(30, 184, 98), +(30, 185, 90), +(30, 186, 94), +(30, 187, 73), +(30, 188, 99), +(30, 189, 93), +(30, 190, 95), +(30, 191, 97), +(30, 192, 87), +(30, 193, 92), +(30, 194, 67), +(30, 195, 83), +(30, 196, 90), +(30, 197, 65), +(30, 198, 79), +(30, 199, 80), +(30, 200, 91), +(30, 201, 97), +(30, 202, 83), +(30, 203, 99), +(30, 204, 70), +(30, 205, 96), +(30, 206, 71), +(30, 207, 98), +(30, 208, 99), +(30, 209, 78), +(30, 210, 89), +(30, 211, 99), +(30, 212, 78), +(30, 213, 67), +(30, 214, 96), +(30, 215, 79), +(30, 216, 70), +(30, 217, 90), +(30, 218, 70), +(30, 219, 66), +(30, 220, 90), +(30, 221, 86), +(30, 222, 86), +(30, 223, 97), +(30, 224, 76), +(30, 225, 89), +(30, 226, 81), +(30, 227, 88), +(30, 228, 88), +(30, 229, 88), +(30, 230, 69), +(30, 231, 83), +(30, 232, 89), +(30, 233, 91), +(30, 234, 83), +(30, 235, 89), +(30, 236, 97), +(30, 237, 71), +(30, 238, 78), +(30, 239, 91), +(30, 240, 78), +(30, 241, 99), +(30, 242, 80), +(30, 243, 96), +(30, 244, 93), +(30, 245, 75), +(30, 246, 74), +(30, 247, 94), +(30, 248, 82), +(30, 249, 97), +(30, 250, 67), +(30, 251, 65), +(30, 252, 94), +(30, 253, 74), +(30, 254, 95), +(30, 255, 66), +(30, 256, 76), +(30, 257, 89), +(30, 258, 76), +(30, 259, 80), +(30, 260, 89), +(30, 261, 99), +(30, 262, 91), +(30, 263, 81), +(30, 264, 76), +(30, 265, 86), +(30, 266, 76), +(30, 267, 68), +(30, 268, 83), +(30, 269, 65), +(30, 270, 97), +(30, 271, 87), +(30, 272, 78), +(30, 273, 70), +(30, 274, 99), +(30, 275, 89), +(30, 276, 93), +(30, 277, 88), +(30, 278, 84), +(30, 279, 79), +(30, 280, 69), +(30, 281, 70), +(30, 282, 87), +(30, 283, 77), +(30, 284, 70), +(30, 285, 66), +(30, 286, 94), +(30, 287, 88), +(30, 288, 80), +(30, 289, 78), +(30, 290, 98), +(30, 291, 92), +(30, 292, 75), +(30, 293, 98), +(30, 294, 94), +(30, 295, 71), +(30, 296, 69), +(30, 297, 94), +(30, 298, 92), +(30, 299, 94), +(30, 300, 97), +(30, 301, 88), +(30, 302, 79), +(30, 303, 72), +(30, 304, 72), +(30, 305, 80), +(30, 306, 79), +(30, 307, 98), +(30, 308, 86), +(30, 309, 80), +(30, 310, 71), +(30, 311, 84), +(30, 312, 72), +(30, 313, 75), +(30, 314, 90), +(30, 315, 98), +(30, 316, 68), +(30, 317, 65), +(30, 318, 70), +(30, 319, 83), +(30, 320, 96), +(30, 321, 94), +(30, 322, 76), +(30, 323, 85), +(30, 324, 74), +(30, 325, 73), +(30, 326, 77), +(30, 327, 93), +(30, 328, 89), +(30, 329, 90), +(30, 330, 74), +(30, 331, 96), +(30, 332, 92), +(30, 333, 87), +(30, 334, 97), +(30, 335, 81), +(30, 336, 92), +(30, 337, 97), +(30, 338, 67), +(30, 339, 92), +(30, 340, 96), +(30, 341, 70), +(30, 342, 92), +(30, 343, 90), +(30, 344, 77), +(30, 345, 84), +(30, 346, 83), +(30, 347, 79), +(30, 348, 69), +(30, 349, 83), +(30, 350, 66), +(30, 351, 74), +(30, 352, 87), +(30, 353, 79), +(30, 354, 87), +(30, 355, 83), +(30, 356, 89), +(30, 357, 74), +(30, 358, 96), +(30, 359, 94), +(30, 360, 78), +(30, 361, 84), +(30, 362, 92), +(30, 363, 96), +(30, 364, 84), +(30, 365, 73), +(30, 366, 82), +(30, 367, 87), +(30, 368, 86), +(30, 369, 82), +(30, 370, 74), +(30, 371, 83), +(30, 372, 81), +(30, 373, 97), +(30, 374, 75), +(30, 375, 88), +(30, 376, 85), +(30, 377, 65), +(30, 378, 88), +(30, 379, 78), +(30, 380, 65), +(30, 381, 93), +(30, 382, 86), +(30, 383, 77), +(30, 384, 87), +(30, 385, 95), +(30, 386, 90), +(30, 387, 72), +(30, 388, 65), +(30, 389, 80), +(30, 390, 65), +(30, 391, 86), +(30, 392, 95), +(30, 393, 99), +(30, 394, 79), +(30, 395, 86), +(30, 396, 80), +(30, 397, 92), +(30, 398, 79), +(30, 399, 92), +(30, 400, 70), +(30, 401, 82), +(30, 402, 84), +(30, 403, 94), +(30, 404, 97), +(30, 405, 85), +(30, 406, 95), +(30, 407, 86), +(30, 408, 65), +(30, 409, 96), +(30, 410, 85), +(30, 411, 82), +(30, 412, 73), +(30, 413, 86), +(30, 414, 71), +(30, 415, 87), +(30, 416, 89), +(30, 417, 70), +(30, 418, 66), +(30, 419, 80), +(30, 420, 70), +(30, 421, 66), +(30, 422, 67), +(30, 423, 91), +(30, 424, 75), +(30, 425, 88), +(30, 426, 79), +(30, 427, 91), +(30, 428, 99), +(30, 429, 92), +(30, 430, 83), +(30, 431, 68), +(30, 432, 88), +(30, 433, 82), +(30, 434, 86), +(30, 435, 72), +(30, 436, 66), +(30, 437, 83), +(30, 438, 80), +(30, 439, 81), +(30, 440, 72), +(30, 441, 83), +(30, 442, 85), +(30, 443, 65), +(30, 444, 82), +(30, 445, 69), +(30, 446, 77), +(30, 447, 94), +(30, 448, 93), +(30, 449, 94), +(30, 450, 90), +(30, 451, 96), +(30, 452, 78), +(30, 453, 88), +(30, 454, 93), +(30, 455, 89), +(30, 456, 92), +(30, 457, 85), +(30, 458, 97), +(30, 459, 92), +(30, 460, 73), +(30, 461, 86), +(30, 462, 82), +(30, 463, 90), +(30, 464, 68), +(30, 465, 76), +(30, 466, 72), +(30, 467, 65), +(30, 468, 96), +(30, 469, 97), +(30, 470, 71), +(30, 471, 91), +(30, 472, 92), +(30, 473, 85), +(30, 474, 72), +(30, 475, 82), +(30, 476, 78), +(30, 477, 95), +(30, 478, 76), +(30, 479, 99), +(30, 480, 65), +(30, 481, 75), +(30, 482, 82), +(30, 483, 83), +(30, 484, 79), +(30, 485, 98), +(30, 486, 68), +(30, 487, 78), +(30, 488, 82), +(30, 489, 67), +(30, 490, 93), +(30, 491, 80), +(30, 492, 92), +(30, 493, 70), +(30, 494, 67), +(30, 495, 98), +(30, 496, 67), +(30, 497, 71), +(30, 498, 85), +(30, 499, 67), +(30, 500, 83), +(30, 501, 73), +(30, 502, 93), +(30, 503, 84), +(30, 504, 84), +(30, 505, 74), +(30, 506, 84), +(30, 507, 82), +(30, 508, 70), +(30, 509, 78), +(30, 510, 83), +(30, 511, 83), +(30, 512, 97), +(30, 513, 99), +(30, 514, 87), +(30, 515, 95), +(30, 516, 99), +(30, 517, 89), +(30, 518, 79), +(30, 519, 87), +(30, 520, 80), +(30, 521, 98), +(30, 522, 90), +(30, 523, 69), +(30, 524, 81), +(30, 525, 76), +(30, 526, 73), +(30, 527, 98), +(30, 528, 95), +(30, 529, 95), +(30, 530, 92), +(30, 531, 86), +(30, 532, 96), +(30, 533, 77), +(30, 534, 84), +(30, 535, 85), +(30, 536, 66), +(30, 537, 79), +(30, 538, 73), +(30, 539, 95), +(30, 540, 94), +(30, 541, 85), +(30, 542, 93), +(30, 543, 97), +(30, 544, 70), +(30, 545, 79), +(30, 546, 65), +(30, 547, 66), +(30, 548, 87), +(30, 549, 86), +(30, 550, 70), +(30, 551, 81), +(30, 552, 78), +(30, 553, 69), +(30, 554, 82), +(30, 555, 93), +(30, 556, 79), +(30, 557, 72), +(30, 558, 76), +(30, 559, 78), +(30, 560, 69), +(30, 561, 80), +(30, 562, 95), +(30, 563, 74), +(30, 564, 67), +(30, 1024, 94), +(30, 1025, 80), +(30, 1026, 95), +(30, 1027, 69), +(30, 1028, 90), +(30, 1029, 67), +(30, 1030, 77), +(30, 1031, 86), +(30, 1032, 86), +(30, 1033, 97), +(30, 1034, 77), +(30, 1035, 98), +(30, 1036, 92), +(30, 1037, 81), +(30, 1038, 92), +(30, 1039, 85), +(30, 1040, 76), +(30, 1041, 72), +(30, 1042, 94), +(30, 1043, 84), +(30, 1044, 72), +(30, 1045, 84), +(30, 1046, 73), +(30, 1047, 82), +(30, 1048, 89), +(30, 1049, 98), +(30, 1050, 96), +(30, 1051, 76), +(30, 1052, 71), +(30, 1053, 81), +(30, 1054, 98), +(30, 1055, 69), +(30, 1056, 98), +(30, 1057, 88), +(30, 1058, 71), +(30, 1059, 69), +(30, 1060, 97), +(30, 1061, 82), +(30, 1062, 98), +(30, 1063, 87), +(30, 1064, 90), +(30, 1065, 65), +(30, 1066, 96), +(30, 1067, 81), +(30, 1068, 67), +(30, 1069, 78), +(30, 1070, 86), +(30, 1071, 85), +(30, 1072, 66), +(30, 1073, 77), +(30, 1074, 69), +(30, 1075, 88), +(30, 1076, 70), +(30, 1077, 67), +(30, 1078, 82), +(30, 1079, 98), +(30, 1080, 79), +(30, 1081, 66), +(30, 1082, 84), +(30, 1083, 80), +(30, 1084, 96), +(30, 1085, 83), +(30, 1086, 89), +(30, 1087, 99), +(30, 1088, 87), +(30, 1089, 66), +(30, 1090, 93), +(30, 1091, 69), +(30, 1092, 67), +(30, 1093, 80), +(30, 1094, 85), +(30, 1095, 68), +(30, 1096, 77), +(30, 1097, 85), +(30, 1098, 99), +(30, 1099, 93), +(30, 1100, 67), +(30, 1101, 79), +(30, 1102, 78), +(30, 1103, 82), +(30, 1104, 78), +(30, 1105, 93), +(30, 1106, 83), +(30, 1107, 75), +(30, 1108, 95), +(30, 1109, 75), +(30, 1110, 69), +(30, 1111, 68), +(30, 1112, 88), +(30, 1113, 76), +(30, 1114, 97), +(30, 1115, 68), +(30, 1116, 76), +(30, 1117, 77), +(30, 1118, 87), +(30, 1119, 79), +(30, 1120, 89), +(30, 1121, 83), +(30, 1122, 73), +(30, 1123, 99), +(30, 1124, 73), +(30, 1125, 69), +(30, 1126, 99), +(30, 1127, 68), +(30, 1128, 80), +(30, 1129, 66), +(30, 1130, 68), +(30, 1131, 82), +(30, 1132, 81), +(30, 1133, 88), +(30, 1134, 93), +(30, 1135, 77), +(30, 1136, 96), +(30, 1137, 71), +(30, 1138, 93), +(30, 1139, 70), +(30, 1140, 66), +(30, 1141, 69), +(30, 1142, 92), +(30, 1143, 88), +(30, 1144, 76), +(30, 1145, 73), +(30, 1146, 67), +(30, 1147, 94), +(30, 1148, 92), +(30, 1149, 66), +(30, 1150, 99), +(30, 1151, 78), +(30, 1152, 75), +(30, 1153, 65), +(30, 1154, 84), +(30, 1155, 84), +(30, 1156, 93), +(30, 1157, 77), +(30, 1158, 84), +(30, 1159, 79), +(30, 1160, 78), +(30, 1161, 83), +(30, 1162, 83), +(30, 1163, 98), +(30, 1164, 78), +(30, 1165, 89), +(30, 1166, 74), +(30, 1167, 98), +(30, 1168, 66), +(30, 1169, 89), +(30, 1170, 75), +(30, 1171, 77), +(30, 1172, 93), +(30, 1173, 94), +(30, 1174, 82), +(30, 1175, 96), +(30, 1176, 90), +(30, 1177, 84), +(30, 1178, 93), +(30, 1179, 66), +(30, 1180, 81), +(30, 1181, 73), +(30, 1182, 73), +(30, 1183, 87), +(30, 1184, 77), +(30, 1185, 90), +(30, 1186, 68), +(30, 1187, 70), +(30, 1188, 78), +(30, 1189, 97), +(30, 1190, 97), +(30, 1191, 92), +(30, 1192, 94), +(30, 1193, 94), +(30, 1194, 81), +(30, 1195, 92), +(30, 1196, 98), +(30, 1197, 94), +(30, 1198, 99), +(30, 1199, 74), +(30, 1200, 69), +(30, 1201, 78), +(30, 1202, 76), +(30, 1203, 79), +(30, 1204, 84), +(30, 1205, 95), +(30, 1206, 92), +(30, 1207, 92), +(30, 1208, 98), +(30, 1209, 76), +(30, 1210, 96), +(30, 1211, 94), +(30, 1212, 72), +(30, 1213, 90), +(30, 1214, 91), +(30, 1215, 78), +(30, 1216, 68), +(30, 1217, 74), +(30, 1218, 85), +(30, 1219, 82), +(30, 1220, 69), +(30, 1221, 69), +(30, 1222, 72), +(30, 1223, 88), +(30, 1224, 86), +(30, 1225, 67), +(30, 1226, 66), +(30, 1227, 94), +(30, 1228, 78), +(30, 1229, 79), +(30, 1230, 99), +(30, 1231, 99), +(30, 1232, 74), +(30, 1233, 68), +(30, 1234, 80), +(30, 1235, 90), +(30, 1236, 82), +(30, 1237, 78), +(30, 1238, 65), +(30, 1239, 86), +(30, 1240, 83), +(30, 1241, 83), +(30, 1242, 95), +(30, 1243, 79), +(30, 1244, 89), +(30, 1245, 92), +(30, 1246, 69), +(30, 1247, 70), +(30, 1248, 94), +(30, 1249, 75), +(30, 1250, 76), +(30, 1251, 93), +(30, 1252, 65), +(30, 1253, 84), +(30, 1254, 72), +(30, 1255, 84), +(30, 1256, 72), +(30, 1257, 93), +(30, 1258, 81), +(30, 1259, 67), +(30, 1260, 87), +(30, 1261, 67), +(30, 1262, 79), +(30, 1263, 70), +(30, 1264, 99), +(30, 1265, 84), +(30, 1266, 68), +(30, 1267, 67), +(30, 1268, 72), +(30, 1269, 95), +(30, 1270, 65), +(30, 1271, 93), +(30, 1272, 71), +(30, 1273, 76), +(30, 1274, 69), +(30, 1275, 67), +(30, 1276, 99), +(30, 1277, 79), +(30, 1278, 77), +(30, 1279, 65), +(30, 1280, 90), +(30, 1281, 78), +(30, 1282, 96), +(30, 1283, 86), +(30, 1284, 74), +(30, 1285, 86), +(30, 1286, 92), +(30, 1287, 96), +(30, 1288, 91), +(30, 1289, 68), +(30, 1290, 83), +(30, 1291, 70), +(30, 1292, 74), +(30, 1293, 66), +(30, 1294, 80), +(30, 1295, 73), +(30, 1296, 90), +(30, 1297, 78), +(30, 1298, 98), +(30, 1299, 77), +(30, 1300, 83), +(30, 1301, 85), +(30, 1302, 97), +(30, 1303, 65), +(30, 1304, 83), +(30, 1305, 72), +(30, 1306, 96), +(30, 1307, 81), +(30, 1308, 82), +(30, 1309, 74), +(30, 1310, 89), +(30, 1311, 85), +(30, 1312, 68), +(30, 1313, 85), +(30, 1314, 89), +(30, 1315, 70), +(30, 1316, 79), +(30, 1317, 74), +(30, 1318, 97), +(30, 1319, 75), +(30, 1320, 93), +(30, 1321, 84), +(30, 1322, 75), +(30, 1323, 99), +(30, 1324, 75), +(30, 1325, 71), +(30, 1326, 73), +(30, 1327, 67), +(30, 1328, 69), +(30, 1329, 66), +(30, 1330, 74), +(30, 1331, 69), +(30, 1332, 83), +(30, 1333, 83), +(30, 1334, 73), +(30, 1335, 79), +(30, 1336, 97), +(30, 1337, 65), +(30, 1338, 72), +(30, 1339, 65), +(30, 1340, 70), +(30, 1341, 77), +(30, 1342, 86), +(30, 1343, 68), +(30, 1344, 88), +(30, 1345, 99), +(30, 1346, 83), +(30, 1347, 76), +(30, 1348, 90), +(30, 1349, 67), +(30, 1350, 77), +(30, 1351, 74), +(30, 1352, 89), +(30, 1353, 67), +(30, 1354, 77), +(30, 1355, 90), +(30, 1356, 81), +(30, 1357, 80), +(30, 1358, 88), +(30, 1359, 81), +(30, 1360, 80), +(30, 1361, 79), +(30, 1362, 82), +(30, 1363, 74), +(30, 1364, 86), +(30, 1365, 84), +(30, 1366, 68), +(30, 1367, 69), +(30, 1368, 80), +(30, 1369, 92), +(30, 1370, 67), +(30, 1371, 85), +(30, 1372, 78), +(30, 1373, 73), +(30, 1374, 93), +(30, 1375, 99), +(30, 1376, 79), +(30, 1377, 68), +(30, 1378, 87), +(30, 1379, 94), +(30, 1380, 78), +(30, 1381, 80), +(30, 1382, 76), +(30, 1383, 68), +(30, 1384, 88), +(30, 1385, 68), +(30, 1386, 71), +(30, 1387, 92), +(30, 1388, 91), +(30, 1389, 80), +(30, 1390, 96), +(30, 1391, 94), +(30, 1392, 67), +(30, 1393, 82), +(30, 1394, 82), +(30, 1395, 85), +(30, 1396, 93), +(30, 1397, 88), +(30, 1398, 98), +(30, 1399, 66), +(30, 1400, 86), +(30, 1401, 81), +(30, 1402, 93), +(30, 1403, 84), +(30, 1404, 92), +(30, 1405, 79), +(30, 1406, 84), +(30, 1407, 98), +(30, 1408, 79), +(30, 1409, 78), +(30, 1410, 71), +(30, 1411, 70), +(30, 1412, 66), +(30, 1413, 66), +(30, 1414, 79), +(30, 1415, 98), +(30, 1416, 95), +(30, 1417, 78), +(30, 1418, 65), +(30, 1419, 77), +(30, 1420, 94), +(30, 1421, 66), +(30, 1422, 76), +(30, 1423, 90), +(30, 1424, 69), +(30, 1425, 88), +(30, 1426, 91), +(30, 1427, 81), +(30, 1428, 76), +(30, 1429, 82), +(30, 1430, 80), +(30, 1431, 94), +(30, 1432, 92), +(30, 1433, 93), +(30, 1434, 75), +(30, 1435, 65), +(30, 1436, 92), +(30, 1437, 81), +(30, 1438, 88), +(30, 1439, 94), +(30, 1440, 81), +(30, 1441, 88), +(30, 1442, 65), +(30, 1443, 92), +(30, 1444, 75), +(30, 1445, 85), +(30, 1446, 73), +(30, 1447, 94), +(30, 1448, 71), +(30, 1449, 83), +(30, 1450, 79), +(30, 1451, 77), +(30, 1452, 86), +(30, 1453, 98), +(30, 1454, 72), +(30, 1455, 73), +(30, 1456, 66), +(30, 1457, 74), +(30, 1458, 78), +(30, 1459, 91), +(30, 1460, 68), +(30, 1461, 68), +(30, 1462, 85), +(30, 1463, 98), +(30, 1464, 66), +(30, 1465, 80), +(30, 1466, 75), +(30, 1467, 93), +(30, 1468, 94), +(30, 1469, 79), +(30, 1470, 75), +(30, 1471, 95), +(30, 1472, 68), +(30, 1473, 92), +(30, 1474, 67), +(30, 1475, 67), +(30, 1476, 71), +(30, 1477, 88), +(30, 1478, 96), +(30, 1479, 67), +(30, 1480, 71), +(30, 1481, 97), +(30, 1482, 99), +(30, 1483, 66), +(30, 1484, 81), +(30, 1485, 83), +(30, 1486, 78), +(30, 1487, 91), +(30, 1488, 83), +(30, 1489, 80), +(30, 1490, 65), +(30, 1491, 99), +(30, 1492, 76), +(30, 1493, 86), +(30, 1494, 75), +(30, 1495, 65), +(30, 1496, 71), +(30, 1497, 95), +(30, 1498, 87), +(30, 1499, 70), +(30, 1500, 80), +(30, 1501, 82), +(30, 1502, 68), +(30, 1503, 98), +(30, 1504, 99), +(30, 1505, 75), +(30, 1506, 81), +(30, 1507, 89), +(30, 1508, 83), +(30, 1509, 79), +(30, 1510, 65), +(30, 1511, 87), +(30, 1512, 76), +(30, 1513, 89), +(30, 1514, 87), +(30, 1515, 84), +(30, 1516, 91), +(30, 1517, 89), +(30, 1518, 81), +(30, 1519, 69), +(30, 1520, 82), +(30, 1521, 71), +(30, 1522, 97), +(30, 1523, 73), +(30, 1524, 97), +(30, 1525, 66), +(30, 1526, 99), +(30, 1527, 68), +(30, 1528, 88), +(30, 1529, 95), +(30, 1530, 84), +(30, 1531, 68), +(30, 1532, 88), +(30, 1533, 98), +(30, 1534, 88), +(30, 1535, 78), +(30, 1536, 68), +(30, 1537, 97), +(30, 1538, 77), +(30, 1539, 65), +(30, 1540, 96), +(30, 1541, 85), +(30, 1542, 83), +(30, 1543, 73), +(30, 1544, 85), +(30, 1545, 79), +(30, 1546, 65), +(30, 1547, 87), +(30, 1548, 96), +(30, 1549, 91), +(30, 1550, 99), +(30, 1551, 96), +(30, 1552, 92), +(30, 1553, 86), +(30, 1554, 99), +(30, 1555, 74), +(30, 1556, 81), +(30, 1557, 89), +(30, 1558, 67), +(30, 1559, 82), +(30, 1560, 78), +(30, 1561, 81), +(30, 1562, 97), +(30, 1563, 80), +(30, 1564, 81), +(30, 1565, 73), +(30, 1566, 92), +(30, 1567, 70), +(30, 1568, 87), +(30, 1569, 69), +(30, 1570, 78), +(30, 1571, 76), +(30, 1572, 92), +(30, 1573, 78), +(30, 1574, 91), +(30, 1575, 89), +(30, 1576, 89), +(30, 1577, 94), +(30, 1578, 73), +(30, 1579, 91), +(30, 1580, 73), +(30, 1581, 83), +(30, 1582, 81), +(30, 1583, 97), +(30, 1584, 76), +(30, 1585, 77), +(30, 1586, 92), +(30, 1587, 81), +(30, 2047, 96), +(30, 2048, 71), +(30, 2049, 92), +(30, 2050, 67), +(30, 2051, 84), +(30, 2052, 86), +(30, 2053, 84), +(30, 2054, 94), +(30, 2055, 96), +(30, 2056, 67), +(30, 2057, 75), +(30, 2058, 88), +(30, 2059, 99), +(30, 2060, 66), +(30, 2061, 98), +(30, 2062, 99), +(30, 2063, 85), +(30, 2064, 92), +(30, 2065, 98), +(30, 2066, 84), +(30, 2067, 76), +(30, 2068, 85), +(30, 2069, 73), +(30, 2070, 81), +(30, 2071, 86), +(30, 2072, 68), +(30, 2073, 91), +(30, 2074, 85), +(30, 2075, 79), +(30, 2076, 77), +(30, 2077, 81), +(30, 2078, 70), +(30, 2079, 87), +(30, 2080, 91), +(30, 2081, 66), +(30, 2082, 79), +(30, 2083, 68), +(30, 2084, 87), +(30, 2085, 75), +(30, 2086, 69), +(30, 2087, 90), +(30, 2088, 94), +(30, 2089, 75), +(30, 2090, 86), +(30, 2091, 94), +(30, 2092, 97), +(30, 2093, 96), +(30, 2094, 69), +(30, 2095, 75), +(30, 2096, 91), +(30, 2097, 91), +(30, 2098, 83), +(30, 2099, 75), +(30, 2100, 76), +(30, 2101, 82), +(30, 2102, 95), +(30, 2103, 67), +(30, 2104, 71), +(30, 2105, 81), +(30, 2106, 95), +(30, 2107, 91), +(30, 2108, 94), +(30, 2109, 71), +(30, 2110, 81), +(30, 2111, 87), +(30, 2112, 70), +(30, 2113, 67), +(30, 2114, 84), +(30, 2115, 65), +(30, 2116, 84), +(30, 2117, 74), +(30, 2118, 98), +(30, 2119, 71), +(30, 2120, 66), +(30, 2121, 84), +(30, 2122, 75), +(30, 2123, 81), +(30, 2124, 80), +(30, 2125, 72), +(30, 2126, 96), +(30, 2127, 68), +(30, 2128, 83), +(30, 2129, 74), +(30, 2130, 79), +(30, 2131, 98), +(30, 2132, 79), +(30, 2133, 66), +(30, 2134, 66), +(30, 2135, 84), +(30, 2136, 78), +(30, 2137, 78), +(30, 2138, 72), +(30, 2139, 69), +(30, 2140, 83), +(30, 2141, 89), +(30, 2142, 75), +(30, 2143, 87), +(30, 2144, 97), +(30, 2145, 71), +(30, 2146, 67), +(30, 2147, 90), +(30, 2148, 75), +(30, 2149, 90), +(30, 2150, 73), +(30, 2151, 83), +(30, 2152, 86), +(30, 2153, 80), +(30, 2154, 69), +(30, 2155, 94), +(30, 2156, 68), +(30, 2157, 68), +(30, 2158, 88), +(30, 2159, 74), +(30, 2160, 93), +(30, 2161, 83), +(30, 2162, 85), +(30, 2163, 89), +(30, 2164, 74), +(30, 2165, 95), +(30, 2166, 83), +(30, 2167, 80), +(30, 2168, 90), +(30, 2169, 99), +(30, 2170, 92), +(30, 2171, 70), +(30, 2172, 93), +(30, 2173, 75), +(30, 2174, 93), +(30, 2175, 70), +(30, 2176, 98), +(30, 2177, 98), +(30, 2178, 93), +(30, 2179, 94), +(30, 2180, 75), +(30, 2181, 99), +(30, 2182, 88), +(30, 2183, 79), +(30, 2184, 95), +(30, 2185, 81), +(30, 2186, 66), +(30, 2187, 70), +(30, 2188, 69), +(30, 2189, 93), +(30, 2190, 95), +(30, 2191, 76), +(30, 2192, 89), +(30, 2193, 76), +(30, 2194, 74), +(30, 2195, 83), +(30, 2196, 80), +(30, 2197, 89), +(30, 2198, 96), +(30, 2199, 73), +(30, 2200, 84), +(30, 2201, 77), +(30, 2202, 92), +(30, 2203, 97), +(30, 2204, 99), +(30, 2205, 65), +(30, 2206, 90), +(30, 2207, 93), +(30, 2208, 92), +(30, 2209, 65), +(30, 2210, 88), +(30, 2211, 85), +(30, 2212, 79), +(30, 2213, 92), +(30, 2214, 71), +(30, 2215, 66), +(30, 2216, 76), +(30, 2217, 82), +(30, 2218, 88), +(30, 2219, 67), +(30, 2220, 75), +(30, 2221, 94), +(30, 2222, 72), +(30, 2223, 98), +(30, 2224, 77), +(30, 2225, 92), +(30, 2226, 83), +(30, 2227, 88), +(30, 2228, 70), +(30, 2229, 65), +(30, 2230, 74), +(30, 2231, 97), +(30, 2232, 72), +(30, 2233, 80), +(30, 2234, 93), +(30, 2235, 86), +(30, 2236, 96), +(30, 2237, 88), +(30, 2238, 84), +(30, 2239, 88), +(30, 2240, 98), +(30, 2241, 77), +(30, 2242, 94), +(30, 2243, 85), +(30, 2244, 99), +(30, 2245, 81), +(30, 2246, 87), +(30, 2247, 78), +(30, 2248, 65), +(30, 2249, 69), +(30, 2250, 89), +(30, 2251, 79), +(30, 2252, 95), +(30, 2253, 97), +(30, 2254, 77), +(30, 2255, 70), +(30, 2256, 92), +(30, 2257, 78), +(30, 2258, 99), +(30, 2259, 69), +(30, 2260, 97), +(30, 2261, 74), +(30, 2262, 87), +(30, 2263, 72), +(30, 2264, 69), +(30, 2265, 87), +(30, 2266, 66), +(30, 2267, 68), +(30, 2268, 72), +(30, 2269, 82), +(30, 2270, 79), +(30, 2271, 67), +(30, 2272, 91), +(30, 2273, 94), +(30, 2274, 93), +(30, 2275, 75), +(30, 2276, 72), +(30, 2277, 89), +(30, 2278, 95), +(30, 2279, 70), +(30, 2280, 87), +(30, 2281, 83), +(30, 2282, 69), +(30, 2283, 71), +(30, 2284, 67), +(30, 2285, 98), +(30, 2286, 73), +(30, 2287, 67), +(30, 2288, 99), +(30, 2289, 99), +(30, 2290, 99), +(30, 2291, 77), +(30, 2292, 91), +(30, 2293, 66), +(30, 2294, 87), +(30, 2295, 83), +(30, 2296, 85), +(30, 2297, 89), +(30, 2298, 84), +(30, 2299, 90), +(30, 2300, 86), +(30, 2301, 79), +(30, 2302, 86), +(30, 2303, 96), +(30, 2304, 67), +(30, 2305, 99), +(30, 2306, 99), +(30, 2307, 90), +(30, 2308, 85), +(30, 2309, 68), +(30, 2310, 82), +(30, 2311, 74), +(30, 2312, 80), +(30, 2313, 91), +(30, 2314, 79), +(30, 2315, 85), +(30, 2316, 80), +(30, 2317, 66), +(30, 2318, 84), +(30, 2319, 66), +(30, 2320, 87), +(30, 2321, 66), +(30, 2322, 71), +(30, 2323, 68), +(30, 2324, 68), +(30, 2325, 83), +(30, 2326, 91), +(30, 2327, 96), +(30, 2328, 85), +(30, 2329, 92), +(30, 2330, 68), +(30, 2331, 86), +(30, 2332, 71), +(30, 2333, 92), +(30, 2334, 69), +(30, 2335, 95), +(30, 2336, 91), +(30, 2337, 69), +(30, 2338, 65), +(30, 2339, 71), +(30, 2340, 90), +(30, 2341, 95), +(30, 2342, 68), +(30, 2343, 84), +(30, 2344, 72), +(30, 2345, 80), +(30, 2346, 87), +(30, 2347, 71), +(30, 2348, 73), +(30, 2349, 97), +(30, 2350, 70), +(30, 2351, 93), +(30, 2352, 89), +(30, 2353, 95), +(30, 2354, 92), +(30, 2355, 77), +(30, 2356, 87), +(30, 2357, 67), +(30, 2358, 69), +(30, 2359, 99), +(30, 2360, 96), +(30, 2361, 88), +(30, 2362, 97), +(30, 2363, 92), +(30, 2364, 78), +(30, 2365, 66), +(30, 2366, 76), +(30, 2367, 71), +(30, 2368, 98), +(30, 2369, 73), +(30, 2370, 78), +(30, 2371, 80), +(30, 2372, 81), +(30, 2373, 96), +(30, 2374, 97), +(30, 2375, 81), +(30, 2376, 82), +(30, 2377, 69), +(30, 2378, 98), +(30, 2379, 93), +(30, 2380, 69), +(30, 2381, 72), +(30, 2382, 89), +(30, 2383, 88), +(30, 2384, 94), +(30, 2385, 76), +(30, 2386, 83), +(30, 2387, 93), +(30, 2388, 85), +(30, 2389, 71), +(30, 2390, 70), +(30, 2391, 65), +(30, 2392, 86), +(30, 2393, 81), +(30, 2394, 98), +(30, 2395, 92), +(30, 2396, 84), +(30, 2397, 97), +(30, 2398, 86), +(30, 2399, 90), +(30, 2400, 81), +(30, 2401, 84), +(30, 2402, 77), +(30, 2403, 89), +(30, 2404, 82), +(30, 2405, 92), +(30, 2406, 92), +(30, 2407, 73), +(30, 2408, 98), +(30, 2409, 74), +(30, 2410, 98), +(30, 2411, 73), +(30, 2412, 69), +(30, 2413, 87), +(30, 2414, 84), +(30, 2415, 91), +(30, 2416, 94), +(30, 2417, 65), +(30, 2418, 79), +(30, 2419, 96), +(30, 2420, 96), +(30, 2421, 90), +(30, 2422, 99), +(30, 2423, 91), +(30, 2424, 95), +(30, 2425, 77), +(30, 2426, 95), +(30, 2427, 71), +(30, 2428, 80), +(30, 2429, 79), +(30, 2430, 84), +(30, 2431, 68), +(30, 2432, 76), +(30, 2433, 75), +(30, 2434, 95), +(30, 2435, 90), +(30, 2436, 88), +(30, 2437, 72), +(30, 2438, 74), +(30, 2439, 79), +(30, 2440, 93), +(30, 2441, 97), +(30, 2442, 83), +(30, 2443, 78), +(30, 2444, 88), +(30, 2445, 90), +(30, 2446, 94), +(30, 2447, 94), +(30, 2448, 89), +(30, 2449, 75), +(30, 2450, 82), +(30, 2451, 70), +(30, 2452, 91), +(30, 2453, 93), +(30, 2454, 87), +(30, 2455, 86), +(30, 2456, 79), +(30, 2457, 89), +(30, 2458, 74), +(30, 2459, 97), +(30, 2460, 90), +(30, 2461, 88), +(30, 2462, 91), +(30, 2463, 84), +(30, 2464, 82), +(30, 2465, 72), +(30, 2466, 89), +(30, 2467, 97), +(30, 2468, 96), +(30, 2469, 78), +(30, 2470, 65), +(30, 2471, 70), +(30, 2472, 97), +(30, 2473, 84), +(30, 2474, 70), +(30, 2475, 87), +(30, 2476, 97), +(30, 2477, 91), +(30, 2478, 78), +(30, 2479, 83), +(30, 2480, 82), +(30, 2481, 67), +(30, 2482, 71), +(30, 2483, 98), +(30, 2484, 99), +(30, 2485, 75), +(30, 2486, 85), +(30, 2487, 85), +(30, 2488, 69), +(30, 2489, 94), +(30, 2490, 98), +(30, 2491, 78), +(30, 2492, 91), +(30, 2493, 98), +(30, 2494, 93), +(30, 2495, 87), +(30, 2496, 83), +(30, 2497, 69), +(30, 2498, 79), +(30, 2499, 75), +(30, 2500, 93), +(30, 2501, 73), +(30, 2502, 88), +(30, 2503, 87), +(30, 2504, 79), +(30, 2505, 85), +(30, 2506, 77), +(30, 2507, 68), +(30, 2508, 94), +(30, 2509, 74), +(30, 2510, 75), +(30, 2511, 86), +(30, 2512, 68), +(30, 2513, 92), +(30, 2514, 83), +(30, 2515, 95), +(30, 2516, 69), +(30, 2517, 89), +(30, 2518, 84), +(30, 2519, 70), +(30, 2520, 95), +(30, 2521, 74), +(30, 2522, 78), +(30, 2523, 79), +(30, 2524, 73), +(30, 2525, 98), +(30, 2526, 85), +(30, 2527, 92), +(30, 2528, 75), +(30, 2529, 86), +(30, 2530, 79), +(30, 2531, 84), +(30, 2532, 73), +(30, 2533, 68), +(30, 2534, 95), +(30, 2535, 77), +(30, 2536, 90), +(30, 2537, 69), +(30, 2538, 91), +(30, 2539, 76), +(30, 2540, 79), +(30, 2541, 78), +(30, 2542, 93), +(30, 2543, 92), +(30, 2544, 91), +(30, 2545, 81), +(30, 2546, 66), +(30, 2547, 68), +(30, 2548, 78), +(30, 2549, 74), +(30, 2550, 87), +(30, 2551, 82), +(30, 2552, 67), +(30, 2553, 96), +(30, 2554, 75), +(30, 2555, 68), +(30, 2556, 76), +(30, 2557, 83), +(30, 2558, 90), +(30, 2559, 74), +(30, 2560, 75), +(30, 2561, 81), +(30, 2562, 80), +(30, 2563, 88), +(30, 2564, 77), +(30, 2565, 84), +(30, 2566, 72), +(30, 2567, 65), +(30, 2568, 92), +(30, 2569, 81), +(30, 2570, 83), +(30, 2571, 99), +(30, 2572, 91), +(30, 2573, 91), +(30, 2574, 82), +(30, 2575, 98), +(30, 2576, 77), +(30, 2577, 97), +(30, 2578, 91), +(30, 2579, 65), +(30, 2580, 78), +(30, 2581, 93), +(30, 2582, 96), +(30, 2583, 96), +(30, 2584, 97), +(30, 2585, 92), +(30, 2586, 75), +(30, 2587, 78), +(30, 2588, 83), +(30, 2589, 97), +(30, 2590, 67), +(30, 2591, 86), +(30, 2592, 81), +(30, 2593, 66), +(30, 2594, 65), +(30, 2595, 79), +(30, 2596, 84), +(30, 2597, 71), +(30, 2598, 75), +(30, 2599, 78), +(30, 2600, 78), +(30, 2601, 75), +(30, 2602, 69), +(30, 2603, 93), +(30, 2604, 90), +(30, 2605, 78), +(30, 2606, 87), +(30, 2607, 99), +(30, 2608, 77), +(30, 2609, 99), +(30, 2610, 69), +(31, 1, 84), +(31, 2, 70), +(31, 3, 89), +(31, 4, 97), +(31, 5, 93), +(31, 6, 74), +(31, 7, 72), +(31, 8, 83), +(31, 9, 84), +(31, 10, 84), +(31, 11, 98), +(31, 12, 84), +(31, 13, 98), +(31, 14, 90), +(31, 15, 82), +(31, 16, 79), +(31, 17, 91), +(31, 18, 98), +(31, 19, 99), +(31, 20, 80), +(31, 21, 75), +(31, 22, 87), +(31, 23, 81), +(31, 24, 78), +(31, 25, 81), +(31, 26, 88), +(31, 27, 73), +(31, 28, 66), +(31, 29, 73), +(31, 30, 69), +(31, 31, 80), +(31, 32, 70), +(31, 33, 76), +(31, 34, 69), +(31, 35, 76), +(31, 36, 66), +(31, 37, 73), +(31, 38, 87), +(31, 39, 73), +(31, 40, 68), +(31, 41, 76), +(31, 42, 73), +(31, 43, 85), +(31, 44, 78), +(31, 45, 75), +(31, 46, 67), +(31, 47, 86), +(31, 48, 73), +(31, 49, 66), +(31, 50, 70), +(31, 51, 87), +(31, 52, 97), +(31, 53, 89), +(31, 54, 95), +(31, 55, 84), +(31, 56, 92), +(31, 57, 70), +(31, 58, 93), +(31, 59, 94), +(31, 60, 99), +(31, 61, 66), +(31, 62, 84), +(31, 63, 80), +(31, 64, 71), +(31, 65, 75), +(31, 66, 94), +(31, 67, 97), +(31, 68, 70), +(31, 69, 80), +(31, 70, 95), +(31, 71, 74), +(31, 72, 75), +(31, 73, 69), +(31, 74, 65), +(31, 75, 88), +(31, 76, 75), +(31, 77, 86), +(31, 78, 80), +(31, 79, 68), +(31, 80, 95), +(31, 81, 78), +(31, 82, 78), +(31, 83, 89), +(31, 84, 66), +(31, 85, 72), +(31, 86, 85), +(31, 87, 79), +(31, 88, 77), +(31, 89, 86), +(31, 90, 95), +(31, 91, 83), +(31, 92, 97), +(31, 93, 76), +(31, 94, 94), +(31, 95, 69), +(31, 96, 70), +(31, 97, 76), +(31, 98, 89), +(31, 99, 97), +(31, 100, 97), +(31, 101, 82), +(31, 102, 71), +(31, 103, 77), +(31, 104, 80), +(31, 105, 87), +(31, 106, 77), +(31, 107, 82), +(31, 108, 68), +(31, 109, 82), +(31, 110, 96), +(31, 111, 77), +(31, 112, 90), +(31, 113, 81), +(31, 114, 84), +(31, 115, 98), +(31, 116, 68), +(31, 117, 65), +(31, 118, 81), +(31, 119, 79), +(31, 120, 65), +(31, 121, 99), +(31, 122, 79), +(31, 123, 84), +(31, 124, 70), +(31, 125, 89), +(31, 126, 97), +(31, 127, 78), +(31, 128, 88), +(31, 129, 84), +(31, 130, 88), +(31, 131, 86), +(31, 132, 84), +(31, 133, 68), +(31, 134, 96), +(31, 135, 67), +(31, 136, 83), +(31, 137, 93), +(31, 138, 70), +(31, 139, 70), +(31, 140, 84), +(31, 141, 72), +(31, 142, 81), +(31, 143, 70), +(31, 144, 68), +(31, 145, 86), +(31, 146, 86), +(31, 147, 83), +(31, 148, 90), +(31, 149, 67), +(31, 150, 99), +(31, 151, 66), +(31, 152, 84), +(31, 153, 74), +(31, 154, 80), +(31, 155, 69), +(31, 156, 97), +(31, 157, 89), +(31, 158, 82), +(31, 159, 75), +(31, 160, 74), +(31, 161, 84), +(31, 162, 98), +(31, 163, 67), +(31, 164, 73), +(31, 165, 93), +(31, 166, 66), +(31, 167, 95), +(31, 168, 76), +(31, 169, 80), +(31, 170, 73), +(31, 171, 77), +(31, 172, 95), +(31, 173, 77), +(31, 174, 65), +(31, 175, 95), +(31, 176, 77), +(31, 177, 99), +(31, 178, 89), +(31, 179, 84), +(31, 180, 72), +(31, 181, 98), +(31, 182, 99), +(31, 183, 69), +(31, 184, 69), +(31, 185, 90), +(31, 186, 94), +(31, 187, 83), +(31, 188, 89), +(31, 189, 69), +(31, 190, 81), +(31, 191, 78), +(31, 192, 90), +(31, 193, 70), +(31, 194, 98), +(31, 195, 90), +(31, 196, 90), +(31, 197, 75), +(31, 198, 88), +(31, 199, 67), +(31, 200, 80), +(31, 201, 76), +(31, 202, 94), +(31, 203, 94), +(31, 204, 96), +(31, 205, 67), +(31, 206, 93), +(31, 207, 69), +(31, 208, 66), +(31, 209, 82), +(31, 210, 82), +(31, 211, 69), +(31, 212, 83), +(31, 213, 93), +(31, 214, 77), +(31, 215, 71), +(31, 216, 66), +(31, 217, 84), +(31, 218, 83), +(31, 219, 82), +(31, 220, 91), +(31, 221, 92), +(31, 222, 90), +(31, 223, 81), +(31, 224, 68), +(31, 225, 81), +(31, 226, 83), +(31, 227, 85), +(31, 228, 65), +(31, 229, 87), +(31, 230, 83), +(31, 231, 74), +(31, 232, 91), +(31, 233, 67), +(31, 234, 95), +(31, 235, 80), +(31, 236, 66), +(31, 237, 66), +(31, 238, 86), +(31, 239, 71), +(31, 240, 79), +(31, 241, 94), +(31, 242, 69), +(31, 243, 76), +(31, 244, 86), +(31, 245, 98), +(31, 246, 66), +(31, 247, 72), +(31, 248, 87), +(31, 249, 75), +(31, 250, 66), +(31, 251, 74), +(31, 252, 97), +(31, 253, 77), +(31, 254, 84), +(31, 255, 96), +(31, 256, 65), +(31, 257, 97), +(31, 258, 93), +(31, 259, 83), +(31, 260, 96), +(31, 261, 95), +(31, 262, 78), +(31, 263, 96), +(31, 264, 76), +(31, 265, 77), +(31, 266, 90), +(31, 267, 69), +(31, 268, 71), +(31, 269, 87), +(31, 270, 66), +(31, 271, 75), +(31, 272, 96), +(31, 273, 67), +(31, 274, 98), +(31, 275, 70), +(31, 276, 76), +(31, 277, 73), +(31, 278, 83), +(31, 279, 76), +(31, 280, 94), +(31, 281, 65), +(31, 282, 82), +(31, 283, 72), +(31, 284, 77), +(31, 285, 96), +(31, 286, 98), +(31, 287, 72), +(31, 288, 83), +(31, 289, 91), +(31, 290, 69), +(31, 291, 67), +(31, 292, 99), +(31, 293, 76), +(31, 294, 79), +(31, 295, 77), +(31, 296, 79), +(31, 297, 72), +(31, 298, 68), +(31, 299, 93), +(31, 300, 85), +(31, 301, 81), +(31, 302, 91), +(31, 303, 91), +(31, 304, 86), +(31, 305, 92), +(31, 306, 85), +(31, 307, 96), +(31, 308, 96), +(31, 309, 78), +(31, 310, 81), +(31, 311, 80), +(31, 312, 99), +(31, 313, 82), +(31, 314, 82), +(31, 315, 83), +(31, 316, 73), +(31, 317, 66), +(31, 318, 96), +(31, 319, 75), +(31, 320, 76), +(31, 321, 73), +(31, 322, 75), +(31, 323, 70), +(31, 324, 87), +(31, 325, 86), +(31, 326, 78), +(31, 327, 83), +(31, 328, 66), +(31, 329, 96), +(31, 330, 92), +(31, 331, 68), +(31, 332, 95), +(31, 333, 78), +(31, 334, 89), +(31, 335, 88), +(31, 336, 77), +(31, 337, 96), +(31, 338, 91), +(31, 339, 67), +(31, 340, 73), +(31, 341, 74), +(31, 342, 78), +(31, 343, 87), +(31, 344, 68), +(31, 345, 71), +(31, 346, 95), +(31, 347, 94), +(31, 348, 71), +(31, 349, 67), +(31, 350, 75), +(31, 351, 86), +(31, 352, 97), +(31, 353, 79), +(31, 354, 94), +(31, 355, 76), +(31, 356, 76), +(31, 357, 72), +(31, 358, 65), +(31, 359, 82), +(31, 360, 83), +(31, 361, 80), +(31, 362, 98), +(31, 363, 91), +(31, 364, 89), +(31, 365, 89), +(31, 366, 97), +(31, 367, 96), +(31, 368, 79), +(31, 369, 87), +(31, 370, 65), +(31, 371, 90), +(31, 372, 72), +(31, 373, 81), +(31, 374, 82), +(31, 375, 79), +(31, 376, 68), +(31, 377, 79), +(31, 378, 85), +(31, 379, 68), +(31, 380, 68), +(31, 381, 88), +(31, 382, 67), +(31, 383, 91), +(31, 384, 83), +(31, 385, 87), +(31, 386, 94), +(31, 387, 86), +(31, 388, 82), +(31, 389, 86), +(31, 390, 76), +(31, 391, 67), +(31, 392, 99), +(31, 393, 75), +(31, 394, 65), +(31, 395, 87), +(31, 396, 87), +(31, 397, 69), +(31, 398, 97), +(31, 399, 66), +(31, 400, 91), +(31, 401, 76), +(31, 402, 79), +(31, 403, 82), +(31, 404, 76), +(31, 405, 87), +(31, 406, 71), +(31, 407, 90), +(31, 408, 97), +(31, 409, 90), +(31, 410, 71), +(31, 411, 78), +(31, 412, 82), +(31, 413, 79), +(31, 414, 72), +(31, 415, 82), +(31, 416, 91), +(31, 417, 99), +(31, 418, 70), +(31, 419, 72), +(31, 420, 81), +(31, 421, 78), +(31, 422, 71), +(31, 423, 93), +(31, 424, 92), +(31, 425, 83), +(31, 426, 98), +(31, 427, 69), +(31, 428, 96), +(31, 429, 72), +(31, 430, 74), +(31, 431, 98), +(31, 432, 95), +(31, 433, 95), +(31, 434, 69), +(31, 435, 68), +(31, 436, 84), +(31, 437, 68), +(31, 438, 97), +(31, 439, 74), +(31, 440, 65), +(31, 441, 94), +(31, 442, 87), +(31, 443, 83), +(31, 444, 76), +(31, 445, 87), +(31, 446, 83), +(31, 447, 82), +(31, 448, 76), +(31, 449, 73), +(31, 450, 85), +(31, 451, 93), +(31, 452, 73), +(31, 453, 81), +(31, 454, 81), +(31, 455, 71), +(31, 456, 80), +(31, 457, 69), +(31, 458, 90), +(31, 459, 88), +(31, 460, 83), +(31, 461, 73), +(31, 462, 66), +(31, 463, 88), +(31, 464, 88), +(31, 465, 70), +(31, 466, 68), +(31, 467, 98), +(31, 468, 85), +(31, 469, 71), +(31, 470, 98), +(31, 471, 88), +(31, 472, 94), +(31, 473, 91), +(31, 474, 81), +(31, 475, 91), +(31, 476, 82), +(31, 477, 73), +(31, 478, 97), +(31, 479, 99), +(31, 480, 85), +(31, 481, 85), +(31, 482, 79), +(31, 483, 68), +(31, 484, 75), +(31, 485, 75), +(31, 486, 88), +(31, 487, 72), +(31, 488, 99), +(31, 489, 94), +(31, 490, 82), +(31, 491, 86), +(31, 492, 81), +(31, 493, 99), +(31, 494, 66), +(31, 495, 79), +(31, 496, 82), +(31, 497, 80), +(31, 498, 79), +(31, 499, 72), +(31, 500, 91), +(31, 501, 73), +(31, 502, 84), +(31, 503, 71), +(31, 504, 85), +(31, 505, 94), +(31, 506, 81), +(31, 507, 72), +(31, 508, 92), +(31, 509, 78), +(31, 510, 76), +(31, 511, 74), +(31, 512, 94), +(31, 513, 94), +(31, 514, 78), +(31, 515, 94), +(31, 516, 69), +(31, 517, 90), +(31, 518, 95), +(31, 519, 81), +(31, 520, 80), +(31, 521, 66), +(31, 522, 97), +(31, 523, 76), +(31, 524, 74), +(31, 525, 82), +(31, 526, 99), +(31, 527, 92), +(31, 528, 86), +(31, 529, 66), +(31, 530, 72), +(31, 531, 65), +(31, 532, 76), +(31, 533, 95), +(31, 534, 86), +(31, 535, 90), +(31, 536, 85), +(31, 537, 69), +(31, 538, 84), +(31, 539, 88), +(31, 540, 99), +(31, 541, 99), +(31, 542, 72), +(31, 543, 65), +(31, 544, 66), +(31, 545, 72), +(31, 546, 95), +(31, 547, 96), +(31, 548, 65), +(31, 549, 94), +(31, 550, 85), +(31, 551, 89), +(31, 552, 97), +(31, 553, 79), +(31, 554, 77), +(31, 555, 78), +(31, 556, 76), +(31, 557, 88), +(31, 558, 87), +(31, 559, 82), +(31, 560, 78), +(31, 561, 87), +(31, 562, 91), +(31, 563, 74), +(31, 564, 72), +(31, 1024, 69), +(31, 1025, 92), +(31, 1026, 94), +(31, 1027, 65), +(31, 1028, 85), +(31, 1029, 77), +(31, 1030, 99), +(31, 1031, 87), +(31, 1032, 71), +(31, 1033, 74), +(31, 1034, 82), +(31, 1035, 74), +(31, 1036, 76), +(31, 1037, 66), +(31, 1038, 68), +(31, 1039, 92), +(31, 1040, 75), +(31, 1041, 84), +(31, 1042, 77), +(31, 1043, 96), +(31, 1044, 73), +(31, 1045, 72), +(31, 1046, 99), +(31, 1047, 73), +(31, 1048, 87), +(31, 1049, 79), +(31, 1050, 65), +(31, 1051, 84), +(31, 1052, 66), +(31, 1053, 96), +(31, 1054, 88), +(31, 1055, 75), +(31, 1056, 68), +(31, 1057, 76), +(31, 1058, 76), +(31, 1059, 90), +(31, 1060, 91), +(31, 1061, 72), +(31, 1062, 87), +(31, 1063, 75), +(31, 1064, 97), +(31, 1065, 79), +(31, 1066, 93), +(31, 1067, 90), +(31, 1068, 65), +(31, 1069, 96), +(31, 1070, 76), +(31, 1071, 93), +(31, 1072, 73), +(31, 1073, 69), +(31, 1074, 98), +(31, 1075, 98), +(31, 1076, 93), +(31, 1077, 92), +(31, 1078, 98), +(31, 1079, 79), +(31, 1080, 93), +(31, 1081, 73), +(31, 1082, 65), +(31, 1083, 72), +(31, 1084, 97), +(31, 1085, 90), +(31, 1086, 65), +(31, 1087, 75), +(31, 1088, 94), +(31, 1089, 84), +(31, 1090, 74), +(31, 1091, 76), +(31, 1092, 79), +(31, 1093, 66), +(31, 1094, 92), +(31, 1095, 77), +(31, 1096, 65), +(31, 1097, 78), +(31, 1098, 76), +(31, 1099, 68), +(31, 1100, 84), +(31, 1101, 65), +(31, 1102, 92), +(31, 1103, 99), +(31, 1104, 89), +(31, 1105, 94), +(31, 1106, 79), +(31, 1107, 94), +(31, 1108, 99), +(31, 1109, 84), +(31, 1110, 97), +(31, 1111, 82), +(31, 1112, 80), +(31, 1113, 83), +(31, 1114, 82), +(31, 1115, 92), +(31, 1116, 80), +(31, 1117, 92), +(31, 1118, 79), +(31, 1119, 68), +(31, 1120, 82), +(31, 1121, 86), +(31, 1122, 69), +(31, 1123, 93), +(31, 1124, 88), +(31, 1125, 88), +(31, 1126, 98), +(31, 1127, 81), +(31, 1128, 99), +(31, 1129, 96), +(31, 1130, 82), +(31, 1131, 98), +(31, 1132, 68), +(31, 1133, 75), +(31, 1134, 79), +(31, 1135, 71), +(31, 1136, 71), +(31, 1137, 85), +(31, 1138, 82), +(31, 1139, 85), +(31, 1140, 95), +(31, 1141, 78), +(31, 1142, 98), +(31, 1143, 79), +(31, 1144, 81), +(31, 1145, 88), +(31, 1146, 84), +(31, 1147, 82), +(31, 1148, 66), +(31, 1149, 79), +(31, 1150, 81), +(31, 1151, 70), +(31, 1152, 93), +(31, 1153, 77), +(31, 1154, 85), +(31, 1155, 70), +(31, 1156, 71), +(31, 1157, 77), +(31, 1158, 90), +(31, 1159, 78), +(31, 1160, 70), +(31, 1161, 73), +(31, 1162, 97), +(31, 1163, 79), +(31, 1164, 96), +(31, 1165, 86), +(31, 1166, 93), +(31, 1167, 80), +(31, 1168, 83), +(31, 1169, 75), +(31, 1170, 68), +(31, 1171, 88), +(31, 1172, 77), +(31, 1173, 94), +(31, 1174, 91), +(31, 1175, 97), +(31, 1176, 93), +(31, 1177, 83), +(31, 1178, 74), +(31, 1179, 75), +(31, 1180, 67), +(31, 1181, 69), +(31, 1182, 93), +(31, 1183, 86), +(31, 1184, 76), +(31, 1185, 89), +(31, 1186, 78), +(31, 1187, 78), +(31, 1188, 65), +(31, 1189, 81), +(31, 1190, 93), +(31, 1191, 73), +(31, 1192, 84), +(31, 1193, 78), +(31, 1194, 77), +(31, 1195, 86), +(31, 1196, 72), +(31, 1197, 72), +(31, 1198, 99), +(31, 1199, 90), +(31, 1200, 66), +(31, 1201, 68), +(31, 1202, 79), +(31, 1203, 68), +(31, 1204, 89), +(31, 1205, 69), +(31, 1206, 85), +(31, 1207, 68), +(31, 1208, 78), +(31, 1209, 72), +(31, 1210, 74), +(31, 1211, 91), +(31, 1212, 69), +(31, 1213, 97), +(31, 1214, 80), +(31, 1215, 89), +(31, 1216, 87), +(31, 1217, 65), +(31, 1218, 77), +(31, 1219, 93), +(31, 1220, 84), +(31, 1221, 92), +(31, 1222, 66), +(31, 1223, 88), +(31, 1224, 79), +(31, 1225, 89), +(31, 1226, 86), +(31, 1227, 84), +(31, 1228, 98), +(31, 1229, 78), +(31, 1230, 92), +(31, 1231, 69), +(31, 1232, 71), +(31, 1233, 96), +(31, 1234, 85), +(31, 1235, 76), +(31, 1236, 95), +(31, 1237, 89), +(31, 1238, 96), +(31, 1239, 87), +(31, 1240, 90), +(31, 1241, 94), +(31, 1242, 79), +(31, 1243, 83), +(31, 1244, 69), +(31, 1245, 79), +(31, 1246, 71), +(31, 1247, 85), +(31, 1248, 91), +(31, 1249, 90), +(31, 1250, 69), +(31, 1251, 80), +(31, 1252, 99), +(31, 1253, 96), +(31, 1254, 92), +(31, 1255, 75), +(31, 1256, 89), +(31, 1257, 79), +(31, 1258, 97), +(31, 1259, 94), +(31, 1260, 87), +(31, 1261, 96), +(31, 1262, 70), +(31, 1263, 84), +(31, 1264, 65), +(31, 1265, 75), +(31, 1266, 66), +(31, 1267, 73), +(31, 1268, 79), +(31, 1269, 80), +(31, 1270, 71), +(31, 1271, 98), +(31, 1272, 77), +(31, 1273, 84), +(31, 1274, 85), +(31, 1275, 88), +(31, 1276, 82), +(31, 1277, 77), +(31, 1278, 84), +(31, 1279, 74), +(31, 1280, 78), +(31, 1281, 98), +(31, 1282, 89), +(31, 1283, 73), +(31, 1284, 88), +(31, 1285, 81), +(31, 1286, 96), +(31, 1287, 82), +(31, 1288, 79), +(31, 1289, 74), +(31, 1290, 93), +(31, 1291, 99), +(31, 1292, 84), +(31, 1293, 67), +(31, 1294, 98), +(31, 1295, 95), +(31, 1296, 67), +(31, 1297, 83), +(31, 1298, 86), +(31, 1299, 70), +(31, 1300, 97), +(31, 1301, 86), +(31, 1302, 98), +(31, 1303, 79), +(31, 1304, 66), +(31, 1305, 94), +(31, 1306, 70), +(31, 1307, 96), +(31, 1308, 91), +(31, 1309, 71), +(31, 1310, 97), +(31, 1311, 76), +(31, 1312, 84), +(31, 1313, 67), +(31, 1314, 92), +(31, 1315, 67), +(31, 1316, 74), +(31, 1317, 94), +(31, 1318, 71), +(31, 1319, 66), +(31, 1320, 94), +(31, 1321, 91), +(31, 1322, 88), +(31, 1323, 85), +(31, 1324, 90), +(31, 1325, 93), +(31, 1326, 93), +(31, 1327, 65), +(31, 1328, 67), +(31, 1329, 69), +(31, 1330, 86), +(31, 1331, 96), +(31, 1332, 67), +(31, 1333, 80), +(31, 1334, 88), +(31, 1335, 97), +(31, 1336, 99), +(31, 1337, 69), +(31, 1338, 68), +(31, 1339, 91), +(31, 1340, 78), +(31, 1341, 68), +(31, 1342, 67), +(31, 1343, 65), +(31, 1344, 78), +(31, 1345, 93), +(31, 1346, 98), +(31, 1347, 94), +(31, 1348, 81), +(31, 1349, 88), +(31, 1350, 99), +(31, 1351, 75), +(31, 1352, 69), +(31, 1353, 78), +(31, 1354, 70), +(31, 1355, 95), +(31, 1356, 69), +(31, 1357, 70), +(31, 1358, 77), +(31, 1359, 95), +(31, 1360, 75), +(31, 1361, 69), +(31, 1362, 66), +(31, 1363, 97), +(31, 1364, 89), +(31, 1365, 89), +(31, 1366, 89), +(31, 1367, 77), +(31, 1368, 96), +(31, 1369, 90), +(31, 1370, 99), +(31, 1371, 76), +(31, 1372, 76), +(31, 1373, 68), +(31, 1374, 69), +(31, 1375, 89), +(31, 1376, 79), +(31, 1377, 92), +(31, 1378, 72), +(31, 1379, 91), +(31, 1380, 91), +(31, 1381, 82), +(31, 1382, 74), +(31, 1383, 91), +(31, 1384, 97), +(31, 1385, 69), +(31, 1386, 83), +(31, 1387, 71), +(31, 1388, 80), +(31, 1389, 97), +(31, 1390, 93), +(31, 1391, 81), +(31, 1392, 82), +(31, 1393, 71), +(31, 1394, 97), +(31, 1395, 68), +(31, 1396, 87), +(31, 1397, 83), +(31, 1398, 66), +(31, 1399, 81), +(31, 1400, 70), +(31, 1401, 85), +(31, 1402, 68), +(31, 1403, 93), +(31, 1404, 92), +(31, 1405, 74), +(31, 1406, 67), +(31, 1407, 77), +(31, 1408, 65), +(31, 1409, 82), +(31, 1410, 94), +(31, 1411, 96), +(31, 1412, 94), +(31, 1413, 87), +(31, 1414, 71), +(31, 1415, 93), +(31, 1416, 68), +(31, 1417, 86), +(31, 1418, 94), +(31, 1419, 99), +(31, 1420, 79), +(31, 1421, 73), +(31, 1422, 67), +(31, 1423, 95), +(31, 1424, 91), +(31, 1425, 79), +(31, 1426, 95), +(31, 1427, 66), +(31, 1428, 89), +(31, 1429, 71), +(31, 1430, 97), +(31, 1431, 94), +(31, 1432, 93), +(31, 1433, 76), +(31, 1434, 71), +(31, 1435, 83), +(31, 1436, 76), +(31, 1437, 93), +(31, 1438, 86), +(31, 1439, 99), +(31, 1440, 71), +(31, 1441, 79), +(31, 1442, 65), +(31, 1443, 80), +(31, 1444, 73), +(31, 1445, 92), +(31, 1446, 79), +(31, 1447, 92), +(31, 1448, 97), +(31, 1449, 76), +(31, 1450, 73), +(31, 1451, 99), +(31, 1452, 83), +(31, 1453, 78), +(31, 1454, 68), +(31, 1455, 95), +(31, 1456, 98), +(31, 1457, 73), +(31, 1458, 72), +(31, 1459, 94), +(31, 1460, 96), +(31, 1461, 68), +(31, 1462, 82), +(31, 1463, 96), +(31, 1464, 89), +(31, 1465, 66), +(31, 1466, 88), +(31, 1467, 91), +(31, 1468, 85), +(31, 1469, 71), +(31, 1470, 73), +(31, 1471, 73), +(31, 1472, 76), +(31, 1473, 76), +(31, 1474, 77), +(31, 1475, 67), +(31, 1476, 79), +(31, 1477, 73), +(31, 1478, 72), +(31, 1479, 82), +(31, 1480, 94), +(31, 1481, 87), +(31, 1482, 74), +(31, 1483, 80), +(31, 1484, 68), +(31, 1485, 78), +(31, 1486, 87), +(31, 1487, 80), +(31, 1488, 77), +(31, 1489, 69), +(31, 1490, 95), +(31, 1491, 84), +(31, 1492, 67), +(31, 1493, 89), +(31, 1494, 71), +(31, 1495, 78), +(31, 1496, 69), +(31, 1497, 72), +(31, 1498, 76), +(31, 1499, 89), +(31, 1500, 93), +(31, 1501, 92), +(31, 1502, 94), +(31, 1503, 74), +(31, 1504, 90), +(31, 1505, 89), +(31, 1506, 73), +(31, 1507, 70), +(31, 1508, 94), +(31, 1509, 72), +(31, 1510, 74), +(31, 1511, 97), +(31, 1512, 89), +(31, 1513, 78), +(31, 1514, 91), +(31, 1515, 79), +(31, 1516, 75), +(31, 1517, 81), +(31, 1518, 68), +(31, 1519, 91), +(31, 1520, 78), +(31, 1521, 73), +(31, 1522, 97), +(31, 1523, 66), +(31, 1524, 76), +(31, 1525, 88), +(31, 1526, 80), +(31, 1527, 80), +(31, 1528, 84), +(31, 1529, 70), +(31, 1530, 98), +(31, 1531, 70), +(31, 1532, 83), +(31, 1533, 72), +(31, 1534, 66), +(31, 1535, 98), +(31, 1536, 98), +(31, 1537, 77), +(31, 1538, 97), +(31, 1539, 84), +(31, 1540, 85), +(31, 1541, 83), +(31, 1542, 87), +(31, 1543, 83), +(31, 1544, 94), +(31, 1545, 81), +(31, 1546, 74), +(31, 1547, 72), +(31, 1548, 81), +(31, 1549, 74), +(31, 1550, 67), +(31, 1551, 66), +(31, 1552, 91), +(31, 1553, 98), +(31, 1554, 93), +(31, 1555, 92), +(31, 1556, 68), +(31, 1557, 75), +(31, 1558, 87), +(31, 1559, 80), +(31, 1560, 88), +(31, 1561, 67), +(31, 1562, 90), +(31, 1563, 93), +(31, 1564, 71), +(31, 1565, 83), +(31, 1566, 92), +(31, 1567, 77), +(31, 1568, 65), +(31, 1569, 95), +(31, 1570, 98), +(31, 1571, 72), +(31, 1572, 97), +(31, 1573, 71), +(31, 1574, 88), +(31, 1575, 80), +(31, 1576, 78), +(31, 1577, 65), +(31, 1578, 77), +(31, 1579, 83), +(31, 1580, 85), +(31, 1581, 95), +(31, 1582, 72), +(31, 1583, 76), +(31, 1584, 67), +(31, 1585, 98), +(31, 1586, 88), +(31, 1587, 89), +(31, 2047, 77), +(31, 2048, 98), +(31, 2049, 84), +(31, 2050, 86), +(31, 2051, 78), +(31, 2052, 71), +(31, 2053, 83), +(31, 2054, 89), +(31, 2055, 68), +(31, 2056, 68), +(31, 2057, 87), +(31, 2058, 94), +(31, 2059, 67), +(31, 2060, 88), +(31, 2061, 72), +(31, 2062, 76), +(31, 2063, 89), +(31, 2064, 91), +(31, 2065, 70), +(31, 2066, 82), +(31, 2067, 87), +(31, 2068, 97), +(31, 2069, 70), +(31, 2070, 95), +(31, 2071, 86), +(31, 2072, 76), +(31, 2073, 81), +(31, 2074, 69), +(31, 2075, 86), +(31, 2076, 69), +(31, 2077, 77), +(31, 2078, 65), +(31, 2079, 66), +(31, 2080, 97), +(31, 2081, 75), +(31, 2082, 91), +(31, 2083, 97), +(31, 2084, 87), +(31, 2085, 84), +(31, 2086, 87), +(31, 2087, 70), +(31, 2088, 66), +(31, 2089, 84), +(31, 2090, 80), +(31, 2091, 93), +(31, 2092, 68), +(31, 2093, 70), +(31, 2094, 75), +(31, 2095, 68), +(31, 2096, 96), +(31, 2097, 90), +(31, 2098, 81), +(31, 2099, 82), +(31, 2100, 66), +(31, 2101, 68), +(31, 2102, 72), +(31, 2103, 85), +(31, 2104, 67), +(31, 2105, 95), +(31, 2106, 76), +(31, 2107, 95), +(31, 2108, 80), +(31, 2109, 75), +(31, 2110, 74), +(31, 2111, 67), +(31, 2112, 85), +(31, 2113, 76), +(31, 2114, 82), +(31, 2115, 77), +(31, 2116, 74), +(31, 2117, 65), +(31, 2118, 72), +(31, 2119, 72), +(31, 2120, 96), +(31, 2121, 92), +(31, 2122, 79), +(31, 2123, 80), +(31, 2124, 67), +(31, 2125, 77), +(31, 2126, 73), +(31, 2127, 98), +(31, 2128, 91), +(31, 2129, 91), +(31, 2130, 99), +(31, 2131, 76), +(31, 2132, 90), +(31, 2133, 68), +(31, 2134, 77), +(31, 2135, 97), +(31, 2136, 72), +(31, 2137, 99), +(31, 2138, 75), +(31, 2139, 70), +(31, 2140, 91), +(31, 2141, 72), +(31, 2142, 87), +(31, 2143, 74), +(31, 2144, 98), +(31, 2145, 83), +(31, 2146, 84), +(31, 2147, 74), +(31, 2148, 66), +(31, 2149, 88), +(31, 2150, 96), +(31, 2151, 73), +(31, 2152, 85), +(31, 2153, 89), +(31, 2154, 81), +(31, 2155, 83), +(31, 2156, 89), +(31, 2157, 70), +(31, 2158, 73), +(31, 2159, 66), +(31, 2160, 98), +(31, 2161, 90), +(31, 2162, 65), +(31, 2163, 89), +(31, 2164, 97), +(31, 2165, 67), +(31, 2166, 99), +(31, 2167, 65), +(31, 2168, 70), +(31, 2169, 86), +(31, 2170, 94), +(31, 2171, 68), +(31, 2172, 96), +(31, 2173, 97), +(31, 2174, 77), +(31, 2175, 84), +(31, 2176, 79), +(31, 2177, 78), +(31, 2178, 99), +(31, 2179, 78), +(31, 2180, 91), +(31, 2181, 65), +(31, 2182, 84), +(31, 2183, 95), +(31, 2184, 79), +(31, 2185, 99), +(31, 2186, 68), +(31, 2187, 98), +(31, 2188, 70), +(31, 2189, 80), +(31, 2190, 93), +(31, 2191, 83), +(31, 2192, 70), +(31, 2193, 83), +(31, 2194, 85), +(31, 2195, 99), +(31, 2196, 70), +(31, 2197, 72), +(31, 2198, 87), +(31, 2199, 79), +(31, 2200, 89), +(31, 2201, 98), +(31, 2202, 75), +(31, 2203, 75), +(31, 2204, 76), +(31, 2205, 88), +(31, 2206, 85), +(31, 2207, 90), +(31, 2208, 94), +(31, 2209, 80), +(31, 2210, 87), +(31, 2211, 71), +(31, 2212, 78), +(31, 2213, 71), +(31, 2214, 87), +(31, 2215, 71), +(31, 2216, 96), +(31, 2217, 80), +(31, 2218, 92), +(31, 2219, 83), +(31, 2220, 87), +(31, 2221, 98), +(31, 2222, 86), +(31, 2223, 90), +(31, 2224, 75), +(31, 2225, 81), +(31, 2226, 77), +(31, 2227, 78), +(31, 2228, 87), +(31, 2229, 74), +(31, 2230, 73), +(31, 2231, 86), +(31, 2232, 81), +(31, 2233, 74), +(31, 2234, 78), +(31, 2235, 87), +(31, 2236, 81), +(31, 2237, 70), +(31, 2238, 95), +(31, 2239, 65), +(31, 2240, 73), +(31, 2241, 99), +(31, 2242, 88), +(31, 2243, 83), +(31, 2244, 81), +(31, 2245, 88), +(31, 2246, 76), +(31, 2247, 87), +(31, 2248, 97), +(31, 2249, 89), +(31, 2250, 89), +(31, 2251, 93), +(31, 2252, 73), +(31, 2253, 72), +(31, 2254, 86), +(31, 2255, 88), +(31, 2256, 91), +(31, 2257, 75), +(31, 2258, 99), +(31, 2259, 91), +(31, 2260, 96), +(31, 2261, 98), +(31, 2262, 77), +(31, 2263, 88), +(31, 2264, 92), +(31, 2265, 96), +(31, 2266, 99), +(31, 2267, 79), +(31, 2268, 92), +(31, 2269, 71), +(31, 2270, 99), +(31, 2271, 96), +(31, 2272, 86), +(31, 2273, 96), +(31, 2274, 91), +(31, 2275, 99), +(31, 2276, 88), +(31, 2277, 98), +(31, 2278, 66), +(31, 2279, 79), +(31, 2280, 83), +(31, 2281, 82), +(31, 2282, 94), +(31, 2283, 75), +(31, 2284, 69), +(31, 2285, 96), +(31, 2286, 66), +(31, 2287, 77), +(31, 2288, 81), +(31, 2289, 95), +(31, 2290, 87), +(31, 2291, 87), +(31, 2292, 83), +(31, 2293, 78), +(31, 2294, 89), +(31, 2295, 95), +(31, 2296, 88), +(31, 2297, 86), +(31, 2298, 87), +(31, 2299, 73), +(31, 2300, 70), +(31, 2301, 78), +(31, 2302, 86), +(31, 2303, 84), +(31, 2304, 73), +(31, 2305, 70), +(31, 2306, 96), +(31, 2307, 80), +(31, 2308, 79), +(31, 2309, 72), +(31, 2310, 68), +(31, 2311, 98), +(31, 2312, 76), +(31, 2313, 99), +(31, 2314, 68), +(31, 2315, 68), +(31, 2316, 92), +(31, 2317, 76), +(31, 2318, 84), +(31, 2319, 90), +(31, 2320, 86), +(31, 2321, 99), +(31, 2322, 77), +(31, 2323, 85), +(31, 2324, 78), +(31, 2325, 71), +(31, 2326, 92), +(31, 2327, 76), +(31, 2328, 82), +(31, 2329, 89), +(31, 2330, 97), +(31, 2331, 91), +(31, 2332, 71), +(31, 2333, 68), +(31, 2334, 68), +(31, 2335, 83), +(31, 2336, 71), +(31, 2337, 72), +(31, 2338, 77), +(31, 2339, 74), +(31, 2340, 65), +(31, 2341, 66), +(31, 2342, 88), +(31, 2343, 90), +(31, 2344, 96), +(31, 2345, 86), +(31, 2346, 79), +(31, 2347, 93), +(31, 2348, 85), +(31, 2349, 85), +(31, 2350, 70), +(31, 2351, 71), +(31, 2352, 98), +(31, 2353, 79), +(31, 2354, 84), +(31, 2355, 82), +(31, 2356, 79), +(31, 2357, 87), +(31, 2358, 80), +(31, 2359, 89), +(31, 2360, 79), +(31, 2361, 78), +(31, 2362, 99), +(31, 2363, 77), +(31, 2364, 74), +(31, 2365, 91), +(31, 2366, 65), +(31, 2367, 82), +(31, 2368, 99), +(31, 2369, 67), +(31, 2370, 82), +(31, 2371, 78), +(31, 2372, 68), +(31, 2373, 81), +(31, 2374, 88), +(31, 2375, 91), +(31, 2376, 96), +(31, 2377, 85), +(31, 2378, 90), +(31, 2379, 73), +(31, 2380, 68), +(31, 2381, 99), +(31, 2382, 65), +(31, 2383, 73), +(31, 2384, 99), +(31, 2385, 73), +(31, 2386, 82), +(31, 2387, 80), +(31, 2388, 84), +(31, 2389, 74), +(31, 2390, 89), +(31, 2391, 86), +(31, 2392, 78), +(31, 2393, 81), +(31, 2394, 91), +(31, 2395, 77), +(31, 2396, 99), +(31, 2397, 96), +(31, 2398, 92), +(31, 2399, 96), +(31, 2400, 94), +(31, 2401, 70), +(31, 2402, 68), +(31, 2403, 75), +(31, 2404, 74), +(31, 2405, 85), +(31, 2406, 65), +(31, 2407, 90), +(31, 2408, 96), +(31, 2409, 79), +(31, 2410, 74), +(31, 2411, 86), +(31, 2412, 72), +(31, 2413, 87), +(31, 2414, 66), +(31, 2415, 86), +(31, 2416, 87), +(31, 2417, 94), +(31, 2418, 68), +(31, 2419, 83), +(31, 2420, 76), +(31, 2421, 73), +(31, 2422, 99), +(31, 2423, 79), +(31, 2424, 71), +(31, 2425, 91), +(31, 2426, 98), +(31, 2427, 68), +(31, 2428, 69), +(31, 2429, 74), +(31, 2430, 68), +(31, 2431, 87), +(31, 2432, 75), +(31, 2433, 82), +(31, 2434, 95), +(31, 2435, 78), +(31, 2436, 68), +(31, 2437, 96), +(31, 2438, 90), +(31, 2439, 88), +(31, 2440, 75), +(31, 2441, 67), +(31, 2442, 79), +(31, 2443, 83), +(31, 2444, 84), +(31, 2445, 85), +(31, 2446, 72), +(31, 2447, 97), +(31, 2448, 86), +(31, 2449, 86), +(31, 2450, 74), +(31, 2451, 68), +(31, 2452, 94), +(31, 2453, 75), +(31, 2454, 72), +(31, 2455, 84), +(31, 2456, 88), +(31, 2457, 86), +(31, 2458, 93), +(31, 2459, 95), +(31, 2460, 95), +(31, 2461, 99), +(31, 2462, 72), +(31, 2463, 90), +(31, 2464, 69), +(31, 2465, 96), +(31, 2466, 91), +(31, 2467, 66), +(31, 2468, 68), +(31, 2469, 79), +(31, 2470, 79), +(31, 2471, 97), +(31, 2472, 67), +(31, 2473, 93), +(31, 2474, 70), +(31, 2475, 66), +(31, 2476, 83), +(31, 2477, 82), +(31, 2478, 72), +(31, 2479, 70), +(31, 2480, 70), +(31, 2481, 67), +(31, 2482, 65), +(31, 2483, 92), +(31, 2484, 84), +(31, 2485, 93), +(31, 2486, 73), +(31, 2487, 65), +(31, 2488, 97), +(31, 2489, 80), +(31, 2490, 69), +(31, 2491, 75), +(31, 2492, 71), +(31, 2493, 91), +(31, 2494, 74), +(31, 2495, 66), +(31, 2496, 79), +(31, 2497, 97), +(31, 2498, 76), +(31, 2499, 70), +(31, 2500, 79), +(31, 2501, 71), +(31, 2502, 99), +(31, 2503, 88), +(31, 2504, 70), +(31, 2505, 79), +(31, 2506, 70), +(31, 2507, 93), +(31, 2508, 93), +(31, 2509, 75), +(31, 2510, 73), +(31, 2511, 73), +(31, 2512, 88), +(31, 2513, 92), +(31, 2514, 69), +(31, 2515, 95), +(31, 2516, 70), +(31, 2517, 77), +(31, 2518, 67), +(31, 2519, 75), +(31, 2520, 67), +(31, 2521, 72), +(31, 2522, 76), +(31, 2523, 86), +(31, 2524, 84), +(31, 2525, 78), +(31, 2526, 66), +(31, 2527, 72), +(31, 2528, 69), +(31, 2529, 92), +(31, 2530, 81), +(31, 2531, 85), +(31, 2532, 99), +(31, 2533, 69), +(31, 2534, 76), +(31, 2535, 82), +(31, 2536, 74), +(31, 2537, 75), +(31, 2538, 84), +(31, 2539, 66), +(31, 2540, 75), +(31, 2541, 92), +(31, 2542, 97), +(31, 2543, 92), +(31, 2544, 77), +(31, 2545, 65), +(31, 2546, 93), +(31, 2547, 65), +(31, 2548, 91), +(31, 2549, 98), +(31, 2550, 76), +(31, 2551, 70), +(31, 2552, 67), +(31, 2553, 72), +(31, 2554, 81), +(31, 2555, 97), +(31, 2556, 67), +(31, 2557, 79), +(31, 2558, 87), +(31, 2559, 83), +(31, 2560, 69), +(31, 2561, 76), +(31, 2562, 78), +(31, 2563, 86), +(31, 2564, 70), +(31, 2565, 67), +(31, 2566, 73), +(31, 2567, 94), +(31, 2568, 76), +(31, 2569, 89), +(31, 2570, 66), +(31, 2571, 68), +(31, 2572, 70), +(31, 2573, 98), +(31, 2574, 86), +(31, 2575, 96), +(31, 2576, 99), +(31, 2577, 89), +(31, 2578, 79), +(31, 2579, 90), +(31, 2580, 82), +(31, 2581, 78), +(31, 2582, 80), +(31, 2583, 80), +(31, 2584, 73), +(31, 2585, 91), +(31, 2586, 81), +(31, 2587, 77), +(31, 2588, 68), +(31, 2589, 82), +(31, 2590, 73), +(31, 2591, 85), +(31, 2592, 83), +(31, 2593, 95), +(31, 2594, 68), +(31, 2595, 86), +(31, 2596, 73), +(31, 2597, 93), +(31, 2598, 75), +(31, 2599, 80), +(31, 2600, 92), +(31, 2601, 65), +(31, 2602, 90), +(31, 2603, 96), +(31, 2604, 74), +(31, 2605, 69), +(31, 2606, 94), +(31, 2607, 86), +(31, 2608, 66), +(31, 2609, 93), +(31, 2610, 91), +(32, 1, 84), +(32, 2, 85), +(32, 3, 83), +(32, 4, 81), +(32, 5, 69), +(32, 6, 82), +(32, 7, 70), +(32, 8, 76), +(32, 9, 92), +(32, 10, 66), +(32, 11, 74), +(32, 12, 95), +(32, 13, 66), +(32, 14, 83), +(32, 15, 95), +(32, 16, 83), +(32, 17, 97), +(32, 18, 75), +(32, 19, 80), +(32, 20, 68), +(32, 21, 74), +(32, 22, 88), +(32, 23, 72), +(32, 24, 66), +(32, 25, 70), +(32, 26, 98), +(32, 27, 67), +(32, 28, 77), +(32, 29, 72), +(32, 30, 87), +(32, 31, 75), +(32, 32, 81), +(32, 33, 78), +(32, 34, 73), +(32, 35, 87), +(32, 36, 91), +(32, 37, 67), +(32, 38, 97), +(32, 39, 87), +(32, 40, 82), +(32, 41, 94), +(32, 42, 85), +(32, 43, 93), +(32, 44, 92), +(32, 45, 86), +(32, 46, 87), +(32, 47, 98), +(32, 48, 74), +(32, 49, 89), +(32, 50, 91), +(32, 51, 69), +(32, 52, 65), +(32, 53, 84), +(32, 54, 82), +(32, 55, 92), +(32, 56, 78), +(32, 57, 96); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(32, 58, 85), +(32, 59, 84), +(32, 60, 65), +(32, 61, 75), +(32, 62, 76), +(32, 63, 96), +(32, 64, 85), +(32, 65, 87), +(32, 66, 80), +(32, 67, 92), +(32, 68, 76), +(32, 69, 73), +(32, 70, 99), +(32, 71, 90), +(32, 72, 95), +(32, 73, 71), +(32, 74, 99), +(32, 75, 99), +(32, 76, 98), +(32, 77, 98), +(32, 78, 94), +(32, 79, 85), +(32, 80, 88), +(32, 81, 88), +(32, 82, 77), +(32, 83, 68), +(32, 84, 65), +(32, 85, 87), +(32, 86, 99), +(32, 87, 94), +(32, 88, 91), +(32, 89, 73), +(32, 90, 78), +(32, 91, 73), +(32, 92, 78), +(32, 93, 91), +(32, 94, 90), +(32, 95, 82), +(32, 96, 72), +(32, 97, 91), +(32, 98, 86), +(32, 99, 70), +(32, 100, 76), +(32, 101, 98), +(32, 102, 66), +(32, 103, 94), +(32, 104, 71), +(32, 105, 81), +(32, 106, 83), +(32, 107, 67), +(32, 108, 99), +(32, 109, 76), +(32, 110, 78), +(32, 111, 79), +(32, 112, 68), +(32, 113, 73), +(32, 114, 65), +(32, 115, 98), +(32, 116, 72), +(32, 117, 86), +(32, 118, 66), +(32, 119, 67), +(32, 120, 75), +(32, 121, 67), +(32, 122, 85), +(32, 123, 75), +(32, 124, 84), +(32, 125, 98), +(32, 126, 84), +(32, 127, 86), +(32, 128, 91), +(32, 129, 91), +(32, 130, 97), +(32, 131, 96), +(32, 132, 99), +(32, 133, 68), +(32, 134, 68), +(32, 135, 92), +(32, 136, 79), +(32, 137, 98), +(32, 138, 90), +(32, 139, 97), +(32, 140, 85), +(32, 141, 77), +(32, 142, 96), +(32, 143, 81), +(32, 144, 97), +(32, 145, 92), +(32, 146, 96), +(32, 147, 72), +(32, 148, 69), +(32, 149, 76), +(32, 150, 96), +(32, 151, 73), +(32, 152, 97), +(32, 153, 85), +(32, 154, 70), +(32, 155, 85), +(32, 156, 85), +(32, 157, 94), +(32, 158, 85), +(32, 159, 91), +(32, 160, 77), +(32, 161, 68), +(32, 162, 84), +(32, 163, 84), +(32, 164, 71), +(32, 165, 98), +(32, 166, 73), +(32, 167, 92), +(32, 168, 87), +(32, 169, 68), +(32, 170, 92), +(32, 171, 67), +(32, 172, 83), +(32, 173, 75), +(32, 174, 71), +(32, 175, 96), +(32, 176, 76), +(32, 177, 92), +(32, 178, 93), +(32, 179, 70), +(32, 180, 79), +(32, 181, 74), +(32, 182, 87), +(32, 183, 66), +(32, 184, 91), +(32, 185, 80), +(32, 186, 88), +(32, 187, 95), +(32, 188, 81), +(32, 189, 70), +(32, 190, 93), +(32, 191, 71), +(32, 192, 91), +(32, 193, 80), +(32, 194, 84), +(32, 195, 65), +(32, 196, 81), +(32, 197, 81), +(32, 198, 70), +(32, 199, 66), +(32, 200, 99), +(32, 201, 96), +(32, 202, 87), +(32, 203, 73), +(32, 204, 66), +(32, 205, 89), +(32, 206, 84), +(32, 207, 94), +(32, 208, 74), +(32, 209, 76), +(32, 210, 79), +(32, 211, 85), +(32, 212, 82), +(32, 213, 91), +(32, 214, 68), +(32, 215, 89), +(32, 216, 93), +(32, 217, 83), +(32, 218, 73), +(32, 219, 79), +(32, 220, 84), +(32, 221, 65), +(32, 222, 93), +(32, 223, 84), +(32, 224, 85), +(32, 225, 73), +(32, 226, 71), +(32, 227, 95), +(32, 228, 67), +(32, 229, 71), +(32, 230, 75), +(32, 231, 89), +(32, 232, 87), +(32, 233, 70), +(32, 234, 90), +(32, 235, 67), +(32, 236, 78), +(32, 237, 88), +(32, 238, 98), +(32, 239, 88), +(32, 240, 93), +(32, 241, 75), +(32, 242, 76), +(32, 243, 98), +(32, 244, 88), +(32, 245, 94), +(32, 246, 80), +(32, 247, 81), +(32, 248, 90), +(32, 249, 88), +(32, 250, 97), +(32, 251, 76), +(32, 252, 69), +(32, 253, 99), +(32, 254, 72), +(32, 255, 76), +(32, 256, 65), +(32, 257, 83), +(32, 258, 69), +(32, 259, 74), +(32, 260, 79), +(32, 261, 77), +(32, 262, 89), +(32, 263, 65), +(32, 264, 84), +(32, 265, 65), +(32, 266, 88), +(32, 267, 77), +(32, 268, 76), +(32, 269, 68), +(32, 270, 81), +(32, 271, 85), +(32, 272, 75), +(32, 273, 94), +(32, 274, 93), +(32, 275, 91), +(32, 276, 71), +(32, 277, 69), +(32, 278, 97), +(32, 279, 79), +(32, 280, 96), +(32, 281, 85), +(32, 282, 86), +(32, 283, 65), +(32, 284, 74), +(32, 285, 75), +(32, 286, 76), +(32, 287, 68), +(32, 288, 74), +(32, 289, 87), +(32, 290, 90), +(32, 291, 67), +(32, 292, 67), +(32, 293, 92), +(32, 294, 85), +(32, 295, 72), +(32, 296, 90), +(32, 297, 80), +(32, 298, 72), +(32, 299, 86), +(32, 300, 71), +(32, 301, 78), +(32, 302, 84), +(32, 303, 71), +(32, 304, 77), +(32, 305, 87), +(32, 306, 88), +(32, 307, 89), +(32, 308, 90), +(32, 309, 87), +(32, 310, 95), +(32, 311, 84), +(32, 312, 75), +(32, 313, 85), +(32, 314, 73), +(32, 315, 91), +(32, 316, 99), +(32, 317, 71), +(32, 318, 98), +(32, 319, 99), +(32, 320, 99), +(32, 321, 91), +(32, 322, 84), +(32, 323, 99), +(32, 324, 81), +(32, 325, 74), +(32, 326, 93), +(32, 327, 70), +(32, 328, 66), +(32, 329, 74), +(32, 330, 69), +(32, 331, 94), +(32, 332, 65), +(32, 333, 65), +(32, 334, 88), +(32, 335, 99), +(32, 336, 79), +(32, 337, 88), +(32, 338, 86), +(32, 339, 65), +(32, 340, 83), +(32, 341, 96), +(32, 342, 87), +(32, 343, 68), +(32, 344, 80), +(32, 345, 73), +(32, 346, 91), +(32, 347, 66), +(32, 348, 85), +(32, 349, 95), +(32, 350, 75), +(32, 351, 76), +(32, 352, 93), +(32, 353, 93), +(32, 354, 74), +(32, 355, 67), +(32, 356, 80), +(32, 357, 74), +(32, 358, 78), +(32, 359, 97), +(32, 360, 79), +(32, 361, 85), +(32, 362, 79), +(32, 363, 67), +(32, 364, 95), +(32, 365, 88), +(32, 366, 71), +(32, 367, 86), +(32, 368, 70), +(32, 369, 90), +(32, 370, 74), +(32, 371, 68), +(32, 372, 87), +(32, 373, 86), +(32, 374, 85), +(32, 375, 66), +(32, 376, 90), +(32, 377, 66), +(32, 378, 96), +(32, 379, 77), +(32, 380, 78), +(32, 381, 99), +(32, 382, 80), +(32, 383, 86), +(32, 384, 89), +(32, 385, 86), +(32, 386, 67), +(32, 387, 78), +(32, 388, 82), +(32, 389, 91), +(32, 390, 87), +(32, 391, 81), +(32, 392, 77), +(32, 393, 83), +(32, 394, 91), +(32, 395, 80), +(32, 396, 93), +(32, 397, 76), +(32, 398, 78), +(32, 399, 93), +(32, 400, 74), +(32, 401, 71), +(32, 402, 78), +(32, 403, 99), +(32, 404, 95), +(32, 405, 80), +(32, 406, 76), +(32, 407, 94), +(32, 408, 87), +(32, 409, 96), +(32, 410, 71), +(32, 411, 80), +(32, 412, 92), +(32, 413, 72), +(32, 414, 82), +(32, 415, 84), +(32, 416, 87), +(32, 417, 83), +(32, 418, 87), +(32, 419, 89), +(32, 420, 97), +(32, 421, 91), +(32, 422, 88), +(32, 423, 93), +(32, 424, 66), +(32, 425, 86), +(32, 426, 81), +(32, 427, 78), +(32, 428, 81), +(32, 429, 91), +(32, 430, 94), +(32, 431, 81), +(32, 432, 79), +(32, 433, 92), +(32, 434, 94), +(32, 435, 95), +(32, 436, 86), +(32, 437, 98), +(32, 438, 76), +(32, 439, 96), +(32, 440, 80), +(32, 441, 86), +(32, 442, 80), +(32, 443, 87), +(32, 444, 70), +(32, 445, 92), +(32, 446, 87), +(32, 447, 99), +(32, 448, 73), +(32, 449, 88), +(32, 450, 93), +(32, 451, 76), +(32, 452, 67), +(32, 453, 75), +(32, 454, 97), +(32, 455, 96), +(32, 456, 96), +(32, 457, 94), +(32, 458, 94), +(32, 459, 67), +(32, 460, 95), +(32, 461, 78), +(32, 462, 91), +(32, 463, 69), +(32, 464, 67), +(32, 465, 92), +(32, 466, 96), +(32, 467, 92), +(32, 468, 72), +(32, 469, 71), +(32, 470, 75), +(32, 471, 69), +(32, 472, 96), +(32, 473, 67), +(32, 474, 91), +(32, 475, 74), +(32, 476, 76), +(32, 477, 84), +(32, 478, 87), +(32, 479, 99), +(32, 480, 98), +(32, 481, 66), +(32, 482, 85), +(32, 483, 93), +(32, 484, 73), +(32, 485, 88), +(32, 486, 99), +(32, 487, 98), +(32, 488, 79), +(32, 489, 66), +(32, 490, 65), +(32, 491, 93), +(32, 492, 99), +(32, 493, 81), +(32, 494, 99), +(32, 495, 73), +(32, 496, 78), +(32, 497, 87), +(32, 498, 75), +(32, 499, 96), +(32, 500, 71), +(32, 501, 80), +(32, 502, 73), +(32, 503, 73), +(32, 504, 72), +(32, 505, 80), +(32, 506, 88), +(32, 507, 84), +(32, 508, 81), +(32, 509, 92), +(32, 510, 65), +(32, 511, 91), +(32, 512, 80), +(32, 513, 76), +(32, 514, 97), +(32, 515, 87), +(32, 516, 90), +(32, 517, 82), +(32, 518, 69), +(32, 519, 79), +(32, 520, 99), +(32, 521, 78), +(32, 522, 78), +(32, 523, 75), +(32, 524, 97), +(32, 525, 84), +(32, 526, 72), +(32, 527, 69), +(32, 528, 79), +(32, 529, 85), +(32, 530, 88), +(32, 531, 73), +(32, 532, 97), +(32, 533, 74), +(32, 534, 80), +(32, 535, 95), +(32, 536, 93), +(32, 537, 80), +(32, 538, 69), +(32, 539, 89), +(32, 540, 77), +(32, 541, 70), +(32, 542, 87), +(32, 543, 75), +(32, 544, 91), +(32, 545, 93), +(32, 546, 73), +(32, 547, 76), +(32, 548, 67), +(32, 549, 77), +(32, 550, 81), +(32, 551, 66), +(32, 552, 84), +(32, 553, 87), +(32, 554, 73), +(32, 555, 82), +(32, 556, 77), +(32, 557, 89), +(32, 558, 73), +(32, 559, 77), +(32, 560, 81), +(32, 561, 94), +(32, 562, 72), +(32, 563, 81), +(32, 564, 96), +(32, 1024, 67), +(32, 1025, 84), +(32, 1026, 85), +(32, 1027, 88), +(32, 1028, 89), +(32, 1029, 83), +(32, 1030, 96), +(32, 1031, 74), +(32, 1032, 68), +(32, 1033, 88), +(32, 1034, 80), +(32, 1035, 84), +(32, 1036, 74), +(32, 1037, 93), +(32, 1038, 70), +(32, 1039, 72), +(32, 1040, 83), +(32, 1041, 73), +(32, 1042, 76), +(32, 1043, 95), +(32, 1044, 85), +(32, 1045, 81), +(32, 1046, 73), +(32, 1047, 91), +(32, 1048, 66), +(32, 1049, 73), +(32, 1050, 79), +(32, 1051, 92), +(32, 1052, 86), +(32, 1053, 66), +(32, 1054, 79), +(32, 1055, 68), +(32, 1056, 86), +(32, 1057, 84), +(32, 1058, 69), +(32, 1059, 75), +(32, 1060, 66), +(32, 1061, 86), +(32, 1062, 80), +(32, 1063, 83), +(32, 1064, 80), +(32, 1065, 66), +(32, 1066, 76), +(32, 1067, 70), +(32, 1068, 94), +(32, 1069, 79), +(32, 1070, 92), +(32, 1071, 78), +(32, 1072, 66), +(32, 1073, 87), +(32, 1074, 77), +(32, 1075, 89), +(32, 1076, 85), +(32, 1077, 92), +(32, 1078, 74), +(32, 1079, 70), +(32, 1080, 93), +(32, 1081, 68), +(32, 1082, 77), +(32, 1083, 91), +(32, 1084, 99), +(32, 1085, 67), +(32, 1086, 66), +(32, 1087, 82), +(32, 1088, 78), +(32, 1089, 89), +(32, 1090, 95), +(32, 1091, 74), +(32, 1092, 94), +(32, 1093, 92), +(32, 1094, 71), +(32, 1095, 81), +(32, 1096, 97), +(32, 1097, 70), +(32, 1098, 87), +(32, 1099, 66), +(32, 1100, 84), +(32, 1101, 93), +(32, 1102, 94), +(32, 1103, 80), +(32, 1104, 77), +(32, 1105, 88), +(32, 1106, 82), +(32, 1107, 73), +(32, 1108, 75), +(32, 1109, 94), +(32, 1110, 72), +(32, 1111, 71), +(32, 1112, 73), +(32, 1113, 87), +(32, 1114, 87), +(32, 1115, 86), +(32, 1116, 71), +(32, 1117, 98), +(32, 1118, 71), +(32, 1119, 73), +(32, 1120, 78), +(32, 1121, 81), +(32, 1122, 99), +(32, 1123, 67), +(32, 1124, 85), +(32, 1125, 66), +(32, 1126, 97), +(32, 1127, 69), +(32, 1128, 86), +(32, 1129, 80), +(32, 1130, 68), +(32, 1131, 72), +(32, 1132, 70), +(32, 1133, 83), +(32, 1134, 88), +(32, 1135, 93), +(32, 1136, 74), +(32, 1137, 77), +(32, 1138, 66), +(32, 1139, 78), +(32, 1140, 71), +(32, 1141, 87), +(32, 1142, 81), +(32, 1143, 65), +(32, 1144, 79), +(32, 1145, 89), +(32, 1146, 85), +(32, 1147, 99), +(32, 1148, 91), +(32, 1149, 65), +(32, 1150, 77), +(32, 1151, 88), +(32, 1152, 71), +(32, 1153, 93), +(32, 1154, 77), +(32, 1155, 69), +(32, 1156, 84), +(32, 1157, 88), +(32, 1158, 98), +(32, 1159, 88), +(32, 1160, 87), +(32, 1161, 84), +(32, 1162, 66), +(32, 1163, 71), +(32, 1164, 78), +(32, 1165, 98), +(32, 1166, 72), +(32, 1167, 76), +(32, 1168, 84), +(32, 1169, 78), +(32, 1170, 87), +(32, 1171, 72), +(32, 1172, 78), +(32, 1173, 89), +(32, 1174, 76), +(32, 1175, 97), +(32, 1176, 97), +(32, 1177, 66), +(32, 1178, 97), +(32, 1179, 80), +(32, 1180, 95), +(32, 1181, 96), +(32, 1182, 76), +(32, 1183, 71), +(32, 1184, 84), +(32, 1185, 79), +(32, 1186, 85), +(32, 1187, 81), +(32, 1188, 96), +(32, 1189, 87), +(32, 1190, 76), +(32, 1191, 93), +(32, 1192, 75), +(32, 1193, 82), +(32, 1194, 74), +(32, 1195, 91), +(32, 1196, 74), +(32, 1197, 83), +(32, 1198, 65), +(32, 1199, 92), +(32, 1200, 96), +(32, 1201, 78), +(32, 1202, 65), +(32, 1203, 71), +(32, 1204, 93), +(32, 1205, 65), +(32, 1206, 82), +(32, 1207, 69), +(32, 1208, 69), +(32, 1209, 65), +(32, 1210, 85), +(32, 1211, 72), +(32, 1212, 65), +(32, 1213, 81), +(32, 1214, 98), +(32, 1215, 78), +(32, 1216, 95), +(32, 1217, 72), +(32, 1218, 98), +(32, 1219, 83), +(32, 1220, 78), +(32, 1221, 81), +(32, 1222, 84), +(32, 1223, 75), +(32, 1224, 70), +(32, 1225, 74), +(32, 1226, 96), +(32, 1227, 75), +(32, 1228, 84), +(32, 1229, 86), +(32, 1230, 97), +(32, 1231, 90), +(32, 1232, 67), +(32, 1233, 73), +(32, 1234, 87), +(32, 1235, 83), +(32, 1236, 97), +(32, 1237, 74), +(32, 1238, 80), +(32, 1239, 79), +(32, 1240, 65), +(32, 1241, 88), +(32, 1242, 78), +(32, 1243, 77), +(32, 1244, 83), +(32, 1245, 88), +(32, 1246, 85), +(32, 1247, 79), +(32, 1248, 72), +(32, 1249, 91), +(32, 1250, 88), +(32, 1251, 93), +(32, 1252, 95), +(32, 1253, 96), +(32, 1254, 76), +(32, 1255, 90), +(32, 1256, 94), +(32, 1257, 88), +(32, 1258, 76), +(32, 1259, 65), +(32, 1260, 74), +(32, 1261, 71), +(32, 1262, 85), +(32, 1263, 75), +(32, 1264, 69), +(32, 1265, 95), +(32, 1266, 94), +(32, 1267, 67), +(32, 1268, 78), +(32, 1269, 83), +(32, 1270, 97), +(32, 1271, 77), +(32, 1272, 71), +(32, 1273, 94), +(32, 1274, 80), +(32, 1275, 72), +(32, 1276, 87), +(32, 1277, 84), +(32, 1278, 93), +(32, 1279, 75), +(32, 1280, 90), +(32, 1281, 89), +(32, 1282, 92), +(32, 1283, 80), +(32, 1284, 84), +(32, 1285, 81), +(32, 1286, 69), +(32, 1287, 91), +(32, 1288, 96), +(32, 1289, 99), +(32, 1290, 80), +(32, 1291, 81), +(32, 1292, 99), +(32, 1293, 72), +(32, 1294, 81), +(32, 1295, 86), +(32, 1296, 71), +(32, 1297, 81), +(32, 1298, 73), +(32, 1299, 90), +(32, 1300, 65), +(32, 1301, 77), +(32, 1302, 99), +(32, 1303, 67), +(32, 1304, 85), +(32, 1305, 85), +(32, 1306, 68), +(32, 1307, 68), +(32, 1308, 73), +(32, 1309, 68), +(32, 1310, 82), +(32, 1311, 95), +(32, 1312, 81), +(32, 1313, 84), +(32, 1314, 93), +(32, 1315, 98), +(32, 1316, 70), +(32, 1317, 76), +(32, 1318, 70), +(32, 1319, 78), +(32, 1320, 89), +(32, 1321, 69), +(32, 1322, 77), +(32, 1323, 65), +(32, 1324, 87), +(32, 1325, 80), +(32, 1326, 77), +(32, 1327, 96), +(32, 1328, 65), +(32, 1329, 82), +(32, 1330, 76), +(32, 1331, 68), +(32, 1332, 95), +(32, 1333, 87), +(32, 1334, 85), +(32, 1335, 80), +(32, 1336, 70), +(32, 1337, 83), +(32, 1338, 92), +(32, 1339, 92), +(32, 1340, 81), +(32, 1341, 80), +(32, 1342, 84), +(32, 1343, 91), +(32, 1344, 95), +(32, 1345, 67), +(32, 1346, 69), +(32, 1347, 71), +(32, 1348, 69), +(32, 1349, 67), +(32, 1350, 96), +(32, 1351, 91), +(32, 1352, 86), +(32, 1353, 92), +(32, 1354, 89), +(32, 1355, 71), +(32, 1356, 74), +(32, 1357, 81), +(32, 1358, 92), +(32, 1359, 97), +(32, 1360, 72), +(32, 1361, 78), +(32, 1362, 88), +(32, 1363, 94), +(32, 1364, 89), +(32, 1365, 91), +(32, 1366, 73), +(32, 1367, 76), +(32, 1368, 68), +(32, 1369, 74), +(32, 1370, 86), +(32, 1371, 93), +(32, 1372, 81), +(32, 1373, 93), +(32, 1374, 72), +(32, 1375, 81), +(32, 1376, 91), +(32, 1377, 89), +(32, 1378, 69), +(32, 1379, 75), +(32, 1380, 88), +(32, 1381, 69), +(32, 1382, 80), +(32, 1383, 84), +(32, 1384, 87), +(32, 1385, 74), +(32, 1386, 69), +(32, 1387, 84), +(32, 1388, 95), +(32, 1389, 78), +(32, 1390, 76), +(32, 1391, 92), +(32, 1392, 75), +(32, 1393, 78), +(32, 1394, 67), +(32, 1395, 91), +(32, 1396, 93), +(32, 1397, 89), +(32, 1398, 76), +(32, 1399, 71), +(32, 1400, 94), +(32, 1401, 83), +(32, 1402, 67), +(32, 1403, 80), +(32, 1404, 82), +(32, 1405, 70), +(32, 1406, 92), +(32, 1407, 98), +(32, 1408, 93), +(32, 1409, 77), +(32, 1410, 89), +(32, 1411, 98), +(32, 1412, 70), +(32, 1413, 67), +(32, 1414, 87), +(32, 1415, 70), +(32, 1416, 95), +(32, 1417, 99), +(32, 1418, 72), +(32, 1419, 96), +(32, 1420, 84), +(32, 1421, 68), +(32, 1422, 79), +(32, 1423, 70), +(32, 1424, 79), +(32, 1425, 68), +(32, 1426, 68), +(32, 1427, 90), +(32, 1428, 84), +(32, 1429, 77), +(32, 1430, 76), +(32, 1431, 92), +(32, 1432, 89), +(32, 1433, 74), +(32, 1434, 65), +(32, 1435, 85), +(32, 1436, 76), +(32, 1437, 90), +(32, 1438, 68), +(32, 1439, 77), +(32, 1440, 83), +(32, 1441, 69), +(32, 1442, 65), +(32, 1443, 91), +(32, 1444, 78), +(32, 1445, 69), +(32, 1446, 78), +(32, 1447, 80), +(32, 1448, 71), +(32, 1449, 66), +(32, 1450, 99), +(32, 1451, 93), +(32, 1452, 93), +(32, 1453, 70), +(32, 1454, 93), +(32, 1455, 84), +(32, 1456, 87), +(32, 1457, 77), +(32, 1458, 65), +(32, 1459, 66), +(32, 1460, 72), +(32, 1461, 72), +(32, 1462, 91), +(32, 1463, 88), +(32, 1464, 76), +(32, 1465, 93), +(32, 1466, 77), +(32, 1467, 78), +(32, 1468, 80), +(32, 1469, 87), +(32, 1470, 78), +(32, 1471, 85), +(32, 1472, 75), +(32, 1473, 77), +(32, 1474, 82), +(32, 1475, 67), +(32, 1476, 85), +(32, 1477, 71), +(32, 1478, 76), +(32, 1479, 74), +(32, 1480, 88), +(32, 1481, 78), +(32, 1482, 79), +(32, 1483, 69), +(32, 1484, 68), +(32, 1485, 78), +(32, 1486, 68), +(32, 1487, 96), +(32, 1488, 70), +(32, 1489, 74), +(32, 1490, 74), +(32, 1491, 95), +(32, 1492, 78), +(32, 1493, 88), +(32, 1494, 66), +(32, 1495, 97), +(32, 1496, 69), +(32, 1497, 79), +(32, 1498, 86), +(32, 1499, 99), +(32, 1500, 89), +(32, 1501, 77), +(32, 1502, 95), +(32, 1503, 81), +(32, 1504, 88), +(32, 1505, 87), +(32, 1506, 89), +(32, 1507, 90), +(32, 1508, 87), +(32, 1509, 94), +(32, 1510, 76), +(32, 1511, 86), +(32, 1512, 84), +(32, 1513, 92), +(32, 1514, 97), +(32, 1515, 80), +(32, 1516, 72), +(32, 1517, 75), +(32, 1518, 68), +(32, 1519, 77), +(32, 1520, 77), +(32, 1521, 87), +(32, 1522, 96), +(32, 1523, 81), +(32, 1524, 96), +(32, 1525, 73), +(32, 1526, 70), +(32, 1527, 94), +(32, 1528, 95), +(32, 1529, 69), +(32, 1530, 70), +(32, 1531, 81), +(32, 1532, 87), +(32, 1533, 73), +(32, 1534, 73), +(32, 1535, 87), +(32, 1536, 78), +(32, 1537, 98), +(32, 1538, 86), +(32, 1539, 93), +(32, 1540, 74), +(32, 1541, 95), +(32, 1542, 87), +(32, 1543, 95), +(32, 1544, 81), +(32, 1545, 69), +(32, 1546, 74), +(32, 1547, 71), +(32, 1548, 89), +(32, 1549, 68), +(32, 1550, 79), +(32, 1551, 82), +(32, 1552, 81), +(32, 1553, 96), +(32, 1554, 71), +(32, 1555, 65), +(32, 1556, 68), +(32, 1557, 75), +(32, 1558, 97), +(32, 1559, 90), +(32, 1560, 72), +(32, 1561, 65), +(32, 1562, 95), +(32, 1563, 90), +(32, 1564, 83), +(32, 1565, 96), +(32, 1566, 84), +(32, 1567, 74), +(32, 1568, 72), +(32, 1569, 97), +(32, 1570, 83), +(32, 1571, 67), +(32, 1572, 76), +(32, 1573, 88), +(32, 1574, 67), +(32, 1575, 70), +(32, 1576, 93), +(32, 1577, 83), +(32, 1578, 67), +(32, 1579, 80), +(32, 1580, 71), +(32, 1581, 93), +(32, 1582, 87), +(32, 1583, 93), +(32, 1584, 78), +(32, 1585, 88), +(32, 1586, 65), +(32, 1587, 70), +(32, 2047, 70), +(32, 2048, 74), +(32, 2049, 79), +(32, 2050, 93), +(32, 2051, 72), +(32, 2052, 69), +(32, 2053, 67), +(32, 2054, 65), +(32, 2055, 95), +(32, 2056, 77), +(32, 2057, 76), +(32, 2058, 73), +(32, 2059, 77), +(32, 2060, 74), +(32, 2061, 69), +(32, 2062, 87), +(32, 2063, 93), +(32, 2064, 81), +(32, 2065, 99), +(32, 2066, 92), +(32, 2067, 72), +(32, 2068, 95), +(32, 2069, 99), +(32, 2070, 97), +(32, 2071, 71), +(32, 2072, 76), +(32, 2073, 70), +(32, 2074, 96), +(32, 2075, 95), +(32, 2076, 87), +(32, 2077, 81), +(32, 2078, 87), +(32, 2079, 74), +(32, 2080, 76), +(32, 2081, 77), +(32, 2082, 83), +(32, 2083, 76), +(32, 2084, 73), +(32, 2085, 98), +(32, 2086, 95), +(32, 2087, 87), +(32, 2088, 86), +(32, 2089, 95), +(32, 2090, 75), +(32, 2091, 84), +(32, 2092, 88), +(32, 2093, 66), +(32, 2094, 68), +(32, 2095, 84), +(32, 2096, 75), +(32, 2097, 75), +(32, 2098, 93), +(32, 2099, 84), +(32, 2100, 73), +(32, 2101, 97), +(32, 2102, 80), +(32, 2103, 86), +(32, 2104, 95), +(32, 2105, 94), +(32, 2106, 68), +(32, 2107, 70), +(32, 2108, 87), +(32, 2109, 98), +(32, 2110, 65), +(32, 2111, 78), +(32, 2112, 81), +(32, 2113, 80), +(32, 2114, 90), +(32, 2115, 92), +(32, 2116, 86), +(32, 2117, 74), +(32, 2118, 72), +(32, 2119, 81), +(32, 2120, 79), +(32, 2121, 74), +(32, 2122, 72), +(32, 2123, 91), +(32, 2124, 66), +(32, 2125, 66), +(32, 2126, 83), +(32, 2127, 84), +(32, 2128, 72), +(32, 2129, 99), +(32, 2130, 87), +(32, 2131, 92), +(32, 2132, 77), +(32, 2133, 78), +(32, 2134, 86), +(32, 2135, 96), +(32, 2136, 95), +(32, 2137, 93), +(32, 2138, 96), +(32, 2139, 79), +(32, 2140, 72), +(32, 2141, 96), +(32, 2142, 76), +(32, 2143, 78), +(32, 2144, 99), +(32, 2145, 66), +(32, 2146, 86), +(32, 2147, 71), +(32, 2148, 77), +(32, 2149, 73), +(32, 2150, 90), +(32, 2151, 89), +(32, 2152, 65), +(32, 2153, 70), +(32, 2154, 97), +(32, 2155, 71), +(32, 2156, 68), +(32, 2157, 82), +(32, 2158, 72), +(32, 2159, 79), +(32, 2160, 74), +(32, 2161, 98), +(32, 2162, 75), +(32, 2163, 79), +(32, 2164, 94), +(32, 2165, 91), +(32, 2166, 76), +(32, 2167, 92), +(32, 2168, 87), +(32, 2169, 66), +(32, 2170, 95), +(32, 2171, 65), +(32, 2172, 67), +(32, 2173, 88), +(32, 2174, 77), +(32, 2175, 73), +(32, 2176, 73), +(32, 2177, 99), +(32, 2178, 81), +(32, 2179, 77), +(32, 2180, 95), +(32, 2181, 68), +(32, 2182, 95), +(32, 2183, 70), +(32, 2184, 81), +(32, 2185, 85), +(32, 2186, 77), +(32, 2187, 79), +(32, 2188, 79), +(32, 2189, 90), +(32, 2190, 80), +(32, 2191, 87), +(32, 2192, 88), +(32, 2193, 86), +(32, 2194, 69), +(32, 2195, 77), +(32, 2196, 81), +(32, 2197, 96), +(32, 2198, 82), +(32, 2199, 75), +(32, 2200, 90), +(32, 2201, 89), +(32, 2202, 67), +(32, 2203, 92), +(32, 2204, 87), +(32, 2205, 75), +(32, 2206, 88), +(32, 2207, 75), +(32, 2208, 96), +(32, 2209, 68), +(32, 2210, 74), +(32, 2211, 71), +(32, 2212, 88), +(32, 2213, 86), +(32, 2214, 87), +(32, 2215, 92), +(32, 2216, 82), +(32, 2217, 91), +(32, 2218, 96), +(32, 2219, 77), +(32, 2220, 75), +(32, 2221, 76), +(32, 2222, 78), +(32, 2223, 95), +(32, 2224, 77), +(32, 2225, 99), +(32, 2226, 70), +(32, 2227, 95), +(32, 2228, 93), +(32, 2229, 75), +(32, 2230, 80), +(32, 2231, 76), +(32, 2232, 90), +(32, 2233, 66), +(32, 2234, 84), +(32, 2235, 77), +(32, 2236, 88), +(32, 2237, 91), +(32, 2238, 90), +(32, 2239, 99), +(32, 2240, 77), +(32, 2241, 95), +(32, 2242, 94), +(32, 2243, 95), +(32, 2244, 77), +(32, 2245, 95), +(32, 2246, 91), +(32, 2247, 67), +(32, 2248, 86), +(32, 2249, 69), +(32, 2250, 80), +(32, 2251, 93), +(32, 2252, 84), +(32, 2253, 73), +(32, 2254, 65), +(32, 2255, 98), +(32, 2256, 78), +(32, 2257, 76), +(32, 2258, 97), +(32, 2259, 78), +(32, 2260, 91), +(32, 2261, 99), +(32, 2262, 94), +(32, 2263, 88), +(32, 2264, 82), +(32, 2265, 86), +(32, 2266, 92), +(32, 2267, 90), +(32, 2268, 77), +(32, 2269, 79), +(32, 2270, 87), +(32, 2271, 74), +(32, 2272, 91), +(32, 2273, 66), +(32, 2274, 78), +(32, 2275, 67), +(32, 2276, 93), +(32, 2277, 90), +(32, 2278, 85), +(32, 2279, 88), +(32, 2280, 87), +(32, 2281, 97), +(32, 2282, 93), +(32, 2283, 96), +(32, 2284, 79), +(32, 2285, 85), +(32, 2286, 81), +(32, 2287, 85), +(32, 2288, 77), +(32, 2289, 79), +(32, 2290, 73), +(32, 2291, 68), +(32, 2292, 76), +(32, 2293, 95), +(32, 2294, 86), +(32, 2295, 90), +(32, 2296, 86), +(32, 2297, 65), +(32, 2298, 81), +(32, 2299, 98), +(32, 2300, 99), +(32, 2301, 87), +(32, 2302, 70), +(32, 2303, 66), +(32, 2304, 98), +(32, 2305, 93), +(32, 2306, 82), +(32, 2307, 67), +(32, 2308, 77), +(32, 2309, 91), +(32, 2310, 97), +(32, 2311, 97), +(32, 2312, 79), +(32, 2313, 85), +(32, 2314, 75), +(32, 2315, 91), +(32, 2316, 85), +(32, 2317, 82), +(32, 2318, 69), +(32, 2319, 84), +(32, 2320, 70), +(32, 2321, 91), +(32, 2322, 71), +(32, 2323, 88), +(32, 2324, 89), +(32, 2325, 73), +(32, 2326, 89), +(32, 2327, 95), +(32, 2328, 90), +(32, 2329, 73), +(32, 2330, 75), +(32, 2331, 97), +(32, 2332, 76), +(32, 2333, 70), +(32, 2334, 67), +(32, 2335, 99), +(32, 2336, 86), +(32, 2337, 90), +(32, 2338, 91), +(32, 2339, 94), +(32, 2340, 95), +(32, 2341, 87), +(32, 2342, 65), +(32, 2343, 98), +(32, 2344, 95), +(32, 2345, 88), +(32, 2346, 67), +(32, 2347, 84), +(32, 2348, 73), +(32, 2349, 68), +(32, 2350, 78), +(32, 2351, 80), +(32, 2352, 89), +(32, 2353, 79), +(32, 2354, 78), +(32, 2355, 81), +(32, 2356, 70), +(32, 2357, 65), +(32, 2358, 96), +(32, 2359, 84), +(32, 2360, 78), +(32, 2361, 97), +(32, 2362, 69), +(32, 2363, 77), +(32, 2364, 71), +(32, 2365, 88), +(32, 2366, 68), +(32, 2367, 98), +(32, 2368, 99), +(32, 2369, 85), +(32, 2370, 73), +(32, 2371, 83), +(32, 2372, 68), +(32, 2373, 86), +(32, 2374, 84), +(32, 2375, 78), +(32, 2376, 99), +(32, 2377, 85), +(32, 2378, 90), +(32, 2379, 92), +(32, 2380, 71), +(32, 2381, 77), +(32, 2382, 99), +(32, 2383, 75), +(32, 2384, 78), +(32, 2385, 71), +(32, 2386, 97), +(32, 2387, 91), +(32, 2388, 65), +(32, 2389, 93), +(32, 2390, 99), +(32, 2391, 66), +(32, 2392, 71), +(32, 2393, 97), +(32, 2394, 96), +(32, 2395, 82), +(32, 2396, 73), +(32, 2397, 91), +(32, 2398, 66), +(32, 2399, 73), +(32, 2400, 93), +(32, 2401, 67), +(32, 2402, 77), +(32, 2403, 82), +(32, 2404, 94), +(32, 2405, 85), +(32, 2406, 93), +(32, 2407, 98), +(32, 2408, 86), +(32, 2409, 71), +(32, 2410, 81), +(32, 2411, 77), +(32, 2412, 89), +(32, 2413, 74), +(32, 2414, 81), +(32, 2415, 92), +(32, 2416, 92), +(32, 2417, 72), +(32, 2418, 74), +(32, 2419, 66), +(32, 2420, 96), +(32, 2421, 68), +(32, 2422, 97), +(32, 2423, 91), +(32, 2424, 78), +(32, 2425, 88), +(32, 2426, 71), +(32, 2427, 98), +(32, 2428, 79), +(32, 2429, 68), +(32, 2430, 97), +(32, 2431, 97), +(32, 2432, 82), +(32, 2433, 85), +(32, 2434, 91), +(32, 2435, 91), +(32, 2436, 84), +(32, 2437, 95), +(32, 2438, 96), +(32, 2439, 66), +(32, 2440, 67), +(32, 2441, 87), +(32, 2442, 79), +(32, 2443, 81), +(32, 2444, 91), +(32, 2445, 93), +(32, 2446, 85), +(32, 2447, 72), +(32, 2448, 96), +(32, 2449, 72), +(32, 2450, 96), +(32, 2451, 66), +(32, 2452, 97), +(32, 2453, 69), +(32, 2454, 68), +(32, 2455, 97), +(32, 2456, 65), +(32, 2457, 99), +(32, 2458, 74), +(32, 2459, 85), +(32, 2460, 70), +(32, 2461, 97), +(32, 2462, 94), +(32, 2463, 99), +(32, 2464, 70), +(32, 2465, 91), +(32, 2466, 87), +(32, 2467, 82), +(32, 2468, 90), +(32, 2469, 98), +(32, 2470, 66), +(32, 2471, 73), +(32, 2472, 83), +(32, 2473, 79), +(32, 2474, 76), +(32, 2475, 74), +(32, 2476, 97), +(32, 2477, 73), +(32, 2478, 97), +(32, 2479, 71), +(32, 2480, 73), +(32, 2481, 70), +(32, 2482, 84), +(32, 2483, 66), +(32, 2484, 94), +(32, 2485, 69), +(32, 2486, 80), +(32, 2487, 74), +(32, 2488, 76), +(32, 2489, 92), +(32, 2490, 90), +(32, 2491, 77), +(32, 2492, 88), +(32, 2493, 98), +(32, 2494, 96), +(32, 2495, 74), +(32, 2496, 82), +(32, 2497, 72), +(32, 2498, 80), +(32, 2499, 92), +(32, 2500, 88), +(32, 2501, 74), +(32, 2502, 97), +(32, 2503, 79), +(32, 2504, 82), +(32, 2505, 77), +(32, 2506, 91), +(32, 2507, 93), +(32, 2508, 83), +(32, 2509, 90), +(32, 2510, 77), +(32, 2511, 75), +(32, 2512, 66), +(32, 2513, 83), +(32, 2514, 99), +(32, 2515, 94), +(32, 2516, 79), +(32, 2517, 89), +(32, 2518, 88), +(32, 2519, 66), +(32, 2520, 93), +(32, 2521, 71), +(32, 2522, 84), +(32, 2523, 95), +(32, 2524, 68), +(32, 2525, 66), +(32, 2526, 83), +(32, 2527, 88), +(32, 2528, 89), +(32, 2529, 69), +(32, 2530, 70), +(32, 2531, 76), +(32, 2532, 68), +(32, 2533, 74), +(32, 2534, 99), +(32, 2535, 82), +(32, 2536, 71), +(32, 2537, 67), +(32, 2538, 82), +(32, 2539, 72), +(32, 2540, 73), +(32, 2541, 92), +(32, 2542, 69), +(32, 2543, 85), +(32, 2544, 84), +(32, 2545, 91), +(32, 2546, 99), +(32, 2547, 91), +(32, 2548, 86), +(32, 2549, 99), +(32, 2550, 90), +(32, 2551, 76), +(32, 2552, 70), +(32, 2553, 78), +(32, 2554, 83), +(32, 2555, 75), +(32, 2556, 77), +(32, 2557, 81), +(32, 2558, 98), +(32, 2559, 97), +(32, 2560, 93), +(32, 2561, 70), +(32, 2562, 83), +(32, 2563, 98), +(32, 2564, 87), +(32, 2565, 90), +(32, 2566, 85), +(32, 2567, 71), +(32, 2568, 73), +(32, 2569, 99), +(32, 2570, 85), +(32, 2571, 85), +(32, 2572, 82), +(32, 2573, 85), +(32, 2574, 84), +(32, 2575, 89), +(32, 2576, 96), +(32, 2577, 89), +(32, 2578, 93), +(32, 2579, 86), +(32, 2580, 76), +(32, 2581, 85), +(32, 2582, 82), +(32, 2583, 80), +(32, 2584, 79), +(32, 2585, 78), +(32, 2586, 79), +(32, 2587, 87), +(32, 2588, 96), +(32, 2589, 91), +(32, 2590, 67), +(32, 2591, 70), +(32, 2592, 71), +(32, 2593, 73), +(32, 2594, 81), +(32, 2595, 94), +(32, 2596, 82), +(32, 2597, 83), +(32, 2598, 83), +(32, 2599, 68), +(32, 2600, 95), +(32, 2601, 68), +(32, 2602, 74), +(32, 2603, 68), +(32, 2604, 73), +(32, 2605, 82), +(32, 2606, 74), +(32, 2607, 69), +(32, 2608, 71), +(32, 2609, 71), +(32, 2610, 81), +(33, 1, 72), +(33, 2, 78), +(33, 3, 84), +(33, 4, 82), +(33, 5, 72), +(33, 6, 89), +(33, 7, 71), +(33, 8, 67), +(33, 9, 72), +(33, 10, 82), +(33, 11, 80), +(33, 12, 92), +(33, 13, 75), +(33, 14, 78), +(33, 15, 93), +(33, 16, 77), +(33, 17, 75), +(33, 18, 86), +(33, 19, 75), +(33, 20, 69), +(33, 21, 79), +(33, 22, 78), +(33, 23, 88), +(33, 24, 66), +(33, 25, 77), +(33, 26, 93), +(33, 27, 84), +(33, 28, 86), +(33, 29, 77), +(33, 30, 94), +(33, 31, 72), +(33, 32, 94), +(33, 33, 66), +(33, 34, 96), +(33, 35, 71), +(33, 36, 88), +(33, 37, 86), +(33, 38, 91), +(33, 39, 82), +(33, 40, 70), +(33, 41, 75), +(33, 42, 70), +(33, 43, 74), +(33, 44, 91), +(33, 45, 74), +(33, 46, 97), +(33, 47, 95), +(33, 48, 88), +(33, 49, 78), +(33, 50, 74), +(33, 51, 90), +(33, 52, 76), +(33, 53, 90), +(33, 54, 97), +(33, 55, 71), +(33, 56, 85), +(33, 57, 67), +(33, 58, 84), +(33, 59, 72), +(33, 60, 67), +(33, 61, 79), +(33, 62, 98), +(33, 63, 72), +(33, 64, 78), +(33, 65, 74), +(33, 66, 92), +(33, 67, 68), +(33, 68, 70), +(33, 69, 97), +(33, 70, 75), +(33, 71, 92), +(33, 72, 80), +(33, 73, 82), +(33, 74, 95), +(33, 75, 95), +(33, 76, 96), +(33, 77, 98), +(33, 78, 96), +(33, 79, 89), +(33, 80, 89), +(33, 81, 71), +(33, 82, 85), +(33, 83, 79), +(33, 84, 98), +(33, 85, 86), +(33, 86, 71), +(33, 87, 98), +(33, 88, 88), +(33, 89, 74), +(33, 90, 77), +(33, 91, 86), +(33, 92, 68), +(33, 93, 90), +(33, 94, 69), +(33, 95, 66), +(33, 96, 84), +(33, 97, 92), +(33, 98, 98), +(33, 99, 99), +(33, 100, 94), +(33, 101, 73), +(33, 102, 87), +(33, 103, 70), +(33, 104, 82), +(33, 105, 80), +(33, 106, 85), +(33, 107, 97), +(33, 108, 85), +(33, 109, 69), +(33, 110, 72), +(33, 111, 98), +(33, 112, 76), +(33, 113, 89), +(33, 114, 78), +(33, 115, 98), +(33, 116, 91), +(33, 117, 65), +(33, 118, 89), +(33, 119, 70), +(33, 120, 83), +(33, 121, 81), +(33, 122, 90), +(33, 123, 93), +(33, 124, 73), +(33, 125, 91), +(33, 126, 99), +(33, 127, 96), +(33, 128, 92), +(33, 129, 70), +(33, 130, 86), +(33, 131, 90), +(33, 132, 74), +(33, 133, 73), +(33, 134, 93), +(33, 135, 88), +(33, 136, 84), +(33, 137, 77), +(33, 138, 70), +(33, 139, 69), +(33, 140, 76), +(33, 141, 72), +(33, 142, 68), +(33, 143, 96), +(33, 144, 74), +(33, 145, 70), +(33, 146, 85), +(33, 147, 80), +(33, 148, 78), +(33, 149, 79), +(33, 150, 81), +(33, 151, 66), +(33, 152, 65), +(33, 153, 65), +(33, 154, 80), +(33, 155, 82), +(33, 156, 71), +(33, 157, 70), +(33, 158, 80), +(33, 159, 97), +(33, 160, 97), +(33, 161, 95), +(33, 162, 96), +(33, 163, 87), +(33, 164, 70), +(33, 165, 80), +(33, 166, 68), +(33, 167, 77), +(33, 168, 74), +(33, 169, 70), +(33, 170, 73), +(33, 171, 76), +(33, 172, 98), +(33, 173, 79), +(33, 174, 98), +(33, 175, 98), +(33, 176, 84), +(33, 177, 97), +(33, 178, 99), +(33, 179, 69), +(33, 180, 78), +(33, 181, 82), +(33, 182, 73), +(33, 183, 97), +(33, 184, 78), +(33, 185, 69), +(33, 186, 95), +(33, 187, 93), +(33, 188, 75), +(33, 189, 77), +(33, 190, 87), +(33, 191, 92), +(33, 192, 83), +(33, 193, 89), +(33, 194, 98), +(33, 195, 94), +(33, 196, 72), +(33, 197, 79), +(33, 198, 91), +(33, 199, 65), +(33, 200, 87), +(33, 201, 80), +(33, 202, 87), +(33, 203, 88), +(33, 204, 80), +(33, 205, 75), +(33, 206, 74), +(33, 207, 90), +(33, 208, 71), +(33, 209, 71), +(33, 210, 86), +(33, 211, 85), +(33, 212, 95), +(33, 213, 79), +(33, 214, 78), +(33, 215, 95), +(33, 216, 98), +(33, 217, 66), +(33, 218, 83), +(33, 219, 81), +(33, 220, 82), +(33, 221, 92), +(33, 222, 94), +(33, 223, 77), +(33, 224, 85), +(33, 225, 91), +(33, 226, 75), +(33, 227, 86), +(33, 228, 74), +(33, 229, 65), +(33, 230, 93), +(33, 231, 92), +(33, 232, 96), +(33, 233, 83), +(33, 234, 68), +(33, 235, 66), +(33, 236, 95), +(33, 237, 72), +(33, 238, 96), +(33, 239, 93), +(33, 240, 95), +(33, 241, 97), +(33, 242, 73), +(33, 243, 91), +(33, 244, 80), +(33, 245, 77), +(33, 246, 99), +(33, 247, 91), +(33, 248, 90), +(33, 249, 84), +(33, 250, 85), +(33, 251, 96), +(33, 252, 93), +(33, 253, 94), +(33, 254, 78), +(33, 255, 96), +(33, 256, 68), +(33, 257, 98), +(33, 258, 71), +(33, 259, 93), +(33, 260, 78), +(33, 261, 74), +(33, 262, 76), +(33, 263, 80), +(33, 264, 94), +(33, 265, 99), +(33, 266, 69), +(33, 267, 77), +(33, 268, 68), +(33, 269, 86), +(33, 270, 70), +(33, 271, 98), +(33, 272, 93), +(33, 273, 68), +(33, 274, 71), +(33, 275, 75), +(33, 276, 96), +(33, 277, 96), +(33, 278, 66), +(33, 279, 66), +(33, 280, 95), +(33, 281, 97), +(33, 282, 83), +(33, 283, 79), +(33, 284, 78), +(33, 285, 94), +(33, 286, 89), +(33, 287, 93), +(33, 288, 92), +(33, 289, 65), +(33, 290, 75), +(33, 291, 71), +(33, 292, 76), +(33, 293, 97), +(33, 294, 85), +(33, 295, 65), +(33, 296, 76), +(33, 297, 87), +(33, 298, 91), +(33, 299, 86), +(33, 300, 69), +(33, 301, 80), +(33, 302, 80), +(33, 303, 85), +(33, 304, 99), +(33, 305, 95), +(33, 306, 87), +(33, 307, 93), +(33, 308, 95), +(33, 309, 65), +(33, 310, 95), +(33, 311, 79), +(33, 312, 82), +(33, 313, 80), +(33, 314, 88), +(33, 315, 74), +(33, 316, 71), +(33, 317, 92), +(33, 318, 67), +(33, 319, 99), +(33, 320, 97), +(33, 321, 67), +(33, 322, 97), +(33, 323, 83), +(33, 324, 79), +(33, 325, 86), +(33, 326, 99), +(33, 327, 71), +(33, 328, 69), +(33, 329, 90), +(33, 330, 75), +(33, 331, 97), +(33, 332, 81), +(33, 333, 98), +(33, 334, 76), +(33, 335, 95), +(33, 336, 66), +(33, 337, 87), +(33, 338, 91), +(33, 339, 95), +(33, 340, 97), +(33, 341, 89), +(33, 342, 66), +(33, 343, 82), +(33, 344, 98), +(33, 345, 89), +(33, 346, 71), +(33, 347, 87), +(33, 348, 77), +(33, 349, 68), +(33, 350, 87), +(33, 351, 92), +(33, 352, 73), +(33, 353, 96), +(33, 354, 94), +(33, 355, 78), +(33, 356, 75), +(33, 357, 90), +(33, 358, 93), +(33, 359, 73), +(33, 360, 80), +(33, 361, 84), +(33, 362, 74), +(33, 363, 69), +(33, 364, 75), +(33, 365, 74), +(33, 366, 66), +(33, 367, 75), +(33, 368, 87), +(33, 369, 88), +(33, 370, 75), +(33, 371, 73), +(33, 372, 85), +(33, 373, 85), +(33, 374, 80), +(33, 375, 97), +(33, 376, 76), +(33, 377, 99), +(33, 378, 93), +(33, 379, 82), +(33, 380, 89), +(33, 381, 94), +(33, 382, 65), +(33, 383, 92), +(33, 384, 65), +(33, 385, 67), +(33, 386, 94), +(33, 387, 69), +(33, 388, 66), +(33, 389, 96), +(33, 390, 72), +(33, 391, 73), +(33, 392, 90), +(33, 393, 91), +(33, 394, 90), +(33, 395, 72), +(33, 396, 73), +(33, 397, 73), +(33, 398, 68), +(33, 399, 97), +(33, 400, 67), +(33, 401, 98), +(33, 402, 88), +(33, 403, 80), +(33, 404, 76), +(33, 405, 74), +(33, 406, 69), +(33, 407, 66), +(33, 408, 80), +(33, 409, 78), +(33, 410, 78), +(33, 411, 98), +(33, 412, 81), +(33, 413, 92), +(33, 414, 96), +(33, 415, 74), +(33, 416, 96), +(33, 417, 86), +(33, 418, 89), +(33, 419, 96), +(33, 420, 74), +(33, 421, 88), +(33, 422, 93), +(33, 423, 85), +(33, 424, 93), +(33, 425, 82), +(33, 426, 82), +(33, 427, 81), +(33, 428, 90), +(33, 429, 66), +(33, 430, 77), +(33, 431, 82), +(33, 432, 80), +(33, 433, 77), +(33, 434, 91), +(33, 435, 65), +(33, 436, 77), +(33, 437, 80), +(33, 438, 94), +(33, 439, 90), +(33, 440, 68), +(33, 441, 84), +(33, 442, 74), +(33, 443, 86), +(33, 444, 90), +(33, 445, 99), +(33, 446, 85), +(33, 447, 79), +(33, 448, 72), +(33, 449, 86), +(33, 450, 72), +(33, 451, 74), +(33, 452, 86), +(33, 453, 68), +(33, 454, 69), +(33, 455, 96), +(33, 456, 70), +(33, 457, 93), +(33, 458, 67), +(33, 459, 74), +(33, 460, 92), +(33, 461, 73), +(33, 462, 85), +(33, 463, 89), +(33, 464, 78), +(33, 465, 81), +(33, 466, 70), +(33, 467, 67), +(33, 468, 73), +(33, 469, 78), +(33, 470, 84), +(33, 471, 84), +(33, 472, 98), +(33, 473, 65), +(33, 474, 75), +(33, 475, 67), +(33, 476, 67), +(33, 477, 67), +(33, 478, 78), +(33, 479, 98), +(33, 480, 99), +(33, 481, 80), +(33, 482, 88), +(33, 483, 95), +(33, 484, 77), +(33, 485, 78), +(33, 486, 98), +(33, 487, 69), +(33, 488, 70), +(33, 489, 87), +(33, 490, 84), +(33, 491, 73), +(33, 492, 84), +(33, 493, 80), +(33, 494, 94), +(33, 495, 99), +(33, 496, 79), +(33, 497, 93), +(33, 498, 72), +(33, 499, 92), +(33, 500, 89), +(33, 501, 81), +(33, 502, 87), +(33, 503, 87), +(33, 504, 75), +(33, 505, 87), +(33, 506, 99), +(33, 507, 70), +(33, 508, 99), +(33, 509, 91), +(33, 510, 69), +(33, 511, 97), +(33, 512, 88), +(33, 513, 69), +(33, 514, 82), +(33, 515, 86), +(33, 516, 74), +(33, 517, 77), +(33, 518, 65), +(33, 519, 89), +(33, 520, 82), +(33, 521, 90), +(33, 522, 72), +(33, 523, 80), +(33, 524, 95), +(33, 525, 72), +(33, 526, 67), +(33, 527, 73), +(33, 528, 72), +(33, 529, 92), +(33, 530, 93), +(33, 531, 68), +(33, 532, 87), +(33, 533, 93), +(33, 534, 76), +(33, 535, 68), +(33, 536, 76), +(33, 537, 92), +(33, 538, 98), +(33, 539, 84), +(33, 540, 92), +(33, 541, 94), +(33, 542, 86), +(33, 543, 79), +(33, 544, 87), +(33, 545, 81), +(33, 546, 87), +(33, 547, 96), +(33, 548, 79), +(33, 549, 74), +(33, 550, 84), +(33, 551, 68), +(33, 552, 97), +(33, 553, 67), +(33, 554, 72), +(33, 555, 78), +(33, 556, 95), +(33, 557, 81), +(33, 558, 73), +(33, 559, 72), +(33, 560, 73), +(33, 561, 75), +(33, 562, 90), +(33, 563, 85), +(33, 564, 94), +(33, 1024, 66), +(33, 1025, 78), +(33, 1026, 76), +(33, 1027, 75), +(33, 1028, 91), +(33, 1029, 85), +(33, 1030, 84), +(33, 1031, 83), +(33, 1032, 97), +(33, 1033, 81), +(33, 1034, 88), +(33, 1035, 96), +(33, 1036, 78), +(33, 1037, 97), +(33, 1038, 83), +(33, 1039, 87), +(33, 1040, 92), +(33, 1041, 80), +(33, 1042, 83), +(33, 1043, 86), +(33, 1044, 71), +(33, 1045, 87), +(33, 1046, 73), +(33, 1047, 67), +(33, 1048, 75), +(33, 1049, 65), +(33, 1050, 99), +(33, 1051, 75), +(33, 1052, 99), +(33, 1053, 84), +(33, 1054, 66), +(33, 1055, 85), +(33, 1056, 90), +(33, 1057, 96), +(33, 1058, 86), +(33, 1059, 74), +(33, 1060, 95), +(33, 1061, 80), +(33, 1062, 71), +(33, 1063, 94), +(33, 1064, 77), +(33, 1065, 98), +(33, 1066, 72), +(33, 1067, 88), +(33, 1068, 70), +(33, 1069, 78), +(33, 1070, 96), +(33, 1071, 80), +(33, 1072, 82), +(33, 1073, 94), +(33, 1074, 96), +(33, 1075, 88), +(33, 1076, 80), +(33, 1077, 83), +(33, 1078, 82), +(33, 1079, 84), +(33, 1080, 89), +(33, 1081, 93), +(33, 1082, 92), +(33, 1083, 70), +(33, 1084, 69), +(33, 1085, 71), +(33, 1086, 70), +(33, 1087, 86), +(33, 1088, 75), +(33, 1089, 93), +(33, 1090, 86), +(33, 1091, 79), +(33, 1092, 65), +(33, 1093, 96), +(33, 1094, 84), +(33, 1095, 75), +(33, 1096, 88), +(33, 1097, 87), +(33, 1098, 72), +(33, 1099, 94), +(33, 1100, 71), +(33, 1101, 65), +(33, 1102, 93), +(33, 1103, 75), +(33, 1104, 89), +(33, 1105, 93), +(33, 1106, 73), +(33, 1107, 91), +(33, 1108, 82), +(33, 1109, 83), +(33, 1110, 74), +(33, 1111, 79), +(33, 1112, 95), +(33, 1113, 87), +(33, 1114, 90), +(33, 1115, 89), +(33, 1116, 86), +(33, 1117, 78), +(33, 1118, 88), +(33, 1119, 96), +(33, 1120, 81), +(33, 1121, 83), +(33, 1122, 82), +(33, 1123, 96), +(33, 1124, 96), +(33, 1125, 69), +(33, 1126, 91), +(33, 1127, 73), +(33, 1128, 69), +(33, 1129, 82), +(33, 1130, 67), +(33, 1131, 71), +(33, 1132, 79), +(33, 1133, 89), +(33, 1134, 68), +(33, 1135, 83), +(33, 1136, 90), +(33, 1137, 99), +(33, 1138, 89), +(33, 1139, 72), +(33, 1140, 76), +(33, 1141, 98), +(33, 1142, 82), +(33, 1143, 95), +(33, 1144, 88), +(33, 1145, 79), +(33, 1146, 73), +(33, 1147, 81), +(33, 1148, 90), +(33, 1149, 91), +(33, 1150, 77), +(33, 1151, 96), +(33, 1152, 82), +(33, 1153, 97), +(33, 1154, 99), +(33, 1155, 72), +(33, 1156, 71), +(33, 1157, 76), +(33, 1158, 85), +(33, 1159, 73), +(33, 1160, 90), +(33, 1161, 68), +(33, 1162, 81), +(33, 1163, 90), +(33, 1164, 70), +(33, 1165, 99), +(33, 1166, 87), +(33, 1167, 76), +(33, 1168, 69), +(33, 1169, 66), +(33, 1170, 95), +(33, 1171, 69), +(33, 1172, 93), +(33, 1173, 97), +(33, 1174, 79), +(33, 1175, 97), +(33, 1176, 69), +(33, 1177, 83), +(33, 1178, 95), +(33, 1179, 74), +(33, 1180, 70), +(33, 1181, 67), +(33, 1182, 71), +(33, 1183, 67), +(33, 1184, 94), +(33, 1185, 98), +(33, 1186, 91), +(33, 1187, 70), +(33, 1188, 82), +(33, 1189, 93), +(33, 1190, 72), +(33, 1191, 76), +(33, 1192, 93), +(33, 1193, 73), +(33, 1194, 78), +(33, 1195, 95), +(33, 1196, 86), +(33, 1197, 66), +(33, 1198, 65), +(33, 1199, 92), +(33, 1200, 76), +(33, 1201, 85), +(33, 1202, 95), +(33, 1203, 90), +(33, 1204, 65), +(33, 1205, 90), +(33, 1206, 92), +(33, 1207, 76), +(33, 1208, 82), +(33, 1209, 83), +(33, 1210, 70), +(33, 1211, 93), +(33, 1212, 89), +(33, 1213, 84), +(33, 1214, 80), +(33, 1215, 94), +(33, 1216, 79), +(33, 1217, 67), +(33, 1218, 92), +(33, 1219, 73), +(33, 1220, 73), +(33, 1221, 67), +(33, 1222, 88), +(33, 1223, 84), +(33, 1224, 86), +(33, 1225, 75), +(33, 1226, 89), +(33, 1227, 91), +(33, 1228, 99), +(33, 1229, 99), +(33, 1230, 74), +(33, 1231, 74), +(33, 1232, 94), +(33, 1233, 81), +(33, 1234, 81), +(33, 1235, 86), +(33, 1236, 97), +(33, 1237, 74), +(33, 1238, 84), +(33, 1239, 68), +(33, 1240, 98), +(33, 1241, 91), +(33, 1242, 90), +(33, 1243, 75), +(33, 1244, 75), +(33, 1245, 68), +(33, 1246, 75), +(33, 1247, 76), +(33, 1248, 94), +(33, 1249, 86), +(33, 1250, 65), +(33, 1251, 90), +(33, 1252, 78), +(33, 1253, 90), +(33, 1254, 71), +(33, 1255, 91), +(33, 1256, 67), +(33, 1257, 66), +(33, 1258, 91), +(33, 1259, 81), +(33, 1260, 80), +(33, 1261, 75), +(33, 1262, 79), +(33, 1263, 92), +(33, 1264, 84), +(33, 1265, 81), +(33, 1266, 68), +(33, 1267, 85), +(33, 1268, 91), +(33, 1269, 75), +(33, 1270, 65), +(33, 1271, 98), +(33, 1272, 97), +(33, 1273, 84), +(33, 1274, 84), +(33, 1275, 98), +(33, 1276, 86), +(33, 1277, 91), +(33, 1278, 75), +(33, 1279, 90), +(33, 1280, 81), +(33, 1281, 85), +(33, 1282, 94), +(33, 1283, 79), +(33, 1284, 90), +(33, 1285, 99), +(33, 1286, 96), +(33, 1287, 74), +(33, 1288, 71), +(33, 1289, 69), +(33, 1290, 89), +(33, 1291, 77), +(33, 1292, 73), +(33, 1293, 95), +(33, 1294, 82), +(33, 1295, 81), +(33, 1296, 91), +(33, 1297, 93), +(33, 1298, 77), +(33, 1299, 69), +(33, 1300, 74), +(33, 1301, 98), +(33, 1302, 68), +(33, 1303, 68), +(33, 1304, 92), +(33, 1305, 79), +(33, 1306, 98), +(33, 1307, 94), +(33, 1308, 65), +(33, 1309, 99), +(33, 1310, 92), +(33, 1311, 79), +(33, 1312, 87), +(33, 1313, 86), +(33, 1314, 87), +(33, 1315, 83), +(33, 1316, 97), +(33, 1317, 68), +(33, 1318, 71), +(33, 1319, 91), +(33, 1320, 66), +(33, 1321, 75), +(33, 1322, 93), +(33, 1323, 75), +(33, 1324, 67), +(33, 1325, 94), +(33, 1326, 74), +(33, 1327, 82), +(33, 1328, 92), +(33, 1329, 70), +(33, 1330, 90), +(33, 1331, 91), +(33, 1332, 68), +(33, 1333, 94), +(33, 1334, 97), +(33, 1335, 79), +(33, 1336, 90), +(33, 1337, 72), +(33, 1338, 90), +(33, 1339, 85), +(33, 1340, 70), +(33, 1341, 95), +(33, 1342, 83), +(33, 1343, 93), +(33, 1344, 71), +(33, 1345, 97), +(33, 1346, 91), +(33, 1347, 81), +(33, 1348, 74), +(33, 1349, 78), +(33, 1350, 81), +(33, 1351, 96), +(33, 1352, 88), +(33, 1353, 92), +(33, 1354, 65), +(33, 1355, 76), +(33, 1356, 95), +(33, 1357, 96), +(33, 1358, 94), +(33, 1359, 65), +(33, 1360, 70), +(33, 1361, 85), +(33, 1362, 72), +(33, 1363, 78), +(33, 1364, 76), +(33, 1365, 91), +(33, 1366, 66), +(33, 1367, 83), +(33, 1368, 94), +(33, 1369, 71), +(33, 1370, 72), +(33, 1371, 70), +(33, 1372, 79), +(33, 1373, 89), +(33, 1374, 87), +(33, 1375, 73), +(33, 1376, 85), +(33, 1377, 70), +(33, 1378, 66), +(33, 1379, 71), +(33, 1380, 68), +(33, 1381, 71), +(33, 1382, 76), +(33, 1383, 79), +(33, 1384, 81), +(33, 1385, 66), +(33, 1386, 65), +(33, 1387, 73), +(33, 1388, 66), +(33, 1389, 67), +(33, 1390, 70), +(33, 1391, 84), +(33, 1392, 65), +(33, 1393, 78), +(33, 1394, 85), +(33, 1395, 79), +(33, 1396, 66), +(33, 1397, 95), +(33, 1398, 82), +(33, 1399, 81), +(33, 1400, 92), +(33, 1401, 96), +(33, 1402, 65), +(33, 1403, 91), +(33, 1404, 70), +(33, 1405, 95), +(33, 1406, 90), +(33, 1407, 88), +(33, 1408, 65), +(33, 1409, 76), +(33, 1410, 96), +(33, 1411, 71), +(33, 1412, 71), +(33, 1413, 79), +(33, 1414, 90), +(33, 1415, 78), +(33, 1416, 65), +(33, 1417, 68), +(33, 1418, 81), +(33, 1419, 81), +(33, 1420, 83), +(33, 1421, 91), +(33, 1422, 94), +(33, 1423, 73), +(33, 1424, 93), +(33, 1425, 73), +(33, 1426, 95), +(33, 1427, 82), +(33, 1428, 88), +(33, 1429, 72), +(33, 1430, 92), +(33, 1431, 75), +(33, 1432, 65), +(33, 1433, 75), +(33, 1434, 84), +(33, 1435, 77), +(33, 1436, 87), +(33, 1437, 69), +(33, 1438, 89), +(33, 1439, 97), +(33, 1440, 67), +(33, 1441, 79), +(33, 1442, 65), +(33, 1443, 80), +(33, 1444, 68), +(33, 1445, 75), +(33, 1446, 90), +(33, 1447, 93), +(33, 1448, 66), +(33, 1449, 73), +(33, 1450, 70), +(33, 1451, 69), +(33, 1452, 81), +(33, 1453, 83), +(33, 1454, 91), +(33, 1455, 70), +(33, 1456, 78), +(33, 1457, 68), +(33, 1458, 78), +(33, 1459, 85), +(33, 1460, 77), +(33, 1461, 90), +(33, 1462, 75), +(33, 1463, 85), +(33, 1464, 87), +(33, 1465, 65), +(33, 1466, 93), +(33, 1467, 86), +(33, 1468, 79), +(33, 1469, 88), +(33, 1470, 71), +(33, 1471, 73), +(33, 1472, 81), +(33, 1473, 92), +(33, 1474, 78), +(33, 1475, 71), +(33, 1476, 87), +(33, 1477, 70), +(33, 1478, 66), +(33, 1479, 95), +(33, 1480, 93), +(33, 1481, 65), +(33, 1482, 72), +(33, 1483, 77), +(33, 1484, 71), +(33, 1485, 91), +(33, 1486, 84), +(33, 1487, 69), +(33, 1488, 91), +(33, 1489, 99), +(33, 1490, 91), +(33, 1491, 86), +(33, 1492, 86), +(33, 1493, 73), +(33, 1494, 84), +(33, 1495, 81), +(33, 1496, 72), +(33, 1497, 82), +(33, 1498, 68), +(33, 1499, 96), +(33, 1500, 68), +(33, 1501, 82), +(33, 1502, 96), +(33, 1503, 84), +(33, 1504, 68), +(33, 1505, 67), +(33, 1506, 92), +(33, 1507, 72), +(33, 1508, 88), +(33, 1509, 82), +(33, 1510, 92), +(33, 1511, 75), +(33, 1512, 89), +(33, 1513, 91), +(33, 1514, 77), +(33, 1515, 98), +(33, 1516, 70), +(33, 1517, 65), +(33, 1518, 71), +(33, 1519, 81), +(33, 1520, 86), +(33, 1521, 85), +(33, 1522, 90), +(33, 1523, 75), +(33, 1524, 81), +(33, 1525, 73), +(33, 1526, 83), +(33, 1527, 98), +(33, 1528, 85), +(33, 1529, 71), +(33, 1530, 97), +(33, 1531, 97), +(33, 1532, 87), +(33, 1533, 86), +(33, 1534, 67), +(33, 1535, 75), +(33, 1536, 67), +(33, 1537, 92), +(33, 1538, 73), +(33, 1539, 78), +(33, 1540, 83), +(33, 1541, 91), +(33, 1542, 73), +(33, 1543, 90), +(33, 1544, 92), +(33, 1545, 74), +(33, 1546, 85), +(33, 1547, 73), +(33, 1548, 67), +(33, 1549, 91), +(33, 1550, 95), +(33, 1551, 77), +(33, 1552, 67), +(33, 1553, 89), +(33, 1554, 79), +(33, 1555, 91), +(33, 1556, 70), +(33, 1557, 88), +(33, 1558, 88), +(33, 1559, 77), +(33, 1560, 66), +(33, 1561, 94), +(33, 1562, 68), +(33, 1563, 72), +(33, 1564, 65), +(33, 1565, 98), +(33, 1566, 80), +(33, 1567, 76), +(33, 1568, 97), +(33, 1569, 68), +(33, 1570, 94), +(33, 1571, 91), +(33, 1572, 95), +(33, 1573, 95), +(33, 1574, 75), +(33, 1575, 78), +(33, 1576, 97), +(33, 1577, 84), +(33, 1578, 75), +(33, 1579, 84), +(33, 1580, 69), +(33, 1581, 81), +(33, 1582, 84), +(33, 1583, 68), +(33, 1584, 90), +(33, 1585, 85), +(33, 1586, 99), +(33, 1587, 89), +(33, 2047, 90), +(33, 2048, 78), +(33, 2049, 82), +(33, 2050, 74), +(33, 2051, 96), +(33, 2052, 67), +(33, 2053, 91), +(33, 2054, 97), +(33, 2055, 99), +(33, 2056, 81), +(33, 2057, 87), +(33, 2058, 88), +(33, 2059, 86), +(33, 2060, 77), +(33, 2061, 67), +(33, 2062, 71), +(33, 2063, 98), +(33, 2064, 67), +(33, 2065, 79), +(33, 2066, 80), +(33, 2067, 73), +(33, 2068, 86), +(33, 2069, 82), +(33, 2070, 67), +(33, 2071, 67), +(33, 2072, 89), +(33, 2073, 77), +(33, 2074, 67), +(33, 2075, 82), +(33, 2076, 92), +(33, 2077, 72), +(33, 2078, 68), +(33, 2079, 72), +(33, 2080, 94), +(33, 2081, 96), +(33, 2082, 79), +(33, 2083, 96), +(33, 2084, 76), +(33, 2085, 66), +(33, 2086, 79), +(33, 2087, 89), +(33, 2088, 65), +(33, 2089, 87), +(33, 2090, 72), +(33, 2091, 77), +(33, 2092, 68), +(33, 2093, 94), +(33, 2094, 85), +(33, 2095, 85), +(33, 2096, 91), +(33, 2097, 75), +(33, 2098, 90), +(33, 2099, 73), +(33, 2100, 65), +(33, 2101, 77), +(33, 2102, 85), +(33, 2103, 76), +(33, 2104, 67), +(33, 2105, 89), +(33, 2106, 80), +(33, 2107, 70), +(33, 2108, 97), +(33, 2109, 94), +(33, 2110, 74), +(33, 2111, 92), +(33, 2112, 85), +(33, 2113, 72), +(33, 2114, 70), +(33, 2115, 93), +(33, 2116, 76), +(33, 2117, 76), +(33, 2118, 79), +(33, 2119, 90), +(33, 2120, 74), +(33, 2121, 98), +(33, 2122, 91), +(33, 2123, 80), +(33, 2124, 66), +(33, 2125, 72), +(33, 2126, 97), +(33, 2127, 94), +(33, 2128, 91), +(33, 2129, 85), +(33, 2130, 75), +(33, 2131, 97), +(33, 2132, 88), +(33, 2133, 87), +(33, 2134, 66), +(33, 2135, 90), +(33, 2136, 93), +(33, 2137, 67), +(33, 2138, 84), +(33, 2139, 85), +(33, 2140, 94), +(33, 2141, 95), +(33, 2142, 90), +(33, 2143, 72), +(33, 2144, 69), +(33, 2145, 86), +(33, 2146, 79), +(33, 2147, 66), +(33, 2148, 85), +(33, 2149, 71), +(33, 2150, 96), +(33, 2151, 92), +(33, 2152, 77), +(33, 2153, 91), +(33, 2154, 75), +(33, 2155, 74), +(33, 2156, 80), +(33, 2157, 67), +(33, 2158, 78), +(33, 2159, 95), +(33, 2160, 84), +(33, 2161, 87), +(33, 2162, 80), +(33, 2163, 97), +(33, 2164, 81), +(33, 2165, 84), +(33, 2166, 89), +(33, 2167, 94), +(33, 2168, 91), +(33, 2169, 80), +(33, 2170, 95), +(33, 2171, 91), +(33, 2172, 88), +(33, 2173, 88), +(33, 2174, 89), +(33, 2175, 86), +(33, 2176, 97), +(33, 2177, 94), +(33, 2178, 81), +(33, 2179, 86), +(33, 2180, 70), +(33, 2181, 81), +(33, 2182, 85), +(33, 2183, 71), +(33, 2184, 67), +(33, 2185, 98), +(33, 2186, 82), +(33, 2187, 70), +(33, 2188, 86), +(33, 2189, 75), +(33, 2190, 92), +(33, 2191, 87), +(33, 2192, 95), +(33, 2193, 82), +(33, 2194, 96), +(33, 2195, 92), +(33, 2196, 97), +(33, 2197, 96), +(33, 2198, 84), +(33, 2199, 75), +(33, 2200, 85), +(33, 2201, 87), +(33, 2202, 82), +(33, 2203, 98), +(33, 2204, 73), +(33, 2205, 82), +(33, 2206, 86), +(33, 2207, 72), +(33, 2208, 97), +(33, 2209, 72), +(33, 2210, 80), +(33, 2211, 78), +(33, 2212, 72), +(33, 2213, 81), +(33, 2214, 74), +(33, 2215, 76), +(33, 2216, 92), +(33, 2217, 78), +(33, 2218, 68), +(33, 2219, 74), +(33, 2220, 86), +(33, 2221, 91), +(33, 2222, 68), +(33, 2223, 69), +(33, 2224, 94), +(33, 2225, 82), +(33, 2226, 89), +(33, 2227, 73), +(33, 2228, 68), +(33, 2229, 88), +(33, 2230, 82), +(33, 2231, 92), +(33, 2232, 73), +(33, 2233, 79), +(33, 2234, 85), +(33, 2235, 95), +(33, 2236, 96), +(33, 2237, 77), +(33, 2238, 66), +(33, 2239, 97), +(33, 2240, 99), +(33, 2241, 78), +(33, 2242, 71), +(33, 2243, 92), +(33, 2244, 79), +(33, 2245, 76), +(33, 2246, 90), +(33, 2247, 80), +(33, 2248, 74), +(33, 2249, 84), +(33, 2250, 68), +(33, 2251, 87), +(33, 2252, 68), +(33, 2253, 86), +(33, 2254, 72), +(33, 2255, 92), +(33, 2256, 87), +(33, 2257, 92), +(33, 2258, 91), +(33, 2259, 86), +(33, 2260, 67), +(33, 2261, 67), +(33, 2262, 70), +(33, 2263, 80), +(33, 2264, 69), +(33, 2265, 76), +(33, 2266, 98), +(33, 2267, 82), +(33, 2268, 79), +(33, 2269, 85), +(33, 2270, 75), +(33, 2271, 87), +(33, 2272, 98), +(33, 2273, 79), +(33, 2274, 84), +(33, 2275, 76), +(33, 2276, 66), +(33, 2277, 91), +(33, 2278, 94), +(33, 2279, 67), +(33, 2280, 89), +(33, 2281, 70), +(33, 2282, 82), +(33, 2283, 85), +(33, 2284, 90), +(33, 2285, 73), +(33, 2286, 75), +(33, 2287, 93), +(33, 2288, 78), +(33, 2289, 79), +(33, 2290, 74), +(33, 2291, 86), +(33, 2292, 66), +(33, 2293, 70), +(33, 2294, 97), +(33, 2295, 66), +(33, 2296, 68), +(33, 2297, 71), +(33, 2298, 82), +(33, 2299, 69), +(33, 2300, 78), +(33, 2301, 68), +(33, 2302, 66), +(33, 2303, 82), +(33, 2304, 70), +(33, 2305, 87), +(33, 2306, 93), +(33, 2307, 66), +(33, 2308, 82), +(33, 2309, 70), +(33, 2310, 80), +(33, 2311, 93), +(33, 2312, 66), +(33, 2313, 66), +(33, 2314, 72), +(33, 2315, 83), +(33, 2316, 86), +(33, 2317, 81), +(33, 2318, 97), +(33, 2319, 86), +(33, 2320, 99), +(33, 2321, 97), +(33, 2322, 97), +(33, 2323, 82), +(33, 2324, 76), +(33, 2325, 91), +(33, 2326, 67), +(33, 2327, 79), +(33, 2328, 69), +(33, 2329, 65), +(33, 2330, 90), +(33, 2331, 78), +(33, 2332, 66), +(33, 2333, 82), +(33, 2334, 65), +(33, 2335, 76), +(33, 2336, 82), +(33, 2337, 65), +(33, 2338, 88), +(33, 2339, 78), +(33, 2340, 74), +(33, 2341, 67), +(33, 2342, 68), +(33, 2343, 87), +(33, 2344, 89), +(33, 2345, 86), +(33, 2346, 69), +(33, 2347, 77), +(33, 2348, 81), +(33, 2349, 93), +(33, 2350, 81), +(33, 2351, 89), +(33, 2352, 87), +(33, 2353, 96), +(33, 2354, 73), +(33, 2355, 96), +(33, 2356, 84), +(33, 2357, 68), +(33, 2358, 68), +(33, 2359, 91), +(33, 2360, 90), +(33, 2361, 81), +(33, 2362, 89), +(33, 2363, 93), +(33, 2364, 69), +(33, 2365, 65), +(33, 2366, 80), +(33, 2367, 72), +(33, 2368, 67), +(33, 2369, 91), +(33, 2370, 91), +(33, 2371, 83), +(33, 2372, 71), +(33, 2373, 90), +(33, 2374, 90), +(33, 2375, 86), +(33, 2376, 73), +(33, 2377, 70), +(33, 2378, 79), +(33, 2379, 71), +(33, 2380, 86), +(33, 2381, 94), +(33, 2382, 95), +(33, 2383, 91), +(33, 2384, 98), +(33, 2385, 71), +(33, 2386, 70), +(33, 2387, 81), +(33, 2388, 77), +(33, 2389, 73), +(33, 2390, 97), +(33, 2391, 79), +(33, 2392, 89), +(33, 2393, 72), +(33, 2394, 73), +(33, 2395, 78), +(33, 2396, 75), +(33, 2397, 68), +(33, 2398, 94), +(33, 2399, 82), +(33, 2400, 81), +(33, 2401, 98), +(33, 2402, 82), +(33, 2403, 83), +(33, 2404, 79), +(33, 2405, 70), +(33, 2406, 97), +(33, 2407, 86), +(33, 2408, 76), +(33, 2409, 89), +(33, 2410, 84), +(33, 2411, 98), +(33, 2412, 93), +(33, 2413, 77), +(33, 2414, 72), +(33, 2415, 65), +(33, 2416, 99), +(33, 2417, 82), +(33, 2418, 67), +(33, 2419, 85), +(33, 2420, 82), +(33, 2421, 89), +(33, 2422, 90), +(33, 2423, 83), +(33, 2424, 79), +(33, 2425, 69), +(33, 2426, 65), +(33, 2427, 83), +(33, 2428, 87), +(33, 2429, 88), +(33, 2430, 75), +(33, 2431, 89), +(33, 2432, 85), +(33, 2433, 80), +(33, 2434, 69), +(33, 2435, 85), +(33, 2436, 79), +(33, 2437, 85), +(33, 2438, 73), +(33, 2439, 71), +(33, 2440, 81), +(33, 2441, 97), +(33, 2442, 94), +(33, 2443, 90), +(33, 2444, 69), +(33, 2445, 74), +(33, 2446, 74), +(33, 2447, 72), +(33, 2448, 91), +(33, 2449, 72), +(33, 2450, 86), +(33, 2451, 95), +(33, 2452, 70), +(33, 2453, 90), +(33, 2454, 96), +(33, 2455, 99), +(33, 2456, 70), +(33, 2457, 68), +(33, 2458, 96), +(33, 2459, 77), +(33, 2460, 73), +(33, 2461, 88), +(33, 2462, 82), +(33, 2463, 89), +(33, 2464, 80), +(33, 2465, 71), +(33, 2466, 96), +(33, 2467, 78), +(33, 2468, 78), +(33, 2469, 82), +(33, 2470, 99), +(33, 2471, 78), +(33, 2472, 82), +(33, 2473, 87), +(33, 2474, 70), +(33, 2475, 74), +(33, 2476, 67), +(33, 2477, 88), +(33, 2478, 66), +(33, 2479, 80), +(33, 2480, 93), +(33, 2481, 86), +(33, 2482, 91), +(33, 2483, 94), +(33, 2484, 83), +(33, 2485, 71), +(33, 2486, 79), +(33, 2487, 76), +(33, 2488, 92), +(33, 2489, 85), +(33, 2490, 74), +(33, 2491, 96), +(33, 2492, 91), +(33, 2493, 82), +(33, 2494, 91), +(33, 2495, 75), +(33, 2496, 72), +(33, 2497, 77), +(33, 2498, 73), +(33, 2499, 82), +(33, 2500, 68), +(33, 2501, 94), +(33, 2502, 88), +(33, 2503, 68), +(33, 2504, 68), +(33, 2505, 82), +(33, 2506, 74), +(33, 2507, 88), +(33, 2508, 74), +(33, 2509, 90), +(33, 2510, 99), +(33, 2511, 95), +(33, 2512, 71), +(33, 2513, 75), +(33, 2514, 85), +(33, 2515, 83), +(33, 2516, 86), +(33, 2517, 79), +(33, 2518, 69), +(33, 2519, 75), +(33, 2520, 93), +(33, 2521, 75), +(33, 2522, 91), +(33, 2523, 80), +(33, 2524, 91), +(33, 2525, 67), +(33, 2526, 84), +(33, 2527, 87), +(33, 2528, 70), +(33, 2529, 72), +(33, 2530, 78), +(33, 2531, 95), +(33, 2532, 87), +(33, 2533, 99), +(33, 2534, 99), +(33, 2535, 66), +(33, 2536, 68), +(33, 2537, 80), +(33, 2538, 95), +(33, 2539, 98), +(33, 2540, 75), +(33, 2541, 82), +(33, 2542, 94), +(33, 2543, 85), +(33, 2544, 91), +(33, 2545, 87), +(33, 2546, 80), +(33, 2547, 91), +(33, 2548, 90), +(33, 2549, 99), +(33, 2550, 86), +(33, 2551, 72), +(33, 2552, 83), +(33, 2553, 75), +(33, 2554, 69), +(33, 2555, 89), +(33, 2556, 84), +(33, 2557, 70), +(33, 2558, 97), +(33, 2559, 65), +(33, 2560, 85), +(33, 2561, 92), +(33, 2562, 81), +(33, 2563, 66), +(33, 2564, 93), +(33, 2565, 80), +(33, 2566, 70), +(33, 2567, 81), +(33, 2568, 73), +(33, 2569, 96), +(33, 2570, 91), +(33, 2571, 84), +(33, 2572, 99), +(33, 2573, 65), +(33, 2574, 65), +(33, 2575, 92), +(33, 2576, 81), +(33, 2577, 81), +(33, 2578, 94), +(33, 2579, 96), +(33, 2580, 71), +(33, 2581, 91), +(33, 2582, 71), +(33, 2583, 95), +(33, 2584, 78), +(33, 2585, 90), +(33, 2586, 89), +(33, 2587, 68), +(33, 2588, 71), +(33, 2589, 72), +(33, 2590, 88), +(33, 2591, 97), +(33, 2592, 78), +(33, 2593, 83), +(33, 2594, 65), +(33, 2595, 79), +(33, 2596, 92), +(33, 2597, 69), +(33, 2598, 92), +(33, 2599, 70), +(33, 2600, 98), +(33, 2601, 83), +(33, 2602, 70), +(33, 2603, 90), +(33, 2604, 76), +(33, 2605, 70), +(33, 2606, 94), +(33, 2607, 92), +(33, 2608, 93), +(33, 2609, 82), +(33, 2610, 68), +(34, 1, 76), +(34, 2, 69), +(34, 3, 73), +(34, 4, 70), +(34, 5, 87), +(34, 6, 67), +(34, 7, 80), +(34, 8, 77), +(34, 9, 93), +(34, 10, 80), +(34, 11, 80), +(34, 12, 72), +(34, 13, 80), +(34, 14, 79), +(34, 15, 84), +(34, 16, 75), +(34, 17, 92), +(34, 18, 70), +(34, 19, 71), +(34, 20, 76), +(34, 21, 72), +(34, 22, 65), +(34, 23, 89), +(34, 24, 67), +(34, 25, 77), +(34, 26, 69), +(34, 27, 85), +(34, 28, 99), +(34, 29, 70), +(34, 30, 75), +(34, 31, 67), +(34, 32, 96), +(34, 33, 67), +(34, 34, 89), +(34, 35, 67), +(34, 36, 66), +(34, 37, 97), +(34, 38, 97), +(34, 39, 85), +(34, 40, 74), +(34, 41, 98), +(34, 42, 68), +(34, 43, 97), +(34, 44, 79), +(34, 45, 83), +(34, 46, 92), +(34, 47, 84), +(34, 48, 81), +(34, 49, 94), +(34, 50, 69), +(34, 51, 73), +(34, 52, 83), +(34, 53, 99), +(34, 54, 68), +(34, 55, 86), +(34, 56, 93), +(34, 57, 87), +(34, 58, 98), +(34, 59, 81), +(34, 60, 76), +(34, 61, 71), +(34, 62, 92), +(34, 63, 75), +(34, 64, 69), +(34, 65, 80), +(34, 66, 83), +(34, 67, 71), +(34, 68, 93), +(34, 69, 94), +(34, 70, 84), +(34, 71, 93), +(34, 72, 84), +(34, 73, 99), +(34, 74, 78), +(34, 75, 81), +(34, 76, 86), +(34, 77, 95), +(34, 78, 98), +(34, 79, 88), +(34, 80, 82), +(34, 81, 99), +(34, 82, 96), +(34, 83, 92), +(34, 84, 89), +(34, 85, 69), +(34, 86, 98), +(34, 87, 73), +(34, 88, 69), +(34, 89, 90), +(34, 90, 86), +(34, 91, 76), +(34, 92, 77), +(34, 93, 80), +(34, 94, 79), +(34, 95, 90), +(34, 96, 71), +(34, 97, 89), +(34, 98, 96), +(34, 99, 81), +(34, 100, 75), +(34, 101, 78), +(34, 102, 67), +(34, 103, 75), +(34, 104, 99), +(34, 105, 91), +(34, 106, 77), +(34, 107, 79), +(34, 108, 99), +(34, 109, 87), +(34, 110, 96), +(34, 111, 83), +(34, 112, 75), +(34, 113, 92), +(34, 114, 96), +(34, 115, 97), +(34, 116, 69), +(34, 117, 72), +(34, 118, 79), +(34, 119, 83), +(34, 120, 88), +(34, 121, 67), +(34, 122, 94), +(34, 123, 70), +(34, 124, 85), +(34, 125, 95), +(34, 126, 74), +(34, 127, 87), +(34, 128, 86), +(34, 129, 81), +(34, 130, 73), +(34, 131, 98), +(34, 132, 76), +(34, 133, 93), +(34, 134, 91), +(34, 135, 65), +(34, 136, 83), +(34, 137, 96), +(34, 138, 87), +(34, 139, 97), +(34, 140, 93), +(34, 141, 66), +(34, 142, 93), +(34, 143, 67), +(34, 144, 85), +(34, 145, 77), +(34, 146, 74), +(34, 147, 88), +(34, 148, 86), +(34, 149, 69), +(34, 150, 88), +(34, 151, 82), +(34, 152, 73), +(34, 153, 79), +(34, 154, 92), +(34, 155, 93), +(34, 156, 69), +(34, 157, 72), +(34, 158, 79), +(34, 159, 76), +(34, 160, 85), +(34, 161, 99), +(34, 162, 92), +(34, 163, 81), +(34, 164, 75), +(34, 165, 75), +(34, 166, 90), +(34, 167, 80), +(34, 168, 77), +(34, 169, 83), +(34, 170, 93), +(34, 171, 80), +(34, 172, 71), +(34, 173, 71), +(34, 174, 73), +(34, 175, 66), +(34, 176, 94), +(34, 177, 75), +(34, 178, 80), +(34, 179, 68), +(34, 180, 87), +(34, 181, 89), +(34, 182, 74), +(34, 183, 80), +(34, 184, 90), +(34, 185, 73), +(34, 186, 75), +(34, 187, 80), +(34, 188, 67), +(34, 189, 76), +(34, 190, 93), +(34, 191, 78), +(34, 192, 81), +(34, 193, 69), +(34, 194, 67), +(34, 195, 72), +(34, 196, 85), +(34, 197, 88), +(34, 198, 75), +(34, 199, 99), +(34, 200, 72), +(34, 201, 84), +(34, 202, 74), +(34, 203, 86), +(34, 204, 69), +(34, 205, 80), +(34, 206, 91), +(34, 207, 69), +(34, 208, 71), +(34, 209, 98), +(34, 210, 93), +(34, 211, 71), +(34, 212, 94), +(34, 213, 91), +(34, 214, 89), +(34, 215, 76), +(34, 216, 78), +(34, 217, 86), +(34, 218, 99), +(34, 219, 70), +(34, 220, 94), +(34, 221, 93), +(34, 222, 90), +(34, 223, 70), +(34, 224, 69), +(34, 225, 69), +(34, 226, 66), +(34, 227, 80), +(34, 228, 70), +(34, 229, 84), +(34, 230, 73), +(34, 231, 91), +(34, 232, 87), +(34, 233, 72), +(34, 234, 75), +(34, 235, 99), +(34, 236, 70), +(34, 237, 68), +(34, 238, 86), +(34, 239, 66), +(34, 240, 95), +(34, 241, 90), +(34, 242, 70), +(34, 243, 98), +(34, 244, 74), +(34, 245, 75), +(34, 246, 88), +(34, 247, 78), +(34, 248, 81), +(34, 249, 90), +(34, 250, 68), +(34, 251, 80), +(34, 252, 87), +(34, 253, 72), +(34, 254, 75), +(34, 255, 85), +(34, 256, 78), +(34, 257, 68), +(34, 258, 86), +(34, 259, 74), +(34, 260, 90), +(34, 261, 74), +(34, 262, 85), +(34, 263, 68), +(34, 264, 82), +(34, 265, 93), +(34, 266, 87), +(34, 267, 92), +(34, 268, 81), +(34, 269, 90), +(34, 270, 78), +(34, 271, 65), +(34, 272, 70), +(34, 273, 96), +(34, 274, 82), +(34, 275, 72), +(34, 276, 66), +(34, 277, 69), +(34, 278, 79), +(34, 279, 97), +(34, 280, 88), +(34, 281, 96), +(34, 282, 91), +(34, 283, 98), +(34, 284, 65), +(34, 285, 77), +(34, 286, 82), +(34, 287, 93), +(34, 288, 70), +(34, 289, 67), +(34, 290, 74), +(34, 291, 88), +(34, 292, 81), +(34, 293, 76), +(34, 294, 73), +(34, 295, 78), +(34, 296, 82), +(34, 297, 96), +(34, 298, 69), +(34, 299, 72), +(34, 300, 68), +(34, 301, 66), +(34, 302, 84), +(34, 303, 79), +(34, 304, 93), +(34, 305, 78), +(34, 306, 70), +(34, 307, 99), +(34, 308, 70), +(34, 309, 69), +(34, 310, 92), +(34, 311, 81), +(34, 312, 88), +(34, 313, 82), +(34, 314, 90), +(34, 315, 99), +(34, 316, 96), +(34, 317, 77), +(34, 318, 83), +(34, 319, 98), +(34, 320, 88), +(34, 321, 67), +(34, 322, 96), +(34, 323, 87), +(34, 324, 87), +(34, 325, 72), +(34, 326, 78), +(34, 327, 80), +(34, 328, 80), +(34, 329, 91), +(34, 330, 69), +(34, 331, 66), +(34, 332, 73), +(34, 333, 87), +(34, 334, 86), +(34, 335, 77), +(34, 336, 96), +(34, 337, 74), +(34, 338, 96), +(34, 339, 74), +(34, 340, 99), +(34, 341, 91), +(34, 342, 74), +(34, 343, 73), +(34, 344, 81), +(34, 345, 90), +(34, 346, 89), +(34, 347, 68), +(34, 348, 99), +(34, 349, 95), +(34, 350, 77), +(34, 351, 97), +(34, 352, 91), +(34, 353, 98), +(34, 354, 76), +(34, 355, 89), +(34, 356, 68), +(34, 357, 92), +(34, 358, 65), +(34, 359, 76), +(34, 360, 67); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(34, 361, 66), +(34, 362, 66), +(34, 363, 78), +(34, 364, 95), +(34, 365, 76), +(34, 366, 91), +(34, 367, 87), +(34, 368, 88), +(34, 369, 70), +(34, 370, 90), +(34, 371, 98), +(34, 372, 65), +(34, 373, 68), +(34, 374, 82), +(34, 375, 85), +(34, 376, 80), +(34, 377, 93), +(34, 378, 78), +(34, 379, 80), +(34, 380, 76), +(34, 381, 74), +(34, 382, 90), +(34, 383, 68), +(34, 384, 96), +(34, 385, 85), +(34, 386, 99), +(34, 387, 83), +(34, 388, 89), +(34, 389, 74), +(34, 390, 71), +(34, 391, 92), +(34, 392, 88), +(34, 393, 71), +(34, 394, 77), +(34, 395, 93), +(34, 396, 89), +(34, 397, 73), +(34, 398, 77), +(34, 399, 74), +(34, 400, 83), +(34, 401, 73), +(34, 402, 70), +(34, 403, 73), +(34, 404, 66), +(34, 405, 99), +(34, 406, 85), +(34, 407, 86), +(34, 408, 76), +(34, 409, 71), +(34, 410, 79), +(34, 411, 84), +(34, 412, 99), +(34, 413, 75), +(34, 414, 97), +(34, 415, 90), +(34, 416, 87), +(34, 417, 82), +(34, 418, 84), +(34, 419, 78), +(34, 420, 81), +(34, 421, 66), +(34, 422, 68), +(34, 423, 83), +(34, 424, 99), +(34, 425, 89), +(34, 426, 67), +(34, 427, 74), +(34, 428, 73), +(34, 429, 66), +(34, 430, 76), +(34, 431, 68), +(34, 432, 98), +(34, 433, 80), +(34, 434, 76), +(34, 435, 81), +(34, 436, 65), +(34, 437, 76), +(34, 438, 72), +(34, 439, 97), +(34, 440, 74), +(34, 441, 98), +(34, 442, 65), +(34, 443, 67), +(34, 444, 72), +(34, 445, 85), +(34, 446, 67), +(34, 447, 70), +(34, 448, 78), +(34, 449, 65), +(34, 450, 88), +(34, 451, 76), +(34, 452, 95), +(34, 453, 85), +(34, 454, 97), +(34, 455, 93), +(34, 456, 66), +(34, 457, 83), +(34, 458, 92), +(34, 459, 69), +(34, 460, 77), +(34, 461, 66), +(34, 462, 91), +(34, 463, 66), +(34, 464, 89), +(34, 465, 65), +(34, 466, 66), +(34, 467, 97), +(34, 468, 88), +(34, 469, 76), +(34, 470, 98), +(34, 471, 79), +(34, 472, 69), +(34, 473, 98), +(34, 474, 72), +(34, 475, 85), +(34, 476, 80), +(34, 477, 90), +(34, 478, 99), +(34, 479, 96), +(34, 480, 68), +(34, 481, 67), +(34, 482, 87), +(34, 483, 95), +(34, 484, 99), +(34, 485, 97), +(34, 486, 94), +(34, 487, 92), +(34, 488, 84), +(34, 489, 68), +(34, 490, 93), +(34, 491, 91), +(34, 492, 93), +(34, 493, 90), +(34, 494, 72), +(34, 495, 69), +(34, 496, 96), +(34, 497, 70), +(34, 498, 69), +(34, 499, 72), +(34, 500, 96), +(34, 501, 66), +(34, 502, 82), +(34, 503, 82), +(34, 504, 96), +(34, 505, 95), +(34, 506, 97), +(34, 507, 68), +(34, 508, 81), +(34, 509, 81), +(34, 510, 87), +(34, 511, 78), +(34, 512, 67), +(34, 513, 88), +(34, 514, 90), +(34, 515, 71), +(34, 516, 68), +(34, 517, 72), +(34, 518, 90), +(34, 519, 72), +(34, 520, 84), +(34, 521, 81), +(34, 522, 95), +(34, 523, 77), +(34, 524, 83), +(34, 525, 79), +(34, 526, 91), +(34, 527, 95), +(34, 528, 95), +(34, 529, 69), +(34, 530, 98), +(34, 531, 94), +(34, 532, 81), +(34, 533, 70), +(34, 534, 76), +(34, 535, 99), +(34, 536, 70), +(34, 537, 86), +(34, 538, 76), +(34, 539, 89), +(34, 540, 96), +(34, 541, 90), +(34, 542, 68), +(34, 543, 72), +(34, 544, 98), +(34, 545, 97), +(34, 546, 83), +(34, 547, 85), +(34, 548, 93), +(34, 549, 76), +(34, 550, 76), +(34, 551, 77), +(34, 552, 99), +(34, 553, 77), +(34, 554, 76), +(34, 555, 78), +(34, 556, 74), +(34, 557, 74), +(34, 558, 82), +(34, 559, 99), +(34, 560, 93), +(34, 561, 65), +(34, 562, 66), +(34, 563, 82), +(34, 564, 84), +(34, 1024, 99), +(34, 1025, 73), +(34, 1026, 98), +(34, 1027, 80), +(34, 1028, 88), +(34, 1029, 75), +(34, 1030, 68), +(34, 1031, 90), +(34, 1032, 75), +(34, 1033, 78), +(34, 1034, 69), +(34, 1035, 96), +(34, 1036, 69), +(34, 1037, 70), +(34, 1038, 69), +(34, 1039, 85), +(34, 1040, 74), +(34, 1041, 83), +(34, 1042, 88), +(34, 1043, 84), +(34, 1044, 70), +(34, 1045, 94), +(34, 1046, 80), +(34, 1047, 67), +(34, 1048, 77), +(34, 1049, 76), +(34, 1050, 89), +(34, 1051, 68), +(34, 1052, 68), +(34, 1053, 88), +(34, 1054, 65), +(34, 1055, 86), +(34, 1056, 96), +(34, 1057, 91), +(34, 1058, 87), +(34, 1059, 80), +(34, 1060, 76), +(34, 1061, 75), +(34, 1062, 87), +(34, 1063, 84), +(34, 1064, 81), +(34, 1065, 86), +(34, 1066, 66), +(34, 1067, 95), +(34, 1068, 75), +(34, 1069, 87), +(34, 1070, 72), +(34, 1071, 66), +(34, 1072, 79), +(34, 1073, 73), +(34, 1074, 81), +(34, 1075, 72), +(34, 1076, 80), +(34, 1077, 74), +(34, 1078, 91), +(34, 1079, 77), +(34, 1080, 98), +(34, 1081, 89), +(34, 1082, 92), +(34, 1083, 83), +(34, 1084, 89), +(34, 1085, 87), +(34, 1086, 87), +(34, 1087, 84), +(34, 1088, 78), +(34, 1089, 97), +(34, 1090, 80), +(34, 1091, 73), +(34, 1092, 81), +(34, 1093, 68), +(34, 1094, 73), +(34, 1095, 69), +(34, 1096, 82), +(34, 1097, 92), +(34, 1098, 72), +(34, 1099, 70), +(34, 1100, 73), +(34, 1101, 86), +(34, 1102, 82), +(34, 1103, 69), +(34, 1104, 77), +(34, 1105, 67), +(34, 1106, 91), +(34, 1107, 99), +(34, 1108, 85), +(34, 1109, 71), +(34, 1110, 92), +(34, 1111, 84), +(34, 1112, 87), +(34, 1113, 75), +(34, 1114, 91), +(34, 1115, 86), +(34, 1116, 81), +(34, 1117, 65), +(34, 1118, 92), +(34, 1119, 91), +(34, 1120, 68), +(34, 1121, 73), +(34, 1122, 84), +(34, 1123, 75), +(34, 1124, 92), +(34, 1125, 82), +(34, 1126, 98), +(34, 1127, 95), +(34, 1128, 92), +(34, 1129, 70), +(34, 1130, 67), +(34, 1131, 76), +(34, 1132, 88), +(34, 1133, 96), +(34, 1134, 80), +(34, 1135, 71), +(34, 1136, 95), +(34, 1137, 95), +(34, 1138, 78), +(34, 1139, 98), +(34, 1140, 66), +(34, 1141, 95), +(34, 1142, 67), +(34, 1143, 74), +(34, 1144, 70), +(34, 1145, 65), +(34, 1146, 82), +(34, 1147, 77), +(34, 1148, 79), +(34, 1149, 91), +(34, 1150, 90), +(34, 1151, 78), +(34, 1152, 96), +(34, 1153, 75), +(34, 1154, 95), +(34, 1155, 88), +(34, 1156, 74), +(34, 1157, 87), +(34, 1158, 67), +(34, 1159, 69), +(34, 1160, 88), +(34, 1161, 92), +(34, 1162, 70), +(34, 1163, 66), +(34, 1164, 90), +(34, 1165, 67), +(34, 1166, 83), +(34, 1167, 88), +(34, 1168, 67), +(34, 1169, 68), +(34, 1170, 82), +(34, 1171, 99), +(34, 1172, 98), +(34, 1173, 83), +(34, 1174, 99), +(34, 1175, 94), +(34, 1176, 97), +(34, 1177, 84), +(34, 1178, 84), +(34, 1179, 98), +(34, 1180, 72), +(34, 1181, 88), +(34, 1182, 65), +(34, 1183, 94), +(34, 1184, 85), +(34, 1185, 81), +(34, 1186, 99), +(34, 1187, 80), +(34, 1188, 93), +(34, 1189, 70), +(34, 1190, 65), +(34, 1191, 74), +(34, 1192, 71), +(34, 1193, 91), +(34, 1194, 66), +(34, 1195, 66), +(34, 1196, 76), +(34, 1197, 84), +(34, 1198, 67), +(34, 1199, 83), +(34, 1200, 97), +(34, 1201, 92), +(34, 1202, 77), +(34, 1203, 99), +(34, 1204, 87), +(34, 1205, 83), +(34, 1206, 80), +(34, 1207, 74), +(34, 1208, 66), +(34, 1209, 83), +(34, 1210, 99), +(34, 1211, 78), +(34, 1212, 81), +(34, 1213, 76), +(34, 1214, 77), +(34, 1215, 66), +(34, 1216, 79), +(34, 1217, 89), +(34, 1218, 99), +(34, 1219, 85), +(34, 1220, 65), +(34, 1221, 96), +(34, 1222, 90), +(34, 1223, 96), +(34, 1224, 82), +(34, 1225, 87), +(34, 1226, 92), +(34, 1227, 99), +(34, 1228, 73), +(34, 1229, 67), +(34, 1230, 87), +(34, 1231, 72), +(34, 1232, 65), +(34, 1233, 87), +(34, 1234, 78), +(34, 1235, 84), +(34, 1236, 97), +(34, 1237, 83), +(34, 1238, 78), +(34, 1239, 73), +(34, 1240, 91), +(34, 1241, 94), +(34, 1242, 81), +(34, 1243, 79), +(34, 1244, 96), +(34, 1245, 81), +(34, 1246, 90), +(34, 1247, 81), +(34, 1248, 85), +(34, 1249, 91), +(34, 1250, 98), +(34, 1251, 72), +(34, 1252, 77), +(34, 1253, 97), +(34, 1254, 99), +(34, 1255, 84), +(34, 1256, 95), +(34, 1257, 72), +(34, 1258, 95), +(34, 1259, 77), +(34, 1260, 79), +(34, 1261, 96), +(34, 1262, 77), +(34, 1263, 66), +(34, 1264, 78), +(34, 1265, 87), +(34, 1266, 65), +(34, 1267, 90), +(34, 1268, 86), +(34, 1269, 96), +(34, 1270, 77), +(34, 1271, 88), +(34, 1272, 99), +(34, 1273, 74), +(34, 1274, 79), +(34, 1275, 71), +(34, 1276, 72), +(34, 1277, 67), +(34, 1278, 70), +(34, 1279, 91), +(34, 1280, 71), +(34, 1281, 93), +(34, 1282, 95), +(34, 1283, 91), +(34, 1284, 65), +(34, 1285, 82), +(34, 1286, 71), +(34, 1287, 70), +(34, 1288, 73), +(34, 1289, 90), +(34, 1290, 74), +(34, 1291, 78), +(34, 1292, 72), +(34, 1293, 89), +(34, 1294, 66), +(34, 1295, 83), +(34, 1296, 71), +(34, 1297, 84), +(34, 1298, 65), +(34, 1299, 80), +(34, 1300, 77), +(34, 1301, 87), +(34, 1302, 82), +(34, 1303, 73), +(34, 1304, 72), +(34, 1305, 75), +(34, 1306, 80), +(34, 1307, 95), +(34, 1308, 75), +(34, 1309, 83), +(34, 1310, 77), +(34, 1311, 78), +(34, 1312, 94), +(34, 1313, 79), +(34, 1314, 95), +(34, 1315, 91), +(34, 1316, 71), +(34, 1317, 85), +(34, 1318, 80), +(34, 1319, 88), +(34, 1320, 68), +(34, 1321, 71), +(34, 1322, 98), +(34, 1323, 82), +(34, 1324, 79), +(34, 1325, 95), +(34, 1326, 76), +(34, 1327, 90), +(34, 1328, 96), +(34, 1329, 76), +(34, 1330, 88), +(34, 1331, 83), +(34, 1332, 97), +(34, 1333, 75), +(34, 1334, 97), +(34, 1335, 92), +(34, 1336, 74), +(34, 1337, 85), +(34, 1338, 73), +(34, 1339, 85), +(34, 1340, 80), +(34, 1341, 66), +(34, 1342, 66), +(34, 1343, 91), +(34, 1344, 78), +(34, 1345, 80), +(34, 1346, 80), +(34, 1347, 91), +(34, 1348, 65), +(34, 1349, 91), +(34, 1350, 89), +(34, 1351, 73), +(34, 1352, 83), +(34, 1353, 83), +(34, 1354, 65), +(34, 1355, 68), +(34, 1356, 85), +(34, 1357, 65), +(34, 1358, 97), +(34, 1359, 77), +(34, 1360, 68), +(34, 1361, 89), +(34, 1362, 68), +(34, 1363, 80), +(34, 1364, 86), +(34, 1365, 83), +(34, 1366, 84), +(34, 1367, 90), +(34, 1368, 95), +(34, 1369, 66), +(34, 1370, 71), +(34, 1371, 78), +(34, 1372, 88), +(34, 1373, 68), +(34, 1374, 88), +(34, 1375, 94), +(34, 1376, 88), +(34, 1377, 89), +(34, 1378, 93), +(34, 1379, 66), +(34, 1380, 82), +(34, 1381, 82), +(34, 1382, 78), +(34, 1383, 81), +(34, 1384, 80), +(34, 1385, 79), +(34, 1386, 88), +(34, 1387, 83), +(34, 1388, 85), +(34, 1389, 73), +(34, 1390, 96), +(34, 1391, 80), +(34, 1392, 68), +(34, 1393, 89), +(34, 1394, 88), +(34, 1395, 92), +(34, 1396, 95), +(34, 1397, 76), +(34, 1398, 82), +(34, 1399, 94), +(34, 1400, 80), +(34, 1401, 96), +(34, 1402, 97), +(34, 1403, 80), +(34, 1404, 74), +(34, 1405, 98), +(34, 1406, 74), +(34, 1407, 82), +(34, 1408, 87), +(34, 1409, 84), +(34, 1410, 82), +(34, 1411, 99), +(34, 1412, 81), +(34, 1413, 95), +(34, 1414, 87), +(34, 1415, 81), +(34, 1416, 83), +(34, 1417, 83), +(34, 1418, 91), +(34, 1419, 89), +(34, 1420, 66), +(34, 1421, 80), +(34, 1422, 97), +(34, 1423, 89), +(34, 1424, 91), +(34, 1425, 95), +(34, 1426, 69), +(34, 1427, 76), +(34, 1428, 90), +(34, 1429, 66), +(34, 1430, 97), +(34, 1431, 72), +(34, 1432, 66), +(34, 1433, 91), +(34, 1434, 89), +(34, 1435, 66), +(34, 1436, 72), +(34, 1437, 83), +(34, 1438, 71), +(34, 1439, 82), +(34, 1440, 93), +(34, 1441, 87), +(34, 1442, 65), +(34, 1443, 65), +(34, 1444, 79), +(34, 1445, 68), +(34, 1446, 79), +(34, 1447, 91), +(34, 1448, 88), +(34, 1449, 69), +(34, 1450, 94), +(34, 1451, 72), +(34, 1452, 95), +(34, 1453, 72), +(34, 1454, 78), +(34, 1455, 69), +(34, 1456, 98), +(34, 1457, 79), +(34, 1458, 95), +(34, 1459, 95), +(34, 1460, 70), +(34, 1461, 67), +(34, 1462, 73), +(34, 1463, 98), +(34, 1464, 70), +(34, 1465, 84), +(34, 1466, 65), +(34, 1467, 97), +(34, 1468, 91), +(34, 1469, 78), +(34, 1470, 90), +(34, 1471, 82), +(34, 1472, 82), +(34, 1473, 96), +(34, 1474, 83), +(34, 1475, 88), +(34, 1476, 79), +(34, 1477, 73), +(34, 1478, 71), +(34, 1479, 84), +(34, 1480, 68), +(34, 1481, 98), +(34, 1482, 94), +(34, 1483, 78), +(34, 1484, 87), +(34, 1485, 86), +(34, 1486, 81), +(34, 1487, 66), +(34, 1488, 75), +(34, 1489, 68), +(34, 1490, 97), +(34, 1491, 84), +(34, 1492, 99), +(34, 1493, 73), +(34, 1494, 91), +(34, 1495, 82), +(34, 1496, 89), +(34, 1497, 73), +(34, 1498, 88), +(34, 1499, 84), +(34, 1500, 80), +(34, 1501, 77), +(34, 1502, 92), +(34, 1503, 78), +(34, 1504, 84), +(34, 1505, 79), +(34, 1506, 96), +(34, 1507, 93), +(34, 1508, 78), +(34, 1509, 99), +(34, 1510, 97), +(34, 1511, 88), +(34, 1512, 95), +(34, 1513, 79), +(34, 1514, 98), +(34, 1515, 80), +(34, 1516, 70), +(34, 1517, 72), +(34, 1518, 87), +(34, 1519, 74), +(34, 1520, 99), +(34, 1521, 96), +(34, 1522, 98), +(34, 1523, 67), +(34, 1524, 90), +(34, 1525, 81), +(34, 1526, 68), +(34, 1527, 74), +(34, 1528, 78), +(34, 1529, 83), +(34, 1530, 69), +(34, 1531, 73), +(34, 1532, 74), +(34, 1533, 74), +(34, 1534, 86), +(34, 1535, 88), +(34, 1536, 74), +(34, 1537, 67), +(34, 1538, 79), +(34, 1539, 81), +(34, 1540, 93), +(34, 1541, 70), +(34, 1542, 73), +(34, 1543, 66), +(34, 1544, 84), +(34, 1545, 95), +(34, 1546, 68), +(34, 1547, 87), +(34, 1548, 72), +(34, 1549, 78), +(34, 1550, 69), +(34, 1551, 75), +(34, 1552, 96), +(34, 1553, 89), +(34, 1554, 82), +(34, 1555, 91), +(34, 1556, 83), +(34, 1557, 79), +(34, 1558, 86), +(34, 1559, 85), +(34, 1560, 86), +(34, 1561, 71), +(34, 1562, 94), +(34, 1563, 96), +(34, 1564, 81), +(34, 1565, 68), +(34, 1566, 83), +(34, 1567, 92), +(34, 1568, 68), +(34, 1569, 87), +(34, 1570, 86), +(34, 1571, 82), +(34, 1572, 78), +(34, 1573, 74), +(34, 1574, 75), +(34, 1575, 82), +(34, 1576, 70), +(34, 1577, 72), +(34, 1578, 76), +(34, 1579, 83), +(34, 1580, 70), +(34, 1581, 95), +(34, 1582, 93), +(34, 1583, 68), +(34, 1584, 83), +(34, 1585, 95), +(34, 1586, 97), +(34, 1587, 66), +(34, 2047, 67), +(34, 2048, 70), +(34, 2049, 70), +(34, 2050, 98), +(34, 2051, 94), +(34, 2052, 98), +(34, 2053, 83), +(34, 2054, 86), +(34, 2055, 75), +(34, 2056, 74), +(34, 2057, 75), +(34, 2058, 87), +(34, 2059, 97), +(34, 2060, 99), +(34, 2061, 98), +(34, 2062, 67), +(34, 2063, 78), +(34, 2064, 95), +(34, 2065, 70), +(34, 2066, 97), +(34, 2067, 81), +(34, 2068, 79), +(34, 2069, 82), +(34, 2070, 85), +(34, 2071, 94), +(34, 2072, 83), +(34, 2073, 75), +(34, 2074, 86), +(34, 2075, 94), +(34, 2076, 66), +(34, 2077, 88), +(34, 2078, 85), +(34, 2079, 73), +(34, 2080, 74), +(34, 2081, 80), +(34, 2082, 82), +(34, 2083, 83), +(34, 2084, 95), +(34, 2085, 77), +(34, 2086, 81), +(34, 2087, 85), +(34, 2088, 73), +(34, 2089, 88), +(34, 2090, 69), +(34, 2091, 68), +(34, 2092, 81), +(34, 2093, 99), +(34, 2094, 89), +(34, 2095, 70), +(34, 2096, 97), +(34, 2097, 84), +(34, 2098, 68), +(34, 2099, 86), +(34, 2100, 79), +(34, 2101, 65), +(34, 2102, 83), +(34, 2103, 93), +(34, 2104, 92), +(34, 2105, 95), +(34, 2106, 96), +(34, 2107, 75), +(34, 2108, 88), +(34, 2109, 75), +(34, 2110, 75), +(34, 2111, 92), +(34, 2112, 83), +(34, 2113, 90), +(34, 2114, 88), +(34, 2115, 90), +(34, 2116, 94), +(34, 2117, 91), +(34, 2118, 79), +(34, 2119, 72), +(34, 2120, 70), +(34, 2121, 98), +(34, 2122, 70), +(34, 2123, 98), +(34, 2124, 67), +(34, 2125, 97), +(34, 2126, 65), +(34, 2127, 86), +(34, 2128, 69), +(34, 2129, 66), +(34, 2130, 84), +(34, 2131, 74), +(34, 2132, 71), +(34, 2133, 66), +(34, 2134, 78), +(34, 2135, 98), +(34, 2136, 79), +(34, 2137, 96), +(34, 2138, 68), +(34, 2139, 89), +(34, 2140, 86), +(34, 2141, 89), +(34, 2142, 85), +(34, 2143, 94), +(34, 2144, 87), +(34, 2145, 98), +(34, 2146, 73), +(34, 2147, 89), +(34, 2148, 95), +(34, 2149, 73), +(34, 2150, 75), +(34, 2151, 93), +(34, 2152, 93), +(34, 2153, 72), +(34, 2154, 88), +(34, 2155, 95), +(34, 2156, 94), +(34, 2157, 92), +(34, 2158, 73), +(34, 2159, 68), +(34, 2160, 96), +(34, 2161, 74), +(34, 2162, 74), +(34, 2163, 78), +(34, 2164, 91), +(34, 2165, 84), +(34, 2166, 83), +(34, 2167, 94), +(34, 2168, 94), +(34, 2169, 69), +(34, 2170, 89), +(34, 2171, 91), +(34, 2172, 68), +(34, 2173, 75), +(34, 2174, 78), +(34, 2175, 74), +(34, 2176, 95), +(34, 2177, 72), +(34, 2178, 95), +(34, 2179, 66), +(34, 2180, 69), +(34, 2181, 99), +(34, 2182, 77), +(34, 2183, 78), +(34, 2184, 97), +(34, 2185, 66), +(34, 2186, 77), +(34, 2187, 84), +(34, 2188, 95), +(34, 2189, 78), +(34, 2190, 87), +(34, 2191, 74), +(34, 2192, 79), +(34, 2193, 89), +(34, 2194, 66), +(34, 2195, 95), +(34, 2196, 71), +(34, 2197, 94), +(34, 2198, 77), +(34, 2199, 84), +(34, 2200, 90), +(34, 2201, 69), +(34, 2202, 73), +(34, 2203, 79), +(34, 2204, 73), +(34, 2205, 86), +(34, 2206, 68), +(34, 2207, 72), +(34, 2208, 99), +(34, 2209, 91), +(34, 2210, 79), +(34, 2211, 78), +(34, 2212, 65), +(34, 2213, 83), +(34, 2214, 81), +(34, 2215, 76), +(34, 2216, 81), +(34, 2217, 89), +(34, 2218, 95), +(34, 2219, 73), +(34, 2220, 68), +(34, 2221, 92), +(34, 2222, 75), +(34, 2223, 65), +(34, 2224, 73), +(34, 2225, 84), +(34, 2226, 67), +(34, 2227, 84), +(34, 2228, 69), +(34, 2229, 83), +(34, 2230, 69), +(34, 2231, 65), +(34, 2232, 66), +(34, 2233, 97), +(34, 2234, 76), +(34, 2235, 76), +(34, 2236, 84), +(34, 2237, 82), +(34, 2238, 98), +(34, 2239, 87), +(34, 2240, 96), +(34, 2241, 75), +(34, 2242, 80), +(34, 2243, 75), +(34, 2244, 65), +(34, 2245, 69), +(34, 2246, 81), +(34, 2247, 65), +(34, 2248, 82), +(34, 2249, 78), +(34, 2250, 71), +(34, 2251, 91), +(34, 2252, 93), +(34, 2253, 75), +(34, 2254, 99), +(34, 2255, 65), +(34, 2256, 69), +(34, 2257, 98), +(34, 2258, 99), +(34, 2259, 65), +(34, 2260, 69), +(34, 2261, 78), +(34, 2262, 73), +(34, 2263, 71), +(34, 2264, 71), +(34, 2265, 92), +(34, 2266, 78), +(34, 2267, 73), +(34, 2268, 97), +(34, 2269, 86), +(34, 2270, 82), +(34, 2271, 81), +(34, 2272, 83), +(34, 2273, 97), +(34, 2274, 90), +(34, 2275, 82), +(34, 2276, 93), +(34, 2277, 84), +(34, 2278, 79), +(34, 2279, 79), +(34, 2280, 84), +(34, 2281, 97), +(34, 2282, 65), +(34, 2283, 74), +(34, 2284, 76), +(34, 2285, 79), +(34, 2286, 65), +(34, 2287, 79), +(34, 2288, 94), +(34, 2289, 94), +(34, 2290, 85), +(34, 2291, 93), +(34, 2292, 74), +(34, 2293, 70), +(34, 2294, 95), +(34, 2295, 65), +(34, 2296, 84), +(34, 2297, 97), +(34, 2298, 67), +(34, 2299, 93), +(34, 2300, 66), +(34, 2301, 85), +(34, 2302, 87), +(34, 2303, 79), +(34, 2304, 96), +(34, 2305, 91), +(34, 2306, 87), +(34, 2307, 99), +(34, 2308, 80), +(34, 2309, 84), +(34, 2310, 76), +(34, 2311, 75), +(34, 2312, 65), +(34, 2313, 79), +(34, 2314, 71), +(34, 2315, 74), +(34, 2316, 75), +(34, 2317, 94), +(34, 2318, 76), +(34, 2319, 78), +(34, 2320, 79), +(34, 2321, 75), +(34, 2322, 67), +(34, 2323, 83), +(34, 2324, 82), +(34, 2325, 65), +(34, 2326, 75), +(34, 2327, 81), +(34, 2328, 83), +(34, 2329, 79), +(34, 2330, 91), +(34, 2331, 70), +(34, 2332, 75), +(34, 2333, 65), +(34, 2334, 98), +(34, 2335, 90), +(34, 2336, 89), +(34, 2337, 95), +(34, 2338, 66), +(34, 2339, 77), +(34, 2340, 94), +(34, 2341, 77), +(34, 2342, 79), +(34, 2343, 77), +(34, 2344, 93), +(34, 2345, 99), +(34, 2346, 79), +(34, 2347, 66), +(34, 2348, 85), +(34, 2349, 91), +(34, 2350, 70), +(34, 2351, 68), +(34, 2352, 67), +(34, 2353, 70), +(34, 2354, 68), +(34, 2355, 99), +(34, 2356, 73), +(34, 2357, 82), +(34, 2358, 92), +(34, 2359, 65), +(34, 2360, 80), +(34, 2361, 87), +(34, 2362, 71), +(34, 2363, 96), +(34, 2364, 69), +(34, 2365, 68), +(34, 2366, 98), +(34, 2367, 72), +(34, 2368, 75), +(34, 2369, 99), +(34, 2370, 65), +(34, 2371, 67), +(34, 2372, 87), +(34, 2373, 91), +(34, 2374, 65), +(34, 2375, 98), +(34, 2376, 72), +(34, 2377, 65), +(34, 2378, 96), +(34, 2379, 86), +(34, 2380, 81), +(34, 2381, 68), +(34, 2382, 80), +(34, 2383, 94), +(34, 2384, 85), +(34, 2385, 76), +(34, 2386, 65), +(34, 2387, 67), +(34, 2388, 93), +(34, 2389, 93), +(34, 2390, 86), +(34, 2391, 95), +(34, 2392, 98), +(34, 2393, 74), +(34, 2394, 83), +(34, 2395, 78), +(34, 2396, 91), +(34, 2397, 72), +(34, 2398, 68), +(34, 2399, 92), +(34, 2400, 96), +(34, 2401, 83), +(34, 2402, 80), +(34, 2403, 70), +(34, 2404, 83), +(34, 2405, 67), +(34, 2406, 75), +(34, 2407, 70), +(34, 2408, 96), +(34, 2409, 96), +(34, 2410, 76), +(34, 2411, 90), +(34, 2412, 67), +(34, 2413, 66), +(34, 2414, 87), +(34, 2415, 93), +(34, 2416, 84), +(34, 2417, 96), +(34, 2418, 82), +(34, 2419, 92), +(34, 2420, 92), +(34, 2421, 73), +(34, 2422, 95), +(34, 2423, 80), +(34, 2424, 93), +(34, 2425, 85), +(34, 2426, 84), +(34, 2427, 91), +(34, 2428, 65), +(34, 2429, 68), +(34, 2430, 88), +(34, 2431, 91), +(34, 2432, 82), +(34, 2433, 80), +(34, 2434, 79), +(34, 2435, 88), +(34, 2436, 78), +(34, 2437, 76), +(34, 2438, 83), +(34, 2439, 92), +(34, 2440, 68), +(34, 2441, 90), +(34, 2442, 66), +(34, 2443, 74), +(34, 2444, 79), +(34, 2445, 96), +(34, 2446, 87), +(34, 2447, 79), +(34, 2448, 99), +(34, 2449, 80), +(34, 2450, 77), +(34, 2451, 73), +(34, 2452, 98), +(34, 2453, 75), +(34, 2454, 73), +(34, 2455, 70), +(34, 2456, 91), +(34, 2457, 81), +(34, 2458, 87), +(34, 2459, 99), +(34, 2460, 87), +(34, 2461, 84), +(34, 2462, 66), +(34, 2463, 84), +(34, 2464, 92), +(34, 2465, 85), +(34, 2466, 86), +(34, 2467, 80), +(34, 2468, 88), +(34, 2469, 87), +(34, 2470, 91), +(34, 2471, 71), +(34, 2472, 98), +(34, 2473, 99), +(34, 2474, 94), +(34, 2475, 83), +(34, 2476, 84), +(34, 2477, 88), +(34, 2478, 76), +(34, 2479, 87), +(34, 2480, 74), +(34, 2481, 85), +(34, 2482, 67), +(34, 2483, 70), +(34, 2484, 67), +(34, 2485, 82), +(34, 2486, 93), +(34, 2487, 95), +(34, 2488, 97), +(34, 2489, 83), +(34, 2490, 72), +(34, 2491, 80), +(34, 2492, 94), +(34, 2493, 87), +(34, 2494, 65), +(34, 2495, 86), +(34, 2496, 87), +(34, 2497, 66), +(34, 2498, 95), +(34, 2499, 69), +(34, 2500, 81), +(34, 2501, 76), +(34, 2502, 84), +(34, 2503, 74), +(34, 2504, 98), +(34, 2505, 78), +(34, 2506, 68), +(34, 2507, 96), +(34, 2508, 92), +(34, 2509, 81), +(34, 2510, 96), +(34, 2511, 78), +(34, 2512, 93), +(34, 2513, 97), +(34, 2514, 98), +(34, 2515, 69), +(34, 2516, 94), +(34, 2517, 97), +(34, 2518, 88), +(34, 2519, 78), +(34, 2520, 85), +(34, 2521, 99), +(34, 2522, 71), +(34, 2523, 88), +(34, 2524, 85), +(34, 2525, 73), +(34, 2526, 68), +(34, 2527, 75), +(34, 2528, 89), +(34, 2529, 91), +(34, 2530, 82), +(34, 2531, 75), +(34, 2532, 95), +(34, 2533, 69), +(34, 2534, 97), +(34, 2535, 86), +(34, 2536, 65), +(34, 2537, 66), +(34, 2538, 96), +(34, 2539, 71), +(34, 2540, 94), +(34, 2541, 72), +(34, 2542, 94), +(34, 2543, 68), +(34, 2544, 67), +(34, 2545, 65), +(34, 2546, 74), +(34, 2547, 82), +(34, 2548, 94), +(34, 2549, 66), +(34, 2550, 95), +(34, 2551, 99), +(34, 2552, 72), +(34, 2553, 77), +(34, 2554, 70), +(34, 2555, 86), +(34, 2556, 93), +(34, 2557, 77), +(34, 2558, 90), +(34, 2559, 73), +(34, 2560, 83), +(34, 2561, 83), +(34, 2562, 91), +(34, 2563, 74), +(34, 2564, 68), +(34, 2565, 65), +(34, 2566, 66), +(34, 2567, 89), +(34, 2568, 82), +(34, 2569, 84), +(34, 2570, 68), +(34, 2571, 67), +(34, 2572, 82), +(34, 2573, 78), +(34, 2574, 76), +(34, 2575, 92), +(34, 2576, 88), +(34, 2577, 73), +(34, 2578, 90), +(34, 2579, 88), +(34, 2580, 97), +(34, 2581, 66), +(34, 2582, 80), +(34, 2583, 66), +(34, 2584, 89), +(34, 2585, 82), +(34, 2586, 73), +(34, 2587, 85), +(34, 2588, 73), +(34, 2589, 95), +(34, 2590, 66), +(34, 2591, 71), +(34, 2592, 75), +(34, 2593, 97), +(34, 2594, 89), +(34, 2595, 83), +(34, 2596, 78), +(34, 2597, 68), +(34, 2598, 74), +(34, 2599, 81), +(34, 2600, 69), +(34, 2601, 76), +(34, 2602, 98), +(34, 2603, 75), +(34, 2604, 99), +(34, 2605, 75), +(34, 2606, 79), +(34, 2607, 84), +(34, 2608, 84), +(34, 2609, 97), +(34, 2610, 65), +(35, 1, 65), +(35, 2, 84), +(35, 3, 81), +(35, 4, 75), +(35, 5, 86), +(35, 6, 70), +(35, 7, 88), +(35, 8, 84), +(35, 9, 76), +(35, 10, 90), +(35, 11, 95), +(35, 12, 92), +(35, 13, 74), +(35, 14, 95), +(35, 15, 74), +(35, 16, 76), +(35, 17, 98), +(35, 18, 96), +(35, 19, 97), +(35, 20, 76), +(35, 21, 97), +(35, 22, 95), +(35, 23, 80), +(35, 24, 75), +(35, 25, 88), +(35, 26, 70), +(35, 27, 75), +(35, 28, 66), +(35, 29, 89), +(35, 30, 97), +(35, 31, 92), +(35, 32, 99), +(35, 33, 70), +(35, 34, 95), +(35, 35, 90), +(35, 36, 71), +(35, 37, 89), +(35, 38, 81), +(35, 39, 78), +(35, 40, 98), +(35, 41, 93), +(35, 42, 66), +(35, 43, 93), +(35, 44, 92), +(35, 45, 92), +(35, 46, 69), +(35, 47, 70), +(35, 48, 77), +(35, 49, 68), +(35, 50, 91), +(35, 51, 67), +(35, 52, 90), +(35, 53, 88), +(35, 54, 88), +(35, 55, 81), +(35, 56, 76), +(35, 57, 65), +(35, 58, 71), +(35, 59, 87), +(35, 60, 78), +(35, 61, 87), +(35, 62, 65), +(35, 63, 94), +(35, 64, 85), +(35, 65, 81), +(35, 66, 76), +(35, 67, 85), +(35, 68, 85), +(35, 69, 79), +(35, 70, 96), +(35, 71, 88), +(35, 72, 82), +(35, 73, 80), +(35, 74, 75), +(35, 75, 88), +(35, 76, 76), +(35, 77, 84), +(35, 78, 69), +(35, 79, 76), +(35, 80, 81), +(35, 81, 76), +(35, 82, 92), +(35, 83, 87), +(35, 84, 87), +(35, 85, 92), +(35, 86, 71), +(35, 87, 77), +(35, 88, 86), +(35, 89, 92), +(35, 90, 99), +(35, 91, 91), +(35, 92, 82), +(35, 93, 99), +(35, 94, 91), +(35, 95, 85), +(35, 96, 73), +(35, 97, 69), +(35, 98, 87), +(35, 99, 81), +(35, 100, 97), +(35, 101, 70), +(35, 102, 81), +(35, 103, 65), +(35, 104, 78), +(35, 105, 84), +(35, 106, 99), +(35, 107, 73), +(35, 108, 69), +(35, 109, 96), +(35, 110, 96), +(35, 111, 91), +(35, 112, 85), +(35, 113, 95), +(35, 114, 77), +(35, 115, 91), +(35, 116, 76), +(35, 117, 67), +(35, 118, 99), +(35, 119, 69), +(35, 120, 92), +(35, 121, 98), +(35, 122, 65), +(35, 123, 76), +(35, 124, 69), +(35, 125, 68), +(35, 126, 80), +(35, 127, 84), +(35, 128, 89), +(35, 129, 98), +(35, 130, 80), +(35, 131, 85), +(35, 132, 97), +(35, 133, 77), +(35, 134, 79), +(35, 135, 67), +(35, 136, 65), +(35, 137, 78), +(35, 138, 88), +(35, 139, 73), +(35, 140, 66), +(35, 141, 81), +(35, 142, 92), +(35, 143, 88), +(35, 144, 67), +(35, 145, 77), +(35, 146, 87), +(35, 147, 99), +(35, 148, 97), +(35, 149, 80), +(35, 150, 97), +(35, 151, 78), +(35, 152, 73), +(35, 153, 99), +(35, 154, 83), +(35, 155, 81), +(35, 156, 67), +(35, 157, 86), +(35, 158, 93), +(35, 159, 96), +(35, 160, 72), +(35, 161, 78), +(35, 162, 72), +(35, 163, 78), +(35, 164, 97), +(35, 165, 69), +(35, 166, 76), +(35, 167, 67), +(35, 168, 99), +(35, 169, 68), +(35, 170, 79), +(35, 171, 70), +(35, 172, 66), +(35, 173, 89), +(35, 174, 74), +(35, 175, 77), +(35, 176, 83), +(35, 177, 87), +(35, 178, 76), +(35, 179, 70), +(35, 180, 69), +(35, 181, 98), +(35, 182, 87), +(35, 183, 80), +(35, 184, 81), +(35, 185, 93), +(35, 186, 98), +(35, 187, 94), +(35, 188, 80), +(35, 189, 85), +(35, 190, 66), +(35, 191, 83), +(35, 192, 88), +(35, 193, 86), +(35, 194, 82), +(35, 195, 84), +(35, 196, 78), +(35, 197, 69), +(35, 198, 71), +(35, 199, 94), +(35, 200, 68), +(35, 201, 81), +(35, 202, 79), +(35, 203, 68), +(35, 204, 75), +(35, 205, 73), +(35, 206, 98), +(35, 207, 82), +(35, 208, 76), +(35, 209, 70), +(35, 210, 71), +(35, 211, 70), +(35, 212, 86), +(35, 213, 83), +(35, 214, 76), +(35, 215, 99), +(35, 216, 98), +(35, 217, 96), +(35, 218, 74), +(35, 219, 79), +(35, 220, 88), +(35, 221, 89), +(35, 222, 70), +(35, 223, 87), +(35, 224, 95), +(35, 225, 77), +(35, 226, 74), +(35, 227, 79), +(35, 228, 65), +(35, 229, 88), +(35, 230, 91), +(35, 231, 81), +(35, 232, 83), +(35, 233, 80), +(35, 234, 71), +(35, 235, 95), +(35, 236, 70), +(35, 237, 93), +(35, 238, 76), +(35, 239, 92), +(35, 240, 93), +(35, 241, 96), +(35, 242, 69), +(35, 243, 84), +(35, 244, 65), +(35, 245, 79), +(35, 246, 79), +(35, 247, 88), +(35, 248, 71), +(35, 249, 66), +(35, 250, 93), +(35, 251, 83), +(35, 252, 93), +(35, 253, 83), +(35, 254, 76), +(35, 255, 72), +(35, 256, 88), +(35, 257, 87), +(35, 258, 79), +(35, 259, 97), +(35, 260, 81), +(35, 261, 83), +(35, 262, 96), +(35, 263, 71), +(35, 264, 98), +(35, 265, 71), +(35, 266, 95), +(35, 267, 93), +(35, 268, 66), +(35, 269, 94), +(35, 270, 82), +(35, 271, 74), +(35, 272, 76), +(35, 273, 70), +(35, 274, 98), +(35, 275, 72), +(35, 276, 82), +(35, 277, 96), +(35, 278, 98), +(35, 279, 85), +(35, 280, 92), +(35, 281, 88), +(35, 282, 73), +(35, 283, 87), +(35, 284, 99), +(35, 285, 73), +(35, 286, 81), +(35, 287, 86), +(35, 288, 77), +(35, 289, 75), +(35, 290, 82), +(35, 291, 93), +(35, 292, 78), +(35, 293, 94), +(35, 294, 79), +(35, 295, 96), +(35, 296, 84), +(35, 297, 82), +(35, 298, 76), +(35, 299, 72), +(35, 300, 68), +(35, 301, 98), +(35, 302, 80), +(35, 303, 73), +(35, 304, 70), +(35, 305, 75), +(35, 306, 95), +(35, 307, 82), +(35, 308, 71), +(35, 309, 88), +(35, 310, 74), +(35, 311, 66), +(35, 312, 91), +(35, 313, 70), +(35, 314, 87), +(35, 315, 71), +(35, 316, 66), +(35, 317, 81), +(35, 318, 81), +(35, 319, 93), +(35, 320, 85), +(35, 321, 70), +(35, 322, 88), +(35, 323, 88), +(35, 324, 66), +(35, 325, 72), +(35, 326, 65), +(35, 327, 89), +(35, 328, 95), +(35, 329, 85), +(35, 330, 88), +(35, 331, 82), +(35, 332, 93), +(35, 333, 77), +(35, 334, 66), +(35, 335, 71), +(35, 336, 80), +(35, 337, 77), +(35, 338, 74), +(35, 339, 92), +(35, 340, 70), +(35, 341, 91), +(35, 342, 71), +(35, 343, 91), +(35, 344, 79), +(35, 345, 82), +(35, 346, 97), +(35, 347, 84), +(35, 348, 97), +(35, 349, 68), +(35, 350, 93), +(35, 351, 76), +(35, 352, 65), +(35, 353, 71), +(35, 354, 71), +(35, 355, 77), +(35, 356, 86), +(35, 357, 91), +(35, 358, 85), +(35, 359, 98), +(35, 360, 98), +(35, 361, 84), +(35, 362, 78), +(35, 363, 83), +(35, 364, 82), +(35, 365, 94), +(35, 366, 86), +(35, 367, 77), +(35, 368, 79), +(35, 369, 94), +(35, 370, 89), +(35, 371, 66), +(35, 372, 76), +(35, 373, 91), +(35, 374, 71), +(35, 375, 67), +(35, 376, 74), +(35, 377, 68), +(35, 378, 82), +(35, 379, 89), +(35, 380, 83), +(35, 381, 92), +(35, 382, 88), +(35, 383, 71), +(35, 384, 81), +(35, 385, 89), +(35, 386, 77), +(35, 387, 72), +(35, 388, 78), +(35, 389, 87), +(35, 390, 75), +(35, 391, 73), +(35, 392, 68), +(35, 393, 86), +(35, 394, 85), +(35, 395, 77), +(35, 396, 91), +(35, 397, 80), +(35, 398, 81), +(35, 399, 83), +(35, 400, 82), +(35, 401, 75), +(35, 402, 92), +(35, 403, 94), +(35, 404, 74), +(35, 405, 71), +(35, 406, 84), +(35, 407, 65), +(35, 408, 73), +(35, 409, 94), +(35, 410, 93), +(35, 411, 95), +(35, 412, 80), +(35, 413, 72), +(35, 414, 65), +(35, 415, 91), +(35, 416, 82), +(35, 417, 86), +(35, 418, 88), +(35, 419, 71), +(35, 420, 87), +(35, 421, 72), +(35, 422, 65), +(35, 423, 93), +(35, 424, 82), +(35, 425, 99), +(35, 426, 93), +(35, 427, 98), +(35, 428, 97), +(35, 429, 67), +(35, 430, 81), +(35, 431, 97), +(35, 432, 79), +(35, 433, 68), +(35, 434, 79), +(35, 435, 76), +(35, 436, 97), +(35, 437, 75), +(35, 438, 85), +(35, 439, 82), +(35, 440, 65), +(35, 441, 68), +(35, 442, 73), +(35, 443, 84), +(35, 444, 97), +(35, 445, 98), +(35, 446, 84), +(35, 447, 82), +(35, 448, 76), +(35, 449, 73), +(35, 450, 90), +(35, 451, 94), +(35, 452, 84), +(35, 453, 85), +(35, 454, 74), +(35, 455, 79), +(35, 456, 90), +(35, 457, 71), +(35, 458, 90), +(35, 459, 94), +(35, 460, 78), +(35, 461, 81), +(35, 462, 65), +(35, 463, 71), +(35, 464, 76), +(35, 465, 88), +(35, 466, 94), +(35, 467, 79), +(35, 468, 84), +(35, 469, 83), +(35, 470, 68), +(35, 471, 81), +(35, 472, 89), +(35, 473, 88), +(35, 474, 72), +(35, 475, 87), +(35, 476, 65), +(35, 477, 79), +(35, 478, 94), +(35, 479, 84), +(35, 480, 81), +(35, 481, 66), +(35, 482, 71), +(35, 483, 91), +(35, 484, 97), +(35, 485, 83), +(35, 486, 74), +(35, 487, 85), +(35, 488, 74), +(35, 489, 83), +(35, 490, 79), +(35, 491, 99), +(35, 492, 77), +(35, 493, 76), +(35, 494, 85), +(35, 495, 89), +(35, 496, 74), +(35, 497, 79), +(35, 498, 67), +(35, 499, 93), +(35, 500, 78), +(35, 501, 92), +(35, 502, 83), +(35, 503, 85), +(35, 504, 84), +(35, 505, 78), +(35, 506, 88), +(35, 507, 66), +(35, 508, 79), +(35, 509, 66), +(35, 510, 91), +(35, 511, 68), +(35, 512, 75), +(35, 513, 98), +(35, 514, 70), +(35, 515, 67), +(35, 516, 90), +(35, 517, 67), +(35, 518, 85), +(35, 519, 65), +(35, 520, 75), +(35, 521, 74), +(35, 522, 90), +(35, 523, 80), +(35, 524, 67), +(35, 525, 79), +(35, 526, 85), +(35, 527, 87), +(35, 528, 87), +(35, 529, 76), +(35, 530, 77), +(35, 531, 95), +(35, 532, 79), +(35, 533, 79), +(35, 534, 86), +(35, 535, 86), +(35, 536, 94), +(35, 537, 91), +(35, 538, 94), +(35, 539, 91), +(35, 540, 70), +(35, 541, 69), +(35, 542, 87), +(35, 543, 92), +(35, 544, 93), +(35, 545, 73), +(35, 546, 87), +(35, 547, 71), +(35, 548, 95), +(35, 549, 94), +(35, 550, 67), +(35, 551, 84), +(35, 552, 71), +(35, 553, 86), +(35, 554, 97), +(35, 555, 93), +(35, 556, 92), +(35, 557, 97), +(35, 558, 93), +(35, 559, 74), +(35, 560, 76), +(35, 561, 70), +(35, 562, 67), +(35, 563, 89), +(35, 564, 71), +(35, 1024, 94), +(35, 1025, 68), +(35, 1026, 91), +(35, 1027, 76), +(35, 1028, 69), +(35, 1029, 91), +(35, 1030, 93), +(35, 1031, 69), +(35, 1032, 90), +(35, 1033, 84), +(35, 1034, 84), +(35, 1035, 90), +(35, 1036, 80), +(35, 1037, 65), +(35, 1038, 69), +(35, 1039, 65), +(35, 1040, 66), +(35, 1041, 76), +(35, 1042, 92), +(35, 1043, 94), +(35, 1044, 73), +(35, 1045, 72), +(35, 1046, 84), +(35, 1047, 69), +(35, 1048, 97), +(35, 1049, 86), +(35, 1050, 83), +(35, 1051, 84), +(35, 1052, 85), +(35, 1053, 88), +(35, 1054, 97), +(35, 1055, 75), +(35, 1056, 73), +(35, 1057, 67), +(35, 1058, 76), +(35, 1059, 79), +(35, 1060, 99), +(35, 1061, 72), +(35, 1062, 86), +(35, 1063, 73), +(35, 1064, 77), +(35, 1065, 71), +(35, 1066, 86), +(35, 1067, 74), +(35, 1068, 66), +(35, 1069, 69), +(35, 1070, 76), +(35, 1071, 97), +(35, 1072, 83), +(35, 1073, 90), +(35, 1074, 89), +(35, 1075, 67), +(35, 1076, 95), +(35, 1077, 94), +(35, 1078, 73), +(35, 1079, 66), +(35, 1080, 91), +(35, 1081, 68), +(35, 1082, 87), +(35, 1083, 70), +(35, 1084, 67), +(35, 1085, 91), +(35, 1086, 92), +(35, 1087, 97), +(35, 1088, 67), +(35, 1089, 74), +(35, 1090, 77), +(35, 1091, 98), +(35, 1092, 78), +(35, 1093, 91), +(35, 1094, 81), +(35, 1095, 88), +(35, 1096, 82), +(35, 1097, 99), +(35, 1098, 78), +(35, 1099, 72), +(35, 1100, 85), +(35, 1101, 66), +(35, 1102, 68), +(35, 1103, 92), +(35, 1104, 88), +(35, 1105, 99), +(35, 1106, 67), +(35, 1107, 90), +(35, 1108, 79), +(35, 1109, 74), +(35, 1110, 68), +(35, 1111, 81), +(35, 1112, 86), +(35, 1113, 85), +(35, 1114, 85), +(35, 1115, 98), +(35, 1116, 82), +(35, 1117, 98), +(35, 1118, 99), +(35, 1119, 68), +(35, 1120, 70), +(35, 1121, 87), +(35, 1122, 75), +(35, 1123, 94), +(35, 1124, 71), +(35, 1125, 71), +(35, 1126, 83), +(35, 1127, 83), +(35, 1128, 84), +(35, 1129, 76), +(35, 1130, 69), +(35, 1131, 69), +(35, 1132, 68), +(35, 1133, 78), +(35, 1134, 97), +(35, 1135, 77), +(35, 1136, 69), +(35, 1137, 81), +(35, 1138, 93), +(35, 1139, 67), +(35, 1140, 74), +(35, 1141, 84), +(35, 1142, 94), +(35, 1143, 92), +(35, 1144, 88), +(35, 1145, 95), +(35, 1146, 89), +(35, 1147, 76), +(35, 1148, 92), +(35, 1149, 83), +(35, 1150, 86), +(35, 1151, 76), +(35, 1152, 67), +(35, 1153, 86), +(35, 1154, 79), +(35, 1155, 90), +(35, 1156, 93), +(35, 1157, 71), +(35, 1158, 84), +(35, 1159, 97), +(35, 1160, 72), +(35, 1161, 89), +(35, 1162, 77), +(35, 1163, 66), +(35, 1164, 71), +(35, 1165, 79), +(35, 1166, 89), +(35, 1167, 79), +(35, 1168, 96), +(35, 1169, 76), +(35, 1170, 93), +(35, 1171, 81), +(35, 1172, 75), +(35, 1173, 94), +(35, 1174, 91), +(35, 1175, 80), +(35, 1176, 72), +(35, 1177, 72), +(35, 1178, 71), +(35, 1179, 67), +(35, 1180, 86), +(35, 1181, 72), +(35, 1182, 80), +(35, 1183, 65), +(35, 1184, 78), +(35, 1185, 85), +(35, 1186, 91), +(35, 1187, 89), +(35, 1188, 82), +(35, 1189, 74), +(35, 1190, 82), +(35, 1191, 76), +(35, 1192, 83), +(35, 1193, 68), +(35, 1194, 68), +(35, 1195, 89), +(35, 1196, 93), +(35, 1197, 90), +(35, 1198, 77), +(35, 1199, 74), +(35, 1200, 86), +(35, 1201, 71), +(35, 1202, 68), +(35, 1203, 93), +(35, 1204, 68), +(35, 1205, 80), +(35, 1206, 93), +(35, 1207, 77), +(35, 1208, 90), +(35, 1209, 67), +(35, 1210, 82), +(35, 1211, 83), +(35, 1212, 72), +(35, 1213, 65), +(35, 1214, 79), +(35, 1215, 89), +(35, 1216, 95), +(35, 1217, 74), +(35, 1218, 83), +(35, 1219, 71), +(35, 1220, 78), +(35, 1221, 75), +(35, 1222, 86), +(35, 1223, 91), +(35, 1224, 91), +(35, 1225, 76), +(35, 1226, 94), +(35, 1227, 85), +(35, 1228, 74), +(35, 1229, 80), +(35, 1230, 76), +(35, 1231, 71), +(35, 1232, 81), +(35, 1233, 93), +(35, 1234, 84), +(35, 1235, 96), +(35, 1236, 94), +(35, 1237, 93), +(35, 1238, 76), +(35, 1239, 99), +(35, 1240, 96), +(35, 1241, 97), +(35, 1242, 71), +(35, 1243, 70), +(35, 1244, 86), +(35, 1245, 70), +(35, 1246, 90), +(35, 1247, 77), +(35, 1248, 79), +(35, 1249, 97), +(35, 1250, 94), +(35, 1251, 96), +(35, 1252, 86), +(35, 1253, 82), +(35, 1254, 77), +(35, 1255, 85), +(35, 1256, 68), +(35, 1257, 97), +(35, 1258, 67), +(35, 1259, 77), +(35, 1260, 90), +(35, 1261, 87), +(35, 1262, 85), +(35, 1263, 95), +(35, 1264, 74), +(35, 1265, 95), +(35, 1266, 92), +(35, 1267, 96), +(35, 1268, 91), +(35, 1269, 86), +(35, 1270, 91), +(35, 1271, 83), +(35, 1272, 72), +(35, 1273, 88), +(35, 1274, 77), +(35, 1275, 66), +(35, 1276, 71), +(35, 1277, 68), +(35, 1278, 92), +(35, 1279, 85), +(35, 1280, 81), +(35, 1281, 77), +(35, 1282, 93), +(35, 1283, 84), +(35, 1284, 96), +(35, 1285, 86), +(35, 1286, 70), +(35, 1287, 99), +(35, 1288, 87), +(35, 1289, 72), +(35, 1290, 73), +(35, 1291, 93), +(35, 1292, 79), +(35, 1293, 97), +(35, 1294, 89), +(35, 1295, 73), +(35, 1296, 89), +(35, 1297, 80), +(35, 1298, 65), +(35, 1299, 96), +(35, 1300, 99), +(35, 1301, 79), +(35, 1302, 70), +(35, 1303, 99), +(35, 1304, 89), +(35, 1305, 74), +(35, 1306, 80), +(35, 1307, 94), +(35, 1308, 80), +(35, 1309, 91), +(35, 1310, 81), +(35, 1311, 90), +(35, 1312, 75), +(35, 1313, 70), +(35, 1314, 77), +(35, 1315, 70), +(35, 1316, 69), +(35, 1317, 86), +(35, 1318, 88), +(35, 1319, 68), +(35, 1320, 77), +(35, 1321, 99), +(35, 1322, 77), +(35, 1323, 86), +(35, 1324, 94), +(35, 1325, 94), +(35, 1326, 95), +(35, 1327, 72), +(35, 1328, 70), +(35, 1329, 68), +(35, 1330, 69), +(35, 1331, 76), +(35, 1332, 77), +(35, 1333, 98), +(35, 1334, 95), +(35, 1335, 89), +(35, 1336, 70), +(35, 1337, 73), +(35, 1338, 65), +(35, 1339, 72), +(35, 1340, 90), +(35, 1341, 86), +(35, 1342, 83), +(35, 1343, 78), +(35, 1344, 77), +(35, 1345, 81), +(35, 1346, 96), +(35, 1347, 77), +(35, 1348, 74), +(35, 1349, 84), +(35, 1350, 68), +(35, 1351, 82), +(35, 1352, 88), +(35, 1353, 75), +(35, 1354, 99), +(35, 1355, 81), +(35, 1356, 74), +(35, 1357, 77), +(35, 1358, 66), +(35, 1359, 91), +(35, 1360, 66), +(35, 1361, 93), +(35, 1362, 94), +(35, 1363, 65), +(35, 1364, 65), +(35, 1365, 78), +(35, 1366, 86), +(35, 1367, 67), +(35, 1368, 94), +(35, 1369, 89), +(35, 1370, 76), +(35, 1371, 77), +(35, 1372, 68), +(35, 1373, 79), +(35, 1374, 76), +(35, 1375, 82), +(35, 1376, 84), +(35, 1377, 99), +(35, 1378, 95), +(35, 1379, 88), +(35, 1380, 72), +(35, 1381, 96), +(35, 1382, 96), +(35, 1383, 70), +(35, 1384, 93), +(35, 1385, 97), +(35, 1386, 76), +(35, 1387, 95), +(35, 1388, 93), +(35, 1389, 65), +(35, 1390, 97), +(35, 1391, 83), +(35, 1392, 84), +(35, 1393, 80), +(35, 1394, 87), +(35, 1395, 88), +(35, 1396, 70), +(35, 1397, 98), +(35, 1398, 99), +(35, 1399, 91), +(35, 1400, 94), +(35, 1401, 94), +(35, 1402, 83), +(35, 1403, 98), +(35, 1404, 97), +(35, 1405, 72), +(35, 1406, 69), +(35, 1407, 82), +(35, 1408, 69), +(35, 1409, 91), +(35, 1410, 92), +(35, 1411, 80), +(35, 1412, 93), +(35, 1413, 68), +(35, 1414, 65), +(35, 1415, 71), +(35, 1416, 85), +(35, 1417, 75), +(35, 1418, 78), +(35, 1419, 66), +(35, 1420, 84), +(35, 1421, 99), +(35, 1422, 70), +(35, 1423, 93), +(35, 1424, 77), +(35, 1425, 87), +(35, 1426, 98), +(35, 1427, 70), +(35, 1428, 84), +(35, 1429, 83), +(35, 1430, 78), +(35, 1431, 69), +(35, 1432, 71), +(35, 1433, 93), +(35, 1434, 96), +(35, 1435, 68), +(35, 1436, 70), +(35, 1437, 71), +(35, 1438, 93), +(35, 1439, 91), +(35, 1440, 95), +(35, 1441, 98), +(35, 1442, 65), +(35, 1443, 91), +(35, 1444, 91), +(35, 1445, 87), +(35, 1446, 96), +(35, 1447, 75), +(35, 1448, 74), +(35, 1449, 96), +(35, 1450, 91), +(35, 1451, 90), +(35, 1452, 98), +(35, 1453, 81), +(35, 1454, 89), +(35, 1455, 70), +(35, 1456, 88), +(35, 1457, 91), +(35, 1458, 70), +(35, 1459, 87), +(35, 1460, 92), +(35, 1461, 69), +(35, 1462, 75), +(35, 1463, 66), +(35, 1464, 97), +(35, 1465, 92), +(35, 1466, 85), +(35, 1467, 92), +(35, 1468, 84), +(35, 1469, 99), +(35, 1470, 68), +(35, 1471, 90), +(35, 1472, 65), +(35, 1473, 68), +(35, 1474, 78), +(35, 1475, 93), +(35, 1476, 69), +(35, 1477, 91), +(35, 1478, 94), +(35, 1479, 72), +(35, 1480, 65), +(35, 1481, 88), +(35, 1482, 86), +(35, 1483, 96), +(35, 1484, 89), +(35, 1485, 93), +(35, 1486, 89), +(35, 1487, 90), +(35, 1488, 74), +(35, 1489, 86), +(35, 1490, 80), +(35, 1491, 95), +(35, 1492, 68), +(35, 1493, 78), +(35, 1494, 67), +(35, 1495, 70), +(35, 1496, 94), +(35, 1497, 87), +(35, 1498, 68), +(35, 1499, 99), +(35, 1500, 97), +(35, 1501, 76), +(35, 1502, 75), +(35, 1503, 75), +(35, 1504, 79), +(35, 1505, 95), +(35, 1506, 66), +(35, 1507, 79), +(35, 1508, 96), +(35, 1509, 78), +(35, 1510, 75), +(35, 1511, 82), +(35, 1512, 70), +(35, 1513, 94), +(35, 1514, 91), +(35, 1515, 78), +(35, 1516, 77), +(35, 1517, 66), +(35, 1518, 88), +(35, 1519, 65), +(35, 1520, 68), +(35, 1521, 93), +(35, 1522, 86), +(35, 1523, 79), +(35, 1524, 69), +(35, 1525, 88), +(35, 1526, 65), +(35, 1527, 79), +(35, 1528, 68), +(35, 1529, 66), +(35, 1530, 97), +(35, 1531, 79), +(35, 1532, 77), +(35, 1533, 81), +(35, 1534, 94), +(35, 1535, 78), +(35, 1536, 69), +(35, 1537, 97), +(35, 1538, 77), +(35, 1539, 72), +(35, 1540, 82), +(35, 1541, 83), +(35, 1542, 84), +(35, 1543, 68), +(35, 1544, 81), +(35, 1545, 84), +(35, 1546, 92), +(35, 1547, 81), +(35, 1548, 93), +(35, 1549, 88), +(35, 1550, 98), +(35, 1551, 80), +(35, 1552, 77), +(35, 1553, 79), +(35, 1554, 73), +(35, 1555, 84), +(35, 1556, 71), +(35, 1557, 67), +(35, 1558, 68), +(35, 1559, 93), +(35, 1560, 95), +(35, 1561, 79), +(35, 1562, 65), +(35, 1563, 93), +(35, 1564, 77), +(35, 1565, 84), +(35, 1566, 76), +(35, 1567, 98), +(35, 1568, 86), +(35, 1569, 96), +(35, 1570, 83), +(35, 1571, 74), +(35, 1572, 73), +(35, 1573, 92), +(35, 1574, 88), +(35, 1575, 75), +(35, 1576, 66), +(35, 1577, 77), +(35, 1578, 90), +(35, 1579, 98), +(35, 1580, 78), +(35, 1581, 65), +(35, 1582, 82), +(35, 1583, 70), +(35, 1584, 80), +(35, 1585, 87), +(35, 1586, 87), +(35, 1587, 69), +(35, 2047, 74), +(35, 2048, 86), +(35, 2049, 76), +(35, 2050, 98), +(35, 2051, 81), +(35, 2052, 87), +(35, 2053, 77), +(35, 2054, 73), +(35, 2055, 86), +(35, 2056, 96), +(35, 2057, 84), +(35, 2058, 70), +(35, 2059, 95), +(35, 2060, 93), +(35, 2061, 85), +(35, 2062, 90), +(35, 2063, 66), +(35, 2064, 70), +(35, 2065, 82), +(35, 2066, 72), +(35, 2067, 88), +(35, 2068, 72), +(35, 2069, 99), +(35, 2070, 89), +(35, 2071, 66), +(35, 2072, 84), +(35, 2073, 78), +(35, 2074, 97), +(35, 2075, 92), +(35, 2076, 91), +(35, 2077, 90), +(35, 2078, 87), +(35, 2079, 86), +(35, 2080, 92), +(35, 2081, 81), +(35, 2082, 72), +(35, 2083, 95), +(35, 2084, 77), +(35, 2085, 88), +(35, 2086, 68), +(35, 2087, 91), +(35, 2088, 69), +(35, 2089, 78), +(35, 2090, 65), +(35, 2091, 80), +(35, 2092, 68), +(35, 2093, 79), +(35, 2094, 88), +(35, 2095, 69), +(35, 2096, 77), +(35, 2097, 99), +(35, 2098, 75), +(35, 2099, 75), +(35, 2100, 98), +(35, 2101, 98), +(35, 2102, 97), +(35, 2103, 66), +(35, 2104, 91), +(35, 2105, 76), +(35, 2106, 73), +(35, 2107, 65), +(35, 2108, 84), +(35, 2109, 66), +(35, 2110, 86), +(35, 2111, 84), +(35, 2112, 95), +(35, 2113, 65), +(35, 2114, 93), +(35, 2115, 70), +(35, 2116, 69), +(35, 2117, 92), +(35, 2118, 93), +(35, 2119, 96), +(35, 2120, 98), +(35, 2121, 96), +(35, 2122, 83), +(35, 2123, 82), +(35, 2124, 71), +(35, 2125, 97), +(35, 2126, 74), +(35, 2127, 82), +(35, 2128, 80), +(35, 2129, 79), +(35, 2130, 95), +(35, 2131, 86), +(35, 2132, 99), +(35, 2133, 73), +(35, 2134, 92), +(35, 2135, 87), +(35, 2136, 87), +(35, 2137, 75), +(35, 2138, 94), +(35, 2139, 90), +(35, 2140, 80), +(35, 2141, 95), +(35, 2142, 94), +(35, 2143, 84), +(35, 2144, 92), +(35, 2145, 98), +(35, 2146, 99), +(35, 2147, 76), +(35, 2148, 87), +(35, 2149, 85), +(35, 2150, 95), +(35, 2151, 88), +(35, 2152, 96), +(35, 2153, 95), +(35, 2154, 80), +(35, 2155, 82), +(35, 2156, 98), +(35, 2157, 92), +(35, 2158, 65), +(35, 2159, 98), +(35, 2160, 94), +(35, 2161, 83), +(35, 2162, 66), +(35, 2163, 71), +(35, 2164, 80), +(35, 2165, 65), +(35, 2166, 85), +(35, 2167, 91), +(35, 2168, 98), +(35, 2169, 74), +(35, 2170, 94), +(35, 2171, 84), +(35, 2172, 80), +(35, 2173, 84), +(35, 2174, 96), +(35, 2175, 83), +(35, 2176, 86), +(35, 2177, 82), +(35, 2178, 99), +(35, 2179, 79), +(35, 2180, 69), +(35, 2181, 83), +(35, 2182, 67), +(35, 2183, 79), +(35, 2184, 81), +(35, 2185, 78), +(35, 2186, 76), +(35, 2187, 76), +(35, 2188, 81), +(35, 2189, 98), +(35, 2190, 92), +(35, 2191, 82), +(35, 2192, 79), +(35, 2193, 66), +(35, 2194, 82), +(35, 2195, 98), +(35, 2196, 70), +(35, 2197, 80), +(35, 2198, 66), +(35, 2199, 97), +(35, 2200, 97), +(35, 2201, 89), +(35, 2202, 90), +(35, 2203, 70), +(35, 2204, 82), +(35, 2205, 82), +(35, 2206, 85), +(35, 2207, 81), +(35, 2208, 68), +(35, 2209, 69), +(35, 2210, 91), +(35, 2211, 89), +(35, 2212, 81), +(35, 2213, 73), +(35, 2214, 82), +(35, 2215, 89), +(35, 2216, 99), +(35, 2217, 75), +(35, 2218, 67), +(35, 2219, 77), +(35, 2220, 87), +(35, 2221, 87), +(35, 2222, 75), +(35, 2223, 90), +(35, 2224, 88), +(35, 2225, 73), +(35, 2226, 71), +(35, 2227, 67), +(35, 2228, 74), +(35, 2229, 84), +(35, 2230, 70), +(35, 2231, 86), +(35, 2232, 83), +(35, 2233, 80), +(35, 2234, 92), +(35, 2235, 97), +(35, 2236, 66), +(35, 2237, 80), +(35, 2238, 87), +(35, 2239, 80), +(35, 2240, 85), +(35, 2241, 78), +(35, 2242, 87), +(35, 2243, 67), +(35, 2244, 93), +(35, 2245, 84), +(35, 2246, 69), +(35, 2247, 92), +(35, 2248, 89), +(35, 2249, 74), +(35, 2250, 88), +(35, 2251, 95), +(35, 2252, 94), +(35, 2253, 87), +(35, 2254, 75), +(35, 2255, 90), +(35, 2256, 88), +(35, 2257, 78), +(35, 2258, 87), +(35, 2259, 70), +(35, 2260, 78), +(35, 2261, 90), +(35, 2262, 91), +(35, 2263, 84), +(35, 2264, 82), +(35, 2265, 96), +(35, 2266, 67), +(35, 2267, 88), +(35, 2268, 81), +(35, 2269, 77), +(35, 2270, 87), +(35, 2271, 78), +(35, 2272, 93), +(35, 2273, 81), +(35, 2274, 98), +(35, 2275, 83), +(35, 2276, 94), +(35, 2277, 85), +(35, 2278, 84), +(35, 2279, 92), +(35, 2280, 90), +(35, 2281, 74), +(35, 2282, 88), +(35, 2283, 84), +(35, 2284, 83), +(35, 2285, 77), +(35, 2286, 73), +(35, 2287, 83), +(35, 2288, 65), +(35, 2289, 65), +(35, 2290, 72), +(35, 2291, 70), +(35, 2292, 73), +(35, 2293, 78), +(35, 2294, 82), +(35, 2295, 96), +(35, 2296, 82), +(35, 2297, 66), +(35, 2298, 95), +(35, 2299, 86), +(35, 2300, 67), +(35, 2301, 84), +(35, 2302, 70), +(35, 2303, 83), +(35, 2304, 67), +(35, 2305, 94), +(35, 2306, 90), +(35, 2307, 94), +(35, 2308, 90), +(35, 2309, 76), +(35, 2310, 78), +(35, 2311, 67), +(35, 2312, 95), +(35, 2313, 99), +(35, 2314, 74), +(35, 2315, 93), +(35, 2316, 90), +(35, 2317, 91), +(35, 2318, 95), +(35, 2319, 66), +(35, 2320, 68), +(35, 2321, 92), +(35, 2322, 83), +(35, 2323, 71), +(35, 2324, 82), +(35, 2325, 93), +(35, 2326, 76), +(35, 2327, 70), +(35, 2328, 74), +(35, 2329, 65), +(35, 2330, 87), +(35, 2331, 88), +(35, 2332, 75), +(35, 2333, 85), +(35, 2334, 87), +(35, 2335, 86), +(35, 2336, 65), +(35, 2337, 74), +(35, 2338, 73), +(35, 2339, 88), +(35, 2340, 76), +(35, 2341, 86), +(35, 2342, 93), +(35, 2343, 91), +(35, 2344, 98), +(35, 2345, 69), +(35, 2346, 89), +(35, 2347, 72), +(35, 2348, 82), +(35, 2349, 75), +(35, 2350, 78), +(35, 2351, 80), +(35, 2352, 79), +(35, 2353, 69), +(35, 2354, 92), +(35, 2355, 73), +(35, 2356, 84), +(35, 2357, 71), +(35, 2358, 87), +(35, 2359, 96), +(35, 2360, 68), +(35, 2361, 89), +(35, 2362, 91), +(35, 2363, 67), +(35, 2364, 71), +(35, 2365, 79), +(35, 2366, 78), +(35, 2367, 78), +(35, 2368, 76), +(35, 2369, 87), +(35, 2370, 91), +(35, 2371, 90), +(35, 2372, 87), +(35, 2373, 87), +(35, 2374, 93), +(35, 2375, 95), +(35, 2376, 78), +(35, 2377, 84), +(35, 2378, 75), +(35, 2379, 81), +(35, 2380, 85), +(35, 2381, 99), +(35, 2382, 83), +(35, 2383, 98), +(35, 2384, 69), +(35, 2385, 71), +(35, 2386, 86), +(35, 2387, 98), +(35, 2388, 99), +(35, 2389, 74), +(35, 2390, 74), +(35, 2391, 70), +(35, 2392, 88), +(35, 2393, 89), +(35, 2394, 97), +(35, 2395, 93), +(35, 2396, 94), +(35, 2397, 92), +(35, 2398, 97), +(35, 2399, 78), +(35, 2400, 67), +(35, 2401, 90), +(35, 2402, 90), +(35, 2403, 71), +(35, 2404, 77), +(35, 2405, 95), +(35, 2406, 87), +(35, 2407, 97), +(35, 2408, 79), +(35, 2409, 79), +(35, 2410, 97), +(35, 2411, 90), +(35, 2412, 95), +(35, 2413, 67), +(35, 2414, 84), +(35, 2415, 99), +(35, 2416, 95), +(35, 2417, 99), +(35, 2418, 75), +(35, 2419, 71), +(35, 2420, 79), +(35, 2421, 70), +(35, 2422, 71), +(35, 2423, 86), +(35, 2424, 96), +(35, 2425, 85), +(35, 2426, 90), +(35, 2427, 73), +(35, 2428, 69), +(35, 2429, 83), +(35, 2430, 80), +(35, 2431, 87), +(35, 2432, 89), +(35, 2433, 96), +(35, 2434, 88), +(35, 2435, 87), +(35, 2436, 91), +(35, 2437, 96), +(35, 2438, 95), +(35, 2439, 78), +(35, 2440, 67), +(35, 2441, 95), +(35, 2442, 86), +(35, 2443, 68), +(35, 2444, 88), +(35, 2445, 88), +(35, 2446, 76), +(35, 2447, 79), +(35, 2448, 89), +(35, 2449, 83), +(35, 2450, 97), +(35, 2451, 87), +(35, 2452, 76), +(35, 2453, 72), +(35, 2454, 83), +(35, 2455, 93), +(35, 2456, 73), +(35, 2457, 68), +(35, 2458, 85), +(35, 2459, 94), +(35, 2460, 84), +(35, 2461, 90), +(35, 2462, 89), +(35, 2463, 90), +(35, 2464, 82), +(35, 2465, 80), +(35, 2466, 78), +(35, 2467, 65), +(35, 2468, 73), +(35, 2469, 88), +(35, 2470, 94), +(35, 2471, 90), +(35, 2472, 72), +(35, 2473, 66), +(35, 2474, 88), +(35, 2475, 93), +(35, 2476, 86), +(35, 2477, 77), +(35, 2478, 84), +(35, 2479, 95), +(35, 2480, 65), +(35, 2481, 67), +(35, 2482, 66), +(35, 2483, 71), +(35, 2484, 93), +(35, 2485, 65), +(35, 2486, 93), +(35, 2487, 76), +(35, 2488, 77), +(35, 2489, 94), +(35, 2490, 71), +(35, 2491, 80), +(35, 2492, 97), +(35, 2493, 90), +(35, 2494, 93), +(35, 2495, 74), +(35, 2496, 82), +(35, 2497, 72), +(35, 2498, 86), +(35, 2499, 71), +(35, 2500, 68), +(35, 2501, 70), +(35, 2502, 92), +(35, 2503, 66), +(35, 2504, 80), +(35, 2505, 81), +(35, 2506, 88), +(35, 2507, 82), +(35, 2508, 66), +(35, 2509, 71), +(35, 2510, 82), +(35, 2511, 74), +(35, 2512, 82), +(35, 2513, 90), +(35, 2514, 67), +(35, 2515, 66), +(35, 2516, 77), +(35, 2517, 80), +(35, 2518, 65), +(35, 2519, 65), +(35, 2520, 83), +(35, 2521, 98), +(35, 2522, 84), +(35, 2523, 65), +(35, 2524, 85), +(35, 2525, 65), +(35, 2526, 95), +(35, 2527, 85), +(35, 2528, 65), +(35, 2529, 67), +(35, 2530, 74), +(35, 2531, 98), +(35, 2532, 78), +(35, 2533, 90), +(35, 2534, 91), +(35, 2535, 65), +(35, 2536, 89), +(35, 2537, 97), +(35, 2538, 94), +(35, 2539, 67), +(35, 2540, 74), +(35, 2541, 84), +(35, 2542, 90), +(35, 2543, 94), +(35, 2544, 66), +(35, 2545, 69), +(35, 2546, 65), +(35, 2547, 73), +(35, 2548, 65), +(35, 2549, 74), +(35, 2550, 82), +(35, 2551, 77), +(35, 2552, 79), +(35, 2553, 94), +(35, 2554, 76), +(35, 2555, 98), +(35, 2556, 76), +(35, 2557, 75), +(35, 2558, 94), +(35, 2559, 71), +(35, 2560, 97), +(35, 2561, 73), +(35, 2562, 77), +(35, 2563, 71), +(35, 2564, 67), +(35, 2565, 92), +(35, 2566, 91), +(35, 2567, 67), +(35, 2568, 91), +(35, 2569, 67), +(35, 2570, 71), +(35, 2571, 88), +(35, 2572, 80), +(35, 2573, 92), +(35, 2574, 86), +(35, 2575, 84), +(35, 2576, 97), +(35, 2577, 94), +(35, 2578, 69), +(35, 2579, 86), +(35, 2580, 68), +(35, 2581, 98), +(35, 2582, 86), +(35, 2583, 86), +(35, 2584, 75), +(35, 2585, 74), +(35, 2586, 68), +(35, 2587, 88), +(35, 2588, 87), +(35, 2589, 88), +(35, 2590, 74), +(35, 2591, 70), +(35, 2592, 79), +(35, 2593, 67), +(35, 2594, 78), +(35, 2595, 80), +(35, 2596, 86), +(35, 2597, 68), +(35, 2598, 67), +(35, 2599, 94), +(35, 2600, 91), +(35, 2601, 65), +(35, 2602, 77), +(35, 2603, 78), +(35, 2604, 95), +(35, 2605, 66), +(35, 2606, 82), +(35, 2607, 78), +(35, 2608, 75), +(35, 2609, 69), +(35, 2610, 91), +(36, 1, 67), +(36, 2, 79), +(36, 3, 87), +(36, 4, 66), +(36, 5, 71), +(36, 6, 86), +(36, 7, 99), +(36, 8, 89), +(36, 9, 75), +(36, 10, 74), +(36, 11, 67), +(36, 12, 73), +(36, 13, 67), +(36, 14, 70), +(36, 15, 90), +(36, 16, 91), +(36, 17, 81), +(36, 18, 69), +(36, 19, 70), +(36, 20, 84), +(36, 21, 98), +(36, 22, 77), +(36, 23, 71), +(36, 24, 72), +(36, 25, 76), +(36, 26, 82), +(36, 27, 89), +(36, 28, 76), +(36, 29, 99), +(36, 30, 90), +(36, 31, 88), +(36, 32, 70), +(36, 33, 83), +(36, 34, 74), +(36, 35, 79), +(36, 36, 94), +(36, 37, 93), +(36, 38, 82), +(36, 39, 72), +(36, 40, 99), +(36, 41, 74), +(36, 42, 96), +(36, 43, 76), +(36, 44, 89), +(36, 45, 75), +(36, 46, 74), +(36, 47, 69), +(36, 48, 76), +(36, 49, 95), +(36, 50, 79), +(36, 51, 88), +(36, 52, 67), +(36, 53, 79), +(36, 54, 68), +(36, 55, 82), +(36, 56, 70), +(36, 57, 69), +(36, 58, 67), +(36, 59, 95), +(36, 60, 97), +(36, 61, 87), +(36, 62, 89), +(36, 63, 78), +(36, 64, 81), +(36, 65, 98), +(36, 66, 66), +(36, 67, 80), +(36, 68, 83), +(36, 69, 85), +(36, 70, 92), +(36, 71, 96), +(36, 72, 92), +(36, 73, 74), +(36, 74, 78), +(36, 75, 99), +(36, 76, 92), +(36, 77, 69), +(36, 78, 91), +(36, 79, 87), +(36, 80, 94), +(36, 81, 88), +(36, 82, 70), +(36, 83, 94), +(36, 84, 67), +(36, 85, 82), +(36, 86, 68), +(36, 87, 66), +(36, 88, 89), +(36, 89, 92), +(36, 90, 68), +(36, 91, 93), +(36, 92, 79), +(36, 93, 86), +(36, 94, 82), +(36, 95, 88), +(36, 96, 86), +(36, 97, 84), +(36, 98, 85), +(36, 99, 94), +(36, 100, 91), +(36, 101, 86), +(36, 102, 70), +(36, 103, 70), +(36, 104, 97), +(36, 105, 79), +(36, 106, 94), +(36, 107, 65), +(36, 108, 91), +(36, 109, 81), +(36, 110, 92), +(36, 111, 71), +(36, 112, 98), +(36, 113, 99), +(36, 114, 69), +(36, 115, 97), +(36, 116, 74), +(36, 117, 87), +(36, 118, 88), +(36, 119, 70), +(36, 120, 98), +(36, 121, 84), +(36, 122, 83), +(36, 123, 72), +(36, 124, 97), +(36, 125, 96), +(36, 126, 78), +(36, 127, 94), +(36, 128, 90), +(36, 129, 77), +(36, 130, 80), +(36, 131, 65), +(36, 132, 88), +(36, 133, 76), +(36, 134, 90), +(36, 135, 74), +(36, 136, 82), +(36, 137, 76), +(36, 138, 79), +(36, 139, 80), +(36, 140, 95), +(36, 141, 73), +(36, 142, 83), +(36, 143, 70), +(36, 144, 86), +(36, 145, 87), +(36, 146, 76), +(36, 147, 98), +(36, 148, 91), +(36, 149, 92), +(36, 150, 88), +(36, 151, 80), +(36, 152, 79), +(36, 153, 87), +(36, 154, 76), +(36, 155, 97), +(36, 156, 98), +(36, 157, 78), +(36, 158, 91), +(36, 159, 83), +(36, 160, 72), +(36, 161, 99), +(36, 162, 90), +(36, 163, 86), +(36, 164, 92), +(36, 165, 90), +(36, 166, 83), +(36, 167, 66), +(36, 168, 95), +(36, 169, 97), +(36, 170, 83), +(36, 171, 83), +(36, 172, 89), +(36, 173, 96), +(36, 174, 86), +(36, 175, 88), +(36, 176, 67), +(36, 177, 79), +(36, 178, 74), +(36, 179, 80), +(36, 180, 87), +(36, 181, 88), +(36, 182, 80), +(36, 183, 95), +(36, 184, 71), +(36, 185, 76), +(36, 186, 92), +(36, 187, 93), +(36, 188, 65), +(36, 189, 99), +(36, 190, 95), +(36, 191, 82), +(36, 192, 66), +(36, 193, 87), +(36, 194, 74), +(36, 195, 69), +(36, 196, 68), +(36, 197, 88), +(36, 198, 69), +(36, 199, 74), +(36, 200, 95), +(36, 201, 86), +(36, 202, 74), +(36, 203, 87), +(36, 204, 69), +(36, 205, 94), +(36, 206, 81), +(36, 207, 68), +(36, 208, 69), +(36, 209, 97), +(36, 210, 84), +(36, 211, 72), +(36, 212, 83), +(36, 213, 80), +(36, 214, 84), +(36, 215, 98), +(36, 216, 89), +(36, 217, 90), +(36, 218, 81), +(36, 219, 86), +(36, 220, 94), +(36, 221, 69), +(36, 222, 85), +(36, 223, 92), +(36, 224, 65), +(36, 225, 79), +(36, 226, 72), +(36, 227, 91), +(36, 228, 83), +(36, 229, 88), +(36, 230, 67), +(36, 231, 66), +(36, 232, 90), +(36, 233, 87), +(36, 234, 65), +(36, 235, 77), +(36, 236, 74), +(36, 237, 92), +(36, 238, 94), +(36, 239, 94), +(36, 240, 78), +(36, 241, 76), +(36, 242, 70), +(36, 243, 95), +(36, 244, 72), +(36, 245, 70), +(36, 246, 67), +(36, 247, 72), +(36, 248, 80), +(36, 249, 97), +(36, 250, 91), +(36, 251, 78), +(36, 252, 68), +(36, 253, 99), +(36, 254, 92), +(36, 255, 73), +(36, 256, 70), +(36, 257, 97), +(36, 258, 73), +(36, 259, 91), +(36, 260, 70), +(36, 261, 96), +(36, 262, 92), +(36, 263, 88), +(36, 264, 76), +(36, 265, 81), +(36, 266, 78), +(36, 267, 91), +(36, 268, 93), +(36, 269, 66), +(36, 270, 77), +(36, 271, 73), +(36, 272, 69), +(36, 273, 70), +(36, 274, 74), +(36, 275, 79), +(36, 276, 75), +(36, 277, 69), +(36, 278, 84), +(36, 279, 69), +(36, 280, 94), +(36, 281, 86), +(36, 282, 99), +(36, 283, 74), +(36, 284, 96), +(36, 285, 71), +(36, 286, 93), +(36, 287, 88), +(36, 288, 77), +(36, 289, 76), +(36, 290, 88), +(36, 291, 99), +(36, 292, 82), +(36, 293, 73), +(36, 294, 78), +(36, 295, 79), +(36, 296, 73), +(36, 297, 94), +(36, 298, 73), +(36, 299, 79), +(36, 300, 70), +(36, 301, 84), +(36, 302, 83), +(36, 303, 99), +(36, 304, 77), +(36, 305, 79), +(36, 306, 94), +(36, 307, 82), +(36, 308, 82), +(36, 309, 97), +(36, 310, 99), +(36, 311, 94), +(36, 312, 95), +(36, 313, 75), +(36, 314, 65), +(36, 315, 97), +(36, 316, 79), +(36, 317, 73), +(36, 318, 91), +(36, 319, 74), +(36, 320, 98), +(36, 321, 83), +(36, 322, 90), +(36, 323, 77), +(36, 324, 72), +(36, 325, 81), +(36, 326, 98), +(36, 327, 69), +(36, 328, 67), +(36, 329, 88), +(36, 330, 99), +(36, 331, 78), +(36, 332, 77), +(36, 333, 97), +(36, 334, 79), +(36, 335, 95), +(36, 336, 81), +(36, 337, 65), +(36, 338, 88), +(36, 339, 69), +(36, 340, 93), +(36, 341, 79), +(36, 342, 71), +(36, 343, 65), +(36, 344, 87), +(36, 345, 79), +(36, 346, 84), +(36, 347, 83), +(36, 348, 87), +(36, 349, 95), +(36, 350, 66), +(36, 351, 92), +(36, 352, 95), +(36, 353, 99), +(36, 354, 97), +(36, 355, 90), +(36, 356, 93), +(36, 357, 80), +(36, 358, 97), +(36, 359, 94), +(36, 360, 86), +(36, 361, 86), +(36, 362, 91), +(36, 363, 81), +(36, 364, 93), +(36, 365, 72), +(36, 366, 94), +(36, 367, 92), +(36, 368, 65), +(36, 369, 90), +(36, 370, 77), +(36, 371, 77), +(36, 372, 86), +(36, 373, 80), +(36, 374, 80), +(36, 375, 86), +(36, 376, 66), +(36, 377, 68), +(36, 378, 76), +(36, 379, 71), +(36, 380, 88), +(36, 381, 70), +(36, 382, 69), +(36, 383, 84), +(36, 384, 87), +(36, 385, 91), +(36, 386, 94), +(36, 387, 83), +(36, 388, 92), +(36, 389, 78), +(36, 390, 95), +(36, 391, 92), +(36, 392, 82), +(36, 393, 85), +(36, 394, 97), +(36, 395, 76), +(36, 396, 91), +(36, 397, 84), +(36, 398, 77), +(36, 399, 94), +(36, 400, 97), +(36, 401, 94), +(36, 402, 81), +(36, 403, 82), +(36, 404, 72), +(36, 405, 99), +(36, 406, 67), +(36, 407, 71), +(36, 408, 71), +(36, 409, 85), +(36, 410, 93), +(36, 411, 90), +(36, 412, 77), +(36, 413, 68), +(36, 414, 76), +(36, 415, 88), +(36, 416, 83), +(36, 417, 85), +(36, 418, 91), +(36, 419, 94), +(36, 420, 92), +(36, 421, 97), +(36, 422, 92), +(36, 423, 85), +(36, 424, 85), +(36, 425, 94), +(36, 426, 96), +(36, 427, 98), +(36, 428, 65), +(36, 429, 71), +(36, 430, 81), +(36, 431, 78), +(36, 432, 74), +(36, 433, 69), +(36, 434, 65), +(36, 435, 72), +(36, 436, 88), +(36, 437, 83), +(36, 438, 75), +(36, 439, 90), +(36, 440, 72), +(36, 441, 86), +(36, 442, 71), +(36, 443, 85), +(36, 444, 98), +(36, 445, 67), +(36, 446, 87), +(36, 447, 67), +(36, 448, 78), +(36, 449, 71), +(36, 450, 87), +(36, 451, 70), +(36, 452, 68), +(36, 453, 73), +(36, 454, 85), +(36, 455, 85), +(36, 456, 85), +(36, 457, 76), +(36, 458, 76), +(36, 459, 95), +(36, 460, 95), +(36, 461, 73), +(36, 462, 90), +(36, 463, 93), +(36, 464, 86), +(36, 465, 74), +(36, 466, 99), +(36, 467, 76), +(36, 468, 93), +(36, 469, 88), +(36, 470, 85), +(36, 471, 66), +(36, 472, 71), +(36, 473, 81), +(36, 474, 79), +(36, 475, 81), +(36, 476, 88), +(36, 477, 95), +(36, 478, 73), +(36, 479, 69), +(36, 480, 69), +(36, 481, 99), +(36, 482, 97), +(36, 483, 71), +(36, 484, 89), +(36, 485, 95), +(36, 486, 96), +(36, 487, 85), +(36, 488, 87), +(36, 489, 78), +(36, 490, 86), +(36, 491, 91), +(36, 492, 78), +(36, 493, 82), +(36, 494, 74), +(36, 495, 68), +(36, 496, 87), +(36, 497, 83), +(36, 498, 99), +(36, 499, 77), +(36, 500, 72), +(36, 501, 91), +(36, 502, 72), +(36, 503, 79), +(36, 504, 69), +(36, 505, 78), +(36, 506, 86), +(36, 507, 98), +(36, 508, 88), +(36, 509, 93), +(36, 510, 95), +(36, 511, 77), +(36, 512, 75), +(36, 513, 92), +(36, 514, 84), +(36, 515, 92), +(36, 516, 74), +(36, 517, 89), +(36, 518, 90), +(36, 519, 79), +(36, 520, 94), +(36, 521, 94), +(36, 522, 66), +(36, 523, 71), +(36, 524, 92), +(36, 525, 93), +(36, 526, 85), +(36, 527, 87), +(36, 528, 88), +(36, 529, 74), +(36, 530, 99), +(36, 531, 96), +(36, 532, 89), +(36, 533, 86), +(36, 534, 70), +(36, 535, 68), +(36, 536, 91), +(36, 537, 97), +(36, 538, 73), +(36, 539, 90), +(36, 540, 66), +(36, 541, 81), +(36, 542, 98), +(36, 543, 74), +(36, 544, 74), +(36, 545, 80), +(36, 546, 87), +(36, 547, 72), +(36, 548, 94), +(36, 549, 72), +(36, 550, 75), +(36, 551, 90), +(36, 552, 97), +(36, 553, 97), +(36, 554, 89), +(36, 555, 95), +(36, 556, 66), +(36, 557, 93), +(36, 558, 82), +(36, 559, 79), +(36, 560, 72), +(36, 561, 89), +(36, 562, 70), +(36, 563, 65), +(36, 564, 75), +(36, 1024, 71), +(36, 1025, 90), +(36, 1026, 97), +(36, 1027, 77), +(36, 1028, 87), +(36, 1029, 97), +(36, 1030, 91), +(36, 1031, 82), +(36, 1032, 92), +(36, 1033, 84), +(36, 1034, 80), +(36, 1035, 97), +(36, 1036, 96), +(36, 1037, 87), +(36, 1038, 71), +(36, 1039, 74), +(36, 1040, 76), +(36, 1041, 65), +(36, 1042, 96), +(36, 1043, 85), +(36, 1044, 90), +(36, 1045, 86), +(36, 1046, 80), +(36, 1047, 79), +(36, 1048, 82), +(36, 1049, 65), +(36, 1050, 82), +(36, 1051, 83), +(36, 1052, 85), +(36, 1053, 74), +(36, 1054, 86), +(36, 1055, 87), +(36, 1056, 83), +(36, 1057, 69), +(36, 1058, 93), +(36, 1059, 92), +(36, 1060, 99), +(36, 1061, 69), +(36, 1062, 72), +(36, 1063, 83), +(36, 1064, 76), +(36, 1065, 69), +(36, 1066, 99), +(36, 1067, 93), +(36, 1068, 76), +(36, 1069, 88), +(36, 1070, 67), +(36, 1071, 82), +(36, 1072, 78), +(36, 1073, 96), +(36, 1074, 65), +(36, 1075, 89), +(36, 1076, 66), +(36, 1077, 75), +(36, 1078, 98), +(36, 1079, 68), +(36, 1080, 96), +(36, 1081, 80), +(36, 1082, 95), +(36, 1083, 72), +(36, 1084, 76), +(36, 1085, 93), +(36, 1086, 97), +(36, 1087, 65), +(36, 1088, 72), +(36, 1089, 82), +(36, 1090, 81), +(36, 1091, 65), +(36, 1092, 82), +(36, 1093, 84), +(36, 1094, 90), +(36, 1095, 97), +(36, 1096, 98), +(36, 1097, 85), +(36, 1098, 77), +(36, 1099, 86), +(36, 1100, 74), +(36, 1101, 76), +(36, 1102, 65), +(36, 1103, 82), +(36, 1104, 75), +(36, 1105, 86), +(36, 1106, 67), +(36, 1107, 86), +(36, 1108, 78), +(36, 1109, 92), +(36, 1110, 67), +(36, 1111, 92); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(36, 1112, 68), +(36, 1113, 67), +(36, 1114, 89), +(36, 1115, 99), +(36, 1116, 69), +(36, 1117, 90), +(36, 1118, 82), +(36, 1119, 73), +(36, 1120, 82), +(36, 1121, 81), +(36, 1122, 94), +(36, 1123, 73), +(36, 1124, 84), +(36, 1125, 78), +(36, 1126, 91), +(36, 1127, 66), +(36, 1128, 80), +(36, 1129, 68), +(36, 1130, 80), +(36, 1131, 84), +(36, 1132, 81), +(36, 1133, 72), +(36, 1134, 77), +(36, 1135, 75), +(36, 1136, 65), +(36, 1137, 87), +(36, 1138, 97), +(36, 1139, 83), +(36, 1140, 71), +(36, 1141, 68), +(36, 1142, 66), +(36, 1143, 68), +(36, 1144, 97), +(36, 1145, 75), +(36, 1146, 67), +(36, 1147, 84), +(36, 1148, 90), +(36, 1149, 78), +(36, 1150, 95), +(36, 1151, 81), +(36, 1152, 87), +(36, 1153, 74), +(36, 1154, 78), +(36, 1155, 87), +(36, 1156, 71), +(36, 1157, 66), +(36, 1158, 85), +(36, 1159, 75), +(36, 1160, 66), +(36, 1161, 68), +(36, 1162, 77), +(36, 1163, 68), +(36, 1164, 87), +(36, 1165, 94), +(36, 1166, 98), +(36, 1167, 66), +(36, 1168, 74), +(36, 1169, 75), +(36, 1170, 84), +(36, 1171, 81), +(36, 1172, 88), +(36, 1173, 89), +(36, 1174, 93), +(36, 1175, 89), +(36, 1176, 76), +(36, 1177, 77), +(36, 1178, 71), +(36, 1179, 82), +(36, 1180, 77), +(36, 1181, 99), +(36, 1182, 71), +(36, 1183, 83), +(36, 1184, 70), +(36, 1185, 80), +(36, 1186, 92), +(36, 1187, 71), +(36, 1188, 67), +(36, 1189, 95), +(36, 1190, 80), +(36, 1191, 92), +(36, 1192, 66), +(36, 1193, 74), +(36, 1194, 79), +(36, 1195, 77), +(36, 1196, 67), +(36, 1197, 97), +(36, 1198, 85), +(36, 1199, 92), +(36, 1200, 78), +(36, 1201, 85), +(36, 1202, 82), +(36, 1203, 68), +(36, 1204, 88), +(36, 1205, 88), +(36, 1206, 91), +(36, 1207, 98), +(36, 1208, 84), +(36, 1209, 92), +(36, 1210, 82), +(36, 1211, 82), +(36, 1212, 89), +(36, 1213, 65), +(36, 1214, 66), +(36, 1215, 75), +(36, 1216, 71), +(36, 1217, 76), +(36, 1218, 92), +(36, 1219, 72), +(36, 1220, 94), +(36, 1221, 92), +(36, 1222, 94), +(36, 1223, 71), +(36, 1224, 72), +(36, 1225, 90), +(36, 1226, 94), +(36, 1227, 66), +(36, 1228, 85), +(36, 1229, 65), +(36, 1230, 90), +(36, 1231, 73), +(36, 1232, 78), +(36, 1233, 69), +(36, 1234, 86), +(36, 1235, 95), +(36, 1236, 78), +(36, 1237, 84), +(36, 1238, 81), +(36, 1239, 70), +(36, 1240, 74), +(36, 1241, 70), +(36, 1242, 82), +(36, 1243, 83), +(36, 1244, 79), +(36, 1245, 74), +(36, 1246, 80), +(36, 1247, 77), +(36, 1248, 74), +(36, 1249, 77), +(36, 1250, 74), +(36, 1251, 94), +(36, 1252, 98), +(36, 1253, 91), +(36, 1254, 95), +(36, 1255, 73), +(36, 1256, 98), +(36, 1257, 98), +(36, 1258, 91), +(36, 1259, 88), +(36, 1260, 79), +(36, 1261, 82), +(36, 1262, 91), +(36, 1263, 71), +(36, 1264, 71), +(36, 1265, 81), +(36, 1266, 93), +(36, 1267, 77), +(36, 1268, 99), +(36, 1269, 78), +(36, 1270, 87), +(36, 1271, 88), +(36, 1272, 67), +(36, 1273, 82), +(36, 1274, 83), +(36, 1275, 86), +(36, 1276, 74), +(36, 1277, 73), +(36, 1278, 83), +(36, 1279, 86), +(36, 1280, 94), +(36, 1281, 77), +(36, 1282, 82), +(36, 1283, 81), +(36, 1284, 81), +(36, 1285, 81), +(36, 1286, 73), +(36, 1287, 77), +(36, 1288, 80), +(36, 1289, 94), +(36, 1290, 76), +(36, 1291, 98), +(36, 1292, 79), +(36, 1293, 84), +(36, 1294, 78), +(36, 1295, 86), +(36, 1296, 97), +(36, 1297, 82), +(36, 1298, 66), +(36, 1299, 69), +(36, 1300, 93), +(36, 1301, 67), +(36, 1302, 75), +(36, 1303, 71), +(36, 1304, 96), +(36, 1305, 82), +(36, 1306, 96), +(36, 1307, 84), +(36, 1308, 75), +(36, 1309, 70), +(36, 1310, 72), +(36, 1311, 83), +(36, 1312, 98), +(36, 1313, 83), +(36, 1314, 71), +(36, 1315, 85), +(36, 1316, 69), +(36, 1317, 75), +(36, 1318, 66), +(36, 1319, 80), +(36, 1320, 81), +(36, 1321, 79), +(36, 1322, 97), +(36, 1323, 85), +(36, 1324, 99), +(36, 1325, 84), +(36, 1326, 76), +(36, 1327, 93), +(36, 1328, 68), +(36, 1329, 84), +(36, 1330, 86), +(36, 1331, 69), +(36, 1332, 97), +(36, 1333, 97), +(36, 1334, 82), +(36, 1335, 70), +(36, 1336, 97), +(36, 1337, 80), +(36, 1338, 76), +(36, 1339, 76), +(36, 1340, 77), +(36, 1341, 96), +(36, 1342, 85), +(36, 1343, 88), +(36, 1344, 85), +(36, 1345, 98), +(36, 1346, 73), +(36, 1347, 85), +(36, 1348, 73), +(36, 1349, 84), +(36, 1350, 78), +(36, 1351, 93), +(36, 1352, 89), +(36, 1353, 95), +(36, 1354, 95), +(36, 1355, 68), +(36, 1356, 85), +(36, 1357, 93), +(36, 1358, 78), +(36, 1359, 87), +(36, 1360, 97), +(36, 1361, 97), +(36, 1362, 97), +(36, 1363, 93), +(36, 1364, 74), +(36, 1365, 76), +(36, 1366, 78), +(36, 1367, 70), +(36, 1368, 84), +(36, 1369, 77), +(36, 1370, 67), +(36, 1371, 87), +(36, 1372, 81), +(36, 1373, 90), +(36, 1374, 86), +(36, 1375, 97), +(36, 1376, 93), +(36, 1377, 94), +(36, 1378, 99), +(36, 1379, 73), +(36, 1380, 85), +(36, 1381, 65), +(36, 1382, 76), +(36, 1383, 74), +(36, 1384, 91), +(36, 1385, 77), +(36, 1386, 88), +(36, 1387, 94), +(36, 1388, 76), +(36, 1389, 77), +(36, 1390, 99), +(36, 1391, 76), +(36, 1392, 78), +(36, 1393, 69), +(36, 1394, 73), +(36, 1395, 65), +(36, 1396, 70), +(36, 1397, 93), +(36, 1398, 81), +(36, 1399, 75), +(36, 1400, 94), +(36, 1401, 81), +(36, 1402, 94), +(36, 1403, 78), +(36, 1404, 93), +(36, 1405, 70), +(36, 1406, 93), +(36, 1407, 98), +(36, 1408, 92), +(36, 1409, 69), +(36, 1410, 78), +(36, 1411, 72), +(36, 1412, 88), +(36, 1413, 98), +(36, 1414, 72), +(36, 1415, 84), +(36, 1416, 75), +(36, 1417, 96), +(36, 1418, 86), +(36, 1419, 69), +(36, 1420, 88), +(36, 1421, 85), +(36, 1422, 98), +(36, 1423, 96), +(36, 1424, 84), +(36, 1425, 86), +(36, 1426, 81), +(36, 1427, 94), +(36, 1428, 85), +(36, 1429, 83), +(36, 1430, 67), +(36, 1431, 66), +(36, 1432, 93), +(36, 1433, 94), +(36, 1434, 78), +(36, 1435, 76), +(36, 1436, 71), +(36, 1437, 79), +(36, 1438, 83), +(36, 1439, 74), +(36, 1440, 97), +(36, 1441, 95), +(36, 1442, 68), +(36, 1443, 90), +(36, 1444, 85), +(36, 1445, 95), +(36, 1446, 74), +(36, 1447, 73), +(36, 1448, 76), +(36, 1449, 68), +(36, 1450, 75), +(36, 1451, 98), +(36, 1452, 71), +(36, 1453, 88), +(36, 1454, 75), +(36, 1455, 80), +(36, 1456, 83), +(36, 1457, 83), +(36, 1458, 74), +(36, 1459, 82), +(36, 1460, 77), +(36, 1461, 79), +(36, 1462, 91), +(36, 1463, 77), +(36, 1464, 70), +(36, 1465, 72), +(36, 1466, 97), +(36, 1467, 71), +(36, 1468, 83), +(36, 1469, 92), +(36, 1470, 77), +(36, 1471, 69), +(36, 1472, 87), +(36, 1473, 94), +(36, 1474, 79), +(36, 1475, 65), +(36, 1476, 81), +(36, 1477, 67), +(36, 1478, 85), +(36, 1479, 77), +(36, 1480, 94), +(36, 1481, 82), +(36, 1482, 83), +(36, 1483, 74), +(36, 1484, 82), +(36, 1485, 70), +(36, 1486, 68), +(36, 1487, 83), +(36, 1488, 81), +(36, 1489, 88), +(36, 1490, 79), +(36, 1491, 90), +(36, 1492, 83), +(36, 1493, 74), +(36, 1494, 70), +(36, 1495, 72), +(36, 1496, 70), +(36, 1497, 83), +(36, 1498, 80), +(36, 1499, 77), +(36, 1500, 76), +(36, 1501, 86), +(36, 1502, 68), +(36, 1503, 77), +(36, 1504, 79), +(36, 1505, 68), +(36, 1506, 84), +(36, 1507, 85), +(36, 1508, 78), +(36, 1509, 67), +(36, 1510, 88), +(36, 1511, 81), +(36, 1512, 71), +(36, 1513, 98), +(36, 1514, 97), +(36, 1515, 83), +(36, 1516, 76), +(36, 1517, 82), +(36, 1518, 78), +(36, 1519, 72), +(36, 1520, 82), +(36, 1521, 77), +(36, 1522, 70), +(36, 1523, 93), +(36, 1524, 84), +(36, 1525, 96), +(36, 1526, 88), +(36, 1527, 74), +(36, 1528, 77), +(36, 1529, 88), +(36, 1530, 72), +(36, 1531, 76), +(36, 1532, 67), +(36, 1533, 87), +(36, 1534, 78), +(36, 1535, 98), +(36, 1536, 92), +(36, 1537, 82), +(36, 1538, 82), +(36, 1539, 89), +(36, 1540, 67), +(36, 1541, 70), +(36, 1542, 99), +(36, 1543, 77), +(36, 1544, 87), +(36, 1545, 71), +(36, 1546, 86), +(36, 1547, 81), +(36, 1548, 82), +(36, 1549, 74), +(36, 1550, 82), +(36, 1551, 77), +(36, 1552, 67), +(36, 1553, 98), +(36, 1554, 90), +(36, 1555, 81), +(36, 1556, 75), +(36, 1557, 70), +(36, 1558, 88), +(36, 1559, 75), +(36, 1560, 84), +(36, 1561, 82), +(36, 1562, 84), +(36, 1563, 79), +(36, 1564, 79), +(36, 1565, 80), +(36, 1566, 68), +(36, 1567, 80), +(36, 1568, 93), +(36, 1569, 87), +(36, 1570, 92), +(36, 1571, 94), +(36, 1572, 66), +(36, 1573, 67), +(36, 1574, 77), +(36, 1575, 65), +(36, 1576, 88), +(36, 1577, 71), +(36, 1578, 88), +(36, 1579, 73), +(36, 1580, 82), +(36, 1581, 78), +(36, 1582, 99), +(36, 1583, 81), +(36, 1584, 85), +(36, 1585, 86), +(36, 1586, 80), +(36, 1587, 83), +(36, 2047, 68), +(36, 2048, 85), +(36, 2049, 70), +(36, 2050, 96), +(36, 2051, 96), +(36, 2052, 74), +(36, 2053, 73), +(36, 2054, 80), +(36, 2055, 69), +(36, 2056, 90), +(36, 2057, 95), +(36, 2058, 94), +(36, 2059, 85), +(36, 2060, 68), +(36, 2061, 68), +(36, 2062, 81), +(36, 2063, 65), +(36, 2064, 72), +(36, 2065, 65), +(36, 2066, 75), +(36, 2067, 99), +(36, 2068, 96), +(36, 2069, 80), +(36, 2070, 92), +(36, 2071, 87), +(36, 2072, 69), +(36, 2073, 66), +(36, 2074, 93), +(36, 2075, 76), +(36, 2076, 91), +(36, 2077, 88), +(36, 2078, 81), +(36, 2079, 78), +(36, 2080, 71), +(36, 2081, 66), +(36, 2082, 84), +(36, 2083, 92), +(36, 2084, 71), +(36, 2085, 76), +(36, 2086, 68), +(36, 2087, 69), +(36, 2088, 95), +(36, 2089, 96), +(36, 2090, 88), +(36, 2091, 97), +(36, 2092, 67), +(36, 2093, 70), +(36, 2094, 74), +(36, 2095, 68), +(36, 2096, 66), +(36, 2097, 71), +(36, 2098, 72), +(36, 2099, 88), +(36, 2100, 85), +(36, 2101, 91), +(36, 2102, 65), +(36, 2103, 94), +(36, 2104, 78), +(36, 2105, 99), +(36, 2106, 82), +(36, 2107, 71), +(36, 2108, 92), +(36, 2109, 76), +(36, 2110, 72), +(36, 2111, 78), +(36, 2112, 92), +(36, 2113, 97), +(36, 2114, 69), +(36, 2115, 89), +(36, 2116, 71), +(36, 2117, 88), +(36, 2118, 92), +(36, 2119, 95), +(36, 2120, 74), +(36, 2121, 87), +(36, 2122, 70), +(36, 2123, 84), +(36, 2124, 92), +(36, 2125, 98), +(36, 2126, 76), +(36, 2127, 89), +(36, 2128, 95), +(36, 2129, 98), +(36, 2130, 88), +(36, 2131, 72), +(36, 2132, 77), +(36, 2133, 68), +(36, 2134, 91), +(36, 2135, 77), +(36, 2136, 97), +(36, 2137, 92), +(36, 2138, 96), +(36, 2139, 85), +(36, 2140, 81), +(36, 2141, 75), +(36, 2142, 79), +(36, 2143, 72), +(36, 2144, 99), +(36, 2145, 97), +(36, 2146, 72), +(36, 2147, 86), +(36, 2148, 84), +(36, 2149, 73), +(36, 2150, 77), +(36, 2151, 97), +(36, 2152, 67), +(36, 2153, 89), +(36, 2154, 71), +(36, 2155, 97), +(36, 2156, 75), +(36, 2157, 82), +(36, 2158, 79), +(36, 2159, 81), +(36, 2160, 82), +(36, 2161, 93), +(36, 2162, 81), +(36, 2163, 92), +(36, 2164, 95), +(36, 2165, 82), +(36, 2166, 75), +(36, 2167, 73), +(36, 2168, 75), +(36, 2169, 65), +(36, 2170, 71), +(36, 2171, 81), +(36, 2172, 65), +(36, 2173, 92), +(36, 2174, 73), +(36, 2175, 92), +(36, 2176, 79), +(36, 2177, 96), +(36, 2178, 77), +(36, 2179, 94), +(36, 2180, 73), +(36, 2181, 90), +(36, 2182, 72), +(36, 2183, 98), +(36, 2184, 82), +(36, 2185, 89), +(36, 2186, 86), +(36, 2187, 65), +(36, 2188, 93), +(36, 2189, 88), +(36, 2190, 98), +(36, 2191, 86), +(36, 2192, 93), +(36, 2193, 66), +(36, 2194, 78), +(36, 2195, 73), +(36, 2196, 73), +(36, 2197, 88), +(36, 2198, 70), +(36, 2199, 97), +(36, 2200, 80), +(36, 2201, 70), +(36, 2202, 96), +(36, 2203, 86), +(36, 2204, 93), +(36, 2205, 87), +(36, 2206, 88), +(36, 2207, 88), +(36, 2208, 83), +(36, 2209, 77), +(36, 2210, 82), +(36, 2211, 79), +(36, 2212, 75), +(36, 2213, 87), +(36, 2214, 67), +(36, 2215, 79), +(36, 2216, 81), +(36, 2217, 79), +(36, 2218, 88), +(36, 2219, 67), +(36, 2220, 99), +(36, 2221, 93), +(36, 2222, 82), +(36, 2223, 83), +(36, 2224, 85), +(36, 2225, 85), +(36, 2226, 91), +(36, 2227, 88), +(36, 2228, 99), +(36, 2229, 70), +(36, 2230, 78), +(36, 2231, 68), +(36, 2232, 80), +(36, 2233, 79), +(36, 2234, 65), +(36, 2235, 90), +(36, 2236, 84), +(36, 2237, 90), +(36, 2238, 76), +(36, 2239, 75), +(36, 2240, 70), +(36, 2241, 66), +(36, 2242, 94), +(36, 2243, 83), +(36, 2244, 67), +(36, 2245, 80), +(36, 2246, 73), +(36, 2247, 93), +(36, 2248, 98), +(36, 2249, 70), +(36, 2250, 91), +(36, 2251, 66), +(36, 2252, 88), +(36, 2253, 76), +(36, 2254, 86), +(36, 2255, 85), +(36, 2256, 98), +(36, 2257, 68), +(36, 2258, 72), +(36, 2259, 92), +(36, 2260, 82), +(36, 2261, 82), +(36, 2262, 65), +(36, 2263, 72), +(36, 2264, 98), +(36, 2265, 71), +(36, 2266, 71), +(36, 2267, 89), +(36, 2268, 86), +(36, 2269, 96), +(36, 2270, 88), +(36, 2271, 84), +(36, 2272, 81), +(36, 2273, 82), +(36, 2274, 84), +(36, 2275, 67), +(36, 2276, 93), +(36, 2277, 71), +(36, 2278, 86), +(36, 2279, 88), +(36, 2280, 97), +(36, 2281, 81), +(36, 2282, 72), +(36, 2283, 98), +(36, 2284, 86), +(36, 2285, 83), +(36, 2286, 69), +(36, 2287, 80), +(36, 2288, 85), +(36, 2289, 81), +(36, 2290, 74), +(36, 2291, 77), +(36, 2292, 77), +(36, 2293, 78), +(36, 2294, 98), +(36, 2295, 81), +(36, 2296, 96), +(36, 2297, 81), +(36, 2298, 70), +(36, 2299, 86), +(36, 2300, 70), +(36, 2301, 68), +(36, 2302, 95), +(36, 2303, 77), +(36, 2304, 86), +(36, 2305, 99), +(36, 2306, 91), +(36, 2307, 72), +(36, 2308, 75), +(36, 2309, 98), +(36, 2310, 97), +(36, 2311, 81), +(36, 2312, 78), +(36, 2313, 87), +(36, 2314, 91), +(36, 2315, 73), +(36, 2316, 87), +(36, 2317, 77), +(36, 2318, 79), +(36, 2319, 66), +(36, 2320, 72), +(36, 2321, 99), +(36, 2322, 80), +(36, 2323, 73), +(36, 2324, 99), +(36, 2325, 99), +(36, 2326, 88), +(36, 2327, 77), +(36, 2328, 89), +(36, 2329, 93), +(36, 2330, 95), +(36, 2331, 93), +(36, 2332, 85), +(36, 2333, 95), +(36, 2334, 78), +(36, 2335, 96), +(36, 2336, 65), +(36, 2337, 92), +(36, 2338, 69), +(36, 2339, 76), +(36, 2340, 70), +(36, 2341, 98), +(36, 2342, 91), +(36, 2343, 93), +(36, 2344, 78), +(36, 2345, 89), +(36, 2346, 74), +(36, 2347, 98), +(36, 2348, 91), +(36, 2349, 72), +(36, 2350, 79), +(36, 2351, 98), +(36, 2352, 95), +(36, 2353, 71), +(36, 2354, 85), +(36, 2355, 76), +(36, 2356, 69), +(36, 2357, 78), +(36, 2358, 93), +(36, 2359, 78), +(36, 2360, 68), +(36, 2361, 87), +(36, 2362, 72), +(36, 2363, 87), +(36, 2364, 85), +(36, 2365, 93), +(36, 2366, 70), +(36, 2367, 76), +(36, 2368, 91), +(36, 2369, 73), +(36, 2370, 94), +(36, 2371, 82), +(36, 2372, 75), +(36, 2373, 97), +(36, 2374, 69), +(36, 2375, 81), +(36, 2376, 74), +(36, 2377, 90), +(36, 2378, 93), +(36, 2379, 85), +(36, 2380, 82), +(36, 2381, 88), +(36, 2382, 78), +(36, 2383, 72), +(36, 2384, 97), +(36, 2385, 95), +(36, 2386, 98), +(36, 2387, 85), +(36, 2388, 82), +(36, 2389, 98), +(36, 2390, 82), +(36, 2391, 71), +(36, 2392, 83), +(36, 2393, 90), +(36, 2394, 68), +(36, 2395, 96), +(36, 2396, 99), +(36, 2397, 75), +(36, 2398, 77), +(36, 2399, 87), +(36, 2400, 86), +(36, 2401, 69), +(36, 2402, 73), +(36, 2403, 79), +(36, 2404, 74), +(36, 2405, 70), +(36, 2406, 76), +(36, 2407, 70), +(36, 2408, 80), +(36, 2409, 80), +(36, 2410, 90), +(36, 2411, 83), +(36, 2412, 68), +(36, 2413, 75), +(36, 2414, 97), +(36, 2415, 81), +(36, 2416, 87), +(36, 2417, 74), +(36, 2418, 65), +(36, 2419, 85), +(36, 2420, 88), +(36, 2421, 65), +(36, 2422, 75), +(36, 2423, 90), +(36, 2424, 99), +(36, 2425, 70), +(36, 2426, 97), +(36, 2427, 97), +(36, 2428, 85), +(36, 2429, 73), +(36, 2430, 73), +(36, 2431, 97), +(36, 2432, 99), +(36, 2433, 70), +(36, 2434, 67), +(36, 2435, 71), +(36, 2436, 84), +(36, 2437, 82), +(36, 2438, 94), +(36, 2439, 85), +(36, 2440, 66), +(36, 2441, 72), +(36, 2442, 65), +(36, 2443, 92), +(36, 2444, 68), +(36, 2445, 87), +(36, 2446, 89), +(36, 2447, 93), +(36, 2448, 83), +(36, 2449, 76), +(36, 2450, 86), +(36, 2451, 82), +(36, 2452, 90), +(36, 2453, 73), +(36, 2454, 94), +(36, 2455, 86), +(36, 2456, 65), +(36, 2457, 68), +(36, 2458, 98), +(36, 2459, 73), +(36, 2460, 95), +(36, 2461, 66), +(36, 2462, 75), +(36, 2463, 96), +(36, 2464, 71), +(36, 2465, 80), +(36, 2466, 66), +(36, 2467, 91), +(36, 2468, 69), +(36, 2469, 81), +(36, 2470, 98), +(36, 2471, 70), +(36, 2472, 71), +(36, 2473, 70), +(36, 2474, 96), +(36, 2475, 83), +(36, 2476, 76), +(36, 2477, 91), +(36, 2478, 92), +(36, 2479, 79), +(36, 2480, 70), +(36, 2481, 86), +(36, 2482, 67), +(36, 2483, 80), +(36, 2484, 92), +(36, 2485, 82), +(36, 2486, 86), +(36, 2487, 99), +(36, 2488, 97), +(36, 2489, 89), +(36, 2490, 77), +(36, 2491, 96), +(36, 2492, 67), +(36, 2493, 88), +(36, 2494, 99), +(36, 2495, 79), +(36, 2496, 83), +(36, 2497, 96), +(36, 2498, 82), +(36, 2499, 84), +(36, 2500, 66), +(36, 2501, 91), +(36, 2502, 72), +(36, 2503, 76), +(36, 2504, 78), +(36, 2505, 73), +(36, 2506, 66), +(36, 2507, 90), +(36, 2508, 95), +(36, 2509, 82), +(36, 2510, 95), +(36, 2511, 75), +(36, 2512, 66), +(36, 2513, 94), +(36, 2514, 80), +(36, 2515, 92), +(36, 2516, 73), +(36, 2517, 78), +(36, 2518, 99), +(36, 2519, 98), +(36, 2520, 94), +(36, 2521, 93), +(36, 2522, 73), +(36, 2523, 68), +(36, 2524, 70), +(36, 2525, 76), +(36, 2526, 65), +(36, 2527, 97), +(36, 2528, 97), +(36, 2529, 68), +(36, 2530, 95), +(36, 2531, 95), +(36, 2532, 75), +(36, 2533, 71), +(36, 2534, 99), +(36, 2535, 71), +(36, 2536, 82), +(36, 2537, 81), +(36, 2538, 83), +(36, 2539, 89), +(36, 2540, 96), +(36, 2541, 67), +(36, 2542, 67), +(36, 2543, 96), +(36, 2544, 67), +(36, 2545, 84), +(36, 2546, 76), +(36, 2547, 89), +(36, 2548, 84), +(36, 2549, 72), +(36, 2550, 96), +(36, 2551, 93), +(36, 2552, 81), +(36, 2553, 68), +(36, 2554, 72), +(36, 2555, 99), +(36, 2556, 72), +(36, 2557, 78), +(36, 2558, 65), +(36, 2559, 70), +(36, 2560, 65), +(36, 2561, 87), +(36, 2562, 86), +(36, 2563, 71), +(36, 2564, 65), +(36, 2565, 94), +(36, 2566, 87), +(36, 2567, 76), +(36, 2568, 76), +(36, 2569, 88), +(36, 2570, 86), +(36, 2571, 70), +(36, 2572, 92), +(36, 2573, 94), +(36, 2574, 66), +(36, 2575, 81), +(36, 2576, 89), +(36, 2577, 79), +(36, 2578, 83), +(36, 2579, 65), +(36, 2580, 87), +(36, 2581, 86), +(36, 2582, 89), +(36, 2583, 97), +(36, 2584, 77), +(36, 2585, 95), +(36, 2586, 90), +(36, 2587, 84), +(36, 2588, 82), +(36, 2589, 89), +(36, 2590, 72), +(36, 2591, 71), +(36, 2592, 71), +(36, 2593, 83), +(36, 2594, 94), +(36, 2595, 85), +(36, 2596, 95), +(36, 2597, 73), +(36, 2598, 82), +(36, 2599, 94), +(36, 2600, 78), +(36, 2601, 68), +(36, 2602, 95), +(36, 2603, 66), +(36, 2604, 79), +(36, 2605, 75), +(36, 2606, 75), +(36, 2607, 76), +(36, 2608, 95), +(36, 2609, 96), +(36, 2610, 92), +(37, 1, 75), +(37, 2, 78), +(37, 3, 93), +(37, 4, 74), +(37, 5, 66), +(37, 6, 84), +(37, 7, 97), +(37, 8, 93), +(37, 9, 80), +(37, 10, 70), +(37, 11, 87), +(37, 12, 94), +(37, 13, 82), +(37, 14, 71), +(37, 15, 92), +(37, 16, 93), +(37, 17, 80), +(37, 18, 95), +(37, 19, 65), +(37, 20, 96), +(37, 21, 66), +(37, 22, 70), +(37, 23, 84), +(37, 24, 70), +(37, 25, 87), +(37, 26, 99), +(37, 27, 86), +(37, 28, 80), +(37, 29, 94), +(37, 30, 96), +(37, 31, 66), +(37, 32, 93), +(37, 33, 73), +(37, 34, 89), +(37, 35, 97), +(37, 36, 88), +(37, 37, 96), +(37, 38, 67), +(37, 39, 98), +(37, 40, 99), +(37, 41, 96), +(37, 42, 77), +(37, 43, 72), +(37, 44, 68), +(37, 45, 70), +(37, 46, 65), +(37, 47, 70), +(37, 48, 85), +(37, 49, 69), +(37, 50, 93), +(37, 51, 66), +(37, 52, 69), +(37, 53, 66), +(37, 54, 80), +(37, 55, 67), +(37, 56, 91), +(37, 57, 88), +(37, 58, 91), +(37, 59, 79), +(37, 60, 81), +(37, 61, 76), +(37, 62, 84), +(37, 63, 75), +(37, 64, 86), +(37, 65, 80), +(37, 66, 73), +(37, 67, 80), +(37, 68, 94), +(37, 69, 86), +(37, 70, 72), +(37, 71, 83), +(37, 72, 81), +(37, 73, 66), +(37, 74, 99), +(37, 75, 96), +(37, 76, 97), +(37, 77, 98), +(37, 78, 80), +(37, 79, 72), +(37, 80, 91), +(37, 81, 77), +(37, 82, 81), +(37, 83, 73), +(37, 84, 82), +(37, 85, 69), +(37, 86, 98), +(37, 87, 71), +(37, 88, 89), +(37, 89, 83), +(37, 90, 84), +(37, 91, 95), +(37, 92, 87), +(37, 93, 67), +(37, 94, 71), +(37, 95, 88), +(37, 96, 79), +(37, 97, 76), +(37, 98, 96), +(37, 99, 93), +(37, 100, 98), +(37, 101, 86), +(37, 102, 74), +(37, 103, 92), +(37, 104, 85), +(37, 105, 79), +(37, 106, 75), +(37, 107, 76), +(37, 108, 79), +(37, 109, 91), +(37, 110, 72), +(37, 111, 90), +(37, 112, 65), +(37, 113, 77), +(37, 114, 84), +(37, 115, 81), +(37, 116, 76), +(37, 117, 65), +(37, 118, 77), +(37, 119, 77), +(37, 120, 80), +(37, 121, 96), +(37, 122, 86), +(37, 123, 68), +(37, 124, 73), +(37, 125, 72), +(37, 126, 84), +(37, 127, 82), +(37, 128, 80), +(37, 129, 96), +(37, 130, 95), +(37, 131, 76), +(37, 132, 82), +(37, 133, 87), +(37, 134, 80), +(37, 135, 69), +(37, 136, 80), +(37, 137, 79), +(37, 138, 68), +(37, 139, 80), +(37, 140, 69), +(37, 141, 93), +(37, 142, 72), +(37, 143, 92), +(37, 144, 94), +(37, 145, 72), +(37, 146, 92), +(37, 147, 93), +(37, 148, 66), +(37, 149, 85), +(37, 150, 84), +(37, 151, 68), +(37, 152, 76), +(37, 153, 76), +(37, 154, 68), +(37, 155, 74), +(37, 156, 86), +(37, 157, 68), +(37, 158, 79), +(37, 159, 99), +(37, 160, 82), +(37, 161, 91), +(37, 162, 65), +(37, 163, 96), +(37, 164, 71), +(37, 165, 74), +(37, 166, 85), +(37, 167, 67), +(37, 168, 77), +(37, 169, 78), +(37, 170, 82), +(37, 171, 72), +(37, 172, 78), +(37, 173, 79), +(37, 174, 74), +(37, 175, 75), +(37, 176, 94), +(37, 177, 68), +(37, 178, 77), +(37, 179, 93), +(37, 180, 93), +(37, 181, 82), +(37, 182, 74), +(37, 183, 66), +(37, 184, 84), +(37, 185, 71), +(37, 186, 70), +(37, 187, 83), +(37, 188, 88), +(37, 189, 70), +(37, 190, 70), +(37, 191, 98), +(37, 192, 69), +(37, 193, 78), +(37, 194, 94), +(37, 195, 99), +(37, 196, 78), +(37, 197, 97), +(37, 198, 65), +(37, 199, 92), +(37, 200, 67), +(37, 201, 89), +(37, 202, 70), +(37, 203, 95), +(37, 204, 90), +(37, 205, 85), +(37, 206, 84), +(37, 207, 65), +(37, 208, 88), +(37, 209, 71), +(37, 210, 71), +(37, 211, 85), +(37, 212, 91), +(37, 213, 86), +(37, 214, 91), +(37, 215, 95), +(37, 216, 88), +(37, 217, 98), +(37, 218, 82), +(37, 219, 92), +(37, 220, 72), +(37, 221, 83), +(37, 222, 83), +(37, 223, 98), +(37, 224, 79), +(37, 225, 99), +(37, 226, 75), +(37, 227, 81), +(37, 228, 85), +(37, 229, 78), +(37, 230, 65), +(37, 231, 94), +(37, 232, 65), +(37, 233, 92), +(37, 234, 83), +(37, 235, 72), +(37, 236, 99), +(37, 237, 80), +(37, 238, 71), +(37, 239, 91), +(37, 240, 83), +(37, 241, 97), +(37, 242, 78), +(37, 243, 90), +(37, 244, 65), +(37, 245, 83), +(37, 246, 68), +(37, 247, 99), +(37, 248, 87), +(37, 249, 85), +(37, 250, 76), +(37, 251, 73), +(37, 252, 66), +(37, 253, 77), +(37, 254, 96), +(37, 255, 88), +(37, 256, 91), +(37, 257, 89), +(37, 258, 99), +(37, 259, 65), +(37, 260, 78), +(37, 261, 93), +(37, 262, 73), +(37, 263, 94), +(37, 264, 92), +(37, 265, 92), +(37, 266, 77), +(37, 267, 77), +(37, 268, 98), +(37, 269, 88), +(37, 270, 72), +(37, 271, 80), +(37, 272, 90), +(37, 273, 74), +(37, 274, 80), +(37, 275, 78), +(37, 276, 67), +(37, 277, 99), +(37, 278, 98), +(37, 279, 95), +(37, 280, 95), +(37, 281, 68), +(37, 282, 68), +(37, 283, 82), +(37, 284, 83), +(37, 285, 69), +(37, 286, 90), +(37, 287, 82), +(37, 288, 91), +(37, 289, 89), +(37, 290, 96), +(37, 291, 85), +(37, 292, 75), +(37, 293, 86), +(37, 294, 88), +(37, 295, 75), +(37, 296, 82), +(37, 297, 88), +(37, 298, 74), +(37, 299, 80), +(37, 300, 82), +(37, 301, 65), +(37, 302, 78), +(37, 303, 73), +(37, 304, 75), +(37, 305, 68), +(37, 306, 87), +(37, 307, 65), +(37, 308, 97), +(37, 309, 85), +(37, 310, 68), +(37, 311, 66), +(37, 312, 65), +(37, 313, 66), +(37, 314, 68), +(37, 315, 70), +(37, 316, 65), +(37, 317, 92), +(37, 318, 78), +(37, 319, 94), +(37, 320, 97), +(37, 321, 70), +(37, 322, 85), +(37, 323, 92), +(37, 324, 97), +(37, 325, 89), +(37, 326, 88), +(37, 327, 84), +(37, 328, 89), +(37, 329, 85), +(37, 330, 95), +(37, 331, 77), +(37, 332, 76), +(37, 333, 84), +(37, 334, 97), +(37, 335, 92), +(37, 336, 66), +(37, 337, 98), +(37, 338, 82), +(37, 339, 75), +(37, 340, 85), +(37, 341, 93), +(37, 342, 76), +(37, 343, 91), +(37, 344, 66), +(37, 345, 82), +(37, 346, 97), +(37, 347, 98), +(37, 348, 81), +(37, 349, 68), +(37, 350, 89), +(37, 351, 99), +(37, 352, 76), +(37, 353, 79), +(37, 354, 67), +(37, 355, 82), +(37, 356, 71), +(37, 357, 98), +(37, 358, 93), +(37, 359, 74), +(37, 360, 73), +(37, 361, 79), +(37, 362, 90), +(37, 363, 91), +(37, 364, 85), +(37, 365, 84), +(37, 366, 75), +(37, 367, 97), +(37, 368, 96), +(37, 369, 66), +(37, 370, 85), +(37, 371, 85), +(37, 372, 66), +(37, 373, 97), +(37, 374, 87), +(37, 375, 93), +(37, 376, 79), +(37, 377, 72), +(37, 378, 69), +(37, 379, 92), +(37, 380, 91), +(37, 381, 80), +(37, 382, 89), +(37, 383, 75), +(37, 384, 94), +(37, 385, 86), +(37, 386, 68), +(37, 387, 65), +(37, 388, 92), +(37, 389, 98), +(37, 390, 84), +(37, 391, 73), +(37, 392, 71), +(37, 393, 67), +(37, 394, 93), +(37, 395, 85), +(37, 396, 82), +(37, 397, 78), +(37, 398, 75), +(37, 399, 86), +(37, 400, 69), +(37, 401, 75), +(37, 402, 65), +(37, 403, 99), +(37, 404, 72), +(37, 405, 76), +(37, 406, 87), +(37, 407, 97), +(37, 408, 73), +(37, 409, 80), +(37, 410, 88), +(37, 411, 66), +(37, 412, 79), +(37, 413, 97), +(37, 414, 84), +(37, 415, 65), +(37, 416, 71), +(37, 417, 67), +(37, 418, 92), +(37, 419, 86), +(37, 420, 97), +(37, 421, 99), +(37, 422, 96), +(37, 423, 81), +(37, 424, 76), +(37, 425, 73), +(37, 426, 67), +(37, 427, 97), +(37, 428, 73), +(37, 429, 88), +(37, 430, 95), +(37, 431, 70), +(37, 432, 69), +(37, 433, 80), +(37, 434, 95), +(37, 435, 68), +(37, 436, 82), +(37, 437, 92), +(37, 438, 88), +(37, 439, 69), +(37, 440, 67), +(37, 441, 94), +(37, 442, 72), +(37, 443, 73), +(37, 444, 99), +(37, 445, 82), +(37, 446, 80), +(37, 447, 96), +(37, 448, 65), +(37, 449, 71), +(37, 450, 66), +(37, 451, 76), +(37, 452, 93), +(37, 453, 81), +(37, 454, 69), +(37, 455, 89), +(37, 456, 87), +(37, 457, 70), +(37, 458, 79), +(37, 459, 91), +(37, 460, 70), +(37, 461, 93), +(37, 462, 87), +(37, 463, 82), +(37, 464, 99), +(37, 465, 79), +(37, 466, 81), +(37, 467, 80), +(37, 468, 79), +(37, 469, 88), +(37, 470, 87), +(37, 471, 93), +(37, 472, 92), +(37, 473, 79), +(37, 474, 81), +(37, 475, 81), +(37, 476, 77), +(37, 477, 68), +(37, 478, 87), +(37, 479, 99), +(37, 480, 72), +(37, 481, 92), +(37, 482, 69), +(37, 483, 88), +(37, 484, 88), +(37, 485, 90), +(37, 486, 86), +(37, 487, 67), +(37, 488, 79), +(37, 489, 78), +(37, 490, 92), +(37, 491, 90), +(37, 492, 96), +(37, 493, 83), +(37, 494, 87), +(37, 495, 79), +(37, 496, 77), +(37, 497, 78), +(37, 498, 89), +(37, 499, 77), +(37, 500, 98), +(37, 501, 81), +(37, 502, 79), +(37, 503, 75), +(37, 504, 97), +(37, 505, 92), +(37, 506, 66), +(37, 507, 88), +(37, 508, 68), +(37, 509, 99), +(37, 510, 66), +(37, 511, 82), +(37, 512, 85), +(37, 513, 65), +(37, 514, 78), +(37, 515, 89), +(37, 516, 73), +(37, 517, 75), +(37, 518, 96), +(37, 519, 99), +(37, 520, 76), +(37, 521, 79), +(37, 522, 65), +(37, 523, 85), +(37, 524, 87), +(37, 525, 94), +(37, 526, 73), +(37, 527, 71), +(37, 528, 80), +(37, 529, 76), +(37, 530, 93), +(37, 531, 93), +(37, 532, 74), +(37, 533, 91), +(37, 534, 98), +(37, 535, 88), +(37, 536, 75), +(37, 537, 75), +(37, 538, 88), +(37, 539, 77), +(37, 540, 90), +(37, 541, 65), +(37, 542, 94), +(37, 543, 68), +(37, 544, 97), +(37, 545, 79), +(37, 546, 74), +(37, 547, 82), +(37, 548, 87), +(37, 549, 85), +(37, 550, 75), +(37, 551, 97), +(37, 552, 67), +(37, 553, 96), +(37, 554, 91), +(37, 555, 95), +(37, 556, 98), +(37, 557, 76), +(37, 558, 68), +(37, 559, 72), +(37, 560, 66), +(37, 561, 66), +(37, 562, 86), +(37, 563, 65), +(37, 564, 98), +(37, 1024, 78), +(37, 1025, 75), +(37, 1026, 79), +(37, 1027, 90), +(37, 1028, 93), +(37, 1029, 75), +(37, 1030, 75), +(37, 1031, 65), +(37, 1032, 90), +(37, 1033, 70), +(37, 1034, 82), +(37, 1035, 83), +(37, 1036, 69), +(37, 1037, 71), +(37, 1038, 83), +(37, 1039, 75), +(37, 1040, 85), +(37, 1041, 69), +(37, 1042, 71), +(37, 1043, 77), +(37, 1044, 98), +(37, 1045, 78), +(37, 1046, 82), +(37, 1047, 91), +(37, 1048, 93), +(37, 1049, 74), +(37, 1050, 97), +(37, 1051, 99), +(37, 1052, 72), +(37, 1053, 80), +(37, 1054, 72), +(37, 1055, 78), +(37, 1056, 98), +(37, 1057, 78), +(37, 1058, 68), +(37, 1059, 89), +(37, 1060, 96), +(37, 1061, 98), +(37, 1062, 72), +(37, 1063, 98), +(37, 1064, 83), +(37, 1065, 66), +(37, 1066, 66), +(37, 1067, 73), +(37, 1068, 82), +(37, 1069, 66), +(37, 1070, 75), +(37, 1071, 91), +(37, 1072, 75), +(37, 1073, 74), +(37, 1074, 97), +(37, 1075, 74), +(37, 1076, 85), +(37, 1077, 66), +(37, 1078, 66), +(37, 1079, 81), +(37, 1080, 73), +(37, 1081, 95), +(37, 1082, 79), +(37, 1083, 86), +(37, 1084, 80), +(37, 1085, 93), +(37, 1086, 74), +(37, 1087, 75), +(37, 1088, 92), +(37, 1089, 90), +(37, 1090, 73), +(37, 1091, 71), +(37, 1092, 76), +(37, 1093, 83), +(37, 1094, 70), +(37, 1095, 90), +(37, 1096, 77), +(37, 1097, 99), +(37, 1098, 84), +(37, 1099, 80), +(37, 1100, 85), +(37, 1101, 82), +(37, 1102, 90), +(37, 1103, 69), +(37, 1104, 84), +(37, 1105, 70), +(37, 1106, 69), +(37, 1107, 97), +(37, 1108, 85), +(37, 1109, 68), +(37, 1110, 69), +(37, 1111, 80), +(37, 1112, 87), +(37, 1113, 82), +(37, 1114, 89), +(37, 1115, 65), +(37, 1116, 68), +(37, 1117, 92), +(37, 1118, 84), +(37, 1119, 97), +(37, 1120, 66), +(37, 1121, 78), +(37, 1122, 74), +(37, 1123, 88), +(37, 1124, 73), +(37, 1125, 77), +(37, 1126, 71), +(37, 1127, 86), +(37, 1128, 84), +(37, 1129, 84), +(37, 1130, 92), +(37, 1131, 81), +(37, 1132, 67), +(37, 1133, 99), +(37, 1134, 98), +(37, 1135, 76), +(37, 1136, 90), +(37, 1137, 95), +(37, 1138, 72), +(37, 1139, 78), +(37, 1140, 69), +(37, 1141, 94), +(37, 1142, 86), +(37, 1143, 68), +(37, 1144, 86), +(37, 1145, 96), +(37, 1146, 75), +(37, 1147, 93), +(37, 1148, 74), +(37, 1149, 78), +(37, 1150, 84), +(37, 1151, 76), +(37, 1152, 98), +(37, 1153, 81), +(37, 1154, 91), +(37, 1155, 98), +(37, 1156, 85), +(37, 1157, 89), +(37, 1158, 73), +(37, 1159, 90), +(37, 1160, 82), +(37, 1161, 78), +(37, 1162, 89), +(37, 1163, 78), +(37, 1164, 91), +(37, 1165, 99), +(37, 1166, 87), +(37, 1167, 98), +(37, 1168, 86), +(37, 1169, 84), +(37, 1170, 77), +(37, 1171, 99), +(37, 1172, 80), +(37, 1173, 97), +(37, 1174, 93), +(37, 1175, 68), +(37, 1176, 98), +(37, 1177, 69), +(37, 1178, 81), +(37, 1179, 72), +(37, 1180, 97), +(37, 1181, 74), +(37, 1182, 87), +(37, 1183, 84), +(37, 1184, 86), +(37, 1185, 79), +(37, 1186, 86), +(37, 1187, 95), +(37, 1188, 95), +(37, 1189, 83), +(37, 1190, 88), +(37, 1191, 66), +(37, 1192, 85), +(37, 1193, 98), +(37, 1194, 88), +(37, 1195, 90), +(37, 1196, 97), +(37, 1197, 83), +(37, 1198, 95), +(37, 1199, 70), +(37, 1200, 99), +(37, 1201, 77), +(37, 1202, 71), +(37, 1203, 67), +(37, 1204, 98), +(37, 1205, 65), +(37, 1206, 76), +(37, 1207, 92), +(37, 1208, 85), +(37, 1209, 90), +(37, 1210, 67), +(37, 1211, 97), +(37, 1212, 96), +(37, 1213, 69), +(37, 1214, 65), +(37, 1215, 81), +(37, 1216, 72), +(37, 1217, 91), +(37, 1218, 76), +(37, 1219, 84), +(37, 1220, 66), +(37, 1221, 66), +(37, 1222, 78), +(37, 1223, 84), +(37, 1224, 94), +(37, 1225, 89), +(37, 1226, 88), +(37, 1227, 81), +(37, 1228, 68), +(37, 1229, 88), +(37, 1230, 87), +(37, 1231, 91), +(37, 1232, 83), +(37, 1233, 73), +(37, 1234, 77), +(37, 1235, 87), +(37, 1236, 81), +(37, 1237, 74), +(37, 1238, 78), +(37, 1239, 92), +(37, 1240, 86), +(37, 1241, 97), +(37, 1242, 96), +(37, 1243, 72), +(37, 1244, 69), +(37, 1245, 98), +(37, 1246, 68), +(37, 1247, 90), +(37, 1248, 68), +(37, 1249, 99), +(37, 1250, 93), +(37, 1251, 84), +(37, 1252, 98), +(37, 1253, 73), +(37, 1254, 73), +(37, 1255, 81), +(37, 1256, 82), +(37, 1257, 68), +(37, 1258, 83), +(37, 1259, 76), +(37, 1260, 96), +(37, 1261, 85), +(37, 1262, 67), +(37, 1263, 76), +(37, 1264, 68), +(37, 1265, 88), +(37, 1266, 91), +(37, 1267, 99), +(37, 1268, 88), +(37, 1269, 68), +(37, 1270, 65), +(37, 1271, 88), +(37, 1272, 89), +(37, 1273, 84), +(37, 1274, 85), +(37, 1275, 98), +(37, 1276, 94), +(37, 1277, 98), +(37, 1278, 72), +(37, 1279, 77), +(37, 1280, 90), +(37, 1281, 87), +(37, 1282, 67), +(37, 1283, 90), +(37, 1284, 85), +(37, 1285, 85), +(37, 1286, 91), +(37, 1287, 96), +(37, 1288, 75), +(37, 1289, 86), +(37, 1290, 65), +(37, 1291, 75), +(37, 1292, 91), +(37, 1293, 98), +(37, 1294, 95), +(37, 1295, 75), +(37, 1296, 83), +(37, 1297, 71), +(37, 1298, 69), +(37, 1299, 98), +(37, 1300, 70), +(37, 1301, 69), +(37, 1302, 99), +(37, 1303, 97), +(37, 1304, 77), +(37, 1305, 86), +(37, 1306, 68), +(37, 1307, 74), +(37, 1308, 73), +(37, 1309, 85), +(37, 1310, 91), +(37, 1311, 81), +(37, 1312, 94), +(37, 1313, 72), +(37, 1314, 95), +(37, 1315, 81), +(37, 1316, 72), +(37, 1317, 89), +(37, 1318, 72), +(37, 1319, 98), +(37, 1320, 73), +(37, 1321, 70), +(37, 1322, 86), +(37, 1323, 65), +(37, 1324, 81), +(37, 1325, 74), +(37, 1326, 65), +(37, 1327, 79), +(37, 1328, 66), +(37, 1329, 81), +(37, 1330, 92), +(37, 1331, 88), +(37, 1332, 85), +(37, 1333, 92), +(37, 1334, 97), +(37, 1335, 89), +(37, 1336, 73), +(37, 1337, 84), +(37, 1338, 87), +(37, 1339, 99), +(37, 1340, 82), +(37, 1341, 87), +(37, 1342, 74), +(37, 1343, 71), +(37, 1344, 93), +(37, 1345, 76), +(37, 1346, 80), +(37, 1347, 95), +(37, 1348, 78), +(37, 1349, 69), +(37, 1350, 88), +(37, 1351, 82), +(37, 1352, 82), +(37, 1353, 81), +(37, 1354, 79), +(37, 1355, 68), +(37, 1356, 69), +(37, 1357, 98), +(37, 1358, 95), +(37, 1359, 98), +(37, 1360, 82), +(37, 1361, 70), +(37, 1362, 70), +(37, 1363, 65), +(37, 1364, 77), +(37, 1365, 80), +(37, 1366, 68), +(37, 1367, 86), +(37, 1368, 73), +(37, 1369, 88), +(37, 1370, 76), +(37, 1371, 71), +(37, 1372, 67), +(37, 1373, 81), +(37, 1374, 69), +(37, 1375, 70), +(37, 1376, 76), +(37, 1377, 73), +(37, 1378, 74), +(37, 1379, 69), +(37, 1380, 72), +(37, 1381, 80), +(37, 1382, 97), +(37, 1383, 97), +(37, 1384, 77), +(37, 1385, 67), +(37, 1386, 77), +(37, 1387, 85), +(37, 1388, 71), +(37, 1389, 91), +(37, 1390, 71), +(37, 1391, 65), +(37, 1392, 76), +(37, 1393, 73), +(37, 1394, 74), +(37, 1395, 66), +(37, 1396, 76), +(37, 1397, 71), +(37, 1398, 77), +(37, 1399, 72), +(37, 1400, 88), +(37, 1401, 94), +(37, 1402, 88), +(37, 1403, 70), +(37, 1404, 73), +(37, 1405, 69), +(37, 1406, 90), +(37, 1407, 75), +(37, 1408, 84), +(37, 1409, 78), +(37, 1410, 85), +(37, 1411, 91), +(37, 1412, 97), +(37, 1413, 79), +(37, 1414, 98), +(37, 1415, 71), +(37, 1416, 93), +(37, 1417, 85), +(37, 1418, 98), +(37, 1419, 82), +(37, 1420, 88), +(37, 1421, 65), +(37, 1422, 76), +(37, 1423, 68), +(37, 1424, 91), +(37, 1425, 71), +(37, 1426, 82), +(37, 1427, 89), +(37, 1428, 74), +(37, 1429, 65), +(37, 1430, 74), +(37, 1431, 91), +(37, 1432, 81), +(37, 1433, 93), +(37, 1434, 71), +(37, 1435, 79), +(37, 1436, 81), +(37, 1437, 82), +(37, 1438, 70), +(37, 1439, 69), +(37, 1440, 66), +(37, 1441, 83), +(37, 1442, 78), +(37, 1443, 78), +(37, 1444, 87), +(37, 1445, 80), +(37, 1446, 87), +(37, 1447, 75), +(37, 1448, 93), +(37, 1449, 94), +(37, 1450, 73), +(37, 1451, 86), +(37, 1452, 67), +(37, 1453, 65), +(37, 1454, 80), +(37, 1455, 91), +(37, 1456, 84), +(37, 1457, 80), +(37, 1458, 93), +(37, 1459, 87), +(37, 1460, 80), +(37, 1461, 87), +(37, 1462, 98), +(37, 1463, 87), +(37, 1464, 98), +(37, 1465, 89), +(37, 1466, 95), +(37, 1467, 84), +(37, 1468, 65), +(37, 1469, 98), +(37, 1470, 82), +(37, 1471, 82), +(37, 1472, 72), +(37, 1473, 94), +(37, 1474, 94), +(37, 1475, 88), +(37, 1476, 96), +(37, 1477, 66), +(37, 1478, 80), +(37, 1479, 71), +(37, 1480, 67), +(37, 1481, 81), +(37, 1482, 92), +(37, 1483, 89), +(37, 1484, 78), +(37, 1485, 80), +(37, 1486, 77), +(37, 1487, 82), +(37, 1488, 83), +(37, 1489, 85), +(37, 1490, 89), +(37, 1491, 67), +(37, 1492, 76), +(37, 1493, 73), +(37, 1494, 81), +(37, 1495, 88), +(37, 1496, 74), +(37, 1497, 90), +(37, 1498, 97), +(37, 1499, 90), +(37, 1500, 92), +(37, 1501, 67), +(37, 1502, 88), +(37, 1503, 93), +(37, 1504, 95), +(37, 1505, 97), +(37, 1506, 89), +(37, 1507, 92), +(37, 1508, 71), +(37, 1509, 69), +(37, 1510, 83), +(37, 1511, 95), +(37, 1512, 83), +(37, 1513, 74), +(37, 1514, 76), +(37, 1515, 84), +(37, 1516, 84), +(37, 1517, 78), +(37, 1518, 96), +(37, 1519, 67), +(37, 1520, 74), +(37, 1521, 74), +(37, 1522, 97), +(37, 1523, 95), +(37, 1524, 75), +(37, 1525, 81), +(37, 1526, 79), +(37, 1527, 68), +(37, 1528, 82), +(37, 1529, 72), +(37, 1530, 74), +(37, 1531, 77), +(37, 1532, 73), +(37, 1533, 92), +(37, 1534, 78), +(37, 1535, 87), +(37, 1536, 85), +(37, 1537, 89), +(37, 1538, 78), +(37, 1539, 92), +(37, 1540, 93), +(37, 1541, 71), +(37, 1542, 74), +(37, 1543, 80), +(37, 1544, 94), +(37, 1545, 73), +(37, 1546, 88), +(37, 1547, 98), +(37, 1548, 67), +(37, 1549, 74), +(37, 1550, 84), +(37, 1551, 77), +(37, 1552, 74), +(37, 1553, 85), +(37, 1554, 97), +(37, 1555, 89), +(37, 1556, 96), +(37, 1557, 85), +(37, 1558, 99), +(37, 1559, 66), +(37, 1560, 71), +(37, 1561, 75), +(37, 1562, 88), +(37, 1563, 84), +(37, 1564, 98), +(37, 1565, 87), +(37, 1566, 81), +(37, 1567, 77), +(37, 1568, 72), +(37, 1569, 81), +(37, 1570, 78), +(37, 1571, 78), +(37, 1572, 81), +(37, 1573, 99), +(37, 1574, 94), +(37, 1575, 70), +(37, 1576, 73), +(37, 1577, 92), +(37, 1578, 69), +(37, 1579, 75), +(37, 1580, 76), +(37, 1581, 96), +(37, 1582, 79), +(37, 1583, 95), +(37, 1584, 87), +(37, 1585, 69), +(37, 1586, 73), +(37, 1587, 73), +(37, 2047, 89), +(37, 2048, 67), +(37, 2049, 92), +(37, 2050, 88), +(37, 2051, 69), +(37, 2052, 80), +(37, 2053, 67), +(37, 2054, 80), +(37, 2055, 93), +(37, 2056, 96), +(37, 2057, 89), +(37, 2058, 89), +(37, 2059, 74), +(37, 2060, 66), +(37, 2061, 88), +(37, 2062, 71), +(37, 2063, 97), +(37, 2064, 84), +(37, 2065, 83), +(37, 2066, 96), +(37, 2067, 94), +(37, 2068, 93), +(37, 2069, 74), +(37, 2070, 90), +(37, 2071, 70), +(37, 2072, 99), +(37, 2073, 67), +(37, 2074, 73), +(37, 2075, 77), +(37, 2076, 81), +(37, 2077, 68), +(37, 2078, 79), +(37, 2079, 65), +(37, 2080, 84), +(37, 2081, 95), +(37, 2082, 70), +(37, 2083, 77), +(37, 2084, 93), +(37, 2085, 87), +(37, 2086, 73), +(37, 2087, 77), +(37, 2088, 65), +(37, 2089, 77), +(37, 2090, 78), +(37, 2091, 77), +(37, 2092, 68), +(37, 2093, 83), +(37, 2094, 76), +(37, 2095, 71), +(37, 2096, 70), +(37, 2097, 65), +(37, 2098, 71), +(37, 2099, 83), +(37, 2100, 65), +(37, 2101, 99), +(37, 2102, 75), +(37, 2103, 65), +(37, 2104, 89), +(37, 2105, 97), +(37, 2106, 91), +(37, 2107, 97), +(37, 2108, 74), +(37, 2109, 82), +(37, 2110, 73), +(37, 2111, 72), +(37, 2112, 76), +(37, 2113, 84), +(37, 2114, 69), +(37, 2115, 98), +(37, 2116, 83), +(37, 2117, 67), +(37, 2118, 85), +(37, 2119, 85), +(37, 2120, 82), +(37, 2121, 84), +(37, 2122, 73), +(37, 2123, 74), +(37, 2124, 76), +(37, 2125, 97), +(37, 2126, 95), +(37, 2127, 99), +(37, 2128, 97), +(37, 2129, 82), +(37, 2130, 93), +(37, 2131, 75), +(37, 2132, 91), +(37, 2133, 90), +(37, 2134, 80), +(37, 2135, 93), +(37, 2136, 90), +(37, 2137, 67), +(37, 2138, 99), +(37, 2139, 89), +(37, 2140, 98), +(37, 2141, 96), +(37, 2142, 85), +(37, 2143, 81), +(37, 2144, 87), +(37, 2145, 90), +(37, 2146, 66), +(37, 2147, 99), +(37, 2148, 94), +(37, 2149, 81), +(37, 2150, 74), +(37, 2151, 88), +(37, 2152, 88), +(37, 2153, 97), +(37, 2154, 88), +(37, 2155, 71), +(37, 2156, 85), +(37, 2157, 71), +(37, 2158, 99), +(37, 2159, 82), +(37, 2160, 98), +(37, 2161, 83), +(37, 2162, 70), +(37, 2163, 75), +(37, 2164, 65), +(37, 2165, 79), +(37, 2166, 91), +(37, 2167, 96), +(37, 2168, 84), +(37, 2169, 71), +(37, 2170, 78), +(37, 2171, 88), +(37, 2172, 91), +(37, 2173, 74), +(37, 2174, 85), +(37, 2175, 78), +(37, 2176, 72), +(37, 2177, 65), +(37, 2178, 91), +(37, 2179, 65), +(37, 2180, 93), +(37, 2181, 68), +(37, 2182, 95), +(37, 2183, 81), +(37, 2184, 69), +(37, 2185, 78), +(37, 2186, 65), +(37, 2187, 65), +(37, 2188, 85), +(37, 2189, 82), +(37, 2190, 82), +(37, 2191, 87), +(37, 2192, 93), +(37, 2193, 67), +(37, 2194, 80), +(37, 2195, 74), +(37, 2196, 91), +(37, 2197, 65), +(37, 2198, 86), +(37, 2199, 94), +(37, 2200, 79), +(37, 2201, 88), +(37, 2202, 76), +(37, 2203, 87), +(37, 2204, 82), +(37, 2205, 92), +(37, 2206, 86), +(37, 2207, 97), +(37, 2208, 79), +(37, 2209, 78), +(37, 2210, 72), +(37, 2211, 99), +(37, 2212, 66), +(37, 2213, 79), +(37, 2214, 93), +(37, 2215, 66), +(37, 2216, 80), +(37, 2217, 69), +(37, 2218, 70), +(37, 2219, 76), +(37, 2220, 98), +(37, 2221, 70), +(37, 2222, 86), +(37, 2223, 83), +(37, 2224, 97), +(37, 2225, 71), +(37, 2226, 71), +(37, 2227, 70), +(37, 2228, 70), +(37, 2229, 71), +(37, 2230, 81), +(37, 2231, 85), +(37, 2232, 89), +(37, 2233, 91), +(37, 2234, 88), +(37, 2235, 96), +(37, 2236, 85), +(37, 2237, 76), +(37, 2238, 89), +(37, 2239, 70), +(37, 2240, 67), +(37, 2241, 66), +(37, 2242, 76), +(37, 2243, 81), +(37, 2244, 95), +(37, 2245, 84), +(37, 2246, 94), +(37, 2247, 91), +(37, 2248, 91), +(37, 2249, 66), +(37, 2250, 92), +(37, 2251, 86), +(37, 2252, 95), +(37, 2253, 90), +(37, 2254, 68), +(37, 2255, 92), +(37, 2256, 90), +(37, 2257, 77), +(37, 2258, 71), +(37, 2259, 80), +(37, 2260, 77), +(37, 2261, 77), +(37, 2262, 96), +(37, 2263, 80), +(37, 2264, 74), +(37, 2265, 71), +(37, 2266, 91), +(37, 2267, 82), +(37, 2268, 85), +(37, 2269, 79), +(37, 2270, 79), +(37, 2271, 86), +(37, 2272, 97), +(37, 2273, 68), +(37, 2274, 96), +(37, 2275, 95), +(37, 2276, 85), +(37, 2277, 71), +(37, 2278, 75), +(37, 2279, 67), +(37, 2280, 82), +(37, 2281, 85), +(37, 2282, 68), +(37, 2283, 69), +(37, 2284, 80), +(37, 2285, 87), +(37, 2286, 99), +(37, 2287, 85), +(37, 2288, 96), +(37, 2289, 77), +(37, 2290, 90), +(37, 2291, 74), +(37, 2292, 68), +(37, 2293, 94), +(37, 2294, 73), +(37, 2295, 87), +(37, 2296, 96), +(37, 2297, 70), +(37, 2298, 69), +(37, 2299, 75), +(37, 2300, 87), +(37, 2301, 92), +(37, 2302, 93), +(37, 2303, 75), +(37, 2304, 97), +(37, 2305, 77), +(37, 2306, 83), +(37, 2307, 84), +(37, 2308, 75), +(37, 2309, 91), +(37, 2310, 81), +(37, 2311, 67), +(37, 2312, 73), +(37, 2313, 75), +(37, 2314, 98), +(37, 2315, 92), +(37, 2316, 65), +(37, 2317, 82), +(37, 2318, 77), +(37, 2319, 67), +(37, 2320, 95), +(37, 2321, 84), +(37, 2322, 86), +(37, 2323, 91), +(37, 2324, 82), +(37, 2325, 80), +(37, 2326, 78), +(37, 2327, 73), +(37, 2328, 90), +(37, 2329, 66), +(37, 2330, 81), +(37, 2331, 68), +(37, 2332, 65), +(37, 2333, 87), +(37, 2334, 65), +(37, 2335, 89), +(37, 2336, 98), +(37, 2337, 70), +(37, 2338, 94), +(37, 2339, 84), +(37, 2340, 91), +(37, 2341, 97), +(37, 2342, 80), +(37, 2343, 91), +(37, 2344, 67), +(37, 2345, 69), +(37, 2346, 73), +(37, 2347, 68), +(37, 2348, 76), +(37, 2349, 70), +(37, 2350, 98), +(37, 2351, 78), +(37, 2352, 70), +(37, 2353, 84), +(37, 2354, 85), +(37, 2355, 96), +(37, 2356, 95), +(37, 2357, 79), +(37, 2358, 70), +(37, 2359, 73), +(37, 2360, 74), +(37, 2361, 68), +(37, 2362, 95), +(37, 2363, 66), +(37, 2364, 76), +(37, 2365, 92), +(37, 2366, 84), +(37, 2367, 80), +(37, 2368, 91), +(37, 2369, 75), +(37, 2370, 96), +(37, 2371, 74), +(37, 2372, 84), +(37, 2373, 89), +(37, 2374, 69), +(37, 2375, 92), +(37, 2376, 70), +(37, 2377, 66), +(37, 2378, 70), +(37, 2379, 80), +(37, 2380, 91), +(37, 2381, 79), +(37, 2382, 76), +(37, 2383, 72), +(37, 2384, 70), +(37, 2385, 93), +(37, 2386, 97), +(37, 2387, 68), +(37, 2388, 84), +(37, 2389, 97), +(37, 2390, 90), +(37, 2391, 80), +(37, 2392, 86), +(37, 2393, 81), +(37, 2394, 88), +(37, 2395, 68), +(37, 2396, 78), +(37, 2397, 70), +(37, 2398, 67), +(37, 2399, 65), +(37, 2400, 98), +(37, 2401, 80), +(37, 2402, 68), +(37, 2403, 84), +(37, 2404, 76), +(37, 2405, 71), +(37, 2406, 91), +(37, 2407, 66), +(37, 2408, 97), +(37, 2409, 97), +(37, 2410, 95), +(37, 2411, 78), +(37, 2412, 97), +(37, 2413, 73), +(37, 2414, 97), +(37, 2415, 79), +(37, 2416, 88), +(37, 2417, 75), +(37, 2418, 70), +(37, 2419, 77), +(37, 2420, 72), +(37, 2421, 87), +(37, 2422, 99), +(37, 2423, 91), +(37, 2424, 72), +(37, 2425, 66), +(37, 2426, 82), +(37, 2427, 96), +(37, 2428, 83), +(37, 2429, 89), +(37, 2430, 97), +(37, 2431, 91), +(37, 2432, 92), +(37, 2433, 68), +(37, 2434, 78), +(37, 2435, 97), +(37, 2436, 84), +(37, 2437, 93), +(37, 2438, 86), +(37, 2439, 90), +(37, 2440, 99), +(37, 2441, 79), +(37, 2442, 69), +(37, 2443, 85), +(37, 2444, 80), +(37, 2445, 70), +(37, 2446, 83), +(37, 2447, 95), +(37, 2448, 85), +(37, 2449, 68), +(37, 2450, 73), +(37, 2451, 82), +(37, 2452, 88), +(37, 2453, 85), +(37, 2454, 89), +(37, 2455, 85), +(37, 2456, 75), +(37, 2457, 72), +(37, 2458, 66), +(37, 2459, 88), +(37, 2460, 86), +(37, 2461, 65), +(37, 2462, 81), +(37, 2463, 75), +(37, 2464, 79), +(37, 2465, 96), +(37, 2466, 69), +(37, 2467, 90), +(37, 2468, 65), +(37, 2469, 77), +(37, 2470, 74), +(37, 2471, 83), +(37, 2472, 76), +(37, 2473, 89), +(37, 2474, 81), +(37, 2475, 72), +(37, 2476, 91), +(37, 2477, 88), +(37, 2478, 75), +(37, 2479, 83), +(37, 2480, 93), +(37, 2481, 92), +(37, 2482, 73), +(37, 2483, 87), +(37, 2484, 84), +(37, 2485, 83), +(37, 2486, 88), +(37, 2487, 99), +(37, 2488, 86), +(37, 2489, 98), +(37, 2490, 69), +(37, 2491, 69), +(37, 2492, 86), +(37, 2493, 70), +(37, 2494, 81), +(37, 2495, 75), +(37, 2496, 71), +(37, 2497, 95), +(37, 2498, 87), +(37, 2499, 71), +(37, 2500, 98), +(37, 2501, 78), +(37, 2502, 90), +(37, 2503, 86), +(37, 2504, 83), +(37, 2505, 93), +(37, 2506, 74), +(37, 2507, 71), +(37, 2508, 72), +(37, 2509, 98), +(37, 2510, 92), +(37, 2511, 88), +(37, 2512, 92), +(37, 2513, 66), +(37, 2514, 65), +(37, 2515, 94), +(37, 2516, 68), +(37, 2517, 84), +(37, 2518, 98), +(37, 2519, 90), +(37, 2520, 87), +(37, 2521, 72), +(37, 2522, 83), +(37, 2523, 78), +(37, 2524, 66), +(37, 2525, 86), +(37, 2526, 82), +(37, 2527, 98), +(37, 2528, 87), +(37, 2529, 74), +(37, 2530, 85), +(37, 2531, 82), +(37, 2532, 77), +(37, 2533, 93), +(37, 2534, 89), +(37, 2535, 97), +(37, 2536, 77), +(37, 2537, 83), +(37, 2538, 67), +(37, 2539, 77), +(37, 2540, 85), +(37, 2541, 90), +(37, 2542, 69), +(37, 2543, 97), +(37, 2544, 71), +(37, 2545, 80), +(37, 2546, 83), +(37, 2547, 93), +(37, 2548, 91), +(37, 2549, 75), +(37, 2550, 66), +(37, 2551, 65), +(37, 2552, 68), +(37, 2553, 66), +(37, 2554, 66), +(37, 2555, 67), +(37, 2556, 67), +(37, 2557, 67), +(37, 2558, 83), +(37, 2559, 75), +(37, 2560, 73), +(37, 2561, 83), +(37, 2562, 96), +(37, 2563, 76), +(37, 2564, 95), +(37, 2565, 93), +(37, 2566, 96), +(37, 2567, 78), +(37, 2568, 75), +(37, 2569, 68), +(37, 2570, 82), +(37, 2571, 91), +(37, 2572, 85), +(37, 2573, 92), +(37, 2574, 78), +(37, 2575, 90), +(37, 2576, 87), +(37, 2577, 85), +(37, 2578, 70), +(37, 2579, 74), +(37, 2580, 99), +(37, 2581, 74), +(37, 2582, 90), +(37, 2583, 94), +(37, 2584, 97), +(37, 2585, 83), +(37, 2586, 77), +(37, 2587, 91), +(37, 2588, 84), +(37, 2589, 81), +(37, 2590, 72), +(37, 2591, 82), +(37, 2592, 86), +(37, 2593, 80), +(37, 2594, 69), +(37, 2595, 85), +(37, 2596, 82), +(37, 2597, 96), +(37, 2598, 76), +(37, 2599, 87), +(37, 2600, 90), +(37, 2601, 80), +(37, 2602, 73), +(37, 2603, 68), +(37, 2604, 79), +(37, 2605, 78), +(37, 2606, 66), +(37, 2607, 81), +(37, 2608, 80), +(37, 2609, 66), +(37, 2610, 87), +(38, 1, 76), +(38, 2, 89), +(38, 3, 69), +(38, 4, 75), +(38, 5, 87), +(38, 6, 99), +(38, 7, 87), +(38, 8, 66), +(38, 9, 74), +(38, 10, 99), +(38, 11, 68), +(38, 12, 84), +(38, 13, 75), +(38, 14, 79), +(38, 15, 92), +(38, 16, 94), +(38, 17, 92), +(38, 18, 65), +(38, 19, 84), +(38, 20, 93), +(38, 21, 75), +(38, 22, 90), +(38, 23, 72), +(38, 24, 70), +(38, 25, 73), +(38, 26, 79), +(38, 27, 99), +(38, 28, 72), +(38, 29, 76), +(38, 30, 76), +(38, 31, 70), +(38, 32, 84), +(38, 33, 88), +(38, 34, 87), +(38, 35, 79), +(38, 36, 94), +(38, 37, 65), +(38, 38, 94), +(38, 39, 66), +(38, 40, 98), +(38, 41, 89), +(38, 42, 67), +(38, 43, 66), +(38, 44, 80), +(38, 45, 97), +(38, 46, 74), +(38, 47, 80), +(38, 48, 99), +(38, 49, 66), +(38, 50, 95), +(38, 51, 73), +(38, 52, 79), +(38, 53, 97), +(38, 54, 95), +(38, 55, 95), +(38, 56, 76), +(38, 57, 96), +(38, 58, 86), +(38, 59, 81), +(38, 60, 86), +(38, 61, 88), +(38, 62, 86), +(38, 63, 79), +(38, 64, 87), +(38, 65, 74), +(38, 66, 69), +(38, 67, 95), +(38, 68, 88), +(38, 69, 79), +(38, 70, 90), +(38, 71, 95), +(38, 72, 66), +(38, 73, 76), +(38, 74, 93), +(38, 75, 82), +(38, 76, 77), +(38, 77, 80), +(38, 78, 97), +(38, 79, 70), +(38, 80, 74), +(38, 81, 92), +(38, 82, 94), +(38, 83, 90), +(38, 84, 74), +(38, 85, 71), +(38, 86, 79), +(38, 87, 93), +(38, 88, 78), +(38, 89, 77), +(38, 90, 82), +(38, 91, 94), +(38, 92, 96), +(38, 93, 83), +(38, 94, 79), +(38, 95, 76), +(38, 96, 72), +(38, 97, 67), +(38, 98, 94), +(38, 99, 86), +(38, 100, 82), +(38, 101, 75), +(38, 102, 99), +(38, 103, 78), +(38, 104, 67), +(38, 105, 95), +(38, 106, 98), +(38, 107, 84), +(38, 108, 90), +(38, 109, 75), +(38, 110, 91), +(38, 111, 65), +(38, 112, 73), +(38, 113, 93), +(38, 114, 77), +(38, 115, 82), +(38, 116, 96), +(38, 117, 72), +(38, 118, 94), +(38, 119, 74), +(38, 120, 74), +(38, 121, 94), +(38, 122, 83), +(38, 123, 94), +(38, 124, 81), +(38, 125, 78), +(38, 126, 89), +(38, 127, 98), +(38, 128, 67), +(38, 129, 78), +(38, 130, 65), +(38, 131, 85), +(38, 132, 82), +(38, 133, 73), +(38, 134, 67), +(38, 135, 94), +(38, 136, 88), +(38, 137, 70), +(38, 138, 75), +(38, 139, 97), +(38, 140, 69), +(38, 141, 78), +(38, 142, 83), +(38, 143, 78), +(38, 144, 78), +(38, 145, 67), +(38, 146, 95), +(38, 147, 70), +(38, 148, 97), +(38, 149, 83), +(38, 150, 91), +(38, 151, 68), +(38, 152, 80), +(38, 153, 91), +(38, 154, 83), +(38, 155, 85), +(38, 156, 70), +(38, 157, 77), +(38, 158, 92), +(38, 159, 74), +(38, 160, 94), +(38, 161, 92), +(38, 162, 97), +(38, 163, 87), +(38, 164, 83), +(38, 165, 69), +(38, 166, 78), +(38, 167, 69), +(38, 168, 71), +(38, 169, 67), +(38, 170, 94), +(38, 171, 79), +(38, 172, 92), +(38, 173, 79), +(38, 174, 83), +(38, 175, 81), +(38, 176, 99), +(38, 177, 72), +(38, 178, 98), +(38, 179, 88), +(38, 180, 71), +(38, 181, 84), +(38, 182, 66), +(38, 183, 86), +(38, 184, 69), +(38, 185, 99), +(38, 186, 77), +(38, 187, 72), +(38, 188, 79), +(38, 189, 93), +(38, 190, 71), +(38, 191, 74), +(38, 192, 82), +(38, 193, 99), +(38, 194, 81), +(38, 195, 84), +(38, 196, 85), +(38, 197, 86), +(38, 198, 90), +(38, 199, 71), +(38, 200, 92), +(38, 201, 86), +(38, 202, 96), +(38, 203, 79), +(38, 204, 74), +(38, 205, 78), +(38, 206, 75), +(38, 207, 93), +(38, 208, 96), +(38, 209, 68), +(38, 210, 73), +(38, 211, 74), +(38, 212, 74), +(38, 213, 91), +(38, 214, 71), +(38, 215, 81), +(38, 216, 70), +(38, 217, 82), +(38, 218, 69), +(38, 219, 68), +(38, 220, 84), +(38, 221, 74), +(38, 222, 94), +(38, 223, 80), +(38, 224, 66), +(38, 225, 90), +(38, 226, 93), +(38, 227, 69), +(38, 228, 77), +(38, 229, 97), +(38, 230, 96), +(38, 231, 67), +(38, 232, 95), +(38, 233, 66), +(38, 234, 84), +(38, 235, 98), +(38, 236, 67), +(38, 237, 97), +(38, 238, 79), +(38, 239, 76), +(38, 240, 83), +(38, 241, 89), +(38, 242, 79), +(38, 243, 98), +(38, 244, 79), +(38, 245, 72), +(38, 246, 74), +(38, 247, 74), +(38, 248, 96), +(38, 249, 70), +(38, 250, 79), +(38, 251, 67), +(38, 252, 98), +(38, 253, 93), +(38, 254, 70), +(38, 255, 86), +(38, 256, 75), +(38, 257, 88), +(38, 258, 72), +(38, 259, 93), +(38, 260, 79), +(38, 261, 80), +(38, 262, 93), +(38, 263, 69), +(38, 264, 97), +(38, 265, 85), +(38, 266, 85), +(38, 267, 83), +(38, 268, 76), +(38, 269, 71), +(38, 270, 65), +(38, 271, 83), +(38, 272, 72), +(38, 273, 98), +(38, 274, 81), +(38, 275, 89), +(38, 276, 79), +(38, 277, 84), +(38, 278, 65), +(38, 279, 65), +(38, 280, 94), +(38, 281, 88), +(38, 282, 87), +(38, 283, 88), +(38, 284, 95), +(38, 285, 69), +(38, 286, 69), +(38, 287, 82), +(38, 288, 86), +(38, 289, 82), +(38, 290, 81), +(38, 291, 96), +(38, 292, 65), +(38, 293, 77), +(38, 294, 70), +(38, 295, 73), +(38, 296, 91), +(38, 297, 95), +(38, 298, 86), +(38, 299, 99), +(38, 300, 67), +(38, 301, 77), +(38, 302, 75), +(38, 303, 72), +(38, 304, 79), +(38, 305, 74), +(38, 306, 87), +(38, 307, 85), +(38, 308, 70), +(38, 309, 70), +(38, 310, 83), +(38, 311, 91), +(38, 312, 81), +(38, 313, 76), +(38, 314, 80), +(38, 315, 98), +(38, 316, 92), +(38, 317, 71), +(38, 318, 85), +(38, 319, 78), +(38, 320, 94), +(38, 321, 73), +(38, 322, 90), +(38, 323, 94), +(38, 324, 67), +(38, 325, 68), +(38, 326, 80), +(38, 327, 80), +(38, 328, 76), +(38, 329, 98), +(38, 330, 79), +(38, 331, 88), +(38, 332, 84), +(38, 333, 98), +(38, 334, 79), +(38, 335, 76), +(38, 336, 90), +(38, 337, 92), +(38, 338, 80), +(38, 339, 66), +(38, 340, 83), +(38, 341, 94), +(38, 342, 66), +(38, 343, 90), +(38, 344, 72), +(38, 345, 72), +(38, 346, 99), +(38, 347, 72), +(38, 348, 81), +(38, 349, 94), +(38, 350, 78), +(38, 351, 86), +(38, 352, 66), +(38, 353, 69), +(38, 354, 83), +(38, 355, 77), +(38, 356, 83), +(38, 357, 81), +(38, 358, 75), +(38, 359, 93), +(38, 360, 74), +(38, 361, 73), +(38, 362, 74), +(38, 363, 78), +(38, 364, 83), +(38, 365, 68), +(38, 366, 65), +(38, 367, 73), +(38, 368, 82), +(38, 369, 68), +(38, 370, 98), +(38, 371, 98), +(38, 372, 79), +(38, 373, 78), +(38, 374, 96), +(38, 375, 73), +(38, 376, 96), +(38, 377, 90), +(38, 378, 88), +(38, 379, 78), +(38, 380, 91), +(38, 381, 90), +(38, 382, 65), +(38, 383, 93), +(38, 384, 74), +(38, 385, 95), +(38, 386, 66), +(38, 387, 80), +(38, 388, 85), +(38, 389, 89), +(38, 390, 67), +(38, 391, 93), +(38, 392, 79), +(38, 393, 87), +(38, 394, 77), +(38, 395, 65), +(38, 396, 73), +(38, 397, 73), +(38, 398, 82), +(38, 399, 82), +(38, 400, 93), +(38, 401, 97), +(38, 402, 89), +(38, 403, 81), +(38, 404, 79), +(38, 405, 91), +(38, 406, 65), +(38, 407, 67), +(38, 408, 87), +(38, 409, 78), +(38, 410, 96), +(38, 411, 65), +(38, 412, 99), +(38, 413, 73), +(38, 414, 91), +(38, 415, 69), +(38, 416, 77), +(38, 417, 87), +(38, 418, 85), +(38, 419, 86), +(38, 420, 77), +(38, 421, 72), +(38, 422, 70), +(38, 423, 86), +(38, 424, 97), +(38, 425, 88), +(38, 426, 85), +(38, 427, 91), +(38, 428, 70), +(38, 429, 95), +(38, 430, 98), +(38, 431, 85), +(38, 432, 91), +(38, 433, 91), +(38, 434, 74), +(38, 435, 95), +(38, 436, 82), +(38, 437, 75), +(38, 438, 83), +(38, 439, 79), +(38, 440, 88), +(38, 441, 75), +(38, 442, 83), +(38, 443, 81), +(38, 444, 66), +(38, 445, 72), +(38, 446, 76), +(38, 447, 72), +(38, 448, 94), +(38, 449, 78), +(38, 450, 75), +(38, 451, 71), +(38, 452, 91), +(38, 453, 86), +(38, 454, 93), +(38, 455, 88), +(38, 456, 84), +(38, 457, 90), +(38, 458, 69), +(38, 459, 73), +(38, 460, 72), +(38, 461, 77), +(38, 462, 99), +(38, 463, 65), +(38, 464, 69), +(38, 465, 71), +(38, 466, 77), +(38, 467, 71), +(38, 468, 84), +(38, 469, 80), +(38, 470, 82), +(38, 471, 98), +(38, 472, 80), +(38, 473, 85), +(38, 474, 67), +(38, 475, 99), +(38, 476, 90), +(38, 477, 96), +(38, 478, 84), +(38, 479, 84), +(38, 480, 90), +(38, 481, 98), +(38, 482, 96), +(38, 483, 91), +(38, 484, 73), +(38, 485, 66), +(38, 486, 80), +(38, 487, 88), +(38, 488, 71), +(38, 489, 89), +(38, 490, 68), +(38, 491, 80), +(38, 492, 73), +(38, 493, 68), +(38, 494, 78), +(38, 495, 91), +(38, 496, 95), +(38, 497, 76), +(38, 498, 82), +(38, 499, 89), +(38, 500, 67), +(38, 501, 69), +(38, 502, 78), +(38, 503, 76), +(38, 504, 72), +(38, 505, 92), +(38, 506, 78), +(38, 507, 79), +(38, 508, 81), +(38, 509, 80), +(38, 510, 86), +(38, 511, 81), +(38, 512, 67), +(38, 513, 92), +(38, 514, 71), +(38, 515, 69), +(38, 516, 79), +(38, 517, 76), +(38, 518, 77), +(38, 519, 88), +(38, 520, 70), +(38, 521, 86), +(38, 522, 98), +(38, 523, 79), +(38, 524, 95), +(38, 525, 90), +(38, 526, 81), +(38, 527, 65), +(38, 528, 69), +(38, 529, 96), +(38, 530, 68), +(38, 531, 78), +(38, 532, 75), +(38, 533, 97), +(38, 534, 74), +(38, 535, 67), +(38, 536, 69), +(38, 537, 91), +(38, 538, 86), +(38, 539, 85), +(38, 540, 83), +(38, 541, 86), +(38, 542, 76), +(38, 543, 85), +(38, 544, 91), +(38, 545, 90), +(38, 546, 79), +(38, 547, 93), +(38, 548, 89), +(38, 549, 74), +(38, 550, 86), +(38, 551, 82), +(38, 552, 86), +(38, 553, 87), +(38, 554, 88), +(38, 555, 91), +(38, 556, 84), +(38, 557, 72), +(38, 558, 98), +(38, 559, 97), +(38, 560, 85), +(38, 561, 70), +(38, 562, 87), +(38, 563, 98), +(38, 564, 94), +(38, 1024, 80), +(38, 1025, 78), +(38, 1026, 73), +(38, 1027, 85), +(38, 1028, 70), +(38, 1029, 92), +(38, 1030, 72), +(38, 1031, 85), +(38, 1032, 74), +(38, 1033, 70), +(38, 1034, 70), +(38, 1035, 92), +(38, 1036, 98), +(38, 1037, 65), +(38, 1038, 70), +(38, 1039, 89), +(38, 1040, 97), +(38, 1041, 86), +(38, 1042, 72), +(38, 1043, 68), +(38, 1044, 84), +(38, 1045, 68), +(38, 1046, 71), +(38, 1047, 82), +(38, 1048, 81), +(38, 1049, 74), +(38, 1050, 72), +(38, 1051, 75), +(38, 1052, 73), +(38, 1053, 78), +(38, 1054, 76), +(38, 1055, 65), +(38, 1056, 69), +(38, 1057, 83), +(38, 1058, 67), +(38, 1059, 67), +(38, 1060, 85), +(38, 1061, 82), +(38, 1062, 77), +(38, 1063, 71), +(38, 1064, 91), +(38, 1065, 94), +(38, 1066, 73), +(38, 1067, 92), +(38, 1068, 84), +(38, 1069, 68), +(38, 1070, 73), +(38, 1071, 73), +(38, 1072, 79), +(38, 1073, 90), +(38, 1074, 88), +(38, 1075, 73), +(38, 1076, 91), +(38, 1077, 75), +(38, 1078, 75), +(38, 1079, 65), +(38, 1080, 81), +(38, 1081, 99), +(38, 1082, 80), +(38, 1083, 77), +(38, 1084, 72), +(38, 1085, 88), +(38, 1086, 85), +(38, 1087, 79), +(38, 1088, 74), +(38, 1089, 69), +(38, 1090, 95), +(38, 1091, 98), +(38, 1092, 70), +(38, 1093, 98), +(38, 1094, 86), +(38, 1095, 95), +(38, 1096, 95), +(38, 1097, 71), +(38, 1098, 91), +(38, 1099, 76), +(38, 1100, 68), +(38, 1101, 82), +(38, 1102, 87), +(38, 1103, 69), +(38, 1104, 93), +(38, 1105, 98), +(38, 1106, 78), +(38, 1107, 90), +(38, 1108, 95), +(38, 1109, 69), +(38, 1110, 80), +(38, 1111, 94), +(38, 1112, 98), +(38, 1113, 77), +(38, 1114, 78), +(38, 1115, 69), +(38, 1116, 71), +(38, 1117, 92), +(38, 1118, 76), +(38, 1119, 95), +(38, 1120, 90), +(38, 1121, 86), +(38, 1122, 95), +(38, 1123, 89), +(38, 1124, 85), +(38, 1125, 85), +(38, 1126, 86), +(38, 1127, 65), +(38, 1128, 82), +(38, 1129, 80), +(38, 1130, 85), +(38, 1131, 90), +(38, 1132, 98), +(38, 1133, 75), +(38, 1134, 91), +(38, 1135, 90), +(38, 1136, 87), +(38, 1137, 79), +(38, 1138, 76), +(38, 1139, 77), +(38, 1140, 68), +(38, 1141, 97), +(38, 1142, 98), +(38, 1143, 74), +(38, 1144, 76), +(38, 1145, 85), +(38, 1146, 71), +(38, 1147, 78), +(38, 1148, 72), +(38, 1149, 91), +(38, 1150, 68), +(38, 1151, 73), +(38, 1152, 94), +(38, 1153, 81), +(38, 1154, 86), +(38, 1155, 95), +(38, 1156, 75), +(38, 1157, 74), +(38, 1158, 83), +(38, 1159, 90), +(38, 1160, 81), +(38, 1161, 89), +(38, 1162, 81), +(38, 1163, 84), +(38, 1164, 93), +(38, 1165, 79), +(38, 1166, 79), +(38, 1167, 85), +(38, 1168, 76), +(38, 1169, 97), +(38, 1170, 67), +(38, 1171, 80), +(38, 1172, 73), +(38, 1173, 83), +(38, 1174, 87), +(38, 1175, 79), +(38, 1176, 94), +(38, 1177, 85), +(38, 1178, 90), +(38, 1179, 87), +(38, 1180, 87), +(38, 1181, 80), +(38, 1182, 85), +(38, 1183, 74), +(38, 1184, 85), +(38, 1185, 92), +(38, 1186, 88), +(38, 1187, 92), +(38, 1188, 68), +(38, 1189, 99), +(38, 1190, 66), +(38, 1191, 92), +(38, 1192, 93), +(38, 1193, 65), +(38, 1194, 72), +(38, 1195, 83), +(38, 1196, 80), +(38, 1197, 92), +(38, 1198, 84), +(38, 1199, 78), +(38, 1200, 93), +(38, 1201, 66), +(38, 1202, 80), +(38, 1203, 67), +(38, 1204, 93), +(38, 1205, 68), +(38, 1206, 76), +(38, 1207, 65), +(38, 1208, 74), +(38, 1209, 74), +(38, 1210, 92), +(38, 1211, 67), +(38, 1212, 76), +(38, 1213, 83), +(38, 1214, 96), +(38, 1215, 81), +(38, 1216, 83), +(38, 1217, 92), +(38, 1218, 73), +(38, 1219, 67), +(38, 1220, 88), +(38, 1221, 95), +(38, 1222, 80), +(38, 1223, 74), +(38, 1224, 83), +(38, 1225, 73), +(38, 1226, 92), +(38, 1227, 70), +(38, 1228, 92), +(38, 1229, 76), +(38, 1230, 68), +(38, 1231, 98), +(38, 1232, 79), +(38, 1233, 91), +(38, 1234, 99), +(38, 1235, 86), +(38, 1236, 70), +(38, 1237, 90), +(38, 1238, 80), +(38, 1239, 82), +(38, 1240, 74), +(38, 1241, 70), +(38, 1242, 65), +(38, 1243, 79), +(38, 1244, 82), +(38, 1245, 99), +(38, 1246, 70), +(38, 1247, 82), +(38, 1248, 91), +(38, 1249, 95), +(38, 1250, 74), +(38, 1251, 74), +(38, 1252, 95), +(38, 1253, 98), +(38, 1254, 84), +(38, 1255, 85), +(38, 1256, 86), +(38, 1257, 84), +(38, 1258, 80), +(38, 1259, 86), +(38, 1260, 74), +(38, 1261, 80), +(38, 1262, 67), +(38, 1263, 67), +(38, 1264, 65), +(38, 1265, 97), +(38, 1266, 78), +(38, 1267, 97), +(38, 1268, 79), +(38, 1269, 78), +(38, 1270, 68), +(38, 1271, 79), +(38, 1272, 75), +(38, 1273, 74), +(38, 1274, 75), +(38, 1275, 98), +(38, 1276, 80), +(38, 1277, 66), +(38, 1278, 82), +(38, 1279, 96), +(38, 1280, 71), +(38, 1281, 71), +(38, 1282, 92), +(38, 1283, 73), +(38, 1284, 82), +(38, 1285, 81), +(38, 1286, 68), +(38, 1287, 81), +(38, 1288, 73), +(38, 1289, 82), +(38, 1290, 99), +(38, 1291, 87), +(38, 1292, 87), +(38, 1293, 71), +(38, 1294, 70), +(38, 1295, 90), +(38, 1296, 95), +(38, 1297, 81), +(38, 1298, 86), +(38, 1299, 78), +(38, 1300, 76), +(38, 1301, 79), +(38, 1302, 67), +(38, 1303, 66), +(38, 1304, 68), +(38, 1305, 85), +(38, 1306, 95), +(38, 1307, 91), +(38, 1308, 74), +(38, 1309, 78), +(38, 1310, 66), +(38, 1311, 89), +(38, 1312, 79), +(38, 1313, 81), +(38, 1314, 90), +(38, 1315, 85), +(38, 1316, 90), +(38, 1317, 83), +(38, 1318, 96), +(38, 1319, 79), +(38, 1320, 94), +(38, 1321, 80), +(38, 1322, 75), +(38, 1323, 78), +(38, 1324, 75), +(38, 1325, 88), +(38, 1326, 66), +(38, 1327, 87), +(38, 1328, 97), +(38, 1329, 88), +(38, 1330, 99), +(38, 1331, 96), +(38, 1332, 68), +(38, 1333, 71), +(38, 1334, 70), +(38, 1335, 99), +(38, 1336, 79), +(38, 1337, 79), +(38, 1338, 73), +(38, 1339, 98), +(38, 1340, 82), +(38, 1341, 84), +(38, 1342, 88), +(38, 1343, 96), +(38, 1344, 79), +(38, 1345, 95), +(38, 1346, 83), +(38, 1347, 84), +(38, 1348, 71), +(38, 1349, 98), +(38, 1350, 70), +(38, 1351, 69), +(38, 1352, 81), +(38, 1353, 92), +(38, 1354, 79), +(38, 1355, 72), +(38, 1356, 95), +(38, 1357, 75), +(38, 1358, 70), +(38, 1359, 95), +(38, 1360, 88), +(38, 1361, 67), +(38, 1362, 97), +(38, 1363, 84), +(38, 1364, 97), +(38, 1365, 73), +(38, 1366, 76), +(38, 1367, 83), +(38, 1368, 85), +(38, 1369, 77), +(38, 1370, 80), +(38, 1371, 66), +(38, 1372, 98), +(38, 1373, 70), +(38, 1374, 90), +(38, 1375, 66), +(38, 1376, 74), +(38, 1377, 88), +(38, 1378, 80), +(38, 1379, 97), +(38, 1380, 76), +(38, 1381, 69), +(38, 1382, 90), +(38, 1383, 93), +(38, 1384, 80), +(38, 1385, 74), +(38, 1386, 90), +(38, 1387, 77), +(38, 1388, 96), +(38, 1389, 87); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(38, 1390, 99), +(38, 1391, 70), +(38, 1392, 82), +(38, 1393, 93), +(38, 1394, 88), +(38, 1395, 72), +(38, 1396, 72), +(38, 1397, 81), +(38, 1398, 79), +(38, 1399, 70), +(38, 1400, 94), +(38, 1401, 93), +(38, 1402, 95), +(38, 1403, 85), +(38, 1404, 92), +(38, 1405, 72), +(38, 1406, 72), +(38, 1407, 85), +(38, 1408, 77), +(38, 1409, 83), +(38, 1410, 93), +(38, 1411, 71), +(38, 1412, 87), +(38, 1413, 71), +(38, 1414, 70), +(38, 1415, 75), +(38, 1416, 68), +(38, 1417, 72), +(38, 1418, 96), +(38, 1419, 70), +(38, 1420, 76), +(38, 1421, 74), +(38, 1422, 90), +(38, 1423, 93), +(38, 1424, 66), +(38, 1425, 99), +(38, 1426, 67), +(38, 1427, 98), +(38, 1428, 88), +(38, 1429, 81), +(38, 1430, 66), +(38, 1431, 90), +(38, 1432, 97), +(38, 1433, 82), +(38, 1434, 91), +(38, 1435, 67), +(38, 1436, 90), +(38, 1437, 74), +(38, 1438, 71), +(38, 1439, 93), +(38, 1440, 78), +(38, 1441, 66), +(38, 1442, 88), +(38, 1443, 91), +(38, 1444, 79), +(38, 1445, 85), +(38, 1446, 78), +(38, 1447, 90), +(38, 1448, 67), +(38, 1449, 98), +(38, 1450, 74), +(38, 1451, 73), +(38, 1452, 91), +(38, 1453, 99), +(38, 1454, 73), +(38, 1455, 81), +(38, 1456, 72), +(38, 1457, 85), +(38, 1458, 72), +(38, 1459, 90), +(38, 1460, 69), +(38, 1461, 67), +(38, 1462, 81), +(38, 1463, 70), +(38, 1464, 74), +(38, 1465, 95), +(38, 1466, 83), +(38, 1467, 74), +(38, 1468, 80), +(38, 1469, 78), +(38, 1470, 77), +(38, 1471, 67), +(38, 1472, 67), +(38, 1473, 91), +(38, 1474, 66), +(38, 1475, 75), +(38, 1476, 67), +(38, 1477, 66), +(38, 1478, 80), +(38, 1479, 95), +(38, 1480, 95), +(38, 1481, 94), +(38, 1482, 78), +(38, 1483, 90), +(38, 1484, 79), +(38, 1485, 90), +(38, 1486, 84), +(38, 1487, 98), +(38, 1488, 72), +(38, 1489, 95), +(38, 1490, 73), +(38, 1491, 67), +(38, 1492, 68), +(38, 1493, 76), +(38, 1494, 96), +(38, 1495, 87), +(38, 1496, 94), +(38, 1497, 65), +(38, 1498, 77), +(38, 1499, 88), +(38, 1500, 65), +(38, 1501, 84), +(38, 1502, 99), +(38, 1503, 68), +(38, 1504, 67), +(38, 1505, 78), +(38, 1506, 91), +(38, 1507, 67), +(38, 1508, 91), +(38, 1509, 82), +(38, 1510, 87), +(38, 1511, 95), +(38, 1512, 66), +(38, 1513, 80), +(38, 1514, 94), +(38, 1515, 72), +(38, 1516, 91), +(38, 1517, 81), +(38, 1518, 78), +(38, 1519, 91), +(38, 1520, 92), +(38, 1521, 77), +(38, 1522, 70), +(38, 1523, 98), +(38, 1524, 97), +(38, 1525, 87), +(38, 1526, 99), +(38, 1527, 88), +(38, 1528, 78), +(38, 1529, 67), +(38, 1530, 88), +(38, 1531, 93), +(38, 1532, 99), +(38, 1533, 98), +(38, 1534, 92), +(38, 1535, 74), +(38, 1536, 85), +(38, 1537, 99), +(38, 1538, 81), +(38, 1539, 94), +(38, 1540, 95), +(38, 1541, 80), +(38, 1542, 79), +(38, 1543, 68), +(38, 1544, 75), +(38, 1545, 88), +(38, 1546, 84), +(38, 1547, 75), +(38, 1548, 95), +(38, 1549, 85), +(38, 1550, 74), +(38, 1551, 92), +(38, 1552, 71), +(38, 1553, 66), +(38, 1554, 79), +(38, 1555, 67), +(38, 1556, 87), +(38, 1557, 78), +(38, 1558, 97), +(38, 1559, 75), +(38, 1560, 73), +(38, 1561, 97), +(38, 1562, 87), +(38, 1563, 85), +(38, 1564, 85), +(38, 1565, 95), +(38, 1566, 66), +(38, 1567, 82), +(38, 1568, 87), +(38, 1569, 82), +(38, 1570, 84), +(38, 1571, 81), +(38, 1572, 76), +(38, 1573, 91), +(38, 1574, 68), +(38, 1575, 93), +(38, 1576, 72), +(38, 1577, 80), +(38, 1578, 88), +(38, 1579, 90), +(38, 1580, 67), +(38, 1581, 77), +(38, 1582, 71), +(38, 1583, 99), +(38, 1584, 79), +(38, 1585, 94), +(38, 1586, 97), +(38, 1587, 85), +(38, 2047, 73), +(38, 2048, 86), +(38, 2049, 83), +(38, 2050, 86), +(38, 2051, 95), +(38, 2052, 78), +(38, 2053, 89), +(38, 2054, 98), +(38, 2055, 90), +(38, 2056, 78), +(38, 2057, 96), +(38, 2058, 67), +(38, 2059, 87), +(38, 2060, 95), +(38, 2061, 66), +(38, 2062, 80), +(38, 2063, 85), +(38, 2064, 69), +(38, 2065, 88), +(38, 2066, 85), +(38, 2067, 73), +(38, 2068, 80), +(38, 2069, 66), +(38, 2070, 77), +(38, 2071, 91), +(38, 2072, 85), +(38, 2073, 74), +(38, 2074, 93), +(38, 2075, 93), +(38, 2076, 68), +(38, 2077, 83), +(38, 2078, 87), +(38, 2079, 98), +(38, 2080, 70), +(38, 2081, 69), +(38, 2082, 68), +(38, 2083, 77), +(38, 2084, 85), +(38, 2085, 70), +(38, 2086, 94), +(38, 2087, 77), +(38, 2088, 80), +(38, 2089, 69), +(38, 2090, 94), +(38, 2091, 97), +(38, 2092, 72), +(38, 2093, 70), +(38, 2094, 95), +(38, 2095, 83), +(38, 2096, 85), +(38, 2097, 80), +(38, 2098, 73), +(38, 2099, 83), +(38, 2100, 75), +(38, 2101, 84), +(38, 2102, 80), +(38, 2103, 84), +(38, 2104, 76), +(38, 2105, 89), +(38, 2106, 76), +(38, 2107, 65), +(38, 2108, 66), +(38, 2109, 82), +(38, 2110, 83), +(38, 2111, 65), +(38, 2112, 74), +(38, 2113, 65), +(38, 2114, 76), +(38, 2115, 88), +(38, 2116, 69), +(38, 2117, 75), +(38, 2118, 81), +(38, 2119, 79), +(38, 2120, 88), +(38, 2121, 92), +(38, 2122, 90), +(38, 2123, 88), +(38, 2124, 75), +(38, 2125, 94), +(38, 2126, 77), +(38, 2127, 93), +(38, 2128, 66), +(38, 2129, 88), +(38, 2130, 66), +(38, 2131, 91), +(38, 2132, 92), +(38, 2133, 79), +(38, 2134, 98), +(38, 2135, 65), +(38, 2136, 95), +(38, 2137, 98), +(38, 2138, 71), +(38, 2139, 91), +(38, 2140, 78), +(38, 2141, 82), +(38, 2142, 87), +(38, 2143, 87), +(38, 2144, 74), +(38, 2145, 96), +(38, 2146, 86), +(38, 2147, 71), +(38, 2148, 85), +(38, 2149, 85), +(38, 2150, 74), +(38, 2151, 84), +(38, 2152, 69), +(38, 2153, 81), +(38, 2154, 90), +(38, 2155, 66), +(38, 2156, 66), +(38, 2157, 78), +(38, 2158, 90), +(38, 2159, 66), +(38, 2160, 74), +(38, 2161, 69), +(38, 2162, 79), +(38, 2163, 69), +(38, 2164, 83), +(38, 2165, 85), +(38, 2166, 93), +(38, 2167, 94), +(38, 2168, 97), +(38, 2169, 97), +(38, 2170, 76), +(38, 2171, 99), +(38, 2172, 88), +(38, 2173, 66), +(38, 2174, 69), +(38, 2175, 83), +(38, 2176, 96), +(38, 2177, 77), +(38, 2178, 90), +(38, 2179, 85), +(38, 2180, 79), +(38, 2181, 73), +(38, 2182, 88), +(38, 2183, 84), +(38, 2184, 71), +(38, 2185, 93), +(38, 2186, 73), +(38, 2187, 67), +(38, 2188, 82), +(38, 2189, 80), +(38, 2190, 84), +(38, 2191, 74), +(38, 2192, 88), +(38, 2193, 75), +(38, 2194, 68), +(38, 2195, 86), +(38, 2196, 65), +(38, 2197, 68), +(38, 2198, 87), +(38, 2199, 81), +(38, 2200, 90), +(38, 2201, 94), +(38, 2202, 98), +(38, 2203, 76), +(38, 2204, 68), +(38, 2205, 65), +(38, 2206, 65), +(38, 2207, 85), +(38, 2208, 79), +(38, 2209, 97), +(38, 2210, 83), +(38, 2211, 89), +(38, 2212, 78), +(38, 2213, 71), +(38, 2214, 98), +(38, 2215, 99), +(38, 2216, 94), +(38, 2217, 81), +(38, 2218, 90), +(38, 2219, 77), +(38, 2220, 95), +(38, 2221, 77), +(38, 2222, 83), +(38, 2223, 99), +(38, 2224, 97), +(38, 2225, 70), +(38, 2226, 90), +(38, 2227, 92), +(38, 2228, 94), +(38, 2229, 82), +(38, 2230, 72), +(38, 2231, 88), +(38, 2232, 68), +(38, 2233, 82), +(38, 2234, 74), +(38, 2235, 72), +(38, 2236, 77), +(38, 2237, 79), +(38, 2238, 85), +(38, 2239, 96), +(38, 2240, 94), +(38, 2241, 68), +(38, 2242, 68), +(38, 2243, 89), +(38, 2244, 68), +(38, 2245, 78), +(38, 2246, 79), +(38, 2247, 77), +(38, 2248, 96), +(38, 2249, 88), +(38, 2250, 86), +(38, 2251, 97), +(38, 2252, 77), +(38, 2253, 88), +(38, 2254, 86), +(38, 2255, 70), +(38, 2256, 93), +(38, 2257, 79), +(38, 2258, 74), +(38, 2259, 94), +(38, 2260, 75), +(38, 2261, 73), +(38, 2262, 77), +(38, 2263, 85), +(38, 2264, 82), +(38, 2265, 78), +(38, 2266, 72), +(38, 2267, 76), +(38, 2268, 69), +(38, 2269, 78), +(38, 2270, 68), +(38, 2271, 79), +(38, 2272, 74), +(38, 2273, 66), +(38, 2274, 94), +(38, 2275, 66), +(38, 2276, 79), +(38, 2277, 79), +(38, 2278, 90), +(38, 2279, 76), +(38, 2280, 90), +(38, 2281, 84), +(38, 2282, 96), +(38, 2283, 93), +(38, 2284, 80), +(38, 2285, 85), +(38, 2286, 81), +(38, 2287, 88), +(38, 2288, 92), +(38, 2289, 78), +(38, 2290, 93), +(38, 2291, 75), +(38, 2292, 79), +(38, 2293, 99), +(38, 2294, 76), +(38, 2295, 94), +(38, 2296, 94), +(38, 2297, 79), +(38, 2298, 72), +(38, 2299, 86), +(38, 2300, 88), +(38, 2301, 87), +(38, 2302, 81), +(38, 2303, 76), +(38, 2304, 90), +(38, 2305, 95), +(38, 2306, 79), +(38, 2307, 69), +(38, 2308, 84), +(38, 2309, 95), +(38, 2310, 85), +(38, 2311, 97), +(38, 2312, 68), +(38, 2313, 84), +(38, 2314, 83), +(38, 2315, 71), +(38, 2316, 72), +(38, 2317, 79), +(38, 2318, 84), +(38, 2319, 75), +(38, 2320, 87), +(38, 2321, 93), +(38, 2322, 93), +(38, 2323, 99), +(38, 2324, 83), +(38, 2325, 76), +(38, 2326, 97), +(38, 2327, 71), +(38, 2328, 83), +(38, 2329, 91), +(38, 2330, 90), +(38, 2331, 66), +(38, 2332, 78), +(38, 2333, 84), +(38, 2334, 96), +(38, 2335, 93), +(38, 2336, 89), +(38, 2337, 79), +(38, 2338, 94), +(38, 2339, 93), +(38, 2340, 78), +(38, 2341, 92), +(38, 2342, 95), +(38, 2343, 77), +(38, 2344, 72), +(38, 2345, 83), +(38, 2346, 77), +(38, 2347, 88), +(38, 2348, 76), +(38, 2349, 71), +(38, 2350, 82), +(38, 2351, 69), +(38, 2352, 68), +(38, 2353, 74), +(38, 2354, 70), +(38, 2355, 81), +(38, 2356, 66), +(38, 2357, 98), +(38, 2358, 78), +(38, 2359, 65), +(38, 2360, 98), +(38, 2361, 85), +(38, 2362, 87), +(38, 2363, 73), +(38, 2364, 98), +(38, 2365, 81), +(38, 2366, 75), +(38, 2367, 74), +(38, 2368, 85), +(38, 2369, 91), +(38, 2370, 99), +(38, 2371, 96), +(38, 2372, 95), +(38, 2373, 90), +(38, 2374, 72), +(38, 2375, 80), +(38, 2376, 66), +(38, 2377, 97), +(38, 2378, 77), +(38, 2379, 82), +(38, 2380, 73), +(38, 2381, 66), +(38, 2382, 82), +(38, 2383, 81), +(38, 2384, 65), +(38, 2385, 81), +(38, 2386, 93), +(38, 2387, 87), +(38, 2388, 73), +(38, 2389, 92), +(38, 2390, 70), +(38, 2391, 85), +(38, 2392, 79), +(38, 2393, 73), +(38, 2394, 66), +(38, 2395, 90), +(38, 2396, 99), +(38, 2397, 96), +(38, 2398, 71), +(38, 2399, 72), +(38, 2400, 97), +(38, 2401, 92), +(38, 2402, 93), +(38, 2403, 81), +(38, 2404, 90), +(38, 2405, 80), +(38, 2406, 90), +(38, 2407, 90), +(38, 2408, 75), +(38, 2409, 74), +(38, 2410, 68), +(38, 2411, 78), +(38, 2412, 78), +(38, 2413, 77), +(38, 2414, 94), +(38, 2415, 88), +(38, 2416, 76), +(38, 2417, 92), +(38, 2418, 89), +(38, 2419, 65), +(38, 2420, 99), +(38, 2421, 69), +(38, 2422, 65), +(38, 2423, 87), +(38, 2424, 68), +(38, 2425, 92), +(38, 2426, 88), +(38, 2427, 90), +(38, 2428, 98), +(38, 2429, 89), +(38, 2430, 94), +(38, 2431, 99), +(38, 2432, 65), +(38, 2433, 67), +(38, 2434, 91), +(38, 2435, 71), +(38, 2436, 66), +(38, 2437, 85), +(38, 2438, 82), +(38, 2439, 97), +(38, 2440, 92), +(38, 2441, 79), +(38, 2442, 88), +(38, 2443, 83), +(38, 2444, 96), +(38, 2445, 97), +(38, 2446, 84), +(38, 2447, 96), +(38, 2448, 76), +(38, 2449, 83), +(38, 2450, 79), +(38, 2451, 99), +(38, 2452, 69), +(38, 2453, 72), +(38, 2454, 97), +(38, 2455, 70), +(38, 2456, 81), +(38, 2457, 89), +(38, 2458, 77), +(38, 2459, 87), +(38, 2460, 81), +(38, 2461, 97), +(38, 2462, 78), +(38, 2463, 95), +(38, 2464, 82), +(38, 2465, 72), +(38, 2466, 82), +(38, 2467, 80), +(38, 2468, 85), +(38, 2469, 78), +(38, 2470, 80), +(38, 2471, 71), +(38, 2472, 66), +(38, 2473, 66), +(38, 2474, 88), +(38, 2475, 79), +(38, 2476, 96), +(38, 2477, 69), +(38, 2478, 68), +(38, 2479, 78), +(38, 2480, 85), +(38, 2481, 70), +(38, 2482, 97), +(38, 2483, 97), +(38, 2484, 80), +(38, 2485, 69), +(38, 2486, 83), +(38, 2487, 97), +(38, 2488, 76), +(38, 2489, 89), +(38, 2490, 87), +(38, 2491, 99), +(38, 2492, 95), +(38, 2493, 94), +(38, 2494, 82), +(38, 2495, 72), +(38, 2496, 78), +(38, 2497, 87), +(38, 2498, 87), +(38, 2499, 74), +(38, 2500, 89), +(38, 2501, 86), +(38, 2502, 66), +(38, 2503, 99), +(38, 2504, 85), +(38, 2505, 73), +(38, 2506, 71), +(38, 2507, 91), +(38, 2508, 80), +(38, 2509, 76), +(38, 2510, 76), +(38, 2511, 81), +(38, 2512, 92), +(38, 2513, 87), +(38, 2514, 91), +(38, 2515, 95), +(38, 2516, 92), +(38, 2517, 90), +(38, 2518, 92), +(38, 2519, 89), +(38, 2520, 91), +(38, 2521, 87), +(38, 2522, 98), +(38, 2523, 89), +(38, 2524, 92), +(38, 2525, 69), +(38, 2526, 79), +(38, 2527, 65), +(38, 2528, 80), +(38, 2529, 68), +(38, 2530, 75), +(38, 2531, 96), +(38, 2532, 96), +(38, 2533, 82), +(38, 2534, 81), +(38, 2535, 65), +(38, 2536, 74), +(38, 2537, 72), +(38, 2538, 92), +(38, 2539, 88), +(38, 2540, 73), +(38, 2541, 79), +(38, 2542, 82), +(38, 2543, 99), +(38, 2544, 89), +(38, 2545, 84), +(38, 2546, 88), +(38, 2547, 98), +(38, 2548, 67), +(38, 2549, 94), +(38, 2550, 80), +(38, 2551, 85), +(38, 2552, 66), +(38, 2553, 95), +(38, 2554, 85), +(38, 2555, 77), +(38, 2556, 92), +(38, 2557, 72), +(38, 2558, 86), +(38, 2559, 99), +(38, 2560, 73), +(38, 2561, 88), +(38, 2562, 88), +(38, 2563, 69), +(38, 2564, 74), +(38, 2565, 83), +(38, 2566, 85), +(38, 2567, 65), +(38, 2568, 82), +(38, 2569, 82), +(38, 2570, 90), +(38, 2571, 78), +(38, 2572, 85), +(38, 2573, 80), +(38, 2574, 95), +(38, 2575, 69), +(38, 2576, 68), +(38, 2577, 90), +(38, 2578, 73), +(38, 2579, 76), +(38, 2580, 98), +(38, 2581, 81), +(38, 2582, 81), +(38, 2583, 80), +(38, 2584, 84), +(38, 2585, 67), +(38, 2586, 87), +(38, 2587, 69), +(38, 2588, 75), +(38, 2589, 76), +(38, 2590, 80), +(38, 2591, 98), +(38, 2592, 84), +(38, 2593, 86), +(38, 2594, 67), +(38, 2595, 71), +(38, 2596, 96), +(38, 2597, 92), +(38, 2598, 67), +(38, 2599, 87), +(38, 2600, 82), +(38, 2601, 99), +(38, 2602, 87), +(38, 2603, 74), +(38, 2604, 95), +(38, 2605, 66), +(38, 2606, 73), +(38, 2607, 78), +(38, 2608, 83), +(38, 2609, 83), +(38, 2610, 93), +(39, 1, 91), +(39, 2, 78), +(39, 3, 74), +(39, 4, 85), +(39, 5, 66), +(39, 6, 72), +(39, 7, 81), +(39, 8, 91), +(39, 9, 69), +(39, 10, 81), +(39, 11, 84), +(39, 12, 72), +(39, 13, 67), +(39, 14, 81), +(39, 15, 86), +(39, 16, 90), +(39, 17, 87), +(39, 18, 80), +(39, 19, 89), +(39, 20, 75), +(39, 21, 80), +(39, 22, 70), +(39, 23, 79), +(39, 24, 76), +(39, 25, 71), +(39, 26, 70), +(39, 27, 66), +(39, 28, 93), +(39, 29, 66), +(39, 30, 97), +(39, 31, 89), +(39, 32, 80), +(39, 33, 84), +(39, 34, 70), +(39, 35, 74), +(39, 36, 70), +(39, 37, 80), +(39, 38, 66), +(39, 39, 79), +(39, 40, 95), +(39, 41, 90), +(39, 42, 73), +(39, 43, 85), +(39, 44, 94), +(39, 45, 69), +(39, 46, 74), +(39, 47, 88), +(39, 48, 72), +(39, 49, 95), +(39, 50, 95), +(39, 51, 67), +(39, 52, 88), +(39, 53, 86), +(39, 54, 69), +(39, 55, 70), +(39, 56, 78), +(39, 57, 81), +(39, 58, 91), +(39, 59, 69), +(39, 60, 89), +(39, 61, 79), +(39, 62, 77), +(39, 63, 72), +(39, 64, 76), +(39, 65, 67), +(39, 66, 96), +(39, 67, 67), +(39, 68, 94), +(39, 69, 69), +(39, 70, 98), +(39, 71, 91), +(39, 72, 90), +(39, 73, 84), +(39, 74, 70), +(39, 75, 95), +(39, 76, 97), +(39, 77, 77), +(39, 78, 74), +(39, 79, 70), +(39, 80, 69), +(39, 81, 93), +(39, 82, 93), +(39, 83, 98), +(39, 84, 93), +(39, 85, 82), +(39, 86, 74), +(39, 87, 83), +(39, 88, 92), +(39, 89, 68), +(39, 90, 92), +(39, 91, 86), +(39, 92, 84), +(39, 93, 81), +(39, 94, 85), +(39, 95, 84), +(39, 96, 92), +(39, 97, 77), +(39, 98, 80), +(39, 99, 85), +(39, 100, 89), +(39, 101, 84), +(39, 102, 67), +(39, 103, 87), +(39, 104, 86), +(39, 105, 69), +(39, 106, 97), +(39, 107, 92), +(39, 108, 81), +(39, 109, 73), +(39, 110, 67), +(39, 111, 95), +(39, 112, 70), +(39, 113, 98), +(39, 114, 70), +(39, 115, 68), +(39, 116, 80), +(39, 117, 65), +(39, 118, 69), +(39, 119, 74), +(39, 120, 68), +(39, 121, 84), +(39, 122, 93), +(39, 123, 96), +(39, 124, 88), +(39, 125, 74), +(39, 126, 93), +(39, 127, 75), +(39, 128, 67), +(39, 129, 75), +(39, 130, 83), +(39, 131, 99), +(39, 132, 65), +(39, 133, 72), +(39, 134, 97), +(39, 135, 94), +(39, 136, 68), +(39, 137, 82), +(39, 138, 69), +(39, 139, 76), +(39, 140, 71), +(39, 141, 80), +(39, 142, 65), +(39, 143, 87), +(39, 144, 80), +(39, 145, 93), +(39, 146, 99), +(39, 147, 78), +(39, 148, 82), +(39, 149, 97), +(39, 150, 69), +(39, 151, 73), +(39, 152, 72), +(39, 153, 89), +(39, 154, 74), +(39, 155, 68), +(39, 156, 99), +(39, 157, 83), +(39, 158, 87), +(39, 159, 78), +(39, 160, 88), +(39, 161, 89), +(39, 162, 84), +(39, 163, 82), +(39, 164, 66), +(39, 165, 96), +(39, 166, 71), +(39, 167, 82), +(39, 168, 95), +(39, 169, 71), +(39, 170, 90), +(39, 171, 79), +(39, 172, 94), +(39, 173, 91), +(39, 174, 95), +(39, 175, 82), +(39, 176, 78), +(39, 177, 94), +(39, 178, 92), +(39, 179, 98), +(39, 180, 81), +(39, 181, 72), +(39, 182, 76), +(39, 183, 97), +(39, 184, 67), +(39, 185, 76), +(39, 186, 77), +(39, 187, 81), +(39, 188, 66), +(39, 189, 84), +(39, 190, 79), +(39, 191, 82), +(39, 192, 70), +(39, 193, 92), +(39, 194, 91), +(39, 195, 95), +(39, 196, 92), +(39, 197, 77), +(39, 198, 86), +(39, 199, 85), +(39, 200, 89), +(39, 201, 66), +(39, 202, 68), +(39, 203, 82), +(39, 204, 72), +(39, 205, 69), +(39, 206, 96), +(39, 207, 97), +(39, 208, 84), +(39, 209, 65), +(39, 210, 89), +(39, 211, 87), +(39, 212, 65), +(39, 213, 99), +(39, 214, 84), +(39, 215, 89), +(39, 216, 93), +(39, 217, 90), +(39, 218, 70), +(39, 219, 69), +(39, 220, 67), +(39, 221, 93), +(39, 222, 85), +(39, 223, 76), +(39, 224, 97), +(39, 225, 86), +(39, 226, 69), +(39, 227, 73), +(39, 228, 68), +(39, 229, 79), +(39, 230, 79), +(39, 231, 95), +(39, 232, 76), +(39, 233, 94), +(39, 234, 72), +(39, 235, 72), +(39, 236, 79), +(39, 237, 76), +(39, 238, 83), +(39, 239, 77), +(39, 240, 66), +(39, 241, 87), +(39, 242, 97), +(39, 243, 85), +(39, 244, 68), +(39, 245, 79), +(39, 246, 68), +(39, 247, 79), +(39, 248, 87), +(39, 249, 65), +(39, 250, 67), +(39, 251, 86), +(39, 252, 86), +(39, 253, 65), +(39, 254, 66), +(39, 255, 99), +(39, 256, 73), +(39, 257, 76), +(39, 258, 70), +(39, 259, 65), +(39, 260, 97), +(39, 261, 90), +(39, 262, 78), +(39, 263, 69), +(39, 264, 73), +(39, 265, 82), +(39, 266, 94), +(39, 267, 84), +(39, 268, 93), +(39, 269, 97), +(39, 270, 78), +(39, 271, 73), +(39, 272, 98), +(39, 273, 95), +(39, 274, 98), +(39, 275, 77), +(39, 276, 93), +(39, 277, 92), +(39, 278, 74), +(39, 279, 78), +(39, 280, 84), +(39, 281, 65), +(39, 282, 93), +(39, 283, 94), +(39, 284, 95), +(39, 285, 75), +(39, 286, 81), +(39, 287, 97), +(39, 288, 96), +(39, 289, 79), +(39, 290, 85), +(39, 291, 93), +(39, 292, 73), +(39, 293, 99), +(39, 294, 91), +(39, 295, 75), +(39, 296, 76), +(39, 297, 74), +(39, 298, 74), +(39, 299, 84), +(39, 300, 93), +(39, 301, 90), +(39, 302, 75), +(39, 303, 76), +(39, 304, 69), +(39, 305, 68), +(39, 306, 73), +(39, 307, 94), +(39, 308, 97), +(39, 309, 66), +(39, 310, 77), +(39, 311, 88), +(39, 312, 77), +(39, 313, 83), +(39, 314, 98), +(39, 315, 76), +(39, 316, 96), +(39, 317, 85), +(39, 318, 92), +(39, 319, 80), +(39, 320, 79), +(39, 321, 90), +(39, 322, 97), +(39, 323, 94), +(39, 324, 82), +(39, 325, 78), +(39, 326, 75), +(39, 327, 83), +(39, 328, 84), +(39, 329, 65), +(39, 330, 81), +(39, 331, 74), +(39, 332, 93), +(39, 333, 69), +(39, 334, 74), +(39, 335, 74), +(39, 336, 86), +(39, 337, 68), +(39, 338, 91), +(39, 339, 75), +(39, 340, 97), +(39, 341, 93), +(39, 342, 75), +(39, 343, 80), +(39, 344, 97), +(39, 345, 88), +(39, 346, 72), +(39, 347, 73), +(39, 348, 95), +(39, 349, 96), +(39, 350, 95), +(39, 351, 67), +(39, 352, 71), +(39, 353, 79), +(39, 354, 81), +(39, 355, 75), +(39, 356, 67), +(39, 357, 80), +(39, 358, 66), +(39, 359, 74), +(39, 360, 88), +(39, 361, 99), +(39, 362, 74), +(39, 363, 90), +(39, 364, 96), +(39, 365, 96), +(39, 366, 72), +(39, 367, 80), +(39, 368, 90), +(39, 369, 76), +(39, 370, 66), +(39, 371, 97), +(39, 372, 95), +(39, 373, 67), +(39, 374, 85), +(39, 375, 91), +(39, 376, 72), +(39, 377, 98), +(39, 378, 99), +(39, 379, 86), +(39, 380, 81), +(39, 381, 74), +(39, 382, 66), +(39, 383, 70), +(39, 384, 92), +(39, 385, 83), +(39, 386, 96), +(39, 387, 69), +(39, 388, 84), +(39, 389, 87), +(39, 390, 89), +(39, 391, 76), +(39, 392, 84), +(39, 393, 65), +(39, 394, 77), +(39, 395, 74), +(39, 396, 91), +(39, 397, 69), +(39, 398, 86), +(39, 399, 89), +(39, 400, 88), +(39, 401, 91), +(39, 402, 80), +(39, 403, 75), +(39, 404, 80), +(39, 405, 89), +(39, 406, 68), +(39, 407, 85), +(39, 408, 82), +(39, 409, 87), +(39, 410, 80), +(39, 411, 98), +(39, 412, 87), +(39, 413, 82), +(39, 414, 69), +(39, 415, 83), +(39, 416, 73), +(39, 417, 98), +(39, 418, 84), +(39, 419, 70), +(39, 420, 66), +(39, 421, 65), +(39, 422, 65), +(39, 423, 85), +(39, 424, 87), +(39, 425, 89), +(39, 426, 93), +(39, 427, 65), +(39, 428, 67), +(39, 429, 76), +(39, 430, 70), +(39, 431, 82), +(39, 432, 78), +(39, 433, 80), +(39, 434, 89), +(39, 435, 66), +(39, 436, 98), +(39, 437, 70), +(39, 438, 88), +(39, 439, 89), +(39, 440, 70), +(39, 441, 65), +(39, 442, 66), +(39, 443, 86), +(39, 444, 76), +(39, 445, 87), +(39, 446, 76), +(39, 447, 79), +(39, 448, 70), +(39, 449, 79), +(39, 450, 75), +(39, 451, 97), +(39, 452, 79), +(39, 453, 88), +(39, 454, 91), +(39, 455, 77), +(39, 456, 94), +(39, 457, 73), +(39, 458, 76), +(39, 459, 95), +(39, 460, 84), +(39, 461, 77), +(39, 462, 98), +(39, 463, 86), +(39, 464, 87), +(39, 465, 90), +(39, 466, 78), +(39, 467, 84), +(39, 468, 85), +(39, 469, 71), +(39, 470, 84), +(39, 471, 76), +(39, 472, 91), +(39, 473, 87), +(39, 474, 99), +(39, 475, 80), +(39, 476, 84), +(39, 477, 71), +(39, 478, 94), +(39, 479, 93), +(39, 480, 98), +(39, 481, 82), +(39, 482, 69), +(39, 483, 93), +(39, 484, 74), +(39, 485, 66), +(39, 486, 76), +(39, 487, 70), +(39, 488, 88), +(39, 489, 78), +(39, 490, 68), +(39, 491, 66), +(39, 492, 85), +(39, 493, 98), +(39, 494, 98), +(39, 495, 83), +(39, 496, 73), +(39, 497, 82), +(39, 498, 80), +(39, 499, 81), +(39, 500, 84), +(39, 501, 71), +(39, 502, 91), +(39, 503, 88), +(39, 504, 78), +(39, 505, 82), +(39, 506, 91), +(39, 507, 67), +(39, 508, 68), +(39, 509, 72), +(39, 510, 98), +(39, 511, 92), +(39, 512, 86), +(39, 513, 94), +(39, 514, 94), +(39, 515, 85), +(39, 516, 77), +(39, 517, 92), +(39, 518, 68), +(39, 519, 81), +(39, 520, 90), +(39, 521, 91), +(39, 522, 90), +(39, 523, 76), +(39, 524, 79), +(39, 525, 72), +(39, 526, 84), +(39, 527, 84), +(39, 528, 76), +(39, 529, 80), +(39, 530, 65), +(39, 531, 83), +(39, 532, 85), +(39, 533, 80), +(39, 534, 81), +(39, 535, 77), +(39, 536, 92), +(39, 537, 95), +(39, 538, 68), +(39, 539, 95), +(39, 540, 81), +(39, 541, 65), +(39, 542, 69), +(39, 543, 87), +(39, 544, 66), +(39, 545, 81), +(39, 546, 75), +(39, 547, 86), +(39, 548, 84), +(39, 549, 84), +(39, 550, 72), +(39, 551, 87), +(39, 552, 94), +(39, 553, 83), +(39, 554, 69), +(39, 555, 72), +(39, 556, 97), +(39, 557, 65), +(39, 558, 84), +(39, 559, 98), +(39, 560, 94), +(39, 561, 85), +(39, 562, 75), +(39, 563, 92), +(39, 564, 76), +(39, 1024, 67), +(39, 1025, 67), +(39, 1026, 66), +(39, 1027, 89), +(39, 1028, 74), +(39, 1029, 99), +(39, 1030, 74), +(39, 1031, 97), +(39, 1032, 70), +(39, 1033, 74), +(39, 1034, 75), +(39, 1035, 78), +(39, 1036, 78), +(39, 1037, 83), +(39, 1038, 70), +(39, 1039, 86), +(39, 1040, 97), +(39, 1041, 87), +(39, 1042, 83), +(39, 1043, 77), +(39, 1044, 97), +(39, 1045, 77), +(39, 1046, 78), +(39, 1047, 74), +(39, 1048, 99), +(39, 1049, 83), +(39, 1050, 72), +(39, 1051, 83), +(39, 1052, 84), +(39, 1053, 84), +(39, 1054, 96), +(39, 1055, 95), +(39, 1056, 94), +(39, 1057, 80), +(39, 1058, 65), +(39, 1059, 75), +(39, 1060, 70), +(39, 1061, 86), +(39, 1062, 72), +(39, 1063, 68), +(39, 1064, 68), +(39, 1065, 68), +(39, 1066, 67), +(39, 1067, 70), +(39, 1068, 75), +(39, 1069, 78), +(39, 1070, 78), +(39, 1071, 98), +(39, 1072, 70), +(39, 1073, 92), +(39, 1074, 86), +(39, 1075, 81), +(39, 1076, 69), +(39, 1077, 77), +(39, 1078, 80), +(39, 1079, 89), +(39, 1080, 87), +(39, 1081, 75), +(39, 1082, 99), +(39, 1083, 65), +(39, 1084, 92), +(39, 1085, 94), +(39, 1086, 68), +(39, 1087, 70), +(39, 1088, 66), +(39, 1089, 79), +(39, 1090, 87), +(39, 1091, 71), +(39, 1092, 94), +(39, 1093, 69), +(39, 1094, 87), +(39, 1095, 69), +(39, 1096, 76), +(39, 1097, 99), +(39, 1098, 66), +(39, 1099, 75), +(39, 1100, 89), +(39, 1101, 67), +(39, 1102, 65), +(39, 1103, 73), +(39, 1104, 80), +(39, 1105, 74), +(39, 1106, 85), +(39, 1107, 97), +(39, 1108, 85), +(39, 1109, 78), +(39, 1110, 93), +(39, 1111, 96), +(39, 1112, 94), +(39, 1113, 76), +(39, 1114, 94), +(39, 1115, 84), +(39, 1116, 84), +(39, 1117, 85), +(39, 1118, 96), +(39, 1119, 87), +(39, 1120, 81), +(39, 1121, 93), +(39, 1122, 84), +(39, 1123, 79), +(39, 1124, 72), +(39, 1125, 97), +(39, 1126, 85), +(39, 1127, 71), +(39, 1128, 91), +(39, 1129, 83), +(39, 1130, 83), +(39, 1131, 69), +(39, 1132, 83), +(39, 1133, 81), +(39, 1134, 94), +(39, 1135, 88), +(39, 1136, 98), +(39, 1137, 82), +(39, 1138, 97), +(39, 1139, 89), +(39, 1140, 68), +(39, 1141, 70), +(39, 1142, 98), +(39, 1143, 67), +(39, 1144, 93), +(39, 1145, 71), +(39, 1146, 65), +(39, 1147, 84), +(39, 1148, 74), +(39, 1149, 87), +(39, 1150, 93), +(39, 1151, 73), +(39, 1152, 76), +(39, 1153, 66), +(39, 1154, 92), +(39, 1155, 83), +(39, 1156, 91), +(39, 1157, 75), +(39, 1158, 95), +(39, 1159, 78), +(39, 1160, 95), +(39, 1161, 75), +(39, 1162, 72), +(39, 1163, 90), +(39, 1164, 92), +(39, 1165, 70), +(39, 1166, 68), +(39, 1167, 70), +(39, 1168, 93), +(39, 1169, 97), +(39, 1170, 76), +(39, 1171, 76), +(39, 1172, 96), +(39, 1173, 96), +(39, 1174, 90), +(39, 1175, 94), +(39, 1176, 74), +(39, 1177, 85), +(39, 1178, 73), +(39, 1179, 85), +(39, 1180, 77), +(39, 1181, 79), +(39, 1182, 66), +(39, 1183, 87), +(39, 1184, 67), +(39, 1185, 89), +(39, 1186, 86), +(39, 1187, 76), +(39, 1188, 95), +(39, 1189, 80), +(39, 1190, 71), +(39, 1191, 91), +(39, 1192, 75), +(39, 1193, 69), +(39, 1194, 65), +(39, 1195, 82), +(39, 1196, 81), +(39, 1197, 77), +(39, 1198, 69), +(39, 1199, 82), +(39, 1200, 69), +(39, 1201, 69), +(39, 1202, 87), +(39, 1203, 68), +(39, 1204, 73), +(39, 1205, 80), +(39, 1206, 90), +(39, 1207, 90), +(39, 1208, 84), +(39, 1209, 69), +(39, 1210, 91), +(39, 1211, 88), +(39, 1212, 97), +(39, 1213, 75), +(39, 1214, 82), +(39, 1215, 96), +(39, 1216, 65), +(39, 1217, 90), +(39, 1218, 73), +(39, 1219, 91), +(39, 1220, 72), +(39, 1221, 74), +(39, 1222, 99), +(39, 1223, 87), +(39, 1224, 67), +(39, 1225, 68), +(39, 1226, 99), +(39, 1227, 78), +(39, 1228, 86), +(39, 1229, 87), +(39, 1230, 83), +(39, 1231, 86), +(39, 1232, 82), +(39, 1233, 65), +(39, 1234, 93), +(39, 1235, 69), +(39, 1236, 78), +(39, 1237, 93), +(39, 1238, 70), +(39, 1239, 71), +(39, 1240, 83), +(39, 1241, 67), +(39, 1242, 78), +(39, 1243, 82), +(39, 1244, 68), +(39, 1245, 99), +(39, 1246, 82), +(39, 1247, 77), +(39, 1248, 78), +(39, 1249, 80), +(39, 1250, 99), +(39, 1251, 87), +(39, 1252, 81), +(39, 1253, 67), +(39, 1254, 68), +(39, 1255, 83), +(39, 1256, 86), +(39, 1257, 83), +(39, 1258, 84), +(39, 1259, 69), +(39, 1260, 86), +(39, 1261, 79), +(39, 1262, 70), +(39, 1263, 80), +(39, 1264, 89), +(39, 1265, 86), +(39, 1266, 85), +(39, 1267, 89), +(39, 1268, 66), +(39, 1269, 84), +(39, 1270, 83), +(39, 1271, 99), +(39, 1272, 80), +(39, 1273, 89), +(39, 1274, 92), +(39, 1275, 98), +(39, 1276, 86), +(39, 1277, 74), +(39, 1278, 95), +(39, 1279, 79), +(39, 1280, 91), +(39, 1281, 66), +(39, 1282, 91), +(39, 1283, 98), +(39, 1284, 93), +(39, 1285, 87), +(39, 1286, 70), +(39, 1287, 86), +(39, 1288, 74), +(39, 1289, 89), +(39, 1290, 98), +(39, 1291, 77), +(39, 1292, 96), +(39, 1293, 98), +(39, 1294, 69), +(39, 1295, 88), +(39, 1296, 93), +(39, 1297, 91), +(39, 1298, 85), +(39, 1299, 67), +(39, 1300, 70), +(39, 1301, 88), +(39, 1302, 78), +(39, 1303, 83), +(39, 1304, 77), +(39, 1305, 68), +(39, 1306, 65), +(39, 1307, 96), +(39, 1308, 86), +(39, 1309, 71), +(39, 1310, 66), +(39, 1311, 68), +(39, 1312, 83), +(39, 1313, 91), +(39, 1314, 69), +(39, 1315, 84), +(39, 1316, 99), +(39, 1317, 83), +(39, 1318, 96), +(39, 1319, 74), +(39, 1320, 83), +(39, 1321, 92), +(39, 1322, 87), +(39, 1323, 94), +(39, 1324, 69), +(39, 1325, 84), +(39, 1326, 73), +(39, 1327, 65), +(39, 1328, 82), +(39, 1329, 98), +(39, 1330, 86), +(39, 1331, 83), +(39, 1332, 91), +(39, 1333, 81), +(39, 1334, 98), +(39, 1335, 92), +(39, 1336, 78), +(39, 1337, 79), +(39, 1338, 75), +(39, 1339, 93), +(39, 1340, 65), +(39, 1341, 94), +(39, 1342, 81), +(39, 1343, 96), +(39, 1344, 85), +(39, 1345, 76), +(39, 1346, 74), +(39, 1347, 69), +(39, 1348, 93), +(39, 1349, 80), +(39, 1350, 91), +(39, 1351, 67), +(39, 1352, 92), +(39, 1353, 82), +(39, 1354, 93), +(39, 1355, 89), +(39, 1356, 66), +(39, 1357, 88), +(39, 1358, 69), +(39, 1359, 80), +(39, 1360, 95), +(39, 1361, 93), +(39, 1362, 72), +(39, 1363, 92), +(39, 1364, 83), +(39, 1365, 95), +(39, 1366, 75), +(39, 1367, 92), +(39, 1368, 71), +(39, 1369, 89), +(39, 1370, 72), +(39, 1371, 85), +(39, 1372, 86), +(39, 1373, 75), +(39, 1374, 77), +(39, 1375, 92), +(39, 1376, 77), +(39, 1377, 85), +(39, 1378, 78), +(39, 1379, 74), +(39, 1380, 99), +(39, 1381, 76), +(39, 1382, 94), +(39, 1383, 74), +(39, 1384, 70), +(39, 1385, 68), +(39, 1386, 87), +(39, 1387, 65), +(39, 1388, 98), +(39, 1389, 99), +(39, 1390, 75), +(39, 1391, 90), +(39, 1392, 83), +(39, 1393, 76), +(39, 1394, 81), +(39, 1395, 95), +(39, 1396, 69), +(39, 1397, 93), +(39, 1398, 65), +(39, 1399, 68), +(39, 1400, 70), +(39, 1401, 81), +(39, 1402, 76), +(39, 1403, 79), +(39, 1404, 73), +(39, 1405, 88), +(39, 1406, 94), +(39, 1407, 66), +(39, 1408, 71), +(39, 1409, 83), +(39, 1410, 76), +(39, 1411, 87), +(39, 1412, 80), +(39, 1413, 88), +(39, 1414, 98), +(39, 1415, 95), +(39, 1416, 65), +(39, 1417, 75), +(39, 1418, 86), +(39, 1419, 74), +(39, 1420, 88), +(39, 1421, 77), +(39, 1422, 87), +(39, 1423, 92), +(39, 1424, 98), +(39, 1425, 81), +(39, 1426, 95), +(39, 1427, 89), +(39, 1428, 80), +(39, 1429, 76), +(39, 1430, 81), +(39, 1431, 77), +(39, 1432, 71), +(39, 1433, 66), +(39, 1434, 74), +(39, 1435, 70), +(39, 1436, 75), +(39, 1437, 94), +(39, 1438, 80), +(39, 1439, 89), +(39, 1440, 91), +(39, 1441, 86), +(39, 1442, 71), +(39, 1443, 88), +(39, 1444, 69), +(39, 1445, 86), +(39, 1446, 67), +(39, 1447, 93), +(39, 1448, 96), +(39, 1449, 70), +(39, 1450, 87), +(39, 1451, 77), +(39, 1452, 86), +(39, 1453, 96), +(39, 1454, 98), +(39, 1455, 66), +(39, 1456, 80), +(39, 1457, 86), +(39, 1458, 90), +(39, 1459, 91), +(39, 1460, 75), +(39, 1461, 77), +(39, 1462, 80), +(39, 1463, 92), +(39, 1464, 84), +(39, 1465, 72), +(39, 1466, 66), +(39, 1467, 87), +(39, 1468, 69), +(39, 1469, 67), +(39, 1470, 76), +(39, 1471, 95), +(39, 1472, 91), +(39, 1473, 71), +(39, 1474, 86), +(39, 1475, 82), +(39, 1476, 87), +(39, 1477, 67), +(39, 1478, 96), +(39, 1479, 90), +(39, 1480, 70), +(39, 1481, 91), +(39, 1482, 84), +(39, 1483, 81), +(39, 1484, 96), +(39, 1485, 74), +(39, 1486, 88), +(39, 1487, 71), +(39, 1488, 83), +(39, 1489, 85), +(39, 1490, 69), +(39, 1491, 73), +(39, 1492, 80), +(39, 1493, 98), +(39, 1494, 68), +(39, 1495, 75), +(39, 1496, 80), +(39, 1497, 95), +(39, 1498, 98), +(39, 1499, 69), +(39, 1500, 87), +(39, 1501, 82), +(39, 1502, 97), +(39, 1503, 98), +(39, 1504, 90), +(39, 1505, 66), +(39, 1506, 88), +(39, 1507, 68), +(39, 1508, 74), +(39, 1509, 67), +(39, 1510, 84), +(39, 1511, 93), +(39, 1512, 86), +(39, 1513, 78), +(39, 1514, 72), +(39, 1515, 78), +(39, 1516, 71), +(39, 1517, 71), +(39, 1518, 73), +(39, 1519, 82), +(39, 1520, 71), +(39, 1521, 98), +(39, 1522, 99), +(39, 1523, 69), +(39, 1524, 87), +(39, 1525, 95), +(39, 1526, 90), +(39, 1527, 67), +(39, 1528, 81), +(39, 1529, 88), +(39, 1530, 86), +(39, 1531, 99), +(39, 1532, 72), +(39, 1533, 79), +(39, 1534, 91), +(39, 1535, 81), +(39, 1536, 68), +(39, 1537, 95), +(39, 1538, 69), +(39, 1539, 96), +(39, 1540, 96), +(39, 1541, 86), +(39, 1542, 75), +(39, 1543, 73), +(39, 1544, 99), +(39, 1545, 85), +(39, 1546, 91), +(39, 1547, 87), +(39, 1548, 67), +(39, 1549, 67), +(39, 1550, 90), +(39, 1551, 95), +(39, 1552, 68), +(39, 1553, 81), +(39, 1554, 78), +(39, 1555, 75), +(39, 1556, 83), +(39, 1557, 72), +(39, 1558, 87), +(39, 1559, 79), +(39, 1560, 87), +(39, 1561, 92), +(39, 1562, 75), +(39, 1563, 73), +(39, 1564, 66), +(39, 1565, 80), +(39, 1566, 95), +(39, 1567, 78), +(39, 1568, 85), +(39, 1569, 65), +(39, 1570, 85), +(39, 1571, 70), +(39, 1572, 69), +(39, 1573, 95), +(39, 1574, 98), +(39, 1575, 82), +(39, 1576, 76), +(39, 1577, 92), +(39, 1578, 96), +(39, 1579, 93), +(39, 1580, 81), +(39, 1581, 69), +(39, 1582, 88), +(39, 1583, 77), +(39, 1584, 70), +(39, 1585, 93), +(39, 1586, 97), +(39, 1587, 73), +(39, 2047, 65), +(39, 2048, 95), +(39, 2049, 73), +(39, 2050, 65), +(39, 2051, 66), +(39, 2052, 87), +(39, 2053, 72), +(39, 2054, 79), +(39, 2055, 69), +(39, 2056, 70), +(39, 2057, 78), +(39, 2058, 73), +(39, 2059, 77), +(39, 2060, 75), +(39, 2061, 72), +(39, 2062, 89), +(39, 2063, 71), +(39, 2064, 99), +(39, 2065, 92), +(39, 2066, 71), +(39, 2067, 88), +(39, 2068, 89), +(39, 2069, 80), +(39, 2070, 86), +(39, 2071, 79), +(39, 2072, 97), +(39, 2073, 70), +(39, 2074, 76), +(39, 2075, 97), +(39, 2076, 69), +(39, 2077, 74), +(39, 2078, 65), +(39, 2079, 88), +(39, 2080, 69), +(39, 2081, 67), +(39, 2082, 66), +(39, 2083, 90), +(39, 2084, 79), +(39, 2085, 94), +(39, 2086, 83), +(39, 2087, 91), +(39, 2088, 69), +(39, 2089, 82), +(39, 2090, 66), +(39, 2091, 85), +(39, 2092, 91), +(39, 2093, 72), +(39, 2094, 77), +(39, 2095, 71), +(39, 2096, 80), +(39, 2097, 72), +(39, 2098, 87), +(39, 2099, 67), +(39, 2100, 81), +(39, 2101, 97), +(39, 2102, 76), +(39, 2103, 89), +(39, 2104, 84), +(39, 2105, 90), +(39, 2106, 78), +(39, 2107, 75), +(39, 2108, 77), +(39, 2109, 65), +(39, 2110, 97), +(39, 2111, 79), +(39, 2112, 79), +(39, 2113, 78), +(39, 2114, 71), +(39, 2115, 81), +(39, 2116, 65), +(39, 2117, 74), +(39, 2118, 88), +(39, 2119, 72), +(39, 2120, 95), +(39, 2121, 75), +(39, 2122, 95), +(39, 2123, 83), +(39, 2124, 82), +(39, 2125, 77), +(39, 2126, 69), +(39, 2127, 69), +(39, 2128, 79), +(39, 2129, 92), +(39, 2130, 93), +(39, 2131, 98), +(39, 2132, 89), +(39, 2133, 94), +(39, 2134, 81), +(39, 2135, 88), +(39, 2136, 71), +(39, 2137, 87), +(39, 2138, 99), +(39, 2139, 88), +(39, 2140, 65), +(39, 2141, 95), +(39, 2142, 81), +(39, 2143, 96), +(39, 2144, 79), +(39, 2145, 74), +(39, 2146, 96), +(39, 2147, 98), +(39, 2148, 76), +(39, 2149, 85), +(39, 2150, 84), +(39, 2151, 90), +(39, 2152, 85), +(39, 2153, 86), +(39, 2154, 88), +(39, 2155, 90), +(39, 2156, 81), +(39, 2157, 79), +(39, 2158, 86), +(39, 2159, 88), +(39, 2160, 83), +(39, 2161, 68), +(39, 2162, 85), +(39, 2163, 94), +(39, 2164, 83), +(39, 2165, 89), +(39, 2166, 95), +(39, 2167, 82), +(39, 2168, 98), +(39, 2169, 67), +(39, 2170, 81), +(39, 2171, 97), +(39, 2172, 69), +(39, 2173, 78), +(39, 2174, 98), +(39, 2175, 81), +(39, 2176, 93), +(39, 2177, 92), +(39, 2178, 78), +(39, 2179, 96), +(39, 2180, 84), +(39, 2181, 97), +(39, 2182, 93), +(39, 2183, 75), +(39, 2184, 83), +(39, 2185, 96), +(39, 2186, 72), +(39, 2187, 74), +(39, 2188, 89), +(39, 2189, 88), +(39, 2190, 76), +(39, 2191, 82), +(39, 2192, 97), +(39, 2193, 72), +(39, 2194, 68), +(39, 2195, 74), +(39, 2196, 92), +(39, 2197, 80), +(39, 2198, 78), +(39, 2199, 91), +(39, 2200, 78), +(39, 2201, 71), +(39, 2202, 91), +(39, 2203, 90), +(39, 2204, 66), +(39, 2205, 87), +(39, 2206, 74), +(39, 2207, 71), +(39, 2208, 95), +(39, 2209, 80), +(39, 2210, 66), +(39, 2211, 84), +(39, 2212, 93), +(39, 2213, 89), +(39, 2214, 76), +(39, 2215, 90), +(39, 2216, 94), +(39, 2217, 98), +(39, 2218, 71), +(39, 2219, 93), +(39, 2220, 80), +(39, 2221, 75), +(39, 2222, 94), +(39, 2223, 78), +(39, 2224, 92), +(39, 2225, 73), +(39, 2226, 65), +(39, 2227, 79), +(39, 2228, 88), +(39, 2229, 95), +(39, 2230, 87), +(39, 2231, 84), +(39, 2232, 82), +(39, 2233, 74), +(39, 2234, 79), +(39, 2235, 78), +(39, 2236, 99), +(39, 2237, 66), +(39, 2238, 93), +(39, 2239, 67), +(39, 2240, 99), +(39, 2241, 78), +(39, 2242, 81), +(39, 2243, 66), +(39, 2244, 97), +(39, 2245, 76), +(39, 2246, 87), +(39, 2247, 80), +(39, 2248, 72), +(39, 2249, 75), +(39, 2250, 91), +(39, 2251, 95), +(39, 2252, 70), +(39, 2253, 68), +(39, 2254, 95), +(39, 2255, 79), +(39, 2256, 96), +(39, 2257, 65), +(39, 2258, 92), +(39, 2259, 97), +(39, 2260, 79), +(39, 2261, 68), +(39, 2262, 68), +(39, 2263, 84), +(39, 2264, 87), +(39, 2265, 78), +(39, 2266, 95), +(39, 2267, 69), +(39, 2268, 94), +(39, 2269, 87), +(39, 2270, 71), +(39, 2271, 73), +(39, 2272, 81), +(39, 2273, 94), +(39, 2274, 81), +(39, 2275, 86), +(39, 2276, 78), +(39, 2277, 81), +(39, 2278, 88), +(39, 2279, 77), +(39, 2280, 70), +(39, 2281, 99), +(39, 2282, 69), +(39, 2283, 87), +(39, 2284, 94), +(39, 2285, 66), +(39, 2286, 77), +(39, 2287, 84), +(39, 2288, 70), +(39, 2289, 95), +(39, 2290, 94), +(39, 2291, 90), +(39, 2292, 90), +(39, 2293, 79), +(39, 2294, 99), +(39, 2295, 74), +(39, 2296, 85), +(39, 2297, 85), +(39, 2298, 86), +(39, 2299, 69), +(39, 2300, 79), +(39, 2301, 95), +(39, 2302, 97), +(39, 2303, 92), +(39, 2304, 93), +(39, 2305, 72), +(39, 2306, 80), +(39, 2307, 66), +(39, 2308, 97), +(39, 2309, 70), +(39, 2310, 83), +(39, 2311, 79), +(39, 2312, 92), +(39, 2313, 94), +(39, 2314, 91), +(39, 2315, 86), +(39, 2316, 65), +(39, 2317, 85), +(39, 2318, 92), +(39, 2319, 74), +(39, 2320, 87), +(39, 2321, 79), +(39, 2322, 72), +(39, 2323, 87), +(39, 2324, 67), +(39, 2325, 76), +(39, 2326, 80), +(39, 2327, 69), +(39, 2328, 78), +(39, 2329, 86), +(39, 2330, 72), +(39, 2331, 97), +(39, 2332, 96), +(39, 2333, 95), +(39, 2334, 80), +(39, 2335, 99), +(39, 2336, 89), +(39, 2337, 83), +(39, 2338, 89), +(39, 2339, 80), +(39, 2340, 88), +(39, 2341, 71), +(39, 2342, 99), +(39, 2343, 81), +(39, 2344, 93), +(39, 2345, 73), +(39, 2346, 68), +(39, 2347, 66), +(39, 2348, 89), +(39, 2349, 80), +(39, 2350, 89), +(39, 2351, 81), +(39, 2352, 68), +(39, 2353, 87), +(39, 2354, 99), +(39, 2355, 87), +(39, 2356, 86), +(39, 2357, 84), +(39, 2358, 82), +(39, 2359, 76), +(39, 2360, 67), +(39, 2361, 86), +(39, 2362, 86), +(39, 2363, 66), +(39, 2364, 90), +(39, 2365, 99), +(39, 2366, 96), +(39, 2367, 67), +(39, 2368, 87), +(39, 2369, 95), +(39, 2370, 71), +(39, 2371, 87), +(39, 2372, 88), +(39, 2373, 83), +(39, 2374, 91), +(39, 2375, 97), +(39, 2376, 91), +(39, 2377, 86), +(39, 2378, 75), +(39, 2379, 69), +(39, 2380, 97), +(39, 2381, 99), +(39, 2382, 82), +(39, 2383, 88), +(39, 2384, 87), +(39, 2385, 96), +(39, 2386, 75), +(39, 2387, 65), +(39, 2388, 85), +(39, 2389, 68), +(39, 2390, 83), +(39, 2391, 88), +(39, 2392, 76), +(39, 2393, 90), +(39, 2394, 71), +(39, 2395, 77), +(39, 2396, 90), +(39, 2397, 98), +(39, 2398, 93), +(39, 2399, 99), +(39, 2400, 93), +(39, 2401, 87), +(39, 2402, 89), +(39, 2403, 92), +(39, 2404, 91), +(39, 2405, 85), +(39, 2406, 80), +(39, 2407, 83), +(39, 2408, 90), +(39, 2409, 87), +(39, 2410, 96), +(39, 2411, 90), +(39, 2412, 66), +(39, 2413, 66), +(39, 2414, 79), +(39, 2415, 67), +(39, 2416, 89), +(39, 2417, 66), +(39, 2418, 67), +(39, 2419, 67), +(39, 2420, 74), +(39, 2421, 91), +(39, 2422, 69), +(39, 2423, 98), +(39, 2424, 98), +(39, 2425, 91), +(39, 2426, 94), +(39, 2427, 99), +(39, 2428, 68), +(39, 2429, 81), +(39, 2430, 81), +(39, 2431, 85), +(39, 2432, 90), +(39, 2433, 65), +(39, 2434, 85), +(39, 2435, 66), +(39, 2436, 87), +(39, 2437, 80), +(39, 2438, 87), +(39, 2439, 82), +(39, 2440, 98), +(39, 2441, 93), +(39, 2442, 99), +(39, 2443, 95), +(39, 2444, 71), +(39, 2445, 72), +(39, 2446, 70), +(39, 2447, 94), +(39, 2448, 94), +(39, 2449, 74), +(39, 2450, 75), +(39, 2451, 82), +(39, 2452, 87), +(39, 2453, 75), +(39, 2454, 85), +(39, 2455, 65), +(39, 2456, 79), +(39, 2457, 97), +(39, 2458, 85), +(39, 2459, 70), +(39, 2460, 84), +(39, 2461, 84), +(39, 2462, 85), +(39, 2463, 79), +(39, 2464, 74), +(39, 2465, 75), +(39, 2466, 69), +(39, 2467, 98), +(39, 2468, 98), +(39, 2469, 94), +(39, 2470, 79), +(39, 2471, 77), +(39, 2472, 71), +(39, 2473, 69), +(39, 2474, 95), +(39, 2475, 79), +(39, 2476, 71), +(39, 2477, 85), +(39, 2478, 84), +(39, 2479, 76), +(39, 2480, 81), +(39, 2481, 78), +(39, 2482, 98), +(39, 2483, 90), +(39, 2484, 81), +(39, 2485, 66), +(39, 2486, 85), +(39, 2487, 88), +(39, 2488, 90), +(39, 2489, 86), +(39, 2490, 94), +(39, 2491, 83), +(39, 2492, 84), +(39, 2493, 89), +(39, 2494, 65), +(39, 2495, 72), +(39, 2496, 77), +(39, 2497, 86), +(39, 2498, 77), +(39, 2499, 92), +(39, 2500, 85), +(39, 2501, 96), +(39, 2502, 65), +(39, 2503, 70), +(39, 2504, 74), +(39, 2505, 95), +(39, 2506, 70), +(39, 2507, 73), +(39, 2508, 86), +(39, 2509, 90), +(39, 2510, 74), +(39, 2511, 75), +(39, 2512, 83), +(39, 2513, 67), +(39, 2514, 90), +(39, 2515, 93), +(39, 2516, 85), +(39, 2517, 99), +(39, 2518, 67), +(39, 2519, 78), +(39, 2520, 92), +(39, 2521, 86), +(39, 2522, 71), +(39, 2523, 76), +(39, 2524, 90), +(39, 2525, 89), +(39, 2526, 87), +(39, 2527, 69), +(39, 2528, 74), +(39, 2529, 89), +(39, 2530, 90), +(39, 2531, 99), +(39, 2532, 78), +(39, 2533, 65), +(39, 2534, 73), +(39, 2535, 76), +(39, 2536, 75), +(39, 2537, 83), +(39, 2538, 92), +(39, 2539, 77), +(39, 2540, 80), +(39, 2541, 97), +(39, 2542, 68), +(39, 2543, 67), +(39, 2544, 65), +(39, 2545, 78), +(39, 2546, 90), +(39, 2547, 76), +(39, 2548, 69), +(39, 2549, 77), +(39, 2550, 70), +(39, 2551, 95), +(39, 2552, 98), +(39, 2553, 72), +(39, 2554, 91), +(39, 2555, 86), +(39, 2556, 86), +(39, 2557, 94), +(39, 2558, 82), +(39, 2559, 66), +(39, 2560, 80), +(39, 2561, 90), +(39, 2562, 88), +(39, 2563, 85), +(39, 2564, 93), +(39, 2565, 74), +(39, 2566, 73), +(39, 2567, 94), +(39, 2568, 85), +(39, 2569, 73), +(39, 2570, 69), +(39, 2571, 84), +(39, 2572, 72), +(39, 2573, 94), +(39, 2574, 70), +(39, 2575, 83), +(39, 2576, 84), +(39, 2577, 93), +(39, 2578, 92), +(39, 2579, 93), +(39, 2580, 96), +(39, 2581, 83), +(39, 2582, 74), +(39, 2583, 87), +(39, 2584, 98), +(39, 2585, 89), +(39, 2586, 71), +(39, 2587, 78), +(39, 2588, 92), +(39, 2589, 71), +(39, 2590, 84), +(39, 2591, 72), +(39, 2592, 99), +(39, 2593, 90), +(39, 2594, 97), +(39, 2595, 69), +(39, 2596, 65), +(39, 2597, 71), +(39, 2598, 78), +(39, 2599, 78), +(39, 2600, 73), +(39, 2601, 82), +(39, 2602, 79), +(39, 2603, 69), +(39, 2604, 66), +(39, 2605, 66), +(39, 2606, 69), +(39, 2607, 83), +(39, 2608, 78), +(39, 2609, 81), +(39, 2610, 70), +(40, 1, 90), +(40, 2, 93), +(40, 3, 95), +(40, 4, 68), +(40, 5, 77), +(40, 6, 68), +(40, 7, 81), +(40, 8, 85), +(40, 9, 93), +(40, 10, 80), +(40, 11, 80), +(40, 12, 77), +(40, 13, 77), +(40, 14, 71), +(40, 15, 86), +(40, 16, 67), +(40, 17, 94), +(40, 18, 70), +(40, 19, 95), +(40, 20, 69), +(40, 21, 73), +(40, 22, 87), +(40, 23, 81), +(40, 24, 69), +(40, 25, 75), +(40, 26, 84), +(40, 27, 73), +(40, 28, 81), +(40, 29, 74), +(40, 30, 89), +(40, 31, 66), +(40, 32, 83), +(40, 33, 92), +(40, 34, 95), +(40, 35, 70), +(40, 36, 73), +(40, 37, 70), +(40, 38, 87), +(40, 39, 95), +(40, 40, 81), +(40, 41, 86), +(40, 42, 65), +(40, 43, 91), +(40, 44, 99), +(40, 45, 96), +(40, 46, 82), +(40, 47, 67), +(40, 48, 66), +(40, 49, 69), +(40, 50, 90), +(40, 51, 87), +(40, 52, 69), +(40, 53, 73), +(40, 54, 65), +(40, 55, 70), +(40, 56, 96), +(40, 57, 89), +(40, 58, 99), +(40, 59, 73), +(40, 60, 86), +(40, 61, 66), +(40, 62, 99), +(40, 63, 90), +(40, 64, 91), +(40, 65, 85), +(40, 66, 68), +(40, 67, 92), +(40, 68, 70), +(40, 69, 81), +(40, 70, 88), +(40, 71, 73), +(40, 72, 84), +(40, 73, 91), +(40, 74, 74), +(40, 75, 93), +(40, 76, 87), +(40, 77, 78), +(40, 78, 87), +(40, 79, 77), +(40, 80, 94), +(40, 81, 93), +(40, 82, 85), +(40, 83, 85), +(40, 84, 72), +(40, 85, 99), +(40, 86, 68), +(40, 87, 72), +(40, 88, 92), +(40, 89, 81), +(40, 90, 80), +(40, 91, 84), +(40, 92, 70), +(40, 93, 93), +(40, 94, 87), +(40, 95, 96), +(40, 96, 75), +(40, 97, 82), +(40, 98, 91), +(40, 99, 67), +(40, 100, 99), +(40, 101, 99), +(40, 102, 77), +(40, 103, 66), +(40, 104, 93), +(40, 105, 65), +(40, 106, 91), +(40, 107, 73), +(40, 108, 70), +(40, 109, 76), +(40, 110, 68), +(40, 111, 77), +(40, 112, 68), +(40, 113, 79), +(40, 114, 90), +(40, 115, 98), +(40, 116, 82), +(40, 117, 81), +(40, 118, 67), +(40, 119, 85), +(40, 120, 89), +(40, 121, 73), +(40, 122, 82), +(40, 123, 98), +(40, 124, 95), +(40, 125, 71), +(40, 126, 99), +(40, 127, 85), +(40, 128, 67), +(40, 129, 74), +(40, 130, 86), +(40, 131, 68), +(40, 132, 85), +(40, 133, 79), +(40, 134, 83), +(40, 135, 90), +(40, 136, 80), +(40, 137, 68), +(40, 138, 90), +(40, 139, 93), +(40, 140, 82), +(40, 141, 68), +(40, 142, 79), +(40, 143, 67), +(40, 144, 66), +(40, 145, 92), +(40, 146, 76), +(40, 147, 82), +(40, 148, 89), +(40, 149, 68), +(40, 150, 78), +(40, 151, 94), +(40, 152, 90), +(40, 153, 73), +(40, 154, 92), +(40, 155, 90), +(40, 156, 82), +(40, 157, 81), +(40, 158, 94), +(40, 159, 69), +(40, 160, 94), +(40, 161, 67), +(40, 162, 66), +(40, 163, 84), +(40, 164, 88), +(40, 165, 69), +(40, 166, 90), +(40, 167, 67), +(40, 168, 92), +(40, 169, 91), +(40, 170, 69), +(40, 171, 92), +(40, 172, 93), +(40, 173, 83), +(40, 174, 90), +(40, 175, 66), +(40, 176, 98), +(40, 177, 82), +(40, 178, 66), +(40, 179, 89), +(40, 180, 94), +(40, 181, 78), +(40, 182, 84), +(40, 183, 95), +(40, 184, 97), +(40, 185, 88), +(40, 186, 89), +(40, 187, 91), +(40, 188, 65), +(40, 189, 76), +(40, 190, 82), +(40, 191, 89), +(40, 192, 75), +(40, 193, 97), +(40, 194, 77), +(40, 195, 87), +(40, 196, 72), +(40, 197, 94), +(40, 198, 97), +(40, 199, 77), +(40, 200, 70), +(40, 201, 77), +(40, 202, 93), +(40, 203, 72), +(40, 204, 73), +(40, 205, 83), +(40, 206, 85), +(40, 207, 74), +(40, 208, 67), +(40, 209, 89), +(40, 210, 90), +(40, 211, 80), +(40, 212, 75), +(40, 213, 85), +(40, 214, 74), +(40, 215, 66), +(40, 216, 85), +(40, 217, 69), +(40, 218, 76), +(40, 219, 77), +(40, 220, 92), +(40, 221, 71), +(40, 222, 78), +(40, 223, 75), +(40, 224, 84), +(40, 225, 97), +(40, 226, 74), +(40, 227, 94), +(40, 228, 78), +(40, 229, 75), +(40, 230, 80), +(40, 231, 70), +(40, 232, 65), +(40, 233, 67), +(40, 234, 78), +(40, 235, 69), +(40, 236, 94), +(40, 237, 93), +(40, 238, 80), +(40, 239, 92), +(40, 240, 86), +(40, 241, 67), +(40, 242, 78), +(40, 243, 66), +(40, 244, 74), +(40, 245, 82), +(40, 246, 86), +(40, 247, 74), +(40, 248, 80), +(40, 249, 84), +(40, 250, 66), +(40, 251, 97), +(40, 252, 71), +(40, 253, 87), +(40, 254, 89), +(40, 255, 70), +(40, 256, 76), +(40, 257, 87), +(40, 258, 68), +(40, 259, 88), +(40, 260, 79), +(40, 261, 75), +(40, 262, 80), +(40, 263, 72), +(40, 264, 81), +(40, 265, 91), +(40, 266, 80), +(40, 267, 73), +(40, 268, 66), +(40, 269, 69), +(40, 270, 97), +(40, 271, 87), +(40, 272, 66), +(40, 273, 84), +(40, 274, 78), +(40, 275, 90), +(40, 276, 96), +(40, 277, 75), +(40, 278, 76), +(40, 279, 96), +(40, 280, 75), +(40, 281, 67), +(40, 282, 72), +(40, 283, 73), +(40, 284, 89), +(40, 285, 66), +(40, 286, 65), +(40, 287, 71), +(40, 288, 86), +(40, 289, 83), +(40, 290, 84), +(40, 291, 75), +(40, 292, 69), +(40, 293, 94), +(40, 294, 75), +(40, 295, 92), +(40, 296, 78), +(40, 297, 92), +(40, 298, 80), +(40, 299, 94), +(40, 300, 95), +(40, 301, 85), +(40, 302, 87), +(40, 303, 65), +(40, 304, 81), +(40, 305, 87), +(40, 306, 78), +(40, 307, 81), +(40, 308, 71), +(40, 309, 89), +(40, 310, 71), +(40, 311, 99), +(40, 312, 78), +(40, 313, 87), +(40, 314, 80), +(40, 315, 92), +(40, 316, 68), +(40, 317, 77), +(40, 318, 73), +(40, 319, 68), +(40, 320, 84), +(40, 321, 98), +(40, 322, 79), +(40, 323, 90), +(40, 324, 75), +(40, 325, 89), +(40, 326, 71), +(40, 327, 77), +(40, 328, 93), +(40, 329, 71), +(40, 330, 68), +(40, 331, 78), +(40, 332, 80), +(40, 333, 90), +(40, 334, 67), +(40, 335, 78), +(40, 336, 92), +(40, 337, 66), +(40, 338, 82), +(40, 339, 80), +(40, 340, 65), +(40, 341, 83), +(40, 342, 76), +(40, 343, 99), +(40, 344, 66), +(40, 345, 87), +(40, 346, 66), +(40, 347, 82), +(40, 348, 97), +(40, 349, 66), +(40, 350, 71), +(40, 351, 84), +(40, 352, 92), +(40, 353, 88), +(40, 354, 90), +(40, 355, 78), +(40, 356, 90), +(40, 357, 94), +(40, 358, 78), +(40, 359, 97), +(40, 360, 85), +(40, 361, 69), +(40, 362, 80), +(40, 363, 79), +(40, 364, 94), +(40, 365, 73), +(40, 366, 65), +(40, 367, 80), +(40, 368, 71), +(40, 369, 79), +(40, 370, 76), +(40, 371, 94), +(40, 372, 68), +(40, 373, 70), +(40, 374, 72), +(40, 375, 68), +(40, 376, 79), +(40, 377, 86), +(40, 378, 97), +(40, 379, 94), +(40, 380, 70), +(40, 381, 71), +(40, 382, 69), +(40, 383, 78), +(40, 384, 71), +(40, 385, 65), +(40, 386, 76), +(40, 387, 76), +(40, 388, 99), +(40, 389, 67), +(40, 390, 76), +(40, 391, 72), +(40, 392, 84), +(40, 393, 67), +(40, 394, 89), +(40, 395, 78), +(40, 396, 65), +(40, 397, 94), +(40, 398, 82), +(40, 399, 99), +(40, 400, 96), +(40, 401, 66), +(40, 402, 70), +(40, 403, 71), +(40, 404, 99), +(40, 405, 76), +(40, 406, 80), +(40, 407, 89), +(40, 408, 84), +(40, 409, 65), +(40, 410, 82), +(40, 411, 88), +(40, 412, 77), +(40, 413, 89), +(40, 414, 79), +(40, 415, 74), +(40, 416, 69), +(40, 417, 95), +(40, 418, 66), +(40, 419, 98), +(40, 420, 66), +(40, 421, 82), +(40, 422, 88), +(40, 423, 69), +(40, 424, 81), +(40, 425, 79), +(40, 426, 72), +(40, 427, 94), +(40, 428, 93), +(40, 429, 66), +(40, 430, 96), +(40, 431, 92), +(40, 432, 89), +(40, 433, 99), +(40, 434, 90), +(40, 435, 87), +(40, 436, 76), +(40, 437, 95), +(40, 438, 88), +(40, 439, 75), +(40, 440, 93), +(40, 441, 72), +(40, 442, 84), +(40, 443, 86), +(40, 444, 83), +(40, 445, 84), +(40, 446, 86), +(40, 447, 81), +(40, 448, 75), +(40, 449, 95), +(40, 450, 86), +(40, 451, 66), +(40, 452, 92), +(40, 453, 84), +(40, 454, 76), +(40, 455, 88), +(40, 456, 83), +(40, 457, 99), +(40, 458, 75), +(40, 459, 86), +(40, 460, 71), +(40, 461, 87), +(40, 462, 97), +(40, 463, 67), +(40, 464, 93), +(40, 465, 67), +(40, 466, 93), +(40, 467, 74), +(40, 468, 71), +(40, 469, 83), +(40, 470, 76), +(40, 471, 93), +(40, 472, 81), +(40, 473, 84), +(40, 474, 89), +(40, 475, 73), +(40, 476, 85), +(40, 477, 72), +(40, 478, 84), +(40, 479, 78), +(40, 480, 86), +(40, 481, 86), +(40, 482, 97), +(40, 483, 94), +(40, 484, 85), +(40, 485, 68), +(40, 486, 76), +(40, 487, 90), +(40, 488, 93), +(40, 489, 95), +(40, 490, 71), +(40, 491, 94), +(40, 492, 70), +(40, 493, 83), +(40, 494, 88), +(40, 495, 79), +(40, 496, 87), +(40, 497, 81), +(40, 498, 88), +(40, 499, 72), +(40, 500, 83), +(40, 501, 84), +(40, 502, 87), +(40, 503, 79), +(40, 504, 72), +(40, 505, 70), +(40, 506, 85), +(40, 507, 68), +(40, 508, 69), +(40, 509, 91), +(40, 510, 98), +(40, 511, 82), +(40, 512, 93), +(40, 513, 93), +(40, 514, 88), +(40, 515, 84), +(40, 516, 83), +(40, 517, 96), +(40, 518, 78), +(40, 519, 77), +(40, 520, 70), +(40, 521, 97), +(40, 522, 90), +(40, 523, 75), +(40, 524, 81), +(40, 525, 93), +(40, 526, 77), +(40, 527, 90), +(40, 528, 74), +(40, 529, 85), +(40, 530, 94), +(40, 531, 80), +(40, 532, 67), +(40, 533, 79), +(40, 534, 84), +(40, 535, 83), +(40, 536, 83), +(40, 537, 66), +(40, 538, 89), +(40, 539, 86), +(40, 540, 90), +(40, 541, 75), +(40, 542, 87), +(40, 543, 80), +(40, 544, 97), +(40, 545, 72), +(40, 546, 73), +(40, 547, 86), +(40, 548, 87), +(40, 549, 65), +(40, 550, 73), +(40, 551, 91), +(40, 552, 77), +(40, 553, 90), +(40, 554, 83), +(40, 555, 92), +(40, 556, 65), +(40, 557, 79), +(40, 558, 96), +(40, 559, 98), +(40, 560, 78), +(40, 561, 82), +(40, 562, 85), +(40, 563, 68), +(40, 564, 71), +(40, 1024, 99), +(40, 1025, 68), +(40, 1026, 79), +(40, 1027, 93), +(40, 1028, 97), +(40, 1029, 85), +(40, 1030, 86), +(40, 1031, 97), +(40, 1032, 99), +(40, 1033, 96), +(40, 1034, 99), +(40, 1035, 83), +(40, 1036, 69), +(40, 1037, 86), +(40, 1038, 76), +(40, 1039, 96), +(40, 1040, 94), +(40, 1041, 80), +(40, 1042, 98), +(40, 1043, 84), +(40, 1044, 99), +(40, 1045, 81), +(40, 1046, 79), +(40, 1047, 95), +(40, 1048, 81), +(40, 1049, 96), +(40, 1050, 79), +(40, 1051, 90), +(40, 1052, 68), +(40, 1053, 88), +(40, 1054, 85), +(40, 1055, 74), +(40, 1056, 92), +(40, 1057, 90), +(40, 1058, 93), +(40, 1059, 73), +(40, 1060, 69), +(40, 1061, 83), +(40, 1062, 99), +(40, 1063, 96), +(40, 1064, 73), +(40, 1065, 65), +(40, 1066, 87), +(40, 1067, 81), +(40, 1068, 91), +(40, 1069, 87), +(40, 1070, 72), +(40, 1071, 65), +(40, 1072, 81), +(40, 1073, 90), +(40, 1074, 99), +(40, 1075, 86), +(40, 1076, 74), +(40, 1077, 95), +(40, 1078, 73), +(40, 1079, 80), +(40, 1080, 91), +(40, 1081, 86), +(40, 1082, 86), +(40, 1083, 98), +(40, 1084, 72), +(40, 1085, 71), +(40, 1086, 89), +(40, 1087, 84), +(40, 1088, 76), +(40, 1089, 90), +(40, 1090, 84), +(40, 1091, 68), +(40, 1092, 89), +(40, 1093, 94), +(40, 1094, 77), +(40, 1095, 68), +(40, 1096, 99), +(40, 1097, 77), +(40, 1098, 98), +(40, 1099, 83), +(40, 1100, 72), +(40, 1101, 94), +(40, 1102, 68), +(40, 1103, 95), +(40, 1104, 91), +(40, 1105, 82), +(40, 1106, 93), +(40, 1107, 81), +(40, 1108, 74), +(40, 1109, 82), +(40, 1110, 90), +(40, 1111, 97), +(40, 1112, 76), +(40, 1113, 81), +(40, 1114, 65), +(40, 1115, 81), +(40, 1116, 73), +(40, 1117, 81), +(40, 1118, 82), +(40, 1119, 86), +(40, 1120, 69), +(40, 1121, 72), +(40, 1122, 71), +(40, 1123, 65), +(40, 1124, 75), +(40, 1125, 96), +(40, 1126, 67), +(40, 1127, 95), +(40, 1128, 75), +(40, 1129, 78), +(40, 1130, 99), +(40, 1131, 84), +(40, 1132, 92), +(40, 1133, 84), +(40, 1134, 65), +(40, 1135, 71), +(40, 1136, 93), +(40, 1137, 74), +(40, 1138, 88), +(40, 1139, 77), +(40, 1140, 71), +(40, 1141, 99), +(40, 1142, 95), +(40, 1143, 82), +(40, 1144, 67), +(40, 1145, 73), +(40, 1146, 85), +(40, 1147, 84), +(40, 1148, 89), +(40, 1149, 97), +(40, 1150, 92), +(40, 1151, 81), +(40, 1152, 69), +(40, 1153, 92), +(40, 1154, 69), +(40, 1155, 66), +(40, 1156, 96), +(40, 1157, 90), +(40, 1158, 90), +(40, 1159, 93), +(40, 1160, 96), +(40, 1161, 77), +(40, 1162, 87), +(40, 1163, 96), +(40, 1164, 80), +(40, 1165, 80), +(40, 1166, 76), +(40, 1167, 98), +(40, 1168, 65), +(40, 1169, 93), +(40, 1170, 79), +(40, 1171, 75), +(40, 1172, 91), +(40, 1173, 96), +(40, 1174, 89), +(40, 1175, 97), +(40, 1176, 95), +(40, 1177, 68), +(40, 1178, 66), +(40, 1179, 97), +(40, 1180, 97), +(40, 1181, 91), +(40, 1182, 81), +(40, 1183, 79), +(40, 1184, 87), +(40, 1185, 71), +(40, 1186, 66), +(40, 1187, 72), +(40, 1188, 68), +(40, 1189, 74), +(40, 1190, 95), +(40, 1191, 81), +(40, 1192, 66), +(40, 1193, 89), +(40, 1194, 78), +(40, 1195, 97), +(40, 1196, 99), +(40, 1197, 80), +(40, 1198, 65), +(40, 1199, 78), +(40, 1200, 73), +(40, 1201, 84), +(40, 1202, 96), +(40, 1203, 75), +(40, 1204, 92), +(40, 1205, 98), +(40, 1206, 85), +(40, 1207, 84), +(40, 1208, 65), +(40, 1209, 93), +(40, 1210, 81), +(40, 1211, 66), +(40, 1212, 89), +(40, 1213, 97), +(40, 1214, 90), +(40, 1215, 67), +(40, 1216, 83), +(40, 1217, 72), +(40, 1218, 82), +(40, 1219, 82), +(40, 1220, 67), +(40, 1221, 88), +(40, 1222, 86), +(40, 1223, 77), +(40, 1224, 94), +(40, 1225, 91), +(40, 1226, 82), +(40, 1227, 81), +(40, 1228, 89), +(40, 1229, 73), +(40, 1230, 75), +(40, 1231, 69), +(40, 1232, 73), +(40, 1233, 96), +(40, 1234, 69), +(40, 1235, 91), +(40, 1236, 80), +(40, 1237, 94), +(40, 1238, 79), +(40, 1239, 79), +(40, 1240, 92), +(40, 1241, 94), +(40, 1242, 96), +(40, 1243, 73), +(40, 1244, 98), +(40, 1245, 99), +(40, 1246, 66), +(40, 1247, 76), +(40, 1248, 90), +(40, 1249, 84), +(40, 1250, 65), +(40, 1251, 79), +(40, 1252, 93), +(40, 1253, 82), +(40, 1254, 94), +(40, 1255, 95), +(40, 1256, 71), +(40, 1257, 97), +(40, 1258, 83), +(40, 1259, 93), +(40, 1260, 73), +(40, 1261, 89), +(40, 1262, 83), +(40, 1263, 97), +(40, 1264, 81), +(40, 1265, 74), +(40, 1266, 94), +(40, 1267, 87), +(40, 1268, 97), +(40, 1269, 88), +(40, 1270, 74), +(40, 1271, 91), +(40, 1272, 77), +(40, 1273, 87), +(40, 1274, 67), +(40, 1275, 95), +(40, 1276, 93), +(40, 1277, 76), +(40, 1278, 94), +(40, 1279, 78), +(40, 1280, 73), +(40, 1281, 87), +(40, 1282, 78), +(40, 1283, 69), +(40, 1284, 82), +(40, 1285, 91), +(40, 1286, 82), +(40, 1287, 87), +(40, 1288, 88), +(40, 1289, 98), +(40, 1290, 93), +(40, 1291, 95), +(40, 1292, 86), +(40, 1293, 75), +(40, 1294, 73), +(40, 1295, 70), +(40, 1296, 80), +(40, 1297, 76), +(40, 1298, 68), +(40, 1299, 70), +(40, 1300, 94), +(40, 1301, 69), +(40, 1302, 92), +(40, 1303, 82), +(40, 1304, 85), +(40, 1305, 90), +(40, 1306, 80), +(40, 1307, 72), +(40, 1308, 75), +(40, 1309, 93), +(40, 1310, 66), +(40, 1311, 77), +(40, 1312, 78), +(40, 1313, 76), +(40, 1314, 78), +(40, 1315, 98), +(40, 1316, 92), +(40, 1317, 66), +(40, 1318, 93), +(40, 1319, 66), +(40, 1320, 66), +(40, 1321, 83), +(40, 1322, 73), +(40, 1323, 66), +(40, 1324, 88), +(40, 1325, 90), +(40, 1326, 66), +(40, 1327, 67), +(40, 1328, 88), +(40, 1329, 93), +(40, 1330, 68), +(40, 1331, 97), +(40, 1332, 81), +(40, 1333, 94), +(40, 1334, 75), +(40, 1335, 65), +(40, 1336, 85), +(40, 1337, 94), +(40, 1338, 91), +(40, 1339, 71), +(40, 1340, 85), +(40, 1341, 82), +(40, 1342, 79), +(40, 1343, 93), +(40, 1344, 89), +(40, 1345, 68), +(40, 1346, 92), +(40, 1347, 65), +(40, 1348, 82), +(40, 1349, 74), +(40, 1350, 75), +(40, 1351, 65), +(40, 1352, 84), +(40, 1353, 68), +(40, 1354, 93), +(40, 1355, 96), +(40, 1356, 83), +(40, 1357, 81), +(40, 1358, 72), +(40, 1359, 86), +(40, 1360, 79), +(40, 1361, 98), +(40, 1362, 76), +(40, 1363, 75), +(40, 1364, 96), +(40, 1365, 86), +(40, 1366, 84), +(40, 1367, 79), +(40, 1368, 73), +(40, 1369, 81), +(40, 1370, 90), +(40, 1371, 92), +(40, 1372, 69), +(40, 1373, 69), +(40, 1374, 85), +(40, 1375, 89), +(40, 1376, 96), +(40, 1377, 65), +(40, 1378, 87), +(40, 1379, 86), +(40, 1380, 99), +(40, 1381, 72), +(40, 1382, 65), +(40, 1383, 98), +(40, 1384, 79), +(40, 1385, 87), +(40, 1386, 99), +(40, 1387, 67), +(40, 1388, 67), +(40, 1389, 66), +(40, 1390, 84), +(40, 1391, 72), +(40, 1392, 68), +(40, 1393, 74), +(40, 1394, 77), +(40, 1395, 90), +(40, 1396, 97), +(40, 1397, 88), +(40, 1398, 95), +(40, 1399, 68), +(40, 1400, 76), +(40, 1401, 65), +(40, 1402, 65), +(40, 1403, 76), +(40, 1404, 95), +(40, 1405, 89), +(40, 1406, 86), +(40, 1407, 80), +(40, 1408, 94), +(40, 1409, 66), +(40, 1410, 71), +(40, 1411, 88), +(40, 1412, 74), +(40, 1413, 94), +(40, 1414, 73), +(40, 1415, 83), +(40, 1416, 95), +(40, 1417, 96), +(40, 1418, 77), +(40, 1419, 95), +(40, 1420, 77), +(40, 1421, 98), +(40, 1422, 69), +(40, 1423, 82), +(40, 1424, 88), +(40, 1425, 78), +(40, 1426, 69), +(40, 1427, 85), +(40, 1428, 73), +(40, 1429, 75), +(40, 1430, 73), +(40, 1431, 85), +(40, 1432, 70), +(40, 1433, 92), +(40, 1434, 68), +(40, 1435, 83), +(40, 1436, 77), +(40, 1437, 79), +(40, 1438, 90), +(40, 1439, 67), +(40, 1440, 89), +(40, 1441, 95), +(40, 1442, 96), +(40, 1443, 99), +(40, 1444, 80), +(40, 1445, 76), +(40, 1446, 70), +(40, 1447, 94), +(40, 1448, 77), +(40, 1449, 97), +(40, 1450, 78), +(40, 1451, 67), +(40, 1452, 93), +(40, 1453, 85), +(40, 1454, 67), +(40, 1455, 95), +(40, 1456, 85), +(40, 1457, 77), +(40, 1458, 98), +(40, 1459, 82), +(40, 1460, 69), +(40, 1461, 86), +(40, 1462, 95), +(40, 1463, 82), +(40, 1464, 65), +(40, 1465, 83), +(40, 1466, 88), +(40, 1467, 77), +(40, 1468, 75), +(40, 1469, 74), +(40, 1470, 84), +(40, 1471, 71), +(40, 1472, 85), +(40, 1473, 91), +(40, 1474, 99), +(40, 1475, 86), +(40, 1476, 99), +(40, 1477, 74), +(40, 1478, 72), +(40, 1479, 67), +(40, 1480, 72), +(40, 1481, 77), +(40, 1482, 88), +(40, 1483, 69), +(40, 1484, 75), +(40, 1485, 72), +(40, 1486, 90), +(40, 1487, 68), +(40, 1488, 98), +(40, 1489, 78), +(40, 1490, 95), +(40, 1491, 98), +(40, 1492, 99), +(40, 1493, 93), +(40, 1494, 91), +(40, 1495, 81), +(40, 1496, 87), +(40, 1497, 77), +(40, 1498, 90), +(40, 1499, 89), +(40, 1500, 69), +(40, 1501, 94), +(40, 1502, 89), +(40, 1503, 82), +(40, 1504, 79), +(40, 1505, 67), +(40, 1506, 68), +(40, 1507, 73), +(40, 1508, 69), +(40, 1509, 95), +(40, 1510, 96), +(40, 1511, 81), +(40, 1512, 99), +(40, 1513, 85), +(40, 1514, 85), +(40, 1515, 73), +(40, 1516, 86), +(40, 1517, 83), +(40, 1518, 65), +(40, 1519, 72), +(40, 1520, 86), +(40, 1521, 89), +(40, 1522, 80), +(40, 1523, 94), +(40, 1524, 83), +(40, 1525, 76), +(40, 1526, 88), +(40, 1527, 76), +(40, 1528, 71), +(40, 1529, 70), +(40, 1530, 66), +(40, 1531, 83), +(40, 1532, 67), +(40, 1533, 71), +(40, 1534, 81), +(40, 1535, 84), +(40, 1536, 91), +(40, 1537, 79), +(40, 1538, 76), +(40, 1539, 99), +(40, 1540, 96), +(40, 1541, 93), +(40, 1542, 74), +(40, 1543, 95), +(40, 1544, 99), +(40, 1545, 97), +(40, 1546, 69), +(40, 1547, 75), +(40, 1548, 92), +(40, 1549, 85), +(40, 1550, 93), +(40, 1551, 66), +(40, 1552, 96), +(40, 1553, 72), +(40, 1554, 85), +(40, 1555, 72), +(40, 1556, 87), +(40, 1557, 96), +(40, 1558, 82), +(40, 1559, 72), +(40, 1560, 81), +(40, 1561, 70), +(40, 1562, 82), +(40, 1563, 79), +(40, 1564, 78), +(40, 1565, 83), +(40, 1566, 69), +(40, 1567, 80), +(40, 1568, 66), +(40, 1569, 87), +(40, 1570, 72), +(40, 1571, 76), +(40, 1572, 90), +(40, 1573, 67), +(40, 1574, 84), +(40, 1575, 68), +(40, 1576, 98), +(40, 1577, 87), +(40, 1578, 82), +(40, 1579, 95), +(40, 1580, 66), +(40, 1581, 84), +(40, 1582, 93), +(40, 1583, 91), +(40, 1584, 84), +(40, 1585, 84), +(40, 1586, 95), +(40, 1587, 79), +(40, 2047, 80), +(40, 2048, 82), +(40, 2049, 85), +(40, 2050, 73), +(40, 2051, 84), +(40, 2052, 66), +(40, 2053, 99), +(40, 2054, 70), +(40, 2055, 79), +(40, 2056, 87), +(40, 2057, 74), +(40, 2058, 98), +(40, 2059, 96), +(40, 2060, 94), +(40, 2061, 97), +(40, 2062, 70), +(40, 2063, 72), +(40, 2064, 83), +(40, 2065, 95), +(40, 2066, 74), +(40, 2067, 88), +(40, 2068, 69), +(40, 2069, 65), +(40, 2070, 97), +(40, 2071, 90), +(40, 2072, 96), +(40, 2073, 97), +(40, 2074, 73), +(40, 2075, 72), +(40, 2076, 74), +(40, 2077, 94), +(40, 2078, 70), +(40, 2079, 84), +(40, 2080, 72), +(40, 2081, 98), +(40, 2082, 95), +(40, 2083, 86), +(40, 2084, 77), +(40, 2085, 91), +(40, 2086, 67), +(40, 2087, 91), +(40, 2088, 76), +(40, 2089, 70), +(40, 2090, 87), +(40, 2091, 70), +(40, 2092, 69), +(40, 2093, 83), +(40, 2094, 72), +(40, 2095, 76), +(40, 2096, 82), +(40, 2097, 88), +(40, 2098, 81), +(40, 2099, 93), +(40, 2100, 83), +(40, 2101, 97), +(40, 2102, 75), +(40, 2103, 95), +(40, 2104, 93), +(40, 2105, 82), +(40, 2106, 96), +(40, 2107, 83), +(40, 2108, 86), +(40, 2109, 86), +(40, 2110, 66), +(40, 2111, 65), +(40, 2112, 70), +(40, 2113, 94), +(40, 2114, 99), +(40, 2115, 76), +(40, 2116, 87), +(40, 2117, 79), +(40, 2118, 95), +(40, 2119, 95), +(40, 2120, 79), +(40, 2121, 69), +(40, 2122, 70), +(40, 2123, 86), +(40, 2124, 86), +(40, 2125, 75), +(40, 2126, 86); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(40, 2127, 71), +(40, 2128, 99), +(40, 2129, 99), +(40, 2130, 96), +(40, 2131, 82), +(40, 2132, 67), +(40, 2133, 97), +(40, 2134, 81), +(40, 2135, 75), +(40, 2136, 77), +(40, 2137, 75), +(40, 2138, 79), +(40, 2139, 69), +(40, 2140, 99), +(40, 2141, 96), +(40, 2142, 80), +(40, 2143, 81), +(40, 2144, 72), +(40, 2145, 87), +(40, 2146, 90), +(40, 2147, 71), +(40, 2148, 96), +(40, 2149, 68), +(40, 2150, 96), +(40, 2151, 65), +(40, 2152, 86), +(40, 2153, 85), +(40, 2154, 71), +(40, 2155, 82), +(40, 2156, 72), +(40, 2157, 98), +(40, 2158, 96), +(40, 2159, 75), +(40, 2160, 94), +(40, 2161, 68), +(40, 2162, 87), +(40, 2163, 91), +(40, 2164, 69), +(40, 2165, 91), +(40, 2166, 94), +(40, 2167, 96), +(40, 2168, 66), +(40, 2169, 84), +(40, 2170, 80), +(40, 2171, 87), +(40, 2172, 85), +(40, 2173, 90), +(40, 2174, 77), +(40, 2175, 92), +(40, 2176, 80), +(40, 2177, 92), +(40, 2178, 92), +(40, 2179, 88), +(40, 2180, 85), +(40, 2181, 95), +(40, 2182, 65), +(40, 2183, 94), +(40, 2184, 67), +(40, 2185, 65), +(40, 2186, 74), +(40, 2187, 70), +(40, 2188, 67), +(40, 2189, 68), +(40, 2190, 98), +(40, 2191, 88), +(40, 2192, 87), +(40, 2193, 72), +(40, 2194, 75), +(40, 2195, 81), +(40, 2196, 97), +(40, 2197, 97), +(40, 2198, 65), +(40, 2199, 81), +(40, 2200, 89), +(40, 2201, 81), +(40, 2202, 99), +(40, 2203, 87), +(40, 2204, 94), +(40, 2205, 73), +(40, 2206, 77), +(40, 2207, 72), +(40, 2208, 69), +(40, 2209, 79), +(40, 2210, 88), +(40, 2211, 88), +(40, 2212, 97), +(40, 2213, 99), +(40, 2214, 91), +(40, 2215, 92), +(40, 2216, 87), +(40, 2217, 75), +(40, 2218, 92), +(40, 2219, 98), +(40, 2220, 88), +(40, 2221, 78), +(40, 2222, 85), +(40, 2223, 96), +(40, 2224, 70), +(40, 2225, 91), +(40, 2226, 98), +(40, 2227, 89), +(40, 2228, 93), +(40, 2229, 97), +(40, 2230, 86), +(40, 2231, 90), +(40, 2232, 68), +(40, 2233, 95), +(40, 2234, 72), +(40, 2235, 76), +(40, 2236, 93), +(40, 2237, 66), +(40, 2238, 73), +(40, 2239, 86), +(40, 2240, 81), +(40, 2241, 85), +(40, 2242, 68), +(40, 2243, 71), +(40, 2244, 76), +(40, 2245, 80), +(40, 2246, 96), +(40, 2247, 71), +(40, 2248, 77), +(40, 2249, 82), +(40, 2250, 98), +(40, 2251, 81), +(40, 2252, 91), +(40, 2253, 84), +(40, 2254, 81), +(40, 2255, 84), +(40, 2256, 65), +(40, 2257, 93), +(40, 2258, 69), +(40, 2259, 66), +(40, 2260, 71), +(40, 2261, 93), +(40, 2262, 79), +(40, 2263, 99), +(40, 2264, 92), +(40, 2265, 91), +(40, 2266, 86), +(40, 2267, 86), +(40, 2268, 94), +(40, 2269, 68), +(40, 2270, 88), +(40, 2271, 98), +(40, 2272, 87), +(40, 2273, 70), +(40, 2274, 93), +(40, 2275, 99), +(40, 2276, 88), +(40, 2277, 69), +(40, 2278, 72), +(40, 2279, 94), +(40, 2280, 83), +(40, 2281, 76), +(40, 2282, 97), +(40, 2283, 91), +(40, 2284, 95), +(40, 2285, 79), +(40, 2286, 79), +(40, 2287, 91), +(40, 2288, 78), +(40, 2289, 71), +(40, 2290, 92), +(40, 2291, 89), +(40, 2292, 78), +(40, 2293, 67), +(40, 2294, 96), +(40, 2295, 93), +(40, 2296, 75), +(40, 2297, 90), +(40, 2298, 83), +(40, 2299, 94), +(40, 2300, 68), +(40, 2301, 78), +(40, 2302, 73), +(40, 2303, 65), +(40, 2304, 97), +(40, 2305, 82), +(40, 2306, 65), +(40, 2307, 91), +(40, 2308, 99), +(40, 2309, 70), +(40, 2310, 96), +(40, 2311, 75), +(40, 2312, 85), +(40, 2313, 86), +(40, 2314, 72), +(40, 2315, 82), +(40, 2316, 79), +(40, 2317, 90), +(40, 2318, 73), +(40, 2319, 82), +(40, 2320, 75), +(40, 2321, 85), +(40, 2322, 84), +(40, 2323, 73), +(40, 2324, 93), +(40, 2325, 86), +(40, 2326, 80), +(40, 2327, 70), +(40, 2328, 80), +(40, 2329, 95), +(40, 2330, 95), +(40, 2331, 82), +(40, 2332, 76), +(40, 2333, 87), +(40, 2334, 85), +(40, 2335, 81), +(40, 2336, 78), +(40, 2337, 81), +(40, 2338, 96), +(40, 2339, 91), +(40, 2340, 69), +(40, 2341, 85), +(40, 2342, 77), +(40, 2343, 74), +(40, 2344, 80), +(40, 2345, 86), +(40, 2346, 81), +(40, 2347, 71), +(40, 2348, 80), +(40, 2349, 87), +(40, 2350, 98), +(40, 2351, 99), +(40, 2352, 70), +(40, 2353, 78), +(40, 2354, 82), +(40, 2355, 91), +(40, 2356, 98), +(40, 2357, 95), +(40, 2358, 74), +(40, 2359, 85), +(40, 2360, 81), +(40, 2361, 74), +(40, 2362, 71), +(40, 2363, 84), +(40, 2364, 93), +(40, 2365, 84), +(40, 2366, 84), +(40, 2367, 82), +(40, 2368, 82), +(40, 2369, 70), +(40, 2370, 66), +(40, 2371, 83), +(40, 2372, 92), +(40, 2373, 79), +(40, 2374, 70), +(40, 2375, 74), +(40, 2376, 86), +(40, 2377, 74), +(40, 2378, 79), +(40, 2379, 69), +(40, 2380, 99), +(40, 2381, 91), +(40, 2382, 66), +(40, 2383, 97), +(40, 2384, 70), +(40, 2385, 68), +(40, 2386, 65), +(40, 2387, 66), +(40, 2388, 71), +(40, 2389, 71), +(40, 2390, 72), +(40, 2391, 86), +(40, 2392, 77), +(40, 2393, 99), +(40, 2394, 94), +(40, 2395, 85), +(40, 2396, 90), +(40, 2397, 70), +(40, 2398, 81), +(40, 2399, 75), +(40, 2400, 74), +(40, 2401, 95), +(40, 2402, 67), +(40, 2403, 81), +(40, 2404, 84), +(40, 2405, 88), +(40, 2406, 66), +(40, 2407, 79), +(40, 2408, 89), +(40, 2409, 76), +(40, 2410, 70), +(40, 2411, 82), +(40, 2412, 69), +(40, 2413, 71), +(40, 2414, 85), +(40, 2415, 77), +(40, 2416, 81), +(40, 2417, 92), +(40, 2418, 75), +(40, 2419, 74), +(40, 2420, 80), +(40, 2421, 78), +(40, 2422, 84), +(40, 2423, 96), +(40, 2424, 78), +(40, 2425, 81), +(40, 2426, 74), +(40, 2427, 87), +(40, 2428, 89), +(40, 2429, 73), +(40, 2430, 94), +(40, 2431, 67), +(40, 2432, 85), +(40, 2433, 96), +(40, 2434, 86), +(40, 2435, 89), +(40, 2436, 99), +(40, 2437, 82), +(40, 2438, 91), +(40, 2439, 87), +(40, 2440, 80), +(40, 2441, 93), +(40, 2442, 95), +(40, 2443, 91), +(40, 2444, 71), +(40, 2445, 72), +(40, 2446, 72), +(40, 2447, 85), +(40, 2448, 73), +(40, 2449, 94), +(40, 2450, 75), +(40, 2451, 81), +(40, 2452, 94), +(40, 2453, 93), +(40, 2454, 68), +(40, 2455, 84), +(40, 2456, 89), +(40, 2457, 83), +(40, 2458, 96), +(40, 2459, 97), +(40, 2460, 78), +(40, 2461, 66), +(40, 2462, 91), +(40, 2463, 83), +(40, 2464, 94), +(40, 2465, 96), +(40, 2466, 69), +(40, 2467, 81), +(40, 2468, 98), +(40, 2469, 67), +(40, 2470, 89), +(40, 2471, 70), +(40, 2472, 95), +(40, 2473, 80), +(40, 2474, 78), +(40, 2475, 93), +(40, 2476, 74), +(40, 2477, 82), +(40, 2478, 83), +(40, 2479, 83), +(40, 2480, 87), +(40, 2481, 81), +(40, 2482, 99), +(40, 2483, 92), +(40, 2484, 66), +(40, 2485, 94), +(40, 2486, 77), +(40, 2487, 86), +(40, 2488, 87), +(40, 2489, 96), +(40, 2490, 76), +(40, 2491, 88), +(40, 2492, 68), +(40, 2493, 65), +(40, 2494, 84), +(40, 2495, 81), +(40, 2496, 87), +(40, 2497, 71), +(40, 2498, 93), +(40, 2499, 71), +(40, 2500, 93), +(40, 2501, 87), +(40, 2502, 99), +(40, 2503, 91), +(40, 2504, 86), +(40, 2505, 84), +(40, 2506, 72), +(40, 2507, 99), +(40, 2508, 88), +(40, 2509, 87), +(40, 2510, 79), +(40, 2511, 68), +(40, 2512, 76), +(40, 2513, 81), +(40, 2514, 77), +(40, 2515, 81), +(40, 2516, 87), +(40, 2517, 87), +(40, 2518, 97), +(40, 2519, 94), +(40, 2520, 86), +(40, 2521, 69), +(40, 2522, 67), +(40, 2523, 82), +(40, 2524, 77), +(40, 2525, 71), +(40, 2526, 98), +(40, 2527, 87), +(40, 2528, 66), +(40, 2529, 70), +(40, 2530, 91), +(40, 2531, 70), +(40, 2532, 74), +(40, 2533, 83), +(40, 2534, 92), +(40, 2535, 87), +(40, 2536, 91), +(40, 2537, 99), +(40, 2538, 82), +(40, 2539, 88), +(40, 2540, 83), +(40, 2541, 77), +(40, 2542, 66), +(40, 2543, 79), +(40, 2544, 96), +(40, 2545, 75), +(40, 2546, 89), +(40, 2547, 93), +(40, 2548, 80), +(40, 2549, 72), +(40, 2550, 81), +(40, 2551, 85), +(40, 2552, 88), +(40, 2553, 80), +(40, 2554, 67), +(40, 2555, 65), +(40, 2556, 91), +(40, 2557, 83), +(40, 2558, 88), +(40, 2559, 74), +(40, 2560, 84), +(40, 2561, 88), +(40, 2562, 77), +(40, 2563, 85), +(40, 2564, 72), +(40, 2565, 90), +(40, 2566, 81), +(40, 2567, 71), +(40, 2568, 81), +(40, 2569, 90), +(40, 2570, 79), +(40, 2571, 89), +(40, 2572, 74), +(40, 2573, 95), +(40, 2574, 70), +(40, 2575, 71), +(40, 2576, 82), +(40, 2577, 98), +(40, 2578, 72), +(40, 2579, 69), +(40, 2580, 84), +(40, 2581, 72), +(40, 2582, 94), +(40, 2583, 95), +(40, 2584, 71), +(40, 2585, 76), +(40, 2586, 98), +(40, 2587, 81), +(40, 2588, 68), +(40, 2589, 99), +(40, 2590, 83), +(40, 2591, 74), +(40, 2592, 72), +(40, 2593, 94), +(40, 2594, 80), +(40, 2595, 66), +(40, 2596, 76), +(40, 2597, 84), +(40, 2598, 92), +(40, 2599, 99), +(40, 2600, 90), +(40, 2601, 87), +(40, 2602, 73), +(40, 2603, 94), +(40, 2604, 88), +(40, 2605, 68), +(40, 2606, 97), +(40, 2607, 79), +(40, 2608, 74), +(40, 2609, 92), +(40, 2610, 78), +(41, 1, 77), +(41, 2, 94), +(41, 3, 86), +(41, 4, 91), +(41, 5, 86), +(41, 6, 95), +(41, 7, 98), +(41, 8, 90), +(41, 9, 86), +(41, 10, 93), +(41, 11, 84), +(41, 12, 70), +(41, 13, 87), +(41, 14, 80), +(41, 15, 74), +(41, 16, 74), +(41, 17, 75), +(41, 18, 82), +(41, 19, 73), +(41, 20, 90), +(41, 21, 95), +(41, 22, 91), +(41, 23, 68), +(41, 24, 88), +(41, 25, 97), +(41, 26, 76), +(41, 27, 68), +(41, 28, 94), +(41, 29, 72), +(41, 30, 87), +(41, 31, 66), +(41, 32, 75), +(41, 33, 74), +(41, 34, 97), +(41, 35, 96), +(41, 36, 92), +(41, 37, 81), +(41, 38, 70), +(41, 39, 69), +(41, 40, 92), +(41, 41, 95), +(41, 42, 77), +(41, 43, 66), +(41, 44, 75), +(41, 45, 68), +(41, 46, 91), +(41, 47, 75), +(41, 48, 87), +(41, 49, 66), +(41, 50, 65), +(41, 51, 65), +(41, 52, 87), +(41, 53, 76), +(41, 54, 89), +(41, 55, 76), +(41, 56, 75), +(41, 57, 68), +(41, 58, 88), +(41, 59, 91), +(41, 60, 97), +(41, 61, 65), +(41, 62, 96), +(41, 63, 67), +(41, 64, 90), +(41, 65, 86), +(41, 66, 94), +(41, 67, 86), +(41, 68, 74), +(41, 69, 98), +(41, 70, 81), +(41, 71, 95), +(41, 72, 85), +(41, 73, 68), +(41, 74, 97), +(41, 75, 83), +(41, 76, 80), +(41, 77, 97), +(41, 78, 76), +(41, 79, 73), +(41, 80, 90), +(41, 81, 84), +(41, 82, 82), +(41, 83, 65), +(41, 84, 89), +(41, 85, 78), +(41, 86, 87), +(41, 87, 79), +(41, 88, 85), +(41, 89, 65), +(41, 90, 97), +(41, 91, 97), +(41, 92, 67), +(41, 93, 84), +(41, 94, 80), +(41, 95, 92), +(41, 96, 69), +(41, 97, 82), +(41, 98, 79), +(41, 99, 87), +(41, 100, 92), +(41, 101, 72), +(41, 102, 86), +(41, 103, 73), +(41, 104, 74), +(41, 105, 87), +(41, 106, 98), +(41, 107, 97), +(41, 108, 77), +(41, 109, 95), +(41, 110, 76), +(41, 111, 70), +(41, 112, 65), +(41, 113, 70), +(41, 114, 71), +(41, 115, 83), +(41, 116, 73), +(41, 117, 72), +(41, 118, 65), +(41, 119, 69), +(41, 120, 71), +(41, 121, 81), +(41, 122, 67), +(41, 123, 67), +(41, 124, 77), +(41, 125, 67), +(41, 126, 82), +(41, 127, 67), +(41, 128, 71), +(41, 129, 80), +(41, 130, 79), +(41, 131, 84), +(41, 132, 97), +(41, 133, 77), +(41, 134, 91), +(41, 135, 69), +(41, 136, 96), +(41, 137, 96), +(41, 138, 72), +(41, 139, 66), +(41, 140, 65), +(41, 141, 71), +(41, 142, 69), +(41, 143, 80), +(41, 144, 96), +(41, 145, 83), +(41, 146, 87), +(41, 147, 76), +(41, 148, 65), +(41, 149, 87), +(41, 150, 82), +(41, 151, 83), +(41, 152, 98), +(41, 153, 68), +(41, 154, 69), +(41, 155, 77), +(41, 156, 81), +(41, 157, 95), +(41, 158, 76), +(41, 159, 80), +(41, 160, 71), +(41, 161, 76), +(41, 162, 81), +(41, 163, 73), +(41, 164, 72), +(41, 165, 96), +(41, 166, 70), +(41, 167, 93), +(41, 168, 75), +(41, 169, 73), +(41, 170, 79), +(41, 171, 92), +(41, 172, 82), +(41, 173, 80), +(41, 174, 99), +(41, 175, 88), +(41, 176, 88), +(41, 177, 99), +(41, 178, 92), +(41, 179, 88), +(41, 180, 91), +(41, 181, 77), +(41, 182, 91), +(41, 183, 81), +(41, 184, 78), +(41, 185, 79), +(41, 186, 79), +(41, 187, 77), +(41, 188, 96), +(41, 189, 98), +(41, 190, 75), +(41, 191, 99), +(41, 192, 65), +(41, 193, 74), +(41, 194, 84), +(41, 195, 85), +(41, 196, 89), +(41, 197, 71), +(41, 198, 90), +(41, 199, 66), +(41, 200, 88), +(41, 201, 89), +(41, 202, 92), +(41, 203, 85), +(41, 204, 86), +(41, 205, 72), +(41, 206, 72), +(41, 207, 85), +(41, 208, 89), +(41, 209, 83), +(41, 210, 85), +(41, 211, 72), +(41, 212, 80), +(41, 213, 98), +(41, 214, 90), +(41, 215, 72), +(41, 216, 82), +(41, 217, 82), +(41, 218, 73), +(41, 219, 77), +(41, 220, 88), +(41, 221, 81), +(41, 222, 73), +(41, 223, 84), +(41, 224, 98), +(41, 225, 94), +(41, 226, 97), +(41, 227, 79), +(41, 228, 86), +(41, 229, 76), +(41, 230, 97), +(41, 231, 71), +(41, 232, 66), +(41, 233, 95), +(41, 234, 75), +(41, 235, 99), +(41, 236, 97), +(41, 237, 69), +(41, 238, 86), +(41, 239, 95), +(41, 240, 96), +(41, 241, 82), +(41, 242, 72), +(41, 243, 82), +(41, 244, 66), +(41, 245, 72), +(41, 246, 92), +(41, 247, 69), +(41, 248, 75), +(41, 249, 92), +(41, 250, 66), +(41, 251, 90), +(41, 252, 69), +(41, 253, 68), +(41, 254, 81), +(41, 255, 91), +(41, 256, 95), +(41, 257, 70), +(41, 258, 99), +(41, 259, 75), +(41, 260, 75), +(41, 261, 77), +(41, 262, 69), +(41, 263, 89), +(41, 264, 85), +(41, 265, 75), +(41, 266, 88), +(41, 267, 81), +(41, 268, 93), +(41, 269, 95), +(41, 270, 80), +(41, 271, 84), +(41, 272, 80), +(41, 273, 68), +(41, 274, 68), +(41, 275, 81), +(41, 276, 67), +(41, 277, 67), +(41, 278, 93), +(41, 279, 78), +(41, 280, 93), +(41, 281, 76), +(41, 282, 88), +(41, 283, 86), +(41, 284, 95), +(41, 285, 74), +(41, 286, 86), +(41, 287, 71), +(41, 288, 78), +(41, 289, 81), +(41, 290, 98), +(41, 291, 69), +(41, 292, 97), +(41, 293, 74), +(41, 294, 72), +(41, 295, 66), +(41, 296, 97), +(41, 297, 70), +(41, 298, 82), +(41, 299, 85), +(41, 300, 96), +(41, 301, 91), +(41, 302, 75), +(41, 303, 70), +(41, 304, 97), +(41, 305, 98), +(41, 306, 70), +(41, 307, 92), +(41, 308, 72), +(41, 309, 78), +(41, 310, 97), +(41, 311, 65), +(41, 312, 95), +(41, 313, 85), +(41, 314, 77), +(41, 315, 95), +(41, 316, 93), +(41, 317, 99), +(41, 318, 91), +(41, 319, 70), +(41, 320, 83), +(41, 321, 83), +(41, 322, 76), +(41, 323, 68), +(41, 324, 66), +(41, 325, 73), +(41, 326, 99), +(41, 327, 71), +(41, 328, 79), +(41, 329, 96), +(41, 330, 67), +(41, 331, 66), +(41, 332, 90), +(41, 333, 77), +(41, 334, 86), +(41, 335, 70), +(41, 336, 71), +(41, 337, 98), +(41, 338, 72), +(41, 339, 72), +(41, 340, 77), +(41, 341, 72), +(41, 342, 92), +(41, 343, 86), +(41, 344, 78), +(41, 345, 74), +(41, 346, 83), +(41, 347, 92), +(41, 348, 68), +(41, 349, 81), +(41, 350, 77), +(41, 351, 82), +(41, 352, 79), +(41, 353, 67), +(41, 354, 72), +(41, 355, 67), +(41, 356, 81), +(41, 357, 94), +(41, 358, 91), +(41, 359, 93), +(41, 360, 95), +(41, 361, 90), +(41, 362, 81), +(41, 363, 96), +(41, 364, 83), +(41, 365, 79), +(41, 366, 78), +(41, 367, 97), +(41, 368, 89), +(41, 369, 65), +(41, 370, 83), +(41, 371, 77), +(41, 372, 99), +(41, 373, 88), +(41, 374, 76), +(41, 375, 70), +(41, 376, 79), +(41, 377, 70), +(41, 378, 89), +(41, 379, 77), +(41, 380, 77), +(41, 381, 68), +(41, 382, 82), +(41, 383, 79), +(41, 384, 84), +(41, 385, 81), +(41, 386, 99), +(41, 387, 74), +(41, 388, 74), +(41, 389, 82), +(41, 390, 83), +(41, 391, 67), +(41, 392, 70), +(41, 393, 77), +(41, 394, 79), +(41, 395, 65), +(41, 396, 91), +(41, 397, 93), +(41, 398, 89), +(41, 399, 95), +(41, 400, 84), +(41, 401, 97), +(41, 402, 79), +(41, 403, 99), +(41, 404, 86), +(41, 405, 81), +(41, 406, 98), +(41, 407, 91), +(41, 408, 74), +(41, 409, 69), +(41, 410, 73), +(41, 411, 83), +(41, 412, 91), +(41, 413, 65), +(41, 414, 89), +(41, 415, 91), +(41, 416, 95), +(41, 417, 83), +(41, 418, 85), +(41, 419, 75), +(41, 420, 68), +(41, 421, 80), +(41, 422, 73), +(41, 423, 94), +(41, 424, 78), +(41, 425, 98), +(41, 426, 88), +(41, 427, 70), +(41, 428, 98), +(41, 429, 71), +(41, 430, 68), +(41, 431, 78), +(41, 432, 75), +(41, 433, 86), +(41, 434, 85), +(41, 435, 68), +(41, 436, 92), +(41, 437, 94), +(41, 438, 77), +(41, 439, 76), +(41, 440, 83), +(41, 441, 98), +(41, 442, 89), +(41, 443, 72), +(41, 444, 84), +(41, 445, 95), +(41, 446, 67), +(41, 447, 65), +(41, 448, 65), +(41, 449, 69), +(41, 450, 72), +(41, 451, 81), +(41, 452, 87), +(41, 453, 90), +(41, 454, 79), +(41, 455, 78), +(41, 456, 68), +(41, 457, 73), +(41, 458, 82), +(41, 459, 84), +(41, 460, 74), +(41, 461, 70), +(41, 462, 89), +(41, 463, 82), +(41, 464, 72), +(41, 465, 71), +(41, 466, 97), +(41, 467, 88), +(41, 468, 74), +(41, 469, 69), +(41, 470, 96), +(41, 471, 66), +(41, 472, 68), +(41, 473, 92), +(41, 474, 82), +(41, 475, 96), +(41, 476, 76), +(41, 477, 81), +(41, 478, 73), +(41, 479, 83), +(41, 480, 71), +(41, 481, 83), +(41, 482, 73), +(41, 483, 89), +(41, 484, 71), +(41, 485, 78), +(41, 486, 89), +(41, 487, 72), +(41, 488, 67), +(41, 489, 69), +(41, 490, 90), +(41, 491, 70), +(41, 492, 65), +(41, 493, 88), +(41, 494, 82), +(41, 495, 83), +(41, 496, 81), +(41, 497, 95), +(41, 498, 65), +(41, 499, 86), +(41, 500, 98), +(41, 501, 74), +(41, 502, 98), +(41, 503, 67), +(41, 504, 98), +(41, 505, 77), +(41, 506, 89), +(41, 507, 76), +(41, 508, 73), +(41, 509, 71), +(41, 510, 94), +(41, 511, 72), +(41, 512, 72), +(41, 513, 87), +(41, 514, 93), +(41, 515, 65), +(41, 516, 85), +(41, 517, 70), +(41, 518, 85), +(41, 519, 77), +(41, 520, 88), +(41, 521, 77), +(41, 522, 82), +(41, 523, 86), +(41, 524, 71), +(41, 525, 80), +(41, 526, 70), +(41, 527, 98), +(41, 528, 79), +(41, 529, 83), +(41, 530, 71), +(41, 531, 87), +(41, 532, 84), +(41, 533, 90), +(41, 534, 75), +(41, 535, 84), +(41, 536, 73), +(41, 537, 89), +(41, 538, 68), +(41, 539, 82), +(41, 540, 74), +(41, 541, 79), +(41, 542, 93), +(41, 543, 75), +(41, 544, 82), +(41, 545, 84), +(41, 546, 77), +(41, 547, 73), +(41, 548, 83), +(41, 549, 77), +(41, 550, 84), +(41, 551, 95), +(41, 552, 72), +(41, 553, 66), +(41, 554, 76), +(41, 555, 76), +(41, 556, 75), +(41, 557, 66), +(41, 558, 93), +(41, 559, 96), +(41, 560, 78), +(41, 561, 90), +(41, 562, 99), +(41, 563, 68), +(41, 564, 95), +(41, 1024, 90), +(41, 1025, 77), +(41, 1026, 99), +(41, 1027, 96), +(41, 1028, 93), +(41, 1029, 99), +(41, 1030, 75), +(41, 1031, 91), +(41, 1032, 81), +(41, 1033, 89), +(41, 1034, 68), +(41, 1035, 84), +(41, 1036, 78), +(41, 1037, 80), +(41, 1038, 72), +(41, 1039, 91), +(41, 1040, 81), +(41, 1041, 72), +(41, 1042, 70), +(41, 1043, 88), +(41, 1044, 70), +(41, 1045, 77), +(41, 1046, 94), +(41, 1047, 81), +(41, 1048, 79), +(41, 1049, 97), +(41, 1050, 82), +(41, 1051, 69), +(41, 1052, 93), +(41, 1053, 89), +(41, 1054, 71), +(41, 1055, 92), +(41, 1056, 77), +(41, 1057, 74), +(41, 1058, 66), +(41, 1059, 75), +(41, 1060, 70), +(41, 1061, 95), +(41, 1062, 72), +(41, 1063, 72), +(41, 1064, 98), +(41, 1065, 90), +(41, 1066, 65), +(41, 1067, 96), +(41, 1068, 97), +(41, 1069, 66), +(41, 1070, 94), +(41, 1071, 74), +(41, 1072, 98), +(41, 1073, 74), +(41, 1074, 70), +(41, 1075, 88), +(41, 1076, 65), +(41, 1077, 76), +(41, 1078, 98), +(41, 1079, 68), +(41, 1080, 97), +(41, 1081, 71), +(41, 1082, 70), +(41, 1083, 90), +(41, 1084, 89), +(41, 1085, 80), +(41, 1086, 73), +(41, 1087, 76), +(41, 1088, 85), +(41, 1089, 79), +(41, 1090, 95), +(41, 1091, 99), +(41, 1092, 65), +(41, 1093, 91), +(41, 1094, 95), +(41, 1095, 65), +(41, 1096, 98), +(41, 1097, 93), +(41, 1098, 90), +(41, 1099, 91), +(41, 1100, 65), +(41, 1101, 65), +(41, 1102, 84), +(41, 1103, 86), +(41, 1104, 81), +(41, 1105, 89), +(41, 1106, 73), +(41, 1107, 82), +(41, 1108, 85), +(41, 1109, 75), +(41, 1110, 74), +(41, 1111, 98), +(41, 1112, 68), +(41, 1113, 79), +(41, 1114, 85), +(41, 1115, 87), +(41, 1116, 85), +(41, 1117, 89), +(41, 1118, 92), +(41, 1119, 67), +(41, 1120, 75), +(41, 1121, 89), +(41, 1122, 71), +(41, 1123, 91), +(41, 1124, 96), +(41, 1125, 90), +(41, 1126, 84), +(41, 1127, 92), +(41, 1128, 74), +(41, 1129, 76), +(41, 1130, 75), +(41, 1131, 76), +(41, 1132, 77), +(41, 1133, 74), +(41, 1134, 84), +(41, 1135, 95), +(41, 1136, 75), +(41, 1137, 94), +(41, 1138, 84), +(41, 1139, 89), +(41, 1140, 86), +(41, 1141, 78), +(41, 1142, 82), +(41, 1143, 76), +(41, 1144, 98), +(41, 1145, 89), +(41, 1146, 96), +(41, 1147, 69), +(41, 1148, 87), +(41, 1149, 90), +(41, 1150, 82), +(41, 1151, 89), +(41, 1152, 89), +(41, 1153, 90), +(41, 1154, 72), +(41, 1155, 84), +(41, 1156, 72), +(41, 1157, 91), +(41, 1158, 66), +(41, 1159, 98), +(41, 1160, 96), +(41, 1161, 97), +(41, 1162, 86), +(41, 1163, 75), +(41, 1164, 97), +(41, 1165, 93), +(41, 1166, 73), +(41, 1167, 77), +(41, 1168, 87), +(41, 1169, 76), +(41, 1170, 69), +(41, 1171, 83), +(41, 1172, 67), +(41, 1173, 92), +(41, 1174, 77), +(41, 1175, 70), +(41, 1176, 84), +(41, 1177, 92), +(41, 1178, 83), +(41, 1179, 98), +(41, 1180, 84), +(41, 1181, 82), +(41, 1182, 70), +(41, 1183, 71), +(41, 1184, 98), +(41, 1185, 91), +(41, 1186, 77), +(41, 1187, 69), +(41, 1188, 97), +(41, 1189, 99), +(41, 1190, 90), +(41, 1191, 67), +(41, 1192, 77), +(41, 1193, 66), +(41, 1194, 98), +(41, 1195, 67), +(41, 1196, 80), +(41, 1197, 68), +(41, 1198, 90), +(41, 1199, 77), +(41, 1200, 93), +(41, 1201, 78), +(41, 1202, 85), +(41, 1203, 69), +(41, 1204, 70), +(41, 1205, 81), +(41, 1206, 92), +(41, 1207, 85), +(41, 1208, 79), +(41, 1209, 88), +(41, 1210, 66), +(41, 1211, 74), +(41, 1212, 88), +(41, 1213, 89), +(41, 1214, 71), +(41, 1215, 88), +(41, 1216, 84), +(41, 1217, 97), +(41, 1218, 91), +(41, 1219, 75), +(41, 1220, 89), +(41, 1221, 83), +(41, 1222, 71), +(41, 1223, 98), +(41, 1224, 65), +(41, 1225, 81), +(41, 1226, 85), +(41, 1227, 71), +(41, 1228, 87), +(41, 1229, 73), +(41, 1230, 99), +(41, 1231, 95), +(41, 1232, 92), +(41, 1233, 80), +(41, 1234, 74), +(41, 1235, 79), +(41, 1236, 65), +(41, 1237, 92), +(41, 1238, 86), +(41, 1239, 80), +(41, 1240, 76), +(41, 1241, 98), +(41, 1242, 78), +(41, 1243, 89), +(41, 1244, 83), +(41, 1245, 65), +(41, 1246, 91), +(41, 1247, 83), +(41, 1248, 81), +(41, 1249, 80), +(41, 1250, 71), +(41, 1251, 69), +(41, 1252, 86), +(41, 1253, 75), +(41, 1254, 98), +(41, 1255, 90), +(41, 1256, 67), +(41, 1257, 66), +(41, 1258, 98), +(41, 1259, 86), +(41, 1260, 76), +(41, 1261, 76), +(41, 1262, 71), +(41, 1263, 74), +(41, 1264, 72), +(41, 1265, 84), +(41, 1266, 80), +(41, 1267, 71), +(41, 1268, 84), +(41, 1269, 88), +(41, 1270, 92), +(41, 1271, 93), +(41, 1272, 77), +(41, 1273, 69), +(41, 1274, 98), +(41, 1275, 83), +(41, 1276, 72), +(41, 1277, 94), +(41, 1278, 86), +(41, 1279, 91), +(41, 1280, 97), +(41, 1281, 67), +(41, 1282, 86), +(41, 1283, 91), +(41, 1284, 70), +(41, 1285, 94), +(41, 1286, 67), +(41, 1287, 78), +(41, 1288, 84), +(41, 1289, 88), +(41, 1290, 72), +(41, 1291, 72), +(41, 1292, 75), +(41, 1293, 86), +(41, 1294, 94), +(41, 1295, 92), +(41, 1296, 91), +(41, 1297, 80), +(41, 1298, 89), +(41, 1299, 84), +(41, 1300, 92), +(41, 1301, 87), +(41, 1302, 89), +(41, 1303, 96), +(41, 1304, 93), +(41, 1305, 78), +(41, 1306, 72), +(41, 1307, 79), +(41, 1308, 86), +(41, 1309, 81), +(41, 1310, 66), +(41, 1311, 82), +(41, 1312, 76), +(41, 1313, 78), +(41, 1314, 84), +(41, 1315, 70), +(41, 1316, 97), +(41, 1317, 86), +(41, 1318, 76), +(41, 1319, 80), +(41, 1320, 87), +(41, 1321, 78), +(41, 1322, 76), +(41, 1323, 91), +(41, 1324, 66), +(41, 1325, 66), +(41, 1326, 82), +(41, 1327, 78), +(41, 1328, 94), +(41, 1329, 69), +(41, 1330, 87), +(41, 1331, 65), +(41, 1332, 67), +(41, 1333, 90), +(41, 1334, 86), +(41, 1335, 88), +(41, 1336, 95), +(41, 1337, 98), +(41, 1338, 96), +(41, 1339, 80), +(41, 1340, 96), +(41, 1341, 98), +(41, 1342, 86), +(41, 1343, 76), +(41, 1344, 90), +(41, 1345, 80), +(41, 1346, 68), +(41, 1347, 88), +(41, 1348, 68), +(41, 1349, 65), +(41, 1350, 73), +(41, 1351, 95), +(41, 1352, 79), +(41, 1353, 99), +(41, 1354, 88), +(41, 1355, 80), +(41, 1356, 82), +(41, 1357, 77), +(41, 1358, 88), +(41, 1359, 90), +(41, 1360, 77), +(41, 1361, 73), +(41, 1362, 97), +(41, 1363, 68), +(41, 1364, 98), +(41, 1365, 83), +(41, 1366, 94), +(41, 1367, 87), +(41, 1368, 84), +(41, 1369, 71), +(41, 1370, 66), +(41, 1371, 71), +(41, 1372, 94), +(41, 1373, 88), +(41, 1374, 92), +(41, 1375, 69), +(41, 1376, 82), +(41, 1377, 73), +(41, 1378, 98), +(41, 1379, 71), +(41, 1380, 99), +(41, 1381, 67), +(41, 1382, 83), +(41, 1383, 98), +(41, 1384, 87), +(41, 1385, 65), +(41, 1386, 99), +(41, 1387, 76), +(41, 1388, 84), +(41, 1389, 70), +(41, 1390, 98), +(41, 1391, 95), +(41, 1392, 99), +(41, 1393, 78), +(41, 1394, 76), +(41, 1395, 68), +(41, 1396, 73), +(41, 1397, 98), +(41, 1398, 74), +(41, 1399, 72), +(41, 1400, 69), +(41, 1401, 86), +(41, 1402, 66), +(41, 1403, 80), +(41, 1404, 85), +(41, 1405, 82), +(41, 1406, 84), +(41, 1407, 68), +(41, 1408, 87), +(41, 1409, 85), +(41, 1410, 99), +(41, 1411, 79), +(41, 1412, 65), +(41, 1413, 70), +(41, 1414, 77), +(41, 1415, 65), +(41, 1416, 73), +(41, 1417, 86), +(41, 1418, 99), +(41, 1419, 85), +(41, 1420, 90), +(41, 1421, 91), +(41, 1422, 87), +(41, 1423, 71), +(41, 1424, 80), +(41, 1425, 83), +(41, 1426, 99), +(41, 1427, 95), +(41, 1428, 94), +(41, 1429, 80), +(41, 1430, 90), +(41, 1431, 94), +(41, 1432, 71), +(41, 1433, 91), +(41, 1434, 87), +(41, 1435, 69), +(41, 1436, 92), +(41, 1437, 83), +(41, 1438, 74), +(41, 1439, 74), +(41, 1440, 73), +(41, 1441, 84), +(41, 1442, 96), +(41, 1443, 65), +(41, 1444, 93), +(41, 1445, 92), +(41, 1446, 86), +(41, 1447, 94), +(41, 1448, 67), +(41, 1449, 70), +(41, 1450, 66), +(41, 1451, 75), +(41, 1452, 72), +(41, 1453, 70), +(41, 1454, 79), +(41, 1455, 71), +(41, 1456, 83), +(41, 1457, 98), +(41, 1458, 87), +(41, 1459, 73), +(41, 1460, 91), +(41, 1461, 66), +(41, 1462, 67), +(41, 1463, 70), +(41, 1464, 76), +(41, 1465, 66), +(41, 1466, 71), +(41, 1467, 96), +(41, 1468, 68), +(41, 1469, 66), +(41, 1470, 93), +(41, 1471, 74), +(41, 1472, 86), +(41, 1473, 69), +(41, 1474, 68), +(41, 1475, 85), +(41, 1476, 67), +(41, 1477, 70), +(41, 1478, 78), +(41, 1479, 71), +(41, 1480, 83), +(41, 1481, 80), +(41, 1482, 85), +(41, 1483, 76), +(41, 1484, 92), +(41, 1485, 74), +(41, 1486, 86), +(41, 1487, 97), +(41, 1488, 71), +(41, 1489, 70), +(41, 1490, 65), +(41, 1491, 65), +(41, 1492, 84), +(41, 1493, 73), +(41, 1494, 81), +(41, 1495, 82), +(41, 1496, 97), +(41, 1497, 72), +(41, 1498, 91), +(41, 1499, 65), +(41, 1500, 93), +(41, 1501, 90), +(41, 1502, 89), +(41, 1503, 86), +(41, 1504, 95), +(41, 1505, 74), +(41, 1506, 82), +(41, 1507, 96), +(41, 1508, 92), +(41, 1509, 68), +(41, 1510, 93), +(41, 1511, 94), +(41, 1512, 67), +(41, 1513, 91), +(41, 1514, 74), +(41, 1515, 66), +(41, 1516, 82), +(41, 1517, 65), +(41, 1518, 76), +(41, 1519, 86), +(41, 1520, 79), +(41, 1521, 87), +(41, 1522, 74), +(41, 1523, 91), +(41, 1524, 88), +(41, 1525, 67), +(41, 1526, 72), +(41, 1527, 80), +(41, 1528, 82), +(41, 1529, 94), +(41, 1530, 77), +(41, 1531, 90), +(41, 1532, 89), +(41, 1533, 90), +(41, 1534, 66), +(41, 1535, 78), +(41, 1536, 80), +(41, 1537, 78), +(41, 1538, 73), +(41, 1539, 72), +(41, 1540, 91), +(41, 1541, 71), +(41, 1542, 80), +(41, 1543, 88), +(41, 1544, 99), +(41, 1545, 94), +(41, 1546, 76), +(41, 1547, 86), +(41, 1548, 87), +(41, 1549, 90), +(41, 1550, 94), +(41, 1551, 82), +(41, 1552, 71), +(41, 1553, 89), +(41, 1554, 92), +(41, 1555, 74), +(41, 1556, 90), +(41, 1557, 96), +(41, 1558, 85), +(41, 1559, 94), +(41, 1560, 78), +(41, 1561, 80), +(41, 1562, 88), +(41, 1563, 76), +(41, 1564, 95), +(41, 1565, 77), +(41, 1566, 68), +(41, 1567, 65), +(41, 1568, 78), +(41, 1569, 71), +(41, 1570, 78), +(41, 1571, 73), +(41, 1572, 72), +(41, 1573, 90), +(41, 1574, 95), +(41, 1575, 65), +(41, 1576, 94), +(41, 1577, 92), +(41, 1578, 95), +(41, 1579, 95), +(41, 1580, 94), +(41, 1581, 76), +(41, 1582, 99), +(41, 1583, 90), +(41, 1584, 76), +(41, 1585, 75), +(41, 1586, 84), +(41, 1587, 75), +(41, 2047, 68), +(41, 2048, 95), +(41, 2049, 71), +(41, 2050, 71), +(41, 2051, 88), +(41, 2052, 74), +(41, 2053, 77), +(41, 2054, 83), +(41, 2055, 92), +(41, 2056, 92), +(41, 2057, 71), +(41, 2058, 65), +(41, 2059, 79), +(41, 2060, 78), +(41, 2061, 99), +(41, 2062, 91), +(41, 2063, 82), +(41, 2064, 90), +(41, 2065, 66), +(41, 2066, 89), +(41, 2067, 75), +(41, 2068, 85), +(41, 2069, 90), +(41, 2070, 93), +(41, 2071, 80), +(41, 2072, 89), +(41, 2073, 69), +(41, 2074, 73), +(41, 2075, 75), +(41, 2076, 99), +(41, 2077, 77), +(41, 2078, 91), +(41, 2079, 91), +(41, 2080, 87), +(41, 2081, 83), +(41, 2082, 75), +(41, 2083, 93), +(41, 2084, 82), +(41, 2085, 72), +(41, 2086, 91), +(41, 2087, 79), +(41, 2088, 75), +(41, 2089, 75), +(41, 2090, 71), +(41, 2091, 99), +(41, 2092, 77), +(41, 2093, 68), +(41, 2094, 65), +(41, 2095, 66), +(41, 2096, 69), +(41, 2097, 93), +(41, 2098, 82), +(41, 2099, 93), +(41, 2100, 70), +(41, 2101, 94), +(41, 2102, 83), +(41, 2103, 74), +(41, 2104, 76), +(41, 2105, 77), +(41, 2106, 75), +(41, 2107, 89), +(41, 2108, 66), +(41, 2109, 65), +(41, 2110, 81), +(41, 2111, 92), +(41, 2112, 87), +(41, 2113, 69), +(41, 2114, 77), +(41, 2115, 75), +(41, 2116, 70), +(41, 2117, 74), +(41, 2118, 80), +(41, 2119, 89), +(41, 2120, 78), +(41, 2121, 91), +(41, 2122, 72), +(41, 2123, 83), +(41, 2124, 82), +(41, 2125, 81), +(41, 2126, 87), +(41, 2127, 83), +(41, 2128, 87), +(41, 2129, 84), +(41, 2130, 69), +(41, 2131, 87), +(41, 2132, 75), +(41, 2133, 71), +(41, 2134, 99), +(41, 2135, 82), +(41, 2136, 72), +(41, 2137, 86), +(41, 2138, 68), +(41, 2139, 84), +(41, 2140, 93), +(41, 2141, 94), +(41, 2142, 93), +(41, 2143, 89), +(41, 2144, 93), +(41, 2145, 79), +(41, 2146, 96), +(41, 2147, 69), +(41, 2148, 84), +(41, 2149, 90), +(41, 2150, 94), +(41, 2151, 94), +(41, 2152, 73), +(41, 2153, 71), +(41, 2154, 94), +(41, 2155, 77), +(41, 2156, 85), +(41, 2157, 81), +(41, 2158, 88), +(41, 2159, 80), +(41, 2160, 87), +(41, 2161, 71), +(41, 2162, 81), +(41, 2163, 75), +(41, 2164, 65), +(41, 2165, 89), +(41, 2166, 89), +(41, 2167, 66), +(41, 2168, 74), +(41, 2169, 86), +(41, 2170, 91), +(41, 2171, 80), +(41, 2172, 83), +(41, 2173, 85), +(41, 2174, 96), +(41, 2175, 82), +(41, 2176, 90), +(41, 2177, 87), +(41, 2178, 92), +(41, 2179, 86), +(41, 2180, 75), +(41, 2181, 84), +(41, 2182, 86), +(41, 2183, 75), +(41, 2184, 90), +(41, 2185, 79), +(41, 2186, 90), +(41, 2187, 98), +(41, 2188, 70), +(41, 2189, 82), +(41, 2190, 91), +(41, 2191, 94), +(41, 2192, 79), +(41, 2193, 81), +(41, 2194, 68), +(41, 2195, 85), +(41, 2196, 73), +(41, 2197, 74), +(41, 2198, 95), +(41, 2199, 65), +(41, 2200, 79), +(41, 2201, 91), +(41, 2202, 87), +(41, 2203, 65), +(41, 2204, 71), +(41, 2205, 74), +(41, 2206, 97), +(41, 2207, 82), +(41, 2208, 65), +(41, 2209, 90), +(41, 2210, 70), +(41, 2211, 90), +(41, 2212, 71), +(41, 2213, 92), +(41, 2214, 91), +(41, 2215, 88), +(41, 2216, 89), +(41, 2217, 88), +(41, 2218, 79), +(41, 2219, 80), +(41, 2220, 99), +(41, 2221, 66), +(41, 2222, 81), +(41, 2223, 78), +(41, 2224, 81), +(41, 2225, 65), +(41, 2226, 89), +(41, 2227, 73), +(41, 2228, 66), +(41, 2229, 65), +(41, 2230, 67), +(41, 2231, 67), +(41, 2232, 99), +(41, 2233, 83), +(41, 2234, 92), +(41, 2235, 80), +(41, 2236, 71), +(41, 2237, 69), +(41, 2238, 95), +(41, 2239, 95), +(41, 2240, 78), +(41, 2241, 91), +(41, 2242, 69), +(41, 2243, 91), +(41, 2244, 95), +(41, 2245, 73), +(41, 2246, 83), +(41, 2247, 84), +(41, 2248, 71), +(41, 2249, 84), +(41, 2250, 82), +(41, 2251, 93), +(41, 2252, 74), +(41, 2253, 79), +(41, 2254, 91), +(41, 2255, 84), +(41, 2256, 78), +(41, 2257, 67), +(41, 2258, 73), +(41, 2259, 79), +(41, 2260, 90), +(41, 2261, 92), +(41, 2262, 94), +(41, 2263, 75), +(41, 2264, 97), +(41, 2265, 85), +(41, 2266, 81), +(41, 2267, 92), +(41, 2268, 88), +(41, 2269, 84), +(41, 2270, 93), +(41, 2271, 67), +(41, 2272, 89), +(41, 2273, 74), +(41, 2274, 89), +(41, 2275, 67), +(41, 2276, 70), +(41, 2277, 72), +(41, 2278, 68), +(41, 2279, 70), +(41, 2280, 73), +(41, 2281, 86), +(41, 2282, 74), +(41, 2283, 94), +(41, 2284, 94), +(41, 2285, 96), +(41, 2286, 65), +(41, 2287, 69), +(41, 2288, 84), +(41, 2289, 74), +(41, 2290, 78), +(41, 2291, 76), +(41, 2292, 91), +(41, 2293, 68), +(41, 2294, 83), +(41, 2295, 73), +(41, 2296, 90), +(41, 2297, 96), +(41, 2298, 91), +(41, 2299, 92), +(41, 2300, 73), +(41, 2301, 74), +(41, 2302, 81), +(41, 2303, 86), +(41, 2304, 70), +(41, 2305, 93), +(41, 2306, 91), +(41, 2307, 89), +(41, 2308, 69), +(41, 2309, 73), +(41, 2310, 95), +(41, 2311, 75), +(41, 2312, 83), +(41, 2313, 82), +(41, 2314, 92), +(41, 2315, 86), +(41, 2316, 65), +(41, 2317, 94), +(41, 2318, 93), +(41, 2319, 88), +(41, 2320, 84), +(41, 2321, 89), +(41, 2322, 73), +(41, 2323, 74), +(41, 2324, 93), +(41, 2325, 67), +(41, 2326, 97), +(41, 2327, 80), +(41, 2328, 66), +(41, 2329, 80), +(41, 2330, 91), +(41, 2331, 90), +(41, 2332, 98), +(41, 2333, 88), +(41, 2334, 83), +(41, 2335, 77), +(41, 2336, 93), +(41, 2337, 89), +(41, 2338, 81), +(41, 2339, 81), +(41, 2340, 86), +(41, 2341, 77), +(41, 2342, 94), +(41, 2343, 99), +(41, 2344, 89), +(41, 2345, 77), +(41, 2346, 99), +(41, 2347, 91), +(41, 2348, 69), +(41, 2349, 94), +(41, 2350, 87), +(41, 2351, 83), +(41, 2352, 82), +(41, 2353, 99), +(41, 2354, 85), +(41, 2355, 98), +(41, 2356, 95), +(41, 2357, 89), +(41, 2358, 97), +(41, 2359, 99), +(41, 2360, 69), +(41, 2361, 84), +(41, 2362, 66), +(41, 2363, 89), +(41, 2364, 95), +(41, 2365, 91), +(41, 2366, 69), +(41, 2367, 77), +(41, 2368, 81), +(41, 2369, 67), +(41, 2370, 88), +(41, 2371, 88), +(41, 2372, 96), +(41, 2373, 83), +(41, 2374, 80), +(41, 2375, 84), +(41, 2376, 95), +(41, 2377, 82), +(41, 2378, 71), +(41, 2379, 76), +(41, 2380, 66), +(41, 2381, 96), +(41, 2382, 87), +(41, 2383, 86), +(41, 2384, 97), +(41, 2385, 94), +(41, 2386, 73), +(41, 2387, 72), +(41, 2388, 70), +(41, 2389, 88), +(41, 2390, 80), +(41, 2391, 66), +(41, 2392, 91), +(41, 2393, 91), +(41, 2394, 88), +(41, 2395, 95), +(41, 2396, 79), +(41, 2397, 96), +(41, 2398, 96), +(41, 2399, 85), +(41, 2400, 94), +(41, 2401, 79), +(41, 2402, 75), +(41, 2403, 65), +(41, 2404, 81), +(41, 2405, 86), +(41, 2406, 94), +(41, 2407, 82), +(41, 2408, 75), +(41, 2409, 91), +(41, 2410, 70), +(41, 2411, 76), +(41, 2412, 81), +(41, 2413, 90), +(41, 2414, 90), +(41, 2415, 86), +(41, 2416, 73), +(41, 2417, 94), +(41, 2418, 74), +(41, 2419, 70), +(41, 2420, 79), +(41, 2421, 87), +(41, 2422, 79), +(41, 2423, 83), +(41, 2424, 68), +(41, 2425, 68), +(41, 2426, 92), +(41, 2427, 77), +(41, 2428, 70), +(41, 2429, 93), +(41, 2430, 93), +(41, 2431, 83), +(41, 2432, 92), +(41, 2433, 81), +(41, 2434, 76), +(41, 2435, 77), +(41, 2436, 67), +(41, 2437, 71), +(41, 2438, 92), +(41, 2439, 92), +(41, 2440, 75), +(41, 2441, 88), +(41, 2442, 78), +(41, 2443, 71), +(41, 2444, 80), +(41, 2445, 82), +(41, 2446, 82), +(41, 2447, 77), +(41, 2448, 87), +(41, 2449, 76), +(41, 2450, 86), +(41, 2451, 94), +(41, 2452, 75), +(41, 2453, 70), +(41, 2454, 91), +(41, 2455, 89), +(41, 2456, 72), +(41, 2457, 96), +(41, 2458, 91), +(41, 2459, 68), +(41, 2460, 71), +(41, 2461, 84), +(41, 2462, 66), +(41, 2463, 75), +(41, 2464, 79), +(41, 2465, 86), +(41, 2466, 73), +(41, 2467, 80), +(41, 2468, 98), +(41, 2469, 92), +(41, 2470, 74), +(41, 2471, 93), +(41, 2472, 94), +(41, 2473, 94), +(41, 2474, 77), +(41, 2475, 95), +(41, 2476, 92), +(41, 2477, 94), +(41, 2478, 97), +(41, 2479, 87), +(41, 2480, 92), +(41, 2481, 71), +(41, 2482, 67), +(41, 2483, 93), +(41, 2484, 91), +(41, 2485, 67), +(41, 2486, 67), +(41, 2487, 67), +(41, 2488, 65), +(41, 2489, 91), +(41, 2490, 66), +(41, 2491, 92), +(41, 2492, 96), +(41, 2493, 99), +(41, 2494, 90), +(41, 2495, 88), +(41, 2496, 67), +(41, 2497, 68), +(41, 2498, 65), +(41, 2499, 82), +(41, 2500, 76), +(41, 2501, 85), +(41, 2502, 92), +(41, 2503, 77), +(41, 2504, 72), +(41, 2505, 70), +(41, 2506, 83), +(41, 2507, 69), +(41, 2508, 84), +(41, 2509, 65), +(41, 2510, 75), +(41, 2511, 84), +(41, 2512, 68), +(41, 2513, 71), +(41, 2514, 86), +(41, 2515, 96), +(41, 2516, 80), +(41, 2517, 76), +(41, 2518, 83), +(41, 2519, 65), +(41, 2520, 93), +(41, 2521, 92), +(41, 2522, 91), +(41, 2523, 81), +(41, 2524, 86), +(41, 2525, 91), +(41, 2526, 96), +(41, 2527, 95), +(41, 2528, 77), +(41, 2529, 89), +(41, 2530, 85), +(41, 2531, 96), +(41, 2532, 70), +(41, 2533, 88), +(41, 2534, 72), +(41, 2535, 70), +(41, 2536, 93), +(41, 2537, 75), +(41, 2538, 69), +(41, 2539, 74), +(41, 2540, 77), +(41, 2541, 67), +(41, 2542, 93), +(41, 2543, 96), +(41, 2544, 83), +(41, 2545, 78), +(41, 2546, 74), +(41, 2547, 65), +(41, 2548, 92), +(41, 2549, 66), +(41, 2550, 92), +(41, 2551, 79), +(41, 2552, 83), +(41, 2553, 87), +(41, 2554, 69), +(41, 2555, 70), +(41, 2556, 98), +(41, 2557, 70), +(41, 2558, 92), +(41, 2559, 70), +(41, 2560, 78), +(41, 2561, 70), +(41, 2562, 92), +(41, 2563, 70), +(41, 2564, 89), +(41, 2565, 94), +(41, 2566, 88), +(41, 2567, 80), +(41, 2568, 87), +(41, 2569, 98), +(41, 2570, 87), +(41, 2571, 94), +(41, 2572, 88), +(41, 2573, 96), +(41, 2574, 75), +(41, 2575, 79), +(41, 2576, 93), +(41, 2577, 74), +(41, 2578, 88), +(41, 2579, 72), +(41, 2580, 68), +(41, 2581, 82), +(41, 2582, 81), +(41, 2583, 80), +(41, 2584, 98), +(41, 2585, 85), +(41, 2586, 72), +(41, 2587, 73), +(41, 2588, 66), +(41, 2589, 77), +(41, 2590, 97), +(41, 2591, 87), +(41, 2592, 70), +(41, 2593, 98), +(41, 2594, 81), +(41, 2595, 97), +(41, 2596, 87), +(41, 2597, 73), +(41, 2598, 89), +(41, 2599, 91), +(41, 2600, 96), +(41, 2601, 87), +(41, 2602, 96), +(41, 2603, 93), +(41, 2604, 72), +(41, 2605, 77), +(41, 2606, 73), +(41, 2607, 84), +(41, 2608, 74), +(41, 2609, 84), +(41, 2610, 80), +(42, 1, 87), +(42, 2, 92), +(42, 3, 80), +(42, 4, 81), +(42, 5, 66), +(42, 6, 69), +(42, 7, 75), +(42, 8, 97), +(42, 9, 88), +(42, 10, 87), +(42, 11, 82), +(42, 12, 90), +(42, 13, 67), +(42, 14, 89), +(42, 15, 83), +(42, 16, 66), +(42, 17, 98), +(42, 18, 65), +(42, 19, 85), +(42, 20, 72), +(42, 21, 88), +(42, 22, 93), +(42, 23, 68), +(42, 24, 97), +(42, 25, 90), +(42, 26, 96), +(42, 27, 92), +(42, 28, 91), +(42, 29, 74), +(42, 30, 69), +(42, 31, 68), +(42, 32, 95), +(42, 33, 97), +(42, 34, 97), +(42, 35, 68), +(42, 36, 71), +(42, 37, 95), +(42, 38, 93), +(42, 39, 67), +(42, 40, 83), +(42, 41, 83), +(42, 42, 91), +(42, 43, 99), +(42, 44, 85), +(42, 45, 93), +(42, 46, 75), +(42, 47, 76), +(42, 48, 67), +(42, 49, 96), +(42, 50, 97), +(42, 51, 70), +(42, 52, 95), +(42, 53, 96), +(42, 54, 79), +(42, 55, 69), +(42, 56, 96), +(42, 57, 80), +(42, 58, 78), +(42, 59, 66), +(42, 60, 92), +(42, 61, 95), +(42, 62, 84), +(42, 63, 69), +(42, 64, 81), +(42, 65, 78), +(42, 66, 96), +(42, 67, 91), +(42, 68, 94), +(42, 69, 75), +(42, 70, 76), +(42, 71, 89), +(42, 72, 75), +(42, 73, 73), +(42, 74, 93), +(42, 75, 70), +(42, 76, 72), +(42, 77, 81), +(42, 78, 90), +(42, 79, 71), +(42, 80, 72), +(42, 81, 75), +(42, 82, 90), +(42, 83, 76), +(42, 84, 95), +(42, 85, 99), +(42, 86, 97), +(42, 87, 82), +(42, 88, 85), +(42, 89, 89), +(42, 90, 72), +(42, 91, 98), +(42, 92, 97), +(42, 93, 77), +(42, 94, 73), +(42, 95, 71), +(42, 96, 93), +(42, 97, 65), +(42, 98, 92), +(42, 99, 98), +(42, 100, 97), +(42, 101, 67), +(42, 102, 65), +(42, 103, 66), +(42, 104, 95), +(42, 105, 71), +(42, 106, 84), +(42, 107, 97), +(42, 108, 74), +(42, 109, 78), +(42, 110, 77), +(42, 111, 90), +(42, 112, 90), +(42, 113, 82), +(42, 114, 90), +(42, 115, 93), +(42, 116, 90), +(42, 117, 89), +(42, 118, 96), +(42, 119, 94), +(42, 120, 92), +(42, 121, 89), +(42, 122, 94), +(42, 123, 80), +(42, 124, 70), +(42, 125, 95), +(42, 126, 85), +(42, 127, 85), +(42, 128, 88), +(42, 129, 79), +(42, 130, 73), +(42, 131, 82), +(42, 132, 95), +(42, 133, 86), +(42, 134, 75), +(42, 135, 81), +(42, 136, 70), +(42, 137, 73), +(42, 138, 98), +(42, 139, 94), +(42, 140, 82), +(42, 141, 86), +(42, 142, 76), +(42, 143, 65), +(42, 144, 76), +(42, 145, 73), +(42, 146, 73), +(42, 147, 68), +(42, 148, 65), +(42, 149, 97), +(42, 150, 76), +(42, 151, 70), +(42, 152, 86), +(42, 153, 93), +(42, 154, 73), +(42, 155, 87), +(42, 156, 93), +(42, 157, 96), +(42, 158, 67), +(42, 159, 94), +(42, 160, 81), +(42, 161, 77), +(42, 162, 76), +(42, 163, 85), +(42, 164, 66), +(42, 165, 70), +(42, 166, 85), +(42, 167, 96), +(42, 168, 69), +(42, 169, 96), +(42, 170, 91), +(42, 171, 81), +(42, 172, 66), +(42, 173, 87), +(42, 174, 90), +(42, 175, 75), +(42, 176, 79), +(42, 177, 82), +(42, 178, 94), +(42, 179, 75), +(42, 180, 74), +(42, 181, 84), +(42, 182, 67), +(42, 183, 92), +(42, 184, 69), +(42, 185, 67), +(42, 186, 98), +(42, 187, 81), +(42, 188, 79), +(42, 189, 95), +(42, 190, 66), +(42, 191, 95), +(42, 192, 69), +(42, 193, 87), +(42, 194, 88), +(42, 195, 99), +(42, 196, 94), +(42, 197, 80), +(42, 198, 97), +(42, 199, 68), +(42, 200, 96), +(42, 201, 78), +(42, 202, 80), +(42, 203, 73), +(42, 204, 74), +(42, 205, 84), +(42, 206, 76), +(42, 207, 66), +(42, 208, 73), +(42, 209, 83), +(42, 210, 92), +(42, 211, 89), +(42, 212, 75), +(42, 213, 66), +(42, 214, 94), +(42, 215, 96), +(42, 216, 91), +(42, 217, 67), +(42, 218, 72), +(42, 219, 91), +(42, 220, 65), +(42, 221, 91), +(42, 222, 66), +(42, 223, 96), +(42, 224, 71), +(42, 225, 77), +(42, 226, 92), +(42, 227, 85), +(42, 228, 96), +(42, 229, 88), +(42, 230, 78), +(42, 231, 78), +(42, 232, 74), +(42, 233, 69), +(42, 234, 76), +(42, 235, 84), +(42, 236, 69), +(42, 237, 69), +(42, 238, 91), +(42, 239, 97), +(42, 240, 88), +(42, 241, 75), +(42, 242, 95), +(42, 243, 77), +(42, 244, 79), +(42, 245, 85), +(42, 246, 69), +(42, 247, 93), +(42, 248, 70), +(42, 249, 71), +(42, 250, 69), +(42, 251, 94), +(42, 252, 65), +(42, 253, 88), +(42, 254, 73), +(42, 255, 78), +(42, 256, 78), +(42, 257, 94), +(42, 258, 88), +(42, 259, 83), +(42, 260, 74), +(42, 261, 97), +(42, 262, 72), +(42, 263, 95), +(42, 264, 84), +(42, 265, 71), +(42, 266, 66), +(42, 267, 87), +(42, 268, 98), +(42, 269, 98), +(42, 270, 81), +(42, 271, 91), +(42, 272, 65), +(42, 273, 97), +(42, 274, 75), +(42, 275, 73), +(42, 276, 87), +(42, 277, 80), +(42, 278, 68), +(42, 279, 71), +(42, 280, 70), +(42, 281, 81), +(42, 282, 87), +(42, 283, 79), +(42, 284, 72), +(42, 285, 75), +(42, 286, 99), +(42, 287, 78), +(42, 288, 68), +(42, 289, 91), +(42, 290, 72), +(42, 291, 91), +(42, 292, 72), +(42, 293, 95), +(42, 294, 69), +(42, 295, 96), +(42, 296, 80), +(42, 297, 77), +(42, 298, 68), +(42, 299, 76), +(42, 300, 96), +(42, 301, 66), +(42, 302, 87), +(42, 303, 88), +(42, 304, 74), +(42, 305, 94), +(42, 306, 88), +(42, 307, 84), +(42, 308, 80), +(42, 309, 95), +(42, 310, 65), +(42, 311, 66), +(42, 312, 72), +(42, 313, 66), +(42, 314, 79), +(42, 315, 68), +(42, 316, 91), +(42, 317, 97), +(42, 318, 69), +(42, 319, 82), +(42, 320, 99), +(42, 321, 94), +(42, 322, 77), +(42, 323, 75), +(42, 324, 76), +(42, 325, 70), +(42, 326, 77), +(42, 327, 95), +(42, 328, 85), +(42, 329, 98), +(42, 330, 67), +(42, 331, 68), +(42, 332, 74), +(42, 333, 82), +(42, 334, 92), +(42, 335, 84), +(42, 336, 84), +(42, 337, 89), +(42, 338, 83), +(42, 339, 94), +(42, 340, 87), +(42, 341, 81), +(42, 342, 97), +(42, 343, 70), +(42, 344, 94), +(42, 345, 80), +(42, 346, 86), +(42, 347, 80), +(42, 348, 88), +(42, 349, 72), +(42, 350, 73), +(42, 351, 94), +(42, 352, 87), +(42, 353, 77), +(42, 354, 97), +(42, 355, 69), +(42, 356, 70), +(42, 357, 90), +(42, 358, 88), +(42, 359, 75), +(42, 360, 86), +(42, 361, 75), +(42, 362, 99), +(42, 363, 73), +(42, 364, 69), +(42, 365, 77), +(42, 366, 96), +(42, 367, 73), +(42, 368, 97), +(42, 369, 94), +(42, 370, 88), +(42, 371, 76), +(42, 372, 84), +(42, 373, 95), +(42, 374, 97), +(42, 375, 84), +(42, 376, 93), +(42, 377, 65), +(42, 378, 88), +(42, 379, 75), +(42, 380, 75), +(42, 381, 99), +(42, 382, 71), +(42, 383, 97), +(42, 384, 71), +(42, 385, 77), +(42, 386, 96), +(42, 387, 79), +(42, 388, 77), +(42, 389, 72), +(42, 390, 89), +(42, 391, 89), +(42, 392, 66), +(42, 393, 84), +(42, 394, 99), +(42, 395, 97), +(42, 396, 90), +(42, 397, 86), +(42, 398, 65), +(42, 399, 77), +(42, 400, 66), +(42, 401, 83), +(42, 402, 87), +(42, 403, 76), +(42, 404, 67), +(42, 405, 77), +(42, 406, 82), +(42, 407, 89), +(42, 408, 90), +(42, 409, 88), +(42, 410, 89), +(42, 411, 88), +(42, 412, 92), +(42, 413, 66), +(42, 414, 71), +(42, 415, 65), +(42, 416, 66), +(42, 417, 65), +(42, 418, 92), +(42, 419, 87), +(42, 420, 79), +(42, 421, 88), +(42, 422, 71), +(42, 423, 95), +(42, 424, 84), +(42, 425, 82), +(42, 426, 90), +(42, 427, 74), +(42, 428, 76), +(42, 429, 92), +(42, 430, 91), +(42, 431, 85), +(42, 432, 80), +(42, 433, 68), +(42, 434, 89), +(42, 435, 82), +(42, 436, 99), +(42, 437, 89), +(42, 438, 94), +(42, 439, 92), +(42, 440, 71), +(42, 441, 71), +(42, 442, 94), +(42, 443, 73), +(42, 444, 75), +(42, 445, 89), +(42, 446, 82), +(42, 447, 89), +(42, 448, 69), +(42, 449, 65), +(42, 450, 73), +(42, 451, 70), +(42, 452, 94), +(42, 453, 97), +(42, 454, 66), +(42, 455, 93), +(42, 456, 95), +(42, 457, 71), +(42, 458, 85), +(42, 459, 95), +(42, 460, 91), +(42, 461, 94), +(42, 462, 92), +(42, 463, 72), +(42, 464, 84), +(42, 465, 90), +(42, 466, 70), +(42, 467, 85), +(42, 468, 90), +(42, 469, 66), +(42, 470, 83), +(42, 471, 93), +(42, 472, 68), +(42, 473, 75), +(42, 474, 80), +(42, 475, 91), +(42, 476, 92), +(42, 477, 92), +(42, 478, 84), +(42, 479, 81), +(42, 480, 67), +(42, 481, 93), +(42, 482, 78), +(42, 483, 98), +(42, 484, 67), +(42, 485, 86), +(42, 486, 81), +(42, 487, 96), +(42, 488, 98), +(42, 489, 67), +(42, 490, 65), +(42, 491, 71), +(42, 492, 88), +(42, 493, 93), +(42, 494, 79), +(42, 495, 77), +(42, 496, 79), +(42, 497, 99), +(42, 498, 68), +(42, 499, 83), +(42, 500, 73), +(42, 501, 85), +(42, 502, 94), +(42, 503, 68), +(42, 504, 69), +(42, 505, 73), +(42, 506, 91), +(42, 507, 74), +(42, 508, 97), +(42, 509, 87), +(42, 510, 78), +(42, 511, 84), +(42, 512, 86), +(42, 513, 89), +(42, 514, 68), +(42, 515, 76), +(42, 516, 76), +(42, 517, 67), +(42, 518, 92), +(42, 519, 89), +(42, 520, 96), +(42, 521, 66), +(42, 522, 74), +(42, 523, 67), +(42, 524, 79), +(42, 525, 91), +(42, 526, 89), +(42, 527, 84), +(42, 528, 72), +(42, 529, 95), +(42, 530, 77), +(42, 531, 95), +(42, 532, 86), +(42, 533, 78), +(42, 534, 97), +(42, 535, 72), +(42, 536, 87), +(42, 537, 75), +(42, 538, 80), +(42, 539, 85), +(42, 540, 70), +(42, 541, 71), +(42, 542, 69), +(42, 543, 72), +(42, 544, 89), +(42, 545, 69), +(42, 546, 99), +(42, 547, 75), +(42, 548, 89), +(42, 549, 90), +(42, 550, 66), +(42, 551, 66), +(42, 552, 67), +(42, 553, 68), +(42, 554, 65), +(42, 555, 75), +(42, 556, 78), +(42, 557, 66), +(42, 558, 79), +(42, 559, 90), +(42, 560, 93), +(42, 561, 68), +(42, 562, 71), +(42, 563, 72), +(42, 564, 93), +(42, 1024, 87), +(42, 1025, 81), +(42, 1026, 89), +(42, 1027, 68), +(42, 1028, 73), +(42, 1029, 69), +(42, 1030, 86), +(42, 1031, 67), +(42, 1032, 80), +(42, 1033, 92), +(42, 1034, 82), +(42, 1035, 72), +(42, 1036, 86), +(42, 1037, 78), +(42, 1038, 65), +(42, 1039, 66), +(42, 1040, 92), +(42, 1041, 93), +(42, 1042, 98), +(42, 1043, 87), +(42, 1044, 93), +(42, 1045, 75), +(42, 1046, 66), +(42, 1047, 93), +(42, 1048, 89), +(42, 1049, 95), +(42, 1050, 72), +(42, 1051, 79), +(42, 1052, 92), +(42, 1053, 82), +(42, 1054, 69), +(42, 1055, 68), +(42, 1056, 82), +(42, 1057, 69), +(42, 1058, 90), +(42, 1059, 91), +(42, 1060, 76), +(42, 1061, 89), +(42, 1062, 72), +(42, 1063, 78), +(42, 1064, 65), +(42, 1065, 86), +(42, 1066, 68), +(42, 1067, 68), +(42, 1068, 78), +(42, 1069, 76), +(42, 1070, 85), +(42, 1071, 72), +(42, 1072, 79), +(42, 1073, 71), +(42, 1074, 91), +(42, 1075, 82), +(42, 1076, 75), +(42, 1077, 99), +(42, 1078, 99), +(42, 1079, 72), +(42, 1080, 76), +(42, 1081, 66), +(42, 1082, 96), +(42, 1083, 94), +(42, 1084, 95), +(42, 1085, 86), +(42, 1086, 70), +(42, 1087, 65), +(42, 1088, 95), +(42, 1089, 95), +(42, 1090, 89), +(42, 1091, 84), +(42, 1092, 99), +(42, 1093, 73), +(42, 1094, 74), +(42, 1095, 94), +(42, 1096, 92), +(42, 1097, 97), +(42, 1098, 91), +(42, 1099, 72), +(42, 1100, 79), +(42, 1101, 81), +(42, 1102, 78), +(42, 1103, 81), +(42, 1104, 66), +(42, 1105, 65), +(42, 1106, 93), +(42, 1107, 69), +(42, 1108, 69), +(42, 1109, 68), +(42, 1110, 67), +(42, 1111, 66), +(42, 1112, 84), +(42, 1113, 86), +(42, 1114, 96), +(42, 1115, 92), +(42, 1116, 69), +(42, 1117, 66), +(42, 1118, 80), +(42, 1119, 85), +(42, 1120, 67), +(42, 1121, 93), +(42, 1122, 81), +(42, 1123, 93), +(42, 1124, 84), +(42, 1125, 97), +(42, 1126, 84), +(42, 1127, 74), +(42, 1128, 80), +(42, 1129, 82), +(42, 1130, 85), +(42, 1131, 97), +(42, 1132, 80), +(42, 1133, 89), +(42, 1134, 90), +(42, 1135, 92), +(42, 1136, 65), +(42, 1137, 80), +(42, 1138, 93), +(42, 1139, 78), +(42, 1140, 81), +(42, 1141, 65), +(42, 1142, 96), +(42, 1143, 71), +(42, 1144, 83), +(42, 1145, 88), +(42, 1146, 88), +(42, 1147, 99), +(42, 1148, 70), +(42, 1149, 94), +(42, 1150, 69), +(42, 1151, 65), +(42, 1152, 68), +(42, 1153, 77), +(42, 1154, 87), +(42, 1155, 88), +(42, 1156, 77), +(42, 1157, 83), +(42, 1158, 66), +(42, 1159, 75), +(42, 1160, 91), +(42, 1161, 83), +(42, 1162, 71), +(42, 1163, 92), +(42, 1164, 76), +(42, 1165, 89), +(42, 1166, 74), +(42, 1167, 96), +(42, 1168, 71), +(42, 1169, 72), +(42, 1170, 78), +(42, 1171, 90), +(42, 1172, 67), +(42, 1173, 73), +(42, 1174, 89), +(42, 1175, 97), +(42, 1176, 71), +(42, 1177, 85), +(42, 1178, 82), +(42, 1179, 65), +(42, 1180, 99), +(42, 1181, 75), +(42, 1182, 79), +(42, 1183, 87), +(42, 1184, 94), +(42, 1185, 72), +(42, 1186, 87), +(42, 1187, 66), +(42, 1188, 76), +(42, 1189, 67), +(42, 1190, 67), +(42, 1191, 99), +(42, 1192, 85), +(42, 1193, 71), +(42, 1194, 86), +(42, 1195, 87), +(42, 1196, 77), +(42, 1197, 72), +(42, 1198, 86), +(42, 1199, 89), +(42, 1200, 75), +(42, 1201, 74), +(42, 1202, 72), +(42, 1203, 94), +(42, 1204, 81), +(42, 1205, 79), +(42, 1206, 72), +(42, 1207, 73), +(42, 1208, 98), +(42, 1209, 98), +(42, 1210, 94), +(42, 1211, 71), +(42, 1212, 75), +(42, 1213, 90), +(42, 1214, 89), +(42, 1215, 71), +(42, 1216, 73), +(42, 1217, 97), +(42, 1218, 76), +(42, 1219, 96), +(42, 1220, 75), +(42, 1221, 86), +(42, 1222, 65), +(42, 1223, 87), +(42, 1224, 82), +(42, 1225, 70), +(42, 1226, 81), +(42, 1227, 83), +(42, 1228, 67), +(42, 1229, 82), +(42, 1230, 66), +(42, 1231, 95), +(42, 1232, 69), +(42, 1233, 84), +(42, 1234, 95), +(42, 1235, 93), +(42, 1236, 92), +(42, 1237, 79), +(42, 1238, 93), +(42, 1239, 65), +(42, 1240, 75), +(42, 1241, 77), +(42, 1242, 70), +(42, 1243, 93), +(42, 1244, 92), +(42, 1245, 66), +(42, 1246, 85), +(42, 1247, 89), +(42, 1248, 72), +(42, 1249, 83), +(42, 1250, 96), +(42, 1251, 79), +(42, 1252, 89), +(42, 1253, 97), +(42, 1254, 72), +(42, 1255, 67), +(42, 1256, 92), +(42, 1257, 80), +(42, 1258, 71), +(42, 1259, 88), +(42, 1260, 99), +(42, 1261, 83), +(42, 1262, 75), +(42, 1263, 87), +(42, 1264, 87), +(42, 1265, 99), +(42, 1266, 87), +(42, 1267, 66), +(42, 1268, 65), +(42, 1269, 76), +(42, 1270, 70), +(42, 1271, 92), +(42, 1272, 91), +(42, 1273, 91), +(42, 1274, 85), +(42, 1275, 65), +(42, 1276, 88), +(42, 1277, 73), +(42, 1278, 85), +(42, 1279, 84), +(42, 1280, 96), +(42, 1281, 78), +(42, 1282, 65), +(42, 1283, 80), +(42, 1284, 72), +(42, 1285, 65), +(42, 1286, 95), +(42, 1287, 66), +(42, 1288, 91), +(42, 1289, 83), +(42, 1290, 84), +(42, 1291, 82), +(42, 1292, 89), +(42, 1293, 72), +(42, 1294, 81), +(42, 1295, 81), +(42, 1296, 79), +(42, 1297, 72), +(42, 1298, 74), +(42, 1299, 78), +(42, 1300, 75), +(42, 1301, 91), +(42, 1302, 70), +(42, 1303, 98), +(42, 1304, 74), +(42, 1305, 91), +(42, 1306, 91), +(42, 1307, 78), +(42, 1308, 71), +(42, 1309, 95), +(42, 1310, 67), +(42, 1311, 79), +(42, 1312, 80), +(42, 1313, 98), +(42, 1314, 89), +(42, 1315, 96), +(42, 1316, 75), +(42, 1317, 98), +(42, 1318, 70), +(42, 1319, 65), +(42, 1320, 69), +(42, 1321, 76), +(42, 1322, 98), +(42, 1323, 87), +(42, 1324, 71), +(42, 1325, 98), +(42, 1326, 78), +(42, 1327, 89), +(42, 1328, 72), +(42, 1329, 74), +(42, 1330, 97), +(42, 1331, 77), +(42, 1332, 97), +(42, 1333, 72), +(42, 1334, 73), +(42, 1335, 75), +(42, 1336, 83), +(42, 1337, 72), +(42, 1338, 72), +(42, 1339, 89), +(42, 1340, 90), +(42, 1341, 77), +(42, 1342, 93), +(42, 1343, 75), +(42, 1344, 82), +(42, 1345, 97), +(42, 1346, 68), +(42, 1347, 77), +(42, 1348, 97), +(42, 1349, 74), +(42, 1350, 75), +(42, 1351, 74), +(42, 1352, 78), +(42, 1353, 87), +(42, 1354, 97), +(42, 1355, 81), +(42, 1356, 95), +(42, 1357, 77), +(42, 1358, 90), +(42, 1359, 93), +(42, 1360, 87), +(42, 1361, 78), +(42, 1362, 89), +(42, 1363, 86), +(42, 1364, 99), +(42, 1365, 92), +(42, 1366, 85), +(42, 1367, 98), +(42, 1368, 67), +(42, 1369, 85), +(42, 1370, 98), +(42, 1371, 85), +(42, 1372, 94), +(42, 1373, 99), +(42, 1374, 73), +(42, 1375, 87), +(42, 1376, 94), +(42, 1377, 73), +(42, 1378, 98), +(42, 1379, 70), +(42, 1380, 99), +(42, 1381, 89), +(42, 1382, 85), +(42, 1383, 96), +(42, 1384, 65), +(42, 1385, 67), +(42, 1386, 98), +(42, 1387, 79), +(42, 1388, 82), +(42, 1389, 90), +(42, 1390, 66), +(42, 1391, 87), +(42, 1392, 84), +(42, 1393, 69), +(42, 1394, 87), +(42, 1395, 75), +(42, 1396, 80), +(42, 1397, 88), +(42, 1398, 89), +(42, 1399, 93), +(42, 1400, 87), +(42, 1401, 66), +(42, 1402, 72), +(42, 1403, 72), +(42, 1404, 76), +(42, 1405, 80), +(42, 1406, 97), +(42, 1407, 72), +(42, 1408, 89), +(42, 1409, 95), +(42, 1410, 74), +(42, 1411, 67), +(42, 1412, 71), +(42, 1413, 74), +(42, 1414, 67), +(42, 1415, 81), +(42, 1416, 86), +(42, 1417, 76), +(42, 1418, 95), +(42, 1419, 76), +(42, 1420, 84), +(42, 1421, 94), +(42, 1422, 94), +(42, 1423, 77), +(42, 1424, 71), +(42, 1425, 82), +(42, 1426, 85), +(42, 1427, 87), +(42, 1428, 82), +(42, 1429, 74), +(42, 1430, 65), +(42, 1431, 80), +(42, 1432, 81), +(42, 1433, 81), +(42, 1434, 97), +(42, 1435, 68), +(42, 1436, 95), +(42, 1437, 80), +(42, 1438, 69), +(42, 1439, 67), +(42, 1440, 66), +(42, 1441, 70), +(42, 1442, 95), +(42, 1443, 65), +(42, 1444, 89), +(42, 1445, 98), +(42, 1446, 84), +(42, 1447, 86), +(42, 1448, 73), +(42, 1449, 67), +(42, 1450, 65), +(42, 1451, 74), +(42, 1452, 86), +(42, 1453, 67), +(42, 1454, 94), +(42, 1455, 74), +(42, 1456, 95), +(42, 1457, 89), +(42, 1458, 75), +(42, 1459, 90), +(42, 1460, 77), +(42, 1461, 76), +(42, 1462, 87), +(42, 1463, 72), +(42, 1464, 86), +(42, 1465, 83), +(42, 1466, 96), +(42, 1467, 78), +(42, 1468, 85), +(42, 1469, 81), +(42, 1470, 78), +(42, 1471, 95), +(42, 1472, 78), +(42, 1473, 79), +(42, 1474, 81), +(42, 1475, 65), +(42, 1476, 78), +(42, 1477, 98), +(42, 1478, 75), +(42, 1479, 89), +(42, 1480, 66), +(42, 1481, 68), +(42, 1482, 98), +(42, 1483, 73), +(42, 1484, 67), +(42, 1485, 90), +(42, 1486, 95), +(42, 1487, 76), +(42, 1488, 65), +(42, 1489, 86), +(42, 1490, 82), +(42, 1491, 72), +(42, 1492, 93), +(42, 1493, 88), +(42, 1494, 69), +(42, 1495, 68), +(42, 1496, 87), +(42, 1497, 99), +(42, 1498, 87), +(42, 1499, 67), +(42, 1500, 88), +(42, 1501, 70), +(42, 1502, 79), +(42, 1503, 84), +(42, 1504, 68), +(42, 1505, 69), +(42, 1506, 71), +(42, 1507, 92), +(42, 1508, 82), +(42, 1509, 95), +(42, 1510, 78), +(42, 1511, 94), +(42, 1512, 80), +(42, 1513, 67), +(42, 1514, 84), +(42, 1515, 83), +(42, 1516, 87), +(42, 1517, 83), +(42, 1518, 88), +(42, 1519, 79), +(42, 1520, 74), +(42, 1521, 67), +(42, 1522, 68), +(42, 1523, 75), +(42, 1524, 92), +(42, 1525, 79), +(42, 1526, 99), +(42, 1527, 71), +(42, 1528, 96), +(42, 1529, 88), +(42, 1530, 86), +(42, 1531, 65), +(42, 1532, 74), +(42, 1533, 69), +(42, 1534, 95), +(42, 1535, 72), +(42, 1536, 65), +(42, 1537, 88), +(42, 1538, 72), +(42, 1539, 68), +(42, 1540, 68), +(42, 1541, 81), +(42, 1542, 78), +(42, 1543, 89), +(42, 1544, 65), +(42, 1545, 80), +(42, 1546, 76), +(42, 1547, 70), +(42, 1548, 98), +(42, 1549, 97), +(42, 1550, 93), +(42, 1551, 81), +(42, 1552, 73), +(42, 1553, 94), +(42, 1554, 71), +(42, 1555, 86), +(42, 1556, 88), +(42, 1557, 92), +(42, 1558, 79), +(42, 1559, 82), +(42, 1560, 85), +(42, 1561, 89), +(42, 1562, 94), +(42, 1563, 80), +(42, 1564, 71), +(42, 1565, 72), +(42, 1566, 67), +(42, 1567, 93), +(42, 1568, 94), +(42, 1569, 96), +(42, 1570, 76), +(42, 1571, 70), +(42, 1572, 96), +(42, 1573, 78), +(42, 1574, 87), +(42, 1575, 89), +(42, 1576, 75), +(42, 1577, 68), +(42, 1578, 93), +(42, 1579, 90), +(42, 1580, 69), +(42, 1581, 66), +(42, 1582, 83), +(42, 1583, 78), +(42, 1584, 99), +(42, 1585, 93), +(42, 1586, 70), +(42, 1587, 77), +(42, 2047, 73), +(42, 2048, 96), +(42, 2049, 73), +(42, 2050, 71), +(42, 2051, 90), +(42, 2052, 72), +(42, 2053, 92), +(42, 2054, 70), +(42, 2055, 86), +(42, 2056, 99), +(42, 2057, 69), +(42, 2058, 74), +(42, 2059, 77), +(42, 2060, 77), +(42, 2061, 69), +(42, 2062, 73), +(42, 2063, 94), +(42, 2064, 65), +(42, 2065, 87), +(42, 2066, 88), +(42, 2067, 83), +(42, 2068, 83), +(42, 2069, 85), +(42, 2070, 75), +(42, 2071, 99), +(42, 2072, 92), +(42, 2073, 96), +(42, 2074, 79), +(42, 2075, 96), +(42, 2076, 70), +(42, 2077, 72), +(42, 2078, 77), +(42, 2079, 70), +(42, 2080, 85), +(42, 2081, 94), +(42, 2082, 95), +(42, 2083, 75), +(42, 2084, 80), +(42, 2085, 94), +(42, 2086, 86), +(42, 2087, 94), +(42, 2088, 82), +(42, 2089, 65), +(42, 2090, 98), +(42, 2091, 80), +(42, 2092, 80), +(42, 2093, 95), +(42, 2094, 78), +(42, 2095, 74), +(42, 2096, 71), +(42, 2097, 98), +(42, 2098, 66), +(42, 2099, 85), +(42, 2100, 71), +(42, 2101, 82), +(42, 2102, 91), +(42, 2103, 92), +(42, 2104, 73), +(42, 2105, 76), +(42, 2106, 94), +(42, 2107, 94), +(42, 2108, 79), +(42, 2109, 71), +(42, 2110, 71), +(42, 2111, 97), +(42, 2112, 90), +(42, 2113, 68), +(42, 2114, 94), +(42, 2115, 83), +(42, 2116, 98), +(42, 2117, 70), +(42, 2118, 83), +(42, 2119, 96), +(42, 2120, 89), +(42, 2121, 78), +(42, 2122, 84), +(42, 2123, 94), +(42, 2124, 91), +(42, 2125, 78), +(42, 2126, 79), +(42, 2127, 67), +(42, 2128, 73), +(42, 2129, 95), +(42, 2130, 94), +(42, 2131, 89), +(42, 2132, 73), +(42, 2133, 67), +(42, 2134, 80), +(42, 2135, 87), +(42, 2136, 98), +(42, 2137, 70), +(42, 2138, 72), +(42, 2139, 80), +(42, 2140, 68), +(42, 2141, 84), +(42, 2142, 90), +(42, 2143, 69), +(42, 2144, 79), +(42, 2145, 72), +(42, 2146, 75), +(42, 2147, 67), +(42, 2148, 68), +(42, 2149, 77), +(42, 2150, 84), +(42, 2151, 70), +(42, 2152, 80), +(42, 2153, 68), +(42, 2154, 89), +(42, 2155, 72), +(42, 2156, 78), +(42, 2157, 83), +(42, 2158, 86), +(42, 2159, 77), +(42, 2160, 86), +(42, 2161, 85), +(42, 2162, 79), +(42, 2163, 70), +(42, 2164, 91), +(42, 2165, 72), +(42, 2166, 96), +(42, 2167, 82), +(42, 2168, 76), +(42, 2169, 77), +(42, 2170, 83), +(42, 2171, 73), +(42, 2172, 97), +(42, 2173, 87), +(42, 2174, 78), +(42, 2175, 70), +(42, 2176, 74), +(42, 2177, 94), +(42, 2178, 83), +(42, 2179, 70), +(42, 2180, 87), +(42, 2181, 70), +(42, 2182, 65), +(42, 2183, 99), +(42, 2184, 82), +(42, 2185, 66), +(42, 2186, 96), +(42, 2187, 74), +(42, 2188, 88), +(42, 2189, 73), +(42, 2190, 65), +(42, 2191, 70), +(42, 2192, 70), +(42, 2193, 86), +(42, 2194, 86), +(42, 2195, 81), +(42, 2196, 81), +(42, 2197, 86), +(42, 2198, 77), +(42, 2199, 89), +(42, 2200, 99), +(42, 2201, 79), +(42, 2202, 72), +(42, 2203, 70), +(42, 2204, 75), +(42, 2205, 86), +(42, 2206, 86), +(42, 2207, 96), +(42, 2208, 90), +(42, 2209, 81), +(42, 2210, 91), +(42, 2211, 86), +(42, 2212, 71), +(42, 2213, 98), +(42, 2214, 81), +(42, 2215, 99), +(42, 2216, 86), +(42, 2217, 82), +(42, 2218, 87), +(42, 2219, 75), +(42, 2220, 95), +(42, 2221, 69), +(42, 2222, 82), +(42, 2223, 74), +(42, 2224, 94), +(42, 2225, 95), +(42, 2226, 87), +(42, 2227, 68), +(42, 2228, 91), +(42, 2229, 72), +(42, 2230, 84), +(42, 2231, 69), +(42, 2232, 87), +(42, 2233, 67), +(42, 2234, 77), +(42, 2235, 74), +(42, 2236, 81), +(42, 2237, 79), +(42, 2238, 85), +(42, 2239, 81), +(42, 2240, 82), +(42, 2241, 67), +(42, 2242, 75), +(42, 2243, 75), +(42, 2244, 78), +(42, 2245, 94), +(42, 2246, 66), +(42, 2247, 72), +(42, 2248, 94), +(42, 2249, 77), +(42, 2250, 87), +(42, 2251, 85), +(42, 2252, 66), +(42, 2253, 79), +(42, 2254, 76), +(42, 2255, 71), +(42, 2256, 98), +(42, 2257, 94), +(42, 2258, 95), +(42, 2259, 99), +(42, 2260, 65), +(42, 2261, 82), +(42, 2262, 97), +(42, 2263, 84), +(42, 2264, 77), +(42, 2265, 90), +(42, 2266, 81), +(42, 2267, 68), +(42, 2268, 92), +(42, 2269, 83), +(42, 2270, 67), +(42, 2271, 79), +(42, 2272, 88), +(42, 2273, 94), +(42, 2274, 65), +(42, 2275, 80), +(42, 2276, 93), +(42, 2277, 89), +(42, 2278, 95), +(42, 2279, 74), +(42, 2280, 86), +(42, 2281, 67), +(42, 2282, 86), +(42, 2283, 99), +(42, 2284, 84), +(42, 2285, 75), +(42, 2286, 94), +(42, 2287, 79), +(42, 2288, 84), +(42, 2289, 94), +(42, 2290, 86), +(42, 2291, 82), +(42, 2292, 87), +(42, 2293, 77), +(42, 2294, 97), +(42, 2295, 90), +(42, 2296, 92), +(42, 2297, 74), +(42, 2298, 69), +(42, 2299, 80), +(42, 2300, 99), +(42, 2301, 74), +(42, 2302, 83), +(42, 2303, 66), +(42, 2304, 99), +(42, 2305, 87), +(42, 2306, 89), +(42, 2307, 74), +(42, 2308, 88), +(42, 2309, 94), +(42, 2310, 88), +(42, 2311, 85), +(42, 2312, 98), +(42, 2313, 89), +(42, 2314, 77), +(42, 2315, 87), +(42, 2316, 92), +(42, 2317, 99), +(42, 2318, 75), +(42, 2319, 94), +(42, 2320, 96), +(42, 2321, 92), +(42, 2322, 80), +(42, 2323, 88), +(42, 2324, 88), +(42, 2325, 83), +(42, 2326, 74), +(42, 2327, 88), +(42, 2328, 93), +(42, 2329, 88), +(42, 2330, 68), +(42, 2331, 67), +(42, 2332, 92), +(42, 2333, 77), +(42, 2334, 95), +(42, 2335, 78), +(42, 2336, 98), +(42, 2337, 68), +(42, 2338, 88), +(42, 2339, 68), +(42, 2340, 92), +(42, 2341, 66), +(42, 2342, 67), +(42, 2343, 68), +(42, 2344, 74), +(42, 2345, 96), +(42, 2346, 85), +(42, 2347, 73), +(42, 2348, 76), +(42, 2349, 75), +(42, 2350, 78), +(42, 2351, 87), +(42, 2352, 67), +(42, 2353, 92), +(42, 2354, 77), +(42, 2355, 82), +(42, 2356, 83), +(42, 2357, 95), +(42, 2358, 90), +(42, 2359, 69), +(42, 2360, 74), +(42, 2361, 98), +(42, 2362, 86), +(42, 2363, 91), +(42, 2364, 97), +(42, 2365, 71), +(42, 2366, 97), +(42, 2367, 72), +(42, 2368, 96), +(42, 2369, 98), +(42, 2370, 70), +(42, 2371, 92), +(42, 2372, 71), +(42, 2373, 76), +(42, 2374, 93), +(42, 2375, 97), +(42, 2376, 80), +(42, 2377, 89), +(42, 2378, 89), +(42, 2379, 71), +(42, 2380, 77), +(42, 2381, 72), +(42, 2382, 69), +(42, 2383, 75), +(42, 2384, 67), +(42, 2385, 96), +(42, 2386, 68), +(42, 2387, 97), +(42, 2388, 71), +(42, 2389, 92), +(42, 2390, 87), +(42, 2391, 79), +(42, 2392, 90), +(42, 2393, 94), +(42, 2394, 91), +(42, 2395, 87), +(42, 2396, 97), +(42, 2397, 65), +(42, 2398, 68), +(42, 2399, 98), +(42, 2400, 81), +(42, 2401, 80), +(42, 2402, 75), +(42, 2403, 86), +(42, 2404, 88); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(42, 2405, 65), +(42, 2406, 67), +(42, 2407, 75), +(42, 2408, 78), +(42, 2409, 91), +(42, 2410, 75), +(42, 2411, 71), +(42, 2412, 66), +(42, 2413, 67), +(42, 2414, 93), +(42, 2415, 98), +(42, 2416, 94), +(42, 2417, 93), +(42, 2418, 81), +(42, 2419, 98), +(42, 2420, 91), +(42, 2421, 68), +(42, 2422, 78), +(42, 2423, 99), +(42, 2424, 77), +(42, 2425, 69), +(42, 2426, 69), +(42, 2427, 92), +(42, 2428, 90), +(42, 2429, 78), +(42, 2430, 82), +(42, 2431, 79), +(42, 2432, 70), +(42, 2433, 85), +(42, 2434, 92), +(42, 2435, 90), +(42, 2436, 78), +(42, 2437, 78), +(42, 2438, 88), +(42, 2439, 99), +(42, 2440, 73), +(42, 2441, 96), +(42, 2442, 77), +(42, 2443, 89), +(42, 2444, 88), +(42, 2445, 93), +(42, 2446, 95), +(42, 2447, 66), +(42, 2448, 82), +(42, 2449, 70), +(42, 2450, 70), +(42, 2451, 93), +(42, 2452, 99), +(42, 2453, 76), +(42, 2454, 81), +(42, 2455, 97), +(42, 2456, 98), +(42, 2457, 94), +(42, 2458, 66), +(42, 2459, 92), +(42, 2460, 92), +(42, 2461, 87), +(42, 2462, 99), +(42, 2463, 99), +(42, 2464, 82), +(42, 2465, 75), +(42, 2466, 94), +(42, 2467, 93), +(42, 2468, 96), +(42, 2469, 91), +(42, 2470, 72), +(42, 2471, 84), +(42, 2472, 83), +(42, 2473, 94), +(42, 2474, 85), +(42, 2475, 96), +(42, 2476, 68), +(42, 2477, 88), +(42, 2478, 69), +(42, 2479, 86), +(42, 2480, 98), +(42, 2481, 83), +(42, 2482, 79), +(42, 2483, 87), +(42, 2484, 88), +(42, 2485, 92), +(42, 2486, 73), +(42, 2487, 83), +(42, 2488, 72), +(42, 2489, 67), +(42, 2490, 75), +(42, 2491, 99), +(42, 2492, 71), +(42, 2493, 96), +(42, 2494, 66), +(42, 2495, 97), +(42, 2496, 83), +(42, 2497, 98), +(42, 2498, 89), +(42, 2499, 99), +(42, 2500, 72), +(42, 2501, 98), +(42, 2502, 66), +(42, 2503, 84), +(42, 2504, 75), +(42, 2505, 71), +(42, 2506, 67), +(42, 2507, 91), +(42, 2508, 91), +(42, 2509, 70), +(42, 2510, 70), +(42, 2511, 84), +(42, 2512, 80), +(42, 2513, 83), +(42, 2514, 98), +(42, 2515, 67), +(42, 2516, 73), +(42, 2517, 91), +(42, 2518, 93), +(42, 2519, 82), +(42, 2520, 72), +(42, 2521, 83), +(42, 2522, 84), +(42, 2523, 96), +(42, 2524, 65), +(42, 2525, 72), +(42, 2526, 84), +(42, 2527, 78), +(42, 2528, 90), +(42, 2529, 66), +(42, 2530, 87), +(42, 2531, 66), +(42, 2532, 65), +(42, 2533, 91), +(42, 2534, 89), +(42, 2535, 95), +(42, 2536, 92), +(42, 2537, 84), +(42, 2538, 72), +(42, 2539, 78), +(42, 2540, 69), +(42, 2541, 73), +(42, 2542, 65), +(42, 2543, 72), +(42, 2544, 96), +(42, 2545, 99), +(42, 2546, 76), +(42, 2547, 89), +(42, 2548, 85), +(42, 2549, 85), +(42, 2550, 86), +(42, 2551, 72), +(42, 2552, 86), +(42, 2553, 94), +(42, 2554, 76), +(42, 2555, 93), +(42, 2556, 83), +(42, 2557, 72), +(42, 2558, 98), +(42, 2559, 67), +(42, 2560, 75), +(42, 2561, 90), +(42, 2562, 94), +(42, 2563, 68), +(42, 2564, 93), +(42, 2565, 67), +(42, 2566, 97), +(42, 2567, 86), +(42, 2568, 92), +(42, 2569, 82), +(42, 2570, 67), +(42, 2571, 69), +(42, 2572, 87), +(42, 2573, 92), +(42, 2574, 67), +(42, 2575, 81), +(42, 2576, 87), +(42, 2577, 81), +(42, 2578, 91), +(42, 2579, 88), +(42, 2580, 94), +(42, 2581, 95), +(42, 2582, 92), +(42, 2583, 83), +(42, 2584, 76), +(42, 2585, 95), +(42, 2586, 71), +(42, 2587, 95), +(42, 2588, 65), +(42, 2589, 93), +(42, 2590, 69), +(42, 2591, 79), +(42, 2592, 70), +(42, 2593, 74), +(42, 2594, 65), +(42, 2595, 82), +(42, 2596, 73), +(42, 2597, 83), +(42, 2598, 69), +(42, 2599, 93), +(42, 2600, 77), +(42, 2601, 73), +(42, 2602, 93), +(42, 2603, 82), +(42, 2604, 68), +(42, 2605, 83), +(42, 2606, 79), +(42, 2607, 82), +(42, 2608, 84), +(42, 2609, 79), +(42, 2610, 68), +(43, 1, 70), +(43, 2, 81), +(43, 3, 75), +(43, 4, 67), +(43, 5, 76), +(43, 6, 99), +(43, 7, 88), +(43, 8, 78), +(43, 9, 82), +(43, 10, 95), +(43, 11, 92), +(43, 12, 70), +(43, 13, 81), +(43, 14, 72), +(43, 15, 94), +(43, 16, 81), +(43, 17, 98), +(43, 18, 84), +(43, 19, 73), +(43, 20, 95), +(43, 21, 88), +(43, 22, 91), +(43, 23, 71), +(43, 24, 89), +(43, 25, 95), +(43, 26, 85), +(43, 27, 85), +(43, 28, 76), +(43, 29, 87), +(43, 30, 91), +(43, 31, 78), +(43, 32, 80), +(43, 33, 96), +(43, 34, 98), +(43, 35, 89), +(43, 36, 83), +(43, 37, 98), +(43, 38, 87), +(43, 39, 98), +(43, 40, 72), +(43, 41, 66), +(43, 42, 87), +(43, 43, 90), +(43, 44, 66), +(43, 45, 91), +(43, 46, 73), +(43, 47, 89), +(43, 48, 77), +(43, 49, 74), +(43, 50, 86), +(43, 51, 91), +(43, 52, 80), +(43, 53, 84), +(43, 54, 98), +(43, 55, 88), +(43, 56, 84), +(43, 57, 94), +(43, 58, 96), +(43, 59, 98), +(43, 60, 71), +(43, 61, 75), +(43, 62, 65), +(43, 63, 82), +(43, 64, 70), +(43, 65, 68), +(43, 66, 98), +(43, 67, 96), +(43, 68, 80), +(43, 69, 89), +(43, 70, 71), +(43, 71, 94), +(43, 72, 90), +(43, 73, 97), +(43, 74, 73), +(43, 75, 71), +(43, 76, 90), +(43, 77, 83), +(43, 78, 89), +(43, 79, 69), +(43, 80, 96), +(43, 81, 97), +(43, 82, 69), +(43, 83, 87), +(43, 84, 72), +(43, 85, 93), +(43, 86, 88), +(43, 87, 73), +(43, 88, 68), +(43, 89, 80), +(43, 90, 76), +(43, 91, 65), +(43, 92, 81), +(43, 93, 69), +(43, 94, 99), +(43, 95, 84), +(43, 96, 86), +(43, 97, 83), +(43, 98, 87), +(43, 99, 97), +(43, 100, 78), +(43, 101, 93), +(43, 102, 71), +(43, 103, 84), +(43, 104, 85), +(43, 105, 66), +(43, 106, 94), +(43, 107, 95), +(43, 108, 74), +(43, 109, 74), +(43, 110, 91), +(43, 111, 70), +(43, 112, 88), +(43, 113, 67), +(43, 114, 68), +(43, 115, 79), +(43, 116, 96), +(43, 117, 95), +(43, 118, 77), +(43, 119, 93), +(43, 120, 77), +(43, 121, 67), +(43, 122, 65), +(43, 123, 67), +(43, 124, 91), +(43, 125, 68), +(43, 126, 76), +(43, 127, 88), +(43, 128, 95), +(43, 129, 92), +(43, 130, 99), +(43, 131, 93), +(43, 132, 83), +(43, 133, 97), +(43, 134, 70), +(43, 135, 95), +(43, 136, 66), +(43, 137, 84), +(43, 138, 71), +(43, 139, 66), +(43, 140, 83), +(43, 141, 81), +(43, 142, 74), +(43, 143, 89), +(43, 144, 65), +(43, 145, 86), +(43, 146, 76), +(43, 147, 83), +(43, 148, 65), +(43, 149, 91), +(43, 150, 71), +(43, 151, 72), +(43, 152, 71), +(43, 153, 92), +(43, 154, 96), +(43, 155, 67), +(43, 156, 91), +(43, 157, 97), +(43, 158, 79), +(43, 159, 96), +(43, 160, 90), +(43, 161, 95), +(43, 162, 70), +(43, 163, 72), +(43, 164, 85), +(43, 165, 66), +(43, 166, 81), +(43, 167, 65), +(43, 168, 91), +(43, 169, 92), +(43, 170, 84), +(43, 171, 67), +(43, 172, 90), +(43, 173, 93), +(43, 174, 92), +(43, 175, 79), +(43, 176, 67), +(43, 177, 82), +(43, 178, 94), +(43, 179, 82), +(43, 180, 67), +(43, 181, 91), +(43, 182, 71), +(43, 183, 84), +(43, 184, 83), +(43, 185, 66), +(43, 186, 85), +(43, 187, 76), +(43, 188, 81), +(43, 189, 82), +(43, 190, 74), +(43, 191, 77), +(43, 192, 88), +(43, 193, 79), +(43, 194, 89), +(43, 195, 71), +(43, 196, 71), +(43, 197, 86), +(43, 198, 79), +(43, 199, 78), +(43, 200, 83), +(43, 201, 95), +(43, 202, 96), +(43, 203, 80), +(43, 204, 82), +(43, 205, 67), +(43, 206, 98), +(43, 207, 83), +(43, 208, 67), +(43, 209, 65), +(43, 210, 69), +(43, 211, 98), +(43, 212, 69), +(43, 213, 76), +(43, 214, 66), +(43, 215, 96), +(43, 216, 74), +(43, 217, 95), +(43, 218, 76), +(43, 219, 88), +(43, 220, 65), +(43, 221, 81), +(43, 222, 81), +(43, 223, 94), +(43, 224, 67), +(43, 225, 76), +(43, 226, 72), +(43, 227, 87), +(43, 228, 86), +(43, 229, 79), +(43, 230, 67), +(43, 231, 78), +(43, 232, 70), +(43, 233, 65), +(43, 234, 89), +(43, 235, 96), +(43, 236, 95), +(43, 237, 74), +(43, 238, 95), +(43, 239, 68), +(43, 240, 88), +(43, 241, 99), +(43, 242, 89), +(43, 243, 73), +(43, 244, 98), +(43, 245, 74), +(43, 246, 75), +(43, 247, 89), +(43, 248, 95), +(43, 249, 88), +(43, 250, 82), +(43, 251, 68), +(43, 252, 90), +(43, 253, 98), +(43, 254, 93), +(43, 255, 87), +(43, 256, 77), +(43, 257, 92), +(43, 258, 79), +(43, 259, 90), +(43, 260, 82), +(43, 261, 82), +(43, 262, 92), +(43, 263, 73), +(43, 264, 99), +(43, 265, 66), +(43, 266, 71), +(43, 267, 93), +(43, 268, 76), +(43, 269, 72), +(43, 270, 99), +(43, 271, 72), +(43, 272, 91), +(43, 273, 74), +(43, 274, 71), +(43, 275, 93), +(43, 276, 98), +(43, 277, 68), +(43, 278, 67), +(43, 279, 93), +(43, 280, 78), +(43, 281, 75), +(43, 282, 74), +(43, 283, 72), +(43, 284, 84), +(43, 285, 88), +(43, 286, 70), +(43, 287, 75), +(43, 288, 78), +(43, 289, 78), +(43, 290, 72), +(43, 291, 79), +(43, 292, 76), +(43, 293, 82), +(43, 294, 68), +(43, 295, 76), +(43, 296, 82), +(43, 297, 78), +(43, 298, 65), +(43, 299, 98), +(43, 300, 91), +(43, 301, 95), +(43, 302, 72), +(43, 303, 94), +(43, 304, 83), +(43, 305, 78), +(43, 306, 93), +(43, 307, 79), +(43, 308, 85), +(43, 309, 70), +(43, 310, 76), +(43, 311, 70), +(43, 312, 81), +(43, 313, 81), +(43, 314, 66), +(43, 315, 94), +(43, 316, 79), +(43, 317, 87), +(43, 318, 75), +(43, 319, 99), +(43, 320, 75), +(43, 321, 84), +(43, 322, 93), +(43, 323, 73), +(43, 324, 80), +(43, 325, 66), +(43, 326, 95), +(43, 327, 91), +(43, 328, 88), +(43, 329, 67), +(43, 330, 67), +(43, 331, 76), +(43, 332, 73), +(43, 333, 80), +(43, 334, 69), +(43, 335, 75), +(43, 336, 72), +(43, 337, 87), +(43, 338, 67), +(43, 339, 85), +(43, 340, 70), +(43, 341, 89), +(43, 342, 73), +(43, 343, 95), +(43, 344, 99), +(43, 345, 77), +(43, 346, 81), +(43, 347, 96), +(43, 348, 68), +(43, 349, 89), +(43, 350, 67), +(43, 351, 88), +(43, 352, 66), +(43, 353, 83), +(43, 354, 98), +(43, 355, 81), +(43, 356, 79), +(43, 357, 69), +(43, 358, 66), +(43, 359, 67), +(43, 360, 82), +(43, 361, 73), +(43, 362, 81), +(43, 363, 82), +(43, 364, 66), +(43, 365, 85), +(43, 366, 76), +(43, 367, 83), +(43, 368, 83), +(43, 369, 70), +(43, 370, 89), +(43, 371, 85), +(43, 372, 93), +(43, 373, 74), +(43, 374, 89), +(43, 375, 73), +(43, 376, 95), +(43, 377, 84), +(43, 378, 74), +(43, 379, 80), +(43, 380, 81), +(43, 381, 85), +(43, 382, 76), +(43, 383, 77), +(43, 384, 75), +(43, 385, 78), +(43, 386, 86), +(43, 387, 74), +(43, 388, 67), +(43, 389, 86), +(43, 390, 96), +(43, 391, 76), +(43, 392, 90), +(43, 393, 88), +(43, 394, 90), +(43, 395, 88), +(43, 396, 79), +(43, 397, 86), +(43, 398, 98), +(43, 399, 73), +(43, 400, 82), +(43, 401, 92), +(43, 402, 96), +(43, 403, 89), +(43, 404, 85), +(43, 405, 78), +(43, 406, 83), +(43, 407, 71), +(43, 408, 94), +(43, 409, 98), +(43, 410, 90), +(43, 411, 92), +(43, 412, 88), +(43, 413, 68), +(43, 414, 94), +(43, 415, 92), +(43, 416, 86), +(43, 417, 82), +(43, 418, 68), +(43, 419, 74), +(43, 420, 90), +(43, 421, 65), +(43, 422, 72), +(43, 423, 94), +(43, 424, 86), +(43, 425, 90), +(43, 426, 84), +(43, 427, 94), +(43, 428, 89), +(43, 429, 78), +(43, 430, 83), +(43, 431, 92), +(43, 432, 73), +(43, 433, 89), +(43, 434, 90), +(43, 435, 74), +(43, 436, 82), +(43, 437, 95), +(43, 438, 67), +(43, 439, 98), +(43, 440, 77), +(43, 441, 67), +(43, 442, 67), +(43, 443, 87), +(43, 444, 92), +(43, 445, 96), +(43, 446, 76), +(43, 447, 82), +(43, 448, 87), +(43, 449, 89), +(43, 450, 84), +(43, 451, 81), +(43, 452, 77), +(43, 453, 80), +(43, 454, 65), +(43, 455, 99), +(43, 456, 67), +(43, 457, 73), +(43, 458, 82), +(43, 459, 88), +(43, 460, 97), +(43, 461, 91), +(43, 462, 92), +(43, 463, 87), +(43, 464, 70), +(43, 465, 66), +(43, 466, 65), +(43, 467, 96), +(43, 468, 92), +(43, 469, 92), +(43, 470, 98), +(43, 471, 96), +(43, 472, 73), +(43, 473, 67), +(43, 474, 89), +(43, 475, 70), +(43, 476, 66), +(43, 477, 82), +(43, 478, 65), +(43, 479, 89), +(43, 480, 92), +(43, 481, 81), +(43, 482, 71), +(43, 483, 90), +(43, 484, 94), +(43, 485, 95), +(43, 486, 75), +(43, 487, 93), +(43, 488, 82), +(43, 489, 99), +(43, 490, 96), +(43, 491, 82), +(43, 492, 75), +(43, 493, 68), +(43, 494, 86), +(43, 495, 72), +(43, 496, 88), +(43, 497, 75), +(43, 498, 81), +(43, 499, 89), +(43, 500, 78), +(43, 501, 71), +(43, 502, 76), +(43, 503, 74), +(43, 504, 91), +(43, 505, 68), +(43, 506, 87), +(43, 507, 78), +(43, 508, 93), +(43, 509, 89), +(43, 510, 79), +(43, 511, 71), +(43, 512, 81), +(43, 513, 84), +(43, 514, 98), +(43, 515, 88), +(43, 516, 95), +(43, 517, 96), +(43, 518, 73), +(43, 519, 80), +(43, 520, 80), +(43, 521, 69), +(43, 522, 97), +(43, 523, 86), +(43, 524, 84), +(43, 525, 82), +(43, 526, 65), +(43, 527, 98), +(43, 528, 93), +(43, 529, 91), +(43, 530, 74), +(43, 531, 80), +(43, 532, 77), +(43, 533, 90), +(43, 534, 91), +(43, 535, 79), +(43, 536, 83), +(43, 537, 81), +(43, 538, 95), +(43, 539, 80), +(43, 540, 97), +(43, 541, 90), +(43, 542, 71), +(43, 543, 71), +(43, 544, 66), +(43, 545, 66), +(43, 546, 94), +(43, 547, 94), +(43, 548, 98), +(43, 549, 85), +(43, 550, 83), +(43, 551, 87), +(43, 552, 87), +(43, 553, 74), +(43, 554, 69), +(43, 555, 82), +(43, 556, 68), +(43, 557, 66), +(43, 558, 88), +(43, 559, 94), +(43, 560, 97), +(43, 561, 76), +(43, 562, 65), +(43, 563, 90), +(43, 564, 81), +(43, 1024, 65), +(43, 1025, 73), +(43, 1026, 84), +(43, 1027, 90), +(43, 1028, 95), +(43, 1029, 88), +(43, 1030, 73), +(43, 1031, 67), +(43, 1032, 91), +(43, 1033, 93), +(43, 1034, 71), +(43, 1035, 78), +(43, 1036, 97), +(43, 1037, 86), +(43, 1038, 79), +(43, 1039, 99), +(43, 1040, 81), +(43, 1041, 80), +(43, 1042, 76), +(43, 1043, 73), +(43, 1044, 84), +(43, 1045, 78), +(43, 1046, 88), +(43, 1047, 88), +(43, 1048, 73), +(43, 1049, 86), +(43, 1050, 83), +(43, 1051, 87), +(43, 1052, 80), +(43, 1053, 80), +(43, 1054, 69), +(43, 1055, 70), +(43, 1056, 78), +(43, 1057, 96), +(43, 1058, 84), +(43, 1059, 96), +(43, 1060, 71), +(43, 1061, 98), +(43, 1062, 78), +(43, 1063, 72), +(43, 1064, 73), +(43, 1065, 94), +(43, 1066, 79), +(43, 1067, 94), +(43, 1068, 68), +(43, 1069, 80), +(43, 1070, 77), +(43, 1071, 76), +(43, 1072, 69), +(43, 1073, 68), +(43, 1074, 78), +(43, 1075, 80), +(43, 1076, 79), +(43, 1077, 96), +(43, 1078, 67), +(43, 1079, 92), +(43, 1080, 97), +(43, 1081, 86), +(43, 1082, 65), +(43, 1083, 65), +(43, 1084, 76), +(43, 1085, 90), +(43, 1086, 99), +(43, 1087, 65), +(43, 1088, 86), +(43, 1089, 68), +(43, 1090, 93), +(43, 1091, 93), +(43, 1092, 93), +(43, 1093, 65), +(43, 1094, 92), +(43, 1095, 69), +(43, 1096, 69), +(43, 1097, 75), +(43, 1098, 85), +(43, 1099, 94), +(43, 1100, 98), +(43, 1101, 76), +(43, 1102, 76), +(43, 1103, 81), +(43, 1104, 93), +(43, 1105, 98), +(43, 1106, 75), +(43, 1107, 69), +(43, 1108, 94), +(43, 1109, 82), +(43, 1110, 84), +(43, 1111, 74), +(43, 1112, 81), +(43, 1113, 95), +(43, 1114, 91), +(43, 1115, 99), +(43, 1116, 97), +(43, 1117, 68), +(43, 1118, 93), +(43, 1119, 87), +(43, 1120, 82), +(43, 1121, 65), +(43, 1122, 89), +(43, 1123, 91), +(43, 1124, 66), +(43, 1125, 79), +(43, 1126, 68), +(43, 1127, 68), +(43, 1128, 79), +(43, 1129, 80), +(43, 1130, 99), +(43, 1131, 91), +(43, 1132, 68), +(43, 1133, 89), +(43, 1134, 98), +(43, 1135, 79), +(43, 1136, 72), +(43, 1137, 87), +(43, 1138, 77), +(43, 1139, 95), +(43, 1140, 85), +(43, 1141, 97), +(43, 1142, 98), +(43, 1143, 95), +(43, 1144, 92), +(43, 1145, 74), +(43, 1146, 89), +(43, 1147, 82), +(43, 1148, 96), +(43, 1149, 67), +(43, 1150, 70), +(43, 1151, 98), +(43, 1152, 79), +(43, 1153, 86), +(43, 1154, 88), +(43, 1155, 89), +(43, 1156, 70), +(43, 1157, 79), +(43, 1158, 65), +(43, 1159, 85), +(43, 1160, 69), +(43, 1161, 94), +(43, 1162, 99), +(43, 1163, 67), +(43, 1164, 95), +(43, 1165, 69), +(43, 1166, 88), +(43, 1167, 78), +(43, 1168, 99), +(43, 1169, 67), +(43, 1170, 84), +(43, 1171, 68), +(43, 1172, 68), +(43, 1173, 93), +(43, 1174, 80), +(43, 1175, 73), +(43, 1176, 73), +(43, 1177, 86), +(43, 1178, 94), +(43, 1179, 72), +(43, 1180, 71), +(43, 1181, 96), +(43, 1182, 85), +(43, 1183, 88), +(43, 1184, 77), +(43, 1185, 93), +(43, 1186, 69), +(43, 1187, 92), +(43, 1188, 94), +(43, 1189, 78), +(43, 1190, 72), +(43, 1191, 87), +(43, 1192, 97), +(43, 1193, 90), +(43, 1194, 69), +(43, 1195, 65), +(43, 1196, 78), +(43, 1197, 90), +(43, 1198, 95), +(43, 1199, 78), +(43, 1200, 68), +(43, 1201, 71), +(43, 1202, 74), +(43, 1203, 94), +(43, 1204, 93), +(43, 1205, 88), +(43, 1206, 90), +(43, 1207, 82), +(43, 1208, 85), +(43, 1209, 92), +(43, 1210, 65), +(43, 1211, 71), +(43, 1212, 82), +(43, 1213, 82), +(43, 1214, 98), +(43, 1215, 94), +(43, 1216, 83), +(43, 1217, 97), +(43, 1218, 75), +(43, 1219, 89), +(43, 1220, 78), +(43, 1221, 80), +(43, 1222, 83), +(43, 1223, 79), +(43, 1224, 80), +(43, 1225, 75), +(43, 1226, 85), +(43, 1227, 68), +(43, 1228, 82), +(43, 1229, 92), +(43, 1230, 72), +(43, 1231, 93), +(43, 1232, 77), +(43, 1233, 77), +(43, 1234, 86), +(43, 1235, 95), +(43, 1236, 95), +(43, 1237, 91), +(43, 1238, 73), +(43, 1239, 90), +(43, 1240, 84), +(43, 1241, 94), +(43, 1242, 89), +(43, 1243, 65), +(43, 1244, 76), +(43, 1245, 73), +(43, 1246, 88), +(43, 1247, 97), +(43, 1248, 87), +(43, 1249, 78), +(43, 1250, 97), +(43, 1251, 90), +(43, 1252, 85), +(43, 1253, 93), +(43, 1254, 73), +(43, 1255, 70), +(43, 1256, 88), +(43, 1257, 69), +(43, 1258, 65), +(43, 1259, 83), +(43, 1260, 97), +(43, 1261, 89), +(43, 1262, 99), +(43, 1263, 78), +(43, 1264, 87), +(43, 1265, 72), +(43, 1266, 97), +(43, 1267, 84), +(43, 1268, 78), +(43, 1269, 89), +(43, 1270, 78), +(43, 1271, 84), +(43, 1272, 89), +(43, 1273, 78), +(43, 1274, 65), +(43, 1275, 81), +(43, 1276, 87), +(43, 1277, 86), +(43, 1278, 68), +(43, 1279, 84), +(43, 1280, 88), +(43, 1281, 89), +(43, 1282, 72), +(43, 1283, 98), +(43, 1284, 84), +(43, 1285, 81), +(43, 1286, 67), +(43, 1287, 99), +(43, 1288, 68), +(43, 1289, 88), +(43, 1290, 72), +(43, 1291, 95), +(43, 1292, 84), +(43, 1293, 73), +(43, 1294, 92), +(43, 1295, 65), +(43, 1296, 95), +(43, 1297, 90), +(43, 1298, 71), +(43, 1299, 74), +(43, 1300, 70), +(43, 1301, 98), +(43, 1302, 89), +(43, 1303, 69), +(43, 1304, 98), +(43, 1305, 85), +(43, 1306, 70), +(43, 1307, 89), +(43, 1308, 67), +(43, 1309, 98), +(43, 1310, 72), +(43, 1311, 86), +(43, 1312, 76), +(43, 1313, 87), +(43, 1314, 91), +(43, 1315, 99), +(43, 1316, 88), +(43, 1317, 99), +(43, 1318, 95), +(43, 1319, 92), +(43, 1320, 88), +(43, 1321, 81), +(43, 1322, 93), +(43, 1323, 95), +(43, 1324, 93), +(43, 1325, 89), +(43, 1326, 81), +(43, 1327, 76), +(43, 1328, 84), +(43, 1329, 99), +(43, 1330, 90), +(43, 1331, 91), +(43, 1332, 82), +(43, 1333, 95), +(43, 1334, 77), +(43, 1335, 81), +(43, 1336, 67), +(43, 1337, 72), +(43, 1338, 76), +(43, 1339, 69), +(43, 1340, 95), +(43, 1341, 95), +(43, 1342, 75), +(43, 1343, 80), +(43, 1344, 77), +(43, 1345, 76), +(43, 1346, 74), +(43, 1347, 91), +(43, 1348, 77), +(43, 1349, 77), +(43, 1350, 93), +(43, 1351, 93), +(43, 1352, 90), +(43, 1353, 73), +(43, 1354, 84), +(43, 1355, 65), +(43, 1356, 98), +(43, 1357, 89), +(43, 1358, 87), +(43, 1359, 96), +(43, 1360, 67), +(43, 1361, 69), +(43, 1362, 89), +(43, 1363, 92), +(43, 1364, 69), +(43, 1365, 75), +(43, 1366, 76), +(43, 1367, 95), +(43, 1368, 89), +(43, 1369, 77), +(43, 1370, 89), +(43, 1371, 76), +(43, 1372, 86), +(43, 1373, 99), +(43, 1374, 93), +(43, 1375, 90), +(43, 1376, 86), +(43, 1377, 81), +(43, 1378, 95), +(43, 1379, 71), +(43, 1380, 65), +(43, 1381, 74), +(43, 1382, 78), +(43, 1383, 89), +(43, 1384, 66), +(43, 1385, 75), +(43, 1386, 94), +(43, 1387, 66), +(43, 1388, 96), +(43, 1389, 69), +(43, 1390, 78), +(43, 1391, 86), +(43, 1392, 93), +(43, 1393, 80), +(43, 1394, 70), +(43, 1395, 71), +(43, 1396, 83), +(43, 1397, 84), +(43, 1398, 89), +(43, 1399, 76), +(43, 1400, 96), +(43, 1401, 79), +(43, 1402, 99), +(43, 1403, 89), +(43, 1404, 98), +(43, 1405, 90), +(43, 1406, 96), +(43, 1407, 91), +(43, 1408, 82), +(43, 1409, 82), +(43, 1410, 81), +(43, 1411, 69), +(43, 1412, 99), +(43, 1413, 97), +(43, 1414, 74), +(43, 1415, 76), +(43, 1416, 77), +(43, 1417, 93), +(43, 1418, 77), +(43, 1419, 94), +(43, 1420, 87), +(43, 1421, 96), +(43, 1422, 73), +(43, 1423, 72), +(43, 1424, 89), +(43, 1425, 96), +(43, 1426, 99), +(43, 1427, 83), +(43, 1428, 98), +(43, 1429, 68), +(43, 1430, 93), +(43, 1431, 91), +(43, 1432, 95), +(43, 1433, 68), +(43, 1434, 88), +(43, 1435, 70), +(43, 1436, 98), +(43, 1437, 84), +(43, 1438, 95), +(43, 1439, 85), +(43, 1440, 81), +(43, 1441, 69), +(43, 1442, 88), +(43, 1443, 69), +(43, 1444, 68), +(43, 1445, 78), +(43, 1446, 98), +(43, 1447, 86), +(43, 1448, 99), +(43, 1449, 93), +(43, 1450, 99), +(43, 1451, 82), +(43, 1452, 81), +(43, 1453, 96), +(43, 1454, 65), +(43, 1455, 92), +(43, 1456, 94), +(43, 1457, 86), +(43, 1458, 86), +(43, 1459, 96), +(43, 1460, 82), +(43, 1461, 82), +(43, 1462, 66), +(43, 1463, 89), +(43, 1464, 66), +(43, 1465, 84), +(43, 1466, 97), +(43, 1467, 71), +(43, 1468, 86), +(43, 1469, 70), +(43, 1470, 82), +(43, 1471, 81), +(43, 1472, 65), +(43, 1473, 87), +(43, 1474, 68), +(43, 1475, 79), +(43, 1476, 87), +(43, 1477, 73), +(43, 1478, 76), +(43, 1479, 95), +(43, 1480, 84), +(43, 1481, 73), +(43, 1482, 67), +(43, 1483, 73), +(43, 1484, 97), +(43, 1485, 91), +(43, 1486, 82), +(43, 1487, 94), +(43, 1488, 84), +(43, 1489, 86), +(43, 1490, 80), +(43, 1491, 68), +(43, 1492, 81), +(43, 1493, 90), +(43, 1494, 71), +(43, 1495, 65), +(43, 1496, 80), +(43, 1497, 73), +(43, 1498, 96), +(43, 1499, 73), +(43, 1500, 97), +(43, 1501, 82), +(43, 1502, 97), +(43, 1503, 65), +(43, 1504, 96), +(43, 1505, 92), +(43, 1506, 82), +(43, 1507, 74), +(43, 1508, 69), +(43, 1509, 67), +(43, 1510, 82), +(43, 1511, 87), +(43, 1512, 99), +(43, 1513, 66), +(43, 1514, 98), +(43, 1515, 84), +(43, 1516, 88), +(43, 1517, 87), +(43, 1518, 75), +(43, 1519, 73), +(43, 1520, 70), +(43, 1521, 79), +(43, 1522, 86), +(43, 1523, 71), +(43, 1524, 96), +(43, 1525, 93), +(43, 1526, 73), +(43, 1527, 88), +(43, 1528, 68), +(43, 1529, 96), +(43, 1530, 66), +(43, 1531, 95), +(43, 1532, 73), +(43, 1533, 77), +(43, 1534, 69), +(43, 1535, 96), +(43, 1536, 92), +(43, 1537, 74), +(43, 1538, 74), +(43, 1539, 94), +(43, 1540, 72), +(43, 1541, 92), +(43, 1542, 87), +(43, 1543, 83), +(43, 1544, 68), +(43, 1545, 89), +(43, 1546, 86), +(43, 1547, 98), +(43, 1548, 93), +(43, 1549, 78), +(43, 1550, 84), +(43, 1551, 93), +(43, 1552, 87), +(43, 1553, 66), +(43, 1554, 84), +(43, 1555, 75), +(43, 1556, 72), +(43, 1557, 74), +(43, 1558, 77), +(43, 1559, 65), +(43, 1560, 91), +(43, 1561, 70), +(43, 1562, 72), +(43, 1563, 74), +(43, 1564, 74), +(43, 1565, 98), +(43, 1566, 68), +(43, 1567, 99), +(43, 1568, 67), +(43, 1569, 66), +(43, 1570, 80), +(43, 1571, 68), +(43, 1572, 96), +(43, 1573, 91), +(43, 1574, 86), +(43, 1575, 83), +(43, 1576, 66), +(43, 1577, 69), +(43, 1578, 79), +(43, 1579, 69), +(43, 1580, 67), +(43, 1581, 70), +(43, 1582, 87), +(43, 1583, 91), +(43, 1584, 99), +(43, 1585, 72), +(43, 1586, 68), +(43, 1587, 93), +(43, 2047, 95), +(43, 2048, 95), +(43, 2049, 87), +(43, 2050, 79), +(43, 2051, 83), +(43, 2052, 74), +(43, 2053, 93), +(43, 2054, 74), +(43, 2055, 90), +(43, 2056, 85), +(43, 2057, 67), +(43, 2058, 75), +(43, 2059, 86), +(43, 2060, 88), +(43, 2061, 90), +(43, 2062, 97), +(43, 2063, 88), +(43, 2064, 96), +(43, 2065, 99), +(43, 2066, 75), +(43, 2067, 89), +(43, 2068, 94), +(43, 2069, 90), +(43, 2070, 67), +(43, 2071, 85), +(43, 2072, 93), +(43, 2073, 66), +(43, 2074, 79), +(43, 2075, 86), +(43, 2076, 94), +(43, 2077, 67), +(43, 2078, 79), +(43, 2079, 80), +(43, 2080, 99), +(43, 2081, 86), +(43, 2082, 78), +(43, 2083, 65), +(43, 2084, 88), +(43, 2085, 84), +(43, 2086, 93), +(43, 2087, 98), +(43, 2088, 85), +(43, 2089, 70), +(43, 2090, 71), +(43, 2091, 73), +(43, 2092, 71), +(43, 2093, 65), +(43, 2094, 95), +(43, 2095, 71), +(43, 2096, 85), +(43, 2097, 79), +(43, 2098, 91), +(43, 2099, 85), +(43, 2100, 79), +(43, 2101, 97), +(43, 2102, 73), +(43, 2103, 68), +(43, 2104, 74), +(43, 2105, 81), +(43, 2106, 75), +(43, 2107, 72), +(43, 2108, 95), +(43, 2109, 96), +(43, 2110, 85), +(43, 2111, 74), +(43, 2112, 87), +(43, 2113, 67), +(43, 2114, 69), +(43, 2115, 88), +(43, 2116, 72), +(43, 2117, 98), +(43, 2118, 75), +(43, 2119, 76), +(43, 2120, 75), +(43, 2121, 87), +(43, 2122, 69), +(43, 2123, 86), +(43, 2124, 71), +(43, 2125, 81), +(43, 2126, 68), +(43, 2127, 93), +(43, 2128, 76), +(43, 2129, 87), +(43, 2130, 95), +(43, 2131, 84), +(43, 2132, 77), +(43, 2133, 94), +(43, 2134, 73), +(43, 2135, 88), +(43, 2136, 71), +(43, 2137, 96), +(43, 2138, 92), +(43, 2139, 84), +(43, 2140, 67), +(43, 2141, 71), +(43, 2142, 71), +(43, 2143, 81), +(43, 2144, 87), +(43, 2145, 90), +(43, 2146, 94), +(43, 2147, 96), +(43, 2148, 91), +(43, 2149, 85), +(43, 2150, 71), +(43, 2151, 75), +(43, 2152, 80), +(43, 2153, 96), +(43, 2154, 97), +(43, 2155, 99), +(43, 2156, 68), +(43, 2157, 73), +(43, 2158, 68), +(43, 2159, 81), +(43, 2160, 70), +(43, 2161, 79), +(43, 2162, 89), +(43, 2163, 99), +(43, 2164, 88), +(43, 2165, 65), +(43, 2166, 77), +(43, 2167, 78), +(43, 2168, 90), +(43, 2169, 65), +(43, 2170, 74), +(43, 2171, 95), +(43, 2172, 67), +(43, 2173, 83), +(43, 2174, 74), +(43, 2175, 76), +(43, 2176, 71), +(43, 2177, 73), +(43, 2178, 74), +(43, 2179, 97), +(43, 2180, 78), +(43, 2181, 70), +(43, 2182, 75), +(43, 2183, 67), +(43, 2184, 75), +(43, 2185, 98), +(43, 2186, 72), +(43, 2187, 83), +(43, 2188, 95), +(43, 2189, 87), +(43, 2190, 89), +(43, 2191, 76), +(43, 2192, 84), +(43, 2193, 89), +(43, 2194, 91), +(43, 2195, 88), +(43, 2196, 86), +(43, 2197, 75), +(43, 2198, 69), +(43, 2199, 80), +(43, 2200, 87), +(43, 2201, 94), +(43, 2202, 69), +(43, 2203, 90), +(43, 2204, 98), +(43, 2205, 76), +(43, 2206, 71), +(43, 2207, 98), +(43, 2208, 85), +(43, 2209, 69), +(43, 2210, 77), +(43, 2211, 96), +(43, 2212, 76), +(43, 2213, 82), +(43, 2214, 71), +(43, 2215, 98), +(43, 2216, 99), +(43, 2217, 82), +(43, 2218, 99), +(43, 2219, 70), +(43, 2220, 80), +(43, 2221, 80), +(43, 2222, 71), +(43, 2223, 72), +(43, 2224, 94), +(43, 2225, 73), +(43, 2226, 70), +(43, 2227, 94), +(43, 2228, 87), +(43, 2229, 69), +(43, 2230, 85), +(43, 2231, 78), +(43, 2232, 74), +(43, 2233, 90), +(43, 2234, 78), +(43, 2235, 98), +(43, 2236, 92), +(43, 2237, 91), +(43, 2238, 75), +(43, 2239, 91), +(43, 2240, 78), +(43, 2241, 69), +(43, 2242, 67), +(43, 2243, 71), +(43, 2244, 74), +(43, 2245, 83), +(43, 2246, 83), +(43, 2247, 82), +(43, 2248, 87), +(43, 2249, 65), +(43, 2250, 88), +(43, 2251, 82), +(43, 2252, 79), +(43, 2253, 94), +(43, 2254, 76), +(43, 2255, 72), +(43, 2256, 83), +(43, 2257, 68), +(43, 2258, 85), +(43, 2259, 90), +(43, 2260, 95), +(43, 2261, 67), +(43, 2262, 69), +(43, 2263, 97), +(43, 2264, 97), +(43, 2265, 95), +(43, 2266, 99), +(43, 2267, 70), +(43, 2268, 99), +(43, 2269, 97), +(43, 2270, 94), +(43, 2271, 96), +(43, 2272, 70), +(43, 2273, 80), +(43, 2274, 99), +(43, 2275, 66), +(43, 2276, 85), +(43, 2277, 93), +(43, 2278, 99), +(43, 2279, 93), +(43, 2280, 75), +(43, 2281, 82), +(43, 2282, 72), +(43, 2283, 78), +(43, 2284, 76), +(43, 2285, 92), +(43, 2286, 72), +(43, 2287, 87), +(43, 2288, 71), +(43, 2289, 78), +(43, 2290, 95), +(43, 2291, 86), +(43, 2292, 65), +(43, 2293, 82), +(43, 2294, 66), +(43, 2295, 65), +(43, 2296, 92), +(43, 2297, 89), +(43, 2298, 81), +(43, 2299, 94), +(43, 2300, 68), +(43, 2301, 85), +(43, 2302, 76), +(43, 2303, 78), +(43, 2304, 82), +(43, 2305, 89), +(43, 2306, 71), +(43, 2307, 70), +(43, 2308, 98), +(43, 2309, 79), +(43, 2310, 93), +(43, 2311, 66), +(43, 2312, 70), +(43, 2313, 99), +(43, 2314, 78), +(43, 2315, 78), +(43, 2316, 98), +(43, 2317, 81), +(43, 2318, 68), +(43, 2319, 73), +(43, 2320, 93), +(43, 2321, 94), +(43, 2322, 85), +(43, 2323, 85), +(43, 2324, 97), +(43, 2325, 80), +(43, 2326, 85), +(43, 2327, 66), +(43, 2328, 65), +(43, 2329, 99), +(43, 2330, 73), +(43, 2331, 73), +(43, 2332, 65), +(43, 2333, 93), +(43, 2334, 93), +(43, 2335, 96), +(43, 2336, 74), +(43, 2337, 80), +(43, 2338, 96), +(43, 2339, 67), +(43, 2340, 99), +(43, 2341, 68), +(43, 2342, 95), +(43, 2343, 82), +(43, 2344, 74), +(43, 2345, 79), +(43, 2346, 96), +(43, 2347, 65), +(43, 2348, 73), +(43, 2349, 99), +(43, 2350, 98), +(43, 2351, 87), +(43, 2352, 95), +(43, 2353, 97), +(43, 2354, 67), +(43, 2355, 86), +(43, 2356, 66), +(43, 2357, 74), +(43, 2358, 97), +(43, 2359, 90), +(43, 2360, 95), +(43, 2361, 67), +(43, 2362, 99), +(43, 2363, 89), +(43, 2364, 66), +(43, 2365, 88), +(43, 2366, 73), +(43, 2367, 65), +(43, 2368, 67), +(43, 2369, 84), +(43, 2370, 94), +(43, 2371, 99), +(43, 2372, 73), +(43, 2373, 69), +(43, 2374, 88), +(43, 2375, 66), +(43, 2376, 86), +(43, 2377, 66), +(43, 2378, 97), +(43, 2379, 65), +(43, 2380, 85), +(43, 2381, 77), +(43, 2382, 91), +(43, 2383, 89), +(43, 2384, 84), +(43, 2385, 98), +(43, 2386, 94), +(43, 2387, 67), +(43, 2388, 80), +(43, 2389, 94), +(43, 2390, 96), +(43, 2391, 97), +(43, 2392, 76), +(43, 2393, 95), +(43, 2394, 91), +(43, 2395, 83), +(43, 2396, 78), +(43, 2397, 79), +(43, 2398, 94), +(43, 2399, 68), +(43, 2400, 91), +(43, 2401, 65), +(43, 2402, 85), +(43, 2403, 66), +(43, 2404, 99), +(43, 2405, 72), +(43, 2406, 92), +(43, 2407, 98), +(43, 2408, 65), +(43, 2409, 85), +(43, 2410, 99), +(43, 2411, 95), +(43, 2412, 90), +(43, 2413, 72), +(43, 2414, 96), +(43, 2415, 99), +(43, 2416, 82), +(43, 2417, 83), +(43, 2418, 83), +(43, 2419, 74), +(43, 2420, 81), +(43, 2421, 85), +(43, 2422, 90), +(43, 2423, 76), +(43, 2424, 79), +(43, 2425, 73), +(43, 2426, 73), +(43, 2427, 94), +(43, 2428, 69), +(43, 2429, 80), +(43, 2430, 66), +(43, 2431, 81), +(43, 2432, 79), +(43, 2433, 83), +(43, 2434, 65), +(43, 2435, 85), +(43, 2436, 87), +(43, 2437, 78), +(43, 2438, 99), +(43, 2439, 84), +(43, 2440, 73), +(43, 2441, 82), +(43, 2442, 84), +(43, 2443, 97), +(43, 2444, 99), +(43, 2445, 86), +(43, 2446, 94), +(43, 2447, 68), +(43, 2448, 83), +(43, 2449, 94), +(43, 2450, 98), +(43, 2451, 85), +(43, 2452, 99), +(43, 2453, 73), +(43, 2454, 66), +(43, 2455, 81), +(43, 2456, 69), +(43, 2457, 85), +(43, 2458, 65), +(43, 2459, 87), +(43, 2460, 76), +(43, 2461, 86), +(43, 2462, 90), +(43, 2463, 65), +(43, 2464, 76), +(43, 2465, 88), +(43, 2466, 83), +(43, 2467, 91), +(43, 2468, 87), +(43, 2469, 77), +(43, 2470, 74), +(43, 2471, 76), +(43, 2472, 71), +(43, 2473, 90), +(43, 2474, 95), +(43, 2475, 95), +(43, 2476, 69), +(43, 2477, 92), +(43, 2478, 94), +(43, 2479, 68), +(43, 2480, 81), +(43, 2481, 69), +(43, 2482, 95), +(43, 2483, 94), +(43, 2484, 69), +(43, 2485, 89), +(43, 2486, 98), +(43, 2487, 78), +(43, 2488, 65), +(43, 2489, 69), +(43, 2490, 77), +(43, 2491, 81), +(43, 2492, 71), +(43, 2493, 83), +(43, 2494, 66), +(43, 2495, 86), +(43, 2496, 76), +(43, 2497, 79), +(43, 2498, 77), +(43, 2499, 80), +(43, 2500, 65), +(43, 2501, 99), +(43, 2502, 94), +(43, 2503, 90), +(43, 2504, 95), +(43, 2505, 77), +(43, 2506, 92), +(43, 2507, 78), +(43, 2508, 70), +(43, 2509, 92), +(43, 2510, 97), +(43, 2511, 68), +(43, 2512, 99), +(43, 2513, 65), +(43, 2514, 99), +(43, 2515, 89), +(43, 2516, 96), +(43, 2517, 91), +(43, 2518, 84), +(43, 2519, 83), +(43, 2520, 85), +(43, 2521, 76), +(43, 2522, 82), +(43, 2523, 69), +(43, 2524, 72), +(43, 2525, 95), +(43, 2526, 67), +(43, 2527, 74), +(43, 2528, 84), +(43, 2529, 68), +(43, 2530, 82), +(43, 2531, 82), +(43, 2532, 84), +(43, 2533, 90), +(43, 2534, 93), +(43, 2535, 94), +(43, 2536, 84), +(43, 2537, 96), +(43, 2538, 88), +(43, 2539, 67), +(43, 2540, 86), +(43, 2541, 66), +(43, 2542, 86), +(43, 2543, 76), +(43, 2544, 95), +(43, 2545, 91), +(43, 2546, 92), +(43, 2547, 78), +(43, 2548, 87), +(43, 2549, 91), +(43, 2550, 87), +(43, 2551, 94), +(43, 2552, 80), +(43, 2553, 75), +(43, 2554, 76), +(43, 2555, 86), +(43, 2556, 91), +(43, 2557, 84), +(43, 2558, 78), +(43, 2559, 93), +(43, 2560, 78), +(43, 2561, 73), +(43, 2562, 95), +(43, 2563, 97), +(43, 2564, 99), +(43, 2565, 91), +(43, 2566, 87), +(43, 2567, 91), +(43, 2568, 65), +(43, 2569, 87), +(43, 2570, 79), +(43, 2571, 68), +(43, 2572, 68), +(43, 2573, 75), +(43, 2574, 82), +(43, 2575, 69), +(43, 2576, 89), +(43, 2577, 85), +(43, 2578, 90), +(43, 2579, 88), +(43, 2580, 95), +(43, 2581, 96), +(43, 2582, 85), +(43, 2583, 79), +(43, 2584, 92), +(43, 2585, 86), +(43, 2586, 76), +(43, 2587, 83), +(43, 2588, 96), +(43, 2589, 67), +(43, 2590, 91), +(43, 2591, 71), +(43, 2592, 76), +(43, 2593, 84), +(43, 2594, 89), +(43, 2595, 90), +(43, 2596, 76), +(43, 2597, 98), +(43, 2598, 86), +(43, 2599, 95), +(43, 2600, 69), +(43, 2601, 77), +(43, 2602, 77), +(43, 2603, 69), +(43, 2604, 95), +(43, 2605, 82), +(43, 2606, 76), +(43, 2607, 93), +(43, 2608, 97), +(43, 2609, 79), +(43, 2610, 69), +(44, 1, 92), +(44, 2, 99), +(44, 3, 74), +(44, 4, 97), +(44, 5, 81), +(44, 6, 81), +(44, 7, 79), +(44, 8, 70), +(44, 9, 80), +(44, 10, 77), +(44, 11, 79), +(44, 12, 88), +(44, 13, 70), +(44, 14, 95), +(44, 15, 84), +(44, 16, 70), +(44, 17, 94), +(44, 18, 91), +(44, 19, 81), +(44, 20, 92), +(44, 21, 80), +(44, 22, 77), +(44, 23, 88), +(44, 24, 88), +(44, 25, 68), +(44, 26, 72), +(44, 27, 84), +(44, 28, 76), +(44, 29, 80), +(44, 30, 77), +(44, 31, 85), +(44, 32, 87), +(44, 33, 89), +(44, 34, 98), +(44, 35, 75), +(44, 36, 69), +(44, 37, 68), +(44, 38, 90), +(44, 39, 83), +(44, 40, 83), +(44, 41, 87), +(44, 42, 65), +(44, 43, 88), +(44, 44, 82), +(44, 45, 78), +(44, 46, 76), +(44, 47, 81), +(44, 48, 88), +(44, 49, 90), +(44, 50, 74), +(44, 51, 74), +(44, 52, 84), +(44, 53, 68), +(44, 54, 85), +(44, 55, 98), +(44, 56, 69), +(44, 57, 94), +(44, 58, 75), +(44, 59, 90), +(44, 60, 86), +(44, 61, 98), +(44, 62, 81), +(44, 63, 65), +(44, 64, 78), +(44, 65, 74), +(44, 66, 66), +(44, 67, 75), +(44, 68, 88), +(44, 69, 86), +(44, 70, 99), +(44, 71, 67), +(44, 72, 89), +(44, 73, 95), +(44, 74, 91), +(44, 75, 83), +(44, 76, 99), +(44, 77, 74), +(44, 78, 73), +(44, 79, 69), +(44, 80, 92), +(44, 81, 89), +(44, 82, 82), +(44, 83, 73), +(44, 84, 79), +(44, 85, 66), +(44, 86, 85), +(44, 87, 88), +(44, 88, 92), +(44, 89, 69), +(44, 90, 99), +(44, 91, 70), +(44, 92, 81), +(44, 93, 85), +(44, 94, 70), +(44, 95, 75), +(44, 96, 86), +(44, 97, 85), +(44, 98, 97), +(44, 99, 89), +(44, 100, 68), +(44, 101, 92), +(44, 102, 96), +(44, 103, 88), +(44, 104, 76), +(44, 105, 88), +(44, 106, 85), +(44, 107, 83), +(44, 108, 85), +(44, 109, 73), +(44, 110, 88), +(44, 111, 85), +(44, 112, 69), +(44, 113, 94), +(44, 114, 75), +(44, 115, 86), +(44, 116, 76), +(44, 117, 73), +(44, 118, 69), +(44, 119, 85), +(44, 120, 78), +(44, 121, 71), +(44, 122, 81), +(44, 123, 99), +(44, 124, 76), +(44, 125, 94), +(44, 126, 96), +(44, 127, 86), +(44, 128, 76), +(44, 129, 87), +(44, 130, 73), +(44, 131, 84), +(44, 132, 68), +(44, 133, 92), +(44, 134, 94), +(44, 135, 66), +(44, 136, 93), +(44, 137, 65), +(44, 138, 65), +(44, 139, 88), +(44, 140, 69), +(44, 141, 84), +(44, 142, 78), +(44, 143, 83), +(44, 144, 65), +(44, 145, 79), +(44, 146, 97), +(44, 147, 76), +(44, 148, 99), +(44, 149, 98), +(44, 150, 96), +(44, 151, 82), +(44, 152, 68), +(44, 153, 79), +(44, 154, 90), +(44, 155, 79), +(44, 156, 76), +(44, 157, 96), +(44, 158, 95), +(44, 159, 65), +(44, 160, 72), +(44, 161, 73), +(44, 162, 92), +(44, 163, 76), +(44, 164, 94), +(44, 165, 90), +(44, 166, 85), +(44, 167, 80), +(44, 168, 78), +(44, 169, 72), +(44, 170, 82), +(44, 171, 99), +(44, 172, 83), +(44, 173, 69), +(44, 174, 88), +(44, 175, 70), +(44, 176, 69), +(44, 177, 98), +(44, 178, 90), +(44, 179, 86), +(44, 180, 86), +(44, 181, 67), +(44, 182, 88), +(44, 183, 76), +(44, 184, 75), +(44, 185, 66), +(44, 186, 67), +(44, 187, 74), +(44, 188, 65), +(44, 189, 94), +(44, 190, 73), +(44, 191, 72), +(44, 192, 99), +(44, 193, 70), +(44, 194, 83), +(44, 195, 99), +(44, 196, 75), +(44, 197, 93), +(44, 198, 75), +(44, 199, 85), +(44, 200, 95), +(44, 201, 70), +(44, 202, 69), +(44, 203, 83), +(44, 204, 91), +(44, 205, 91), +(44, 206, 94), +(44, 207, 83), +(44, 208, 89), +(44, 209, 84), +(44, 210, 74), +(44, 211, 87), +(44, 212, 93), +(44, 213, 82), +(44, 214, 87), +(44, 215, 90), +(44, 216, 69), +(44, 217, 67), +(44, 218, 66), +(44, 219, 70), +(44, 220, 67), +(44, 221, 66), +(44, 222, 71), +(44, 223, 80), +(44, 224, 91), +(44, 225, 84), +(44, 226, 87), +(44, 227, 83), +(44, 228, 80), +(44, 229, 99), +(44, 230, 72), +(44, 231, 92), +(44, 232, 65), +(44, 233, 88), +(44, 234, 84), +(44, 235, 90), +(44, 236, 97), +(44, 237, 65), +(44, 238, 70), +(44, 239, 89), +(44, 240, 77), +(44, 241, 65), +(44, 242, 94), +(44, 243, 70), +(44, 244, 82), +(44, 245, 85), +(44, 246, 69), +(44, 247, 68), +(44, 248, 94), +(44, 249, 90), +(44, 250, 68), +(44, 251, 96), +(44, 252, 85), +(44, 253, 95), +(44, 254, 76), +(44, 255, 67), +(44, 256, 86), +(44, 257, 78), +(44, 258, 67), +(44, 259, 65), +(44, 260, 86), +(44, 261, 91), +(44, 262, 73), +(44, 263, 85), +(44, 264, 75), +(44, 265, 86), +(44, 266, 93), +(44, 267, 71), +(44, 268, 92), +(44, 269, 70), +(44, 270, 84), +(44, 271, 90), +(44, 272, 91), +(44, 273, 85), +(44, 274, 67), +(44, 275, 76), +(44, 276, 93), +(44, 277, 68), +(44, 278, 66), +(44, 279, 80), +(44, 280, 80), +(44, 281, 69), +(44, 282, 79), +(44, 283, 93), +(44, 284, 67), +(44, 285, 81), +(44, 286, 94), +(44, 287, 77), +(44, 288, 84), +(44, 289, 87), +(44, 290, 76), +(44, 291, 92), +(44, 292, 99), +(44, 293, 95), +(44, 294, 69), +(44, 295, 97), +(44, 296, 70), +(44, 297, 93), +(44, 298, 93), +(44, 299, 90), +(44, 300, 71), +(44, 301, 73), +(44, 302, 70), +(44, 303, 75), +(44, 304, 95), +(44, 305, 76), +(44, 306, 70), +(44, 307, 80), +(44, 308, 86), +(44, 309, 70), +(44, 310, 86), +(44, 311, 91), +(44, 312, 88), +(44, 313, 72), +(44, 314, 97), +(44, 315, 95), +(44, 316, 90), +(44, 317, 81), +(44, 318, 72), +(44, 319, 78), +(44, 320, 84), +(44, 321, 77), +(44, 322, 66), +(44, 323, 74), +(44, 324, 72), +(44, 325, 93), +(44, 326, 74), +(44, 327, 72), +(44, 328, 87), +(44, 329, 81), +(44, 330, 73), +(44, 331, 76), +(44, 332, 76), +(44, 333, 88), +(44, 334, 73), +(44, 335, 95), +(44, 336, 77), +(44, 337, 69), +(44, 338, 90), +(44, 339, 77), +(44, 340, 94), +(44, 341, 67), +(44, 342, 82), +(44, 343, 97), +(44, 344, 80), +(44, 345, 79), +(44, 346, 82), +(44, 347, 69), +(44, 348, 82), +(44, 349, 92), +(44, 350, 88), +(44, 351, 95), +(44, 352, 75), +(44, 353, 86), +(44, 354, 65), +(44, 355, 97), +(44, 356, 82), +(44, 357, 82), +(44, 358, 70), +(44, 359, 81), +(44, 360, 88), +(44, 361, 75), +(44, 362, 81), +(44, 363, 94), +(44, 364, 95), +(44, 365, 93), +(44, 366, 97), +(44, 367, 95), +(44, 368, 97), +(44, 369, 72), +(44, 370, 83), +(44, 371, 95), +(44, 372, 78), +(44, 373, 93), +(44, 374, 92), +(44, 375, 85), +(44, 376, 97), +(44, 377, 92), +(44, 378, 76), +(44, 379, 74), +(44, 380, 81), +(44, 381, 99), +(44, 382, 70), +(44, 383, 99), +(44, 384, 99), +(44, 385, 95), +(44, 386, 75), +(44, 387, 67), +(44, 388, 71), +(44, 389, 79), +(44, 390, 79), +(44, 391, 84), +(44, 392, 82), +(44, 393, 91), +(44, 394, 87), +(44, 395, 82), +(44, 396, 96), +(44, 397, 72), +(44, 398, 89), +(44, 399, 67), +(44, 400, 80), +(44, 401, 80), +(44, 402, 84), +(44, 403, 84), +(44, 404, 90), +(44, 405, 97), +(44, 406, 73), +(44, 407, 95), +(44, 408, 66), +(44, 409, 93), +(44, 410, 84), +(44, 411, 97), +(44, 412, 65), +(44, 413, 80), +(44, 414, 88), +(44, 415, 94), +(44, 416, 96), +(44, 417, 80), +(44, 418, 73), +(44, 419, 81), +(44, 420, 78), +(44, 421, 66), +(44, 422, 83), +(44, 423, 85), +(44, 424, 79), +(44, 425, 66), +(44, 426, 87), +(44, 427, 81), +(44, 428, 85), +(44, 429, 86), +(44, 430, 78), +(44, 431, 71), +(44, 432, 99), +(44, 433, 70), +(44, 434, 84), +(44, 435, 92), +(44, 436, 83), +(44, 437, 76), +(44, 438, 95), +(44, 439, 80), +(44, 440, 72), +(44, 441, 92), +(44, 442, 96), +(44, 443, 80), +(44, 444, 65), +(44, 445, 77), +(44, 446, 69), +(44, 447, 79), +(44, 448, 95), +(44, 449, 80), +(44, 450, 67), +(44, 451, 94), +(44, 452, 75), +(44, 453, 78), +(44, 454, 96), +(44, 455, 79), +(44, 456, 89), +(44, 457, 87), +(44, 458, 88), +(44, 459, 90), +(44, 460, 80), +(44, 461, 74), +(44, 462, 85), +(44, 463, 84), +(44, 464, 70), +(44, 465, 68), +(44, 466, 87), +(44, 467, 90), +(44, 468, 93), +(44, 469, 92), +(44, 470, 70), +(44, 471, 66), +(44, 472, 95), +(44, 473, 84), +(44, 474, 69), +(44, 475, 81), +(44, 476, 92), +(44, 477, 71), +(44, 478, 80), +(44, 479, 70), +(44, 480, 89), +(44, 481, 97), +(44, 482, 91), +(44, 483, 91), +(44, 484, 98), +(44, 485, 85), +(44, 486, 68), +(44, 487, 79), +(44, 488, 85), +(44, 489, 90), +(44, 490, 79), +(44, 491, 97), +(44, 492, 79), +(44, 493, 99), +(44, 494, 95), +(44, 495, 65), +(44, 496, 68), +(44, 497, 83), +(44, 498, 67), +(44, 499, 99), +(44, 500, 69), +(44, 501, 71), +(44, 502, 67), +(44, 503, 68), +(44, 504, 78), +(44, 505, 94), +(44, 506, 65), +(44, 507, 69), +(44, 508, 76), +(44, 509, 83), +(44, 510, 97), +(44, 511, 73), +(44, 512, 83), +(44, 513, 89), +(44, 514, 84), +(44, 515, 79), +(44, 516, 77), +(44, 517, 74), +(44, 518, 92), +(44, 519, 69), +(44, 520, 83), +(44, 521, 83), +(44, 522, 93), +(44, 523, 92), +(44, 524, 83), +(44, 525, 71), +(44, 526, 98), +(44, 527, 66), +(44, 528, 80), +(44, 529, 72), +(44, 530, 74), +(44, 531, 85), +(44, 532, 97), +(44, 533, 84), +(44, 534, 99), +(44, 535, 80), +(44, 536, 88), +(44, 537, 78), +(44, 538, 67), +(44, 539, 80), +(44, 540, 72), +(44, 541, 66), +(44, 542, 85), +(44, 543, 72), +(44, 544, 70), +(44, 545, 92), +(44, 546, 76), +(44, 547, 77), +(44, 548, 87), +(44, 549, 92), +(44, 550, 81), +(44, 551, 69), +(44, 552, 65), +(44, 553, 70), +(44, 554, 86), +(44, 555, 83), +(44, 556, 74), +(44, 557, 68), +(44, 558, 65), +(44, 559, 66), +(44, 560, 70), +(44, 561, 76), +(44, 562, 80), +(44, 563, 98), +(44, 564, 97), +(44, 1024, 70), +(44, 1025, 91), +(44, 1026, 88), +(44, 1027, 79), +(44, 1028, 83), +(44, 1029, 65), +(44, 1030, 76), +(44, 1031, 68), +(44, 1032, 79), +(44, 1033, 92), +(44, 1034, 82), +(44, 1035, 76), +(44, 1036, 90), +(44, 1037, 95), +(44, 1038, 68), +(44, 1039, 91), +(44, 1040, 68), +(44, 1041, 90), +(44, 1042, 92), +(44, 1043, 73), +(44, 1044, 79), +(44, 1045, 68), +(44, 1046, 71), +(44, 1047, 95), +(44, 1048, 70), +(44, 1049, 81), +(44, 1050, 66), +(44, 1051, 99), +(44, 1052, 95), +(44, 1053, 86), +(44, 1054, 73), +(44, 1055, 83), +(44, 1056, 80), +(44, 1057, 66), +(44, 1058, 87), +(44, 1059, 71), +(44, 1060, 99), +(44, 1061, 89), +(44, 1062, 75), +(44, 1063, 99), +(44, 1064, 71), +(44, 1065, 80), +(44, 1066, 95), +(44, 1067, 93), +(44, 1068, 76), +(44, 1069, 74), +(44, 1070, 67), +(44, 1071, 66), +(44, 1072, 81), +(44, 1073, 65), +(44, 1074, 88), +(44, 1075, 90), +(44, 1076, 72), +(44, 1077, 85), +(44, 1078, 79), +(44, 1079, 73), +(44, 1080, 86), +(44, 1081, 65), +(44, 1082, 78), +(44, 1083, 82), +(44, 1084, 97), +(44, 1085, 95), +(44, 1086, 82), +(44, 1087, 66), +(44, 1088, 81), +(44, 1089, 97), +(44, 1090, 65), +(44, 1091, 80), +(44, 1092, 69), +(44, 1093, 76), +(44, 1094, 69), +(44, 1095, 68), +(44, 1096, 73), +(44, 1097, 90), +(44, 1098, 86), +(44, 1099, 82), +(44, 1100, 86), +(44, 1101, 73), +(44, 1102, 82), +(44, 1103, 65), +(44, 1104, 99), +(44, 1105, 89), +(44, 1106, 66), +(44, 1107, 73), +(44, 1108, 95), +(44, 1109, 75), +(44, 1110, 85), +(44, 1111, 74), +(44, 1112, 89), +(44, 1113, 83), +(44, 1114, 68), +(44, 1115, 86), +(44, 1116, 75), +(44, 1117, 79), +(44, 1118, 91), +(44, 1119, 80), +(44, 1120, 72), +(44, 1121, 85), +(44, 1122, 68), +(44, 1123, 75), +(44, 1124, 85), +(44, 1125, 74), +(44, 1126, 92), +(44, 1127, 88), +(44, 1128, 90), +(44, 1129, 90), +(44, 1130, 69), +(44, 1131, 99), +(44, 1132, 70), +(44, 1133, 80), +(44, 1134, 86), +(44, 1135, 86), +(44, 1136, 66), +(44, 1137, 97), +(44, 1138, 75), +(44, 1139, 72), +(44, 1140, 81), +(44, 1141, 86), +(44, 1142, 67), +(44, 1143, 93), +(44, 1144, 77), +(44, 1145, 75), +(44, 1146, 83), +(44, 1147, 85), +(44, 1148, 99), +(44, 1149, 91), +(44, 1150, 78), +(44, 1151, 91), +(44, 1152, 91), +(44, 1153, 65), +(44, 1154, 80), +(44, 1155, 80), +(44, 1156, 89), +(44, 1157, 80), +(44, 1158, 66), +(44, 1159, 68), +(44, 1160, 77), +(44, 1161, 86), +(44, 1162, 80), +(44, 1163, 66), +(44, 1164, 78), +(44, 1165, 80), +(44, 1166, 82), +(44, 1167, 74), +(44, 1168, 80), +(44, 1169, 90), +(44, 1170, 84), +(44, 1171, 76), +(44, 1172, 78), +(44, 1173, 79), +(44, 1174, 69), +(44, 1175, 81), +(44, 1176, 86), +(44, 1177, 73), +(44, 1178, 91), +(44, 1179, 65), +(44, 1180, 67), +(44, 1181, 87), +(44, 1182, 90), +(44, 1183, 79), +(44, 1184, 72), +(44, 1185, 78), +(44, 1186, 92), +(44, 1187, 91), +(44, 1188, 72), +(44, 1189, 92), +(44, 1190, 92), +(44, 1191, 76), +(44, 1192, 93), +(44, 1193, 70), +(44, 1194, 96), +(44, 1195, 69), +(44, 1196, 96), +(44, 1197, 98), +(44, 1198, 82), +(44, 1199, 94), +(44, 1200, 85), +(44, 1201, 68), +(44, 1202, 92), +(44, 1203, 85), +(44, 1204, 89), +(44, 1205, 68), +(44, 1206, 98), +(44, 1207, 93), +(44, 1208, 99), +(44, 1209, 65), +(44, 1210, 85), +(44, 1211, 76), +(44, 1212, 85), +(44, 1213, 78), +(44, 1214, 89), +(44, 1215, 88), +(44, 1216, 95), +(44, 1217, 94), +(44, 1218, 85), +(44, 1219, 90), +(44, 1220, 68), +(44, 1221, 81), +(44, 1222, 87), +(44, 1223, 69), +(44, 1224, 91), +(44, 1225, 67), +(44, 1226, 83), +(44, 1227, 96), +(44, 1228, 75), +(44, 1229, 77), +(44, 1230, 96), +(44, 1231, 80), +(44, 1232, 77), +(44, 1233, 70), +(44, 1234, 80), +(44, 1235, 96), +(44, 1236, 65), +(44, 1237, 80), +(44, 1238, 90), +(44, 1239, 86), +(44, 1240, 95), +(44, 1241, 71), +(44, 1242, 65), +(44, 1243, 83), +(44, 1244, 73), +(44, 1245, 65), +(44, 1246, 86), +(44, 1247, 82), +(44, 1248, 83), +(44, 1249, 74), +(44, 1250, 98), +(44, 1251, 79), +(44, 1252, 94), +(44, 1253, 74), +(44, 1254, 82), +(44, 1255, 84), +(44, 1256, 67), +(44, 1257, 76), +(44, 1258, 85), +(44, 1259, 86), +(44, 1260, 87), +(44, 1261, 96), +(44, 1262, 66), +(44, 1263, 65), +(44, 1264, 74), +(44, 1265, 71), +(44, 1266, 87), +(44, 1267, 89), +(44, 1268, 93), +(44, 1269, 80), +(44, 1270, 80), +(44, 1271, 76), +(44, 1272, 74), +(44, 1273, 88), +(44, 1274, 76), +(44, 1275, 75), +(44, 1276, 73), +(44, 1277, 76), +(44, 1278, 88), +(44, 1279, 67), +(44, 1280, 89), +(44, 1281, 76), +(44, 1282, 66), +(44, 1283, 79), +(44, 1284, 71), +(44, 1285, 77), +(44, 1286, 92), +(44, 1287, 92), +(44, 1288, 71), +(44, 1289, 91), +(44, 1290, 77), +(44, 1291, 93), +(44, 1292, 88), +(44, 1293, 82), +(44, 1294, 84), +(44, 1295, 87), +(44, 1296, 67), +(44, 1297, 98), +(44, 1298, 69), +(44, 1299, 69), +(44, 1300, 94), +(44, 1301, 81), +(44, 1302, 99), +(44, 1303, 89), +(44, 1304, 97), +(44, 1305, 89), +(44, 1306, 83), +(44, 1307, 75), +(44, 1308, 92), +(44, 1309, 73), +(44, 1310, 94), +(44, 1311, 94), +(44, 1312, 74), +(44, 1313, 76), +(44, 1314, 87), +(44, 1315, 74), +(44, 1316, 82), +(44, 1317, 67), +(44, 1318, 94), +(44, 1319, 96), +(44, 1320, 98), +(44, 1321, 79), +(44, 1322, 70), +(44, 1323, 82), +(44, 1324, 83), +(44, 1325, 84), +(44, 1326, 69), +(44, 1327, 84), +(44, 1328, 69), +(44, 1329, 69), +(44, 1330, 96), +(44, 1331, 87), +(44, 1332, 90), +(44, 1333, 90), +(44, 1334, 67), +(44, 1335, 81), +(44, 1336, 92), +(44, 1337, 80), +(44, 1338, 66), +(44, 1339, 83), +(44, 1340, 73), +(44, 1341, 76), +(44, 1342, 98), +(44, 1343, 77), +(44, 1344, 75), +(44, 1345, 94), +(44, 1346, 67), +(44, 1347, 91), +(44, 1348, 67), +(44, 1349, 96), +(44, 1350, 70), +(44, 1351, 70), +(44, 1352, 81), +(44, 1353, 73), +(44, 1354, 66), +(44, 1355, 87), +(44, 1356, 70), +(44, 1357, 82), +(44, 1358, 98), +(44, 1359, 66), +(44, 1360, 82), +(44, 1361, 84), +(44, 1362, 78), +(44, 1363, 68), +(44, 1364, 89), +(44, 1365, 72), +(44, 1366, 97), +(44, 1367, 84), +(44, 1368, 74), +(44, 1369, 66), +(44, 1370, 88), +(44, 1371, 97), +(44, 1372, 85), +(44, 1373, 95), +(44, 1374, 76), +(44, 1375, 91), +(44, 1376, 85), +(44, 1377, 86), +(44, 1378, 84), +(44, 1379, 82), +(44, 1380, 65), +(44, 1381, 73), +(44, 1382, 69), +(44, 1383, 89), +(44, 1384, 74), +(44, 1385, 77), +(44, 1386, 77), +(44, 1387, 98), +(44, 1388, 98), +(44, 1389, 80), +(44, 1390, 94), +(44, 1391, 70), +(44, 1392, 81), +(44, 1393, 95), +(44, 1394, 94), +(44, 1395, 67), +(44, 1396, 75), +(44, 1397, 93), +(44, 1398, 81), +(44, 1399, 75), +(44, 1400, 84), +(44, 1401, 95), +(44, 1402, 71), +(44, 1403, 96), +(44, 1404, 89), +(44, 1405, 75), +(44, 1406, 92), +(44, 1407, 71), +(44, 1408, 81), +(44, 1409, 99), +(44, 1410, 85), +(44, 1411, 79), +(44, 1412, 78), +(44, 1413, 91), +(44, 1414, 71), +(44, 1415, 74), +(44, 1416, 98), +(44, 1417, 69), +(44, 1418, 71), +(44, 1419, 72), +(44, 1420, 82), +(44, 1421, 67), +(44, 1422, 89), +(44, 1423, 99), +(44, 1424, 94), +(44, 1425, 97), +(44, 1426, 69), +(44, 1427, 92), +(44, 1428, 76), +(44, 1429, 87), +(44, 1430, 65), +(44, 1431, 79), +(44, 1432, 97), +(44, 1433, 67), +(44, 1434, 87), +(44, 1435, 79), +(44, 1436, 73), +(44, 1437, 83), +(44, 1438, 98), +(44, 1439, 90), +(44, 1440, 73), +(44, 1441, 69), +(44, 1442, 91), +(44, 1443, 82), +(44, 1444, 79), +(44, 1445, 67), +(44, 1446, 69), +(44, 1447, 69), +(44, 1448, 74), +(44, 1449, 94), +(44, 1450, 97), +(44, 1451, 87), +(44, 1452, 82), +(44, 1453, 75), +(44, 1454, 84), +(44, 1455, 70), +(44, 1456, 85), +(44, 1457, 99), +(44, 1458, 68), +(44, 1459, 74), +(44, 1460, 82), +(44, 1461, 83), +(44, 1462, 74), +(44, 1463, 92), +(44, 1464, 79), +(44, 1465, 70), +(44, 1466, 97), +(44, 1467, 95), +(44, 1468, 78), +(44, 1469, 77), +(44, 1470, 78), +(44, 1471, 92), +(44, 1472, 96), +(44, 1473, 98), +(44, 1474, 69), +(44, 1475, 98), +(44, 1476, 68), +(44, 1477, 79), +(44, 1478, 91), +(44, 1479, 77), +(44, 1480, 90), +(44, 1481, 97), +(44, 1482, 82), +(44, 1483, 80), +(44, 1484, 80), +(44, 1485, 86), +(44, 1486, 98), +(44, 1487, 75), +(44, 1488, 90), +(44, 1489, 71), +(44, 1490, 91), +(44, 1491, 92), +(44, 1492, 94), +(44, 1493, 83), +(44, 1494, 86), +(44, 1495, 90), +(44, 1496, 75), +(44, 1497, 75), +(44, 1498, 86), +(44, 1499, 66), +(44, 1500, 86), +(44, 1501, 68), +(44, 1502, 78), +(44, 1503, 77), +(44, 1504, 70), +(44, 1505, 83), +(44, 1506, 94), +(44, 1507, 97), +(44, 1508, 69), +(44, 1509, 89), +(44, 1510, 77), +(44, 1511, 90), +(44, 1512, 87), +(44, 1513, 67), +(44, 1514, 68), +(44, 1515, 68), +(44, 1516, 82), +(44, 1517, 87), +(44, 1518, 84), +(44, 1519, 98), +(44, 1520, 99), +(44, 1521, 94), +(44, 1522, 90), +(44, 1523, 68), +(44, 1524, 71), +(44, 1525, 93), +(44, 1526, 77), +(44, 1527, 91), +(44, 1528, 91), +(44, 1529, 79), +(44, 1530, 78), +(44, 1531, 77), +(44, 1532, 81), +(44, 1533, 81), +(44, 1534, 68), +(44, 1535, 95), +(44, 1536, 92), +(44, 1537, 74), +(44, 1538, 93), +(44, 1539, 98), +(44, 1540, 90), +(44, 1541, 85), +(44, 1542, 67), +(44, 1543, 84), +(44, 1544, 82), +(44, 1545, 73), +(44, 1546, 68), +(44, 1547, 75), +(44, 1548, 72), +(44, 1549, 72), +(44, 1550, 74), +(44, 1551, 87), +(44, 1552, 83), +(44, 1553, 91), +(44, 1554, 71), +(44, 1555, 89), +(44, 1556, 65), +(44, 1557, 96), +(44, 1558, 81), +(44, 1559, 84), +(44, 1560, 99), +(44, 1561, 87), +(44, 1562, 82), +(44, 1563, 66), +(44, 1564, 94), +(44, 1565, 68), +(44, 1566, 74), +(44, 1567, 80), +(44, 1568, 91), +(44, 1569, 82), +(44, 1570, 73), +(44, 1571, 66), +(44, 1572, 92), +(44, 1573, 86), +(44, 1574, 71), +(44, 1575, 84), +(44, 1576, 73), +(44, 1577, 76), +(44, 1578, 88), +(44, 1579, 77), +(44, 1580, 65), +(44, 1581, 90), +(44, 1582, 89), +(44, 1583, 85), +(44, 1584, 96), +(44, 1585, 84), +(44, 1586, 65), +(44, 1587, 66), +(44, 2047, 88), +(44, 2048, 89), +(44, 2049, 82), +(44, 2050, 83), +(44, 2051, 84), +(44, 2052, 91), +(44, 2053, 92), +(44, 2054, 95), +(44, 2055, 94), +(44, 2056, 97), +(44, 2057, 96), +(44, 2058, 89), +(44, 2059, 96), +(44, 2060, 73), +(44, 2061, 72), +(44, 2062, 99), +(44, 2063, 93), +(44, 2064, 80), +(44, 2065, 66), +(44, 2066, 81), +(44, 2067, 96), +(44, 2068, 87), +(44, 2069, 96), +(44, 2070, 80), +(44, 2071, 98), +(44, 2072, 92), +(44, 2073, 85), +(44, 2074, 93), +(44, 2075, 75), +(44, 2076, 88), +(44, 2077, 89), +(44, 2078, 99), +(44, 2079, 91), +(44, 2080, 69), +(44, 2081, 85), +(44, 2082, 79), +(44, 2083, 70), +(44, 2084, 67), +(44, 2085, 72), +(44, 2086, 71), +(44, 2087, 72), +(44, 2088, 78), +(44, 2089, 90), +(44, 2090, 69), +(44, 2091, 96), +(44, 2092, 83), +(44, 2093, 84), +(44, 2094, 74), +(44, 2095, 71), +(44, 2096, 74), +(44, 2097, 69), +(44, 2098, 88), +(44, 2099, 67), +(44, 2100, 85), +(44, 2101, 69), +(44, 2102, 95), +(44, 2103, 67), +(44, 2104, 84), +(44, 2105, 80), +(44, 2106, 66), +(44, 2107, 83), +(44, 2108, 69), +(44, 2109, 98), +(44, 2110, 77), +(44, 2111, 85), +(44, 2112, 67), +(44, 2113, 67), +(44, 2114, 68), +(44, 2115, 94), +(44, 2116, 72), +(44, 2117, 75), +(44, 2118, 96), +(44, 2119, 65), +(44, 2120, 81), +(44, 2121, 66), +(44, 2122, 99), +(44, 2123, 81), +(44, 2124, 90), +(44, 2125, 75), +(44, 2126, 74), +(44, 2127, 95), +(44, 2128, 98), +(44, 2129, 87), +(44, 2130, 95), +(44, 2131, 89), +(44, 2132, 66), +(44, 2133, 97), +(44, 2134, 96), +(44, 2135, 77), +(44, 2136, 65), +(44, 2137, 66), +(44, 2138, 74), +(44, 2139, 79), +(44, 2140, 65), +(44, 2141, 77), +(44, 2142, 90), +(44, 2143, 66), +(44, 2144, 97), +(44, 2145, 67), +(44, 2146, 75), +(44, 2147, 75), +(44, 2148, 84), +(44, 2149, 95), +(44, 2150, 76), +(44, 2151, 99), +(44, 2152, 97), +(44, 2153, 74), +(44, 2154, 85), +(44, 2155, 74), +(44, 2156, 78), +(44, 2157, 86), +(44, 2158, 86), +(44, 2159, 73), +(44, 2160, 65), +(44, 2161, 76), +(44, 2162, 74), +(44, 2163, 77), +(44, 2164, 67), +(44, 2165, 78), +(44, 2166, 70), +(44, 2167, 81), +(44, 2168, 88), +(44, 2169, 98), +(44, 2170, 95), +(44, 2171, 86), +(44, 2172, 85), +(44, 2173, 88), +(44, 2174, 73), +(44, 2175, 69), +(44, 2176, 70), +(44, 2177, 87), +(44, 2178, 90), +(44, 2179, 72), +(44, 2180, 66), +(44, 2181, 76), +(44, 2182, 79), +(44, 2183, 79), +(44, 2184, 66), +(44, 2185, 86), +(44, 2186, 80), +(44, 2187, 94), +(44, 2188, 77), +(44, 2189, 81), +(44, 2190, 84), +(44, 2191, 70), +(44, 2192, 77), +(44, 2193, 88), +(44, 2194, 99), +(44, 2195, 95), +(44, 2196, 86), +(44, 2197, 86), +(44, 2198, 87), +(44, 2199, 70), +(44, 2200, 73), +(44, 2201, 95), +(44, 2202, 65), +(44, 2203, 72), +(44, 2204, 94), +(44, 2205, 90), +(44, 2206, 71), +(44, 2207, 70), +(44, 2208, 91), +(44, 2209, 74), +(44, 2210, 84), +(44, 2211, 85), +(44, 2212, 68), +(44, 2213, 85), +(44, 2214, 81), +(44, 2215, 93), +(44, 2216, 67), +(44, 2217, 97), +(44, 2218, 99), +(44, 2219, 95), +(44, 2220, 86), +(44, 2221, 96), +(44, 2222, 76), +(44, 2223, 71), +(44, 2224, 89), +(44, 2225, 88), +(44, 2226, 95), +(44, 2227, 95), +(44, 2228, 99), +(44, 2229, 98), +(44, 2230, 73), +(44, 2231, 85), +(44, 2232, 80), +(44, 2233, 79), +(44, 2234, 96), +(44, 2235, 65), +(44, 2236, 81), +(44, 2237, 84), +(44, 2238, 91), +(44, 2239, 77), +(44, 2240, 78), +(44, 2241, 79), +(44, 2242, 83), +(44, 2243, 68), +(44, 2244, 74), +(44, 2245, 68), +(44, 2246, 84), +(44, 2247, 91), +(44, 2248, 87), +(44, 2249, 65), +(44, 2250, 80), +(44, 2251, 91), +(44, 2252, 99), +(44, 2253, 99), +(44, 2254, 90), +(44, 2255, 81), +(44, 2256, 92), +(44, 2257, 95), +(44, 2258, 76), +(44, 2259, 87), +(44, 2260, 79), +(44, 2261, 96), +(44, 2262, 92), +(44, 2263, 96), +(44, 2264, 87), +(44, 2265, 70), +(44, 2266, 84), +(44, 2267, 80), +(44, 2268, 83), +(44, 2269, 65), +(44, 2270, 67), +(44, 2271, 73), +(44, 2272, 93), +(44, 2273, 88), +(44, 2274, 94), +(44, 2275, 92), +(44, 2276, 83), +(44, 2277, 98), +(44, 2278, 75), +(44, 2279, 77), +(44, 2280, 90), +(44, 2281, 77), +(44, 2282, 73), +(44, 2283, 98), +(44, 2284, 99), +(44, 2285, 67), +(44, 2286, 82), +(44, 2287, 99), +(44, 2288, 73), +(44, 2289, 79), +(44, 2290, 84), +(44, 2291, 81), +(44, 2292, 66), +(44, 2293, 79), +(44, 2294, 79), +(44, 2295, 92), +(44, 2296, 84), +(44, 2297, 89), +(44, 2298, 95), +(44, 2299, 97), +(44, 2300, 87), +(44, 2301, 65), +(44, 2302, 65), +(44, 2303, 92), +(44, 2304, 85), +(44, 2305, 83), +(44, 2306, 96), +(44, 2307, 65), +(44, 2308, 94), +(44, 2309, 86), +(44, 2310, 98), +(44, 2311, 81), +(44, 2312, 97), +(44, 2313, 94), +(44, 2314, 94), +(44, 2315, 98), +(44, 2316, 79), +(44, 2317, 78), +(44, 2318, 86), +(44, 2319, 87), +(44, 2320, 76), +(44, 2321, 93), +(44, 2322, 84), +(44, 2323, 95), +(44, 2324, 85), +(44, 2325, 85), +(44, 2326, 68), +(44, 2327, 71), +(44, 2328, 86), +(44, 2329, 97), +(44, 2330, 98), +(44, 2331, 98), +(44, 2332, 91), +(44, 2333, 66), +(44, 2334, 80), +(44, 2335, 74), +(44, 2336, 81), +(44, 2337, 95), +(44, 2338, 83), +(44, 2339, 68), +(44, 2340, 85), +(44, 2341, 78), +(44, 2342, 71), +(44, 2343, 74), +(44, 2344, 81), +(44, 2345, 79), +(44, 2346, 93), +(44, 2347, 73), +(44, 2348, 73), +(44, 2349, 65), +(44, 2350, 85), +(44, 2351, 75), +(44, 2352, 67), +(44, 2353, 74), +(44, 2354, 73), +(44, 2355, 86), +(44, 2356, 87), +(44, 2357, 90), +(44, 2358, 82), +(44, 2359, 74), +(44, 2360, 87), +(44, 2361, 81), +(44, 2362, 69), +(44, 2363, 72), +(44, 2364, 79), +(44, 2365, 90), +(44, 2366, 80), +(44, 2367, 78), +(44, 2368, 87), +(44, 2369, 98), +(44, 2370, 90), +(44, 2371, 81), +(44, 2372, 87), +(44, 2373, 87), +(44, 2374, 98), +(44, 2375, 80), +(44, 2376, 92), +(44, 2377, 66), +(44, 2378, 85), +(44, 2379, 81), +(44, 2380, 95), +(44, 2381, 71), +(44, 2382, 77), +(44, 2383, 83), +(44, 2384, 87), +(44, 2385, 66), +(44, 2386, 94), +(44, 2387, 82), +(44, 2388, 90), +(44, 2389, 97), +(44, 2390, 81), +(44, 2391, 77), +(44, 2392, 81), +(44, 2393, 92), +(44, 2394, 85), +(44, 2395, 91), +(44, 2396, 69), +(44, 2397, 66), +(44, 2398, 96), +(44, 2399, 86), +(44, 2400, 80), +(44, 2401, 89), +(44, 2402, 98), +(44, 2403, 76), +(44, 2404, 96), +(44, 2405, 67), +(44, 2406, 91), +(44, 2407, 98), +(44, 2408, 96), +(44, 2409, 88), +(44, 2410, 68), +(44, 2411, 92), +(44, 2412, 82), +(44, 2413, 92), +(44, 2414, 66), +(44, 2415, 66), +(44, 2416, 97), +(44, 2417, 73), +(44, 2418, 71), +(44, 2419, 83), +(44, 2420, 69), +(44, 2421, 85), +(44, 2422, 81), +(44, 2423, 91), +(44, 2424, 66), +(44, 2425, 93), +(44, 2426, 93), +(44, 2427, 94), +(44, 2428, 82), +(44, 2429, 68), +(44, 2430, 91), +(44, 2431, 68), +(44, 2432, 85), +(44, 2433, 95), +(44, 2434, 87), +(44, 2435, 90), +(44, 2436, 69), +(44, 2437, 92), +(44, 2438, 96), +(44, 2439, 95), +(44, 2440, 82), +(44, 2441, 93), +(44, 2442, 91), +(44, 2443, 83), +(44, 2444, 99), +(44, 2445, 86), +(44, 2446, 86), +(44, 2447, 79), +(44, 2448, 72), +(44, 2449, 88), +(44, 2450, 76), +(44, 2451, 79), +(44, 2452, 98), +(44, 2453, 70), +(44, 2454, 94), +(44, 2455, 83), +(44, 2456, 92), +(44, 2457, 77), +(44, 2458, 98), +(44, 2459, 92), +(44, 2460, 78), +(44, 2461, 66), +(44, 2462, 88), +(44, 2463, 70), +(44, 2464, 67), +(44, 2465, 82), +(44, 2466, 68), +(44, 2467, 76), +(44, 2468, 83), +(44, 2469, 84), +(44, 2470, 90), +(44, 2471, 65), +(44, 2472, 76), +(44, 2473, 70), +(44, 2474, 85), +(44, 2475, 87), +(44, 2476, 76), +(44, 2477, 99), +(44, 2478, 93), +(44, 2479, 88), +(44, 2480, 80), +(44, 2481, 99), +(44, 2482, 68), +(44, 2483, 72), +(44, 2484, 88), +(44, 2485, 71), +(44, 2486, 68), +(44, 2487, 78), +(44, 2488, 80), +(44, 2489, 77), +(44, 2490, 93), +(44, 2491, 80), +(44, 2492, 76), +(44, 2493, 98), +(44, 2494, 66), +(44, 2495, 73), +(44, 2496, 69), +(44, 2497, 72), +(44, 2498, 92), +(44, 2499, 71), +(44, 2500, 83), +(44, 2501, 68), +(44, 2502, 69), +(44, 2503, 98), +(44, 2504, 80), +(44, 2505, 75), +(44, 2506, 87), +(44, 2507, 88), +(44, 2508, 80), +(44, 2509, 80), +(44, 2510, 69), +(44, 2511, 95), +(44, 2512, 85), +(44, 2513, 80), +(44, 2514, 65), +(44, 2515, 75), +(44, 2516, 93), +(44, 2517, 81), +(44, 2518, 74), +(44, 2519, 69), +(44, 2520, 74), +(44, 2521, 99), +(44, 2522, 93), +(44, 2523, 97), +(44, 2524, 99), +(44, 2525, 87), +(44, 2526, 91), +(44, 2527, 71), +(44, 2528, 87), +(44, 2529, 79), +(44, 2530, 85), +(44, 2531, 78), +(44, 2532, 91), +(44, 2533, 77), +(44, 2534, 66), +(44, 2535, 86), +(44, 2536, 79), +(44, 2537, 95), +(44, 2538, 88), +(44, 2539, 71), +(44, 2540, 87), +(44, 2541, 81), +(44, 2542, 67), +(44, 2543, 68), +(44, 2544, 87), +(44, 2545, 94), +(44, 2546, 98), +(44, 2547, 97), +(44, 2548, 78), +(44, 2549, 67), +(44, 2550, 77), +(44, 2551, 83), +(44, 2552, 78), +(44, 2553, 65), +(44, 2554, 86), +(44, 2555, 85), +(44, 2556, 72), +(44, 2557, 69), +(44, 2558, 68), +(44, 2559, 94), +(44, 2560, 99), +(44, 2561, 65), +(44, 2562, 91), +(44, 2563, 77), +(44, 2564, 81), +(44, 2565, 85), +(44, 2566, 80), +(44, 2567, 96), +(44, 2568, 88), +(44, 2569, 88), +(44, 2570, 92), +(44, 2571, 68), +(44, 2572, 88), +(44, 2573, 69), +(44, 2574, 72), +(44, 2575, 72), +(44, 2576, 85), +(44, 2577, 84), +(44, 2578, 77), +(44, 2579, 76), +(44, 2580, 96), +(44, 2581, 96), +(44, 2582, 83), +(44, 2583, 82), +(44, 2584, 96), +(44, 2585, 80), +(44, 2586, 66), +(44, 2587, 67), +(44, 2588, 83), +(44, 2589, 93), +(44, 2590, 80), +(44, 2591, 86), +(44, 2592, 71), +(44, 2593, 98), +(44, 2594, 80), +(44, 2595, 69), +(44, 2596, 95), +(44, 2597, 70), +(44, 2598, 86), +(44, 2599, 95), +(44, 2600, 82), +(44, 2601, 68), +(44, 2602, 78), +(44, 2603, 66), +(44, 2604, 66), +(44, 2605, 96), +(44, 2606, 78), +(44, 2607, 83), +(44, 2608, 97), +(44, 2609, 92), +(44, 2610, 79), +(45, 1, 84), +(45, 2, 80), +(45, 3, 79), +(45, 4, 79), +(45, 5, 79), +(45, 6, 82), +(45, 7, 67), +(45, 8, 87), +(45, 9, 93), +(45, 10, 71), +(45, 11, 91), +(45, 12, 94), +(45, 13, 79), +(45, 14, 93), +(45, 15, 74), +(45, 16, 80), +(45, 17, 77), +(45, 18, 69), +(45, 19, 84), +(45, 20, 73), +(45, 21, 70), +(45, 22, 83), +(45, 23, 91), +(45, 24, 76), +(45, 25, 97), +(45, 26, 73), +(45, 27, 99), +(45, 28, 89), +(45, 29, 75), +(45, 30, 83), +(45, 31, 94), +(45, 32, 94), +(45, 33, 94), +(45, 34, 97), +(45, 35, 78), +(45, 36, 68), +(45, 37, 89), +(45, 38, 88), +(45, 39, 91), +(45, 40, 98), +(45, 41, 65), +(45, 42, 69), +(45, 43, 73), +(45, 44, 75), +(45, 45, 88), +(45, 46, 94), +(45, 47, 76), +(45, 48, 73), +(45, 49, 93), +(45, 50, 81), +(45, 51, 70), +(45, 52, 81), +(45, 53, 93), +(45, 54, 65), +(45, 55, 94), +(45, 56, 98), +(45, 57, 90), +(45, 58, 95), +(45, 59, 90), +(45, 60, 82), +(45, 61, 96), +(45, 62, 76), +(45, 63, 87), +(45, 64, 78), +(45, 65, 66), +(45, 66, 77), +(45, 67, 91), +(45, 68, 67), +(45, 69, 96), +(45, 70, 78), +(45, 71, 95), +(45, 72, 78), +(45, 73, 85), +(45, 74, 68), +(45, 75, 66), +(45, 76, 90), +(45, 77, 90), +(45, 78, 70), +(45, 79, 72), +(45, 80, 75), +(45, 81, 88), +(45, 82, 68), +(45, 83, 75), +(45, 84, 82), +(45, 85, 94); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(45, 86, 97), +(45, 87, 87), +(45, 88, 85), +(45, 89, 76), +(45, 90, 97), +(45, 91, 90), +(45, 92, 99), +(45, 93, 84), +(45, 94, 92), +(45, 95, 93), +(45, 96, 75), +(45, 97, 77), +(45, 98, 89), +(45, 99, 92), +(45, 100, 77), +(45, 101, 80), +(45, 102, 65), +(45, 103, 86), +(45, 104, 94), +(45, 105, 71), +(45, 106, 78), +(45, 107, 67), +(45, 108, 68), +(45, 109, 78), +(45, 110, 69), +(45, 111, 80), +(45, 112, 89), +(45, 113, 99), +(45, 114, 72), +(45, 115, 97), +(45, 116, 97), +(45, 117, 85), +(45, 118, 86), +(45, 119, 80), +(45, 120, 98), +(45, 121, 93), +(45, 122, 79), +(45, 123, 91), +(45, 124, 75), +(45, 125, 99), +(45, 126, 85), +(45, 127, 66), +(45, 128, 66), +(45, 129, 97), +(45, 130, 74), +(45, 131, 76), +(45, 132, 95), +(45, 133, 68), +(45, 134, 93), +(45, 135, 85), +(45, 136, 97), +(45, 137, 79), +(45, 138, 84), +(45, 139, 75), +(45, 140, 68), +(45, 141, 78), +(45, 142, 67), +(45, 143, 80), +(45, 144, 65), +(45, 145, 72), +(45, 146, 86), +(45, 147, 67), +(45, 148, 96), +(45, 149, 82), +(45, 150, 98), +(45, 151, 98), +(45, 152, 97), +(45, 153, 92), +(45, 154, 96), +(45, 155, 95), +(45, 156, 76), +(45, 157, 92), +(45, 158, 68), +(45, 159, 78), +(45, 160, 97), +(45, 161, 84), +(45, 162, 81), +(45, 163, 98), +(45, 164, 79), +(45, 165, 83), +(45, 166, 84), +(45, 167, 71), +(45, 168, 90), +(45, 169, 88), +(45, 170, 91), +(45, 171, 88), +(45, 172, 82), +(45, 173, 71), +(45, 174, 66), +(45, 175, 84), +(45, 176, 81), +(45, 177, 77), +(45, 178, 67), +(45, 179, 82), +(45, 180, 92), +(45, 181, 68), +(45, 182, 91), +(45, 183, 67), +(45, 184, 95), +(45, 185, 69), +(45, 186, 85), +(45, 187, 75), +(45, 188, 89), +(45, 189, 89), +(45, 190, 77), +(45, 191, 65), +(45, 192, 95), +(45, 193, 85), +(45, 194, 83), +(45, 195, 76), +(45, 196, 66), +(45, 197, 69), +(45, 198, 73), +(45, 199, 94), +(45, 200, 92), +(45, 201, 70), +(45, 202, 99), +(45, 203, 76), +(45, 204, 73), +(45, 205, 84), +(45, 206, 78), +(45, 207, 99), +(45, 208, 75), +(45, 209, 90), +(45, 210, 99), +(45, 211, 76), +(45, 212, 86), +(45, 213, 83), +(45, 214, 66), +(45, 215, 99), +(45, 216, 93), +(45, 217, 94), +(45, 218, 72), +(45, 219, 89), +(45, 220, 74), +(45, 221, 91), +(45, 222, 85), +(45, 223, 88), +(45, 224, 86), +(45, 225, 90), +(45, 226, 87), +(45, 227, 90), +(45, 228, 77), +(45, 229, 91), +(45, 230, 95), +(45, 231, 93), +(45, 232, 85), +(45, 233, 77), +(45, 234, 87), +(45, 235, 99), +(45, 236, 67), +(45, 237, 74), +(45, 238, 71), +(45, 239, 71), +(45, 240, 90), +(45, 241, 69), +(45, 242, 70), +(45, 243, 66), +(45, 244, 89), +(45, 245, 71), +(45, 246, 88), +(45, 247, 77), +(45, 248, 88), +(45, 249, 89), +(45, 250, 67), +(45, 251, 73), +(45, 252, 92), +(45, 253, 80), +(45, 254, 70), +(45, 255, 79), +(45, 256, 66), +(45, 257, 83), +(45, 258, 69), +(45, 259, 95), +(45, 260, 83), +(45, 261, 75), +(45, 262, 94), +(45, 263, 71), +(45, 264, 83), +(45, 265, 98), +(45, 266, 84), +(45, 267, 80), +(45, 268, 98), +(45, 269, 70), +(45, 270, 92), +(45, 271, 67), +(45, 272, 82), +(45, 273, 70), +(45, 274, 92), +(45, 275, 72), +(45, 276, 74), +(45, 277, 71), +(45, 278, 65), +(45, 279, 92), +(45, 280, 99), +(45, 281, 91), +(45, 282, 71), +(45, 283, 80), +(45, 284, 89), +(45, 285, 76), +(45, 286, 90), +(45, 287, 95), +(45, 288, 87), +(45, 289, 65), +(45, 290, 68), +(45, 291, 90), +(45, 292, 99), +(45, 293, 94), +(45, 294, 74), +(45, 295, 90), +(45, 296, 73), +(45, 297, 95), +(45, 298, 66), +(45, 299, 95), +(45, 300, 84), +(45, 301, 88), +(45, 302, 70), +(45, 303, 96), +(45, 304, 90), +(45, 305, 81), +(45, 306, 74), +(45, 307, 97), +(45, 308, 74), +(45, 309, 76), +(45, 310, 68), +(45, 311, 72), +(45, 312, 98), +(45, 313, 89), +(45, 314, 85), +(45, 315, 96), +(45, 316, 81), +(45, 317, 81), +(45, 318, 68), +(45, 319, 66), +(45, 320, 98), +(45, 321, 65), +(45, 322, 89), +(45, 323, 85), +(45, 324, 92), +(45, 325, 95), +(45, 326, 91), +(45, 327, 93), +(45, 328, 70), +(45, 329, 71), +(45, 330, 99), +(45, 331, 87), +(45, 332, 99), +(45, 333, 69), +(45, 334, 92), +(45, 335, 80), +(45, 336, 72), +(45, 337, 88), +(45, 338, 81), +(45, 339, 67), +(45, 340, 91), +(45, 341, 76), +(45, 342, 92), +(45, 343, 99), +(45, 344, 73), +(45, 345, 66), +(45, 346, 66), +(45, 347, 98), +(45, 348, 71), +(45, 349, 95), +(45, 350, 69), +(45, 351, 77), +(45, 352, 77), +(45, 353, 80), +(45, 354, 70), +(45, 355, 73), +(45, 356, 77), +(45, 357, 65), +(45, 358, 91), +(45, 359, 71), +(45, 360, 93), +(45, 361, 93), +(45, 362, 97), +(45, 363, 89), +(45, 364, 72), +(45, 365, 74), +(45, 366, 86), +(45, 367, 91), +(45, 368, 65), +(45, 369, 87), +(45, 370, 83), +(45, 371, 88), +(45, 372, 81), +(45, 373, 73), +(45, 374, 90), +(45, 375, 70), +(45, 376, 66), +(45, 377, 73), +(45, 378, 95), +(45, 379, 68), +(45, 380, 96), +(45, 381, 71), +(45, 382, 91), +(45, 383, 97), +(45, 384, 98), +(45, 385, 68), +(45, 386, 87), +(45, 387, 85), +(45, 388, 91), +(45, 389, 75), +(45, 390, 79), +(45, 391, 90), +(45, 392, 78), +(45, 393, 92), +(45, 394, 66), +(45, 395, 81), +(45, 396, 74), +(45, 397, 73), +(45, 398, 87), +(45, 399, 86), +(45, 400, 90), +(45, 401, 92), +(45, 402, 70), +(45, 403, 87), +(45, 404, 92), +(45, 405, 79), +(45, 406, 86), +(45, 407, 91), +(45, 408, 90), +(45, 409, 69), +(45, 410, 86), +(45, 411, 74), +(45, 412, 99), +(45, 413, 95), +(45, 414, 92), +(45, 415, 95), +(45, 416, 89), +(45, 417, 90), +(45, 418, 95), +(45, 419, 85), +(45, 420, 92), +(45, 421, 71), +(45, 422, 97), +(45, 423, 78), +(45, 424, 73), +(45, 425, 69), +(45, 426, 86), +(45, 427, 90), +(45, 428, 91), +(45, 429, 95), +(45, 430, 76), +(45, 431, 84), +(45, 432, 70), +(45, 433, 87), +(45, 434, 86), +(45, 435, 68), +(45, 436, 73), +(45, 437, 99), +(45, 438, 70), +(45, 439, 76), +(45, 440, 67), +(45, 441, 88), +(45, 442, 73), +(45, 443, 74), +(45, 444, 88), +(45, 445, 68), +(45, 446, 88), +(45, 447, 82), +(45, 448, 78), +(45, 449, 71), +(45, 450, 88), +(45, 451, 92), +(45, 452, 76), +(45, 453, 89), +(45, 454, 81), +(45, 455, 71), +(45, 456, 77), +(45, 457, 80), +(45, 458, 96), +(45, 459, 88), +(45, 460, 80), +(45, 461, 66), +(45, 462, 84), +(45, 463, 94), +(45, 464, 74), +(45, 465, 75), +(45, 466, 69), +(45, 467, 99), +(45, 468, 89), +(45, 469, 88), +(45, 470, 96), +(45, 471, 84), +(45, 472, 87), +(45, 473, 82), +(45, 474, 85), +(45, 475, 96), +(45, 476, 95), +(45, 477, 76), +(45, 478, 72), +(45, 479, 86), +(45, 480, 71), +(45, 481, 74), +(45, 482, 73), +(45, 483, 84), +(45, 484, 75), +(45, 485, 75), +(45, 486, 87), +(45, 487, 88), +(45, 488, 81), +(45, 489, 86), +(45, 490, 80), +(45, 491, 71), +(45, 492, 72), +(45, 493, 89), +(45, 494, 82), +(45, 495, 80), +(45, 496, 81), +(45, 497, 91), +(45, 498, 95), +(45, 499, 93), +(45, 500, 84), +(45, 501, 78), +(45, 502, 77), +(45, 503, 87), +(45, 504, 88), +(45, 505, 95), +(45, 506, 69), +(45, 507, 83), +(45, 508, 70), +(45, 509, 84), +(45, 510, 78), +(45, 511, 88), +(45, 512, 74), +(45, 513, 94), +(45, 514, 96), +(45, 515, 65), +(45, 516, 70), +(45, 517, 89), +(45, 518, 73), +(45, 519, 73), +(45, 520, 74), +(45, 521, 71), +(45, 522, 72), +(45, 523, 69), +(45, 524, 97), +(45, 525, 80), +(45, 526, 93), +(45, 527, 79), +(45, 528, 92), +(45, 529, 91), +(45, 530, 85), +(45, 531, 84), +(45, 532, 87), +(45, 533, 83), +(45, 534, 88), +(45, 535, 96), +(45, 536, 93), +(45, 537, 85), +(45, 538, 92), +(45, 539, 96), +(45, 540, 72), +(45, 541, 65), +(45, 542, 78), +(45, 543, 85), +(45, 544, 84), +(45, 545, 94), +(45, 546, 66), +(45, 547, 71), +(45, 548, 75), +(45, 549, 70), +(45, 550, 93), +(45, 551, 87), +(45, 552, 72), +(45, 553, 96), +(45, 554, 88), +(45, 555, 72), +(45, 556, 68), +(45, 557, 79), +(45, 558, 67), +(45, 559, 88), +(45, 560, 65), +(45, 561, 88), +(45, 562, 73), +(45, 563, 89), +(45, 564, 73), +(45, 1024, 93), +(45, 1025, 70), +(45, 1026, 89), +(45, 1027, 97), +(45, 1028, 67), +(45, 1029, 67), +(45, 1030, 98), +(45, 1031, 77), +(45, 1032, 93), +(45, 1033, 78), +(45, 1034, 95), +(45, 1035, 79), +(45, 1036, 97), +(45, 1037, 85), +(45, 1038, 74), +(45, 1039, 93), +(45, 1040, 99), +(45, 1041, 75), +(45, 1042, 96), +(45, 1043, 82), +(45, 1044, 77), +(45, 1045, 75), +(45, 1046, 97), +(45, 1047, 75), +(45, 1048, 65), +(45, 1049, 82), +(45, 1050, 86), +(45, 1051, 67), +(45, 1052, 66), +(45, 1053, 91), +(45, 1054, 93), +(45, 1055, 69), +(45, 1056, 65), +(45, 1057, 82), +(45, 1058, 83), +(45, 1059, 74), +(45, 1060, 75), +(45, 1061, 87), +(45, 1062, 75), +(45, 1063, 75), +(45, 1064, 72), +(45, 1065, 89), +(45, 1066, 68), +(45, 1067, 85), +(45, 1068, 76), +(45, 1069, 98), +(45, 1070, 73), +(45, 1071, 71), +(45, 1072, 95), +(45, 1073, 89), +(45, 1074, 69), +(45, 1075, 75), +(45, 1076, 93), +(45, 1077, 71), +(45, 1078, 95), +(45, 1079, 94), +(45, 1080, 73), +(45, 1081, 70), +(45, 1082, 95), +(45, 1083, 80), +(45, 1084, 89), +(45, 1085, 69), +(45, 1086, 85), +(45, 1087, 71), +(45, 1088, 80), +(45, 1089, 75), +(45, 1090, 87), +(45, 1091, 91), +(45, 1092, 71), +(45, 1093, 87), +(45, 1094, 74), +(45, 1095, 67), +(45, 1096, 94), +(45, 1097, 90), +(45, 1098, 78), +(45, 1099, 99), +(45, 1100, 72), +(45, 1101, 71), +(45, 1102, 81), +(45, 1103, 87), +(45, 1104, 79), +(45, 1105, 86), +(45, 1106, 77), +(45, 1107, 92), +(45, 1108, 92), +(45, 1109, 98), +(45, 1110, 75), +(45, 1111, 83), +(45, 1112, 68), +(45, 1113, 66), +(45, 1114, 72), +(45, 1115, 67), +(45, 1116, 88), +(45, 1117, 89), +(45, 1118, 77), +(45, 1119, 75), +(45, 1120, 86), +(45, 1121, 96), +(45, 1122, 80), +(45, 1123, 74), +(45, 1124, 93), +(45, 1125, 69), +(45, 1126, 90), +(45, 1127, 99), +(45, 1128, 77), +(45, 1129, 77), +(45, 1130, 91), +(45, 1131, 86), +(45, 1132, 83), +(45, 1133, 66), +(45, 1134, 71), +(45, 1135, 94), +(45, 1136, 83), +(45, 1137, 88), +(45, 1138, 82), +(45, 1139, 80), +(45, 1140, 85), +(45, 1141, 75), +(45, 1142, 81), +(45, 1143, 80), +(45, 1144, 80), +(45, 1145, 91), +(45, 1146, 82), +(45, 1147, 79), +(45, 1148, 74), +(45, 1149, 84), +(45, 1150, 79), +(45, 1151, 95), +(45, 1152, 84), +(45, 1153, 73), +(45, 1154, 71), +(45, 1155, 68), +(45, 1156, 65), +(45, 1157, 97), +(45, 1158, 70), +(45, 1159, 91), +(45, 1160, 80), +(45, 1161, 86), +(45, 1162, 75), +(45, 1163, 96), +(45, 1164, 75), +(45, 1165, 97), +(45, 1166, 84), +(45, 1167, 70), +(45, 1168, 70), +(45, 1169, 78), +(45, 1170, 72), +(45, 1171, 76), +(45, 1172, 84), +(45, 1173, 86), +(45, 1174, 73), +(45, 1175, 83), +(45, 1176, 76), +(45, 1177, 79), +(45, 1178, 72), +(45, 1179, 77), +(45, 1180, 93), +(45, 1181, 84), +(45, 1182, 93), +(45, 1183, 69), +(45, 1184, 67), +(45, 1185, 83), +(45, 1186, 82), +(45, 1187, 79), +(45, 1188, 84), +(45, 1189, 91), +(45, 1190, 74), +(45, 1191, 90), +(45, 1192, 74), +(45, 1193, 84), +(45, 1194, 66), +(45, 1195, 85), +(45, 1196, 76), +(45, 1197, 88), +(45, 1198, 96), +(45, 1199, 65), +(45, 1200, 87), +(45, 1201, 96), +(45, 1202, 69), +(45, 1203, 81), +(45, 1204, 67), +(45, 1205, 80), +(45, 1206, 85), +(45, 1207, 83), +(45, 1208, 74), +(45, 1209, 91), +(45, 1210, 94), +(45, 1211, 67), +(45, 1212, 78), +(45, 1213, 78), +(45, 1214, 85), +(45, 1215, 95), +(45, 1216, 90), +(45, 1217, 80), +(45, 1218, 65), +(45, 1219, 83), +(45, 1220, 73), +(45, 1221, 98), +(45, 1222, 87), +(45, 1223, 80), +(45, 1224, 80), +(45, 1225, 79), +(45, 1226, 94), +(45, 1227, 73), +(45, 1228, 99), +(45, 1229, 82), +(45, 1230, 95), +(45, 1231, 91), +(45, 1232, 92), +(45, 1233, 90), +(45, 1234, 78), +(45, 1235, 94), +(45, 1236, 81), +(45, 1237, 65), +(45, 1238, 96), +(45, 1239, 95), +(45, 1240, 89), +(45, 1241, 76), +(45, 1242, 97), +(45, 1243, 89), +(45, 1244, 73), +(45, 1245, 77), +(45, 1246, 65), +(45, 1247, 88), +(45, 1248, 91), +(45, 1249, 74), +(45, 1250, 65), +(45, 1251, 95), +(45, 1252, 81), +(45, 1253, 98), +(45, 1254, 91), +(45, 1255, 78), +(45, 1256, 77), +(45, 1257, 74), +(45, 1258, 95), +(45, 1259, 81), +(45, 1260, 79), +(45, 1261, 78), +(45, 1262, 73), +(45, 1263, 95), +(45, 1264, 78), +(45, 1265, 73), +(45, 1266, 82), +(45, 1267, 92), +(45, 1268, 65), +(45, 1269, 70), +(45, 1270, 67), +(45, 1271, 99), +(45, 1272, 72), +(45, 1273, 72), +(45, 1274, 87), +(45, 1275, 69), +(45, 1276, 73), +(45, 1277, 93), +(45, 1278, 69), +(45, 1279, 88), +(45, 1280, 80), +(45, 1281, 83), +(45, 1282, 84), +(45, 1283, 73), +(45, 1284, 72), +(45, 1285, 75), +(45, 1286, 87), +(45, 1287, 67), +(45, 1288, 87), +(45, 1289, 92), +(45, 1290, 69), +(45, 1291, 82), +(45, 1292, 88), +(45, 1293, 93), +(45, 1294, 80), +(45, 1295, 69), +(45, 1296, 91), +(45, 1297, 86), +(45, 1298, 69), +(45, 1299, 94), +(45, 1300, 92), +(45, 1301, 82), +(45, 1302, 94), +(45, 1303, 70), +(45, 1304, 90), +(45, 1305, 89), +(45, 1306, 69), +(45, 1307, 79), +(45, 1308, 90), +(45, 1309, 75), +(45, 1310, 88), +(45, 1311, 78), +(45, 1312, 76), +(45, 1313, 90), +(45, 1314, 65), +(45, 1315, 77), +(45, 1316, 82), +(45, 1317, 79), +(45, 1318, 86), +(45, 1319, 70), +(45, 1320, 94), +(45, 1321, 86), +(45, 1322, 78), +(45, 1323, 96), +(45, 1324, 72), +(45, 1325, 92), +(45, 1326, 73), +(45, 1327, 92), +(45, 1328, 65), +(45, 1329, 86), +(45, 1330, 72), +(45, 1331, 99), +(45, 1332, 66), +(45, 1333, 65), +(45, 1334, 74), +(45, 1335, 65), +(45, 1336, 91), +(45, 1337, 83), +(45, 1338, 73), +(45, 1339, 76), +(45, 1340, 84), +(45, 1341, 65), +(45, 1342, 98), +(45, 1343, 80), +(45, 1344, 78), +(45, 1345, 73), +(45, 1346, 80), +(45, 1347, 81), +(45, 1348, 71), +(45, 1349, 79), +(45, 1350, 76), +(45, 1351, 79), +(45, 1352, 71), +(45, 1353, 85), +(45, 1354, 85), +(45, 1355, 73), +(45, 1356, 94), +(45, 1357, 75), +(45, 1358, 97), +(45, 1359, 85), +(45, 1360, 72), +(45, 1361, 78), +(45, 1362, 96), +(45, 1363, 71), +(45, 1364, 69), +(45, 1365, 69), +(45, 1366, 87), +(45, 1367, 67), +(45, 1368, 74), +(45, 1369, 69), +(45, 1370, 73), +(45, 1371, 89), +(45, 1372, 67), +(45, 1373, 81), +(45, 1374, 72), +(45, 1375, 87), +(45, 1376, 68), +(45, 1377, 89), +(45, 1378, 67), +(45, 1379, 97), +(45, 1380, 69), +(45, 1381, 79), +(45, 1382, 83), +(45, 1383, 81), +(45, 1384, 70), +(45, 1385, 96), +(45, 1386, 71), +(45, 1387, 88), +(45, 1388, 69), +(45, 1389, 95), +(45, 1390, 65), +(45, 1391, 98), +(45, 1392, 96), +(45, 1393, 66), +(45, 1394, 92), +(45, 1395, 92), +(45, 1396, 96), +(45, 1397, 77), +(45, 1398, 72), +(45, 1399, 79), +(45, 1400, 68), +(45, 1401, 69), +(45, 1402, 67), +(45, 1403, 80), +(45, 1404, 87), +(45, 1405, 74), +(45, 1406, 71), +(45, 1407, 85), +(45, 1408, 93), +(45, 1409, 79), +(45, 1410, 81), +(45, 1411, 89), +(45, 1412, 99), +(45, 1413, 66), +(45, 1414, 70), +(45, 1415, 76), +(45, 1416, 89), +(45, 1417, 70), +(45, 1418, 96), +(45, 1419, 82), +(45, 1420, 86), +(45, 1421, 87), +(45, 1422, 92), +(45, 1423, 75), +(45, 1424, 70), +(45, 1425, 65), +(45, 1426, 91), +(45, 1427, 74), +(45, 1428, 93), +(45, 1429, 96), +(45, 1430, 89), +(45, 1431, 94), +(45, 1432, 98), +(45, 1433, 68), +(45, 1434, 70), +(45, 1435, 86), +(45, 1436, 78), +(45, 1437, 96), +(45, 1438, 69), +(45, 1439, 95), +(45, 1440, 91), +(45, 1441, 72), +(45, 1442, 93), +(45, 1443, 71), +(45, 1444, 92), +(45, 1445, 74), +(45, 1446, 91), +(45, 1447, 95), +(45, 1448, 78), +(45, 1449, 93), +(45, 1450, 86), +(45, 1451, 89), +(45, 1452, 65), +(45, 1453, 91), +(45, 1454, 88), +(45, 1455, 77), +(45, 1456, 80), +(45, 1457, 68), +(45, 1458, 88), +(45, 1459, 90), +(45, 1460, 65), +(45, 1461, 72), +(45, 1462, 73), +(45, 1463, 96), +(45, 1464, 96), +(45, 1465, 68), +(45, 1466, 97), +(45, 1467, 91), +(45, 1468, 69), +(45, 1469, 76), +(45, 1470, 76), +(45, 1471, 80), +(45, 1472, 82), +(45, 1473, 93), +(45, 1474, 73), +(45, 1475, 86), +(45, 1476, 85), +(45, 1477, 75), +(45, 1478, 90), +(45, 1479, 70), +(45, 1480, 65), +(45, 1481, 96), +(45, 1482, 74), +(45, 1483, 83), +(45, 1484, 78), +(45, 1485, 92), +(45, 1486, 72), +(45, 1487, 99), +(45, 1488, 99), +(45, 1489, 67), +(45, 1490, 78), +(45, 1491, 88), +(45, 1492, 92), +(45, 1493, 83), +(45, 1494, 81), +(45, 1495, 86), +(45, 1496, 72), +(45, 1497, 89), +(45, 1498, 76), +(45, 1499, 82), +(45, 1500, 74), +(45, 1501, 65), +(45, 1502, 70), +(45, 1503, 92), +(45, 1504, 69), +(45, 1505, 77), +(45, 1506, 93), +(45, 1507, 93), +(45, 1508, 74), +(45, 1509, 78), +(45, 1510, 72), +(45, 1511, 88), +(45, 1512, 71), +(45, 1513, 73), +(45, 1514, 87), +(45, 1515, 95), +(45, 1516, 83), +(45, 1517, 75), +(45, 1518, 93), +(45, 1519, 69), +(45, 1520, 81), +(45, 1521, 66), +(45, 1522, 95), +(45, 1523, 95), +(45, 1524, 70), +(45, 1525, 88), +(45, 1526, 65), +(45, 1527, 90), +(45, 1528, 80), +(45, 1529, 77), +(45, 1530, 92), +(45, 1531, 68), +(45, 1532, 86), +(45, 1533, 73), +(45, 1534, 67), +(45, 1535, 87), +(45, 1536, 88), +(45, 1537, 85), +(45, 1538, 72), +(45, 1539, 74), +(45, 1540, 68), +(45, 1541, 82), +(45, 1542, 79), +(45, 1543, 70), +(45, 1544, 70), +(45, 1545, 65), +(45, 1546, 86), +(45, 1547, 87), +(45, 1548, 88), +(45, 1549, 96), +(45, 1550, 90), +(45, 1551, 92), +(45, 1552, 88), +(45, 1553, 86), +(45, 1554, 76), +(45, 1555, 84), +(45, 1556, 79), +(45, 1557, 92), +(45, 1558, 76), +(45, 1559, 92), +(45, 1560, 89), +(45, 1561, 94), +(45, 1562, 94), +(45, 1563, 77), +(45, 1564, 76), +(45, 1565, 89), +(45, 1566, 67), +(45, 1567, 76), +(45, 1568, 88), +(45, 1569, 76), +(45, 1570, 96), +(45, 1571, 95), +(45, 1572, 73), +(45, 1573, 92), +(45, 1574, 69), +(45, 1575, 71), +(45, 1576, 67), +(45, 1577, 73), +(45, 1578, 67), +(45, 1579, 79), +(45, 1580, 94), +(45, 1581, 68), +(45, 1582, 85), +(45, 1583, 90), +(45, 1584, 86), +(45, 1585, 70), +(45, 1586, 93), +(45, 1587, 89), +(45, 2047, 88), +(45, 2048, 92), +(45, 2049, 82), +(45, 2050, 78), +(45, 2051, 70), +(45, 2052, 97), +(45, 2053, 82), +(45, 2054, 85), +(45, 2055, 98), +(45, 2056, 98), +(45, 2057, 77), +(45, 2058, 83), +(45, 2059, 91), +(45, 2060, 73), +(45, 2061, 96), +(45, 2062, 66), +(45, 2063, 68), +(45, 2064, 82), +(45, 2065, 73), +(45, 2066, 81), +(45, 2067, 81), +(45, 2068, 90), +(45, 2069, 78), +(45, 2070, 65), +(45, 2071, 68), +(45, 2072, 82), +(45, 2073, 92), +(45, 2074, 92), +(45, 2075, 86), +(45, 2076, 96), +(45, 2077, 76), +(45, 2078, 90), +(45, 2079, 80), +(45, 2080, 91), +(45, 2081, 67), +(45, 2082, 94), +(45, 2083, 91), +(45, 2084, 77), +(45, 2085, 81), +(45, 2086, 82), +(45, 2087, 73), +(45, 2088, 73), +(45, 2089, 71), +(45, 2090, 65), +(45, 2091, 91), +(45, 2092, 69), +(45, 2093, 87), +(45, 2094, 88), +(45, 2095, 77), +(45, 2096, 88), +(45, 2097, 81), +(45, 2098, 65), +(45, 2099, 87), +(45, 2100, 89), +(45, 2101, 95), +(45, 2102, 89), +(45, 2103, 69), +(45, 2104, 99), +(45, 2105, 92), +(45, 2106, 73), +(45, 2107, 97), +(45, 2108, 67), +(45, 2109, 65), +(45, 2110, 98), +(45, 2111, 70), +(45, 2112, 78), +(45, 2113, 72), +(45, 2114, 67), +(45, 2115, 70), +(45, 2116, 81), +(45, 2117, 89), +(45, 2118, 85), +(45, 2119, 68), +(45, 2120, 81), +(45, 2121, 73), +(45, 2122, 83), +(45, 2123, 84), +(45, 2124, 67), +(45, 2125, 67), +(45, 2126, 68), +(45, 2127, 98), +(45, 2128, 91), +(45, 2129, 74), +(45, 2130, 90), +(45, 2131, 93), +(45, 2132, 69), +(45, 2133, 71), +(45, 2134, 92), +(45, 2135, 95), +(45, 2136, 84), +(45, 2137, 84), +(45, 2138, 67), +(45, 2139, 80), +(45, 2140, 96), +(45, 2141, 69), +(45, 2142, 67), +(45, 2143, 91), +(45, 2144, 91), +(45, 2145, 71), +(45, 2146, 97), +(45, 2147, 94), +(45, 2148, 84), +(45, 2149, 84), +(45, 2150, 68), +(45, 2151, 66), +(45, 2152, 75), +(45, 2153, 86), +(45, 2154, 70), +(45, 2155, 78), +(45, 2156, 86), +(45, 2157, 77), +(45, 2158, 92), +(45, 2159, 94), +(45, 2160, 83), +(45, 2161, 77), +(45, 2162, 74), +(45, 2163, 96), +(45, 2164, 76), +(45, 2165, 96), +(45, 2166, 88), +(45, 2167, 71), +(45, 2168, 70), +(45, 2169, 90), +(45, 2170, 80), +(45, 2171, 81), +(45, 2172, 88), +(45, 2173, 91), +(45, 2174, 76), +(45, 2175, 87), +(45, 2176, 72), +(45, 2177, 84), +(45, 2178, 95), +(45, 2179, 73), +(45, 2180, 98), +(45, 2181, 71), +(45, 2182, 69), +(45, 2183, 94), +(45, 2184, 74), +(45, 2185, 73), +(45, 2186, 84), +(45, 2187, 86), +(45, 2188, 69), +(45, 2189, 81), +(45, 2190, 85), +(45, 2191, 92), +(45, 2192, 66), +(45, 2193, 73), +(45, 2194, 88), +(45, 2195, 79), +(45, 2196, 74), +(45, 2197, 69), +(45, 2198, 93), +(45, 2199, 77), +(45, 2200, 76), +(45, 2201, 96), +(45, 2202, 88), +(45, 2203, 93), +(45, 2204, 80), +(45, 2205, 87), +(45, 2206, 75), +(45, 2207, 93), +(45, 2208, 65), +(45, 2209, 99), +(45, 2210, 89), +(45, 2211, 74), +(45, 2212, 83), +(45, 2213, 78), +(45, 2214, 92), +(45, 2215, 73), +(45, 2216, 80), +(45, 2217, 69), +(45, 2218, 65), +(45, 2219, 94), +(45, 2220, 91), +(45, 2221, 70), +(45, 2222, 70), +(45, 2223, 76), +(45, 2224, 98), +(45, 2225, 85), +(45, 2226, 96), +(45, 2227, 93), +(45, 2228, 66), +(45, 2229, 79), +(45, 2230, 79), +(45, 2231, 90), +(45, 2232, 80), +(45, 2233, 95), +(45, 2234, 74), +(45, 2235, 72), +(45, 2236, 99), +(45, 2237, 80), +(45, 2238, 97), +(45, 2239, 84), +(45, 2240, 91), +(45, 2241, 86), +(45, 2242, 79), +(45, 2243, 95), +(45, 2244, 83), +(45, 2245, 97), +(45, 2246, 74), +(45, 2247, 75), +(45, 2248, 75), +(45, 2249, 68), +(45, 2250, 73), +(45, 2251, 74), +(45, 2252, 86), +(45, 2253, 78), +(45, 2254, 88), +(45, 2255, 92), +(45, 2256, 77), +(45, 2257, 70), +(45, 2258, 97), +(45, 2259, 67), +(45, 2260, 77), +(45, 2261, 76), +(45, 2262, 86), +(45, 2263, 91), +(45, 2264, 78), +(45, 2265, 73), +(45, 2266, 94), +(45, 2267, 91), +(45, 2268, 90), +(45, 2269, 77), +(45, 2270, 94), +(45, 2271, 83), +(45, 2272, 86), +(45, 2273, 65), +(45, 2274, 74), +(45, 2275, 92), +(45, 2276, 94), +(45, 2277, 77), +(45, 2278, 85), +(45, 2279, 74), +(45, 2280, 88), +(45, 2281, 75), +(45, 2282, 86), +(45, 2283, 86), +(45, 2284, 97), +(45, 2285, 98), +(45, 2286, 96), +(45, 2287, 98), +(45, 2288, 88), +(45, 2289, 97), +(45, 2290, 70), +(45, 2291, 83), +(45, 2292, 70), +(45, 2293, 84), +(45, 2294, 99), +(45, 2295, 98), +(45, 2296, 81), +(45, 2297, 78), +(45, 2298, 65), +(45, 2299, 68), +(45, 2300, 94), +(45, 2301, 77), +(45, 2302, 69), +(45, 2303, 92), +(45, 2304, 79), +(45, 2305, 87), +(45, 2306, 96), +(45, 2307, 84), +(45, 2308, 73), +(45, 2309, 93), +(45, 2310, 76), +(45, 2311, 71), +(45, 2312, 70), +(45, 2313, 72), +(45, 2314, 67), +(45, 2315, 89), +(45, 2316, 71), +(45, 2317, 81), +(45, 2318, 93), +(45, 2319, 81), +(45, 2320, 73), +(45, 2321, 85), +(45, 2322, 65), +(45, 2323, 85), +(45, 2324, 70), +(45, 2325, 85), +(45, 2326, 93), +(45, 2327, 94), +(45, 2328, 99), +(45, 2329, 88), +(45, 2330, 66), +(45, 2331, 69), +(45, 2332, 90), +(45, 2333, 91), +(45, 2334, 90), +(45, 2335, 87), +(45, 2336, 83), +(45, 2337, 99), +(45, 2338, 95), +(45, 2339, 72), +(45, 2340, 99), +(45, 2341, 86), +(45, 2342, 75), +(45, 2343, 93), +(45, 2344, 86), +(45, 2345, 93), +(45, 2346, 75), +(45, 2347, 74), +(45, 2348, 81), +(45, 2349, 71), +(45, 2350, 70), +(45, 2351, 83), +(45, 2352, 91), +(45, 2353, 86), +(45, 2354, 65), +(45, 2355, 73), +(45, 2356, 68), +(45, 2357, 92), +(45, 2358, 86), +(45, 2359, 70), +(45, 2360, 84), +(45, 2361, 72), +(45, 2362, 86), +(45, 2363, 97), +(45, 2364, 97), +(45, 2365, 89), +(45, 2366, 82), +(45, 2367, 97), +(45, 2368, 99), +(45, 2369, 69), +(45, 2370, 67), +(45, 2371, 81), +(45, 2372, 82), +(45, 2373, 95), +(45, 2374, 91), +(45, 2375, 65), +(45, 2376, 67), +(45, 2377, 67), +(45, 2378, 70), +(45, 2379, 76), +(45, 2380, 85), +(45, 2381, 93), +(45, 2382, 83), +(45, 2383, 85), +(45, 2384, 84), +(45, 2385, 78), +(45, 2386, 89), +(45, 2387, 76), +(45, 2388, 76), +(45, 2389, 68), +(45, 2390, 91), +(45, 2391, 67), +(45, 2392, 79), +(45, 2393, 79), +(45, 2394, 86), +(45, 2395, 73), +(45, 2396, 82), +(45, 2397, 95), +(45, 2398, 65), +(45, 2399, 91), +(45, 2400, 95), +(45, 2401, 80), +(45, 2402, 68), +(45, 2403, 83), +(45, 2404, 82), +(45, 2405, 88), +(45, 2406, 79), +(45, 2407, 93), +(45, 2408, 81), +(45, 2409, 83), +(45, 2410, 81), +(45, 2411, 78), +(45, 2412, 78), +(45, 2413, 76), +(45, 2414, 81), +(45, 2415, 72), +(45, 2416, 70), +(45, 2417, 86), +(45, 2418, 76), +(45, 2419, 93), +(45, 2420, 73), +(45, 2421, 71), +(45, 2422, 72), +(45, 2423, 90), +(45, 2424, 65), +(45, 2425, 79), +(45, 2426, 76), +(45, 2427, 89), +(45, 2428, 69), +(45, 2429, 70), +(45, 2430, 87), +(45, 2431, 67), +(45, 2432, 90), +(45, 2433, 90), +(45, 2434, 71), +(45, 2435, 94), +(45, 2436, 91), +(45, 2437, 92), +(45, 2438, 83), +(45, 2439, 89), +(45, 2440, 94), +(45, 2441, 85), +(45, 2442, 70), +(45, 2443, 95), +(45, 2444, 97), +(45, 2445, 73), +(45, 2446, 82), +(45, 2447, 92), +(45, 2448, 80), +(45, 2449, 95), +(45, 2450, 91), +(45, 2451, 77), +(45, 2452, 96), +(45, 2453, 68), +(45, 2454, 66), +(45, 2455, 76), +(45, 2456, 84), +(45, 2457, 66), +(45, 2458, 89), +(45, 2459, 99), +(45, 2460, 96), +(45, 2461, 78), +(45, 2462, 70), +(45, 2463, 91), +(45, 2464, 80), +(45, 2465, 80), +(45, 2466, 97), +(45, 2467, 78), +(45, 2468, 89), +(45, 2469, 89), +(45, 2470, 95), +(45, 2471, 66), +(45, 2472, 66), +(45, 2473, 86), +(45, 2474, 77), +(45, 2475, 86), +(45, 2476, 73), +(45, 2477, 84), +(45, 2478, 86), +(45, 2479, 67), +(45, 2480, 92), +(45, 2481, 85), +(45, 2482, 95), +(45, 2483, 85), +(45, 2484, 97), +(45, 2485, 95), +(45, 2486, 86), +(45, 2487, 90), +(45, 2488, 70), +(45, 2489, 80), +(45, 2490, 65), +(45, 2491, 91), +(45, 2492, 70), +(45, 2493, 72), +(45, 2494, 66), +(45, 2495, 79), +(45, 2496, 86), +(45, 2497, 96), +(45, 2498, 92), +(45, 2499, 88), +(45, 2500, 83), +(45, 2501, 85), +(45, 2502, 69), +(45, 2503, 83), +(45, 2504, 87), +(45, 2505, 81), +(45, 2506, 97), +(45, 2507, 71), +(45, 2508, 91), +(45, 2509, 94), +(45, 2510, 97), +(45, 2511, 98), +(45, 2512, 99), +(45, 2513, 74), +(45, 2514, 70), +(45, 2515, 78), +(45, 2516, 78), +(45, 2517, 69), +(45, 2518, 87), +(45, 2519, 68), +(45, 2520, 87), +(45, 2521, 98), +(45, 2522, 84), +(45, 2523, 75), +(45, 2524, 73), +(45, 2525, 87), +(45, 2526, 84), +(45, 2527, 70), +(45, 2528, 80), +(45, 2529, 91), +(45, 2530, 77), +(45, 2531, 80), +(45, 2532, 71), +(45, 2533, 85), +(45, 2534, 93), +(45, 2535, 83), +(45, 2536, 79), +(45, 2537, 88), +(45, 2538, 75), +(45, 2539, 89), +(45, 2540, 77), +(45, 2541, 73), +(45, 2542, 81), +(45, 2543, 79), +(45, 2544, 88), +(45, 2545, 96), +(45, 2546, 81), +(45, 2547, 78), +(45, 2548, 99), +(45, 2549, 67), +(45, 2550, 95), +(45, 2551, 70), +(45, 2552, 84), +(45, 2553, 68), +(45, 2554, 68), +(45, 2555, 68), +(45, 2556, 92), +(45, 2557, 99), +(45, 2558, 75), +(45, 2559, 93), +(45, 2560, 90), +(45, 2561, 75), +(45, 2562, 72), +(45, 2563, 65), +(45, 2564, 77), +(45, 2565, 86), +(45, 2566, 74), +(45, 2567, 72), +(45, 2568, 76), +(45, 2569, 83), +(45, 2570, 90), +(45, 2571, 72), +(45, 2572, 99), +(45, 2573, 92), +(45, 2574, 87), +(45, 2575, 90), +(45, 2576, 94), +(45, 2577, 65), +(45, 2578, 84), +(45, 2579, 88), +(45, 2580, 96), +(45, 2581, 89), +(45, 2582, 95), +(45, 2583, 73), +(45, 2584, 69), +(45, 2585, 79), +(45, 2586, 73), +(45, 2587, 91), +(45, 2588, 95), +(45, 2589, 98), +(45, 2590, 98), +(45, 2591, 85), +(45, 2592, 98), +(45, 2593, 67), +(45, 2594, 70), +(45, 2595, 81), +(45, 2596, 76), +(45, 2597, 97), +(45, 2598, 71), +(45, 2599, 89), +(45, 2600, 68), +(45, 2601, 78), +(45, 2602, 93), +(45, 2603, 96), +(45, 2604, 83), +(45, 2605, 65), +(45, 2606, 65), +(45, 2607, 74), +(45, 2608, 97), +(45, 2609, 88), +(45, 2610, 86), +(46, 1, 76), +(46, 2, 76), +(46, 3, 75), +(46, 4, 76), +(46, 5, 89), +(46, 6, 65), +(46, 7, 68), +(46, 8, 89), +(46, 9, 87), +(46, 10, 93), +(46, 11, 84), +(46, 12, 70), +(46, 13, 82), +(46, 14, 78), +(46, 15, 91), +(46, 16, 88), +(46, 17, 72), +(46, 18, 75), +(46, 19, 78), +(46, 20, 95), +(46, 21, 80), +(46, 22, 86), +(46, 23, 92), +(46, 24, 84), +(46, 25, 78), +(46, 26, 86), +(46, 27, 77), +(46, 28, 81), +(46, 29, 72), +(46, 30, 84), +(46, 31, 79), +(46, 32, 76), +(46, 33, 67), +(46, 34, 90), +(46, 35, 99), +(46, 36, 65), +(46, 37, 71), +(46, 38, 71), +(46, 39, 71), +(46, 40, 71), +(46, 41, 72), +(46, 42, 84), +(46, 43, 72), +(46, 44, 67), +(46, 45, 72), +(46, 46, 73), +(46, 47, 72), +(46, 48, 70), +(46, 49, 95), +(46, 50, 85), +(46, 51, 98), +(46, 52, 86), +(46, 53, 90), +(46, 54, 78), +(46, 55, 73), +(46, 56, 79), +(46, 57, 70), +(46, 58, 79), +(46, 59, 79), +(46, 60, 87), +(46, 61, 85), +(46, 62, 72), +(46, 63, 69), +(46, 64, 93), +(46, 65, 80), +(46, 66, 90), +(46, 67, 97), +(46, 68, 76), +(46, 69, 88), +(46, 70, 98), +(46, 71, 67), +(46, 72, 91), +(46, 73, 76), +(46, 74, 74), +(46, 75, 85), +(46, 76, 89), +(46, 77, 94), +(46, 78, 68), +(46, 79, 90), +(46, 80, 67), +(46, 81, 74), +(46, 82, 65), +(46, 83, 90), +(46, 84, 73), +(46, 85, 68), +(46, 86, 97), +(46, 87, 72), +(46, 88, 83), +(46, 89, 75), +(46, 90, 88), +(46, 91, 71), +(46, 92, 83), +(46, 93, 66), +(46, 94, 81), +(46, 95, 70), +(46, 96, 86), +(46, 97, 65), +(46, 98, 90), +(46, 99, 92), +(46, 100, 82), +(46, 101, 96), +(46, 102, 74), +(46, 103, 70), +(46, 104, 73), +(46, 105, 98), +(46, 106, 70), +(46, 107, 90), +(46, 108, 92), +(46, 109, 70), +(46, 110, 88), +(46, 111, 82), +(46, 112, 65), +(46, 113, 78), +(46, 114, 72), +(46, 115, 89), +(46, 116, 89), +(46, 117, 74), +(46, 118, 88), +(46, 119, 81), +(46, 120, 86), +(46, 121, 81), +(46, 122, 84), +(46, 123, 91), +(46, 124, 82), +(46, 125, 78), +(46, 126, 70), +(46, 127, 77), +(46, 128, 72), +(46, 129, 88), +(46, 130, 83), +(46, 131, 65), +(46, 132, 69), +(46, 133, 73), +(46, 134, 82), +(46, 135, 92), +(46, 136, 73), +(46, 137, 98), +(46, 138, 88), +(46, 139, 80), +(46, 140, 67), +(46, 141, 73), +(46, 142, 73), +(46, 143, 90), +(46, 144, 65), +(46, 145, 94), +(46, 146, 74), +(46, 147, 78), +(46, 148, 82), +(46, 149, 87), +(46, 150, 66), +(46, 151, 74), +(46, 152, 78), +(46, 153, 87), +(46, 154, 76), +(46, 155, 70), +(46, 156, 90), +(46, 157, 71), +(46, 158, 96), +(46, 159, 94), +(46, 160, 65), +(46, 161, 67), +(46, 162, 65), +(46, 163, 92), +(46, 164, 83), +(46, 165, 79), +(46, 166, 66), +(46, 167, 85), +(46, 168, 78), +(46, 169, 90), +(46, 170, 77), +(46, 171, 77), +(46, 172, 96), +(46, 173, 85), +(46, 174, 71), +(46, 175, 77), +(46, 176, 99), +(46, 177, 95), +(46, 178, 71), +(46, 179, 88), +(46, 180, 67), +(46, 181, 76), +(46, 182, 95), +(46, 183, 76), +(46, 184, 81), +(46, 185, 83), +(46, 186, 89), +(46, 187, 89), +(46, 188, 81), +(46, 189, 98), +(46, 190, 66), +(46, 191, 78), +(46, 192, 81), +(46, 193, 77), +(46, 194, 66), +(46, 195, 89), +(46, 196, 73), +(46, 197, 73), +(46, 198, 74), +(46, 199, 81), +(46, 200, 75), +(46, 201, 75), +(46, 202, 83), +(46, 203, 66), +(46, 204, 99), +(46, 205, 81), +(46, 206, 75), +(46, 207, 77), +(46, 208, 77), +(46, 209, 97), +(46, 210, 68), +(46, 211, 91), +(46, 212, 88), +(46, 213, 71), +(46, 214, 78), +(46, 215, 89), +(46, 216, 86), +(46, 217, 98), +(46, 218, 95), +(46, 219, 67), +(46, 220, 71), +(46, 221, 90), +(46, 222, 75), +(46, 223, 67), +(46, 224, 90), +(46, 225, 65), +(46, 226, 74), +(46, 227, 66), +(46, 228, 82), +(46, 229, 94), +(46, 230, 90), +(46, 231, 90), +(46, 232, 95), +(46, 233, 90), +(46, 234, 84), +(46, 235, 91), +(46, 236, 85), +(46, 237, 75), +(46, 238, 78), +(46, 239, 93), +(46, 240, 85), +(46, 241, 87), +(46, 242, 74), +(46, 243, 92), +(46, 244, 98), +(46, 245, 68), +(46, 246, 99), +(46, 247, 84), +(46, 248, 95), +(46, 249, 76), +(46, 250, 98), +(46, 251, 83), +(46, 252, 69), +(46, 253, 87), +(46, 254, 93), +(46, 255, 93), +(46, 256, 75), +(46, 257, 84), +(46, 258, 78), +(46, 259, 75), +(46, 260, 95), +(46, 261, 72), +(46, 262, 84), +(46, 263, 73), +(46, 264, 88), +(46, 265, 97), +(46, 266, 75), +(46, 267, 88), +(46, 268, 77), +(46, 269, 75), +(46, 270, 73), +(46, 271, 69), +(46, 272, 71), +(46, 273, 66), +(46, 274, 89), +(46, 275, 67), +(46, 276, 98), +(46, 277, 88), +(46, 278, 97), +(46, 279, 88), +(46, 280, 88), +(46, 281, 79), +(46, 282, 90), +(46, 283, 89), +(46, 284, 74), +(46, 285, 71), +(46, 286, 68), +(46, 287, 74), +(46, 288, 82), +(46, 289, 71), +(46, 290, 80), +(46, 291, 74), +(46, 292, 97), +(46, 293, 84), +(46, 294, 98), +(46, 295, 91), +(46, 296, 90), +(46, 297, 99), +(46, 298, 89), +(46, 299, 67), +(46, 300, 72), +(46, 301, 83), +(46, 302, 78), +(46, 303, 88), +(46, 304, 65), +(46, 305, 77), +(46, 306, 94), +(46, 307, 78), +(46, 308, 82), +(46, 309, 73), +(46, 310, 86), +(46, 311, 93), +(46, 312, 93), +(46, 313, 95), +(46, 314, 69), +(46, 315, 94), +(46, 316, 67), +(46, 317, 95), +(46, 318, 96), +(46, 319, 65), +(46, 320, 65), +(46, 321, 66), +(46, 322, 77), +(46, 323, 71), +(46, 324, 76), +(46, 325, 96), +(46, 326, 65), +(46, 327, 79), +(46, 328, 95), +(46, 329, 83), +(46, 330, 72), +(46, 331, 72), +(46, 332, 97), +(46, 333, 84), +(46, 334, 75), +(46, 335, 86), +(46, 336, 97), +(46, 337, 66), +(46, 338, 68), +(46, 339, 73), +(46, 340, 75), +(46, 341, 79), +(46, 342, 77), +(46, 343, 71), +(46, 344, 96), +(46, 345, 65), +(46, 346, 92), +(46, 347, 77), +(46, 348, 80), +(46, 349, 98), +(46, 350, 86), +(46, 351, 70), +(46, 352, 94), +(46, 353, 77), +(46, 354, 90), +(46, 355, 80), +(46, 356, 75), +(46, 357, 85), +(46, 358, 73), +(46, 359, 79), +(46, 360, 66), +(46, 361, 71), +(46, 362, 71), +(46, 363, 98), +(46, 364, 82), +(46, 365, 99), +(46, 366, 77), +(46, 367, 72), +(46, 368, 77), +(46, 369, 83), +(46, 370, 65), +(46, 371, 88), +(46, 372, 71), +(46, 373, 90), +(46, 374, 75), +(46, 375, 99), +(46, 376, 78), +(46, 377, 96), +(46, 378, 79), +(46, 379, 87), +(46, 380, 70), +(46, 381, 96), +(46, 382, 75), +(46, 383, 86), +(46, 384, 93), +(46, 385, 99), +(46, 386, 76), +(46, 387, 87), +(46, 388, 70), +(46, 389, 70), +(46, 390, 91), +(46, 391, 67), +(46, 392, 80), +(46, 393, 86), +(46, 394, 72), +(46, 395, 93), +(46, 396, 85), +(46, 397, 86), +(46, 398, 67), +(46, 399, 97), +(46, 400, 72), +(46, 401, 84), +(46, 402, 69), +(46, 403, 83), +(46, 404, 94), +(46, 405, 74), +(46, 406, 75), +(46, 407, 72), +(46, 408, 79), +(46, 409, 72), +(46, 410, 77), +(46, 411, 86), +(46, 412, 95), +(46, 413, 66), +(46, 414, 97), +(46, 415, 96), +(46, 416, 91), +(46, 417, 73), +(46, 418, 87), +(46, 419, 81), +(46, 420, 92), +(46, 421, 92), +(46, 422, 70), +(46, 423, 71), +(46, 424, 98), +(46, 425, 82), +(46, 426, 66), +(46, 427, 75), +(46, 428, 68), +(46, 429, 85), +(46, 430, 83), +(46, 431, 73), +(46, 432, 93), +(46, 433, 92), +(46, 434, 78), +(46, 435, 72), +(46, 436, 83), +(46, 437, 97), +(46, 438, 69), +(46, 439, 76), +(46, 440, 89), +(46, 441, 67), +(46, 442, 81), +(46, 443, 67), +(46, 444, 79), +(46, 445, 79), +(46, 446, 99), +(46, 447, 73), +(46, 448, 75), +(46, 449, 83), +(46, 450, 69), +(46, 451, 77), +(46, 452, 90), +(46, 453, 76), +(46, 454, 87), +(46, 455, 88), +(46, 456, 88), +(46, 457, 75), +(46, 458, 82), +(46, 459, 68), +(46, 460, 94), +(46, 461, 79), +(46, 462, 99), +(46, 463, 83), +(46, 464, 98), +(46, 465, 72), +(46, 466, 88), +(46, 467, 88), +(46, 468, 66), +(46, 469, 97), +(46, 470, 67), +(46, 471, 85), +(46, 472, 85), +(46, 473, 95), +(46, 474, 82), +(46, 475, 65), +(46, 476, 65), +(46, 477, 70), +(46, 478, 89), +(46, 479, 87), +(46, 480, 91), +(46, 481, 83), +(46, 482, 98), +(46, 483, 85), +(46, 484, 88), +(46, 485, 92), +(46, 486, 93), +(46, 487, 65), +(46, 488, 87), +(46, 489, 95), +(46, 490, 98), +(46, 491, 68), +(46, 492, 93), +(46, 493, 81), +(46, 494, 94), +(46, 495, 70), +(46, 496, 67), +(46, 497, 69), +(46, 498, 72), +(46, 499, 67), +(46, 500, 77), +(46, 501, 78), +(46, 502, 86), +(46, 503, 97), +(46, 504, 70), +(46, 505, 94), +(46, 506, 83), +(46, 507, 71), +(46, 508, 94), +(46, 509, 72), +(46, 510, 69), +(46, 511, 86), +(46, 512, 88), +(46, 513, 70), +(46, 514, 93), +(46, 515, 92), +(46, 516, 92), +(46, 517, 87), +(46, 518, 93), +(46, 519, 97), +(46, 520, 92), +(46, 521, 79), +(46, 522, 89), +(46, 523, 75), +(46, 524, 70), +(46, 525, 86), +(46, 526, 71), +(46, 527, 98), +(46, 528, 84), +(46, 529, 68), +(46, 530, 68), +(46, 531, 68), +(46, 532, 76), +(46, 533, 97), +(46, 534, 77), +(46, 535, 72), +(46, 536, 68), +(46, 537, 90), +(46, 538, 88), +(46, 539, 72), +(46, 540, 82), +(46, 541, 98), +(46, 542, 71), +(46, 543, 73), +(46, 544, 78), +(46, 545, 92), +(46, 546, 74), +(46, 547, 95), +(46, 548, 88), +(46, 549, 78), +(46, 550, 88), +(46, 551, 95), +(46, 552, 98), +(46, 553, 67), +(46, 554, 83), +(46, 555, 81), +(46, 556, 88), +(46, 557, 91), +(46, 558, 76), +(46, 559, 74), +(46, 560, 87), +(46, 561, 79), +(46, 562, 94), +(46, 563, 84), +(46, 564, 78), +(46, 1024, 83), +(46, 1025, 82), +(46, 1026, 79), +(46, 1027, 76), +(46, 1028, 91), +(46, 1029, 73), +(46, 1030, 93), +(46, 1031, 82), +(46, 1032, 95), +(46, 1033, 87), +(46, 1034, 95), +(46, 1035, 68), +(46, 1036, 81), +(46, 1037, 75), +(46, 1038, 65), +(46, 1039, 93), +(46, 1040, 87), +(46, 1041, 77), +(46, 1042, 68), +(46, 1043, 90), +(46, 1044, 86), +(46, 1045, 70), +(46, 1046, 69), +(46, 1047, 96), +(46, 1048, 85), +(46, 1049, 66), +(46, 1050, 98), +(46, 1051, 76), +(46, 1052, 85), +(46, 1053, 97), +(46, 1054, 77), +(46, 1055, 69), +(46, 1056, 93), +(46, 1057, 77), +(46, 1058, 89), +(46, 1059, 93), +(46, 1060, 86), +(46, 1061, 68), +(46, 1062, 88), +(46, 1063, 83), +(46, 1064, 82), +(46, 1065, 69), +(46, 1066, 95), +(46, 1067, 79), +(46, 1068, 90), +(46, 1069, 66), +(46, 1070, 99), +(46, 1071, 94), +(46, 1072, 66), +(46, 1073, 81), +(46, 1074, 86), +(46, 1075, 75), +(46, 1076, 79), +(46, 1077, 70), +(46, 1078, 66), +(46, 1079, 80), +(46, 1080, 78), +(46, 1081, 94), +(46, 1082, 72), +(46, 1083, 89), +(46, 1084, 88), +(46, 1085, 99), +(46, 1086, 77), +(46, 1087, 94), +(46, 1088, 96), +(46, 1089, 88), +(46, 1090, 71), +(46, 1091, 81), +(46, 1092, 84), +(46, 1093, 69), +(46, 1094, 97), +(46, 1095, 68), +(46, 1096, 81), +(46, 1097, 79), +(46, 1098, 66), +(46, 1099, 79), +(46, 1100, 72), +(46, 1101, 71), +(46, 1102, 94), +(46, 1103, 69), +(46, 1104, 71), +(46, 1105, 98), +(46, 1106, 87), +(46, 1107, 75), +(46, 1108, 74), +(46, 1109, 96), +(46, 1110, 89), +(46, 1111, 95), +(46, 1112, 78), +(46, 1113, 85), +(46, 1114, 91), +(46, 1115, 81), +(46, 1116, 79), +(46, 1117, 74), +(46, 1118, 82), +(46, 1119, 70), +(46, 1120, 78), +(46, 1121, 89), +(46, 1122, 94), +(46, 1123, 81), +(46, 1124, 76), +(46, 1125, 93), +(46, 1126, 74), +(46, 1127, 99), +(46, 1128, 85), +(46, 1129, 86), +(46, 1130, 79), +(46, 1131, 71), +(46, 1132, 71), +(46, 1133, 96), +(46, 1134, 67), +(46, 1135, 76), +(46, 1136, 85), +(46, 1137, 84), +(46, 1138, 83), +(46, 1139, 83), +(46, 1140, 84), +(46, 1141, 85), +(46, 1142, 73), +(46, 1143, 91), +(46, 1144, 71), +(46, 1145, 96), +(46, 1146, 95), +(46, 1147, 76), +(46, 1148, 78), +(46, 1149, 83), +(46, 1150, 99), +(46, 1151, 67), +(46, 1152, 81), +(46, 1153, 68), +(46, 1154, 85), +(46, 1155, 69), +(46, 1156, 66), +(46, 1157, 79), +(46, 1158, 86), +(46, 1159, 79), +(46, 1160, 69), +(46, 1161, 73), +(46, 1162, 68), +(46, 1163, 80), +(46, 1164, 75), +(46, 1165, 74), +(46, 1166, 72), +(46, 1167, 97), +(46, 1168, 83), +(46, 1169, 91), +(46, 1170, 76), +(46, 1171, 87), +(46, 1172, 85), +(46, 1173, 94), +(46, 1174, 96), +(46, 1175, 72), +(46, 1176, 95), +(46, 1177, 78), +(46, 1178, 92), +(46, 1179, 93), +(46, 1180, 94), +(46, 1181, 92), +(46, 1182, 97), +(46, 1183, 76), +(46, 1184, 91), +(46, 1185, 81), +(46, 1186, 70), +(46, 1187, 96), +(46, 1188, 71), +(46, 1189, 80), +(46, 1190, 67), +(46, 1191, 88), +(46, 1192, 97), +(46, 1193, 76), +(46, 1194, 81), +(46, 1195, 84), +(46, 1196, 98), +(46, 1197, 79), +(46, 1198, 99), +(46, 1199, 86), +(46, 1200, 80), +(46, 1201, 74), +(46, 1202, 72), +(46, 1203, 85), +(46, 1204, 72), +(46, 1205, 98), +(46, 1206, 67), +(46, 1207, 73), +(46, 1208, 75), +(46, 1209, 91), +(46, 1210, 79), +(46, 1211, 79), +(46, 1212, 73), +(46, 1213, 92), +(46, 1214, 95), +(46, 1215, 77), +(46, 1216, 69), +(46, 1217, 89), +(46, 1218, 74), +(46, 1219, 82), +(46, 1220, 98), +(46, 1221, 79), +(46, 1222, 72), +(46, 1223, 91), +(46, 1224, 96), +(46, 1225, 97), +(46, 1226, 86), +(46, 1227, 82), +(46, 1228, 67), +(46, 1229, 79), +(46, 1230, 87), +(46, 1231, 82), +(46, 1232, 92), +(46, 1233, 70), +(46, 1234, 84), +(46, 1235, 81), +(46, 1236, 77), +(46, 1237, 91), +(46, 1238, 78), +(46, 1239, 82), +(46, 1240, 95), +(46, 1241, 71), +(46, 1242, 88), +(46, 1243, 94), +(46, 1244, 80), +(46, 1245, 89), +(46, 1246, 73), +(46, 1247, 96), +(46, 1248, 72), +(46, 1249, 81), +(46, 1250, 70), +(46, 1251, 67), +(46, 1252, 91), +(46, 1253, 99), +(46, 1254, 77), +(46, 1255, 72), +(46, 1256, 82), +(46, 1257, 76), +(46, 1258, 86), +(46, 1259, 81), +(46, 1260, 71), +(46, 1261, 71), +(46, 1262, 70), +(46, 1263, 76), +(46, 1264, 68), +(46, 1265, 86), +(46, 1266, 82), +(46, 1267, 95), +(46, 1268, 86), +(46, 1269, 82), +(46, 1270, 99), +(46, 1271, 99), +(46, 1272, 75), +(46, 1273, 99), +(46, 1274, 72), +(46, 1275, 90), +(46, 1276, 81), +(46, 1277, 66), +(46, 1278, 84), +(46, 1279, 72), +(46, 1280, 70), +(46, 1281, 88), +(46, 1282, 87), +(46, 1283, 96), +(46, 1284, 83), +(46, 1285, 81), +(46, 1286, 98), +(46, 1287, 96), +(46, 1288, 87), +(46, 1289, 85), +(46, 1290, 86), +(46, 1291, 66), +(46, 1292, 77), +(46, 1293, 83), +(46, 1294, 82), +(46, 1295, 89), +(46, 1296, 85), +(46, 1297, 73), +(46, 1298, 72), +(46, 1299, 92), +(46, 1300, 78), +(46, 1301, 66), +(46, 1302, 76), +(46, 1303, 90), +(46, 1304, 97), +(46, 1305, 78), +(46, 1306, 69), +(46, 1307, 72), +(46, 1308, 75), +(46, 1309, 93), +(46, 1310, 90), +(46, 1311, 78), +(46, 1312, 94), +(46, 1313, 87), +(46, 1314, 69), +(46, 1315, 98), +(46, 1316, 99), +(46, 1317, 92), +(46, 1318, 85), +(46, 1319, 66), +(46, 1320, 76), +(46, 1321, 94), +(46, 1322, 78), +(46, 1323, 97), +(46, 1324, 82), +(46, 1325, 71), +(46, 1326, 95), +(46, 1327, 74), +(46, 1328, 86), +(46, 1329, 91), +(46, 1330, 80), +(46, 1331, 65), +(46, 1332, 69), +(46, 1333, 94), +(46, 1334, 70), +(46, 1335, 85), +(46, 1336, 77), +(46, 1337, 78), +(46, 1338, 65), +(46, 1339, 66), +(46, 1340, 67), +(46, 1341, 67), +(46, 1342, 97), +(46, 1343, 67), +(46, 1344, 67), +(46, 1345, 90), +(46, 1346, 68), +(46, 1347, 68), +(46, 1348, 93), +(46, 1349, 78), +(46, 1350, 69), +(46, 1351, 84), +(46, 1352, 82), +(46, 1353, 69), +(46, 1354, 93), +(46, 1355, 73), +(46, 1356, 93), +(46, 1357, 65), +(46, 1358, 90), +(46, 1359, 89), +(46, 1360, 86), +(46, 1361, 74), +(46, 1362, 74), +(46, 1363, 83), +(46, 1364, 84), +(46, 1365, 98), +(46, 1366, 80), +(46, 1367, 90), +(46, 1368, 84), +(46, 1369, 82), +(46, 1370, 70), +(46, 1371, 87), +(46, 1372, 86), +(46, 1373, 88), +(46, 1374, 66), +(46, 1375, 96), +(46, 1376, 88), +(46, 1377, 87), +(46, 1378, 91), +(46, 1379, 71), +(46, 1380, 82), +(46, 1381, 76), +(46, 1382, 73), +(46, 1383, 75), +(46, 1384, 65), +(46, 1385, 76), +(46, 1386, 98), +(46, 1387, 81), +(46, 1388, 90), +(46, 1389, 65), +(46, 1390, 83), +(46, 1391, 75), +(46, 1392, 69), +(46, 1393, 85), +(46, 1394, 80), +(46, 1395, 90), +(46, 1396, 87), +(46, 1397, 76), +(46, 1398, 87), +(46, 1399, 73), +(46, 1400, 94), +(46, 1401, 66), +(46, 1402, 89), +(46, 1403, 80), +(46, 1404, 68), +(46, 1405, 82), +(46, 1406, 85), +(46, 1407, 80), +(46, 1408, 90), +(46, 1409, 67), +(46, 1410, 84), +(46, 1411, 71), +(46, 1412, 92), +(46, 1413, 98), +(46, 1414, 69), +(46, 1415, 92), +(46, 1416, 86), +(46, 1417, 78), +(46, 1418, 96), +(46, 1419, 97), +(46, 1420, 85), +(46, 1421, 99), +(46, 1422, 92), +(46, 1423, 85), +(46, 1424, 71), +(46, 1425, 74), +(46, 1426, 76), +(46, 1427, 98), +(46, 1428, 66), +(46, 1429, 87), +(46, 1430, 78), +(46, 1431, 96), +(46, 1432, 66), +(46, 1433, 72), +(46, 1434, 95), +(46, 1435, 92), +(46, 1436, 69), +(46, 1437, 99), +(46, 1438, 93), +(46, 1439, 72), +(46, 1440, 67), +(46, 1441, 92), +(46, 1442, 89), +(46, 1443, 78), +(46, 1444, 87), +(46, 1445, 66), +(46, 1446, 80), +(46, 1447, 99), +(46, 1448, 67), +(46, 1449, 84), +(46, 1450, 77), +(46, 1451, 85), +(46, 1452, 88), +(46, 1453, 97), +(46, 1454, 91), +(46, 1455, 78), +(46, 1456, 78), +(46, 1457, 82), +(46, 1458, 66), +(46, 1459, 91), +(46, 1460, 82), +(46, 1461, 78), +(46, 1462, 77), +(46, 1463, 69), +(46, 1464, 73), +(46, 1465, 65), +(46, 1466, 91), +(46, 1467, 70), +(46, 1468, 78), +(46, 1469, 85), +(46, 1470, 85), +(46, 1471, 96), +(46, 1472, 94), +(46, 1473, 75), +(46, 1474, 97), +(46, 1475, 69), +(46, 1476, 88), +(46, 1477, 73), +(46, 1478, 78), +(46, 1479, 91), +(46, 1480, 93), +(46, 1481, 89), +(46, 1482, 93), +(46, 1483, 73), +(46, 1484, 87), +(46, 1485, 68), +(46, 1486, 73), +(46, 1487, 97), +(46, 1488, 91), +(46, 1489, 92), +(46, 1490, 88), +(46, 1491, 99), +(46, 1492, 81), +(46, 1493, 66), +(46, 1494, 81), +(46, 1495, 95), +(46, 1496, 68), +(46, 1497, 87), +(46, 1498, 95), +(46, 1499, 78), +(46, 1500, 82), +(46, 1501, 92), +(46, 1502, 88), +(46, 1503, 94), +(46, 1504, 70), +(46, 1505, 72), +(46, 1506, 81), +(46, 1507, 74), +(46, 1508, 99), +(46, 1509, 91), +(46, 1510, 66), +(46, 1511, 70), +(46, 1512, 67), +(46, 1513, 98), +(46, 1514, 96), +(46, 1515, 67), +(46, 1516, 67), +(46, 1517, 84), +(46, 1518, 79), +(46, 1519, 89), +(46, 1520, 75), +(46, 1521, 88), +(46, 1522, 70), +(46, 1523, 66), +(46, 1524, 74), +(46, 1525, 95), +(46, 1526, 66), +(46, 1527, 80), +(46, 1528, 97), +(46, 1529, 87), +(46, 1530, 91), +(46, 1531, 80), +(46, 1532, 89), +(46, 1533, 93), +(46, 1534, 66), +(46, 1535, 88), +(46, 1536, 97), +(46, 1537, 68), +(46, 1538, 86), +(46, 1539, 82), +(46, 1540, 73), +(46, 1541, 90), +(46, 1542, 94), +(46, 1543, 68), +(46, 1544, 77), +(46, 1545, 79), +(46, 1546, 94), +(46, 1547, 77), +(46, 1548, 87), +(46, 1549, 94), +(46, 1550, 93), +(46, 1551, 98), +(46, 1552, 93), +(46, 1553, 92), +(46, 1554, 65), +(46, 1555, 88), +(46, 1556, 66), +(46, 1557, 70), +(46, 1558, 72), +(46, 1559, 75), +(46, 1560, 81), +(46, 1561, 72), +(46, 1562, 92), +(46, 1563, 88), +(46, 1564, 72), +(46, 1565, 73), +(46, 1566, 83), +(46, 1567, 73), +(46, 1568, 65), +(46, 1569, 70), +(46, 1570, 90), +(46, 1571, 74), +(46, 1572, 93), +(46, 1573, 68), +(46, 1574, 65), +(46, 1575, 75), +(46, 1576, 87), +(46, 1577, 74), +(46, 1578, 75), +(46, 1579, 99), +(46, 1580, 71), +(46, 1581, 75), +(46, 1582, 91), +(46, 1583, 93), +(46, 1584, 76), +(46, 1585, 71), +(46, 1586, 99), +(46, 1587, 79), +(46, 2047, 76), +(46, 2048, 96), +(46, 2049, 68), +(46, 2050, 78), +(46, 2051, 67), +(46, 2052, 78), +(46, 2053, 68), +(46, 2054, 75), +(46, 2055, 75), +(46, 2056, 97), +(46, 2057, 69), +(46, 2058, 85), +(46, 2059, 65), +(46, 2060, 81), +(46, 2061, 95), +(46, 2062, 77), +(46, 2063, 66), +(46, 2064, 70), +(46, 2065, 70), +(46, 2066, 99), +(46, 2067, 85), +(46, 2068, 90), +(46, 2069, 71), +(46, 2070, 90), +(46, 2071, 87), +(46, 2072, 67), +(46, 2073, 71), +(46, 2074, 82), +(46, 2075, 73), +(46, 2076, 81), +(46, 2077, 80), +(46, 2078, 90), +(46, 2079, 99), +(46, 2080, 79), +(46, 2081, 86), +(46, 2082, 66), +(46, 2083, 75), +(46, 2084, 82), +(46, 2085, 87), +(46, 2086, 98), +(46, 2087, 84), +(46, 2088, 67), +(46, 2089, 91), +(46, 2090, 92), +(46, 2091, 67), +(46, 2092, 68), +(46, 2093, 84), +(46, 2094, 86), +(46, 2095, 74), +(46, 2096, 81), +(46, 2097, 97), +(46, 2098, 68), +(46, 2099, 98), +(46, 2100, 90), +(46, 2101, 97), +(46, 2102, 95), +(46, 2103, 78), +(46, 2104, 74), +(46, 2105, 85), +(46, 2106, 67), +(46, 2107, 70), +(46, 2108, 96), +(46, 2109, 74), +(46, 2110, 92), +(46, 2111, 99), +(46, 2112, 92), +(46, 2113, 91), +(46, 2114, 68), +(46, 2115, 76), +(46, 2116, 88), +(46, 2117, 83), +(46, 2118, 74), +(46, 2119, 81), +(46, 2120, 97), +(46, 2121, 70), +(46, 2122, 89), +(46, 2123, 79), +(46, 2124, 71), +(46, 2125, 80), +(46, 2126, 86), +(46, 2127, 67), +(46, 2128, 99), +(46, 2129, 78), +(46, 2130, 67), +(46, 2131, 99), +(46, 2132, 81), +(46, 2133, 70), +(46, 2134, 73), +(46, 2135, 72), +(46, 2136, 88), +(46, 2137, 85), +(46, 2138, 82), +(46, 2139, 99), +(46, 2140, 81), +(46, 2141, 85), +(46, 2142, 73), +(46, 2143, 88), +(46, 2144, 97), +(46, 2145, 87), +(46, 2146, 92), +(46, 2147, 75), +(46, 2148, 65), +(46, 2149, 73), +(46, 2150, 82), +(46, 2151, 73), +(46, 2152, 90), +(46, 2153, 76), +(46, 2154, 98), +(46, 2155, 69), +(46, 2156, 96), +(46, 2157, 98), +(46, 2158, 67), +(46, 2159, 79), +(46, 2160, 86), +(46, 2161, 93), +(46, 2162, 81), +(46, 2163, 79), +(46, 2164, 80), +(46, 2165, 78), +(46, 2166, 95), +(46, 2167, 82), +(46, 2168, 91), +(46, 2169, 93), +(46, 2170, 89), +(46, 2171, 82), +(46, 2172, 88), +(46, 2173, 91), +(46, 2174, 99), +(46, 2175, 96), +(46, 2176, 83), +(46, 2177, 96), +(46, 2178, 69), +(46, 2179, 84), +(46, 2180, 91), +(46, 2181, 96), +(46, 2182, 81), +(46, 2183, 65), +(46, 2184, 73), +(46, 2185, 75), +(46, 2186, 79), +(46, 2187, 85), +(46, 2188, 85), +(46, 2189, 96), +(46, 2190, 76), +(46, 2191, 82), +(46, 2192, 69), +(46, 2193, 74), +(46, 2194, 77), +(46, 2195, 78), +(46, 2196, 82), +(46, 2197, 93), +(46, 2198, 67), +(46, 2199, 79), +(46, 2200, 97), +(46, 2201, 93), +(46, 2202, 77), +(46, 2203, 79), +(46, 2204, 86), +(46, 2205, 99), +(46, 2206, 65), +(46, 2207, 89), +(46, 2208, 93), +(46, 2209, 70), +(46, 2210, 94), +(46, 2211, 84), +(46, 2212, 78), +(46, 2213, 71), +(46, 2214, 83), +(46, 2215, 91), +(46, 2216, 99), +(46, 2217, 97), +(46, 2218, 69), +(46, 2219, 88), +(46, 2220, 96), +(46, 2221, 66), +(46, 2222, 90), +(46, 2223, 66), +(46, 2224, 89), +(46, 2225, 98), +(46, 2226, 96), +(46, 2227, 81), +(46, 2228, 71), +(46, 2229, 73), +(46, 2230, 78), +(46, 2231, 95), +(46, 2232, 94), +(46, 2233, 71), +(46, 2234, 90), +(46, 2235, 65), +(46, 2236, 84), +(46, 2237, 83), +(46, 2238, 76), +(46, 2239, 87), +(46, 2240, 87), +(46, 2241, 94), +(46, 2242, 81), +(46, 2243, 65), +(46, 2244, 91), +(46, 2245, 78), +(46, 2246, 85), +(46, 2247, 72), +(46, 2248, 85), +(46, 2249, 78), +(46, 2250, 94), +(46, 2251, 70), +(46, 2252, 69), +(46, 2253, 97), +(46, 2254, 69), +(46, 2255, 83), +(46, 2256, 79), +(46, 2257, 68), +(46, 2258, 87), +(46, 2259, 78), +(46, 2260, 84), +(46, 2261, 97), +(46, 2262, 88), +(46, 2263, 67), +(46, 2264, 66), +(46, 2265, 87), +(46, 2266, 82), +(46, 2267, 79), +(46, 2268, 99), +(46, 2269, 90), +(46, 2270, 65), +(46, 2271, 97), +(46, 2272, 86), +(46, 2273, 69), +(46, 2274, 95), +(46, 2275, 86), +(46, 2276, 85), +(46, 2277, 95), +(46, 2278, 98), +(46, 2279, 73), +(46, 2280, 71), +(46, 2281, 80), +(46, 2282, 77), +(46, 2283, 71), +(46, 2284, 90), +(46, 2285, 85), +(46, 2286, 97), +(46, 2287, 96), +(46, 2288, 85), +(46, 2289, 79), +(46, 2290, 66), +(46, 2291, 74), +(46, 2292, 89), +(46, 2293, 84), +(46, 2294, 87), +(46, 2295, 79), +(46, 2296, 85), +(46, 2297, 95), +(46, 2298, 81), +(46, 2299, 90), +(46, 2300, 76), +(46, 2301, 92), +(46, 2302, 83), +(46, 2303, 85), +(46, 2304, 74), +(46, 2305, 85), +(46, 2306, 94), +(46, 2307, 92), +(46, 2308, 91), +(46, 2309, 72), +(46, 2310, 95), +(46, 2311, 84), +(46, 2312, 66), +(46, 2313, 85), +(46, 2314, 95), +(46, 2315, 83), +(46, 2316, 87), +(46, 2317, 74), +(46, 2318, 72), +(46, 2319, 82), +(46, 2320, 73), +(46, 2321, 79), +(46, 2322, 79), +(46, 2323, 77), +(46, 2324, 66), +(46, 2325, 73), +(46, 2326, 88), +(46, 2327, 89), +(46, 2328, 67), +(46, 2329, 87), +(46, 2330, 75), +(46, 2331, 90), +(46, 2332, 76), +(46, 2333, 86), +(46, 2334, 78), +(46, 2335, 78), +(46, 2336, 75), +(46, 2337, 79), +(46, 2338, 93), +(46, 2339, 90), +(46, 2340, 70), +(46, 2341, 95), +(46, 2342, 96), +(46, 2343, 75), +(46, 2344, 85), +(46, 2345, 94), +(46, 2346, 69), +(46, 2347, 84), +(46, 2348, 87), +(46, 2349, 92), +(46, 2350, 65), +(46, 2351, 91), +(46, 2352, 87), +(46, 2353, 73), +(46, 2354, 75), +(46, 2355, 78), +(46, 2356, 83), +(46, 2357, 93), +(46, 2358, 85), +(46, 2359, 99), +(46, 2360, 95), +(46, 2361, 87), +(46, 2362, 88), +(46, 2363, 67), +(46, 2364, 80), +(46, 2365, 76), +(46, 2366, 69), +(46, 2367, 80), +(46, 2368, 67), +(46, 2369, 92), +(46, 2370, 71), +(46, 2371, 95), +(46, 2372, 83), +(46, 2373, 79), +(46, 2374, 97), +(46, 2375, 94), +(46, 2376, 98), +(46, 2377, 72), +(46, 2378, 98), +(46, 2379, 70), +(46, 2380, 76), +(46, 2381, 82), +(46, 2382, 85), +(46, 2383, 78), +(46, 2384, 92), +(46, 2385, 93), +(46, 2386, 65), +(46, 2387, 70), +(46, 2388, 80), +(46, 2389, 88), +(46, 2390, 77), +(46, 2391, 72), +(46, 2392, 89), +(46, 2393, 89), +(46, 2394, 78), +(46, 2395, 97), +(46, 2396, 70), +(46, 2397, 76), +(46, 2398, 75), +(46, 2399, 96), +(46, 2400, 67), +(46, 2401, 70), +(46, 2402, 87), +(46, 2403, 89), +(46, 2404, 95), +(46, 2405, 72), +(46, 2406, 95), +(46, 2407, 73), +(46, 2408, 87), +(46, 2409, 89), +(46, 2410, 68), +(46, 2411, 84), +(46, 2412, 76), +(46, 2413, 75), +(46, 2414, 73), +(46, 2415, 65), +(46, 2416, 98), +(46, 2417, 78), +(46, 2418, 71), +(46, 2419, 81), +(46, 2420, 92), +(46, 2421, 69), +(46, 2422, 85), +(46, 2423, 79), +(46, 2424, 97), +(46, 2425, 88), +(46, 2426, 71), +(46, 2427, 65), +(46, 2428, 69), +(46, 2429, 81), +(46, 2430, 97), +(46, 2431, 67), +(46, 2432, 96), +(46, 2433, 69), +(46, 2434, 99), +(46, 2435, 67), +(46, 2436, 75), +(46, 2437, 84), +(46, 2438, 65), +(46, 2439, 94), +(46, 2440, 88), +(46, 2441, 82), +(46, 2442, 79), +(46, 2443, 89), +(46, 2444, 88), +(46, 2445, 76), +(46, 2446, 87), +(46, 2447, 87), +(46, 2448, 84), +(46, 2449, 77), +(46, 2450, 90), +(46, 2451, 83), +(46, 2452, 84), +(46, 2453, 65), +(46, 2454, 88), +(46, 2455, 65), +(46, 2456, 81), +(46, 2457, 69), +(46, 2458, 85), +(46, 2459, 87), +(46, 2460, 75), +(46, 2461, 92), +(46, 2462, 93), +(46, 2463, 73), +(46, 2464, 98), +(46, 2465, 89), +(46, 2466, 75), +(46, 2467, 96), +(46, 2468, 98), +(46, 2469, 94), +(46, 2470, 69), +(46, 2471, 69), +(46, 2472, 73), +(46, 2473, 85), +(46, 2474, 98), +(46, 2475, 70), +(46, 2476, 74), +(46, 2477, 94), +(46, 2478, 83), +(46, 2479, 78), +(46, 2480, 87), +(46, 2481, 98), +(46, 2482, 66), +(46, 2483, 74), +(46, 2484, 86), +(46, 2485, 89), +(46, 2486, 93), +(46, 2487, 84), +(46, 2488, 80), +(46, 2489, 70), +(46, 2490, 88), +(46, 2491, 83), +(46, 2492, 91), +(46, 2493, 70), +(46, 2494, 67), +(46, 2495, 77), +(46, 2496, 89), +(46, 2497, 93), +(46, 2498, 85), +(46, 2499, 91), +(46, 2500, 68), +(46, 2501, 86), +(46, 2502, 71), +(46, 2503, 94), +(46, 2504, 93), +(46, 2505, 79), +(46, 2506, 87), +(46, 2507, 98), +(46, 2508, 80), +(46, 2509, 94), +(46, 2510, 71), +(46, 2511, 74), +(46, 2512, 68), +(46, 2513, 99), +(46, 2514, 89), +(46, 2515, 98), +(46, 2516, 81), +(46, 2517, 73), +(46, 2518, 82), +(46, 2519, 69), +(46, 2520, 79), +(46, 2521, 95), +(46, 2522, 77), +(46, 2523, 87), +(46, 2524, 76), +(46, 2525, 75), +(46, 2526, 84), +(46, 2527, 74), +(46, 2528, 78), +(46, 2529, 82), +(46, 2530, 66), +(46, 2531, 99), +(46, 2532, 84), +(46, 2533, 94), +(46, 2534, 95), +(46, 2535, 95), +(46, 2536, 95), +(46, 2537, 90), +(46, 2538, 84), +(46, 2539, 98), +(46, 2540, 93), +(46, 2541, 94), +(46, 2542, 70), +(46, 2543, 94), +(46, 2544, 80), +(46, 2545, 66), +(46, 2546, 79), +(46, 2547, 70), +(46, 2548, 90), +(46, 2549, 70), +(46, 2550, 77), +(46, 2551, 73), +(46, 2552, 87), +(46, 2553, 81), +(46, 2554, 88), +(46, 2555, 88), +(46, 2556, 74), +(46, 2557, 84), +(46, 2558, 73), +(46, 2559, 82), +(46, 2560, 91), +(46, 2561, 82), +(46, 2562, 92), +(46, 2563, 65), +(46, 2564, 80), +(46, 2565, 76), +(46, 2566, 66), +(46, 2567, 81), +(46, 2568, 88), +(46, 2569, 84), +(46, 2570, 74), +(46, 2571, 91), +(46, 2572, 97), +(46, 2573, 84), +(46, 2574, 81), +(46, 2575, 99), +(46, 2576, 80), +(46, 2577, 79), +(46, 2578, 93), +(46, 2579, 78), +(46, 2580, 91), +(46, 2581, 96), +(46, 2582, 93), +(46, 2583, 87), +(46, 2584, 96), +(46, 2585, 88), +(46, 2586, 69), +(46, 2587, 86), +(46, 2588, 93), +(46, 2589, 75), +(46, 2590, 81), +(46, 2591, 67), +(46, 2592, 71), +(46, 2593, 84), +(46, 2594, 79), +(46, 2595, 97), +(46, 2596, 65), +(46, 2597, 69), +(46, 2598, 71), +(46, 2599, 96), +(46, 2600, 66), +(46, 2601, 85), +(46, 2602, 96), +(46, 2603, 78), +(46, 2604, 85), +(46, 2605, 79), +(46, 2606, 96), +(46, 2607, 90), +(46, 2608, 93), +(46, 2609, 66), +(46, 2610, 94), +(47, 1, 65), +(47, 2, 77), +(47, 3, 74), +(47, 4, 78), +(47, 5, 73), +(47, 6, 84), +(47, 7, 77), +(47, 8, 86), +(47, 9, 92), +(47, 10, 82), +(47, 11, 83), +(47, 12, 73), +(47, 13, 75), +(47, 14, 84), +(47, 15, 96), +(47, 16, 67), +(47, 17, 99), +(47, 18, 72), +(47, 19, 72), +(47, 20, 86), +(47, 21, 92), +(47, 22, 78), +(47, 23, 85), +(47, 24, 91), +(47, 25, 66), +(47, 26, 77), +(47, 27, 94), +(47, 28, 76), +(47, 29, 69), +(47, 30, 70), +(47, 31, 85), +(47, 32, 69), +(47, 33, 94), +(47, 34, 95), +(47, 35, 90), +(47, 36, 94), +(47, 37, 95), +(47, 38, 98), +(47, 39, 90), +(47, 40, 66), +(47, 41, 65), +(47, 42, 79), +(47, 43, 77), +(47, 44, 78), +(47, 45, 65), +(47, 46, 87), +(47, 47, 67), +(47, 48, 69), +(47, 49, 99), +(47, 50, 82), +(47, 51, 73), +(47, 52, 90), +(47, 53, 72), +(47, 54, 95), +(47, 55, 91), +(47, 56, 70), +(47, 57, 83), +(47, 58, 82), +(47, 59, 97), +(47, 60, 88), +(47, 61, 74), +(47, 62, 67), +(47, 63, 91), +(47, 64, 97), +(47, 65, 68), +(47, 66, 82), +(47, 67, 75), +(47, 68, 79), +(47, 69, 87), +(47, 70, 87), +(47, 71, 94), +(47, 72, 86), +(47, 73, 97), +(47, 74, 98), +(47, 75, 94), +(47, 76, 74), +(47, 77, 66), +(47, 78, 99), +(47, 79, 65), +(47, 80, 84), +(47, 81, 78), +(47, 82, 91), +(47, 83, 92), +(47, 84, 90), +(47, 85, 98), +(47, 86, 92), +(47, 87, 70), +(47, 88, 99), +(47, 89, 81), +(47, 90, 85), +(47, 91, 90), +(47, 92, 88), +(47, 93, 84), +(47, 94, 98), +(47, 95, 79), +(47, 96, 72), +(47, 97, 66), +(47, 98, 81), +(47, 99, 84), +(47, 100, 77), +(47, 101, 70), +(47, 102, 78), +(47, 103, 94), +(47, 104, 87), +(47, 105, 73), +(47, 106, 86), +(47, 107, 78), +(47, 108, 85), +(47, 109, 89), +(47, 110, 99), +(47, 111, 69), +(47, 112, 65), +(47, 113, 99), +(47, 114, 77), +(47, 115, 91), +(47, 116, 90), +(47, 117, 83), +(47, 118, 83), +(47, 119, 67), +(47, 120, 73), +(47, 121, 96), +(47, 122, 85), +(47, 123, 85), +(47, 124, 88), +(47, 125, 99), +(47, 126, 65), +(47, 127, 88), +(47, 128, 99), +(47, 129, 85), +(47, 130, 96), +(47, 131, 67), +(47, 132, 97), +(47, 133, 96), +(47, 134, 65), +(47, 135, 71), +(47, 136, 77), +(47, 137, 86), +(47, 138, 89), +(47, 139, 76), +(47, 140, 67), +(47, 141, 68), +(47, 142, 98), +(47, 143, 74), +(47, 144, 67), +(47, 145, 84), +(47, 146, 81), +(47, 147, 90), +(47, 148, 94), +(47, 149, 92), +(47, 150, 80), +(47, 151, 83), +(47, 152, 68), +(47, 153, 93), +(47, 154, 96), +(47, 155, 69), +(47, 156, 86), +(47, 157, 85), +(47, 158, 73), +(47, 159, 69), +(47, 160, 76), +(47, 161, 90), +(47, 162, 87), +(47, 163, 69), +(47, 164, 80), +(47, 165, 81), +(47, 166, 84), +(47, 167, 78), +(47, 168, 94), +(47, 169, 87), +(47, 170, 82), +(47, 171, 94), +(47, 172, 66), +(47, 173, 77), +(47, 174, 92), +(47, 175, 68), +(47, 176, 81), +(47, 177, 76), +(47, 178, 89), +(47, 179, 93), +(47, 180, 65), +(47, 181, 75), +(47, 182, 65), +(47, 183, 82), +(47, 184, 92), +(47, 185, 72), +(47, 186, 89), +(47, 187, 85), +(47, 188, 71), +(47, 189, 91), +(47, 190, 72), +(47, 191, 96), +(47, 192, 88), +(47, 193, 65), +(47, 194, 87), +(47, 195, 83), +(47, 196, 67), +(47, 197, 92), +(47, 198, 88), +(47, 199, 93), +(47, 200, 68), +(47, 201, 66), +(47, 202, 88), +(47, 203, 74), +(47, 204, 69), +(47, 205, 87), +(47, 206, 78), +(47, 207, 94), +(47, 208, 94), +(47, 209, 80), +(47, 210, 85), +(47, 211, 93), +(47, 212, 83), +(47, 213, 75), +(47, 214, 90), +(47, 215, 82), +(47, 216, 89), +(47, 217, 72), +(47, 218, 92), +(47, 219, 72), +(47, 220, 69), +(47, 221, 77), +(47, 222, 90), +(47, 223, 75), +(47, 224, 92), +(47, 225, 94), +(47, 226, 79), +(47, 227, 65), +(47, 228, 76), +(47, 229, 96), +(47, 230, 66), +(47, 231, 71), +(47, 232, 84), +(47, 233, 83), +(47, 234, 95), +(47, 235, 91), +(47, 236, 91), +(47, 237, 90), +(47, 238, 79), +(47, 239, 81), +(47, 240, 91), +(47, 241, 91), +(47, 242, 94), +(47, 243, 93), +(47, 244, 88), +(47, 245, 65), +(47, 246, 97), +(47, 247, 86), +(47, 248, 74), +(47, 249, 80), +(47, 250, 85), +(47, 251, 97), +(47, 252, 77), +(47, 253, 96), +(47, 254, 85), +(47, 255, 96), +(47, 256, 80), +(47, 257, 72), +(47, 258, 84), +(47, 259, 97), +(47, 260, 91), +(47, 261, 71), +(47, 262, 70), +(47, 263, 88), +(47, 264, 95), +(47, 265, 93), +(47, 266, 93), +(47, 267, 99), +(47, 268, 98), +(47, 269, 66), +(47, 270, 94), +(47, 271, 82), +(47, 272, 81), +(47, 273, 88), +(47, 274, 68), +(47, 275, 89), +(47, 276, 97), +(47, 277, 90), +(47, 278, 86), +(47, 279, 97), +(47, 280, 79), +(47, 281, 92), +(47, 282, 65), +(47, 283, 72), +(47, 284, 75), +(47, 285, 99), +(47, 286, 77), +(47, 287, 90), +(47, 288, 87), +(47, 289, 94), +(47, 290, 97), +(47, 291, 69), +(47, 292, 89), +(47, 293, 75), +(47, 294, 65), +(47, 295, 88), +(47, 296, 96), +(47, 297, 75), +(47, 298, 78), +(47, 299, 92), +(47, 300, 81), +(47, 301, 90), +(47, 302, 77), +(47, 303, 87), +(47, 304, 97), +(47, 305, 79), +(47, 306, 80), +(47, 307, 67), +(47, 308, 90), +(47, 309, 69), +(47, 310, 92), +(47, 311, 78), +(47, 312, 69), +(47, 313, 74), +(47, 314, 96), +(47, 315, 84), +(47, 316, 66), +(47, 317, 65), +(47, 318, 73), +(47, 319, 97), +(47, 320, 74), +(47, 321, 70), +(47, 322, 90), +(47, 323, 68), +(47, 324, 74), +(47, 325, 94), +(47, 326, 89), +(47, 327, 88), +(47, 328, 95), +(47, 329, 67), +(47, 330, 68), +(47, 331, 69), +(47, 332, 89), +(47, 333, 78), +(47, 334, 67), +(47, 335, 90), +(47, 336, 66), +(47, 337, 68), +(47, 338, 68), +(47, 339, 66), +(47, 340, 73), +(47, 341, 65), +(47, 342, 80), +(47, 343, 97), +(47, 344, 90), +(47, 345, 98), +(47, 346, 90), +(47, 347, 99), +(47, 348, 85), +(47, 349, 73), +(47, 350, 90), +(47, 351, 90), +(47, 352, 69), +(47, 353, 81), +(47, 354, 72), +(47, 355, 81), +(47, 356, 77), +(47, 357, 98), +(47, 358, 98), +(47, 359, 86), +(47, 360, 91), +(47, 361, 81), +(47, 362, 71), +(47, 363, 87), +(47, 364, 94), +(47, 365, 68), +(47, 366, 97), +(47, 367, 92), +(47, 368, 87), +(47, 369, 93), +(47, 370, 85), +(47, 371, 76), +(47, 372, 85), +(47, 373, 96), +(47, 374, 77), +(47, 375, 84), +(47, 376, 92), +(47, 377, 89), +(47, 378, 78), +(47, 379, 99), +(47, 380, 65), +(47, 381, 66), +(47, 382, 72), +(47, 383, 75), +(47, 384, 71), +(47, 385, 83); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(47, 386, 89), +(47, 387, 83), +(47, 388, 85), +(47, 389, 95), +(47, 390, 86), +(47, 391, 68), +(47, 392, 67), +(47, 393, 90), +(47, 394, 65), +(47, 395, 91), +(47, 396, 70), +(47, 397, 74), +(47, 398, 80), +(47, 399, 90), +(47, 400, 99), +(47, 401, 82), +(47, 402, 71), +(47, 403, 89), +(47, 404, 93), +(47, 405, 69), +(47, 406, 87), +(47, 407, 92), +(47, 408, 96), +(47, 409, 89), +(47, 410, 97), +(47, 411, 72), +(47, 412, 81), +(47, 413, 86), +(47, 414, 74), +(47, 415, 93), +(47, 416, 87), +(47, 417, 67), +(47, 418, 87), +(47, 419, 87), +(47, 420, 86), +(47, 421, 76), +(47, 422, 98), +(47, 423, 93), +(47, 424, 66), +(47, 425, 67), +(47, 426, 79), +(47, 427, 77), +(47, 428, 73), +(47, 429, 74), +(47, 430, 85), +(47, 431, 81), +(47, 432, 88), +(47, 433, 99), +(47, 434, 68), +(47, 435, 92), +(47, 436, 97), +(47, 437, 89), +(47, 438, 70), +(47, 439, 87), +(47, 440, 74), +(47, 441, 74), +(47, 442, 86), +(47, 443, 82), +(47, 444, 99), +(47, 445, 94), +(47, 446, 95), +(47, 447, 90), +(47, 448, 76), +(47, 449, 69), +(47, 450, 86), +(47, 451, 81), +(47, 452, 88), +(47, 453, 85), +(47, 454, 92), +(47, 455, 94), +(47, 456, 75), +(47, 457, 70), +(47, 458, 91), +(47, 459, 84), +(47, 460, 94), +(47, 461, 98), +(47, 462, 76), +(47, 463, 70), +(47, 464, 96), +(47, 465, 72), +(47, 466, 67), +(47, 467, 81), +(47, 468, 68), +(47, 469, 88), +(47, 470, 86), +(47, 471, 76), +(47, 472, 65), +(47, 473, 92), +(47, 474, 91), +(47, 475, 81), +(47, 476, 78), +(47, 477, 92), +(47, 478, 93), +(47, 479, 79), +(47, 480, 74), +(47, 481, 94), +(47, 482, 66), +(47, 483, 74), +(47, 484, 78), +(47, 485, 97), +(47, 486, 72), +(47, 487, 68), +(47, 488, 91), +(47, 489, 86), +(47, 490, 82), +(47, 491, 96), +(47, 492, 81), +(47, 493, 76), +(47, 494, 90), +(47, 495, 81), +(47, 496, 96), +(47, 497, 81), +(47, 498, 82), +(47, 499, 96), +(47, 500, 70), +(47, 501, 90), +(47, 502, 65), +(47, 503, 89), +(47, 504, 92), +(47, 505, 85), +(47, 506, 75), +(47, 507, 75), +(47, 508, 90), +(47, 509, 80), +(47, 510, 81), +(47, 511, 68), +(47, 512, 84), +(47, 513, 71), +(47, 514, 79), +(47, 515, 95), +(47, 516, 77), +(47, 517, 70), +(47, 518, 76), +(47, 519, 93), +(47, 520, 67), +(47, 521, 80), +(47, 522, 94), +(47, 523, 69), +(47, 524, 97), +(47, 525, 92), +(47, 526, 82), +(47, 527, 84), +(47, 528, 79), +(47, 529, 76), +(47, 530, 91), +(47, 531, 91), +(47, 532, 93), +(47, 533, 69), +(47, 534, 93), +(47, 535, 75), +(47, 536, 99), +(47, 537, 96), +(47, 538, 99), +(47, 539, 75), +(47, 540, 92), +(47, 541, 90), +(47, 542, 90), +(47, 543, 81), +(47, 544, 74), +(47, 545, 81), +(47, 546, 73), +(47, 547, 94), +(47, 548, 80), +(47, 549, 80), +(47, 550, 95), +(47, 551, 81), +(47, 552, 71), +(47, 553, 85), +(47, 554, 87), +(47, 555, 88), +(47, 556, 67), +(47, 557, 81), +(47, 558, 79), +(47, 559, 75), +(47, 560, 68), +(47, 561, 66), +(47, 562, 84), +(47, 563, 87), +(47, 564, 71), +(47, 1024, 73), +(47, 1025, 99), +(47, 1026, 65), +(47, 1027, 93), +(47, 1028, 84), +(47, 1029, 65), +(47, 1030, 70), +(47, 1031, 77), +(47, 1032, 94), +(47, 1033, 67), +(47, 1034, 91), +(47, 1035, 76), +(47, 1036, 84), +(47, 1037, 91), +(47, 1038, 72), +(47, 1039, 85), +(47, 1040, 73), +(47, 1041, 94), +(47, 1042, 94), +(47, 1043, 73), +(47, 1044, 98), +(47, 1045, 96), +(47, 1046, 96), +(47, 1047, 87), +(47, 1048, 95), +(47, 1049, 91), +(47, 1050, 98), +(47, 1051, 81), +(47, 1052, 93), +(47, 1053, 77), +(47, 1054, 76), +(47, 1055, 71), +(47, 1056, 97), +(47, 1057, 75), +(47, 1058, 98), +(47, 1059, 74), +(47, 1060, 70), +(47, 1061, 85), +(47, 1062, 77), +(47, 1063, 91), +(47, 1064, 96), +(47, 1065, 85), +(47, 1066, 65), +(47, 1067, 79), +(47, 1068, 88), +(47, 1069, 77), +(47, 1070, 72), +(47, 1071, 85), +(47, 1072, 85), +(47, 1073, 76), +(47, 1074, 87), +(47, 1075, 86), +(47, 1076, 86), +(47, 1077, 72), +(47, 1078, 87), +(47, 1079, 92), +(47, 1080, 71), +(47, 1081, 87), +(47, 1082, 81), +(47, 1083, 70), +(47, 1084, 74), +(47, 1085, 85), +(47, 1086, 65), +(47, 1087, 88), +(47, 1088, 69), +(47, 1089, 83), +(47, 1090, 98), +(47, 1091, 66), +(47, 1092, 71), +(47, 1093, 93), +(47, 1094, 95), +(47, 1095, 76), +(47, 1096, 93), +(47, 1097, 95), +(47, 1098, 68), +(47, 1099, 68), +(47, 1100, 81), +(47, 1101, 79), +(47, 1102, 91), +(47, 1103, 91), +(47, 1104, 89), +(47, 1105, 65), +(47, 1106, 70), +(47, 1107, 67), +(47, 1108, 68), +(47, 1109, 87), +(47, 1110, 86), +(47, 1111, 91), +(47, 1112, 87), +(47, 1113, 91), +(47, 1114, 72), +(47, 1115, 73), +(47, 1116, 67), +(47, 1117, 75), +(47, 1118, 78), +(47, 1119, 98), +(47, 1120, 66), +(47, 1121, 95), +(47, 1122, 97), +(47, 1123, 85), +(47, 1124, 69), +(47, 1125, 88), +(47, 1126, 70), +(47, 1127, 97), +(47, 1128, 96), +(47, 1129, 97), +(47, 1130, 91), +(47, 1131, 99), +(47, 1132, 77), +(47, 1133, 76), +(47, 1134, 95), +(47, 1135, 70), +(47, 1136, 73), +(47, 1137, 92), +(47, 1138, 72), +(47, 1139, 78), +(47, 1140, 99), +(47, 1141, 67), +(47, 1142, 89), +(47, 1143, 82), +(47, 1144, 83), +(47, 1145, 72), +(47, 1146, 97), +(47, 1147, 78), +(47, 1148, 70), +(47, 1149, 66), +(47, 1150, 89), +(47, 1151, 93), +(47, 1152, 91), +(47, 1153, 94), +(47, 1154, 76), +(47, 1155, 80), +(47, 1156, 69), +(47, 1157, 74), +(47, 1158, 86), +(47, 1159, 94), +(47, 1160, 76), +(47, 1161, 78), +(47, 1162, 86), +(47, 1163, 83), +(47, 1164, 86), +(47, 1165, 83), +(47, 1166, 77), +(47, 1167, 74), +(47, 1168, 70), +(47, 1169, 87), +(47, 1170, 99), +(47, 1171, 70), +(47, 1172, 76), +(47, 1173, 77), +(47, 1174, 92), +(47, 1175, 83), +(47, 1176, 78), +(47, 1177, 89), +(47, 1178, 75), +(47, 1179, 98), +(47, 1180, 93), +(47, 1181, 76), +(47, 1182, 72), +(47, 1183, 75), +(47, 1184, 81), +(47, 1185, 92), +(47, 1186, 75), +(47, 1187, 70), +(47, 1188, 72), +(47, 1189, 96), +(47, 1190, 83), +(47, 1191, 71), +(47, 1192, 95), +(47, 1193, 97), +(47, 1194, 76), +(47, 1195, 66), +(47, 1196, 94), +(47, 1197, 67), +(47, 1198, 75), +(47, 1199, 65), +(47, 1200, 74), +(47, 1201, 86), +(47, 1202, 91), +(47, 1203, 81), +(47, 1204, 97), +(47, 1205, 82), +(47, 1206, 87), +(47, 1207, 85), +(47, 1208, 92), +(47, 1209, 83), +(47, 1210, 86), +(47, 1211, 95), +(47, 1212, 99), +(47, 1213, 89), +(47, 1214, 84), +(47, 1215, 69), +(47, 1216, 79), +(47, 1217, 71), +(47, 1218, 78), +(47, 1219, 98), +(47, 1220, 66), +(47, 1221, 70), +(47, 1222, 68), +(47, 1223, 80), +(47, 1224, 74), +(47, 1225, 75), +(47, 1226, 86), +(47, 1227, 92), +(47, 1228, 79), +(47, 1229, 82), +(47, 1230, 87), +(47, 1231, 71), +(47, 1232, 85), +(47, 1233, 84), +(47, 1234, 87), +(47, 1235, 97), +(47, 1236, 75), +(47, 1237, 91), +(47, 1238, 71), +(47, 1239, 98), +(47, 1240, 73), +(47, 1241, 95), +(47, 1242, 82), +(47, 1243, 68), +(47, 1244, 81), +(47, 1245, 82), +(47, 1246, 70), +(47, 1247, 80), +(47, 1248, 91), +(47, 1249, 85), +(47, 1250, 90), +(47, 1251, 90), +(47, 1252, 81), +(47, 1253, 98), +(47, 1254, 80), +(47, 1255, 95), +(47, 1256, 82), +(47, 1257, 92), +(47, 1258, 78), +(47, 1259, 65), +(47, 1260, 88), +(47, 1261, 94), +(47, 1262, 98), +(47, 1263, 67), +(47, 1264, 77), +(47, 1265, 79), +(47, 1266, 99), +(47, 1267, 66), +(47, 1268, 99), +(47, 1269, 99), +(47, 1270, 92), +(47, 1271, 99), +(47, 1272, 94), +(47, 1273, 76), +(47, 1274, 69), +(47, 1275, 75), +(47, 1276, 87), +(47, 1277, 93), +(47, 1278, 80), +(47, 1279, 65), +(47, 1280, 78), +(47, 1281, 90), +(47, 1282, 83), +(47, 1283, 94), +(47, 1284, 67), +(47, 1285, 80), +(47, 1286, 93), +(47, 1287, 76), +(47, 1288, 76), +(47, 1289, 85), +(47, 1290, 86), +(47, 1291, 90), +(47, 1292, 94), +(47, 1293, 72), +(47, 1294, 72), +(47, 1295, 68), +(47, 1296, 89), +(47, 1297, 75), +(47, 1298, 87), +(47, 1299, 82), +(47, 1300, 87), +(47, 1301, 88), +(47, 1302, 65), +(47, 1303, 70), +(47, 1304, 82), +(47, 1305, 95), +(47, 1306, 71), +(47, 1307, 94), +(47, 1308, 77), +(47, 1309, 69), +(47, 1310, 88), +(47, 1311, 90), +(47, 1312, 71), +(47, 1313, 99), +(47, 1314, 84), +(47, 1315, 91), +(47, 1316, 80), +(47, 1317, 91), +(47, 1318, 67), +(47, 1319, 91), +(47, 1320, 66), +(47, 1321, 79), +(47, 1322, 94), +(47, 1323, 65), +(47, 1324, 94), +(47, 1325, 86), +(47, 1326, 85), +(47, 1327, 98), +(47, 1328, 65), +(47, 1329, 98), +(47, 1330, 82), +(47, 1331, 69), +(47, 1332, 81), +(47, 1333, 71), +(47, 1334, 65), +(47, 1335, 96), +(47, 1336, 83), +(47, 1337, 77), +(47, 1338, 80), +(47, 1339, 71), +(47, 1340, 88), +(47, 1341, 74), +(47, 1342, 92), +(47, 1343, 69), +(47, 1344, 70), +(47, 1345, 94), +(47, 1346, 71), +(47, 1347, 69), +(47, 1348, 79), +(47, 1349, 90), +(47, 1350, 88), +(47, 1351, 85), +(47, 1352, 96), +(47, 1353, 97), +(47, 1354, 74), +(47, 1355, 80), +(47, 1356, 81), +(47, 1357, 73), +(47, 1358, 93), +(47, 1359, 94), +(47, 1360, 80), +(47, 1361, 70), +(47, 1362, 87), +(47, 1363, 70), +(47, 1364, 75), +(47, 1365, 79), +(47, 1366, 77), +(47, 1367, 78), +(47, 1368, 97), +(47, 1369, 71), +(47, 1370, 65), +(47, 1371, 69), +(47, 1372, 94), +(47, 1373, 65), +(47, 1374, 86), +(47, 1375, 83), +(47, 1376, 69), +(47, 1377, 68), +(47, 1378, 85), +(47, 1379, 68), +(47, 1380, 69), +(47, 1381, 79), +(47, 1382, 85), +(47, 1383, 99), +(47, 1384, 86), +(47, 1385, 66), +(47, 1386, 71), +(47, 1387, 79), +(47, 1388, 74), +(47, 1389, 79), +(47, 1390, 85), +(47, 1391, 87), +(47, 1392, 94), +(47, 1393, 92), +(47, 1394, 94), +(47, 1395, 72), +(47, 1396, 81), +(47, 1397, 84), +(47, 1398, 84), +(47, 1399, 96), +(47, 1400, 95), +(47, 1401, 95), +(47, 1402, 77), +(47, 1403, 97), +(47, 1404, 84), +(47, 1405, 87), +(47, 1406, 78), +(47, 1407, 81), +(47, 1408, 69), +(47, 1409, 70), +(47, 1410, 79), +(47, 1411, 95), +(47, 1412, 95), +(47, 1413, 89), +(47, 1414, 73), +(47, 1415, 99), +(47, 1416, 99), +(47, 1417, 83), +(47, 1418, 93), +(47, 1419, 67), +(47, 1420, 67), +(47, 1421, 66), +(47, 1422, 84), +(47, 1423, 66), +(47, 1424, 84), +(47, 1425, 76), +(47, 1426, 80), +(47, 1427, 67), +(47, 1428, 91), +(47, 1429, 80), +(47, 1430, 93), +(47, 1431, 98), +(47, 1432, 75), +(47, 1433, 94), +(47, 1434, 94), +(47, 1435, 69), +(47, 1436, 81), +(47, 1437, 73), +(47, 1438, 90), +(47, 1439, 81), +(47, 1440, 70), +(47, 1441, 72), +(47, 1442, 69), +(47, 1443, 79), +(47, 1444, 94), +(47, 1445, 82), +(47, 1446, 96), +(47, 1447, 76), +(47, 1448, 70), +(47, 1449, 78), +(47, 1450, 96), +(47, 1451, 91), +(47, 1452, 74), +(47, 1453, 76), +(47, 1454, 92), +(47, 1455, 94), +(47, 1456, 86), +(47, 1457, 73), +(47, 1458, 74), +(47, 1459, 86), +(47, 1460, 80), +(47, 1461, 75), +(47, 1462, 68), +(47, 1463, 98), +(47, 1464, 84), +(47, 1465, 94), +(47, 1466, 68), +(47, 1467, 82), +(47, 1468, 86), +(47, 1469, 98), +(47, 1470, 95), +(47, 1471, 71), +(47, 1472, 88), +(47, 1473, 66), +(47, 1474, 95), +(47, 1475, 95), +(47, 1476, 83), +(47, 1477, 76), +(47, 1478, 92), +(47, 1479, 74), +(47, 1480, 65), +(47, 1481, 92), +(47, 1482, 76), +(47, 1483, 88), +(47, 1484, 99), +(47, 1485, 69), +(47, 1486, 84), +(47, 1487, 91), +(47, 1488, 94), +(47, 1489, 92), +(47, 1490, 73), +(47, 1491, 98), +(47, 1492, 98), +(47, 1493, 84), +(47, 1494, 65), +(47, 1495, 83), +(47, 1496, 93), +(47, 1497, 69), +(47, 1498, 75), +(47, 1499, 78), +(47, 1500, 87), +(47, 1501, 93), +(47, 1502, 93), +(47, 1503, 93), +(47, 1504, 77), +(47, 1505, 99), +(47, 1506, 98), +(47, 1507, 98), +(47, 1508, 69), +(47, 1509, 85), +(47, 1510, 82), +(47, 1511, 94), +(47, 1512, 90), +(47, 1513, 65), +(47, 1514, 85), +(47, 1515, 92), +(47, 1516, 93), +(47, 1517, 96), +(47, 1518, 86), +(47, 1519, 68), +(47, 1520, 71), +(47, 1521, 73), +(47, 1522, 71), +(47, 1523, 85), +(47, 1524, 96), +(47, 1525, 76), +(47, 1526, 70), +(47, 1527, 65), +(47, 1528, 75), +(47, 1529, 66), +(47, 1530, 79), +(47, 1531, 98), +(47, 1532, 85), +(47, 1533, 75), +(47, 1534, 99), +(47, 1535, 78), +(47, 1536, 89), +(47, 1537, 92), +(47, 1538, 82), +(47, 1539, 89), +(47, 1540, 99), +(47, 1541, 68), +(47, 1542, 97), +(47, 1543, 99), +(47, 1544, 72), +(47, 1545, 99), +(47, 1546, 76), +(47, 1547, 94), +(47, 1548, 72), +(47, 1549, 84), +(47, 1550, 97), +(47, 1551, 81), +(47, 1552, 68), +(47, 1553, 67), +(47, 1554, 70), +(47, 1555, 89), +(47, 1556, 98), +(47, 1557, 80), +(47, 1558, 66), +(47, 1559, 66), +(47, 1560, 76), +(47, 1561, 86), +(47, 1562, 79), +(47, 1563, 73), +(47, 1564, 65), +(47, 1565, 66), +(47, 1566, 80), +(47, 1567, 75), +(47, 1568, 68), +(47, 1569, 91), +(47, 1570, 65), +(47, 1571, 91), +(47, 1572, 78), +(47, 1573, 71), +(47, 1574, 91), +(47, 1575, 96), +(47, 1576, 65), +(47, 1577, 85), +(47, 1578, 77), +(47, 1579, 87), +(47, 1580, 78), +(47, 1581, 72), +(47, 1582, 67), +(47, 1583, 97), +(47, 1584, 94), +(47, 1585, 79), +(47, 1586, 80), +(47, 1587, 99), +(47, 2047, 89), +(47, 2048, 70), +(47, 2049, 96), +(47, 2050, 91), +(47, 2051, 98), +(47, 2052, 69), +(47, 2053, 66), +(47, 2054, 91), +(47, 2055, 87), +(47, 2056, 92), +(47, 2057, 82), +(47, 2058, 77), +(47, 2059, 91), +(47, 2060, 85), +(47, 2061, 86), +(47, 2062, 87), +(47, 2063, 97), +(47, 2064, 77), +(47, 2065, 99), +(47, 2066, 83), +(47, 2067, 83), +(47, 2068, 79), +(47, 2069, 91), +(47, 2070, 84), +(47, 2071, 95), +(47, 2072, 96), +(47, 2073, 85), +(47, 2074, 69), +(47, 2075, 79), +(47, 2076, 88), +(47, 2077, 76), +(47, 2078, 78), +(47, 2079, 83), +(47, 2080, 92), +(47, 2081, 95), +(47, 2082, 89), +(47, 2083, 75), +(47, 2084, 81), +(47, 2085, 94), +(47, 2086, 72), +(47, 2087, 66), +(47, 2088, 87), +(47, 2089, 71), +(47, 2090, 93), +(47, 2091, 69), +(47, 2092, 66), +(47, 2093, 97), +(47, 2094, 99), +(47, 2095, 71), +(47, 2096, 78), +(47, 2097, 74), +(47, 2098, 80), +(47, 2099, 95), +(47, 2100, 84), +(47, 2101, 66), +(47, 2102, 73), +(47, 2103, 86), +(47, 2104, 78), +(47, 2105, 84), +(47, 2106, 85), +(47, 2107, 97), +(47, 2108, 76), +(47, 2109, 75), +(47, 2110, 66), +(47, 2111, 81), +(47, 2112, 92), +(47, 2113, 70), +(47, 2114, 75), +(47, 2115, 69), +(47, 2116, 98), +(47, 2117, 84), +(47, 2118, 85), +(47, 2119, 67), +(47, 2120, 71), +(47, 2121, 65), +(47, 2122, 97), +(47, 2123, 79), +(47, 2124, 89), +(47, 2125, 66), +(47, 2126, 94), +(47, 2127, 82), +(47, 2128, 84), +(47, 2129, 68), +(47, 2130, 69), +(47, 2131, 82), +(47, 2132, 66), +(47, 2133, 70), +(47, 2134, 94), +(47, 2135, 83), +(47, 2136, 90), +(47, 2137, 73), +(47, 2138, 77), +(47, 2139, 86), +(47, 2140, 89), +(47, 2141, 82), +(47, 2142, 98), +(47, 2143, 68), +(47, 2144, 80), +(47, 2145, 91), +(47, 2146, 68), +(47, 2147, 99), +(47, 2148, 82), +(47, 2149, 82), +(47, 2150, 71), +(47, 2151, 67), +(47, 2152, 92), +(47, 2153, 91), +(47, 2154, 77), +(47, 2155, 82), +(47, 2156, 89), +(47, 2157, 89), +(47, 2158, 99), +(47, 2159, 86), +(47, 2160, 83), +(47, 2161, 66), +(47, 2162, 85), +(47, 2163, 76), +(47, 2164, 74), +(47, 2165, 72), +(47, 2166, 75), +(47, 2167, 96), +(47, 2168, 77), +(47, 2169, 93), +(47, 2170, 68), +(47, 2171, 70), +(47, 2172, 75), +(47, 2173, 85), +(47, 2174, 97), +(47, 2175, 82), +(47, 2176, 67), +(47, 2177, 92), +(47, 2178, 66), +(47, 2179, 69), +(47, 2180, 94), +(47, 2181, 98), +(47, 2182, 99), +(47, 2183, 82), +(47, 2184, 77), +(47, 2185, 95), +(47, 2186, 78), +(47, 2187, 66), +(47, 2188, 83), +(47, 2189, 70), +(47, 2190, 94), +(47, 2191, 67), +(47, 2192, 83), +(47, 2193, 84), +(47, 2194, 93), +(47, 2195, 89), +(47, 2196, 89), +(47, 2197, 90), +(47, 2198, 99), +(47, 2199, 99), +(47, 2200, 89), +(47, 2201, 79), +(47, 2202, 91), +(47, 2203, 89), +(47, 2204, 91), +(47, 2205, 68), +(47, 2206, 68), +(47, 2207, 65), +(47, 2208, 67), +(47, 2209, 90), +(47, 2210, 66), +(47, 2211, 99), +(47, 2212, 73), +(47, 2213, 91), +(47, 2214, 72), +(47, 2215, 65), +(47, 2216, 84), +(47, 2217, 74), +(47, 2218, 83), +(47, 2219, 95), +(47, 2220, 72), +(47, 2221, 91), +(47, 2222, 71), +(47, 2223, 72), +(47, 2224, 84), +(47, 2225, 99), +(47, 2226, 90), +(47, 2227, 95), +(47, 2228, 94), +(47, 2229, 96), +(47, 2230, 90), +(47, 2231, 72), +(47, 2232, 96), +(47, 2233, 73), +(47, 2234, 92), +(47, 2235, 80), +(47, 2236, 92), +(47, 2237, 75), +(47, 2238, 96), +(47, 2239, 86), +(47, 2240, 98), +(47, 2241, 78), +(47, 2242, 71), +(47, 2243, 83), +(47, 2244, 74), +(47, 2245, 67), +(47, 2246, 68), +(47, 2247, 72), +(47, 2248, 66), +(47, 2249, 86), +(47, 2250, 83), +(47, 2251, 96), +(47, 2252, 94), +(47, 2253, 82), +(47, 2254, 88), +(47, 2255, 73), +(47, 2256, 99), +(47, 2257, 68), +(47, 2258, 77), +(47, 2259, 88), +(47, 2260, 91), +(47, 2261, 89), +(47, 2262, 82), +(47, 2263, 69), +(47, 2264, 68), +(47, 2265, 84), +(47, 2266, 99), +(47, 2267, 95), +(47, 2268, 93), +(47, 2269, 83), +(47, 2270, 82), +(47, 2271, 65), +(47, 2272, 74), +(47, 2273, 83), +(47, 2274, 85), +(47, 2275, 89), +(47, 2276, 82), +(47, 2277, 77), +(47, 2278, 68), +(47, 2279, 82), +(47, 2280, 97), +(47, 2281, 75), +(47, 2282, 97), +(47, 2283, 70), +(47, 2284, 94), +(47, 2285, 68), +(47, 2286, 98), +(47, 2287, 84), +(47, 2288, 98), +(47, 2289, 73), +(47, 2290, 94), +(47, 2291, 91), +(47, 2292, 67), +(47, 2293, 66), +(47, 2294, 72), +(47, 2295, 70), +(47, 2296, 84), +(47, 2297, 71), +(47, 2298, 75), +(47, 2299, 74), +(47, 2300, 68), +(47, 2301, 92), +(47, 2302, 75), +(47, 2303, 82), +(47, 2304, 69), +(47, 2305, 66), +(47, 2306, 82), +(47, 2307, 71), +(47, 2308, 65), +(47, 2309, 85), +(47, 2310, 74), +(47, 2311, 74), +(47, 2312, 88), +(47, 2313, 74), +(47, 2314, 67), +(47, 2315, 85), +(47, 2316, 90), +(47, 2317, 94), +(47, 2318, 87), +(47, 2319, 99), +(47, 2320, 82), +(47, 2321, 78), +(47, 2322, 67), +(47, 2323, 99), +(47, 2324, 91), +(47, 2325, 81), +(47, 2326, 99), +(47, 2327, 96), +(47, 2328, 78), +(47, 2329, 68), +(47, 2330, 80), +(47, 2331, 74), +(47, 2332, 81), +(47, 2333, 95), +(47, 2334, 89), +(47, 2335, 66), +(47, 2336, 96), +(47, 2337, 66), +(47, 2338, 82), +(47, 2339, 67), +(47, 2340, 92), +(47, 2341, 85), +(47, 2342, 86), +(47, 2343, 99), +(47, 2344, 69), +(47, 2345, 93), +(47, 2346, 88), +(47, 2347, 99), +(47, 2348, 92), +(47, 2349, 81), +(47, 2350, 87), +(47, 2351, 73), +(47, 2352, 95), +(47, 2353, 77), +(47, 2354, 81), +(47, 2355, 72), +(47, 2356, 78), +(47, 2357, 88), +(47, 2358, 69), +(47, 2359, 78), +(47, 2360, 89), +(47, 2361, 86), +(47, 2362, 84), +(47, 2363, 86), +(47, 2364, 80), +(47, 2365, 81), +(47, 2366, 72), +(47, 2367, 80), +(47, 2368, 77), +(47, 2369, 84), +(47, 2370, 88), +(47, 2371, 97), +(47, 2372, 69), +(47, 2373, 79), +(47, 2374, 78), +(47, 2375, 68), +(47, 2376, 87), +(47, 2377, 96), +(47, 2378, 77), +(47, 2379, 95), +(47, 2380, 96), +(47, 2381, 67), +(47, 2382, 75), +(47, 2383, 70), +(47, 2384, 75), +(47, 2385, 96), +(47, 2386, 96), +(47, 2387, 90), +(47, 2388, 73), +(47, 2389, 65), +(47, 2390, 82), +(47, 2391, 97), +(47, 2392, 70), +(47, 2393, 74), +(47, 2394, 99), +(47, 2395, 97), +(47, 2396, 75), +(47, 2397, 98), +(47, 2398, 82), +(47, 2399, 72), +(47, 2400, 89), +(47, 2401, 81), +(47, 2402, 94), +(47, 2403, 95), +(47, 2404, 95), +(47, 2405, 66), +(47, 2406, 67), +(47, 2407, 92), +(47, 2408, 94), +(47, 2409, 95), +(47, 2410, 66), +(47, 2411, 87), +(47, 2412, 85), +(47, 2413, 81), +(47, 2414, 95), +(47, 2415, 78), +(47, 2416, 77), +(47, 2417, 65), +(47, 2418, 94), +(47, 2419, 99), +(47, 2420, 72), +(47, 2421, 70), +(47, 2422, 73), +(47, 2423, 93), +(47, 2424, 85), +(47, 2425, 65), +(47, 2426, 66), +(47, 2427, 96), +(47, 2428, 71), +(47, 2429, 96), +(47, 2430, 91), +(47, 2431, 71), +(47, 2432, 73), +(47, 2433, 77), +(47, 2434, 77), +(47, 2435, 94), +(47, 2436, 75), +(47, 2437, 81), +(47, 2438, 79), +(47, 2439, 71), +(47, 2440, 94), +(47, 2441, 90), +(47, 2442, 89), +(47, 2443, 98), +(47, 2444, 84), +(47, 2445, 97), +(47, 2446, 89), +(47, 2447, 97), +(47, 2448, 81), +(47, 2449, 71), +(47, 2450, 80), +(47, 2451, 85), +(47, 2452, 68), +(47, 2453, 91), +(47, 2454, 73), +(47, 2455, 66), +(47, 2456, 89), +(47, 2457, 81), +(47, 2458, 96), +(47, 2459, 74), +(47, 2460, 93), +(47, 2461, 92), +(47, 2462, 86), +(47, 2463, 99), +(47, 2464, 81), +(47, 2465, 73), +(47, 2466, 91), +(47, 2467, 78), +(47, 2468, 86), +(47, 2469, 70), +(47, 2470, 65), +(47, 2471, 85), +(47, 2472, 67), +(47, 2473, 67), +(47, 2474, 92), +(47, 2475, 98), +(47, 2476, 88), +(47, 2477, 82), +(47, 2478, 94), +(47, 2479, 87), +(47, 2480, 92), +(47, 2481, 67), +(47, 2482, 86), +(47, 2483, 85), +(47, 2484, 75), +(47, 2485, 99), +(47, 2486, 73), +(47, 2487, 84), +(47, 2488, 92), +(47, 2489, 79), +(47, 2490, 75), +(47, 2491, 75), +(47, 2492, 75), +(47, 2493, 71), +(47, 2494, 75), +(47, 2495, 81), +(47, 2496, 90), +(47, 2497, 77), +(47, 2498, 85), +(47, 2499, 92), +(47, 2500, 94), +(47, 2501, 74), +(47, 2502, 82), +(47, 2503, 86), +(47, 2504, 72), +(47, 2505, 86), +(47, 2506, 82), +(47, 2507, 71), +(47, 2508, 65), +(47, 2509, 88), +(47, 2510, 72), +(47, 2511, 80), +(47, 2512, 84), +(47, 2513, 70), +(47, 2514, 66), +(47, 2515, 89), +(47, 2516, 72), +(47, 2517, 95), +(47, 2518, 82), +(47, 2519, 74), +(47, 2520, 70), +(47, 2521, 83), +(47, 2522, 70), +(47, 2523, 75), +(47, 2524, 96), +(47, 2525, 85), +(47, 2526, 66), +(47, 2527, 96), +(47, 2528, 85), +(47, 2529, 74), +(47, 2530, 68), +(47, 2531, 86), +(47, 2532, 74), +(47, 2533, 81), +(47, 2534, 97), +(47, 2535, 88), +(47, 2536, 66), +(47, 2537, 88), +(47, 2538, 97), +(47, 2539, 88), +(47, 2540, 68), +(47, 2541, 78), +(47, 2542, 79), +(47, 2543, 98), +(47, 2544, 72), +(47, 2545, 81), +(47, 2546, 87), +(47, 2547, 88), +(47, 2548, 92), +(47, 2549, 83), +(47, 2550, 68), +(47, 2551, 88), +(47, 2552, 85), +(47, 2553, 66), +(47, 2554, 66), +(47, 2555, 69), +(47, 2556, 65), +(47, 2557, 91), +(47, 2558, 73), +(47, 2559, 68), +(47, 2560, 83), +(47, 2561, 86), +(47, 2562, 73), +(47, 2563, 67), +(47, 2564, 67), +(47, 2565, 95), +(47, 2566, 76), +(47, 2567, 86), +(47, 2568, 76), +(47, 2569, 73), +(47, 2570, 70), +(47, 2571, 70), +(47, 2572, 87), +(47, 2573, 78), +(47, 2574, 82), +(47, 2575, 92), +(47, 2576, 88), +(47, 2577, 66), +(47, 2578, 77), +(47, 2579, 96), +(47, 2580, 68), +(47, 2581, 78), +(47, 2582, 78), +(47, 2583, 83), +(47, 2584, 71), +(47, 2585, 72), +(47, 2586, 97), +(47, 2587, 92), +(47, 2588, 78), +(47, 2589, 86), +(47, 2590, 80), +(47, 2591, 86), +(47, 2592, 66), +(47, 2593, 84), +(47, 2594, 87), +(47, 2595, 71), +(47, 2596, 69), +(47, 2597, 94), +(47, 2598, 75), +(47, 2599, 80), +(47, 2600, 97), +(47, 2601, 92), +(47, 2602, 68), +(47, 2603, 73), +(47, 2604, 76), +(47, 2605, 98), +(47, 2606, 78), +(47, 2607, 93), +(47, 2608, 74), +(47, 2609, 70), +(47, 2610, 77), +(48, 1, 69), +(48, 2, 90), +(48, 3, 77), +(48, 4, 98), +(48, 5, 67), +(48, 6, 90), +(48, 7, 78), +(48, 8, 97), +(48, 9, 65), +(48, 10, 69), +(48, 11, 99), +(48, 12, 90), +(48, 13, 99), +(48, 14, 85), +(48, 15, 73), +(48, 16, 76), +(48, 17, 77), +(48, 18, 68), +(48, 19, 65), +(48, 20, 80), +(48, 21, 86), +(48, 22, 71), +(48, 23, 88), +(48, 24, 71), +(48, 25, 70), +(48, 26, 99), +(48, 27, 67), +(48, 28, 69), +(48, 29, 98), +(48, 30, 70), +(48, 31, 89), +(48, 32, 87), +(48, 33, 66), +(48, 34, 69), +(48, 35, 92), +(48, 36, 68), +(48, 37, 92), +(48, 38, 73), +(48, 39, 65), +(48, 40, 89), +(48, 41, 78), +(48, 42, 80), +(48, 43, 70), +(48, 44, 89), +(48, 45, 80), +(48, 46, 84), +(48, 47, 90), +(48, 48, 71), +(48, 49, 73), +(48, 50, 92), +(48, 51, 78), +(48, 52, 93), +(48, 53, 96), +(48, 54, 69), +(48, 55, 65), +(48, 56, 83), +(48, 57, 71), +(48, 58, 74), +(48, 59, 80), +(48, 60, 83), +(48, 61, 86), +(48, 62, 88), +(48, 63, 79), +(48, 64, 73), +(48, 65, 71), +(48, 66, 78), +(48, 67, 89), +(48, 68, 68), +(48, 69, 72), +(48, 70, 76), +(48, 71, 98), +(48, 72, 92), +(48, 73, 85), +(48, 74, 67), +(48, 75, 78), +(48, 76, 77), +(48, 77, 89), +(48, 78, 88), +(48, 79, 93), +(48, 80, 81), +(48, 81, 66), +(48, 82, 92), +(48, 83, 90), +(48, 84, 98), +(48, 85, 83), +(48, 86, 73), +(48, 87, 70), +(48, 88, 77), +(48, 89, 79), +(48, 90, 96), +(48, 91, 69), +(48, 92, 91), +(48, 93, 85), +(48, 94, 79), +(48, 95, 82), +(48, 96, 70), +(48, 97, 71), +(48, 98, 74), +(48, 99, 79), +(48, 100, 77), +(48, 101, 69), +(48, 102, 69), +(48, 103, 92), +(48, 104, 83), +(48, 105, 76), +(48, 106, 88), +(48, 107, 91), +(48, 108, 85), +(48, 109, 66), +(48, 110, 93), +(48, 111, 72), +(48, 112, 98), +(48, 113, 92), +(48, 114, 72), +(48, 115, 89), +(48, 116, 82), +(48, 117, 96), +(48, 118, 84), +(48, 119, 97), +(48, 120, 74), +(48, 121, 68), +(48, 122, 75), +(48, 123, 86), +(48, 124, 92), +(48, 125, 89), +(48, 126, 87), +(48, 127, 74), +(48, 128, 75), +(48, 129, 94), +(48, 130, 98), +(48, 131, 76), +(48, 132, 74), +(48, 133, 90), +(48, 134, 88), +(48, 135, 86), +(48, 136, 67), +(48, 137, 72), +(48, 138, 83), +(48, 139, 76), +(48, 140, 68), +(48, 141, 92), +(48, 142, 66), +(48, 143, 71), +(48, 144, 75), +(48, 145, 72), +(48, 146, 87), +(48, 147, 83), +(48, 148, 91), +(48, 149, 97), +(48, 150, 65), +(48, 151, 91), +(48, 152, 76), +(48, 153, 72), +(48, 154, 85), +(48, 155, 72), +(48, 156, 95), +(48, 157, 75), +(48, 158, 79), +(48, 159, 66), +(48, 160, 84), +(48, 161, 78), +(48, 162, 71), +(48, 163, 73), +(48, 164, 85), +(48, 165, 68), +(48, 166, 84), +(48, 167, 68), +(48, 168, 98), +(48, 169, 67), +(48, 170, 78), +(48, 171, 69), +(48, 172, 82), +(48, 173, 66), +(48, 174, 76), +(48, 175, 78), +(48, 176, 79), +(48, 177, 66), +(48, 178, 96), +(48, 179, 69), +(48, 180, 96), +(48, 181, 83), +(48, 182, 80), +(48, 183, 79), +(48, 184, 83), +(48, 185, 81), +(48, 186, 80), +(48, 187, 92), +(48, 188, 84), +(48, 189, 94), +(48, 190, 97), +(48, 191, 75), +(48, 192, 96), +(48, 193, 65), +(48, 194, 66), +(48, 195, 83), +(48, 196, 88), +(48, 197, 74), +(48, 198, 84), +(48, 199, 87), +(48, 200, 88), +(48, 201, 75), +(48, 202, 93), +(48, 203, 73), +(48, 204, 92), +(48, 205, 96), +(48, 206, 65), +(48, 207, 71), +(48, 208, 71), +(48, 209, 81), +(48, 210, 87), +(48, 211, 94), +(48, 212, 85), +(48, 213, 96), +(48, 214, 81), +(48, 215, 82), +(48, 216, 87), +(48, 217, 74), +(48, 218, 76), +(48, 219, 95), +(48, 220, 66), +(48, 221, 83), +(48, 222, 90), +(48, 223, 77), +(48, 224, 91), +(48, 225, 73), +(48, 226, 73), +(48, 227, 96), +(48, 228, 73), +(48, 229, 98), +(48, 230, 65), +(48, 231, 89), +(48, 232, 73), +(48, 233, 83), +(48, 234, 87), +(48, 235, 84), +(48, 236, 98), +(48, 237, 90), +(48, 238, 96), +(48, 239, 99), +(48, 240, 65), +(48, 241, 97), +(48, 242, 79), +(48, 243, 87), +(48, 244, 82), +(48, 245, 89), +(48, 246, 87), +(48, 247, 81), +(48, 248, 93), +(48, 249, 76), +(48, 250, 66), +(48, 251, 99), +(48, 252, 76), +(48, 253, 83), +(48, 254, 81), +(48, 255, 65), +(48, 256, 74), +(48, 257, 76), +(48, 258, 87), +(48, 259, 92), +(48, 260, 71), +(48, 261, 73), +(48, 262, 70), +(48, 263, 84), +(48, 264, 74), +(48, 265, 72), +(48, 266, 73), +(48, 267, 97), +(48, 268, 88), +(48, 269, 75), +(48, 270, 84), +(48, 271, 66), +(48, 272, 93), +(48, 273, 72), +(48, 274, 82), +(48, 275, 74), +(48, 276, 92), +(48, 277, 90), +(48, 278, 73), +(48, 279, 88), +(48, 280, 67), +(48, 281, 87), +(48, 282, 99), +(48, 283, 66), +(48, 284, 89), +(48, 285, 78), +(48, 286, 83), +(48, 287, 94), +(48, 288, 90), +(48, 289, 87), +(48, 290, 76), +(48, 291, 93), +(48, 292, 90), +(48, 293, 95), +(48, 294, 73), +(48, 295, 66), +(48, 296, 78), +(48, 297, 84), +(48, 298, 94), +(48, 299, 88), +(48, 300, 91), +(48, 301, 65), +(48, 302, 88), +(48, 303, 71), +(48, 304, 87), +(48, 305, 98), +(48, 306, 89), +(48, 307, 72), +(48, 308, 69), +(48, 309, 99), +(48, 310, 67), +(48, 311, 84), +(48, 312, 74), +(48, 313, 90), +(48, 314, 66), +(48, 315, 73), +(48, 316, 98), +(48, 317, 80), +(48, 318, 81), +(48, 319, 87), +(48, 320, 77), +(48, 321, 87), +(48, 322, 86), +(48, 323, 99), +(48, 324, 76), +(48, 325, 86), +(48, 326, 84), +(48, 327, 66), +(48, 328, 89), +(48, 329, 92), +(48, 330, 93), +(48, 331, 65), +(48, 332, 90), +(48, 333, 75), +(48, 334, 81), +(48, 335, 91), +(48, 336, 78), +(48, 337, 78), +(48, 338, 73), +(48, 339, 82), +(48, 340, 76), +(48, 341, 94), +(48, 342, 70), +(48, 343, 70), +(48, 344, 65), +(48, 345, 88), +(48, 346, 78), +(48, 347, 92), +(48, 348, 87), +(48, 349, 76), +(48, 350, 93), +(48, 351, 69), +(48, 352, 68), +(48, 353, 73), +(48, 354, 95), +(48, 355, 67), +(48, 356, 94), +(48, 357, 65), +(48, 358, 68), +(48, 359, 92), +(48, 360, 90), +(48, 361, 91), +(48, 362, 75), +(48, 363, 77), +(48, 364, 90), +(48, 365, 82), +(48, 366, 85), +(48, 367, 72), +(48, 368, 70), +(48, 369, 78), +(48, 370, 92), +(48, 371, 85), +(48, 372, 75), +(48, 373, 75), +(48, 374, 94), +(48, 375, 92), +(48, 376, 92), +(48, 377, 92), +(48, 378, 88), +(48, 379, 97), +(48, 380, 87), +(48, 381, 80), +(48, 382, 72), +(48, 383, 89), +(48, 384, 83), +(48, 385, 91), +(48, 386, 81), +(48, 387, 87), +(48, 388, 82), +(48, 389, 98), +(48, 390, 92), +(48, 391, 75), +(48, 392, 66), +(48, 393, 94), +(48, 394, 78), +(48, 395, 73), +(48, 396, 99), +(48, 397, 85), +(48, 398, 65), +(48, 399, 93), +(48, 400, 74), +(48, 401, 91), +(48, 402, 82), +(48, 403, 95), +(48, 404, 85), +(48, 405, 94), +(48, 406, 75), +(48, 407, 74), +(48, 408, 74), +(48, 409, 95), +(48, 410, 85), +(48, 411, 72), +(48, 412, 88), +(48, 413, 99), +(48, 414, 86), +(48, 415, 80), +(48, 416, 98), +(48, 417, 88), +(48, 418, 72), +(48, 419, 90), +(48, 420, 86), +(48, 421, 78), +(48, 422, 76), +(48, 423, 81), +(48, 424, 78), +(48, 425, 96), +(48, 426, 98), +(48, 427, 93), +(48, 428, 95), +(48, 429, 85), +(48, 430, 79), +(48, 431, 89), +(48, 432, 93), +(48, 433, 86), +(48, 434, 78), +(48, 435, 74), +(48, 436, 65), +(48, 437, 90), +(48, 438, 79), +(48, 439, 72), +(48, 440, 73), +(48, 441, 70), +(48, 442, 91), +(48, 443, 74), +(48, 444, 90), +(48, 445, 97), +(48, 446, 77), +(48, 447, 99), +(48, 448, 92), +(48, 449, 66), +(48, 450, 89), +(48, 451, 73), +(48, 452, 72), +(48, 453, 97), +(48, 454, 98), +(48, 455, 70), +(48, 456, 80), +(48, 457, 94), +(48, 458, 73), +(48, 459, 79), +(48, 460, 90), +(48, 461, 82), +(48, 462, 87), +(48, 463, 69), +(48, 464, 85), +(48, 465, 77), +(48, 466, 73), +(48, 467, 77), +(48, 468, 76), +(48, 469, 83), +(48, 470, 94), +(48, 471, 94), +(48, 472, 75), +(48, 473, 79), +(48, 474, 74), +(48, 475, 75), +(48, 476, 95), +(48, 477, 79), +(48, 478, 66), +(48, 479, 67), +(48, 480, 69), +(48, 481, 88), +(48, 482, 75), +(48, 483, 84), +(48, 484, 98), +(48, 485, 77), +(48, 486, 85), +(48, 487, 78), +(48, 488, 96), +(48, 489, 78), +(48, 490, 85), +(48, 491, 72), +(48, 492, 94), +(48, 493, 71), +(48, 494, 68), +(48, 495, 94), +(48, 496, 75), +(48, 497, 95), +(48, 498, 92), +(48, 499, 76), +(48, 500, 90), +(48, 501, 81), +(48, 502, 72), +(48, 503, 90), +(48, 504, 82), +(48, 505, 79), +(48, 506, 96), +(48, 507, 66), +(48, 508, 68), +(48, 509, 82), +(48, 510, 99), +(48, 511, 85), +(48, 512, 94), +(48, 513, 81), +(48, 514, 86), +(48, 515, 67), +(48, 516, 83), +(48, 517, 93), +(48, 518, 72), +(48, 519, 76), +(48, 520, 66), +(48, 521, 66), +(48, 522, 67), +(48, 523, 88), +(48, 524, 72), +(48, 525, 65), +(48, 526, 95), +(48, 527, 96), +(48, 528, 78), +(48, 529, 76), +(48, 530, 79), +(48, 531, 83), +(48, 532, 67), +(48, 533, 94), +(48, 534, 98), +(48, 535, 97), +(48, 536, 89), +(48, 537, 76), +(48, 538, 95), +(48, 539, 96), +(48, 540, 82), +(48, 541, 91), +(48, 542, 68), +(48, 543, 85), +(48, 544, 69), +(48, 545, 66), +(48, 546, 79), +(48, 547, 84), +(48, 548, 73), +(48, 549, 68), +(48, 550, 76), +(48, 551, 89), +(48, 552, 65), +(48, 553, 91), +(48, 554, 88), +(48, 555, 98), +(48, 556, 77), +(48, 557, 68), +(48, 558, 68), +(48, 559, 87), +(48, 560, 87), +(48, 561, 98), +(48, 562, 72), +(48, 563, 87), +(48, 564, 91), +(48, 1024, 88), +(48, 1025, 82), +(48, 1026, 94), +(48, 1027, 70), +(48, 1028, 83), +(48, 1029, 76), +(48, 1030, 77), +(48, 1031, 75), +(48, 1032, 88), +(48, 1033, 80), +(48, 1034, 71), +(48, 1035, 73), +(48, 1036, 78), +(48, 1037, 94), +(48, 1038, 67), +(48, 1039, 83), +(48, 1040, 74), +(48, 1041, 72), +(48, 1042, 97), +(48, 1043, 98), +(48, 1044, 95), +(48, 1045, 68), +(48, 1046, 65), +(48, 1047, 80), +(48, 1048, 88), +(48, 1049, 85), +(48, 1050, 94), +(48, 1051, 77), +(48, 1052, 77), +(48, 1053, 65), +(48, 1054, 87), +(48, 1055, 85), +(48, 1056, 75), +(48, 1057, 79), +(48, 1058, 90), +(48, 1059, 95), +(48, 1060, 99), +(48, 1061, 86), +(48, 1062, 95), +(48, 1063, 72), +(48, 1064, 98), +(48, 1065, 84), +(48, 1066, 80), +(48, 1067, 92), +(48, 1068, 71), +(48, 1069, 88), +(48, 1070, 70), +(48, 1071, 81), +(48, 1072, 90), +(48, 1073, 70), +(48, 1074, 81), +(48, 1075, 70), +(48, 1076, 95), +(48, 1077, 88), +(48, 1078, 67), +(48, 1079, 84), +(48, 1080, 91), +(48, 1081, 89), +(48, 1082, 89), +(48, 1083, 90), +(48, 1084, 78), +(48, 1085, 97), +(48, 1086, 99), +(48, 1087, 90), +(48, 1088, 65), +(48, 1089, 86), +(48, 1090, 73), +(48, 1091, 93), +(48, 1092, 73), +(48, 1093, 86), +(48, 1094, 84), +(48, 1095, 74), +(48, 1096, 89), +(48, 1097, 68), +(48, 1098, 75), +(48, 1099, 74), +(48, 1100, 88), +(48, 1101, 80), +(48, 1102, 76), +(48, 1103, 80), +(48, 1104, 96), +(48, 1105, 71), +(48, 1106, 95), +(48, 1107, 81), +(48, 1108, 88), +(48, 1109, 83), +(48, 1110, 98), +(48, 1111, 72), +(48, 1112, 66), +(48, 1113, 68), +(48, 1114, 89), +(48, 1115, 90), +(48, 1116, 67), +(48, 1117, 86), +(48, 1118, 80), +(48, 1119, 72), +(48, 1120, 70), +(48, 1121, 72), +(48, 1122, 67), +(48, 1123, 79), +(48, 1124, 88), +(48, 1125, 99), +(48, 1126, 99), +(48, 1127, 90), +(48, 1128, 91), +(48, 1129, 92), +(48, 1130, 85), +(48, 1131, 80), +(48, 1132, 74), +(48, 1133, 66), +(48, 1134, 68), +(48, 1135, 94), +(48, 1136, 81), +(48, 1137, 72), +(48, 1138, 80), +(48, 1139, 75), +(48, 1140, 76), +(48, 1141, 84), +(48, 1142, 93), +(48, 1143, 74), +(48, 1144, 70), +(48, 1145, 77), +(48, 1146, 98), +(48, 1147, 96), +(48, 1148, 86), +(48, 1149, 85), +(48, 1150, 82), +(48, 1151, 91), +(48, 1152, 75), +(48, 1153, 95), +(48, 1154, 95), +(48, 1155, 93), +(48, 1156, 82), +(48, 1157, 66), +(48, 1158, 73), +(48, 1159, 98), +(48, 1160, 73), +(48, 1161, 69), +(48, 1162, 93), +(48, 1163, 76), +(48, 1164, 69), +(48, 1165, 96), +(48, 1166, 73), +(48, 1167, 81), +(48, 1168, 71), +(48, 1169, 99), +(48, 1170, 65), +(48, 1171, 98), +(48, 1172, 96), +(48, 1173, 76), +(48, 1174, 71), +(48, 1175, 97), +(48, 1176, 75), +(48, 1177, 76), +(48, 1178, 68), +(48, 1179, 75), +(48, 1180, 82), +(48, 1181, 76), +(48, 1182, 74), +(48, 1183, 83), +(48, 1184, 69), +(48, 1185, 82), +(48, 1186, 66), +(48, 1187, 70), +(48, 1188, 81), +(48, 1189, 70), +(48, 1190, 78), +(48, 1191, 96), +(48, 1192, 84), +(48, 1193, 89), +(48, 1194, 69), +(48, 1195, 81), +(48, 1196, 74), +(48, 1197, 68), +(48, 1198, 80), +(48, 1199, 71), +(48, 1200, 65), +(48, 1201, 76), +(48, 1202, 67), +(48, 1203, 85), +(48, 1204, 97), +(48, 1205, 85), +(48, 1206, 99), +(48, 1207, 70), +(48, 1208, 97), +(48, 1209, 76), +(48, 1210, 94), +(48, 1211, 69), +(48, 1212, 74), +(48, 1213, 73), +(48, 1214, 70), +(48, 1215, 85), +(48, 1216, 89), +(48, 1217, 91), +(48, 1218, 68), +(48, 1219, 72), +(48, 1220, 77), +(48, 1221, 83), +(48, 1222, 98), +(48, 1223, 65), +(48, 1224, 84), +(48, 1225, 92), +(48, 1226, 72), +(48, 1227, 77), +(48, 1228, 92), +(48, 1229, 77), +(48, 1230, 72), +(48, 1231, 81), +(48, 1232, 84), +(48, 1233, 77), +(48, 1234, 84), +(48, 1235, 72), +(48, 1236, 82), +(48, 1237, 82), +(48, 1238, 92), +(48, 1239, 73), +(48, 1240, 85), +(48, 1241, 92), +(48, 1242, 84), +(48, 1243, 66), +(48, 1244, 68), +(48, 1245, 79), +(48, 1246, 68), +(48, 1247, 82), +(48, 1248, 69), +(48, 1249, 83), +(48, 1250, 69), +(48, 1251, 80), +(48, 1252, 65), +(48, 1253, 97), +(48, 1254, 72), +(48, 1255, 93), +(48, 1256, 99), +(48, 1257, 65), +(48, 1258, 68), +(48, 1259, 87), +(48, 1260, 93), +(48, 1261, 85), +(48, 1262, 77), +(48, 1263, 78), +(48, 1264, 80), +(48, 1265, 73), +(48, 1266, 80), +(48, 1267, 84), +(48, 1268, 68), +(48, 1269, 79), +(48, 1270, 99), +(48, 1271, 97), +(48, 1272, 76), +(48, 1273, 86), +(48, 1274, 66), +(48, 1275, 73), +(48, 1276, 94), +(48, 1277, 99), +(48, 1278, 85), +(48, 1279, 82), +(48, 1280, 84), +(48, 1281, 90), +(48, 1282, 88), +(48, 1283, 80), +(48, 1284, 89), +(48, 1285, 94), +(48, 1286, 72), +(48, 1287, 97), +(48, 1288, 90), +(48, 1289, 72), +(48, 1290, 73), +(48, 1291, 84), +(48, 1292, 67), +(48, 1293, 83), +(48, 1294, 84), +(48, 1295, 81), +(48, 1296, 88), +(48, 1297, 91), +(48, 1298, 87), +(48, 1299, 67), +(48, 1300, 65), +(48, 1301, 76), +(48, 1302, 69), +(48, 1303, 86), +(48, 1304, 88), +(48, 1305, 70), +(48, 1306, 84), +(48, 1307, 85), +(48, 1308, 93), +(48, 1309, 73), +(48, 1310, 70), +(48, 1311, 80), +(48, 1312, 81), +(48, 1313, 99), +(48, 1314, 79), +(48, 1315, 98), +(48, 1316, 74), +(48, 1317, 80), +(48, 1318, 86), +(48, 1319, 88), +(48, 1320, 76), +(48, 1321, 81), +(48, 1322, 65), +(48, 1323, 73), +(48, 1324, 91), +(48, 1325, 81), +(48, 1326, 74), +(48, 1327, 66), +(48, 1328, 72), +(48, 1329, 83), +(48, 1330, 70), +(48, 1331, 83), +(48, 1332, 66), +(48, 1333, 77), +(48, 1334, 84), +(48, 1335, 90), +(48, 1336, 83), +(48, 1337, 85), +(48, 1338, 68), +(48, 1339, 92), +(48, 1340, 71), +(48, 1341, 72), +(48, 1342, 68), +(48, 1343, 77), +(48, 1344, 83), +(48, 1345, 65), +(48, 1346, 84), +(48, 1347, 74), +(48, 1348, 90), +(48, 1349, 81), +(48, 1350, 99), +(48, 1351, 74), +(48, 1352, 99), +(48, 1353, 71), +(48, 1354, 98), +(48, 1355, 83), +(48, 1356, 99), +(48, 1357, 69), +(48, 1358, 98), +(48, 1359, 65), +(48, 1360, 77), +(48, 1361, 99), +(48, 1362, 80), +(48, 1363, 72), +(48, 1364, 97), +(48, 1365, 73), +(48, 1366, 77), +(48, 1367, 93), +(48, 1368, 65), +(48, 1369, 78), +(48, 1370, 88), +(48, 1371, 89), +(48, 1372, 78), +(48, 1373, 99), +(48, 1374, 96), +(48, 1375, 65), +(48, 1376, 85), +(48, 1377, 85), +(48, 1378, 86), +(48, 1379, 98), +(48, 1380, 70), +(48, 1381, 67), +(48, 1382, 73), +(48, 1383, 66), +(48, 1384, 66), +(48, 1385, 69), +(48, 1386, 68), +(48, 1387, 86), +(48, 1388, 72), +(48, 1389, 65), +(48, 1390, 78), +(48, 1391, 76), +(48, 1392, 95), +(48, 1393, 70), +(48, 1394, 93), +(48, 1395, 96), +(48, 1396, 80), +(48, 1397, 94), +(48, 1398, 94), +(48, 1399, 93), +(48, 1400, 95), +(48, 1401, 71), +(48, 1402, 89), +(48, 1403, 77), +(48, 1404, 82), +(48, 1405, 90), +(48, 1406, 70), +(48, 1407, 99), +(48, 1408, 81), +(48, 1409, 86), +(48, 1410, 77), +(48, 1411, 93), +(48, 1412, 68), +(48, 1413, 83), +(48, 1414, 93), +(48, 1415, 83), +(48, 1416, 69), +(48, 1417, 81), +(48, 1418, 77), +(48, 1419, 85), +(48, 1420, 86), +(48, 1421, 73), +(48, 1422, 79), +(48, 1423, 80), +(48, 1424, 72), +(48, 1425, 91), +(48, 1426, 73), +(48, 1427, 79), +(48, 1428, 90), +(48, 1429, 76), +(48, 1430, 96), +(48, 1431, 69), +(48, 1432, 78), +(48, 1433, 82), +(48, 1434, 86), +(48, 1435, 73), +(48, 1436, 65), +(48, 1437, 75), +(48, 1438, 72), +(48, 1439, 90), +(48, 1440, 82), +(48, 1441, 91), +(48, 1442, 83), +(48, 1443, 95), +(48, 1444, 76), +(48, 1445, 76), +(48, 1446, 70), +(48, 1447, 87), +(48, 1448, 88), +(48, 1449, 70), +(48, 1450, 81), +(48, 1451, 69), +(48, 1452, 75), +(48, 1453, 93), +(48, 1454, 87), +(48, 1455, 66), +(48, 1456, 95), +(48, 1457, 88), +(48, 1458, 72), +(48, 1459, 91), +(48, 1460, 91), +(48, 1461, 76), +(48, 1462, 79), +(48, 1463, 78), +(48, 1464, 65), +(48, 1465, 69), +(48, 1466, 70), +(48, 1467, 67), +(48, 1468, 96), +(48, 1469, 65), +(48, 1470, 88), +(48, 1471, 72), +(48, 1472, 94), +(48, 1473, 74), +(48, 1474, 83), +(48, 1475, 96), +(48, 1476, 87), +(48, 1477, 97), +(48, 1478, 90), +(48, 1479, 66), +(48, 1480, 88), +(48, 1481, 94), +(48, 1482, 69), +(48, 1483, 86), +(48, 1484, 67), +(48, 1485, 75), +(48, 1486, 67), +(48, 1487, 99), +(48, 1488, 96), +(48, 1489, 84), +(48, 1490, 72), +(48, 1491, 91), +(48, 1492, 79), +(48, 1493, 90), +(48, 1494, 88), +(48, 1495, 99), +(48, 1496, 95), +(48, 1497, 87), +(48, 1498, 97), +(48, 1499, 92), +(48, 1500, 91), +(48, 1501, 89), +(48, 1502, 67), +(48, 1503, 82), +(48, 1504, 77), +(48, 1505, 76), +(48, 1506, 76), +(48, 1507, 99), +(48, 1508, 88), +(48, 1509, 90), +(48, 1510, 80), +(48, 1511, 90), +(48, 1512, 81), +(48, 1513, 74), +(48, 1514, 74), +(48, 1515, 86), +(48, 1516, 95), +(48, 1517, 94), +(48, 1518, 95), +(48, 1519, 77), +(48, 1520, 97), +(48, 1521, 73), +(48, 1522, 81), +(48, 1523, 96), +(48, 1524, 86), +(48, 1525, 66), +(48, 1526, 86), +(48, 1527, 90), +(48, 1528, 89), +(48, 1529, 74), +(48, 1530, 95), +(48, 1531, 79), +(48, 1532, 96), +(48, 1533, 69), +(48, 1534, 95), +(48, 1535, 96), +(48, 1536, 89), +(48, 1537, 84), +(48, 1538, 84), +(48, 1539, 96), +(48, 1540, 71), +(48, 1541, 79), +(48, 1542, 69), +(48, 1543, 88), +(48, 1544, 65), +(48, 1545, 90), +(48, 1546, 67), +(48, 1547, 70), +(48, 1548, 69), +(48, 1549, 74), +(48, 1550, 71), +(48, 1551, 83), +(48, 1552, 65), +(48, 1553, 67), +(48, 1554, 89), +(48, 1555, 82), +(48, 1556, 86), +(48, 1557, 93), +(48, 1558, 84), +(48, 1559, 77), +(48, 1560, 70), +(48, 1561, 77), +(48, 1562, 87), +(48, 1563, 73), +(48, 1564, 81), +(48, 1565, 81), +(48, 1566, 86), +(48, 1567, 91), +(48, 1568, 79), +(48, 1569, 77), +(48, 1570, 95), +(48, 1571, 65), +(48, 1572, 83), +(48, 1573, 86), +(48, 1574, 90), +(48, 1575, 86), +(48, 1576, 70), +(48, 1577, 68), +(48, 1578, 96), +(48, 1579, 76), +(48, 1580, 78), +(48, 1581, 71), +(48, 1582, 67), +(48, 1583, 71), +(48, 1584, 71), +(48, 1585, 82), +(48, 1586, 75), +(48, 1587, 90), +(48, 2047, 81), +(48, 2048, 67), +(48, 2049, 75), +(48, 2050, 88), +(48, 2051, 83), +(48, 2052, 81), +(48, 2053, 97), +(48, 2054, 96), +(48, 2055, 73), +(48, 2056, 70), +(48, 2057, 68), +(48, 2058, 66), +(48, 2059, 94), +(48, 2060, 85), +(48, 2061, 80), +(48, 2062, 69), +(48, 2063, 84), +(48, 2064, 76), +(48, 2065, 79), +(48, 2066, 88), +(48, 2067, 95), +(48, 2068, 96), +(48, 2069, 72), +(48, 2070, 85), +(48, 2071, 80), +(48, 2072, 76), +(48, 2073, 76), +(48, 2074, 69), +(48, 2075, 75), +(48, 2076, 96), +(48, 2077, 74), +(48, 2078, 93), +(48, 2079, 90), +(48, 2080, 88), +(48, 2081, 80), +(48, 2082, 74), +(48, 2083, 83), +(48, 2084, 95), +(48, 2085, 74), +(48, 2086, 74), +(48, 2087, 86), +(48, 2088, 98), +(48, 2089, 89), +(48, 2090, 89), +(48, 2091, 81), +(48, 2092, 99), +(48, 2093, 98), +(48, 2094, 67), +(48, 2095, 70), +(48, 2096, 84), +(48, 2097, 82), +(48, 2098, 95), +(48, 2099, 81), +(48, 2100, 85), +(48, 2101, 79), +(48, 2102, 85), +(48, 2103, 95), +(48, 2104, 68), +(48, 2105, 65), +(48, 2106, 92), +(48, 2107, 72), +(48, 2108, 97), +(48, 2109, 91), +(48, 2110, 94), +(48, 2111, 78), +(48, 2112, 82), +(48, 2113, 85), +(48, 2114, 72), +(48, 2115, 86), +(48, 2116, 94), +(48, 2117, 74), +(48, 2118, 71), +(48, 2119, 94), +(48, 2120, 71), +(48, 2121, 86), +(48, 2122, 84), +(48, 2123, 92), +(48, 2124, 97), +(48, 2125, 95), +(48, 2126, 76), +(48, 2127, 75), +(48, 2128, 96), +(48, 2129, 77), +(48, 2130, 78), +(48, 2131, 81), +(48, 2132, 90), +(48, 2133, 77), +(48, 2134, 81), +(48, 2135, 65), +(48, 2136, 88), +(48, 2137, 82), +(48, 2138, 72), +(48, 2139, 68), +(48, 2140, 65), +(48, 2141, 94), +(48, 2142, 67), +(48, 2143, 80), +(48, 2144, 79), +(48, 2145, 91), +(48, 2146, 70), +(48, 2147, 67), +(48, 2148, 79), +(48, 2149, 92), +(48, 2150, 81), +(48, 2151, 87), +(48, 2152, 89), +(48, 2153, 92), +(48, 2154, 97), +(48, 2155, 69), +(48, 2156, 92), +(48, 2157, 85), +(48, 2158, 89), +(48, 2159, 94), +(48, 2160, 91), +(48, 2161, 91), +(48, 2162, 82), +(48, 2163, 79), +(48, 2164, 99), +(48, 2165, 95), +(48, 2166, 99), +(48, 2167, 65), +(48, 2168, 83), +(48, 2169, 89), +(48, 2170, 79), +(48, 2171, 72), +(48, 2172, 80), +(48, 2173, 88), +(48, 2174, 89), +(48, 2175, 92), +(48, 2176, 91), +(48, 2177, 72), +(48, 2178, 95), +(48, 2179, 95), +(48, 2180, 98), +(48, 2181, 68), +(48, 2182, 81), +(48, 2183, 81), +(48, 2184, 66), +(48, 2185, 78), +(48, 2186, 89), +(48, 2187, 81), +(48, 2188, 94), +(48, 2189, 66), +(48, 2190, 71), +(48, 2191, 94), +(48, 2192, 72), +(48, 2193, 98), +(48, 2194, 65), +(48, 2195, 77), +(48, 2196, 99), +(48, 2197, 70), +(48, 2198, 88), +(48, 2199, 87), +(48, 2200, 86), +(48, 2201, 86), +(48, 2202, 90), +(48, 2203, 72), +(48, 2204, 65), +(48, 2205, 83), +(48, 2206, 84), +(48, 2207, 96), +(48, 2208, 95), +(48, 2209, 72), +(48, 2210, 90), +(48, 2211, 74), +(48, 2212, 68), +(48, 2213, 72), +(48, 2214, 85), +(48, 2215, 94), +(48, 2216, 96), +(48, 2217, 83), +(48, 2218, 75), +(48, 2219, 74), +(48, 2220, 77), +(48, 2221, 87), +(48, 2222, 92), +(48, 2223, 98), +(48, 2224, 90), +(48, 2225, 66), +(48, 2226, 97), +(48, 2227, 65), +(48, 2228, 88), +(48, 2229, 94), +(48, 2230, 81), +(48, 2231, 78), +(48, 2232, 98), +(48, 2233, 88), +(48, 2234, 90), +(48, 2235, 69), +(48, 2236, 73), +(48, 2237, 98), +(48, 2238, 82), +(48, 2239, 70), +(48, 2240, 92), +(48, 2241, 77), +(48, 2242, 80), +(48, 2243, 84), +(48, 2244, 65), +(48, 2245, 72), +(48, 2246, 94), +(48, 2247, 79), +(48, 2248, 80), +(48, 2249, 98), +(48, 2250, 68), +(48, 2251, 68), +(48, 2252, 92), +(48, 2253, 90), +(48, 2254, 98), +(48, 2255, 87), +(48, 2256, 87), +(48, 2257, 71), +(48, 2258, 98), +(48, 2259, 75), +(48, 2260, 70), +(48, 2261, 89), +(48, 2262, 83), +(48, 2263, 78), +(48, 2264, 75), +(48, 2265, 92), +(48, 2266, 81), +(48, 2267, 69), +(48, 2268, 69), +(48, 2269, 82), +(48, 2270, 82), +(48, 2271, 75), +(48, 2272, 81), +(48, 2273, 73), +(48, 2274, 73), +(48, 2275, 88), +(48, 2276, 88), +(48, 2277, 70), +(48, 2278, 88), +(48, 2279, 89), +(48, 2280, 67), +(48, 2281, 71), +(48, 2282, 84), +(48, 2283, 71), +(48, 2284, 99), +(48, 2285, 88), +(48, 2286, 99), +(48, 2287, 68), +(48, 2288, 99), +(48, 2289, 65), +(48, 2290, 67), +(48, 2291, 96), +(48, 2292, 70), +(48, 2293, 87), +(48, 2294, 73), +(48, 2295, 86), +(48, 2296, 66), +(48, 2297, 74), +(48, 2298, 68), +(48, 2299, 73), +(48, 2300, 82), +(48, 2301, 87), +(48, 2302, 97), +(48, 2303, 92), +(48, 2304, 94), +(48, 2305, 80), +(48, 2306, 65), +(48, 2307, 87), +(48, 2308, 91), +(48, 2309, 77), +(48, 2310, 91), +(48, 2311, 86), +(48, 2312, 73), +(48, 2313, 85), +(48, 2314, 90), +(48, 2315, 78), +(48, 2316, 90), +(48, 2317, 82), +(48, 2318, 85), +(48, 2319, 83), +(48, 2320, 90), +(48, 2321, 89), +(48, 2322, 67), +(48, 2323, 95), +(48, 2324, 88), +(48, 2325, 84), +(48, 2326, 98), +(48, 2327, 79), +(48, 2328, 88), +(48, 2329, 87), +(48, 2330, 73), +(48, 2331, 70), +(48, 2332, 80), +(48, 2333, 81), +(48, 2334, 75), +(48, 2335, 99), +(48, 2336, 85), +(48, 2337, 97), +(48, 2338, 99), +(48, 2339, 72), +(48, 2340, 83), +(48, 2341, 75), +(48, 2342, 76), +(48, 2343, 66), +(48, 2344, 94), +(48, 2345, 84), +(48, 2346, 67), +(48, 2347, 75), +(48, 2348, 67), +(48, 2349, 96), +(48, 2350, 68), +(48, 2351, 98), +(48, 2352, 78), +(48, 2353, 65), +(48, 2354, 80), +(48, 2355, 93), +(48, 2356, 75), +(48, 2357, 96), +(48, 2358, 95), +(48, 2359, 67), +(48, 2360, 95), +(48, 2361, 67), +(48, 2362, 93), +(48, 2363, 92), +(48, 2364, 96), +(48, 2365, 77), +(48, 2366, 87), +(48, 2367, 94), +(48, 2368, 86), +(48, 2369, 79), +(48, 2370, 95), +(48, 2371, 67), +(48, 2372, 65), +(48, 2373, 96), +(48, 2374, 69), +(48, 2375, 98), +(48, 2376, 74), +(48, 2377, 94), +(48, 2378, 96), +(48, 2379, 96), +(48, 2380, 80), +(48, 2381, 93), +(48, 2382, 90), +(48, 2383, 88), +(48, 2384, 70), +(48, 2385, 99), +(48, 2386, 82), +(48, 2387, 73), +(48, 2388, 93), +(48, 2389, 70), +(48, 2390, 80), +(48, 2391, 99), +(48, 2392, 89), +(48, 2393, 74), +(48, 2394, 94), +(48, 2395, 95), +(48, 2396, 98), +(48, 2397, 95), +(48, 2398, 86), +(48, 2399, 77), +(48, 2400, 77), +(48, 2401, 96), +(48, 2402, 77), +(48, 2403, 75), +(48, 2404, 90), +(48, 2405, 86), +(48, 2406, 89), +(48, 2407, 71), +(48, 2408, 73), +(48, 2409, 76), +(48, 2410, 98), +(48, 2411, 83), +(48, 2412, 96), +(48, 2413, 81), +(48, 2414, 84), +(48, 2415, 94), +(48, 2416, 94), +(48, 2417, 97), +(48, 2418, 89), +(48, 2419, 80), +(48, 2420, 88), +(48, 2421, 76), +(48, 2422, 84), +(48, 2423, 96), +(48, 2424, 69), +(48, 2425, 69), +(48, 2426, 84), +(48, 2427, 82), +(48, 2428, 86), +(48, 2429, 68), +(48, 2430, 66), +(48, 2431, 89), +(48, 2432, 85), +(48, 2433, 81), +(48, 2434, 94), +(48, 2435, 99), +(48, 2436, 86), +(48, 2437, 89), +(48, 2438, 68), +(48, 2439, 76), +(48, 2440, 73), +(48, 2441, 70), +(48, 2442, 72), +(48, 2443, 90), +(48, 2444, 92), +(48, 2445, 89), +(48, 2446, 86), +(48, 2447, 89), +(48, 2448, 87), +(48, 2449, 92), +(48, 2450, 66), +(48, 2451, 74), +(48, 2452, 92), +(48, 2453, 92), +(48, 2454, 72), +(48, 2455, 72), +(48, 2456, 67), +(48, 2457, 67), +(48, 2458, 92), +(48, 2459, 80), +(48, 2460, 69), +(48, 2461, 85), +(48, 2462, 87), +(48, 2463, 73), +(48, 2464, 83), +(48, 2465, 66), +(48, 2466, 94), +(48, 2467, 73), +(48, 2468, 72), +(48, 2469, 71), +(48, 2470, 90), +(48, 2471, 83), +(48, 2472, 89), +(48, 2473, 87), +(48, 2474, 65), +(48, 2475, 73), +(48, 2476, 80), +(48, 2477, 65), +(48, 2478, 88), +(48, 2479, 68), +(48, 2480, 67), +(48, 2481, 82), +(48, 2482, 99), +(48, 2483, 69), +(48, 2484, 86), +(48, 2485, 93), +(48, 2486, 92), +(48, 2487, 70), +(48, 2488, 87), +(48, 2489, 84), +(48, 2490, 81), +(48, 2491, 99), +(48, 2492, 72), +(48, 2493, 81), +(48, 2494, 75), +(48, 2495, 77), +(48, 2496, 80), +(48, 2497, 76), +(48, 2498, 71), +(48, 2499, 90), +(48, 2500, 99), +(48, 2501, 83), +(48, 2502, 66), +(48, 2503, 82), +(48, 2504, 84), +(48, 2505, 94), +(48, 2506, 84), +(48, 2507, 66), +(48, 2508, 88), +(48, 2509, 92), +(48, 2510, 81), +(48, 2511, 79), +(48, 2512, 83), +(48, 2513, 93), +(48, 2514, 68), +(48, 2515, 84), +(48, 2516, 89), +(48, 2517, 84), +(48, 2518, 65), +(48, 2519, 98), +(48, 2520, 83), +(48, 2521, 98), +(48, 2522, 87), +(48, 2523, 88), +(48, 2524, 82), +(48, 2525, 66), +(48, 2526, 83), +(48, 2527, 86), +(48, 2528, 89), +(48, 2529, 93), +(48, 2530, 80), +(48, 2531, 68), +(48, 2532, 86), +(48, 2533, 94), +(48, 2534, 99), +(48, 2535, 93), +(48, 2536, 88), +(48, 2537, 68), +(48, 2538, 95), +(48, 2539, 84), +(48, 2540, 99), +(48, 2541, 82), +(48, 2542, 85), +(48, 2543, 71), +(48, 2544, 88), +(48, 2545, 71), +(48, 2546, 66), +(48, 2547, 97), +(48, 2548, 90), +(48, 2549, 70), +(48, 2550, 78), +(48, 2551, 88), +(48, 2552, 99), +(48, 2553, 94), +(48, 2554, 70), +(48, 2555, 87), +(48, 2556, 74), +(48, 2557, 71), +(48, 2558, 85), +(48, 2559, 65), +(48, 2560, 79), +(48, 2561, 86), +(48, 2562, 95), +(48, 2563, 73), +(48, 2564, 66), +(48, 2565, 75), +(48, 2566, 85), +(48, 2567, 87), +(48, 2568, 87), +(48, 2569, 83), +(48, 2570, 99), +(48, 2571, 82), +(48, 2572, 82), +(48, 2573, 74), +(48, 2574, 67), +(48, 2575, 98), +(48, 2576, 99), +(48, 2577, 98), +(48, 2578, 77), +(48, 2579, 78), +(48, 2580, 72), +(48, 2581, 71), +(48, 2582, 82), +(48, 2583, 90), +(48, 2584, 70), +(48, 2585, 98), +(48, 2586, 73), +(48, 2587, 67), +(48, 2588, 82), +(48, 2589, 70), +(48, 2590, 91), +(48, 2591, 95), +(48, 2592, 88), +(48, 2593, 70), +(48, 2594, 99), +(48, 2595, 73), +(48, 2596, 86), +(48, 2597, 95), +(48, 2598, 99), +(48, 2599, 83), +(48, 2600, 82), +(48, 2601, 69), +(48, 2602, 94), +(48, 2603, 68), +(48, 2604, 95), +(48, 2605, 86), +(48, 2606, 74), +(48, 2607, 98), +(48, 2608, 97), +(48, 2609, 88), +(48, 2610, 74), +(49, 1, 83), +(49, 2, 85), +(49, 3, 67), +(49, 4, 85), +(49, 5, 88), +(49, 6, 66), +(49, 7, 97), +(49, 8, 95), +(49, 9, 90), +(49, 10, 67), +(49, 11, 76), +(49, 12, 99), +(49, 13, 66), +(49, 14, 74), +(49, 15, 85), +(49, 16, 79), +(49, 17, 91), +(49, 18, 95), +(49, 19, 77), +(49, 20, 79), +(49, 21, 88), +(49, 22, 91), +(49, 23, 84), +(49, 24, 86), +(49, 25, 88), +(49, 26, 94), +(49, 27, 94), +(49, 28, 89), +(49, 29, 81), +(49, 30, 77), +(49, 31, 88), +(49, 32, 94), +(49, 33, 88), +(49, 34, 67), +(49, 35, 89), +(49, 36, 99), +(49, 37, 77), +(49, 38, 76), +(49, 39, 95), +(49, 40, 77), +(49, 41, 94), +(49, 42, 65), +(49, 43, 86), +(49, 44, 77), +(49, 45, 71), +(49, 46, 96), +(49, 47, 81), +(49, 48, 82), +(49, 49, 76), +(49, 50, 80), +(49, 51, 71), +(49, 52, 93), +(49, 53, 95), +(49, 54, 66), +(49, 55, 91), +(49, 56, 73), +(49, 57, 77), +(49, 58, 93), +(49, 59, 79), +(49, 60, 83), +(49, 61, 74), +(49, 62, 70), +(49, 63, 93), +(49, 64, 79), +(49, 65, 85), +(49, 66, 76), +(49, 67, 88), +(49, 68, 74), +(49, 69, 68), +(49, 70, 88), +(49, 71, 75), +(49, 72, 67), +(49, 73, 72), +(49, 74, 81), +(49, 75, 82), +(49, 76, 95), +(49, 77, 78), +(49, 78, 76), +(49, 79, 68), +(49, 80, 89), +(49, 81, 69), +(49, 82, 84), +(49, 83, 73), +(49, 84, 82), +(49, 85, 90), +(49, 86, 91), +(49, 87, 73), +(49, 88, 90), +(49, 89, 88), +(49, 90, 91), +(49, 91, 80), +(49, 92, 93), +(49, 93, 73), +(49, 94, 71), +(49, 95, 74), +(49, 96, 72), +(49, 97, 93), +(49, 98, 96), +(49, 99, 77), +(49, 100, 88), +(49, 101, 69), +(49, 102, 82), +(49, 103, 80), +(49, 104, 88), +(49, 105, 96), +(49, 106, 81), +(49, 107, 89), +(49, 108, 72), +(49, 109, 67), +(49, 110, 72), +(49, 111, 87), +(49, 112, 94), +(49, 113, 99), +(49, 114, 97), +(49, 115, 71), +(49, 116, 77), +(49, 117, 93), +(49, 118, 75), +(49, 119, 80), +(49, 120, 88), +(49, 121, 92), +(49, 122, 92), +(49, 123, 75), +(49, 124, 96), +(49, 125, 87), +(49, 126, 70), +(49, 127, 78), +(49, 128, 82), +(49, 129, 84), +(49, 130, 66), +(49, 131, 78), +(49, 132, 87), +(49, 133, 97), +(49, 134, 72), +(49, 135, 82), +(49, 136, 73), +(49, 137, 72), +(49, 138, 84), +(49, 139, 87), +(49, 140, 77), +(49, 141, 87), +(49, 142, 77), +(49, 143, 67), +(49, 144, 74), +(49, 145, 81), +(49, 146, 91), +(49, 147, 78), +(49, 148, 72), +(49, 149, 73), +(49, 150, 89), +(49, 151, 72), +(49, 152, 79), +(49, 153, 85), +(49, 154, 71), +(49, 155, 90), +(49, 156, 85), +(49, 157, 94), +(49, 158, 78), +(49, 159, 92), +(49, 160, 92), +(49, 161, 89), +(49, 162, 99), +(49, 163, 96), +(49, 164, 85), +(49, 165, 69), +(49, 166, 71), +(49, 167, 77), +(49, 168, 75), +(49, 169, 80), +(49, 170, 79), +(49, 171, 69), +(49, 172, 77), +(49, 173, 69), +(49, 174, 76), +(49, 175, 87), +(49, 176, 87), +(49, 177, 73), +(49, 178, 82), +(49, 179, 69), +(49, 180, 78), +(49, 181, 91), +(49, 182, 72), +(49, 183, 86), +(49, 184, 71), +(49, 185, 90), +(49, 186, 68), +(49, 187, 73), +(49, 188, 73), +(49, 189, 65), +(49, 190, 99), +(49, 191, 94), +(49, 192, 84), +(49, 193, 68), +(49, 194, 77), +(49, 195, 67), +(49, 196, 69), +(49, 197, 97), +(49, 198, 93), +(49, 199, 92), +(49, 200, 65), +(49, 201, 78), +(49, 202, 67), +(49, 203, 75), +(49, 204, 80), +(49, 205, 83), +(49, 206, 99), +(49, 207, 78), +(49, 208, 77), +(49, 209, 65), +(49, 210, 82), +(49, 211, 89), +(49, 212, 78), +(49, 213, 87), +(49, 214, 72), +(49, 215, 98), +(49, 216, 70), +(49, 217, 88), +(49, 218, 72), +(49, 219, 88), +(49, 220, 93), +(49, 221, 87), +(49, 222, 83), +(49, 223, 96), +(49, 224, 78), +(49, 225, 87), +(49, 226, 65), +(49, 227, 83), +(49, 228, 72), +(49, 229, 67), +(49, 230, 98), +(49, 231, 98), +(49, 232, 83), +(49, 233, 67), +(49, 234, 85), +(49, 235, 82), +(49, 236, 85), +(49, 237, 80), +(49, 238, 75), +(49, 239, 83), +(49, 240, 94), +(49, 241, 78), +(49, 242, 85), +(49, 243, 92), +(49, 244, 81), +(49, 245, 80), +(49, 246, 82), +(49, 247, 83), +(49, 248, 72), +(49, 249, 75), +(49, 250, 82), +(49, 251, 70), +(49, 252, 83), +(49, 253, 97), +(49, 254, 87), +(49, 255, 79), +(49, 256, 66), +(49, 257, 67), +(49, 258, 84), +(49, 259, 69), +(49, 260, 87), +(49, 261, 86), +(49, 262, 75), +(49, 263, 91), +(49, 264, 91), +(49, 265, 90), +(49, 266, 89), +(49, 267, 90), +(49, 268, 84), +(49, 269, 78), +(49, 270, 73), +(49, 271, 89), +(49, 272, 88), +(49, 273, 70), +(49, 274, 69), +(49, 275, 74), +(49, 276, 70), +(49, 277, 79), +(49, 278, 80), +(49, 279, 84), +(49, 280, 66), +(49, 281, 94), +(49, 282, 96), +(49, 283, 81), +(49, 284, 87), +(49, 285, 96), +(49, 286, 81), +(49, 287, 65), +(49, 288, 89), +(49, 289, 91), +(49, 290, 94), +(49, 291, 88), +(49, 292, 81), +(49, 293, 78), +(49, 294, 69), +(49, 295, 71), +(49, 296, 70), +(49, 297, 95), +(49, 298, 68), +(49, 299, 67), +(49, 300, 74), +(49, 301, 94), +(49, 302, 76), +(49, 303, 98), +(49, 304, 76), +(49, 305, 86), +(49, 306, 68), +(49, 307, 96), +(49, 308, 82), +(49, 309, 81), +(49, 310, 66), +(49, 311, 86), +(49, 312, 97), +(49, 313, 94), +(49, 314, 84), +(49, 315, 84), +(49, 316, 87), +(49, 317, 70), +(49, 318, 86), +(49, 319, 80), +(49, 320, 95), +(49, 321, 92), +(49, 322, 95), +(49, 323, 87), +(49, 324, 93), +(49, 325, 83), +(49, 326, 85), +(49, 327, 74), +(49, 328, 99), +(49, 329, 90), +(49, 330, 91), +(49, 331, 89), +(49, 332, 81), +(49, 333, 76), +(49, 334, 72), +(49, 335, 86), +(49, 336, 94), +(49, 337, 88), +(49, 338, 98), +(49, 339, 78), +(49, 340, 97), +(49, 341, 71), +(49, 342, 80), +(49, 343, 97), +(49, 344, 96), +(49, 345, 82), +(49, 346, 87), +(49, 347, 99), +(49, 348, 81), +(49, 349, 95), +(49, 350, 94), +(49, 351, 80), +(49, 352, 71), +(49, 353, 93), +(49, 354, 89), +(49, 355, 98), +(49, 356, 72), +(49, 357, 70), +(49, 358, 87), +(49, 359, 68), +(49, 360, 77), +(49, 361, 78), +(49, 362, 65), +(49, 363, 95), +(49, 364, 68), +(49, 365, 72), +(49, 366, 68), +(49, 367, 93), +(49, 368, 96), +(49, 369, 82), +(49, 370, 73), +(49, 371, 66), +(49, 372, 89), +(49, 373, 94), +(49, 374, 72), +(49, 375, 76), +(49, 376, 86), +(49, 377, 95), +(49, 378, 71), +(49, 379, 89), +(49, 380, 69), +(49, 381, 69), +(49, 382, 79), +(49, 383, 87), +(49, 384, 68), +(49, 385, 70), +(49, 386, 77), +(49, 387, 86), +(49, 388, 89), +(49, 389, 71), +(49, 390, 66), +(49, 391, 73), +(49, 392, 97), +(49, 393, 97), +(49, 394, 97), +(49, 395, 65), +(49, 396, 83), +(49, 397, 69), +(49, 398, 89), +(49, 399, 99), +(49, 400, 80), +(49, 401, 77), +(49, 402, 65), +(49, 403, 76), +(49, 404, 79), +(49, 405, 95), +(49, 406, 86), +(49, 407, 98), +(49, 408, 88), +(49, 409, 72), +(49, 410, 70), +(49, 411, 79), +(49, 412, 99), +(49, 413, 67), +(49, 414, 72), +(49, 415, 91), +(49, 416, 97), +(49, 417, 69), +(49, 418, 72), +(49, 419, 93), +(49, 420, 74), +(49, 421, 95), +(49, 422, 89), +(49, 423, 98), +(49, 424, 91), +(49, 425, 75), +(49, 426, 81), +(49, 427, 65), +(49, 428, 88), +(49, 429, 70), +(49, 430, 76), +(49, 431, 67), +(49, 432, 69), +(49, 433, 67), +(49, 434, 87), +(49, 435, 99), +(49, 436, 78), +(49, 437, 83), +(49, 438, 87), +(49, 439, 72), +(49, 440, 79), +(49, 441, 65), +(49, 442, 94), +(49, 443, 94), +(49, 444, 86), +(49, 445, 66), +(49, 446, 73), +(49, 447, 88), +(49, 448, 98), +(49, 449, 94), +(49, 450, 87), +(49, 451, 94), +(49, 452, 67), +(49, 453, 94), +(49, 454, 82), +(49, 455, 72), +(49, 456, 74), +(49, 457, 93), +(49, 458, 65), +(49, 459, 81), +(49, 460, 68), +(49, 461, 87), +(49, 462, 75), +(49, 463, 73), +(49, 464, 76), +(49, 465, 70), +(49, 466, 67), +(49, 467, 76), +(49, 468, 78), +(49, 469, 86), +(49, 470, 79), +(49, 471, 75), +(49, 472, 81), +(49, 473, 88), +(49, 474, 70), +(49, 475, 65), +(49, 476, 73), +(49, 477, 92), +(49, 478, 90), +(49, 479, 70), +(49, 480, 94), +(49, 481, 94), +(49, 482, 80), +(49, 483, 99), +(49, 484, 86), +(49, 485, 99), +(49, 486, 75), +(49, 487, 90), +(49, 488, 70), +(49, 489, 68), +(49, 490, 78), +(49, 491, 79), +(49, 492, 95), +(49, 493, 96), +(49, 494, 76), +(49, 495, 93), +(49, 496, 95), +(49, 497, 65), +(49, 498, 78), +(49, 499, 97), +(49, 500, 70), +(49, 501, 71), +(49, 502, 99), +(49, 503, 83), +(49, 504, 68), +(49, 505, 76), +(49, 506, 85), +(49, 507, 74), +(49, 508, 77), +(49, 509, 69), +(49, 510, 84), +(49, 511, 88), +(49, 512, 81), +(49, 513, 94), +(49, 514, 91), +(49, 515, 91), +(49, 516, 82), +(49, 517, 85), +(49, 518, 66), +(49, 519, 71), +(49, 520, 65), +(49, 521, 96), +(49, 522, 93), +(49, 523, 99), +(49, 524, 74), +(49, 525, 92), +(49, 526, 95), +(49, 527, 93), +(49, 528, 89), +(49, 529, 86), +(49, 530, 94), +(49, 531, 77), +(49, 532, 94), +(49, 533, 93), +(49, 534, 79), +(49, 535, 92), +(49, 536, 83), +(49, 537, 97), +(49, 538, 82), +(49, 539, 83), +(49, 540, 70), +(49, 541, 86), +(49, 542, 77), +(49, 543, 84), +(49, 544, 94), +(49, 545, 89), +(49, 546, 76), +(49, 547, 72), +(49, 548, 93), +(49, 549, 71), +(49, 550, 66), +(49, 551, 67), +(49, 552, 84), +(49, 553, 67), +(49, 554, 77), +(49, 555, 91), +(49, 556, 84), +(49, 557, 70), +(49, 558, 73), +(49, 559, 79), +(49, 560, 96), +(49, 561, 90), +(49, 562, 79), +(49, 563, 74), +(49, 564, 71), +(49, 1024, 83), +(49, 1025, 82), +(49, 1026, 72), +(49, 1027, 76), +(49, 1028, 65), +(49, 1029, 84), +(49, 1030, 73), +(49, 1031, 80), +(49, 1032, 94), +(49, 1033, 98), +(49, 1034, 88), +(49, 1035, 75), +(49, 1036, 74), +(49, 1037, 98), +(49, 1038, 88), +(49, 1039, 97), +(49, 1040, 87), +(49, 1041, 81), +(49, 1042, 70), +(49, 1043, 67), +(49, 1044, 85), +(49, 1045, 92), +(49, 1046, 80), +(49, 1047, 77), +(49, 1048, 89), +(49, 1049, 91), +(49, 1050, 79), +(49, 1051, 78), +(49, 1052, 76), +(49, 1053, 65), +(49, 1054, 71), +(49, 1055, 75), +(49, 1056, 88), +(49, 1057, 71), +(49, 1058, 88), +(49, 1059, 86), +(49, 1060, 80), +(49, 1061, 76), +(49, 1062, 72), +(49, 1063, 93), +(49, 1064, 66), +(49, 1065, 67), +(49, 1066, 70), +(49, 1067, 91), +(49, 1068, 94), +(49, 1069, 73), +(49, 1070, 68), +(49, 1071, 83), +(49, 1072, 98), +(49, 1073, 92), +(49, 1074, 80), +(49, 1075, 65), +(49, 1076, 83), +(49, 1077, 89), +(49, 1078, 78), +(49, 1079, 78), +(49, 1080, 75), +(49, 1081, 86), +(49, 1082, 69), +(49, 1083, 68), +(49, 1084, 66), +(49, 1085, 95), +(49, 1086, 95), +(49, 1087, 89), +(49, 1088, 86), +(49, 1089, 81), +(49, 1090, 75), +(49, 1091, 65), +(49, 1092, 89), +(49, 1093, 86), +(49, 1094, 70), +(49, 1095, 79), +(49, 1096, 66), +(49, 1097, 98), +(49, 1098, 73), +(49, 1099, 67), +(49, 1100, 96), +(49, 1101, 66), +(49, 1102, 77), +(49, 1103, 94), +(49, 1104, 79), +(49, 1105, 95), +(49, 1106, 96), +(49, 1107, 70), +(49, 1108, 65), +(49, 1109, 90), +(49, 1110, 99), +(49, 1111, 90), +(49, 1112, 76), +(49, 1113, 73), +(49, 1114, 96), +(49, 1115, 98), +(49, 1116, 71), +(49, 1117, 71), +(49, 1118, 68), +(49, 1119, 75), +(49, 1120, 85), +(49, 1121, 81), +(49, 1122, 85), +(49, 1123, 78), +(49, 1124, 65), +(49, 1125, 94), +(49, 1126, 80), +(49, 1127, 92), +(49, 1128, 67), +(49, 1129, 71), +(49, 1130, 85), +(49, 1131, 71), +(49, 1132, 71), +(49, 1133, 70), +(49, 1134, 94), +(49, 1135, 88); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(49, 1136, 89), +(49, 1137, 89), +(49, 1138, 85), +(49, 1139, 77), +(49, 1140, 85), +(49, 1141, 86), +(49, 1142, 96), +(49, 1143, 92), +(49, 1144, 68), +(49, 1145, 70), +(49, 1146, 67), +(49, 1147, 77), +(49, 1148, 83), +(49, 1149, 92), +(49, 1150, 78), +(49, 1151, 80), +(49, 1152, 75), +(49, 1153, 96), +(49, 1154, 77), +(49, 1155, 90), +(49, 1156, 68), +(49, 1157, 80), +(49, 1158, 76), +(49, 1159, 74), +(49, 1160, 73), +(49, 1161, 81), +(49, 1162, 72), +(49, 1163, 65), +(49, 1164, 95), +(49, 1165, 95), +(49, 1166, 68), +(49, 1167, 87), +(49, 1168, 82), +(49, 1169, 97), +(49, 1170, 69), +(49, 1171, 75), +(49, 1172, 83), +(49, 1173, 81), +(49, 1174, 85), +(49, 1175, 70), +(49, 1176, 77), +(49, 1177, 83), +(49, 1178, 86), +(49, 1179, 89), +(49, 1180, 68), +(49, 1181, 84), +(49, 1182, 90), +(49, 1183, 89), +(49, 1184, 70), +(49, 1185, 70), +(49, 1186, 75), +(49, 1187, 75), +(49, 1188, 90), +(49, 1189, 68), +(49, 1190, 75), +(49, 1191, 98), +(49, 1192, 72), +(49, 1193, 87), +(49, 1194, 90), +(49, 1195, 73), +(49, 1196, 93), +(49, 1197, 74), +(49, 1198, 76), +(49, 1199, 98), +(49, 1200, 76), +(49, 1201, 90), +(49, 1202, 69), +(49, 1203, 85), +(49, 1204, 97), +(49, 1205, 81), +(49, 1206, 66), +(49, 1207, 67), +(49, 1208, 76), +(49, 1209, 66), +(49, 1210, 78), +(49, 1211, 99), +(49, 1212, 76), +(49, 1213, 66), +(49, 1214, 71), +(49, 1215, 86), +(49, 1216, 71), +(49, 1217, 75), +(49, 1218, 76), +(49, 1219, 72), +(49, 1220, 86), +(49, 1221, 73), +(49, 1222, 82), +(49, 1223, 88), +(49, 1224, 99), +(49, 1225, 65), +(49, 1226, 72), +(49, 1227, 82), +(49, 1228, 89), +(49, 1229, 74), +(49, 1230, 72), +(49, 1231, 93), +(49, 1232, 66), +(49, 1233, 68), +(49, 1234, 92), +(49, 1235, 74), +(49, 1236, 83), +(49, 1237, 71), +(49, 1238, 79), +(49, 1239, 75), +(49, 1240, 71), +(49, 1241, 77), +(49, 1242, 74), +(49, 1243, 95), +(49, 1244, 65), +(49, 1245, 85), +(49, 1246, 99), +(49, 1247, 71), +(49, 1248, 76), +(49, 1249, 93), +(49, 1250, 84), +(49, 1251, 65), +(49, 1252, 89), +(49, 1253, 91), +(49, 1254, 91), +(49, 1255, 78), +(49, 1256, 81), +(49, 1257, 90), +(49, 1258, 78), +(49, 1259, 72), +(49, 1260, 67), +(49, 1261, 78), +(49, 1262, 95), +(49, 1263, 89), +(49, 1264, 72), +(49, 1265, 97), +(49, 1266, 74), +(49, 1267, 89), +(49, 1268, 85), +(49, 1269, 70), +(49, 1270, 85), +(49, 1271, 90), +(49, 1272, 68), +(49, 1273, 70), +(49, 1274, 94), +(49, 1275, 76), +(49, 1276, 74), +(49, 1277, 79), +(49, 1278, 83), +(49, 1279, 78), +(49, 1280, 84), +(49, 1281, 79), +(49, 1282, 93), +(49, 1283, 88), +(49, 1284, 76), +(49, 1285, 94), +(49, 1286, 87), +(49, 1287, 90), +(49, 1288, 85), +(49, 1289, 75), +(49, 1290, 79), +(49, 1291, 85), +(49, 1292, 93), +(49, 1293, 65), +(49, 1294, 68), +(49, 1295, 67), +(49, 1296, 74), +(49, 1297, 99), +(49, 1298, 75), +(49, 1299, 97), +(49, 1300, 68), +(49, 1301, 83), +(49, 1302, 86), +(49, 1303, 86), +(49, 1304, 94), +(49, 1305, 71), +(49, 1306, 72), +(49, 1307, 77), +(49, 1308, 67), +(49, 1309, 95), +(49, 1310, 90), +(49, 1311, 68), +(49, 1312, 92), +(49, 1313, 65), +(49, 1314, 81), +(49, 1315, 81), +(49, 1316, 66), +(49, 1317, 97), +(49, 1318, 92), +(49, 1319, 66), +(49, 1320, 81), +(49, 1321, 69), +(49, 1322, 83), +(49, 1323, 69), +(49, 1324, 72), +(49, 1325, 85), +(49, 1326, 88), +(49, 1327, 76), +(49, 1328, 68), +(49, 1329, 91), +(49, 1330, 78), +(49, 1331, 77), +(49, 1332, 90), +(49, 1333, 73), +(49, 1334, 91), +(49, 1335, 96), +(49, 1336, 67), +(49, 1337, 95), +(49, 1338, 70), +(49, 1339, 77), +(49, 1340, 97), +(49, 1341, 72), +(49, 1342, 69), +(49, 1343, 80), +(49, 1344, 73), +(49, 1345, 82), +(49, 1346, 73), +(49, 1347, 66), +(49, 1348, 76), +(49, 1349, 69), +(49, 1350, 97), +(49, 1351, 86), +(49, 1352, 75), +(49, 1353, 71), +(49, 1354, 97), +(49, 1355, 76), +(49, 1356, 83), +(49, 1357, 98), +(49, 1358, 78), +(49, 1359, 87), +(49, 1360, 80), +(49, 1361, 82), +(49, 1362, 73), +(49, 1363, 83), +(49, 1364, 90), +(49, 1365, 96), +(49, 1366, 89), +(49, 1367, 94), +(49, 1368, 74), +(49, 1369, 76), +(49, 1370, 73), +(49, 1371, 70), +(49, 1372, 78), +(49, 1373, 97), +(49, 1374, 88), +(49, 1375, 81), +(49, 1376, 83), +(49, 1377, 87), +(49, 1378, 76), +(49, 1379, 82), +(49, 1380, 80), +(49, 1381, 71), +(49, 1382, 80), +(49, 1383, 74), +(49, 1384, 78), +(49, 1385, 85), +(49, 1386, 95), +(49, 1387, 96), +(49, 1388, 74), +(49, 1389, 93), +(49, 1390, 72), +(49, 1391, 89), +(49, 1392, 94), +(49, 1393, 81), +(49, 1394, 85), +(49, 1395, 94), +(49, 1396, 94), +(49, 1397, 82), +(49, 1398, 83), +(49, 1399, 76), +(49, 1400, 89), +(49, 1401, 74), +(49, 1402, 78), +(49, 1403, 98), +(49, 1404, 95), +(49, 1405, 91), +(49, 1406, 85), +(49, 1407, 82), +(49, 1408, 98), +(49, 1409, 82), +(49, 1410, 84), +(49, 1411, 82), +(49, 1412, 92), +(49, 1413, 85), +(49, 1414, 76), +(49, 1415, 90), +(49, 1416, 89), +(49, 1417, 89), +(49, 1418, 77), +(49, 1419, 92), +(49, 1420, 93), +(49, 1421, 69), +(49, 1422, 79), +(49, 1423, 68), +(49, 1424, 78), +(49, 1425, 94), +(49, 1426, 93), +(49, 1427, 94), +(49, 1428, 74), +(49, 1429, 76), +(49, 1430, 67), +(49, 1431, 92), +(49, 1432, 67), +(49, 1433, 98), +(49, 1434, 83), +(49, 1435, 94), +(49, 1436, 87), +(49, 1437, 88), +(49, 1438, 93), +(49, 1439, 71), +(49, 1440, 67), +(49, 1441, 69), +(49, 1442, 74), +(49, 1443, 70), +(49, 1444, 69), +(49, 1445, 68), +(49, 1446, 68), +(49, 1447, 75), +(49, 1448, 93), +(49, 1449, 89), +(49, 1450, 86), +(49, 1451, 77), +(49, 1452, 90), +(49, 1453, 69), +(49, 1454, 94), +(49, 1455, 89), +(49, 1456, 82), +(49, 1457, 88), +(49, 1458, 74), +(49, 1459, 65), +(49, 1460, 80), +(49, 1461, 89), +(49, 1462, 92), +(49, 1463, 68), +(49, 1464, 80), +(49, 1465, 67), +(49, 1466, 82), +(49, 1467, 93), +(49, 1468, 88), +(49, 1469, 70), +(49, 1470, 88), +(49, 1471, 83), +(49, 1472, 73), +(49, 1473, 75), +(49, 1474, 67), +(49, 1475, 98), +(49, 1476, 87), +(49, 1477, 89), +(49, 1478, 74), +(49, 1479, 81), +(49, 1480, 76), +(49, 1481, 93), +(49, 1482, 90), +(49, 1483, 66), +(49, 1484, 79), +(49, 1485, 72), +(49, 1486, 89), +(49, 1487, 87), +(49, 1488, 98), +(49, 1489, 79), +(49, 1490, 76), +(49, 1491, 65), +(49, 1492, 70), +(49, 1493, 99), +(49, 1494, 77), +(49, 1495, 77), +(49, 1496, 96), +(49, 1497, 96), +(49, 1498, 89), +(49, 1499, 93), +(49, 1500, 95), +(49, 1501, 66), +(49, 1502, 97), +(49, 1503, 70), +(49, 1504, 90), +(49, 1505, 87), +(49, 1506, 92), +(49, 1507, 67), +(49, 1508, 99), +(49, 1509, 95), +(49, 1510, 89), +(49, 1511, 67), +(49, 1512, 70), +(49, 1513, 73), +(49, 1514, 84), +(49, 1515, 93), +(49, 1516, 95), +(49, 1517, 82), +(49, 1518, 81), +(49, 1519, 84), +(49, 1520, 69), +(49, 1521, 79), +(49, 1522, 91), +(49, 1523, 87), +(49, 1524, 80), +(49, 1525, 71), +(49, 1526, 86), +(49, 1527, 86), +(49, 1528, 86), +(49, 1529, 74), +(49, 1530, 68), +(49, 1531, 71), +(49, 1532, 89), +(49, 1533, 90), +(49, 1534, 76), +(49, 1535, 77), +(49, 1536, 79), +(49, 1537, 78), +(49, 1538, 76), +(49, 1539, 82), +(49, 1540, 98), +(49, 1541, 91), +(49, 1542, 96), +(49, 1543, 80), +(49, 1544, 81), +(49, 1545, 86), +(49, 1546, 77), +(49, 1547, 74), +(49, 1548, 99), +(49, 1549, 88), +(49, 1550, 68), +(49, 1551, 70), +(49, 1552, 89), +(49, 1553, 70), +(49, 1554, 66), +(49, 1555, 78), +(49, 1556, 72), +(49, 1557, 87), +(49, 1558, 87), +(49, 1559, 86), +(49, 1560, 92), +(49, 1561, 99), +(49, 1562, 98), +(49, 1563, 82), +(49, 1564, 74), +(49, 1565, 73), +(49, 1566, 89), +(49, 1567, 96), +(49, 1568, 93), +(49, 1569, 80), +(49, 1570, 75), +(49, 1571, 89), +(49, 1572, 79), +(49, 1573, 84), +(49, 1574, 77), +(49, 1575, 77), +(49, 1576, 90), +(49, 1577, 91), +(49, 1578, 80), +(49, 1579, 89), +(49, 1580, 90), +(49, 1581, 73), +(49, 1582, 69), +(49, 1583, 67), +(49, 1584, 79), +(49, 1585, 75), +(49, 1586, 73), +(49, 1587, 88), +(49, 2047, 74), +(49, 2048, 94), +(49, 2049, 91), +(49, 2050, 65), +(49, 2051, 91), +(49, 2052, 66), +(49, 2053, 82), +(49, 2054, 70), +(49, 2055, 76), +(49, 2056, 81), +(49, 2057, 99), +(49, 2058, 68), +(49, 2059, 95), +(49, 2060, 68), +(49, 2061, 80), +(49, 2062, 90), +(49, 2063, 65), +(49, 2064, 83), +(49, 2065, 72), +(49, 2066, 89), +(49, 2067, 91), +(49, 2068, 74), +(49, 2069, 94), +(49, 2070, 75), +(49, 2071, 87), +(49, 2072, 96), +(49, 2073, 98), +(49, 2074, 74), +(49, 2075, 73), +(49, 2076, 81), +(49, 2077, 79), +(49, 2078, 95), +(49, 2079, 66), +(49, 2080, 66), +(49, 2081, 89), +(49, 2082, 76), +(49, 2083, 93), +(49, 2084, 98), +(49, 2085, 95), +(49, 2086, 88), +(49, 2087, 95), +(49, 2088, 94), +(49, 2089, 98), +(49, 2090, 65), +(49, 2091, 95), +(49, 2092, 92), +(49, 2093, 98), +(49, 2094, 79), +(49, 2095, 73), +(49, 2096, 86), +(49, 2097, 90), +(49, 2098, 65), +(49, 2099, 92), +(49, 2100, 75), +(49, 2101, 97), +(49, 2102, 72), +(49, 2103, 80), +(49, 2104, 78), +(49, 2105, 81), +(49, 2106, 69), +(49, 2107, 73), +(49, 2108, 87), +(49, 2109, 92), +(49, 2110, 66), +(49, 2111, 83), +(49, 2112, 70), +(49, 2113, 79), +(49, 2114, 70), +(49, 2115, 88), +(49, 2116, 73), +(49, 2117, 85), +(49, 2118, 68), +(49, 2119, 68), +(49, 2120, 79), +(49, 2121, 68), +(49, 2122, 98), +(49, 2123, 90), +(49, 2124, 86), +(49, 2125, 73), +(49, 2126, 68), +(49, 2127, 99), +(49, 2128, 91), +(49, 2129, 81), +(49, 2130, 83), +(49, 2131, 96), +(49, 2132, 82), +(49, 2133, 76), +(49, 2134, 93), +(49, 2135, 81), +(49, 2136, 70), +(49, 2137, 92), +(49, 2138, 99), +(49, 2139, 85), +(49, 2140, 65), +(49, 2141, 88), +(49, 2142, 82), +(49, 2143, 97), +(49, 2144, 90), +(49, 2145, 83), +(49, 2146, 80), +(49, 2147, 77), +(49, 2148, 83), +(49, 2149, 80), +(49, 2150, 90), +(49, 2151, 65), +(49, 2152, 71), +(49, 2153, 88), +(49, 2154, 85), +(49, 2155, 69), +(49, 2156, 93), +(49, 2157, 96), +(49, 2158, 83), +(49, 2159, 77), +(49, 2160, 71), +(49, 2161, 85), +(49, 2162, 89), +(49, 2163, 68), +(49, 2164, 69), +(49, 2165, 89), +(49, 2166, 65), +(49, 2167, 79), +(49, 2168, 84), +(49, 2169, 67), +(49, 2170, 91), +(49, 2171, 84), +(49, 2172, 75), +(49, 2173, 83), +(49, 2174, 91), +(49, 2175, 82), +(49, 2176, 86), +(49, 2177, 91), +(49, 2178, 72), +(49, 2179, 66), +(49, 2180, 74), +(49, 2181, 85), +(49, 2182, 77), +(49, 2183, 93), +(49, 2184, 70), +(49, 2185, 77), +(49, 2186, 79), +(49, 2187, 72), +(49, 2188, 89), +(49, 2189, 90), +(49, 2190, 82), +(49, 2191, 99), +(49, 2192, 82), +(49, 2193, 70), +(49, 2194, 85), +(49, 2195, 88), +(49, 2196, 94), +(49, 2197, 85), +(49, 2198, 80), +(49, 2199, 75), +(49, 2200, 67), +(49, 2201, 93), +(49, 2202, 75), +(49, 2203, 99), +(49, 2204, 89), +(49, 2205, 75), +(49, 2206, 78), +(49, 2207, 84), +(49, 2208, 71), +(49, 2209, 97), +(49, 2210, 81), +(49, 2211, 78), +(49, 2212, 93), +(49, 2213, 94), +(49, 2214, 73), +(49, 2215, 69), +(49, 2216, 93), +(49, 2217, 93), +(49, 2218, 95), +(49, 2219, 92), +(49, 2220, 69), +(49, 2221, 98), +(49, 2222, 78), +(49, 2223, 68), +(49, 2224, 96), +(49, 2225, 73), +(49, 2226, 81), +(49, 2227, 80), +(49, 2228, 93), +(49, 2229, 80), +(49, 2230, 68), +(49, 2231, 76), +(49, 2232, 66), +(49, 2233, 85), +(49, 2234, 76), +(49, 2235, 78), +(49, 2236, 95), +(49, 2237, 94), +(49, 2238, 92), +(49, 2239, 96), +(49, 2240, 70), +(49, 2241, 86), +(49, 2242, 87), +(49, 2243, 73), +(49, 2244, 76), +(49, 2245, 97), +(49, 2246, 94), +(49, 2247, 79), +(49, 2248, 69), +(49, 2249, 95), +(49, 2250, 98), +(49, 2251, 92), +(49, 2252, 78), +(49, 2253, 70), +(49, 2254, 92), +(49, 2255, 83), +(49, 2256, 76), +(49, 2257, 87), +(49, 2258, 87), +(49, 2259, 78), +(49, 2260, 80), +(49, 2261, 76), +(49, 2262, 70), +(49, 2263, 83), +(49, 2264, 72), +(49, 2265, 73), +(49, 2266, 79), +(49, 2267, 98), +(49, 2268, 70), +(49, 2269, 97), +(49, 2270, 99), +(49, 2271, 82), +(49, 2272, 83), +(49, 2273, 85), +(49, 2274, 83), +(49, 2275, 71), +(49, 2276, 97), +(49, 2277, 90), +(49, 2278, 65), +(49, 2279, 99), +(49, 2280, 85), +(49, 2281, 66), +(49, 2282, 99), +(49, 2283, 82), +(49, 2284, 78), +(49, 2285, 69), +(49, 2286, 65), +(49, 2287, 93), +(49, 2288, 69), +(49, 2289, 77), +(49, 2290, 93), +(49, 2291, 75), +(49, 2292, 87), +(49, 2293, 65), +(49, 2294, 84), +(49, 2295, 84), +(49, 2296, 84), +(49, 2297, 93), +(49, 2298, 83), +(49, 2299, 78), +(49, 2300, 73), +(49, 2301, 94), +(49, 2302, 92), +(49, 2303, 80), +(49, 2304, 94), +(49, 2305, 68), +(49, 2306, 85), +(49, 2307, 85), +(49, 2308, 92), +(49, 2309, 65), +(49, 2310, 66), +(49, 2311, 74), +(49, 2312, 71), +(49, 2313, 68), +(49, 2314, 82), +(49, 2315, 69), +(49, 2316, 79), +(49, 2317, 96), +(49, 2318, 65), +(49, 2319, 88), +(49, 2320, 69), +(49, 2321, 74), +(49, 2322, 71), +(49, 2323, 80), +(49, 2324, 66), +(49, 2325, 80), +(49, 2326, 90), +(49, 2327, 76), +(49, 2328, 75), +(49, 2329, 95), +(49, 2330, 97), +(49, 2331, 98), +(49, 2332, 91), +(49, 2333, 91), +(49, 2334, 80), +(49, 2335, 96), +(49, 2336, 73), +(49, 2337, 85), +(49, 2338, 80), +(49, 2339, 93), +(49, 2340, 72), +(49, 2341, 91), +(49, 2342, 95), +(49, 2343, 72), +(49, 2344, 93), +(49, 2345, 74), +(49, 2346, 73), +(49, 2347, 82), +(49, 2348, 96), +(49, 2349, 71), +(49, 2350, 87), +(49, 2351, 66), +(49, 2352, 79), +(49, 2353, 65), +(49, 2354, 95), +(49, 2355, 82), +(49, 2356, 76), +(49, 2357, 81), +(49, 2358, 99), +(49, 2359, 70), +(49, 2360, 75), +(49, 2361, 84), +(49, 2362, 77), +(49, 2363, 69), +(49, 2364, 69), +(49, 2365, 79), +(49, 2366, 86), +(49, 2367, 96), +(49, 2368, 98), +(49, 2369, 80), +(49, 2370, 75), +(49, 2371, 86), +(49, 2372, 92), +(49, 2373, 72), +(49, 2374, 83), +(49, 2375, 83), +(49, 2376, 81), +(49, 2377, 81), +(49, 2378, 80), +(49, 2379, 96), +(49, 2380, 84), +(49, 2381, 96), +(49, 2382, 90), +(49, 2383, 93), +(49, 2384, 97), +(49, 2385, 76), +(49, 2386, 94), +(49, 2387, 65), +(49, 2388, 78), +(49, 2389, 88), +(49, 2390, 90), +(49, 2391, 67), +(49, 2392, 68), +(49, 2393, 82), +(49, 2394, 71), +(49, 2395, 85), +(49, 2396, 95), +(49, 2397, 81), +(49, 2398, 85), +(49, 2399, 69), +(49, 2400, 88), +(49, 2401, 68), +(49, 2402, 73), +(49, 2403, 94), +(49, 2404, 99), +(49, 2405, 96), +(49, 2406, 75), +(49, 2407, 86), +(49, 2408, 87), +(49, 2409, 97), +(49, 2410, 88), +(49, 2411, 90), +(49, 2412, 90), +(49, 2413, 98), +(49, 2414, 71), +(49, 2415, 70), +(49, 2416, 73), +(49, 2417, 86), +(49, 2418, 98), +(49, 2419, 73), +(49, 2420, 91), +(49, 2421, 72), +(49, 2422, 99), +(49, 2423, 66), +(49, 2424, 98), +(49, 2425, 83), +(49, 2426, 89), +(49, 2427, 93), +(49, 2428, 82), +(49, 2429, 90), +(49, 2430, 94), +(49, 2431, 96), +(49, 2432, 71), +(49, 2433, 75), +(49, 2434, 71), +(49, 2435, 80), +(49, 2436, 68), +(49, 2437, 66), +(49, 2438, 72), +(49, 2439, 69), +(49, 2440, 88), +(49, 2441, 85), +(49, 2442, 97), +(49, 2443, 88), +(49, 2444, 72), +(49, 2445, 88), +(49, 2446, 65), +(49, 2447, 87), +(49, 2448, 95), +(49, 2449, 77), +(49, 2450, 95), +(49, 2451, 88), +(49, 2452, 88), +(49, 2453, 86), +(49, 2454, 78), +(49, 2455, 97), +(49, 2456, 73), +(49, 2457, 94), +(49, 2458, 69), +(49, 2459, 78), +(49, 2460, 75), +(49, 2461, 86), +(49, 2462, 76), +(49, 2463, 73), +(49, 2464, 72), +(49, 2465, 81), +(49, 2466, 98), +(49, 2467, 67), +(49, 2468, 73), +(49, 2469, 83), +(49, 2470, 86), +(49, 2471, 97), +(49, 2472, 73), +(49, 2473, 99), +(49, 2474, 90), +(49, 2475, 79), +(49, 2476, 73), +(49, 2477, 83), +(49, 2478, 94), +(49, 2479, 83), +(49, 2480, 97), +(49, 2481, 73), +(49, 2482, 68), +(49, 2483, 94), +(49, 2484, 72), +(49, 2485, 67), +(49, 2486, 69), +(49, 2487, 68), +(49, 2488, 92), +(49, 2489, 85), +(49, 2490, 81), +(49, 2491, 99), +(49, 2492, 69), +(49, 2493, 93), +(49, 2494, 86), +(49, 2495, 76), +(49, 2496, 67), +(49, 2497, 86), +(49, 2498, 69), +(49, 2499, 71), +(49, 2500, 78), +(49, 2501, 93), +(49, 2502, 88), +(49, 2503, 89), +(49, 2504, 69), +(49, 2505, 78), +(49, 2506, 73), +(49, 2507, 88), +(49, 2508, 77), +(49, 2509, 65), +(49, 2510, 88), +(49, 2511, 89), +(49, 2512, 99), +(49, 2513, 84), +(49, 2514, 78), +(49, 2515, 90), +(49, 2516, 93), +(49, 2517, 70), +(49, 2518, 84), +(49, 2519, 98), +(49, 2520, 69), +(49, 2521, 71), +(49, 2522, 91), +(49, 2523, 77), +(49, 2524, 93), +(49, 2525, 81), +(49, 2526, 85), +(49, 2527, 80), +(49, 2528, 91), +(49, 2529, 76), +(49, 2530, 95), +(49, 2531, 90), +(49, 2532, 77), +(49, 2533, 91), +(49, 2534, 71), +(49, 2535, 66), +(49, 2536, 71), +(49, 2537, 82), +(49, 2538, 86), +(49, 2539, 88), +(49, 2540, 86), +(49, 2541, 75), +(49, 2542, 89), +(49, 2543, 70), +(49, 2544, 92), +(49, 2545, 83), +(49, 2546, 74), +(49, 2547, 84), +(49, 2548, 72), +(49, 2549, 73), +(49, 2550, 90), +(49, 2551, 75), +(49, 2552, 69), +(49, 2553, 65), +(49, 2554, 88), +(49, 2555, 94), +(49, 2556, 75), +(49, 2557, 88), +(49, 2558, 69), +(49, 2559, 91), +(49, 2560, 81), +(49, 2561, 71), +(49, 2562, 86), +(49, 2563, 66), +(49, 2564, 98), +(49, 2565, 95), +(49, 2566, 98), +(49, 2567, 80), +(49, 2568, 72), +(49, 2569, 96), +(49, 2570, 81), +(49, 2571, 67), +(49, 2572, 85), +(49, 2573, 69), +(49, 2574, 92), +(49, 2575, 79), +(49, 2576, 65), +(49, 2577, 87), +(49, 2578, 91), +(49, 2579, 72), +(49, 2580, 90), +(49, 2581, 90), +(49, 2582, 75), +(49, 2583, 67), +(49, 2584, 73), +(49, 2585, 73), +(49, 2586, 80), +(49, 2587, 65), +(49, 2588, 79), +(49, 2589, 65), +(49, 2590, 83), +(49, 2591, 83), +(49, 2592, 73), +(49, 2593, 66), +(49, 2594, 97), +(49, 2595, 85), +(49, 2596, 89), +(49, 2597, 91), +(49, 2598, 66), +(49, 2599, 73), +(49, 2600, 89), +(49, 2601, 77), +(49, 2602, 94), +(49, 2603, 88), +(49, 2604, 76), +(49, 2605, 73), +(49, 2606, 71), +(49, 2607, 73), +(49, 2608, 94), +(49, 2609, 98), +(49, 2610, 73), +(50, 1, 75), +(50, 2, 90), +(50, 3, 74), +(50, 4, 66), +(50, 5, 70), +(50, 6, 66), +(50, 7, 79), +(50, 8, 84), +(50, 9, 87), +(50, 10, 98), +(50, 11, 87), +(50, 12, 91), +(50, 13, 72), +(50, 14, 87), +(50, 15, 68), +(50, 16, 67), +(50, 17, 89), +(50, 18, 65), +(50, 19, 93), +(50, 20, 88), +(50, 21, 85), +(50, 22, 73), +(50, 23, 94), +(50, 24, 85), +(50, 25, 93), +(50, 26, 73), +(50, 27, 66), +(50, 28, 70), +(50, 29, 80), +(50, 30, 74), +(50, 31, 73), +(50, 32, 73), +(50, 33, 74), +(50, 34, 99), +(50, 35, 70), +(50, 36, 86), +(50, 37, 77), +(50, 38, 96), +(50, 39, 77), +(50, 40, 88), +(50, 41, 70), +(50, 42, 87), +(50, 43, 89), +(50, 44, 90), +(50, 45, 87), +(50, 46, 90), +(50, 47, 68), +(50, 48, 99), +(50, 49, 95), +(50, 50, 92), +(50, 51, 91), +(50, 52, 87), +(50, 53, 87), +(50, 54, 96), +(50, 55, 93), +(50, 56, 86), +(50, 57, 74), +(50, 58, 72), +(50, 59, 90), +(50, 60, 66), +(50, 61, 80), +(50, 62, 91), +(50, 63, 92), +(50, 64, 75), +(50, 65, 80), +(50, 66, 84), +(50, 67, 73), +(50, 68, 66), +(50, 69, 98), +(50, 70, 80), +(50, 71, 86), +(50, 72, 66), +(50, 73, 73), +(50, 74, 67), +(50, 75, 74), +(50, 76, 77), +(50, 77, 94), +(50, 78, 87), +(50, 79, 65), +(50, 80, 69), +(50, 81, 83), +(50, 82, 83), +(50, 83, 66), +(50, 84, 90), +(50, 85, 67), +(50, 86, 67), +(50, 87, 91), +(50, 88, 87), +(50, 89, 70), +(50, 90, 66), +(50, 91, 94), +(50, 92, 92), +(50, 93, 80), +(50, 94, 89), +(50, 95, 94), +(50, 96, 83), +(50, 97, 82), +(50, 98, 87), +(50, 99, 86), +(50, 100, 75), +(50, 101, 75), +(50, 102, 69), +(50, 103, 93), +(50, 104, 92), +(50, 105, 81), +(50, 106, 77), +(50, 107, 70), +(50, 108, 74), +(50, 109, 71), +(50, 110, 86), +(50, 111, 85), +(50, 112, 74), +(50, 113, 83), +(50, 114, 65), +(50, 115, 92), +(50, 116, 73), +(50, 117, 80), +(50, 118, 90), +(50, 119, 79), +(50, 120, 83), +(50, 121, 87), +(50, 122, 97), +(50, 123, 88), +(50, 124, 72), +(50, 125, 65), +(50, 126, 93), +(50, 127, 69), +(50, 128, 84), +(50, 129, 72), +(50, 130, 77), +(50, 131, 96), +(50, 132, 77), +(50, 133, 79), +(50, 134, 70), +(50, 135, 88), +(50, 136, 68), +(50, 137, 77), +(50, 138, 69), +(50, 139, 72), +(50, 140, 82), +(50, 141, 94), +(50, 142, 87), +(50, 143, 92), +(50, 144, 82), +(50, 145, 89), +(50, 146, 94), +(50, 147, 77), +(50, 148, 94), +(50, 149, 82), +(50, 150, 84), +(50, 151, 93), +(50, 152, 67), +(50, 153, 75), +(50, 154, 69), +(50, 155, 98), +(50, 156, 74), +(50, 157, 73), +(50, 158, 90), +(50, 159, 96), +(50, 160, 75), +(50, 161, 80), +(50, 162, 78), +(50, 163, 89), +(50, 164, 73), +(50, 165, 76), +(50, 166, 75), +(50, 167, 82), +(50, 168, 85), +(50, 169, 97), +(50, 170, 99), +(50, 171, 71), +(50, 172, 76), +(50, 173, 81), +(50, 174, 89), +(50, 175, 68), +(50, 176, 66), +(50, 177, 65), +(50, 178, 90), +(50, 179, 73), +(50, 180, 73), +(50, 181, 73), +(50, 182, 91), +(50, 183, 92), +(50, 184, 80), +(50, 185, 72), +(50, 186, 72), +(50, 187, 92), +(50, 188, 83), +(50, 189, 84), +(50, 190, 68), +(50, 191, 74), +(50, 192, 65), +(50, 193, 78), +(50, 194, 88), +(50, 195, 93), +(50, 196, 87), +(50, 197, 93), +(50, 198, 76), +(50, 199, 98), +(50, 200, 67), +(50, 201, 67), +(50, 202, 95), +(50, 203, 95), +(50, 204, 96), +(50, 205, 96), +(50, 206, 93), +(50, 207, 76), +(50, 208, 74), +(50, 209, 86), +(50, 210, 81), +(50, 211, 98), +(50, 212, 68), +(50, 213, 82), +(50, 214, 88), +(50, 215, 76), +(50, 216, 92), +(50, 217, 84), +(50, 218, 69), +(50, 219, 90), +(50, 220, 98), +(50, 221, 86), +(50, 222, 79), +(50, 223, 80), +(50, 224, 89), +(50, 225, 83), +(50, 226, 76), +(50, 227, 95), +(50, 228, 78), +(50, 229, 84), +(50, 230, 91), +(50, 231, 87), +(50, 232, 95), +(50, 233, 91), +(50, 234, 65), +(50, 235, 93), +(50, 236, 66), +(50, 237, 67), +(50, 238, 91), +(50, 239, 88), +(50, 240, 69), +(50, 241, 67), +(50, 242, 88), +(50, 243, 98), +(50, 244, 97), +(50, 245, 71), +(50, 246, 85), +(50, 247, 73), +(50, 248, 85), +(50, 249, 81), +(50, 250, 77), +(50, 251, 94), +(50, 252, 90), +(50, 253, 68), +(50, 254, 94), +(50, 255, 99), +(50, 256, 77), +(50, 257, 77), +(50, 258, 96), +(50, 259, 72), +(50, 260, 87), +(50, 261, 80), +(50, 262, 65), +(50, 263, 71), +(50, 264, 98), +(50, 265, 97), +(50, 266, 92), +(50, 267, 92), +(50, 268, 88), +(50, 269, 67), +(50, 270, 83), +(50, 271, 79), +(50, 272, 94), +(50, 273, 66), +(50, 274, 70), +(50, 275, 84), +(50, 276, 79), +(50, 277, 95), +(50, 278, 78), +(50, 279, 90), +(50, 280, 65), +(50, 281, 75), +(50, 282, 81), +(50, 283, 73), +(50, 284, 66), +(50, 285, 80), +(50, 286, 95), +(50, 287, 82), +(50, 288, 75), +(50, 289, 92), +(50, 290, 74), +(50, 291, 98), +(50, 292, 72), +(50, 293, 78), +(50, 294, 96), +(50, 295, 91), +(50, 296, 89), +(50, 297, 87), +(50, 298, 97), +(50, 299, 77), +(50, 300, 68), +(50, 301, 72), +(50, 302, 85), +(50, 303, 74), +(50, 304, 92), +(50, 305, 69), +(50, 306, 82), +(50, 307, 92), +(50, 308, 65), +(50, 309, 82), +(50, 310, 99), +(50, 311, 79), +(50, 312, 92), +(50, 313, 99), +(50, 314, 88), +(50, 315, 67), +(50, 316, 76), +(50, 317, 82), +(50, 318, 89), +(50, 319, 74), +(50, 320, 75), +(50, 321, 97), +(50, 322, 83), +(50, 323, 71), +(50, 324, 69), +(50, 325, 91), +(50, 326, 76), +(50, 327, 73), +(50, 328, 91), +(50, 329, 73), +(50, 330, 80), +(50, 331, 79), +(50, 332, 72), +(50, 333, 89), +(50, 334, 85), +(50, 335, 92), +(50, 336, 65), +(50, 337, 72), +(50, 338, 99), +(50, 339, 80), +(50, 340, 85), +(50, 341, 79), +(50, 342, 90), +(50, 343, 72), +(50, 344, 81), +(50, 345, 80), +(50, 346, 68), +(50, 347, 85), +(50, 348, 79), +(50, 349, 78), +(50, 350, 90), +(50, 351, 94), +(50, 352, 86), +(50, 353, 76), +(50, 354, 95), +(50, 355, 83), +(50, 356, 84), +(50, 357, 92), +(50, 358, 96), +(50, 359, 68), +(50, 360, 83), +(50, 361, 87), +(50, 362, 72), +(50, 363, 76), +(50, 364, 77), +(50, 365, 86), +(50, 366, 92), +(50, 367, 77), +(50, 368, 66), +(50, 369, 79), +(50, 370, 94), +(50, 371, 80), +(50, 372, 89), +(50, 373, 77), +(50, 374, 81), +(50, 375, 72), +(50, 376, 90), +(50, 377, 98), +(50, 378, 97), +(50, 379, 87), +(50, 380, 90), +(50, 381, 73), +(50, 382, 78), +(50, 383, 65), +(50, 384, 98), +(50, 385, 82), +(50, 386, 75), +(50, 387, 69), +(50, 388, 66), +(50, 389, 66), +(50, 390, 96), +(50, 391, 76), +(50, 392, 85), +(50, 393, 72), +(50, 394, 82), +(50, 395, 74), +(50, 396, 86), +(50, 397, 95), +(50, 398, 83), +(50, 399, 80), +(50, 400, 75), +(50, 401, 82), +(50, 402, 82), +(50, 403, 65), +(50, 404, 77), +(50, 405, 92), +(50, 406, 72), +(50, 407, 66), +(50, 408, 82), +(50, 409, 79), +(50, 410, 66), +(50, 411, 78), +(50, 412, 97), +(50, 413, 77), +(50, 414, 72), +(50, 415, 80), +(50, 416, 91), +(50, 417, 88), +(50, 418, 80), +(50, 419, 93), +(50, 420, 83), +(50, 421, 73), +(50, 422, 86), +(50, 423, 76), +(50, 424, 85), +(50, 425, 92), +(50, 426, 83), +(50, 427, 85), +(50, 428, 92), +(50, 429, 99), +(50, 430, 78), +(50, 431, 73), +(50, 432, 70), +(50, 433, 85), +(50, 434, 99), +(50, 435, 67), +(50, 436, 92), +(50, 437, 83), +(50, 438, 96), +(50, 439, 77), +(50, 440, 74), +(50, 441, 84), +(50, 442, 98), +(50, 443, 81), +(50, 444, 97), +(50, 445, 83), +(50, 446, 70), +(50, 447, 80), +(50, 448, 79), +(50, 449, 66), +(50, 450, 67), +(50, 451, 79), +(50, 452, 89), +(50, 453, 79), +(50, 454, 86), +(50, 455, 86), +(50, 456, 68), +(50, 457, 84), +(50, 458, 74), +(50, 459, 66), +(50, 460, 75), +(50, 461, 90), +(50, 462, 83), +(50, 463, 92), +(50, 464, 93), +(50, 465, 92), +(50, 466, 85), +(50, 467, 83), +(50, 468, 96), +(50, 469, 81), +(50, 470, 83), +(50, 471, 96), +(50, 472, 81), +(50, 473, 69), +(50, 474, 96), +(50, 475, 72), +(50, 476, 85), +(50, 477, 86), +(50, 478, 83), +(50, 479, 84), +(50, 480, 91), +(50, 481, 71), +(50, 482, 73), +(50, 483, 75), +(50, 484, 72), +(50, 485, 93), +(50, 486, 88), +(50, 487, 80), +(50, 488, 69), +(50, 489, 75), +(50, 490, 73), +(50, 491, 80), +(50, 492, 91), +(50, 493, 65), +(50, 494, 78), +(50, 495, 84), +(50, 496, 78), +(50, 497, 80), +(50, 498, 86), +(50, 499, 90), +(50, 500, 85), +(50, 501, 84), +(50, 502, 77), +(50, 503, 79), +(50, 504, 98), +(50, 505, 79), +(50, 506, 72), +(50, 507, 73), +(50, 508, 82), +(50, 509, 72), +(50, 510, 94), +(50, 511, 87), +(50, 512, 96), +(50, 513, 92), +(50, 514, 65), +(50, 515, 82), +(50, 516, 96), +(50, 517, 84), +(50, 518, 85), +(50, 519, 97), +(50, 520, 99), +(50, 521, 76), +(50, 522, 94), +(50, 523, 97), +(50, 524, 89), +(50, 525, 94), +(50, 526, 91), +(50, 527, 78), +(50, 528, 76), +(50, 529, 70), +(50, 530, 98), +(50, 531, 73), +(50, 532, 68), +(50, 533, 84), +(50, 534, 69), +(50, 535, 68), +(50, 536, 81), +(50, 537, 89), +(50, 538, 93), +(50, 539, 65), +(50, 540, 76), +(50, 541, 93), +(50, 542, 81), +(50, 543, 99), +(50, 544, 95), +(50, 545, 80), +(50, 546, 78), +(50, 547, 81), +(50, 548, 76), +(50, 549, 86), +(50, 550, 71), +(50, 551, 73), +(50, 552, 90), +(50, 553, 68), +(50, 554, 91), +(50, 555, 97), +(50, 556, 89), +(50, 557, 79), +(50, 558, 96), +(50, 559, 69), +(50, 560, 83), +(50, 561, 88), +(50, 562, 80), +(50, 563, 78), +(50, 564, 90), +(50, 1024, 89), +(50, 1025, 66), +(50, 1026, 83), +(50, 1027, 71), +(50, 1028, 82), +(50, 1029, 95), +(50, 1030, 73), +(50, 1031, 75), +(50, 1032, 69), +(50, 1033, 80), +(50, 1034, 94), +(50, 1035, 91), +(50, 1036, 72), +(50, 1037, 74), +(50, 1038, 71), +(50, 1039, 99), +(50, 1040, 80), +(50, 1041, 90), +(50, 1042, 96), +(50, 1043, 82), +(50, 1044, 73), +(50, 1045, 87), +(50, 1046, 68), +(50, 1047, 79), +(50, 1048, 80), +(50, 1049, 99), +(50, 1050, 84), +(50, 1051, 96), +(50, 1052, 85), +(50, 1053, 65), +(50, 1054, 65), +(50, 1055, 91), +(50, 1056, 81), +(50, 1057, 88), +(50, 1058, 72), +(50, 1059, 79), +(50, 1060, 71), +(50, 1061, 93), +(50, 1062, 83), +(50, 1063, 80), +(50, 1064, 76), +(50, 1065, 85), +(50, 1066, 80), +(50, 1067, 76), +(50, 1068, 90), +(50, 1069, 73), +(50, 1070, 65), +(50, 1071, 72), +(50, 1072, 83), +(50, 1073, 79), +(50, 1074, 91), +(50, 1075, 85), +(50, 1076, 66), +(50, 1077, 81), +(50, 1078, 92), +(50, 1079, 76), +(50, 1080, 72), +(50, 1081, 98), +(50, 1082, 84), +(50, 1083, 78), +(50, 1084, 67), +(50, 1085, 86), +(50, 1086, 81), +(50, 1087, 77), +(50, 1088, 67), +(50, 1089, 85), +(50, 1090, 93), +(50, 1091, 83), +(50, 1092, 92), +(50, 1093, 73), +(50, 1094, 70), +(50, 1095, 71), +(50, 1096, 70), +(50, 1097, 82), +(50, 1098, 75), +(50, 1099, 83), +(50, 1100, 83), +(50, 1101, 96), +(50, 1102, 92), +(50, 1103, 98), +(50, 1104, 76), +(50, 1105, 92), +(50, 1106, 94), +(50, 1107, 75), +(50, 1108, 69), +(50, 1109, 65), +(50, 1110, 68), +(50, 1111, 65), +(50, 1112, 81), +(50, 1113, 98), +(50, 1114, 77), +(50, 1115, 84), +(50, 1116, 88), +(50, 1117, 70), +(50, 1118, 71), +(50, 1119, 93), +(50, 1120, 83), +(50, 1121, 89), +(50, 1122, 92), +(50, 1123, 89), +(50, 1124, 99), +(50, 1125, 72), +(50, 1126, 75), +(50, 1127, 92), +(50, 1128, 69), +(50, 1129, 86), +(50, 1130, 72), +(50, 1131, 87), +(50, 1132, 70), +(50, 1133, 88), +(50, 1134, 98), +(50, 1135, 94), +(50, 1136, 65), +(50, 1137, 95), +(50, 1138, 85), +(50, 1139, 96), +(50, 1140, 65), +(50, 1141, 78), +(50, 1142, 70), +(50, 1143, 69), +(50, 1144, 69), +(50, 1145, 90), +(50, 1146, 81), +(50, 1147, 67), +(50, 1148, 95), +(50, 1149, 70), +(50, 1150, 79), +(50, 1151, 98), +(50, 1152, 84), +(50, 1153, 92), +(50, 1154, 71), +(50, 1155, 71), +(50, 1156, 99), +(50, 1157, 69), +(50, 1158, 98), +(50, 1159, 80), +(50, 1160, 83), +(50, 1161, 66), +(50, 1162, 87), +(50, 1163, 67), +(50, 1164, 97), +(50, 1165, 86), +(50, 1166, 89), +(50, 1167, 89), +(50, 1168, 98), +(50, 1169, 91), +(50, 1170, 85), +(50, 1171, 87), +(50, 1172, 96), +(50, 1173, 77), +(50, 1174, 77), +(50, 1175, 99), +(50, 1176, 93), +(50, 1177, 88), +(50, 1178, 94), +(50, 1179, 86), +(50, 1180, 65), +(50, 1181, 93), +(50, 1182, 94), +(50, 1183, 96), +(50, 1184, 82), +(50, 1185, 73), +(50, 1186, 77), +(50, 1187, 66), +(50, 1188, 72), +(50, 1189, 65), +(50, 1190, 79), +(50, 1191, 68), +(50, 1192, 79), +(50, 1193, 72), +(50, 1194, 72), +(50, 1195, 95), +(50, 1196, 75), +(50, 1197, 66), +(50, 1198, 74), +(50, 1199, 71), +(50, 1200, 83), +(50, 1201, 89), +(50, 1202, 77), +(50, 1203, 68), +(50, 1204, 94), +(50, 1205, 85), +(50, 1206, 73), +(50, 1207, 97), +(50, 1208, 95), +(50, 1209, 72), +(50, 1210, 78), +(50, 1211, 84), +(50, 1212, 95), +(50, 1213, 83), +(50, 1214, 79), +(50, 1215, 72), +(50, 1216, 96), +(50, 1217, 70), +(50, 1218, 78), +(50, 1219, 79), +(50, 1220, 66), +(50, 1221, 87), +(50, 1222, 84), +(50, 1223, 76), +(50, 1224, 72), +(50, 1225, 90), +(50, 1226, 80), +(50, 1227, 77), +(50, 1228, 72), +(50, 1229, 74), +(50, 1230, 78), +(50, 1231, 89), +(50, 1232, 83), +(50, 1233, 80), +(50, 1234, 76), +(50, 1235, 88), +(50, 1236, 69), +(50, 1237, 80), +(50, 1238, 89), +(50, 1239, 91), +(50, 1240, 70), +(50, 1241, 80), +(50, 1242, 88), +(50, 1243, 74), +(50, 1244, 94), +(50, 1245, 88), +(50, 1246, 88), +(50, 1247, 78), +(50, 1248, 76), +(50, 1249, 84), +(50, 1250, 76), +(50, 1251, 93), +(50, 1252, 81), +(50, 1253, 99), +(50, 1254, 69), +(50, 1255, 81), +(50, 1256, 77), +(50, 1257, 84), +(50, 1258, 86), +(50, 1259, 66), +(50, 1260, 94), +(50, 1261, 71), +(50, 1262, 75), +(50, 1263, 77), +(50, 1264, 91), +(50, 1265, 97), +(50, 1266, 65), +(50, 1267, 91), +(50, 1268, 85), +(50, 1269, 81), +(50, 1270, 99), +(50, 1271, 92), +(50, 1272, 84), +(50, 1273, 97), +(50, 1274, 66), +(50, 1275, 95), +(50, 1276, 92), +(50, 1277, 68), +(50, 1278, 96), +(50, 1279, 79), +(50, 1280, 71), +(50, 1281, 94), +(50, 1282, 66), +(50, 1283, 65), +(50, 1284, 84), +(50, 1285, 90), +(50, 1286, 84), +(50, 1287, 92), +(50, 1288, 91), +(50, 1289, 94), +(50, 1290, 75), +(50, 1291, 73), +(50, 1292, 96), +(50, 1293, 81), +(50, 1294, 95), +(50, 1295, 96), +(50, 1296, 76), +(50, 1297, 85), +(50, 1298, 84), +(50, 1299, 79), +(50, 1300, 79), +(50, 1301, 91), +(50, 1302, 87), +(50, 1303, 73), +(50, 1304, 74), +(50, 1305, 82), +(50, 1306, 79), +(50, 1307, 65), +(50, 1308, 96), +(50, 1309, 84), +(50, 1310, 71), +(50, 1311, 71), +(50, 1312, 84), +(50, 1313, 70), +(50, 1314, 66), +(50, 1315, 80), +(50, 1316, 77), +(50, 1317, 74), +(50, 1318, 70), +(50, 1319, 74), +(50, 1320, 76), +(50, 1321, 71), +(50, 1322, 87), +(50, 1323, 99), +(50, 1324, 95), +(50, 1325, 80), +(50, 1326, 84), +(50, 1327, 82), +(50, 1328, 92), +(50, 1329, 70), +(50, 1330, 78), +(50, 1331, 68), +(50, 1332, 83), +(50, 1333, 69), +(50, 1334, 69), +(50, 1335, 78), +(50, 1336, 91), +(50, 1337, 84), +(50, 1338, 82), +(50, 1339, 82), +(50, 1340, 66), +(50, 1341, 78), +(50, 1342, 77), +(50, 1343, 67), +(50, 1344, 84), +(50, 1345, 84), +(50, 1346, 85), +(50, 1347, 77), +(50, 1348, 81), +(50, 1349, 74), +(50, 1350, 88), +(50, 1351, 73), +(50, 1352, 81), +(50, 1353, 79), +(50, 1354, 92), +(50, 1355, 66), +(50, 1356, 85), +(50, 1357, 79), +(50, 1358, 98), +(50, 1359, 67), +(50, 1360, 70), +(50, 1361, 83), +(50, 1362, 95), +(50, 1363, 65), +(50, 1364, 93), +(50, 1365, 94), +(50, 1366, 82), +(50, 1367, 94), +(50, 1368, 76), +(50, 1369, 81), +(50, 1370, 73), +(50, 1371, 90), +(50, 1372, 91), +(50, 1373, 89), +(50, 1374, 87), +(50, 1375, 76), +(50, 1376, 96), +(50, 1377, 79), +(50, 1378, 92), +(50, 1379, 87), +(50, 1380, 90), +(50, 1381, 88), +(50, 1382, 82), +(50, 1383, 71), +(50, 1384, 90), +(50, 1385, 85), +(50, 1386, 66), +(50, 1387, 84), +(50, 1388, 88), +(50, 1389, 65), +(50, 1390, 93), +(50, 1391, 81), +(50, 1392, 85), +(50, 1393, 97), +(50, 1394, 82), +(50, 1395, 82), +(50, 1396, 96), +(50, 1397, 98), +(50, 1398, 67), +(50, 1399, 75), +(50, 1400, 96), +(50, 1401, 92), +(50, 1402, 94), +(50, 1403, 90), +(50, 1404, 92), +(50, 1405, 83), +(50, 1406, 83), +(50, 1407, 84), +(50, 1408, 78), +(50, 1409, 91), +(50, 1410, 89), +(50, 1411, 99), +(50, 1412, 89), +(50, 1413, 77), +(50, 1414, 70), +(50, 1415, 68), +(50, 1416, 67), +(50, 1417, 70), +(50, 1418, 90), +(50, 1419, 70), +(50, 1420, 74), +(50, 1421, 94), +(50, 1422, 95), +(50, 1423, 68), +(50, 1424, 76), +(50, 1425, 98), +(50, 1426, 80), +(50, 1427, 66), +(50, 1428, 72), +(50, 1429, 87), +(50, 1430, 89), +(50, 1431, 81), +(50, 1432, 69), +(50, 1433, 75), +(50, 1434, 93), +(50, 1435, 84), +(50, 1436, 69), +(50, 1437, 81), +(50, 1438, 80), +(50, 1439, 90), +(50, 1440, 96), +(50, 1441, 78), +(50, 1442, 91), +(50, 1443, 70), +(50, 1444, 88), +(50, 1445, 85), +(50, 1446, 65), +(50, 1447, 83), +(50, 1448, 66), +(50, 1449, 65), +(50, 1450, 89), +(50, 1451, 79), +(50, 1452, 90), +(50, 1453, 71), +(50, 1454, 75), +(50, 1455, 79), +(50, 1456, 98), +(50, 1457, 76), +(50, 1458, 90), +(50, 1459, 92), +(50, 1460, 99), +(50, 1461, 84), +(50, 1462, 86), +(50, 1463, 76), +(50, 1464, 68), +(50, 1465, 65), +(50, 1466, 65), +(50, 1467, 97), +(50, 1468, 88), +(50, 1469, 91), +(50, 1470, 77), +(50, 1471, 66), +(50, 1472, 87), +(50, 1473, 87), +(50, 1474, 91), +(50, 1475, 68), +(50, 1476, 75), +(50, 1477, 88), +(50, 1478, 73), +(50, 1479, 73), +(50, 1480, 86), +(50, 1481, 85), +(50, 1482, 73), +(50, 1483, 77), +(50, 1484, 92), +(50, 1485, 68), +(50, 1486, 73), +(50, 1487, 74), +(50, 1488, 67), +(50, 1489, 78), +(50, 1490, 65), +(50, 1491, 89), +(50, 1492, 85), +(50, 1493, 92), +(50, 1494, 88), +(50, 1495, 93), +(50, 1496, 97), +(50, 1497, 84), +(50, 1498, 90), +(50, 1499, 89), +(50, 1500, 68), +(50, 1501, 70), +(50, 1502, 79), +(50, 1503, 72), +(50, 1504, 85), +(50, 1505, 74), +(50, 1506, 99), +(50, 1507, 78), +(50, 1508, 98), +(50, 1509, 71), +(50, 1510, 69), +(50, 1511, 70), +(50, 1512, 80), +(50, 1513, 80), +(50, 1514, 99), +(50, 1515, 71), +(50, 1516, 92), +(50, 1517, 97), +(50, 1518, 91), +(50, 1519, 88), +(50, 1520, 96), +(50, 1521, 78), +(50, 1522, 79), +(50, 1523, 84), +(50, 1524, 76), +(50, 1525, 92), +(50, 1526, 73), +(50, 1527, 93), +(50, 1528, 97), +(50, 1529, 84), +(50, 1530, 95), +(50, 1531, 87), +(50, 1532, 91), +(50, 1533, 72), +(50, 1534, 66), +(50, 1535, 67), +(50, 1536, 97), +(50, 1537, 77), +(50, 1538, 98), +(50, 1539, 92), +(50, 1540, 73), +(50, 1541, 83), +(50, 1542, 67), +(50, 1543, 69), +(50, 1544, 76), +(50, 1545, 97), +(50, 1546, 88), +(50, 1547, 93), +(50, 1548, 83), +(50, 1549, 82), +(50, 1550, 99), +(50, 1551, 73), +(50, 1552, 84), +(50, 1553, 84), +(50, 1554, 70), +(50, 1555, 79), +(50, 1556, 72), +(50, 1557, 93), +(50, 1558, 83), +(50, 1559, 67), +(50, 1560, 83), +(50, 1561, 94), +(50, 1562, 97), +(50, 1563, 92), +(50, 1564, 99), +(50, 1565, 92), +(50, 1566, 88), +(50, 1567, 71), +(50, 1568, 95), +(50, 1569, 73), +(50, 1570, 97), +(50, 1571, 81), +(50, 1572, 84), +(50, 1573, 96), +(50, 1574, 87), +(50, 1575, 96), +(50, 1576, 72), +(50, 1577, 82), +(50, 1578, 83), +(50, 1579, 81), +(50, 1580, 80), +(50, 1581, 87), +(50, 1582, 79), +(50, 1583, 96), +(50, 1584, 81), +(50, 1585, 99), +(50, 1586, 72), +(50, 1587, 70), +(50, 2047, 95), +(50, 2048, 65), +(50, 2049, 96), +(50, 2050, 67), +(50, 2051, 74), +(50, 2052, 91), +(50, 2053, 89), +(50, 2054, 70), +(50, 2055, 98), +(50, 2056, 94), +(50, 2057, 88), +(50, 2058, 78), +(50, 2059, 93), +(50, 2060, 91), +(50, 2061, 93), +(50, 2062, 72), +(50, 2063, 75), +(50, 2064, 87), +(50, 2065, 92), +(50, 2066, 84), +(50, 2067, 71), +(50, 2068, 88), +(50, 2069, 84), +(50, 2070, 89), +(50, 2071, 94), +(50, 2072, 83), +(50, 2073, 91), +(50, 2074, 97), +(50, 2075, 77), +(50, 2076, 86), +(50, 2077, 73), +(50, 2078, 97), +(50, 2079, 65), +(50, 2080, 70), +(50, 2081, 67), +(50, 2082, 93), +(50, 2083, 80), +(50, 2084, 69), +(50, 2085, 85), +(50, 2086, 86), +(50, 2087, 85), +(50, 2088, 79), +(50, 2089, 88), +(50, 2090, 66), +(50, 2091, 65), +(50, 2092, 96), +(50, 2093, 99), +(50, 2094, 95), +(50, 2095, 92), +(50, 2096, 80), +(50, 2097, 71), +(50, 2098, 83), +(50, 2099, 82), +(50, 2100, 89), +(50, 2101, 80), +(50, 2102, 76), +(50, 2103, 89), +(50, 2104, 86), +(50, 2105, 75), +(50, 2106, 75), +(50, 2107, 84), +(50, 2108, 79), +(50, 2109, 87), +(50, 2110, 92), +(50, 2111, 82), +(50, 2112, 77), +(50, 2113, 74), +(50, 2114, 70), +(50, 2115, 84), +(50, 2116, 88), +(50, 2117, 70), +(50, 2118, 97), +(50, 2119, 98), +(50, 2120, 81), +(50, 2121, 84), +(50, 2122, 69), +(50, 2123, 75), +(50, 2124, 72), +(50, 2125, 84), +(50, 2126, 83), +(50, 2127, 65), +(50, 2128, 69), +(50, 2129, 74), +(50, 2130, 83), +(50, 2131, 66), +(50, 2132, 76), +(50, 2133, 82), +(50, 2134, 88), +(50, 2135, 74), +(50, 2136, 92), +(50, 2137, 79), +(50, 2138, 74), +(50, 2139, 89), +(50, 2140, 67), +(50, 2141, 94), +(50, 2142, 74), +(50, 2143, 76), +(50, 2144, 77), +(50, 2145, 77), +(50, 2146, 91), +(50, 2147, 85), +(50, 2148, 78), +(50, 2149, 92), +(50, 2150, 72), +(50, 2151, 68), +(50, 2152, 91), +(50, 2153, 99), +(50, 2154, 69), +(50, 2155, 72), +(50, 2156, 90), +(50, 2157, 91), +(50, 2158, 86), +(50, 2159, 73), +(50, 2160, 88), +(50, 2161, 90), +(50, 2162, 65), +(50, 2163, 73), +(50, 2164, 89), +(50, 2165, 95), +(50, 2166, 68), +(50, 2167, 65), +(50, 2168, 71), +(50, 2169, 75), +(50, 2170, 83), +(50, 2171, 72), +(50, 2172, 72), +(50, 2173, 88), +(50, 2174, 85), +(50, 2175, 69), +(50, 2176, 93), +(50, 2177, 67), +(50, 2178, 82), +(50, 2179, 86), +(50, 2180, 81), +(50, 2181, 87), +(50, 2182, 80), +(50, 2183, 88), +(50, 2184, 87), +(50, 2185, 84), +(50, 2186, 96), +(50, 2187, 89), +(50, 2188, 98), +(50, 2189, 81), +(50, 2190, 96), +(50, 2191, 78), +(50, 2192, 93), +(50, 2193, 94), +(50, 2194, 97), +(50, 2195, 75), +(50, 2196, 73), +(50, 2197, 82), +(50, 2198, 72), +(50, 2199, 82), +(50, 2200, 80), +(50, 2201, 75), +(50, 2202, 79), +(50, 2203, 74), +(50, 2204, 83), +(50, 2205, 99), +(50, 2206, 73), +(50, 2207, 65), +(50, 2208, 76), +(50, 2209, 96), +(50, 2210, 73), +(50, 2211, 70), +(50, 2212, 93), +(50, 2213, 85), +(50, 2214, 81), +(50, 2215, 69), +(50, 2216, 77), +(50, 2217, 83), +(50, 2218, 80), +(50, 2219, 68), +(50, 2220, 86), +(50, 2221, 94), +(50, 2222, 83), +(50, 2223, 89), +(50, 2224, 79), +(50, 2225, 67), +(50, 2226, 85), +(50, 2227, 70), +(50, 2228, 66), +(50, 2229, 91), +(50, 2230, 69), +(50, 2231, 82), +(50, 2232, 78), +(50, 2233, 99), +(50, 2234, 82), +(50, 2235, 84), +(50, 2236, 88), +(50, 2237, 78), +(50, 2238, 78), +(50, 2239, 68), +(50, 2240, 78), +(50, 2241, 67), +(50, 2242, 98), +(50, 2243, 83), +(50, 2244, 84), +(50, 2245, 97), +(50, 2246, 89), +(50, 2247, 93), +(50, 2248, 73), +(50, 2249, 84), +(50, 2250, 78), +(50, 2251, 85), +(50, 2252, 83), +(50, 2253, 85), +(50, 2254, 65), +(50, 2255, 89), +(50, 2256, 88), +(50, 2257, 88), +(50, 2258, 77), +(50, 2259, 68), +(50, 2260, 91), +(50, 2261, 86), +(50, 2262, 69), +(50, 2263, 81), +(50, 2264, 69), +(50, 2265, 96), +(50, 2266, 88), +(50, 2267, 81), +(50, 2268, 80), +(50, 2269, 68), +(50, 2270, 80), +(50, 2271, 86), +(50, 2272, 73), +(50, 2273, 74), +(50, 2274, 95), +(50, 2275, 99), +(50, 2276, 85), +(50, 2277, 68), +(50, 2278, 99), +(50, 2279, 95), +(50, 2280, 89), +(50, 2281, 86), +(50, 2282, 73), +(50, 2283, 95), +(50, 2284, 65), +(50, 2285, 84), +(50, 2286, 71), +(50, 2287, 91), +(50, 2288, 87), +(50, 2289, 89), +(50, 2290, 95), +(50, 2291, 94), +(50, 2292, 89), +(50, 2293, 72), +(50, 2294, 99), +(50, 2295, 65), +(50, 2296, 89), +(50, 2297, 75), +(50, 2298, 78), +(50, 2299, 71), +(50, 2300, 87), +(50, 2301, 73), +(50, 2302, 68), +(50, 2303, 94), +(50, 2304, 87), +(50, 2305, 70), +(50, 2306, 94), +(50, 2307, 67), +(50, 2308, 86), +(50, 2309, 65), +(50, 2310, 95), +(50, 2311, 83), +(50, 2312, 72), +(50, 2313, 90), +(50, 2314, 76), +(50, 2315, 80), +(50, 2316, 96), +(50, 2317, 99), +(50, 2318, 75), +(50, 2319, 90), +(50, 2320, 80), +(50, 2321, 73), +(50, 2322, 88), +(50, 2323, 86), +(50, 2324, 70), +(50, 2325, 85), +(50, 2326, 93), +(50, 2327, 80), +(50, 2328, 80), +(50, 2329, 79), +(50, 2330, 95), +(50, 2331, 75), +(50, 2332, 80), +(50, 2333, 78), +(50, 2334, 74), +(50, 2335, 82), +(50, 2336, 80), +(50, 2337, 70), +(50, 2338, 74), +(50, 2339, 79), +(50, 2340, 82), +(50, 2341, 97), +(50, 2342, 77), +(50, 2343, 66), +(50, 2344, 85), +(50, 2345, 89), +(50, 2346, 67), +(50, 2347, 88), +(50, 2348, 76), +(50, 2349, 70), +(50, 2350, 96), +(50, 2351, 76), +(50, 2352, 95), +(50, 2353, 67), +(50, 2354, 99), +(50, 2355, 68), +(50, 2356, 90), +(50, 2357, 87), +(50, 2358, 77), +(50, 2359, 85), +(50, 2360, 94), +(50, 2361, 83), +(50, 2362, 78), +(50, 2363, 73), +(50, 2364, 99), +(50, 2365, 98), +(50, 2366, 69), +(50, 2367, 97), +(50, 2368, 98), +(50, 2369, 96), +(50, 2370, 95), +(50, 2371, 92), +(50, 2372, 95), +(50, 2373, 79), +(50, 2374, 72), +(50, 2375, 93), +(50, 2376, 85), +(50, 2377, 95), +(50, 2378, 82), +(50, 2379, 92), +(50, 2380, 82), +(50, 2381, 65), +(50, 2382, 82), +(50, 2383, 67), +(50, 2384, 68), +(50, 2385, 88), +(50, 2386, 88), +(50, 2387, 77), +(50, 2388, 80), +(50, 2389, 98), +(50, 2390, 76), +(50, 2391, 81), +(50, 2392, 76), +(50, 2393, 90), +(50, 2394, 80), +(50, 2395, 73), +(50, 2396, 83), +(50, 2397, 88), +(50, 2398, 67), +(50, 2399, 84), +(50, 2400, 76), +(50, 2401, 94), +(50, 2402, 68), +(50, 2403, 78), +(50, 2404, 90), +(50, 2405, 88), +(50, 2406, 79), +(50, 2407, 80), +(50, 2408, 84), +(50, 2409, 88), +(50, 2410, 82), +(50, 2411, 66), +(50, 2412, 99), +(50, 2413, 76), +(50, 2414, 73), +(50, 2415, 70), +(50, 2416, 87), +(50, 2417, 76), +(50, 2418, 87), +(50, 2419, 97), +(50, 2420, 92), +(50, 2421, 66), +(50, 2422, 75), +(50, 2423, 84), +(50, 2424, 75), +(50, 2425, 75), +(50, 2426, 93), +(50, 2427, 83), +(50, 2428, 87), +(50, 2429, 77), +(50, 2430, 70), +(50, 2431, 79), +(50, 2432, 72), +(50, 2433, 65), +(50, 2434, 77), +(50, 2435, 73), +(50, 2436, 87), +(50, 2437, 71), +(50, 2438, 92), +(50, 2439, 86), +(50, 2440, 88), +(50, 2441, 82), +(50, 2442, 65), +(50, 2443, 73), +(50, 2444, 89), +(50, 2445, 73), +(50, 2446, 73), +(50, 2447, 69), +(50, 2448, 77), +(50, 2449, 80), +(50, 2450, 74), +(50, 2451, 85), +(50, 2452, 98), +(50, 2453, 91), +(50, 2454, 74), +(50, 2455, 66), +(50, 2456, 98), +(50, 2457, 66), +(50, 2458, 78), +(50, 2459, 87), +(50, 2460, 65), +(50, 2461, 76), +(50, 2462, 89), +(50, 2463, 81), +(50, 2464, 81), +(50, 2465, 72), +(50, 2466, 73), +(50, 2467, 85), +(50, 2468, 84), +(50, 2469, 68), +(50, 2470, 94), +(50, 2471, 66), +(50, 2472, 69), +(50, 2473, 65), +(50, 2474, 83), +(50, 2475, 75), +(50, 2476, 96), +(50, 2477, 88), +(50, 2478, 71), +(50, 2479, 76), +(50, 2480, 80), +(50, 2481, 88), +(50, 2482, 80), +(50, 2483, 95), +(50, 2484, 71), +(50, 2485, 99), +(50, 2486, 74), +(50, 2487, 98), +(50, 2488, 99), +(50, 2489, 74), +(50, 2490, 97), +(50, 2491, 97), +(50, 2492, 68), +(50, 2493, 87), +(50, 2494, 68), +(50, 2495, 84), +(50, 2496, 67), +(50, 2497, 66), +(50, 2498, 70), +(50, 2499, 90), +(50, 2500, 98), +(50, 2501, 81), +(50, 2502, 75), +(50, 2503, 98), +(50, 2504, 98), +(50, 2505, 78), +(50, 2506, 84), +(50, 2507, 71), +(50, 2508, 91), +(50, 2509, 90), +(50, 2510, 98), +(50, 2511, 75), +(50, 2512, 75), +(50, 2513, 78), +(50, 2514, 87), +(50, 2515, 99), +(50, 2516, 97), +(50, 2517, 71), +(50, 2518, 91), +(50, 2519, 97), +(50, 2520, 69), +(50, 2521, 69), +(50, 2522, 96), +(50, 2523, 92), +(50, 2524, 84), +(50, 2525, 72), +(50, 2526, 74), +(50, 2527, 78), +(50, 2528, 89), +(50, 2529, 70), +(50, 2530, 99), +(50, 2531, 76), +(50, 2532, 97), +(50, 2533, 73), +(50, 2534, 98), +(50, 2535, 90), +(50, 2536, 97), +(50, 2537, 72), +(50, 2538, 81), +(50, 2539, 90), +(50, 2540, 71), +(50, 2541, 65), +(50, 2542, 90), +(50, 2543, 70), +(50, 2544, 95), +(50, 2545, 68), +(50, 2546, 71), +(50, 2547, 66), +(50, 2548, 97), +(50, 2549, 90), +(50, 2550, 80), +(50, 2551, 82), +(50, 2552, 90), +(50, 2553, 86), +(50, 2554, 98), +(50, 2555, 73), +(50, 2556, 90), +(50, 2557, 90), +(50, 2558, 97), +(50, 2559, 90), +(50, 2560, 67), +(50, 2561, 66), +(50, 2562, 82), +(50, 2563, 80), +(50, 2564, 88), +(50, 2565, 82), +(50, 2566, 99), +(50, 2567, 75), +(50, 2568, 69), +(50, 2569, 99), +(50, 2570, 76), +(50, 2571, 92), +(50, 2572, 79), +(50, 2573, 96), +(50, 2574, 92), +(50, 2575, 73), +(50, 2576, 67), +(50, 2577, 75), +(50, 2578, 88), +(50, 2579, 98), +(50, 2580, 67), +(50, 2581, 70), +(50, 2582, 65), +(50, 2583, 69), +(50, 2584, 93), +(50, 2585, 74), +(50, 2586, 80), +(50, 2587, 92), +(50, 2588, 82), +(50, 2589, 83), +(50, 2590, 75), +(50, 2591, 99), +(50, 2592, 72), +(50, 2593, 92), +(50, 2594, 88), +(50, 2595, 73), +(50, 2596, 85), +(50, 2597, 73), +(50, 2598, 74), +(50, 2599, 89), +(50, 2600, 66), +(50, 2601, 76), +(50, 2602, 90), +(50, 2603, 68), +(50, 2604, 68), +(50, 2605, 74), +(50, 2606, 67), +(50, 2607, 79), +(50, 2608, 79), +(50, 2609, 88), +(50, 2610, 81), +(51, 1, 97), +(51, 2, 94), +(51, 3, 70), +(51, 4, 80), +(51, 5, 91), +(51, 6, 66), +(51, 7, 77), +(51, 8, 72), +(51, 9, 97), +(51, 10, 85), +(51, 11, 74), +(51, 12, 93), +(51, 13, 99), +(51, 14, 76), +(51, 15, 91), +(51, 16, 68), +(51, 17, 74), +(51, 18, 83), +(51, 19, 96), +(51, 20, 72), +(51, 21, 95), +(51, 22, 97), +(51, 23, 81), +(51, 24, 99), +(51, 25, 67), +(51, 26, 89), +(51, 27, 86), +(51, 28, 86), +(51, 29, 92), +(51, 30, 73), +(51, 31, 73), +(51, 32, 90), +(51, 33, 74), +(51, 34, 88), +(51, 35, 88), +(51, 36, 68), +(51, 37, 91), +(51, 38, 84), +(51, 39, 69), +(51, 40, 76), +(51, 41, 73), +(51, 42, 73), +(51, 43, 85), +(51, 44, 84), +(51, 45, 84), +(51, 46, 99), +(51, 47, 69), +(51, 48, 78), +(51, 49, 76), +(51, 50, 87), +(51, 51, 74), +(51, 52, 94), +(51, 53, 88), +(51, 54, 75), +(51, 55, 91), +(51, 56, 77), +(51, 57, 74), +(51, 58, 89), +(51, 59, 79), +(51, 60, 89), +(51, 61, 78), +(51, 62, 78), +(51, 63, 84), +(51, 64, 72), +(51, 65, 77), +(51, 66, 91), +(51, 67, 71), +(51, 68, 77), +(51, 69, 79), +(51, 70, 70), +(51, 71, 68), +(51, 72, 98), +(51, 73, 85), +(51, 74, 66), +(51, 75, 94), +(51, 76, 68), +(51, 77, 66), +(51, 78, 72), +(51, 79, 91), +(51, 80, 85), +(51, 81, 72), +(51, 82, 97), +(51, 83, 81), +(51, 84, 68), +(51, 85, 71), +(51, 86, 69), +(51, 87, 66), +(51, 88, 99), +(51, 89, 93), +(51, 90, 65), +(51, 91, 97), +(51, 92, 82), +(51, 93, 83), +(51, 94, 97), +(51, 95, 81), +(51, 96, 99), +(51, 97, 67), +(51, 98, 82), +(51, 99, 98), +(51, 100, 82), +(51, 101, 67), +(51, 102, 67), +(51, 103, 93), +(51, 104, 98), +(51, 105, 88), +(51, 106, 78), +(51, 107, 90), +(51, 108, 89), +(51, 109, 93), +(51, 110, 81), +(51, 111, 99), +(51, 112, 96), +(51, 113, 88), +(51, 114, 77), +(51, 115, 81), +(51, 116, 69), +(51, 117, 90), +(51, 118, 92), +(51, 119, 90), +(51, 120, 89), +(51, 121, 92), +(51, 122, 74), +(51, 123, 81), +(51, 124, 76), +(51, 125, 72), +(51, 126, 88), +(51, 127, 82), +(51, 128, 77), +(51, 129, 77), +(51, 130, 87), +(51, 131, 79), +(51, 132, 94), +(51, 133, 77), +(51, 134, 66), +(51, 135, 93), +(51, 136, 89), +(51, 137, 73), +(51, 138, 66), +(51, 139, 69), +(51, 140, 78), +(51, 141, 73), +(51, 142, 72), +(51, 143, 89), +(51, 144, 88), +(51, 145, 67), +(51, 146, 97), +(51, 147, 85), +(51, 148, 83), +(51, 149, 90), +(51, 150, 86), +(51, 151, 80), +(51, 152, 69), +(51, 153, 91), +(51, 154, 69), +(51, 155, 84), +(51, 156, 86), +(51, 157, 91), +(51, 158, 83), +(51, 159, 67), +(51, 160, 70), +(51, 161, 67), +(51, 162, 98), +(51, 163, 92), +(51, 164, 79), +(51, 165, 73), +(51, 166, 94), +(51, 167, 79), +(51, 168, 67), +(51, 169, 76), +(51, 170, 86), +(51, 171, 85), +(51, 172, 82), +(51, 173, 99), +(51, 174, 82), +(51, 175, 85), +(51, 176, 71), +(51, 177, 76), +(51, 178, 68), +(51, 179, 93), +(51, 180, 65), +(51, 181, 95), +(51, 182, 70), +(51, 183, 69), +(51, 184, 87), +(51, 185, 97), +(51, 186, 91), +(51, 187, 71), +(51, 188, 97), +(51, 189, 87), +(51, 190, 85), +(51, 191, 96), +(51, 192, 79), +(51, 193, 86), +(51, 194, 75), +(51, 195, 92), +(51, 196, 91), +(51, 197, 74), +(51, 198, 71), +(51, 199, 82), +(51, 200, 77), +(51, 201, 70), +(51, 202, 69), +(51, 203, 80), +(51, 204, 69), +(51, 205, 97), +(51, 206, 68), +(51, 207, 84), +(51, 208, 72), +(51, 209, 65), +(51, 210, 97), +(51, 211, 87), +(51, 212, 80), +(51, 213, 85), +(51, 214, 89), +(51, 215, 89), +(51, 216, 80), +(51, 217, 90), +(51, 218, 98), +(51, 219, 87), +(51, 220, 77), +(51, 221, 69), +(51, 222, 83), +(51, 223, 82), +(51, 224, 76), +(51, 225, 87), +(51, 226, 85), +(51, 227, 94), +(51, 228, 72), +(51, 229, 83), +(51, 230, 95), +(51, 231, 77), +(51, 232, 91), +(51, 233, 84), +(51, 234, 76), +(51, 235, 86), +(51, 236, 80), +(51, 237, 98), +(51, 238, 94), +(51, 239, 91), +(51, 240, 67), +(51, 241, 71), +(51, 242, 84), +(51, 243, 83), +(51, 244, 69), +(51, 245, 86), +(51, 246, 80), +(51, 247, 84), +(51, 248, 74), +(51, 249, 80), +(51, 250, 75), +(51, 251, 89), +(51, 252, 67), +(51, 253, 88), +(51, 254, 72), +(51, 255, 89), +(51, 256, 90), +(51, 257, 85), +(51, 258, 90), +(51, 259, 91), +(51, 260, 76), +(51, 261, 75), +(51, 262, 71), +(51, 263, 87), +(51, 264, 85), +(51, 265, 83), +(51, 266, 93), +(51, 267, 91), +(51, 268, 92), +(51, 269, 72), +(51, 270, 95), +(51, 271, 97), +(51, 272, 71), +(51, 273, 91), +(51, 274, 79), +(51, 275, 99), +(51, 276, 85), +(51, 277, 68), +(51, 278, 89), +(51, 279, 99), +(51, 280, 65), +(51, 281, 98), +(51, 282, 87), +(51, 283, 91), +(51, 284, 75), +(51, 285, 81), +(51, 286, 95), +(51, 287, 83), +(51, 288, 79), +(51, 289, 90), +(51, 290, 93), +(51, 291, 93), +(51, 292, 90), +(51, 293, 91), +(51, 294, 67), +(51, 295, 75), +(51, 296, 99), +(51, 297, 87), +(51, 298, 78), +(51, 299, 84), +(51, 300, 89), +(51, 301, 83), +(51, 302, 96), +(51, 303, 83), +(51, 304, 97), +(51, 305, 93), +(51, 306, 69), +(51, 307, 75), +(51, 308, 88), +(51, 309, 99), +(51, 310, 94), +(51, 311, 70), +(51, 312, 70), +(51, 313, 79), +(51, 314, 87), +(51, 315, 88), +(51, 316, 90), +(51, 317, 66), +(51, 318, 88), +(51, 319, 66), +(51, 320, 96), +(51, 321, 76), +(51, 322, 99), +(51, 323, 68), +(51, 324, 73), +(51, 325, 71), +(51, 326, 94), +(51, 327, 76), +(51, 328, 93), +(51, 329, 99), +(51, 330, 94), +(51, 331, 67), +(51, 332, 89), +(51, 333, 83), +(51, 334, 74), +(51, 335, 67), +(51, 336, 83), +(51, 337, 67), +(51, 338, 66), +(51, 339, 67), +(51, 340, 70), +(51, 341, 81), +(51, 342, 75), +(51, 343, 74), +(51, 344, 89), +(51, 345, 91), +(51, 346, 83), +(51, 347, 98), +(51, 348, 86), +(51, 349, 77), +(51, 350, 71), +(51, 351, 95), +(51, 352, 82), +(51, 353, 70), +(51, 354, 73), +(51, 355, 91), +(51, 356, 70), +(51, 357, 79), +(51, 358, 85), +(51, 359, 73), +(51, 360, 87), +(51, 361, 66), +(51, 362, 98), +(51, 363, 66), +(51, 364, 79), +(51, 365, 78), +(51, 366, 88), +(51, 367, 75), +(51, 368, 81), +(51, 369, 84), +(51, 370, 82), +(51, 371, 69), +(51, 372, 79), +(51, 373, 72), +(51, 374, 90), +(51, 375, 66), +(51, 376, 92), +(51, 377, 72), +(51, 378, 69), +(51, 379, 72), +(51, 380, 72), +(51, 381, 95), +(51, 382, 88), +(51, 383, 73), +(51, 384, 79), +(51, 385, 67), +(51, 386, 78), +(51, 387, 95), +(51, 388, 66), +(51, 389, 86), +(51, 390, 77), +(51, 391, 94), +(51, 392, 69), +(51, 393, 74), +(51, 394, 90), +(51, 395, 79), +(51, 396, 83), +(51, 397, 99), +(51, 398, 81), +(51, 399, 74), +(51, 400, 73), +(51, 401, 80), +(51, 402, 80), +(51, 403, 69), +(51, 404, 84), +(51, 405, 77), +(51, 406, 72), +(51, 407, 75), +(51, 408, 81), +(51, 409, 83), +(51, 410, 91), +(51, 411, 91), +(51, 412, 90), +(51, 413, 83), +(51, 414, 79), +(51, 415, 97), +(51, 416, 99), +(51, 417, 96), +(51, 418, 84), +(51, 419, 86), +(51, 420, 92), +(51, 421, 83), +(51, 422, 98), +(51, 423, 92), +(51, 424, 88), +(51, 425, 65), +(51, 426, 74), +(51, 427, 98), +(51, 428, 94), +(51, 429, 83), +(51, 430, 95), +(51, 431, 98), +(51, 432, 78), +(51, 433, 87), +(51, 434, 65), +(51, 435, 80), +(51, 436, 93), +(51, 437, 99), +(51, 438, 84), +(51, 439, 70), +(51, 440, 72), +(51, 441, 90), +(51, 442, 76), +(51, 443, 91), +(51, 444, 92), +(51, 445, 81), +(51, 446, 67), +(51, 447, 69), +(51, 448, 71), +(51, 449, 88), +(51, 450, 81), +(51, 451, 85), +(51, 452, 73), +(51, 453, 85), +(51, 454, 85), +(51, 455, 80), +(51, 456, 87), +(51, 457, 76), +(51, 458, 78), +(51, 459, 92), +(51, 460, 72), +(51, 461, 91), +(51, 462, 91), +(51, 463, 73), +(51, 464, 69), +(51, 465, 78), +(51, 466, 89), +(51, 467, 90), +(51, 468, 76), +(51, 469, 83), +(51, 470, 77), +(51, 471, 86), +(51, 472, 97), +(51, 473, 84), +(51, 474, 65), +(51, 475, 66), +(51, 476, 72), +(51, 477, 92), +(51, 478, 79), +(51, 479, 76), +(51, 480, 74), +(51, 481, 78), +(51, 482, 95), +(51, 483, 82), +(51, 484, 73), +(51, 485, 71), +(51, 486, 84), +(51, 487, 65), +(51, 488, 69), +(51, 489, 73), +(51, 490, 66), +(51, 491, 96), +(51, 492, 74), +(51, 493, 78), +(51, 494, 97), +(51, 495, 75), +(51, 496, 77), +(51, 497, 71), +(51, 498, 95), +(51, 499, 91), +(51, 500, 79), +(51, 501, 70), +(51, 502, 93), +(51, 503, 81), +(51, 504, 85), +(51, 505, 66), +(51, 506, 78), +(51, 507, 76), +(51, 508, 79), +(51, 509, 89), +(51, 510, 81), +(51, 511, 71), +(51, 512, 66), +(51, 513, 79), +(51, 514, 90), +(51, 515, 75), +(51, 516, 99), +(51, 517, 65), +(51, 518, 92), +(51, 519, 69), +(51, 520, 94), +(51, 521, 96), +(51, 522, 90), +(51, 523, 90), +(51, 524, 90), +(51, 525, 93), +(51, 526, 71), +(51, 527, 80), +(51, 528, 83), +(51, 529, 97), +(51, 530, 73), +(51, 531, 67), +(51, 532, 97), +(51, 533, 76), +(51, 534, 81), +(51, 535, 69), +(51, 536, 94), +(51, 537, 89), +(51, 538, 85), +(51, 539, 79), +(51, 540, 67), +(51, 541, 71), +(51, 542, 75), +(51, 543, 75), +(51, 544, 91), +(51, 545, 67), +(51, 546, 99), +(51, 547, 88), +(51, 548, 74), +(51, 549, 84), +(51, 550, 93), +(51, 551, 65), +(51, 552, 65), +(51, 553, 74), +(51, 554, 91), +(51, 555, 78), +(51, 556, 92), +(51, 557, 88), +(51, 558, 91), +(51, 559, 77), +(51, 560, 99), +(51, 561, 71), +(51, 562, 96), +(51, 563, 69), +(51, 564, 68), +(51, 1024, 96), +(51, 1025, 87), +(51, 1026, 99), +(51, 1027, 98), +(51, 1028, 80), +(51, 1029, 86), +(51, 1030, 80), +(51, 1031, 70), +(51, 1032, 70), +(51, 1033, 78), +(51, 1034, 70), +(51, 1035, 95), +(51, 1036, 74), +(51, 1037, 80), +(51, 1038, 96), +(51, 1039, 72), +(51, 1040, 73), +(51, 1041, 71), +(51, 1042, 68), +(51, 1043, 74), +(51, 1044, 82), +(51, 1045, 93), +(51, 1046, 71), +(51, 1047, 98), +(51, 1048, 69), +(51, 1049, 89), +(51, 1050, 83), +(51, 1051, 73), +(51, 1052, 97), +(51, 1053, 99), +(51, 1054, 81), +(51, 1055, 95), +(51, 1056, 75), +(51, 1057, 92), +(51, 1058, 65), +(51, 1059, 71), +(51, 1060, 88), +(51, 1061, 66), +(51, 1062, 97), +(51, 1063, 91), +(51, 1064, 82), +(51, 1065, 92), +(51, 1066, 89), +(51, 1067, 80), +(51, 1068, 68), +(51, 1069, 81), +(51, 1070, 93), +(51, 1071, 81), +(51, 1072, 94), +(51, 1073, 92), +(51, 1074, 79), +(51, 1075, 93), +(51, 1076, 85), +(51, 1077, 75), +(51, 1078, 90), +(51, 1079, 81), +(51, 1080, 68), +(51, 1081, 99), +(51, 1082, 76), +(51, 1083, 87), +(51, 1084, 72), +(51, 1085, 79), +(51, 1086, 89), +(51, 1087, 86), +(51, 1088, 82), +(51, 1089, 80), +(51, 1090, 71), +(51, 1091, 89), +(51, 1092, 91), +(51, 1093, 76), +(51, 1094, 74), +(51, 1095, 91), +(51, 1096, 87), +(51, 1097, 87), +(51, 1098, 90), +(51, 1099, 80), +(51, 1100, 98), +(51, 1101, 77), +(51, 1102, 94), +(51, 1103, 75), +(51, 1104, 78), +(51, 1105, 74), +(51, 1106, 84), +(51, 1107, 69), +(51, 1108, 83), +(51, 1109, 97), +(51, 1110, 80), +(51, 1111, 97), +(51, 1112, 76), +(51, 1113, 98), +(51, 1114, 67), +(51, 1115, 95), +(51, 1116, 93), +(51, 1117, 69), +(51, 1118, 86), +(51, 1119, 71), +(51, 1120, 96), +(51, 1121, 66), +(51, 1122, 68), +(51, 1123, 74), +(51, 1124, 98), +(51, 1125, 87), +(51, 1126, 70), +(51, 1127, 85), +(51, 1128, 77), +(51, 1129, 83), +(51, 1130, 74), +(51, 1131, 89), +(51, 1132, 71), +(51, 1133, 94), +(51, 1134, 74), +(51, 1135, 71), +(51, 1136, 66), +(51, 1137, 76), +(51, 1138, 72), +(51, 1139, 79), +(51, 1140, 77), +(51, 1141, 67), +(51, 1142, 99), +(51, 1143, 74), +(51, 1144, 76), +(51, 1145, 69), +(51, 1146, 71), +(51, 1147, 74), +(51, 1148, 91), +(51, 1149, 82), +(51, 1150, 97), +(51, 1151, 78), +(51, 1152, 97), +(51, 1153, 75), +(51, 1154, 94), +(51, 1155, 90), +(51, 1156, 88), +(51, 1157, 76), +(51, 1158, 91), +(51, 1159, 80), +(51, 1160, 94), +(51, 1161, 93), +(51, 1162, 83), +(51, 1163, 76), +(51, 1164, 65), +(51, 1165, 82), +(51, 1166, 75), +(51, 1167, 87), +(51, 1168, 72), +(51, 1169, 98), +(51, 1170, 81), +(51, 1171, 74), +(51, 1172, 96), +(51, 1173, 80), +(51, 1174, 66), +(51, 1175, 80), +(51, 1176, 65), +(51, 1177, 91), +(51, 1178, 74), +(51, 1179, 99), +(51, 1180, 92), +(51, 1181, 80), +(51, 1182, 66), +(51, 1183, 78), +(51, 1184, 99), +(51, 1185, 92), +(51, 1186, 96), +(51, 1187, 75), +(51, 1188, 95), +(51, 1189, 90), +(51, 1190, 70), +(51, 1191, 85), +(51, 1192, 77), +(51, 1193, 67), +(51, 1194, 98), +(51, 1195, 85), +(51, 1196, 66), +(51, 1197, 78), +(51, 1198, 80), +(51, 1199, 69), +(51, 1200, 87), +(51, 1201, 73), +(51, 1202, 82), +(51, 1203, 93), +(51, 1204, 80), +(51, 1205, 83), +(51, 1206, 68), +(51, 1207, 79), +(51, 1208, 77), +(51, 1209, 65), +(51, 1210, 91), +(51, 1211, 92), +(51, 1212, 77), +(51, 1213, 84), +(51, 1214, 82), +(51, 1215, 72), +(51, 1216, 97), +(51, 1217, 98), +(51, 1218, 98), +(51, 1219, 82), +(51, 1220, 76), +(51, 1221, 81), +(51, 1222, 75), +(51, 1223, 87), +(51, 1224, 71), +(51, 1225, 86), +(51, 1226, 85), +(51, 1227, 75), +(51, 1228, 96), +(51, 1229, 82), +(51, 1230, 75), +(51, 1231, 99), +(51, 1232, 82), +(51, 1233, 98), +(51, 1234, 75), +(51, 1235, 83), +(51, 1236, 68), +(51, 1237, 88), +(51, 1238, 73), +(51, 1239, 96), +(51, 1240, 74), +(51, 1241, 69), +(51, 1242, 82), +(51, 1243, 88), +(51, 1244, 71), +(51, 1245, 83), +(51, 1246, 77), +(51, 1247, 81), +(51, 1248, 86), +(51, 1249, 77), +(51, 1250, 99), +(51, 1251, 98), +(51, 1252, 72), +(51, 1253, 86), +(51, 1254, 75), +(51, 1255, 71), +(51, 1256, 76), +(51, 1257, 87), +(51, 1258, 97), +(51, 1259, 88), +(51, 1260, 66), +(51, 1261, 90), +(51, 1262, 95), +(51, 1263, 86), +(51, 1264, 70), +(51, 1265, 93), +(51, 1266, 74), +(51, 1267, 88), +(51, 1268, 73), +(51, 1269, 98), +(51, 1270, 69), +(51, 1271, 91), +(51, 1272, 80), +(51, 1273, 72), +(51, 1274, 89), +(51, 1275, 77), +(51, 1276, 69), +(51, 1277, 76), +(51, 1278, 97), +(51, 1279, 98), +(51, 1280, 70), +(51, 1281, 66), +(51, 1282, 93), +(51, 1283, 69), +(51, 1284, 92), +(51, 1285, 67), +(51, 1286, 96), +(51, 1287, 91), +(51, 1288, 67), +(51, 1289, 78), +(51, 1290, 76), +(51, 1291, 82), +(51, 1292, 66), +(51, 1293, 73), +(51, 1294, 66), +(51, 1295, 73), +(51, 1296, 94), +(51, 1297, 97), +(51, 1298, 95), +(51, 1299, 73), +(51, 1300, 95), +(51, 1301, 68), +(51, 1302, 79), +(51, 1303, 77), +(51, 1304, 90), +(51, 1305, 97), +(51, 1306, 79), +(51, 1307, 65), +(51, 1308, 74), +(51, 1309, 71), +(51, 1310, 90), +(51, 1311, 84), +(51, 1312, 78), +(51, 1313, 88), +(51, 1314, 92), +(51, 1315, 96), +(51, 1316, 89), +(51, 1317, 86), +(51, 1318, 77), +(51, 1319, 73), +(51, 1320, 73), +(51, 1321, 87), +(51, 1322, 87), +(51, 1323, 83), +(51, 1324, 87), +(51, 1325, 81), +(51, 1326, 90), +(51, 1327, 82), +(51, 1328, 85), +(51, 1329, 83), +(51, 1330, 94), +(51, 1331, 82), +(51, 1332, 79), +(51, 1333, 97), +(51, 1334, 77), +(51, 1335, 70), +(51, 1336, 86), +(51, 1337, 72), +(51, 1338, 66), +(51, 1339, 78), +(51, 1340, 81), +(51, 1341, 77), +(51, 1342, 78), +(51, 1343, 69), +(51, 1344, 67), +(51, 1345, 74), +(51, 1346, 72), +(51, 1347, 87), +(51, 1348, 76), +(51, 1349, 65), +(51, 1350, 86), +(51, 1351, 75), +(51, 1352, 80), +(51, 1353, 80), +(51, 1354, 70), +(51, 1355, 74), +(51, 1356, 80), +(51, 1357, 71), +(51, 1358, 87), +(51, 1359, 83), +(51, 1360, 79), +(51, 1361, 71), +(51, 1362, 88), +(51, 1363, 80), +(51, 1364, 94), +(51, 1365, 83), +(51, 1366, 77), +(51, 1367, 86), +(51, 1368, 92), +(51, 1369, 80), +(51, 1370, 80), +(51, 1371, 68), +(51, 1372, 86), +(51, 1373, 90), +(51, 1374, 71), +(51, 1375, 73), +(51, 1376, 97), +(51, 1377, 69), +(51, 1378, 97), +(51, 1379, 90), +(51, 1380, 74), +(51, 1381, 92), +(51, 1382, 72), +(51, 1383, 68), +(51, 1384, 83), +(51, 1385, 67), +(51, 1386, 86), +(51, 1387, 68), +(51, 1388, 85), +(51, 1389, 88), +(51, 1390, 81), +(51, 1391, 75), +(51, 1392, 77), +(51, 1393, 70), +(51, 1394, 89), +(51, 1395, 66), +(51, 1396, 99), +(51, 1397, 76), +(51, 1398, 95), +(51, 1399, 79), +(51, 1400, 77), +(51, 1401, 71), +(51, 1402, 66), +(51, 1403, 90), +(51, 1404, 76), +(51, 1405, 77), +(51, 1406, 94), +(51, 1407, 73), +(51, 1408, 66), +(51, 1409, 72), +(51, 1410, 93), +(51, 1411, 82), +(51, 1412, 68), +(51, 1413, 99); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(51, 1414, 92), +(51, 1415, 74), +(51, 1416, 75), +(51, 1417, 88), +(51, 1418, 85), +(51, 1419, 78), +(51, 1420, 96), +(51, 1421, 93), +(51, 1422, 70), +(51, 1423, 72), +(51, 1424, 81), +(51, 1425, 73), +(51, 1426, 88), +(51, 1427, 88), +(51, 1428, 75), +(51, 1429, 71), +(51, 1430, 74), +(51, 1431, 67), +(51, 1432, 79), +(51, 1433, 88), +(51, 1434, 80), +(51, 1435, 70), +(51, 1436, 90), +(51, 1437, 76), +(51, 1438, 92), +(51, 1439, 67), +(51, 1440, 72), +(51, 1441, 84), +(51, 1442, 98), +(51, 1443, 76), +(51, 1444, 65), +(51, 1445, 87), +(51, 1446, 92), +(51, 1447, 89), +(51, 1448, 93), +(51, 1449, 99), +(51, 1450, 88), +(51, 1451, 65), +(51, 1452, 81), +(51, 1453, 86), +(51, 1454, 99), +(51, 1455, 96), +(51, 1456, 72), +(51, 1457, 87), +(51, 1458, 94), +(51, 1459, 97), +(51, 1460, 86), +(51, 1461, 90), +(51, 1462, 92), +(51, 1463, 76), +(51, 1464, 74), +(51, 1465, 95), +(51, 1466, 86), +(51, 1467, 70), +(51, 1468, 78), +(51, 1469, 75), +(51, 1470, 90), +(51, 1471, 84), +(51, 1472, 82), +(51, 1473, 75), +(51, 1474, 83), +(51, 1475, 87), +(51, 1476, 85), +(51, 1477, 75), +(51, 1478, 76), +(51, 1479, 89), +(51, 1480, 67), +(51, 1481, 80), +(51, 1482, 99), +(51, 1483, 87), +(51, 1484, 91), +(51, 1485, 97), +(51, 1486, 70), +(51, 1487, 80), +(51, 1488, 80), +(51, 1489, 88), +(51, 1490, 68), +(51, 1491, 81), +(51, 1492, 79), +(51, 1493, 95), +(51, 1494, 74), +(51, 1495, 66), +(51, 1496, 95), +(51, 1497, 68), +(51, 1498, 83), +(51, 1499, 66), +(51, 1500, 95), +(51, 1501, 88), +(51, 1502, 74), +(51, 1503, 84), +(51, 1504, 91), +(51, 1505, 77), +(51, 1506, 82), +(51, 1507, 90), +(51, 1508, 94), +(51, 1509, 74), +(51, 1510, 86), +(51, 1511, 86), +(51, 1512, 87), +(51, 1513, 82), +(51, 1514, 74), +(51, 1515, 83), +(51, 1516, 75), +(51, 1517, 71), +(51, 1518, 77), +(51, 1519, 88), +(51, 1520, 66), +(51, 1521, 89), +(51, 1522, 94), +(51, 1523, 95), +(51, 1524, 78), +(51, 1525, 78), +(51, 1526, 76), +(51, 1527, 75), +(51, 1528, 95), +(51, 1529, 97), +(51, 1530, 67), +(51, 1531, 91), +(51, 1532, 91), +(51, 1533, 96), +(51, 1534, 75), +(51, 1535, 76), +(51, 1536, 80), +(51, 1537, 87), +(51, 1538, 94), +(51, 1539, 79), +(51, 1540, 76), +(51, 1541, 78), +(51, 1542, 89), +(51, 1543, 76), +(51, 1544, 72), +(51, 1545, 94), +(51, 1546, 72), +(51, 1547, 74), +(51, 1548, 88), +(51, 1549, 83), +(51, 1550, 86), +(51, 1551, 88), +(51, 1552, 88), +(51, 1553, 75), +(51, 1554, 85), +(51, 1555, 95), +(51, 1556, 81), +(51, 1557, 69), +(51, 1558, 90), +(51, 1559, 82), +(51, 1560, 73), +(51, 1561, 71), +(51, 1562, 93), +(51, 1563, 77), +(51, 1564, 70), +(51, 1565, 72), +(51, 1566, 74), +(51, 1567, 72), +(51, 1568, 94), +(51, 1569, 93), +(51, 1570, 91), +(51, 1571, 75), +(51, 1572, 82), +(51, 1573, 92), +(51, 1574, 69), +(51, 1575, 80), +(51, 1576, 93), +(51, 1577, 74), +(51, 1578, 74), +(51, 1579, 74), +(51, 1580, 68), +(51, 1581, 82), +(51, 1582, 90), +(51, 1583, 74), +(51, 1584, 69), +(51, 1585, 67), +(51, 1586, 77), +(51, 1587, 92), +(51, 2047, 87), +(51, 2048, 82), +(51, 2049, 71), +(51, 2050, 74), +(51, 2051, 65), +(51, 2052, 89), +(51, 2053, 99), +(51, 2054, 77), +(51, 2055, 92), +(51, 2056, 93), +(51, 2057, 79), +(51, 2058, 87), +(51, 2059, 81), +(51, 2060, 84), +(51, 2061, 91), +(51, 2062, 98), +(51, 2063, 83), +(51, 2064, 86), +(51, 2065, 75), +(51, 2066, 89), +(51, 2067, 88), +(51, 2068, 83), +(51, 2069, 72), +(51, 2070, 87), +(51, 2071, 74), +(51, 2072, 96), +(51, 2073, 99), +(51, 2074, 96), +(51, 2075, 68), +(51, 2076, 90), +(51, 2077, 97), +(51, 2078, 65), +(51, 2079, 98), +(51, 2080, 87), +(51, 2081, 75), +(51, 2082, 66), +(51, 2083, 93), +(51, 2084, 93), +(51, 2085, 73), +(51, 2086, 99), +(51, 2087, 76), +(51, 2088, 82), +(51, 2089, 80), +(51, 2090, 68), +(51, 2091, 79), +(51, 2092, 73), +(51, 2093, 65), +(51, 2094, 68), +(51, 2095, 69), +(51, 2096, 74), +(51, 2097, 87), +(51, 2098, 86), +(51, 2099, 68), +(51, 2100, 84), +(51, 2101, 78), +(51, 2102, 65), +(51, 2103, 71), +(51, 2104, 96), +(51, 2105, 69), +(51, 2106, 69), +(51, 2107, 66), +(51, 2108, 69), +(51, 2109, 97), +(51, 2110, 90), +(51, 2111, 97), +(51, 2112, 73), +(51, 2113, 69), +(51, 2114, 74), +(51, 2115, 89), +(51, 2116, 90), +(51, 2117, 66), +(51, 2118, 75), +(51, 2119, 83), +(51, 2120, 67), +(51, 2121, 84), +(51, 2122, 92), +(51, 2123, 73), +(51, 2124, 72), +(51, 2125, 66), +(51, 2126, 77), +(51, 2127, 68), +(51, 2128, 75), +(51, 2129, 99), +(51, 2130, 66), +(51, 2131, 84), +(51, 2132, 71), +(51, 2133, 85), +(51, 2134, 95), +(51, 2135, 97), +(51, 2136, 82), +(51, 2137, 87), +(51, 2138, 78), +(51, 2139, 88), +(51, 2140, 74), +(51, 2141, 70), +(51, 2142, 93), +(51, 2143, 94), +(51, 2144, 85), +(51, 2145, 72), +(51, 2146, 79), +(51, 2147, 96), +(51, 2148, 78), +(51, 2149, 87), +(51, 2150, 97), +(51, 2151, 80), +(51, 2152, 72), +(51, 2153, 95), +(51, 2154, 94), +(51, 2155, 88), +(51, 2156, 72), +(51, 2157, 67), +(51, 2158, 81), +(51, 2159, 70), +(51, 2160, 93), +(51, 2161, 96), +(51, 2162, 66), +(51, 2163, 95), +(51, 2164, 67), +(51, 2165, 74), +(51, 2166, 79), +(51, 2167, 94), +(51, 2168, 73), +(51, 2169, 71), +(51, 2170, 78), +(51, 2171, 78), +(51, 2172, 71), +(51, 2173, 89), +(51, 2174, 90), +(51, 2175, 69), +(51, 2176, 69), +(51, 2177, 68), +(51, 2178, 94), +(51, 2179, 98), +(51, 2180, 83), +(51, 2181, 82), +(51, 2182, 68), +(51, 2183, 97), +(51, 2184, 90), +(51, 2185, 92), +(51, 2186, 73), +(51, 2187, 93), +(51, 2188, 90), +(51, 2189, 74), +(51, 2190, 97), +(51, 2191, 99), +(51, 2192, 86), +(51, 2193, 92), +(51, 2194, 93), +(51, 2195, 80), +(51, 2196, 88), +(51, 2197, 91), +(51, 2198, 91), +(51, 2199, 88), +(51, 2200, 67), +(51, 2201, 99), +(51, 2202, 69), +(51, 2203, 81), +(51, 2204, 85), +(51, 2205, 99), +(51, 2206, 69), +(51, 2207, 81), +(51, 2208, 66), +(51, 2209, 93), +(51, 2210, 91), +(51, 2211, 87), +(51, 2212, 83), +(51, 2213, 77), +(51, 2214, 88), +(51, 2215, 75), +(51, 2216, 77), +(51, 2217, 70), +(51, 2218, 85), +(51, 2219, 72), +(51, 2220, 90), +(51, 2221, 76), +(51, 2222, 83), +(51, 2223, 71), +(51, 2224, 77), +(51, 2225, 87), +(51, 2226, 83), +(51, 2227, 80), +(51, 2228, 90), +(51, 2229, 80), +(51, 2230, 78), +(51, 2231, 81), +(51, 2232, 92), +(51, 2233, 69), +(51, 2234, 81), +(51, 2235, 84), +(51, 2236, 88), +(51, 2237, 77), +(51, 2238, 86), +(51, 2239, 90), +(51, 2240, 81), +(51, 2241, 82), +(51, 2242, 92), +(51, 2243, 98), +(51, 2244, 93), +(51, 2245, 96), +(51, 2246, 66), +(51, 2247, 92), +(51, 2248, 94), +(51, 2249, 72), +(51, 2250, 69), +(51, 2251, 84), +(51, 2252, 84), +(51, 2253, 80), +(51, 2254, 89), +(51, 2255, 98), +(51, 2256, 78), +(51, 2257, 80), +(51, 2258, 94), +(51, 2259, 77), +(51, 2260, 81), +(51, 2261, 68), +(51, 2262, 73), +(51, 2263, 93), +(51, 2264, 65), +(51, 2265, 93), +(51, 2266, 67), +(51, 2267, 82), +(51, 2268, 90), +(51, 2269, 91), +(51, 2270, 73), +(51, 2271, 84), +(51, 2272, 87), +(51, 2273, 84), +(51, 2274, 92), +(51, 2275, 76), +(51, 2276, 68), +(51, 2277, 79), +(51, 2278, 99), +(51, 2279, 79), +(51, 2280, 90), +(51, 2281, 99), +(51, 2282, 72), +(51, 2283, 97), +(51, 2284, 95), +(51, 2285, 81), +(51, 2286, 93), +(51, 2287, 77), +(51, 2288, 92), +(51, 2289, 81), +(51, 2290, 94), +(51, 2291, 73), +(51, 2292, 84), +(51, 2293, 99), +(51, 2294, 75), +(51, 2295, 75), +(51, 2296, 92), +(51, 2297, 99), +(51, 2298, 77), +(51, 2299, 93), +(51, 2300, 84), +(51, 2301, 88), +(51, 2302, 70), +(51, 2303, 96), +(51, 2304, 91), +(51, 2305, 82), +(51, 2306, 80), +(51, 2307, 86), +(51, 2308, 90), +(51, 2309, 65), +(51, 2310, 72), +(51, 2311, 95), +(51, 2312, 83), +(51, 2313, 77), +(51, 2314, 69), +(51, 2315, 94), +(51, 2316, 75), +(51, 2317, 75), +(51, 2318, 79), +(51, 2319, 86), +(51, 2320, 93), +(51, 2321, 81), +(51, 2322, 93), +(51, 2323, 91), +(51, 2324, 89), +(51, 2325, 82), +(51, 2326, 97), +(51, 2327, 72), +(51, 2328, 77), +(51, 2329, 79), +(51, 2330, 83), +(51, 2331, 89), +(51, 2332, 65), +(51, 2333, 86), +(51, 2334, 65), +(51, 2335, 92), +(51, 2336, 82), +(51, 2337, 98), +(51, 2338, 67), +(51, 2339, 86), +(51, 2340, 96), +(51, 2341, 76), +(51, 2342, 68), +(51, 2343, 83), +(51, 2344, 82), +(51, 2345, 87), +(51, 2346, 85), +(51, 2347, 91), +(51, 2348, 96), +(51, 2349, 73), +(51, 2350, 84), +(51, 2351, 81), +(51, 2352, 69), +(51, 2353, 74), +(51, 2354, 74), +(51, 2355, 97), +(51, 2356, 87), +(51, 2357, 95), +(51, 2358, 91), +(51, 2359, 79), +(51, 2360, 74), +(51, 2361, 97), +(51, 2362, 95), +(51, 2363, 96), +(51, 2364, 84), +(51, 2365, 83), +(51, 2366, 94), +(51, 2367, 66), +(51, 2368, 98), +(51, 2369, 71), +(51, 2370, 80), +(51, 2371, 69), +(51, 2372, 97), +(51, 2373, 79), +(51, 2374, 80), +(51, 2375, 79), +(51, 2376, 81), +(51, 2377, 98), +(51, 2378, 73), +(51, 2379, 72), +(51, 2380, 93), +(51, 2381, 77), +(51, 2382, 76), +(51, 2383, 99), +(51, 2384, 89), +(51, 2385, 76), +(51, 2386, 95), +(51, 2387, 90), +(51, 2388, 67), +(51, 2389, 90), +(51, 2390, 78), +(51, 2391, 68), +(51, 2392, 79), +(51, 2393, 69), +(51, 2394, 89), +(51, 2395, 81), +(51, 2396, 99), +(51, 2397, 99), +(51, 2398, 87), +(51, 2399, 79), +(51, 2400, 84), +(51, 2401, 93), +(51, 2402, 94), +(51, 2403, 77), +(51, 2404, 92), +(51, 2405, 86), +(51, 2406, 70), +(51, 2407, 79), +(51, 2408, 95), +(51, 2409, 86), +(51, 2410, 81), +(51, 2411, 65), +(51, 2412, 88), +(51, 2413, 91), +(51, 2414, 89), +(51, 2415, 76), +(51, 2416, 81), +(51, 2417, 90), +(51, 2418, 77), +(51, 2419, 97), +(51, 2420, 86), +(51, 2421, 84), +(51, 2422, 83), +(51, 2423, 86), +(51, 2424, 89), +(51, 2425, 97), +(51, 2426, 98), +(51, 2427, 72), +(51, 2428, 89), +(51, 2429, 86), +(51, 2430, 72), +(51, 2431, 76), +(51, 2432, 82), +(51, 2433, 70), +(51, 2434, 72), +(51, 2435, 97), +(51, 2436, 97), +(51, 2437, 89), +(51, 2438, 75), +(51, 2439, 89), +(51, 2440, 76), +(51, 2441, 89), +(51, 2442, 77), +(51, 2443, 71), +(51, 2444, 97), +(51, 2445, 71), +(51, 2446, 69), +(51, 2447, 90), +(51, 2448, 73), +(51, 2449, 72), +(51, 2450, 89), +(51, 2451, 94), +(51, 2452, 93), +(51, 2453, 96), +(51, 2454, 70), +(51, 2455, 77), +(51, 2456, 68), +(51, 2457, 90), +(51, 2458, 80), +(51, 2459, 99), +(51, 2460, 71), +(51, 2461, 90), +(51, 2462, 84), +(51, 2463, 89), +(51, 2464, 89), +(51, 2465, 89), +(51, 2466, 75), +(51, 2467, 89), +(51, 2468, 66), +(51, 2469, 97), +(51, 2470, 79), +(51, 2471, 81), +(51, 2472, 96), +(51, 2473, 69), +(51, 2474, 84), +(51, 2475, 75), +(51, 2476, 91), +(51, 2477, 91), +(51, 2478, 79), +(51, 2479, 65), +(51, 2480, 79), +(51, 2481, 89), +(51, 2482, 99), +(51, 2483, 94), +(51, 2484, 75), +(51, 2485, 87), +(51, 2486, 65), +(51, 2487, 85), +(51, 2488, 84), +(51, 2489, 84), +(51, 2490, 72), +(51, 2491, 91), +(51, 2492, 67), +(51, 2493, 92), +(51, 2494, 88), +(51, 2495, 93), +(51, 2496, 67), +(51, 2497, 79), +(51, 2498, 77), +(51, 2499, 70), +(51, 2500, 85), +(51, 2501, 95), +(51, 2502, 79), +(51, 2503, 88), +(51, 2504, 80), +(51, 2505, 91), +(51, 2506, 67), +(51, 2507, 97), +(51, 2508, 90), +(51, 2509, 86), +(51, 2510, 92), +(51, 2511, 80), +(51, 2512, 82), +(51, 2513, 71), +(51, 2514, 67), +(51, 2515, 90), +(51, 2516, 72), +(51, 2517, 78), +(51, 2518, 68), +(51, 2519, 93), +(51, 2520, 72), +(51, 2521, 65), +(51, 2522, 70), +(51, 2523, 94), +(51, 2524, 77), +(51, 2525, 86), +(51, 2526, 88), +(51, 2527, 82), +(51, 2528, 73), +(51, 2529, 94), +(51, 2530, 77), +(51, 2531, 79), +(51, 2532, 83), +(51, 2533, 97), +(51, 2534, 75), +(51, 2535, 81), +(51, 2536, 68), +(51, 2537, 84), +(51, 2538, 80), +(51, 2539, 88), +(51, 2540, 68), +(51, 2541, 70), +(51, 2542, 85), +(51, 2543, 75), +(51, 2544, 99), +(51, 2545, 96), +(51, 2546, 69), +(51, 2547, 82), +(51, 2548, 98), +(51, 2549, 95), +(51, 2550, 98), +(51, 2551, 86), +(51, 2552, 73), +(51, 2553, 98), +(51, 2554, 90), +(51, 2555, 90), +(51, 2556, 90), +(51, 2557, 88), +(51, 2558, 72), +(51, 2559, 78), +(51, 2560, 99), +(51, 2561, 88), +(51, 2562, 85), +(51, 2563, 68), +(51, 2564, 82), +(51, 2565, 94), +(51, 2566, 68), +(51, 2567, 69), +(51, 2568, 98), +(51, 2569, 71), +(51, 2570, 75), +(51, 2571, 90), +(51, 2572, 76), +(51, 2573, 69), +(51, 2574, 85), +(51, 2575, 98), +(51, 2576, 74), +(51, 2577, 84), +(51, 2578, 70), +(51, 2579, 68), +(51, 2580, 70), +(51, 2581, 86), +(51, 2582, 73), +(51, 2583, 82), +(51, 2584, 74), +(51, 2585, 87), +(51, 2586, 98), +(51, 2587, 99), +(51, 2588, 72), +(51, 2589, 87), +(51, 2590, 97), +(51, 2591, 76), +(51, 2592, 76), +(51, 2593, 93), +(51, 2594, 85), +(51, 2595, 80), +(51, 2596, 94), +(51, 2597, 97), +(51, 2598, 70), +(51, 2599, 89), +(51, 2600, 66), +(51, 2601, 87), +(51, 2602, 67), +(51, 2603, 80), +(51, 2604, 81), +(51, 2605, 89), +(51, 2606, 96), +(51, 2607, 76), +(51, 2608, 82), +(51, 2609, 85), +(51, 2610, 84), +(52, 1, 88), +(52, 2, 66), +(52, 3, 98), +(52, 4, 69), +(52, 5, 75), +(52, 6, 70), +(52, 7, 83), +(52, 8, 77), +(52, 9, 93), +(52, 10, 66), +(52, 11, 80), +(52, 12, 93), +(52, 13, 74), +(52, 14, 89), +(52, 15, 81), +(52, 16, 76), +(52, 17, 72), +(52, 18, 83), +(52, 19, 69), +(52, 20, 99), +(52, 21, 84), +(52, 22, 97), +(52, 23, 93), +(52, 24, 73), +(52, 25, 98), +(52, 26, 91), +(52, 27, 99), +(52, 28, 84), +(52, 29, 87), +(52, 30, 81), +(52, 31, 81), +(52, 32, 96), +(52, 33, 85), +(52, 34, 79), +(52, 35, 98), +(52, 36, 89), +(52, 37, 88), +(52, 38, 65), +(52, 39, 85), +(52, 40, 84), +(52, 41, 88), +(52, 42, 74), +(52, 43, 96), +(52, 44, 86), +(52, 45, 97), +(52, 46, 92), +(52, 47, 78), +(52, 48, 99), +(52, 49, 68), +(52, 50, 94), +(52, 51, 65), +(52, 52, 73), +(52, 53, 76), +(52, 54, 92), +(52, 55, 79), +(52, 56, 96), +(52, 57, 82), +(52, 58, 92), +(52, 59, 96), +(52, 60, 78), +(52, 61, 87), +(52, 62, 85), +(52, 63, 76), +(52, 64, 73), +(52, 65, 84), +(52, 66, 68), +(52, 67, 70), +(52, 68, 87), +(52, 69, 71), +(52, 70, 83), +(52, 71, 91), +(52, 72, 88), +(52, 73, 73), +(52, 74, 96), +(52, 75, 77), +(52, 76, 79), +(52, 77, 86), +(52, 78, 72), +(52, 79, 93), +(52, 80, 80), +(52, 81, 82), +(52, 82, 65), +(52, 83, 71), +(52, 84, 75), +(52, 85, 90), +(52, 86, 78), +(52, 87, 97), +(52, 88, 67), +(52, 89, 83), +(52, 90, 97), +(52, 91, 66), +(52, 92, 67), +(52, 93, 74), +(52, 94, 85), +(52, 95, 94), +(52, 96, 78), +(52, 97, 94), +(52, 98, 87), +(52, 99, 98), +(52, 100, 86), +(52, 101, 81), +(52, 102, 65), +(52, 103, 84), +(52, 104, 79), +(52, 105, 98), +(52, 106, 93), +(52, 107, 72), +(52, 108, 87), +(52, 109, 81), +(52, 110, 80), +(52, 111, 70), +(52, 112, 87), +(52, 113, 94), +(52, 114, 88), +(52, 115, 97), +(52, 116, 97), +(52, 117, 74), +(52, 118, 88), +(52, 119, 77), +(52, 120, 93), +(52, 121, 67), +(52, 122, 86), +(52, 123, 78), +(52, 124, 67), +(52, 125, 65), +(52, 126, 94), +(52, 127, 66), +(52, 128, 69), +(52, 129, 70), +(52, 130, 69), +(52, 131, 78), +(52, 132, 68), +(52, 133, 83), +(52, 134, 92), +(52, 135, 69), +(52, 136, 73), +(52, 137, 69), +(52, 138, 91), +(52, 139, 99), +(52, 140, 80), +(52, 141, 91), +(52, 142, 68), +(52, 143, 72), +(52, 144, 96), +(52, 145, 75), +(52, 146, 68), +(52, 147, 96), +(52, 148, 70), +(52, 149, 70), +(52, 150, 77), +(52, 151, 90), +(52, 152, 78), +(52, 153, 96), +(52, 154, 75), +(52, 155, 97), +(52, 156, 72), +(52, 157, 99), +(52, 158, 77), +(52, 159, 87), +(52, 160, 96), +(52, 161, 99), +(52, 162, 89), +(52, 163, 95), +(52, 164, 78), +(52, 165, 72), +(52, 166, 77), +(52, 167, 87), +(52, 168, 87), +(52, 169, 96), +(52, 170, 70), +(52, 171, 79), +(52, 172, 82), +(52, 173, 82), +(52, 174, 80), +(52, 175, 85), +(52, 176, 95), +(52, 177, 87), +(52, 178, 79), +(52, 179, 78), +(52, 180, 77), +(52, 181, 87), +(52, 182, 82), +(52, 183, 72), +(52, 184, 95), +(52, 185, 97), +(52, 186, 68), +(52, 187, 87), +(52, 188, 67), +(52, 189, 87), +(52, 190, 85), +(52, 191, 88), +(52, 192, 68), +(52, 193, 96), +(52, 194, 81), +(52, 195, 83), +(52, 196, 98), +(52, 197, 99), +(52, 198, 99), +(52, 199, 85), +(52, 200, 82), +(52, 201, 85), +(52, 202, 65), +(52, 203, 85), +(52, 204, 97), +(52, 205, 98), +(52, 206, 69), +(52, 207, 92), +(52, 208, 77), +(52, 209, 72), +(52, 210, 74), +(52, 211, 79), +(52, 212, 93), +(52, 213, 80), +(52, 214, 81), +(52, 215, 83), +(52, 216, 98), +(52, 217, 97), +(52, 218, 81), +(52, 219, 65), +(52, 220, 96), +(52, 221, 92), +(52, 222, 79), +(52, 223, 69), +(52, 224, 86), +(52, 225, 87), +(52, 226, 98), +(52, 227, 84), +(52, 228, 97), +(52, 229, 65), +(52, 230, 66), +(52, 231, 96), +(52, 232, 72), +(52, 233, 81), +(52, 234, 85), +(52, 235, 86), +(52, 236, 68), +(52, 237, 84), +(52, 238, 98), +(52, 239, 91), +(52, 240, 65), +(52, 241, 92), +(52, 242, 93), +(52, 243, 89), +(52, 244, 96), +(52, 245, 83), +(52, 246, 81), +(52, 247, 68), +(52, 248, 87), +(52, 249, 93), +(52, 250, 80), +(52, 251, 66), +(52, 252, 70), +(52, 253, 67), +(52, 254, 82), +(52, 255, 84), +(52, 256, 82), +(52, 257, 96), +(52, 258, 65), +(52, 259, 68), +(52, 260, 89), +(52, 261, 72), +(52, 262, 95), +(52, 263, 89), +(52, 264, 66), +(52, 265, 95), +(52, 266, 92), +(52, 267, 79), +(52, 268, 95), +(52, 269, 94), +(52, 270, 95), +(52, 271, 77), +(52, 272, 81), +(52, 273, 89), +(52, 274, 87), +(52, 275, 75), +(52, 276, 88), +(52, 277, 98), +(52, 278, 74), +(52, 279, 92), +(52, 280, 98), +(52, 281, 94), +(52, 282, 95), +(52, 283, 69), +(52, 284, 76), +(52, 285, 99), +(52, 286, 93), +(52, 287, 68), +(52, 288, 69), +(52, 289, 73), +(52, 290, 74), +(52, 291, 71), +(52, 292, 96), +(52, 293, 85), +(52, 294, 90), +(52, 295, 70), +(52, 296, 93), +(52, 297, 75), +(52, 298, 70), +(52, 299, 90), +(52, 300, 71), +(52, 301, 65), +(52, 302, 90), +(52, 303, 90), +(52, 304, 73), +(52, 305, 88), +(52, 306, 68), +(52, 307, 70), +(52, 308, 75), +(52, 309, 80), +(52, 310, 70), +(52, 311, 85), +(52, 312, 82), +(52, 313, 69), +(52, 314, 70), +(52, 315, 70), +(52, 316, 87), +(52, 317, 87), +(52, 318, 72), +(52, 319, 76), +(52, 320, 84), +(52, 321, 96), +(52, 322, 76), +(52, 323, 95), +(52, 324, 90), +(52, 325, 89), +(52, 326, 72), +(52, 327, 99), +(52, 328, 91), +(52, 329, 75), +(52, 330, 97), +(52, 331, 65), +(52, 332, 95), +(52, 333, 83), +(52, 334, 85), +(52, 335, 99), +(52, 336, 85), +(52, 337, 89), +(52, 338, 75), +(52, 339, 98), +(52, 340, 66), +(52, 341, 71), +(52, 342, 78), +(52, 343, 88), +(52, 344, 99), +(52, 345, 80), +(52, 346, 76), +(52, 347, 99), +(52, 348, 96), +(52, 349, 87), +(52, 350, 89), +(52, 351, 95), +(52, 352, 89), +(52, 353, 96), +(52, 354, 86), +(52, 355, 72), +(52, 356, 67), +(52, 357, 90), +(52, 358, 72), +(52, 359, 97), +(52, 360, 86), +(52, 361, 76), +(52, 362, 70), +(52, 363, 72), +(52, 364, 67), +(52, 365, 66), +(52, 366, 98), +(52, 367, 82), +(52, 368, 73), +(52, 369, 82), +(52, 370, 96), +(52, 371, 74), +(52, 372, 96), +(52, 373, 65), +(52, 374, 71), +(52, 375, 88), +(52, 376, 92), +(52, 377, 73), +(52, 378, 94), +(52, 379, 69), +(52, 380, 97), +(52, 381, 85), +(52, 382, 73), +(52, 383, 67), +(52, 384, 73), +(52, 385, 93), +(52, 386, 69), +(52, 387, 96), +(52, 388, 70), +(52, 389, 65), +(52, 390, 66), +(52, 391, 72), +(52, 392, 95), +(52, 393, 89), +(52, 394, 68), +(52, 395, 71), +(52, 396, 93), +(52, 397, 73), +(52, 398, 92), +(52, 399, 67), +(52, 400, 75), +(52, 401, 88), +(52, 402, 91), +(52, 403, 84), +(52, 404, 90), +(52, 405, 77), +(52, 406, 77), +(52, 407, 79), +(52, 408, 95), +(52, 409, 75), +(52, 410, 88), +(52, 411, 88), +(52, 412, 91), +(52, 413, 86), +(52, 414, 79), +(52, 415, 77), +(52, 416, 87), +(52, 417, 81), +(52, 418, 79), +(52, 419, 85), +(52, 420, 77), +(52, 421, 99), +(52, 422, 97), +(52, 423, 65), +(52, 424, 86), +(52, 425, 89), +(52, 426, 93), +(52, 427, 98), +(52, 428, 95), +(52, 429, 87), +(52, 430, 73), +(52, 431, 67), +(52, 432, 83), +(52, 433, 79), +(52, 434, 70), +(52, 435, 98), +(52, 436, 88), +(52, 437, 76), +(52, 438, 69), +(52, 439, 88), +(52, 440, 71), +(52, 441, 99), +(52, 442, 91), +(52, 443, 80), +(52, 444, 69), +(52, 445, 93), +(52, 446, 96), +(52, 447, 79), +(52, 448, 87), +(52, 449, 74), +(52, 450, 68), +(52, 451, 90), +(52, 452, 71), +(52, 453, 86), +(52, 454, 66), +(52, 455, 78), +(52, 456, 96), +(52, 457, 98), +(52, 458, 66), +(52, 459, 96), +(52, 460, 70), +(52, 461, 83), +(52, 462, 72), +(52, 463, 93), +(52, 464, 69), +(52, 465, 86), +(52, 466, 90), +(52, 467, 99), +(52, 468, 98), +(52, 469, 73), +(52, 470, 73), +(52, 471, 76), +(52, 472, 73), +(52, 473, 80), +(52, 474, 78), +(52, 475, 85), +(52, 476, 74), +(52, 477, 67), +(52, 478, 80), +(52, 479, 96), +(52, 480, 68), +(52, 481, 76), +(52, 482, 88), +(52, 483, 84), +(52, 484, 83), +(52, 485, 81), +(52, 486, 91), +(52, 487, 92), +(52, 488, 74), +(52, 489, 74), +(52, 490, 83), +(52, 491, 70), +(52, 492, 99), +(52, 493, 96), +(52, 494, 80), +(52, 495, 94), +(52, 496, 87), +(52, 497, 87), +(52, 498, 82), +(52, 499, 86), +(52, 500, 75), +(52, 501, 70), +(52, 502, 98), +(52, 503, 70), +(52, 504, 99), +(52, 505, 98), +(52, 506, 74), +(52, 507, 65), +(52, 508, 83), +(52, 509, 93), +(52, 510, 94), +(52, 511, 98), +(52, 512, 83), +(52, 513, 90), +(52, 514, 89), +(52, 515, 97), +(52, 516, 72), +(52, 517, 76), +(52, 518, 69), +(52, 519, 94), +(52, 520, 76), +(52, 521, 83), +(52, 522, 72), +(52, 523, 94), +(52, 524, 83), +(52, 525, 86), +(52, 526, 89), +(52, 527, 67), +(52, 528, 87), +(52, 529, 72), +(52, 530, 78), +(52, 531, 87), +(52, 532, 77), +(52, 533, 65), +(52, 534, 96), +(52, 535, 77), +(52, 536, 90), +(52, 537, 80), +(52, 538, 83), +(52, 539, 68), +(52, 540, 79), +(52, 541, 80), +(52, 542, 67), +(52, 543, 83), +(52, 544, 72), +(52, 545, 67), +(52, 546, 89), +(52, 547, 97), +(52, 548, 78), +(52, 549, 95), +(52, 550, 82), +(52, 551, 76), +(52, 552, 94), +(52, 553, 67), +(52, 554, 84), +(52, 555, 71), +(52, 556, 97), +(52, 557, 67), +(52, 558, 67), +(52, 559, 79), +(52, 560, 75), +(52, 561, 98), +(52, 562, 72), +(52, 563, 81), +(52, 564, 77), +(52, 1024, 80), +(52, 1025, 68), +(52, 1026, 77), +(52, 1027, 71), +(52, 1028, 88), +(52, 1029, 81), +(52, 1030, 82), +(52, 1031, 95), +(52, 1032, 78), +(52, 1033, 84), +(52, 1034, 72), +(52, 1035, 66), +(52, 1036, 86), +(52, 1037, 81), +(52, 1038, 96), +(52, 1039, 69), +(52, 1040, 97), +(52, 1041, 92), +(52, 1042, 90), +(52, 1043, 97), +(52, 1044, 91), +(52, 1045, 68), +(52, 1046, 86), +(52, 1047, 86), +(52, 1048, 74), +(52, 1049, 81), +(52, 1050, 98), +(52, 1051, 86), +(52, 1052, 94), +(52, 1053, 97), +(52, 1054, 76), +(52, 1055, 68), +(52, 1056, 70), +(52, 1057, 97), +(52, 1058, 82), +(52, 1059, 90), +(52, 1060, 90), +(52, 1061, 93), +(52, 1062, 68), +(52, 1063, 79), +(52, 1064, 86), +(52, 1065, 70), +(52, 1066, 74), +(52, 1067, 70), +(52, 1068, 73), +(52, 1069, 88), +(52, 1070, 65), +(52, 1071, 91), +(52, 1072, 86), +(52, 1073, 87), +(52, 1074, 92), +(52, 1075, 76), +(52, 1076, 94), +(52, 1077, 67), +(52, 1078, 77), +(52, 1079, 77), +(52, 1080, 98), +(52, 1081, 99), +(52, 1082, 66), +(52, 1083, 66), +(52, 1084, 94), +(52, 1085, 72), +(52, 1086, 68), +(52, 1087, 99), +(52, 1088, 75), +(52, 1089, 80), +(52, 1090, 81), +(52, 1091, 93), +(52, 1092, 82), +(52, 1093, 97), +(52, 1094, 96), +(52, 1095, 73), +(52, 1096, 89), +(52, 1097, 90), +(52, 1098, 92), +(52, 1099, 86), +(52, 1100, 73), +(52, 1101, 68), +(52, 1102, 93), +(52, 1103, 83), +(52, 1104, 99), +(52, 1105, 68), +(52, 1106, 73), +(52, 1107, 88), +(52, 1108, 72), +(52, 1109, 87), +(52, 1110, 99), +(52, 1111, 83), +(52, 1112, 75), +(52, 1113, 98), +(52, 1114, 77), +(52, 1115, 91), +(52, 1116, 66), +(52, 1117, 72), +(52, 1118, 81), +(52, 1119, 79), +(52, 1120, 95), +(52, 1121, 70), +(52, 1122, 72), +(52, 1123, 74), +(52, 1124, 91), +(52, 1125, 82), +(52, 1126, 94), +(52, 1127, 83), +(52, 1128, 81), +(52, 1129, 90), +(52, 1130, 89), +(52, 1131, 83), +(52, 1132, 82), +(52, 1133, 74), +(52, 1134, 81), +(52, 1135, 79), +(52, 1136, 71), +(52, 1137, 98), +(52, 1138, 73), +(52, 1139, 77), +(52, 1140, 88), +(52, 1141, 72), +(52, 1142, 83), +(52, 1143, 99), +(52, 1144, 72), +(52, 1145, 80), +(52, 1146, 80), +(52, 1147, 70), +(52, 1148, 70), +(52, 1149, 97), +(52, 1150, 80), +(52, 1151, 68), +(52, 1152, 97), +(52, 1153, 68), +(52, 1154, 90), +(52, 1155, 68), +(52, 1156, 77), +(52, 1157, 73), +(52, 1158, 97), +(52, 1159, 95), +(52, 1160, 87), +(52, 1161, 95), +(52, 1162, 89), +(52, 1163, 80), +(52, 1164, 76), +(52, 1165, 86), +(52, 1166, 79), +(52, 1167, 67), +(52, 1168, 73), +(52, 1169, 81), +(52, 1170, 88), +(52, 1171, 81), +(52, 1172, 91), +(52, 1173, 71), +(52, 1174, 71), +(52, 1175, 72), +(52, 1176, 88), +(52, 1177, 93), +(52, 1178, 95), +(52, 1179, 68), +(52, 1180, 97), +(52, 1181, 93), +(52, 1182, 90), +(52, 1183, 73), +(52, 1184, 78), +(52, 1185, 73), +(52, 1186, 81), +(52, 1187, 77), +(52, 1188, 90), +(52, 1189, 88), +(52, 1190, 86), +(52, 1191, 85), +(52, 1192, 86), +(52, 1193, 90), +(52, 1194, 67), +(52, 1195, 76), +(52, 1196, 75), +(52, 1197, 95), +(52, 1198, 77), +(52, 1199, 99), +(52, 1200, 87), +(52, 1201, 70), +(52, 1202, 76), +(52, 1203, 92), +(52, 1204, 88), +(52, 1205, 95), +(52, 1206, 92), +(52, 1207, 74), +(52, 1208, 69), +(52, 1209, 79), +(52, 1210, 87), +(52, 1211, 73), +(52, 1212, 72), +(52, 1213, 71), +(52, 1214, 73), +(52, 1215, 82), +(52, 1216, 99), +(52, 1217, 72), +(52, 1218, 87), +(52, 1219, 70), +(52, 1220, 83), +(52, 1221, 80), +(52, 1222, 93), +(52, 1223, 71), +(52, 1224, 74), +(52, 1225, 95), +(52, 1226, 86), +(52, 1227, 80), +(52, 1228, 95), +(52, 1229, 88), +(52, 1230, 75), +(52, 1231, 92), +(52, 1232, 99), +(52, 1233, 78), +(52, 1234, 82), +(52, 1235, 88), +(52, 1236, 66), +(52, 1237, 65), +(52, 1238, 69), +(52, 1239, 74), +(52, 1240, 94), +(52, 1241, 75), +(52, 1242, 84), +(52, 1243, 86), +(52, 1244, 75), +(52, 1245, 88), +(52, 1246, 92), +(52, 1247, 68), +(52, 1248, 68), +(52, 1249, 68), +(52, 1250, 99), +(52, 1251, 75), +(52, 1252, 87), +(52, 1253, 71), +(52, 1254, 72), +(52, 1255, 85), +(52, 1256, 87), +(52, 1257, 82), +(52, 1258, 93), +(52, 1259, 71), +(52, 1260, 87), +(52, 1261, 68), +(52, 1262, 80), +(52, 1263, 66), +(52, 1264, 81), +(52, 1265, 76), +(52, 1266, 75), +(52, 1267, 68), +(52, 1268, 79), +(52, 1269, 75), +(52, 1270, 88), +(52, 1271, 82), +(52, 1272, 83), +(52, 1273, 76), +(52, 1274, 78), +(52, 1275, 74), +(52, 1276, 75), +(52, 1277, 75), +(52, 1278, 96), +(52, 1279, 84), +(52, 1280, 76), +(52, 1281, 88), +(52, 1282, 98), +(52, 1283, 84), +(52, 1284, 72), +(52, 1285, 70), +(52, 1286, 93), +(52, 1287, 81), +(52, 1288, 66), +(52, 1289, 76), +(52, 1290, 87), +(52, 1291, 90), +(52, 1292, 82), +(52, 1293, 95), +(52, 1294, 86), +(52, 1295, 86), +(52, 1296, 72), +(52, 1297, 97), +(52, 1298, 87), +(52, 1299, 99), +(52, 1300, 69), +(52, 1301, 75), +(52, 1302, 70), +(52, 1303, 68), +(52, 1304, 96), +(52, 1305, 67), +(52, 1306, 94), +(52, 1307, 68), +(52, 1308, 87), +(52, 1309, 75), +(52, 1310, 70), +(52, 1311, 76), +(52, 1312, 72), +(52, 1313, 98), +(52, 1314, 92), +(52, 1315, 67), +(52, 1316, 77), +(52, 1317, 71), +(52, 1318, 78), +(52, 1319, 75), +(52, 1320, 75), +(52, 1321, 85), +(52, 1322, 72), +(52, 1323, 87), +(52, 1324, 85), +(52, 1325, 99), +(52, 1326, 98), +(52, 1327, 65), +(52, 1328, 88), +(52, 1329, 71), +(52, 1330, 99), +(52, 1331, 70), +(52, 1332, 84), +(52, 1333, 74), +(52, 1334, 81), +(52, 1335, 87), +(52, 1336, 90), +(52, 1337, 77), +(52, 1338, 88), +(52, 1339, 79), +(52, 1340, 70), +(52, 1341, 86), +(52, 1342, 95), +(52, 1343, 77), +(52, 1344, 88), +(52, 1345, 87), +(52, 1346, 73), +(52, 1347, 70), +(52, 1348, 74), +(52, 1349, 72), +(52, 1350, 66), +(52, 1351, 94), +(52, 1352, 96), +(52, 1353, 99), +(52, 1354, 77), +(52, 1355, 72), +(52, 1356, 79), +(52, 1357, 86), +(52, 1358, 77), +(52, 1359, 76), +(52, 1360, 86), +(52, 1361, 77), +(52, 1362, 88), +(52, 1363, 72), +(52, 1364, 94), +(52, 1365, 65), +(52, 1366, 76), +(52, 1367, 83), +(52, 1368, 96), +(52, 1369, 92), +(52, 1370, 82), +(52, 1371, 75), +(52, 1372, 91), +(52, 1373, 82), +(52, 1374, 65), +(52, 1375, 70), +(52, 1376, 96), +(52, 1377, 79), +(52, 1378, 75), +(52, 1379, 89), +(52, 1380, 71), +(52, 1381, 97), +(52, 1382, 84), +(52, 1383, 98), +(52, 1384, 78), +(52, 1385, 88), +(52, 1386, 99), +(52, 1387, 93), +(52, 1388, 94), +(52, 1389, 74), +(52, 1390, 98), +(52, 1391, 67), +(52, 1392, 68), +(52, 1393, 67), +(52, 1394, 99), +(52, 1395, 88), +(52, 1396, 72), +(52, 1397, 90), +(52, 1398, 69), +(52, 1399, 70), +(52, 1400, 68), +(52, 1401, 85), +(52, 1402, 89), +(52, 1403, 80), +(52, 1404, 74), +(52, 1405, 71), +(52, 1406, 87), +(52, 1407, 86), +(52, 1408, 67), +(52, 1409, 93), +(52, 1410, 65), +(52, 1411, 83), +(52, 1412, 81), +(52, 1413, 94), +(52, 1414, 83), +(52, 1415, 68), +(52, 1416, 74), +(52, 1417, 96), +(52, 1418, 91), +(52, 1419, 80), +(52, 1420, 87), +(52, 1421, 85), +(52, 1422, 68), +(52, 1423, 93), +(52, 1424, 77), +(52, 1425, 77), +(52, 1426, 66), +(52, 1427, 71), +(52, 1428, 94), +(52, 1429, 66), +(52, 1430, 74), +(52, 1431, 98), +(52, 1432, 92), +(52, 1433, 78), +(52, 1434, 91), +(52, 1435, 72), +(52, 1436, 76), +(52, 1437, 74), +(52, 1438, 86), +(52, 1439, 73), +(52, 1440, 79), +(52, 1441, 85), +(52, 1442, 82), +(52, 1443, 69), +(52, 1444, 98), +(52, 1445, 79), +(52, 1446, 96), +(52, 1447, 98), +(52, 1448, 98), +(52, 1449, 97), +(52, 1450, 71), +(52, 1451, 91), +(52, 1452, 70), +(52, 1453, 81), +(52, 1454, 65), +(52, 1455, 72), +(52, 1456, 73), +(52, 1457, 74), +(52, 1458, 99), +(52, 1459, 72), +(52, 1460, 66), +(52, 1461, 98), +(52, 1462, 66), +(52, 1463, 89), +(52, 1464, 98), +(52, 1465, 73), +(52, 1466, 66), +(52, 1467, 99), +(52, 1468, 93), +(52, 1469, 72), +(52, 1470, 87), +(52, 1471, 88), +(52, 1472, 85), +(52, 1473, 86), +(52, 1474, 80), +(52, 1475, 95), +(52, 1476, 99), +(52, 1477, 81), +(52, 1478, 99), +(52, 1479, 95), +(52, 1480, 83), +(52, 1481, 83), +(52, 1482, 74), +(52, 1483, 72), +(52, 1484, 80), +(52, 1485, 76), +(52, 1486, 65), +(52, 1487, 78), +(52, 1488, 68), +(52, 1489, 72), +(52, 1490, 78), +(52, 1491, 75), +(52, 1492, 76), +(52, 1493, 67), +(52, 1494, 78), +(52, 1495, 92), +(52, 1496, 84), +(52, 1497, 94), +(52, 1498, 81), +(52, 1499, 67), +(52, 1500, 65), +(52, 1501, 93), +(52, 1502, 70), +(52, 1503, 73), +(52, 1504, 65), +(52, 1505, 67), +(52, 1506, 84), +(52, 1507, 81), +(52, 1508, 74), +(52, 1509, 94), +(52, 1510, 86), +(52, 1511, 83), +(52, 1512, 98), +(52, 1513, 71), +(52, 1514, 77), +(52, 1515, 66), +(52, 1516, 70), +(52, 1517, 71), +(52, 1518, 85), +(52, 1519, 77), +(52, 1520, 84), +(52, 1521, 75), +(52, 1522, 97), +(52, 1523, 87), +(52, 1524, 95), +(52, 1525, 85), +(52, 1526, 96), +(52, 1527, 67), +(52, 1528, 85), +(52, 1529, 98), +(52, 1530, 90), +(52, 1531, 93), +(52, 1532, 80), +(52, 1533, 93), +(52, 1534, 75), +(52, 1535, 78), +(52, 1536, 77), +(52, 1537, 68), +(52, 1538, 74), +(52, 1539, 91), +(52, 1540, 98), +(52, 1541, 77), +(52, 1542, 72), +(52, 1543, 73), +(52, 1544, 67), +(52, 1545, 78), +(52, 1546, 65), +(52, 1547, 96), +(52, 1548, 94), +(52, 1549, 69), +(52, 1550, 67), +(52, 1551, 88), +(52, 1552, 89), +(52, 1553, 94), +(52, 1554, 83), +(52, 1555, 70), +(52, 1556, 89), +(52, 1557, 71), +(52, 1558, 68), +(52, 1559, 73), +(52, 1560, 88), +(52, 1561, 82), +(52, 1562, 71), +(52, 1563, 80), +(52, 1564, 90), +(52, 1565, 89), +(52, 1566, 77), +(52, 1567, 81), +(52, 1568, 88), +(52, 1569, 76), +(52, 1570, 98), +(52, 1571, 68), +(52, 1572, 94), +(52, 1573, 74), +(52, 1574, 88), +(52, 1575, 84), +(52, 1576, 79), +(52, 1577, 92), +(52, 1578, 90), +(52, 1579, 96), +(52, 1580, 70), +(52, 1581, 84), +(52, 1582, 79), +(52, 1583, 88), +(52, 1584, 74), +(52, 1585, 76), +(52, 1586, 72), +(52, 1587, 81), +(52, 2047, 85), +(52, 2048, 82), +(52, 2049, 74), +(52, 2050, 69), +(52, 2051, 72), +(52, 2052, 72), +(52, 2053, 95), +(52, 2054, 72), +(52, 2055, 68), +(52, 2056, 83), +(52, 2057, 66), +(52, 2058, 65), +(52, 2059, 99), +(52, 2060, 80), +(52, 2061, 78), +(52, 2062, 70), +(52, 2063, 91), +(52, 2064, 70), +(52, 2065, 68), +(52, 2066, 94), +(52, 2067, 91), +(52, 2068, 88), +(52, 2069, 80), +(52, 2070, 68), +(52, 2071, 96), +(52, 2072, 96), +(52, 2073, 84), +(52, 2074, 90), +(52, 2075, 77), +(52, 2076, 91), +(52, 2077, 96), +(52, 2078, 74), +(52, 2079, 91), +(52, 2080, 90), +(52, 2081, 74), +(52, 2082, 93), +(52, 2083, 92), +(52, 2084, 89), +(52, 2085, 79), +(52, 2086, 67), +(52, 2087, 93), +(52, 2088, 73), +(52, 2089, 72), +(52, 2090, 80), +(52, 2091, 67), +(52, 2092, 79), +(52, 2093, 68), +(52, 2094, 95), +(52, 2095, 77), +(52, 2096, 69), +(52, 2097, 90), +(52, 2098, 79), +(52, 2099, 98), +(52, 2100, 90), +(52, 2101, 87), +(52, 2102, 66), +(52, 2103, 91), +(52, 2104, 90), +(52, 2105, 89), +(52, 2106, 89), +(52, 2107, 82), +(52, 2108, 79), +(52, 2109, 89), +(52, 2110, 76), +(52, 2111, 69), +(52, 2112, 71), +(52, 2113, 92), +(52, 2114, 97), +(52, 2115, 97), +(52, 2116, 84), +(52, 2117, 90), +(52, 2118, 93), +(52, 2119, 89), +(52, 2120, 99), +(52, 2121, 69), +(52, 2122, 85), +(52, 2123, 75), +(52, 2124, 80), +(52, 2125, 85), +(52, 2126, 73), +(52, 2127, 82), +(52, 2128, 72), +(52, 2129, 67), +(52, 2130, 88), +(52, 2131, 89), +(52, 2132, 97), +(52, 2133, 77), +(52, 2134, 75), +(52, 2135, 94), +(52, 2136, 67), +(52, 2137, 67), +(52, 2138, 70), +(52, 2139, 74), +(52, 2140, 71), +(52, 2141, 75), +(52, 2142, 76), +(52, 2143, 73), +(52, 2144, 97), +(52, 2145, 66), +(52, 2146, 95), +(52, 2147, 90), +(52, 2148, 90), +(52, 2149, 97), +(52, 2150, 97), +(52, 2151, 97), +(52, 2152, 93), +(52, 2153, 79), +(52, 2154, 93), +(52, 2155, 92), +(52, 2156, 93), +(52, 2157, 67), +(52, 2158, 81), +(52, 2159, 68), +(52, 2160, 67), +(52, 2161, 75), +(52, 2162, 69), +(52, 2163, 89), +(52, 2164, 76), +(52, 2165, 90), +(52, 2166, 93), +(52, 2167, 69), +(52, 2168, 87), +(52, 2169, 68), +(52, 2170, 75), +(52, 2171, 75), +(52, 2172, 72), +(52, 2173, 85), +(52, 2174, 96), +(52, 2175, 74), +(52, 2176, 74), +(52, 2177, 75), +(52, 2178, 89), +(52, 2179, 98), +(52, 2180, 74), +(52, 2181, 84), +(52, 2182, 70), +(52, 2183, 85), +(52, 2184, 89), +(52, 2185, 74), +(52, 2186, 84), +(52, 2187, 98), +(52, 2188, 91), +(52, 2189, 94), +(52, 2190, 66), +(52, 2191, 91), +(52, 2192, 87), +(52, 2193, 78), +(52, 2194, 78), +(52, 2195, 78), +(52, 2196, 87), +(52, 2197, 76), +(52, 2198, 67), +(52, 2199, 93), +(52, 2200, 65), +(52, 2201, 66), +(52, 2202, 79), +(52, 2203, 80), +(52, 2204, 73), +(52, 2205, 65), +(52, 2206, 94), +(52, 2207, 75), +(52, 2208, 72), +(52, 2209, 75), +(52, 2210, 66), +(52, 2211, 87), +(52, 2212, 71), +(52, 2213, 65), +(52, 2214, 95), +(52, 2215, 65), +(52, 2216, 91), +(52, 2217, 71), +(52, 2218, 86), +(52, 2219, 88), +(52, 2220, 90), +(52, 2221, 71), +(52, 2222, 65), +(52, 2223, 92), +(52, 2224, 83), +(52, 2225, 67), +(52, 2226, 94), +(52, 2227, 92), +(52, 2228, 84), +(52, 2229, 98), +(52, 2230, 81), +(52, 2231, 95), +(52, 2232, 90), +(52, 2233, 89), +(52, 2234, 96), +(52, 2235, 68), +(52, 2236, 76), +(52, 2237, 87), +(52, 2238, 96), +(52, 2239, 78), +(52, 2240, 70), +(52, 2241, 76), +(52, 2242, 66), +(52, 2243, 71), +(52, 2244, 79), +(52, 2245, 87), +(52, 2246, 66), +(52, 2247, 83), +(52, 2248, 81), +(52, 2249, 76), +(52, 2250, 80), +(52, 2251, 65), +(52, 2252, 72), +(52, 2253, 82), +(52, 2254, 83), +(52, 2255, 87), +(52, 2256, 96), +(52, 2257, 72), +(52, 2258, 70), +(52, 2259, 80), +(52, 2260, 67), +(52, 2261, 87), +(52, 2262, 93), +(52, 2263, 86), +(52, 2264, 87), +(52, 2265, 75), +(52, 2266, 77), +(52, 2267, 65), +(52, 2268, 77), +(52, 2269, 82), +(52, 2270, 93), +(52, 2271, 97), +(52, 2272, 82), +(52, 2273, 66), +(52, 2274, 75), +(52, 2275, 88), +(52, 2276, 91), +(52, 2277, 88), +(52, 2278, 97), +(52, 2279, 78), +(52, 2280, 84), +(52, 2281, 69), +(52, 2282, 78), +(52, 2283, 98), +(52, 2284, 76), +(52, 2285, 86), +(52, 2286, 86), +(52, 2287, 84), +(52, 2288, 67), +(52, 2289, 71), +(52, 2290, 89), +(52, 2291, 90), +(52, 2292, 90), +(52, 2293, 76), +(52, 2294, 82), +(52, 2295, 82), +(52, 2296, 92), +(52, 2297, 65), +(52, 2298, 84), +(52, 2299, 81), +(52, 2300, 93), +(52, 2301, 85), +(52, 2302, 81), +(52, 2303, 65), +(52, 2304, 95), +(52, 2305, 66), +(52, 2306, 89), +(52, 2307, 92), +(52, 2308, 94), +(52, 2309, 99), +(52, 2310, 82), +(52, 2311, 90), +(52, 2312, 97), +(52, 2313, 86), +(52, 2314, 87), +(52, 2315, 96), +(52, 2316, 92), +(52, 2317, 84), +(52, 2318, 72), +(52, 2319, 94), +(52, 2320, 92), +(52, 2321, 88), +(52, 2322, 99), +(52, 2323, 97), +(52, 2324, 98), +(52, 2325, 90), +(52, 2326, 71), +(52, 2327, 91), +(52, 2328, 79), +(52, 2329, 96), +(52, 2330, 68), +(52, 2331, 83), +(52, 2332, 88), +(52, 2333, 99), +(52, 2334, 75), +(52, 2335, 80), +(52, 2336, 72), +(52, 2337, 79), +(52, 2338, 84), +(52, 2339, 92), +(52, 2340, 99), +(52, 2341, 94), +(52, 2342, 82), +(52, 2343, 83), +(52, 2344, 90), +(52, 2345, 70), +(52, 2346, 91), +(52, 2347, 93), +(52, 2348, 84), +(52, 2349, 92), +(52, 2350, 66), +(52, 2351, 78), +(52, 2352, 65), +(52, 2353, 71), +(52, 2354, 80), +(52, 2355, 79), +(52, 2356, 68), +(52, 2357, 78), +(52, 2358, 91), +(52, 2359, 78), +(52, 2360, 96), +(52, 2361, 69), +(52, 2362, 69), +(52, 2363, 89), +(52, 2364, 91), +(52, 2365, 93), +(52, 2366, 91), +(52, 2367, 77), +(52, 2368, 96), +(52, 2369, 74), +(52, 2370, 87), +(52, 2371, 74), +(52, 2372, 68), +(52, 2373, 92), +(52, 2374, 87), +(52, 2375, 89), +(52, 2376, 85), +(52, 2377, 69), +(52, 2378, 86), +(52, 2379, 91), +(52, 2380, 85), +(52, 2381, 90), +(52, 2382, 69), +(52, 2383, 86), +(52, 2384, 71), +(52, 2385, 87), +(52, 2386, 76), +(52, 2387, 87), +(52, 2388, 65), +(52, 2389, 92), +(52, 2390, 99), +(52, 2391, 70), +(52, 2392, 68), +(52, 2393, 82), +(52, 2394, 70), +(52, 2395, 89), +(52, 2396, 79), +(52, 2397, 98), +(52, 2398, 97), +(52, 2399, 78), +(52, 2400, 94), +(52, 2401, 85), +(52, 2402, 94), +(52, 2403, 86), +(52, 2404, 87), +(52, 2405, 66), +(52, 2406, 86), +(52, 2407, 90), +(52, 2408, 87), +(52, 2409, 67), +(52, 2410, 95), +(52, 2411, 99), +(52, 2412, 80), +(52, 2413, 92), +(52, 2414, 93), +(52, 2415, 73), +(52, 2416, 80), +(52, 2417, 87), +(52, 2418, 95), +(52, 2419, 92), +(52, 2420, 91), +(52, 2421, 88), +(52, 2422, 89), +(52, 2423, 78), +(52, 2424, 83), +(52, 2425, 92), +(52, 2426, 78), +(52, 2427, 80), +(52, 2428, 85), +(52, 2429, 66), +(52, 2430, 86), +(52, 2431, 80), +(52, 2432, 92), +(52, 2433, 92), +(52, 2434, 66), +(52, 2435, 96), +(52, 2436, 91), +(52, 2437, 99), +(52, 2438, 69), +(52, 2439, 89), +(52, 2440, 84), +(52, 2441, 99), +(52, 2442, 88), +(52, 2443, 72), +(52, 2444, 81), +(52, 2445, 72), +(52, 2446, 97), +(52, 2447, 73), +(52, 2448, 67), +(52, 2449, 87), +(52, 2450, 88), +(52, 2451, 81), +(52, 2452, 71), +(52, 2453, 72), +(52, 2454, 66), +(52, 2455, 87), +(52, 2456, 84), +(52, 2457, 81), +(52, 2458, 67), +(52, 2459, 99), +(52, 2460, 98), +(52, 2461, 88), +(52, 2462, 87), +(52, 2463, 99), +(52, 2464, 66), +(52, 2465, 94), +(52, 2466, 94), +(52, 2467, 91), +(52, 2468, 86), +(52, 2469, 75), +(52, 2470, 84), +(52, 2471, 70), +(52, 2472, 70), +(52, 2473, 83), +(52, 2474, 71), +(52, 2475, 85), +(52, 2476, 69), +(52, 2477, 89), +(52, 2478, 83), +(52, 2479, 71), +(52, 2480, 90), +(52, 2481, 79), +(52, 2482, 87), +(52, 2483, 86), +(52, 2484, 99), +(52, 2485, 76), +(52, 2486, 71), +(52, 2487, 66), +(52, 2488, 96), +(52, 2489, 66), +(52, 2490, 77), +(52, 2491, 65), +(52, 2492, 67), +(52, 2493, 65), +(52, 2494, 66), +(52, 2495, 77), +(52, 2496, 70), +(52, 2497, 98), +(52, 2498, 75), +(52, 2499, 86), +(52, 2500, 67), +(52, 2501, 66), +(52, 2502, 70), +(52, 2503, 81), +(52, 2504, 75), +(52, 2505, 88), +(52, 2506, 88), +(52, 2507, 69), +(52, 2508, 77), +(52, 2509, 94), +(52, 2510, 65), +(52, 2511, 74), +(52, 2512, 86), +(52, 2513, 94), +(52, 2514, 79), +(52, 2515, 89), +(52, 2516, 76), +(52, 2517, 76), +(52, 2518, 71), +(52, 2519, 72), +(52, 2520, 87), +(52, 2521, 88), +(52, 2522, 68), +(52, 2523, 94), +(52, 2524, 67), +(52, 2525, 82), +(52, 2526, 84), +(52, 2527, 79), +(52, 2528, 69), +(52, 2529, 89), +(52, 2530, 92), +(52, 2531, 68), +(52, 2532, 97), +(52, 2533, 99), +(52, 2534, 84), +(52, 2535, 74), +(52, 2536, 88), +(52, 2537, 70), +(52, 2538, 95), +(52, 2539, 71), +(52, 2540, 96), +(52, 2541, 92), +(52, 2542, 91), +(52, 2543, 66), +(52, 2544, 76), +(52, 2545, 74), +(52, 2546, 67), +(52, 2547, 79), +(52, 2548, 99), +(52, 2549, 72), +(52, 2550, 84), +(52, 2551, 83), +(52, 2552, 99), +(52, 2553, 98), +(52, 2554, 93), +(52, 2555, 98), +(52, 2556, 81), +(52, 2557, 69), +(52, 2558, 75), +(52, 2559, 91), +(52, 2560, 89), +(52, 2561, 72), +(52, 2562, 81), +(52, 2563, 69), +(52, 2564, 81), +(52, 2565, 91), +(52, 2566, 81), +(52, 2567, 91), +(52, 2568, 80), +(52, 2569, 97), +(52, 2570, 80), +(52, 2571, 76), +(52, 2572, 76), +(52, 2573, 95), +(52, 2574, 85), +(52, 2575, 65), +(52, 2576, 71), +(52, 2577, 98), +(52, 2578, 88), +(52, 2579, 87), +(52, 2580, 84), +(52, 2581, 84), +(52, 2582, 70), +(52, 2583, 67), +(52, 2584, 98), +(52, 2585, 78), +(52, 2586, 79), +(52, 2587, 83), +(52, 2588, 87), +(52, 2589, 84), +(52, 2590, 93), +(52, 2591, 88), +(52, 2592, 66), +(52, 2593, 88), +(52, 2594, 95), +(52, 2595, 81), +(52, 2596, 80), +(52, 2597, 96), +(52, 2598, 99), +(52, 2599, 78), +(52, 2600, 68), +(52, 2601, 71), +(52, 2602, 70), +(52, 2603, 99), +(52, 2604, 69), +(52, 2605, 87), +(52, 2606, 72), +(52, 2607, 80), +(52, 2608, 73), +(52, 2609, 94), +(52, 2610, 80), +(53, 1, 85), +(53, 2, 89), +(53, 3, 74), +(53, 4, 76), +(53, 5, 74), +(53, 6, 86), +(53, 7, 85), +(53, 8, 71), +(53, 9, 74), +(53, 10, 82), +(53, 11, 78), +(53, 12, 84), +(53, 13, 79), +(53, 14, 85), +(53, 15, 70), +(53, 16, 75), +(53, 17, 74), +(53, 18, 66), +(53, 19, 98), +(53, 20, 76), +(53, 21, 70), +(53, 22, 94), +(53, 23, 89), +(53, 24, 72), +(53, 25, 82), +(53, 26, 87), +(53, 27, 66), +(53, 28, 66), +(53, 29, 94), +(53, 30, 85), +(53, 31, 86), +(53, 32, 74), +(53, 33, 66), +(53, 34, 66), +(53, 35, 88), +(53, 36, 73), +(53, 37, 68), +(53, 38, 80), +(53, 39, 84), +(53, 40, 93), +(53, 41, 89), +(53, 42, 86), +(53, 43, 88), +(53, 44, 76), +(53, 45, 98), +(53, 46, 98), +(53, 47, 83), +(53, 48, 92), +(53, 49, 83), +(53, 50, 77), +(53, 51, 75), +(53, 52, 91), +(53, 53, 88), +(53, 54, 65), +(53, 55, 92), +(53, 56, 81), +(53, 57, 88), +(53, 58, 96), +(53, 59, 72), +(53, 60, 91), +(53, 61, 99), +(53, 62, 92), +(53, 63, 65), +(53, 64, 84), +(53, 65, 87), +(53, 66, 73), +(53, 67, 75), +(53, 68, 69), +(53, 69, 90), +(53, 70, 68), +(53, 71, 81), +(53, 72, 80), +(53, 73, 80), +(53, 74, 80), +(53, 75, 77), +(53, 76, 93), +(53, 77, 65), +(53, 78, 79), +(53, 79, 91), +(53, 80, 83), +(53, 81, 94), +(53, 82, 75), +(53, 83, 84), +(53, 84, 71), +(53, 85, 65), +(53, 86, 82), +(53, 87, 84), +(53, 88, 77), +(53, 89, 72), +(53, 90, 86), +(53, 91, 78), +(53, 92, 97), +(53, 93, 94), +(53, 94, 70), +(53, 95, 90), +(53, 96, 97), +(53, 97, 98), +(53, 98, 88), +(53, 99, 97), +(53, 100, 85), +(53, 101, 68), +(53, 102, 96), +(53, 103, 76), +(53, 104, 71), +(53, 105, 90), +(53, 106, 98), +(53, 107, 95), +(53, 108, 70), +(53, 109, 95), +(53, 110, 94), +(53, 111, 93), +(53, 112, 82), +(53, 113, 70), +(53, 114, 75), +(53, 115, 73), +(53, 116, 72), +(53, 117, 72), +(53, 118, 68), +(53, 119, 86), +(53, 120, 66), +(53, 121, 65), +(53, 122, 73), +(53, 123, 80), +(53, 124, 74), +(53, 125, 77), +(53, 126, 73), +(53, 127, 93), +(53, 128, 83), +(53, 129, 88), +(53, 130, 90), +(53, 131, 86), +(53, 132, 67), +(53, 133, 85), +(53, 134, 93), +(53, 135, 69), +(53, 136, 69), +(53, 137, 95), +(53, 138, 89), +(53, 139, 82), +(53, 140, 99), +(53, 141, 98), +(53, 142, 94), +(53, 143, 99), +(53, 144, 79), +(53, 145, 73), +(53, 146, 91), +(53, 147, 90), +(53, 148, 73), +(53, 149, 84), +(53, 150, 66), +(53, 151, 75), +(53, 152, 85), +(53, 153, 74), +(53, 154, 68), +(53, 155, 98), +(53, 156, 72), +(53, 157, 88), +(53, 158, 72), +(53, 159, 65), +(53, 160, 65), +(53, 161, 91), +(53, 162, 84), +(53, 163, 66), +(53, 164, 88), +(53, 165, 79), +(53, 166, 72), +(53, 167, 95), +(53, 168, 99), +(53, 169, 83), +(53, 170, 98), +(53, 171, 76), +(53, 172, 68), +(53, 173, 85), +(53, 174, 87), +(53, 175, 72), +(53, 176, 93), +(53, 177, 72), +(53, 178, 90), +(53, 179, 79), +(53, 180, 92), +(53, 181, 84), +(53, 182, 98), +(53, 183, 91), +(53, 184, 80), +(53, 185, 96), +(53, 186, 73), +(53, 187, 89), +(53, 188, 82), +(53, 189, 73), +(53, 190, 72), +(53, 191, 85), +(53, 192, 71), +(53, 193, 90), +(53, 194, 79), +(53, 195, 74), +(53, 196, 80), +(53, 197, 69), +(53, 198, 75), +(53, 199, 82), +(53, 200, 81), +(53, 201, 82), +(53, 202, 87), +(53, 203, 84), +(53, 204, 76), +(53, 205, 98), +(53, 206, 74), +(53, 207, 72), +(53, 208, 66), +(53, 209, 68), +(53, 210, 81), +(53, 211, 68), +(53, 212, 93), +(53, 213, 80), +(53, 214, 75), +(53, 215, 83), +(53, 216, 77), +(53, 217, 84), +(53, 218, 81), +(53, 219, 72), +(53, 220, 80), +(53, 221, 83), +(53, 222, 83), +(53, 223, 68), +(53, 224, 65), +(53, 225, 74), +(53, 226, 66), +(53, 227, 72), +(53, 228, 65), +(53, 229, 79), +(53, 230, 89), +(53, 231, 77), +(53, 232, 93), +(53, 233, 89), +(53, 234, 96), +(53, 235, 74), +(53, 236, 69), +(53, 237, 98), +(53, 238, 75), +(53, 239, 84), +(53, 240, 94), +(53, 241, 75), +(53, 242, 78), +(53, 243, 96), +(53, 244, 67), +(53, 245, 92), +(53, 246, 98), +(53, 247, 93), +(53, 248, 77), +(53, 249, 93), +(53, 250, 73), +(53, 251, 66), +(53, 252, 84), +(53, 253, 78), +(53, 254, 97), +(53, 255, 87), +(53, 256, 76), +(53, 257, 89), +(53, 258, 96), +(53, 259, 72), +(53, 260, 84), +(53, 261, 68), +(53, 262, 93), +(53, 263, 84), +(53, 264, 79), +(53, 265, 89), +(53, 266, 79), +(53, 267, 95), +(53, 268, 99), +(53, 269, 82), +(53, 270, 87), +(53, 271, 67), +(53, 272, 91), +(53, 273, 73), +(53, 274, 97), +(53, 275, 82), +(53, 276, 85), +(53, 277, 80), +(53, 278, 74), +(53, 279, 97), +(53, 280, 92), +(53, 281, 79), +(53, 282, 77), +(53, 283, 77), +(53, 284, 93), +(53, 285, 85), +(53, 286, 78), +(53, 287, 97), +(53, 288, 81), +(53, 289, 65), +(53, 290, 95), +(53, 291, 81), +(53, 292, 77), +(53, 293, 89), +(53, 294, 79), +(53, 295, 97), +(53, 296, 68), +(53, 297, 84), +(53, 298, 84), +(53, 299, 97), +(53, 300, 95), +(53, 301, 80), +(53, 302, 65), +(53, 303, 69), +(53, 304, 80), +(53, 305, 96), +(53, 306, 72), +(53, 307, 93), +(53, 308, 79), +(53, 309, 72), +(53, 310, 76), +(53, 311, 80), +(53, 312, 98), +(53, 313, 76), +(53, 314, 98), +(53, 315, 93), +(53, 316, 65), +(53, 317, 70), +(53, 318, 67), +(53, 319, 85), +(53, 320, 66), +(53, 321, 83), +(53, 322, 88), +(53, 323, 66), +(53, 324, 99), +(53, 325, 96), +(53, 326, 83), +(53, 327, 99), +(53, 328, 79), +(53, 329, 81), +(53, 330, 69), +(53, 331, 95), +(53, 332, 70), +(53, 333, 65), +(53, 334, 69), +(53, 335, 90), +(53, 336, 79), +(53, 337, 75), +(53, 338, 78), +(53, 339, 87), +(53, 340, 91), +(53, 341, 80), +(53, 342, 98), +(53, 343, 83), +(53, 344, 93), +(53, 345, 97), +(53, 346, 68), +(53, 347, 66), +(53, 348, 88), +(53, 349, 70), +(53, 350, 65), +(53, 351, 88), +(53, 352, 99), +(53, 353, 99), +(53, 354, 79), +(53, 355, 91), +(53, 356, 95), +(53, 357, 80), +(53, 358, 74), +(53, 359, 97), +(53, 360, 71), +(53, 361, 80), +(53, 362, 98), +(53, 363, 99), +(53, 364, 68), +(53, 365, 68), +(53, 366, 93), +(53, 367, 87), +(53, 368, 93), +(53, 369, 93), +(53, 370, 67), +(53, 371, 99), +(53, 372, 74), +(53, 373, 79), +(53, 374, 91), +(53, 375, 71), +(53, 376, 83), +(53, 377, 83), +(53, 378, 91), +(53, 379, 66), +(53, 380, 65), +(53, 381, 74), +(53, 382, 72), +(53, 383, 88), +(53, 384, 99), +(53, 385, 97), +(53, 386, 78), +(53, 387, 95), +(53, 388, 85), +(53, 389, 73), +(53, 390, 69), +(53, 391, 85), +(53, 392, 97), +(53, 393, 87), +(53, 394, 76), +(53, 395, 88), +(53, 396, 80), +(53, 397, 77), +(53, 398, 83), +(53, 399, 82), +(53, 400, 91), +(53, 401, 66), +(53, 402, 79), +(53, 403, 81), +(53, 404, 97), +(53, 405, 91), +(53, 406, 73), +(53, 407, 71), +(53, 408, 97), +(53, 409, 99), +(53, 410, 66), +(53, 411, 65), +(53, 412, 89), +(53, 413, 83), +(53, 414, 94), +(53, 415, 98), +(53, 416, 74), +(53, 417, 86), +(53, 418, 80), +(53, 419, 70), +(53, 420, 79), +(53, 421, 77), +(53, 422, 91), +(53, 423, 86), +(53, 424, 67), +(53, 425, 80), +(53, 426, 70), +(53, 427, 99), +(53, 428, 94), +(53, 429, 85), +(53, 430, 84), +(53, 431, 81), +(53, 432, 79), +(53, 433, 72), +(53, 434, 91), +(53, 435, 83), +(53, 436, 97), +(53, 437, 88), +(53, 438, 97), +(53, 439, 97), +(53, 440, 76), +(53, 441, 91), +(53, 442, 90), +(53, 443, 97), +(53, 444, 76), +(53, 445, 87), +(53, 446, 75), +(53, 447, 85), +(53, 448, 87), +(53, 449, 75), +(53, 450, 70), +(53, 451, 95), +(53, 452, 72), +(53, 453, 78), +(53, 454, 81), +(53, 455, 86), +(53, 456, 86), +(53, 457, 92), +(53, 458, 67), +(53, 459, 66), +(53, 460, 70), +(53, 461, 78), +(53, 462, 92), +(53, 463, 75), +(53, 464, 76), +(53, 465, 97), +(53, 466, 84), +(53, 467, 91), +(53, 468, 95), +(53, 469, 84), +(53, 470, 71), +(53, 471, 96), +(53, 472, 79), +(53, 473, 85), +(53, 474, 95), +(53, 475, 92), +(53, 476, 91), +(53, 477, 66), +(53, 478, 67), +(53, 479, 86), +(53, 480, 88), +(53, 481, 82), +(53, 482, 90), +(53, 483, 75), +(53, 484, 98), +(53, 485, 92), +(53, 486, 69), +(53, 487, 97), +(53, 488, 65), +(53, 489, 87), +(53, 490, 81), +(53, 491, 70), +(53, 492, 71), +(53, 493, 77), +(53, 494, 79), +(53, 495, 78), +(53, 496, 69), +(53, 497, 85), +(53, 498, 99), +(53, 499, 92), +(53, 500, 74), +(53, 501, 73), +(53, 502, 77), +(53, 503, 79), +(53, 504, 71), +(53, 505, 88), +(53, 506, 72), +(53, 507, 65), +(53, 508, 80), +(53, 509, 65), +(53, 510, 93), +(53, 511, 73), +(53, 512, 84), +(53, 513, 79), +(53, 514, 73), +(53, 515, 91), +(53, 516, 68), +(53, 517, 88), +(53, 518, 77), +(53, 519, 95), +(53, 520, 65), +(53, 521, 97), +(53, 522, 96), +(53, 523, 99), +(53, 524, 81), +(53, 525, 87), +(53, 526, 94), +(53, 527, 99), +(53, 528, 87), +(53, 529, 73), +(53, 530, 71), +(53, 531, 66), +(53, 532, 97), +(53, 533, 66), +(53, 534, 69), +(53, 535, 79), +(53, 536, 70), +(53, 537, 68), +(53, 538, 96), +(53, 539, 73), +(53, 540, 94), +(53, 541, 91), +(53, 542, 79), +(53, 543, 90), +(53, 544, 91), +(53, 545, 69), +(53, 546, 83), +(53, 547, 89), +(53, 548, 66), +(53, 549, 89), +(53, 550, 65), +(53, 551, 85), +(53, 552, 73), +(53, 553, 85), +(53, 554, 81), +(53, 555, 91), +(53, 556, 72), +(53, 557, 79), +(53, 558, 67), +(53, 559, 65), +(53, 560, 86), +(53, 561, 72), +(53, 562, 79), +(53, 563, 99), +(53, 564, 78), +(53, 1024, 81), +(53, 1025, 85), +(53, 1026, 94), +(53, 1027, 68), +(53, 1028, 68), +(53, 1029, 81), +(53, 1030, 70), +(53, 1031, 95), +(53, 1032, 79), +(53, 1033, 85), +(53, 1034, 85), +(53, 1035, 85), +(53, 1036, 77), +(53, 1037, 65), +(53, 1038, 92), +(53, 1039, 99), +(53, 1040, 94), +(53, 1041, 77), +(53, 1042, 77), +(53, 1043, 91), +(53, 1044, 77), +(53, 1045, 69), +(53, 1046, 81), +(53, 1047, 70), +(53, 1048, 67), +(53, 1049, 73), +(53, 1050, 72), +(53, 1051, 73), +(53, 1052, 82), +(53, 1053, 90), +(53, 1054, 74), +(53, 1055, 97), +(53, 1056, 96), +(53, 1057, 77), +(53, 1058, 79), +(53, 1059, 66), +(53, 1060, 87), +(53, 1061, 95), +(53, 1062, 89), +(53, 1063, 92), +(53, 1064, 82), +(53, 1065, 79), +(53, 1066, 74), +(53, 1067, 80), +(53, 1068, 99), +(53, 1069, 97), +(53, 1070, 85), +(53, 1071, 77), +(53, 1072, 84), +(53, 1073, 94), +(53, 1074, 91), +(53, 1075, 73), +(53, 1076, 78), +(53, 1077, 80), +(53, 1078, 83), +(53, 1079, 76), +(53, 1080, 79), +(53, 1081, 99), +(53, 1082, 70), +(53, 1083, 76), +(53, 1084, 85), +(53, 1085, 94), +(53, 1086, 77), +(53, 1087, 67), +(53, 1088, 66), +(53, 1089, 97), +(53, 1090, 94), +(53, 1091, 99), +(53, 1092, 70), +(53, 1093, 90), +(53, 1094, 90), +(53, 1095, 97), +(53, 1096, 83), +(53, 1097, 87), +(53, 1098, 92), +(53, 1099, 92), +(53, 1100, 74), +(53, 1101, 81), +(53, 1102, 86), +(53, 1103, 93), +(53, 1104, 90), +(53, 1105, 87), +(53, 1106, 83), +(53, 1107, 99), +(53, 1108, 85), +(53, 1109, 76), +(53, 1110, 86), +(53, 1111, 97), +(53, 1112, 83), +(53, 1113, 96), +(53, 1114, 82), +(53, 1115, 72), +(53, 1116, 91), +(53, 1117, 89), +(53, 1118, 84), +(53, 1119, 85), +(53, 1120, 90), +(53, 1121, 85), +(53, 1122, 91), +(53, 1123, 83), +(53, 1124, 98), +(53, 1125, 86), +(53, 1126, 91), +(53, 1127, 97), +(53, 1128, 73), +(53, 1129, 67), +(53, 1130, 89), +(53, 1131, 82), +(53, 1132, 98), +(53, 1133, 92), +(53, 1134, 84), +(53, 1135, 82), +(53, 1136, 90), +(53, 1137, 92), +(53, 1138, 84), +(53, 1139, 84), +(53, 1140, 74), +(53, 1141, 92), +(53, 1142, 86), +(53, 1143, 69), +(53, 1144, 68), +(53, 1145, 93), +(53, 1146, 88), +(53, 1147, 97), +(53, 1148, 85), +(53, 1149, 72), +(53, 1150, 78), +(53, 1151, 77), +(53, 1152, 95), +(53, 1153, 86), +(53, 1154, 65), +(53, 1155, 75), +(53, 1156, 91), +(53, 1157, 71), +(53, 1158, 80), +(53, 1159, 67), +(53, 1160, 88), +(53, 1161, 98), +(53, 1162, 96), +(53, 1163, 74), +(53, 1164, 84), +(53, 1165, 84), +(53, 1166, 69), +(53, 1167, 82), +(53, 1168, 86), +(53, 1169, 85), +(53, 1170, 96), +(53, 1171, 85), +(53, 1172, 71), +(53, 1173, 82), +(53, 1174, 89), +(53, 1175, 94), +(53, 1176, 76), +(53, 1177, 90), +(53, 1178, 84), +(53, 1179, 83), +(53, 1180, 71), +(53, 1181, 87), +(53, 1182, 80), +(53, 1183, 66), +(53, 1184, 67), +(53, 1185, 91), +(53, 1186, 88), +(53, 1187, 96), +(53, 1188, 66), +(53, 1189, 69), +(53, 1190, 82), +(53, 1191, 71), +(53, 1192, 99), +(53, 1193, 79), +(53, 1194, 84), +(53, 1195, 95), +(53, 1196, 79), +(53, 1197, 72), +(53, 1198, 81), +(53, 1199, 86), +(53, 1200, 74), +(53, 1201, 65), +(53, 1202, 72), +(53, 1203, 82), +(53, 1204, 67), +(53, 1205, 93), +(53, 1206, 85), +(53, 1207, 70), +(53, 1208, 85), +(53, 1209, 99), +(53, 1210, 98), +(53, 1211, 95), +(53, 1212, 97), +(53, 1213, 73), +(53, 1214, 89), +(53, 1215, 93), +(53, 1216, 70), +(53, 1217, 75), +(53, 1218, 74), +(53, 1219, 76), +(53, 1220, 88), +(53, 1221, 92), +(53, 1222, 73), +(53, 1223, 66), +(53, 1224, 90), +(53, 1225, 82), +(53, 1226, 76), +(53, 1227, 75), +(53, 1228, 88), +(53, 1229, 95), +(53, 1230, 85), +(53, 1231, 67), +(53, 1232, 79), +(53, 1233, 69), +(53, 1234, 85), +(53, 1235, 91), +(53, 1236, 65), +(53, 1237, 69), +(53, 1238, 94), +(53, 1239, 85), +(53, 1240, 77), +(53, 1241, 68), +(53, 1242, 72), +(53, 1243, 67), +(53, 1244, 66), +(53, 1245, 93), +(53, 1246, 93), +(53, 1247, 71), +(53, 1248, 85), +(53, 1249, 81), +(53, 1250, 98), +(53, 1251, 89), +(53, 1252, 85), +(53, 1253, 68), +(53, 1254, 69), +(53, 1255, 75), +(53, 1256, 70), +(53, 1257, 84), +(53, 1258, 76), +(53, 1259, 95), +(53, 1260, 68), +(53, 1261, 76), +(53, 1262, 85), +(53, 1263, 79), +(53, 1264, 94), +(53, 1265, 71), +(53, 1266, 89), +(53, 1267, 83), +(53, 1268, 75), +(53, 1269, 86), +(53, 1270, 97), +(53, 1271, 72), +(53, 1272, 75), +(53, 1273, 96), +(53, 1274, 95), +(53, 1275, 72), +(53, 1276, 70), +(53, 1277, 85), +(53, 1278, 92), +(53, 1279, 95), +(53, 1280, 69), +(53, 1281, 72), +(53, 1282, 74), +(53, 1283, 78), +(53, 1284, 90), +(53, 1285, 85), +(53, 1286, 76), +(53, 1287, 66), +(53, 1288, 67), +(53, 1289, 82), +(53, 1290, 76), +(53, 1291, 69), +(53, 1292, 78), +(53, 1293, 88), +(53, 1294, 97), +(53, 1295, 74), +(53, 1296, 82), +(53, 1297, 96), +(53, 1298, 86), +(53, 1299, 73), +(53, 1300, 98), +(53, 1301, 72), +(53, 1302, 83), +(53, 1303, 79), +(53, 1304, 73), +(53, 1305, 86), +(53, 1306, 98), +(53, 1307, 77), +(53, 1308, 79), +(53, 1309, 97), +(53, 1310, 85), +(53, 1311, 96), +(53, 1312, 96), +(53, 1313, 88), +(53, 1314, 85), +(53, 1315, 89), +(53, 1316, 92), +(53, 1317, 71), +(53, 1318, 92), +(53, 1319, 94), +(53, 1320, 89), +(53, 1321, 67), +(53, 1322, 72), +(53, 1323, 88), +(53, 1324, 65), +(53, 1325, 82), +(53, 1326, 88), +(53, 1327, 83), +(53, 1328, 86), +(53, 1329, 75), +(53, 1330, 81), +(53, 1331, 73), +(53, 1332, 81), +(53, 1333, 83), +(53, 1334, 71), +(53, 1335, 91), +(53, 1336, 93), +(53, 1337, 72), +(53, 1338, 71), +(53, 1339, 96), +(53, 1340, 78), +(53, 1341, 99), +(53, 1342, 71), +(53, 1343, 80), +(53, 1344, 68), +(53, 1345, 78), +(53, 1346, 88), +(53, 1347, 96), +(53, 1348, 75), +(53, 1349, 66), +(53, 1350, 76), +(53, 1351, 76), +(53, 1352, 67), +(53, 1353, 84), +(53, 1354, 78), +(53, 1355, 75), +(53, 1356, 92), +(53, 1357, 85), +(53, 1358, 93), +(53, 1359, 69), +(53, 1360, 95), +(53, 1361, 70), +(53, 1362, 78), +(53, 1363, 89), +(53, 1364, 89), +(53, 1365, 85), +(53, 1366, 85), +(53, 1367, 93), +(53, 1368, 73), +(53, 1369, 84), +(53, 1370, 70), +(53, 1371, 72), +(53, 1372, 66), +(53, 1373, 75), +(53, 1374, 83), +(53, 1375, 67), +(53, 1376, 90), +(53, 1377, 91), +(53, 1378, 90), +(53, 1379, 74), +(53, 1380, 68), +(53, 1381, 76), +(53, 1382, 68), +(53, 1383, 82), +(53, 1384, 79), +(53, 1385, 71), +(53, 1386, 67), +(53, 1387, 91), +(53, 1388, 84), +(53, 1389, 78), +(53, 1390, 76), +(53, 1391, 79), +(53, 1392, 80), +(53, 1393, 95), +(53, 1394, 94), +(53, 1395, 72), +(53, 1396, 69), +(53, 1397, 86), +(53, 1398, 66), +(53, 1399, 86), +(53, 1400, 81), +(53, 1401, 78), +(53, 1402, 79), +(53, 1403, 99), +(53, 1404, 79), +(53, 1405, 96), +(53, 1406, 87), +(53, 1407, 74), +(53, 1408, 74), +(53, 1409, 78), +(53, 1410, 88), +(53, 1411, 70), +(53, 1412, 99), +(53, 1413, 73), +(53, 1414, 76), +(53, 1415, 87), +(53, 1416, 82), +(53, 1417, 82), +(53, 1418, 65), +(53, 1419, 68), +(53, 1420, 86), +(53, 1421, 81), +(53, 1422, 65), +(53, 1423, 78), +(53, 1424, 76), +(53, 1425, 66), +(53, 1426, 72), +(53, 1427, 97), +(53, 1428, 76), +(53, 1429, 85), +(53, 1430, 84), +(53, 1431, 85), +(53, 1432, 85), +(53, 1433, 65), +(53, 1434, 81), +(53, 1435, 83), +(53, 1436, 78), +(53, 1437, 79), +(53, 1438, 90), +(53, 1439, 99), +(53, 1440, 81), +(53, 1441, 73), +(53, 1442, 87), +(53, 1443, 90), +(53, 1444, 93), +(53, 1445, 68), +(53, 1446, 71), +(53, 1447, 89), +(53, 1448, 76), +(53, 1449, 86), +(53, 1450, 65), +(53, 1451, 92), +(53, 1452, 78), +(53, 1453, 80), +(53, 1454, 68), +(53, 1455, 81), +(53, 1456, 84), +(53, 1457, 79), +(53, 1458, 80), +(53, 1459, 74), +(53, 1460, 77), +(53, 1461, 86), +(53, 1462, 97), +(53, 1463, 80), +(53, 1464, 99), +(53, 1465, 87), +(53, 1466, 77), +(53, 1467, 81), +(53, 1468, 99), +(53, 1469, 73), +(53, 1470, 67), +(53, 1471, 88), +(53, 1472, 78), +(53, 1473, 71), +(53, 1474, 84), +(53, 1475, 81), +(53, 1476, 70), +(53, 1477, 80), +(53, 1478, 96), +(53, 1479, 71), +(53, 1480, 78), +(53, 1481, 76), +(53, 1482, 76), +(53, 1483, 67), +(53, 1484, 95), +(53, 1485, 95), +(53, 1486, 85), +(53, 1487, 86), +(53, 1488, 68), +(53, 1489, 65), +(53, 1490, 88), +(53, 1491, 66), +(53, 1492, 80), +(53, 1493, 89), +(53, 1494, 70), +(53, 1495, 91), +(53, 1496, 72), +(53, 1497, 94), +(53, 1498, 91), +(53, 1499, 72), +(53, 1500, 82), +(53, 1501, 69), +(53, 1502, 99), +(53, 1503, 81), +(53, 1504, 93), +(53, 1505, 71), +(53, 1506, 77), +(53, 1507, 72), +(53, 1508, 96), +(53, 1509, 78), +(53, 1510, 71), +(53, 1511, 94), +(53, 1512, 92), +(53, 1513, 78), +(53, 1514, 66), +(53, 1515, 86), +(53, 1516, 94), +(53, 1517, 76), +(53, 1518, 92), +(53, 1519, 92), +(53, 1520, 86), +(53, 1521, 80), +(53, 1522, 68), +(53, 1523, 85), +(53, 1524, 73), +(53, 1525, 92), +(53, 1526, 83), +(53, 1527, 81), +(53, 1528, 73), +(53, 1529, 99), +(53, 1530, 78), +(53, 1531, 92), +(53, 1532, 97), +(53, 1533, 81), +(53, 1534, 88), +(53, 1535, 99), +(53, 1536, 83), +(53, 1537, 85), +(53, 1538, 93), +(53, 1539, 85), +(53, 1540, 93), +(53, 1541, 87), +(53, 1542, 99), +(53, 1543, 74), +(53, 1544, 89), +(53, 1545, 79), +(53, 1546, 82), +(53, 1547, 91), +(53, 1548, 70), +(53, 1549, 67), +(53, 1550, 85), +(53, 1551, 78), +(53, 1552, 83), +(53, 1553, 74), +(53, 1554, 93), +(53, 1555, 70), +(53, 1556, 66), +(53, 1557, 86), +(53, 1558, 75), +(53, 1559, 90), +(53, 1560, 84), +(53, 1561, 98), +(53, 1562, 82), +(53, 1563, 71), +(53, 1564, 73), +(53, 1565, 96), +(53, 1566, 97), +(53, 1567, 93), +(53, 1568, 91), +(53, 1569, 71), +(53, 1570, 82), +(53, 1571, 87), +(53, 1572, 91), +(53, 1573, 99), +(53, 1574, 65), +(53, 1575, 79), +(53, 1576, 85), +(53, 1577, 71), +(53, 1578, 96), +(53, 1579, 89), +(53, 1580, 80), +(53, 1581, 75), +(53, 1582, 94), +(53, 1583, 82), +(53, 1584, 98), +(53, 1585, 81), +(53, 1586, 96), +(53, 1587, 66), +(53, 2047, 65), +(53, 2048, 66), +(53, 2049, 94), +(53, 2050, 96), +(53, 2051, 68), +(53, 2052, 97), +(53, 2053, 79), +(53, 2054, 67), +(53, 2055, 67), +(53, 2056, 72), +(53, 2057, 96), +(53, 2058, 71), +(53, 2059, 79), +(53, 2060, 85), +(53, 2061, 85), +(53, 2062, 95), +(53, 2063, 71), +(53, 2064, 96), +(53, 2065, 87), +(53, 2066, 68), +(53, 2067, 94), +(53, 2068, 90), +(53, 2069, 86), +(53, 2070, 83), +(53, 2071, 87), +(53, 2072, 93), +(53, 2073, 97), +(53, 2074, 96), +(53, 2075, 81), +(53, 2076, 87), +(53, 2077, 90), +(53, 2078, 77), +(53, 2079, 97), +(53, 2080, 89), +(53, 2081, 81), +(53, 2082, 96), +(53, 2083, 78), +(53, 2084, 67), +(53, 2085, 79), +(53, 2086, 79), +(53, 2087, 69), +(53, 2088, 90), +(53, 2089, 90), +(53, 2090, 97), +(53, 2091, 67), +(53, 2092, 78), +(53, 2093, 80), +(53, 2094, 68), +(53, 2095, 77), +(53, 2096, 91), +(53, 2097, 89), +(53, 2098, 73), +(53, 2099, 85), +(53, 2100, 99), +(53, 2101, 68), +(53, 2102, 72), +(53, 2103, 73), +(53, 2104, 96), +(53, 2105, 70), +(53, 2106, 71), +(53, 2107, 81), +(53, 2108, 87), +(53, 2109, 88), +(53, 2110, 78), +(53, 2111, 96), +(53, 2112, 69), +(53, 2113, 85), +(53, 2114, 92), +(53, 2115, 80), +(53, 2116, 85), +(53, 2117, 81), +(53, 2118, 70), +(53, 2119, 99), +(53, 2120, 91), +(53, 2121, 98), +(53, 2122, 82), +(53, 2123, 92), +(53, 2124, 85), +(53, 2125, 90), +(53, 2126, 68), +(53, 2127, 71), +(53, 2128, 69), +(53, 2129, 79), +(53, 2130, 71), +(53, 2131, 92), +(53, 2132, 67), +(53, 2133, 66), +(53, 2134, 99), +(53, 2135, 81), +(53, 2136, 93), +(53, 2137, 77), +(53, 2138, 87), +(53, 2139, 77), +(53, 2140, 69), +(53, 2141, 99), +(53, 2142, 71), +(53, 2143, 89), +(53, 2144, 96), +(53, 2145, 85), +(53, 2146, 66), +(53, 2147, 96), +(53, 2148, 82), +(53, 2149, 86), +(53, 2150, 97); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(53, 2151, 74), +(53, 2152, 78), +(53, 2153, 80), +(53, 2154, 83), +(53, 2155, 96), +(53, 2156, 81), +(53, 2157, 69), +(53, 2158, 97), +(53, 2159, 99), +(53, 2160, 97), +(53, 2161, 91), +(53, 2162, 82), +(53, 2163, 94), +(53, 2164, 80), +(53, 2165, 95), +(53, 2166, 92), +(53, 2167, 71), +(53, 2168, 83), +(53, 2169, 95), +(53, 2170, 78), +(53, 2171, 76), +(53, 2172, 86), +(53, 2173, 91), +(53, 2174, 75), +(53, 2175, 99), +(53, 2176, 99), +(53, 2177, 73), +(53, 2178, 98), +(53, 2179, 95), +(53, 2180, 89), +(53, 2181, 72), +(53, 2182, 81), +(53, 2183, 72), +(53, 2184, 78), +(53, 2185, 98), +(53, 2186, 66), +(53, 2187, 76), +(53, 2188, 83), +(53, 2189, 82), +(53, 2190, 78), +(53, 2191, 95), +(53, 2192, 77), +(53, 2193, 83), +(53, 2194, 78), +(53, 2195, 83), +(53, 2196, 71), +(53, 2197, 74), +(53, 2198, 67), +(53, 2199, 68), +(53, 2200, 94), +(53, 2201, 72), +(53, 2202, 86), +(53, 2203, 94), +(53, 2204, 82), +(53, 2205, 68), +(53, 2206, 95), +(53, 2207, 65), +(53, 2208, 97), +(53, 2209, 67), +(53, 2210, 65), +(53, 2211, 78), +(53, 2212, 78), +(53, 2213, 99), +(53, 2214, 80), +(53, 2215, 74), +(53, 2216, 87), +(53, 2217, 80), +(53, 2218, 74), +(53, 2219, 89), +(53, 2220, 80), +(53, 2221, 95), +(53, 2222, 80), +(53, 2223, 76), +(53, 2224, 84), +(53, 2225, 76), +(53, 2226, 89), +(53, 2227, 85), +(53, 2228, 87), +(53, 2229, 81), +(53, 2230, 70), +(53, 2231, 97), +(53, 2232, 76), +(53, 2233, 70), +(53, 2234, 65), +(53, 2235, 95), +(53, 2236, 89), +(53, 2237, 68), +(53, 2238, 89), +(53, 2239, 88), +(53, 2240, 79), +(53, 2241, 67), +(53, 2242, 97), +(53, 2243, 99), +(53, 2244, 86), +(53, 2245, 83), +(53, 2246, 66), +(53, 2247, 74), +(53, 2248, 94), +(53, 2249, 67), +(53, 2250, 96), +(53, 2251, 79), +(53, 2252, 76), +(53, 2253, 68), +(53, 2254, 81), +(53, 2255, 76), +(53, 2256, 75), +(53, 2257, 89), +(53, 2258, 73), +(53, 2259, 71), +(53, 2260, 97), +(53, 2261, 97), +(53, 2262, 77), +(53, 2263, 88), +(53, 2264, 74), +(53, 2265, 68), +(53, 2266, 83), +(53, 2267, 85), +(53, 2268, 84), +(53, 2269, 73), +(53, 2270, 80), +(53, 2271, 99), +(53, 2272, 84), +(53, 2273, 82), +(53, 2274, 70), +(53, 2275, 79), +(53, 2276, 83), +(53, 2277, 70), +(53, 2278, 89), +(53, 2279, 89), +(53, 2280, 85), +(53, 2281, 85), +(53, 2282, 75), +(53, 2283, 66), +(53, 2284, 67), +(53, 2285, 88), +(53, 2286, 83), +(53, 2287, 89), +(53, 2288, 98), +(53, 2289, 85), +(53, 2290, 95), +(53, 2291, 96), +(53, 2292, 98), +(53, 2293, 89), +(53, 2294, 88), +(53, 2295, 83), +(53, 2296, 84), +(53, 2297, 70), +(53, 2298, 91), +(53, 2299, 99), +(53, 2300, 77), +(53, 2301, 65), +(53, 2302, 94), +(53, 2303, 78), +(53, 2304, 99), +(53, 2305, 90), +(53, 2306, 70), +(53, 2307, 67), +(53, 2308, 66), +(53, 2309, 96), +(53, 2310, 95), +(53, 2311, 99), +(53, 2312, 69), +(53, 2313, 66), +(53, 2314, 95), +(53, 2315, 98), +(53, 2316, 99), +(53, 2317, 93), +(53, 2318, 94), +(53, 2319, 80), +(53, 2320, 81), +(53, 2321, 94), +(53, 2322, 85), +(53, 2323, 79), +(53, 2324, 92), +(53, 2325, 71), +(53, 2326, 67), +(53, 2327, 68), +(53, 2328, 65), +(53, 2329, 73), +(53, 2330, 95), +(53, 2331, 83), +(53, 2332, 75), +(53, 2333, 67), +(53, 2334, 80), +(53, 2335, 94), +(53, 2336, 84), +(53, 2337, 68), +(53, 2338, 85), +(53, 2339, 69), +(53, 2340, 72), +(53, 2341, 75), +(53, 2342, 71), +(53, 2343, 99), +(53, 2344, 69), +(53, 2345, 95), +(53, 2346, 67), +(53, 2347, 92), +(53, 2348, 66), +(53, 2349, 71), +(53, 2350, 85), +(53, 2351, 83), +(53, 2352, 89), +(53, 2353, 67), +(53, 2354, 76), +(53, 2355, 73), +(53, 2356, 84), +(53, 2357, 75), +(53, 2358, 80), +(53, 2359, 88), +(53, 2360, 88), +(53, 2361, 95), +(53, 2362, 66), +(53, 2363, 93), +(53, 2364, 69), +(53, 2365, 81), +(53, 2366, 76), +(53, 2367, 87), +(53, 2368, 84), +(53, 2369, 92), +(53, 2370, 97), +(53, 2371, 97), +(53, 2372, 91), +(53, 2373, 90), +(53, 2374, 93), +(53, 2375, 74), +(53, 2376, 81), +(53, 2377, 94), +(53, 2378, 77), +(53, 2379, 69), +(53, 2380, 79), +(53, 2381, 84), +(53, 2382, 87), +(53, 2383, 69), +(53, 2384, 93), +(53, 2385, 71), +(53, 2386, 99), +(53, 2387, 97), +(53, 2388, 94), +(53, 2389, 89), +(53, 2390, 90), +(53, 2391, 80), +(53, 2392, 73), +(53, 2393, 65), +(53, 2394, 89), +(53, 2395, 66), +(53, 2396, 68), +(53, 2397, 91), +(53, 2398, 89), +(53, 2399, 87), +(53, 2400, 84), +(53, 2401, 83), +(53, 2402, 89), +(53, 2403, 65), +(53, 2404, 94), +(53, 2405, 77), +(53, 2406, 82), +(53, 2407, 80), +(53, 2408, 87), +(53, 2409, 80), +(53, 2410, 95), +(53, 2411, 97), +(53, 2412, 72), +(53, 2413, 88), +(53, 2414, 96), +(53, 2415, 70), +(53, 2416, 95), +(53, 2417, 69), +(53, 2418, 74), +(53, 2419, 70), +(53, 2420, 98), +(53, 2421, 87), +(53, 2422, 97), +(53, 2423, 70), +(53, 2424, 85), +(53, 2425, 67), +(53, 2426, 66), +(53, 2427, 87), +(53, 2428, 95), +(53, 2429, 78), +(53, 2430, 80), +(53, 2431, 72), +(53, 2432, 80), +(53, 2433, 80), +(53, 2434, 83), +(53, 2435, 88), +(53, 2436, 65), +(53, 2437, 95), +(53, 2438, 89), +(53, 2439, 77), +(53, 2440, 93), +(53, 2441, 96), +(53, 2442, 76), +(53, 2443, 80), +(53, 2444, 85), +(53, 2445, 81), +(53, 2446, 73), +(53, 2447, 65), +(53, 2448, 88), +(53, 2449, 86), +(53, 2450, 74), +(53, 2451, 95), +(53, 2452, 80), +(53, 2453, 80), +(53, 2454, 90), +(53, 2455, 71), +(53, 2456, 84), +(53, 2457, 72), +(53, 2458, 66), +(53, 2459, 66), +(53, 2460, 70), +(53, 2461, 71), +(53, 2462, 84), +(53, 2463, 94), +(53, 2464, 71), +(53, 2465, 69), +(53, 2466, 74), +(53, 2467, 89), +(53, 2468, 96), +(53, 2469, 90), +(53, 2470, 84), +(53, 2471, 77), +(53, 2472, 99), +(53, 2473, 73), +(53, 2474, 75), +(53, 2475, 65), +(53, 2476, 78), +(53, 2477, 73), +(53, 2478, 76), +(53, 2479, 92), +(53, 2480, 78), +(53, 2481, 65), +(53, 2482, 72), +(53, 2483, 83), +(53, 2484, 98), +(53, 2485, 90), +(53, 2486, 97), +(53, 2487, 78), +(53, 2488, 90), +(53, 2489, 82), +(53, 2490, 67), +(53, 2491, 90), +(53, 2492, 70), +(53, 2493, 88), +(53, 2494, 74), +(53, 2495, 76), +(53, 2496, 83), +(53, 2497, 82), +(53, 2498, 81), +(53, 2499, 85), +(53, 2500, 86), +(53, 2501, 84), +(53, 2502, 84), +(53, 2503, 77), +(53, 2504, 72), +(53, 2505, 68), +(53, 2506, 68), +(53, 2507, 92), +(53, 2508, 85), +(53, 2509, 77), +(53, 2510, 89), +(53, 2511, 66), +(53, 2512, 86), +(53, 2513, 87), +(53, 2514, 94), +(53, 2515, 75), +(53, 2516, 66), +(53, 2517, 85), +(53, 2518, 88), +(53, 2519, 88), +(53, 2520, 86), +(53, 2521, 79), +(53, 2522, 65), +(53, 2523, 87), +(53, 2524, 75), +(53, 2525, 84), +(53, 2526, 90), +(53, 2527, 85), +(53, 2528, 94), +(53, 2529, 66), +(53, 2530, 94), +(53, 2531, 72), +(53, 2532, 65), +(53, 2533, 67), +(53, 2534, 94), +(53, 2535, 95), +(53, 2536, 69), +(53, 2537, 67), +(53, 2538, 66), +(53, 2539, 97), +(53, 2540, 72), +(53, 2541, 79), +(53, 2542, 66), +(53, 2543, 75), +(53, 2544, 87), +(53, 2545, 85), +(53, 2546, 97), +(53, 2547, 84), +(53, 2548, 69), +(53, 2549, 78), +(53, 2550, 96), +(53, 2551, 96), +(53, 2552, 71), +(53, 2553, 96), +(53, 2554, 93), +(53, 2555, 82), +(53, 2556, 69), +(53, 2557, 86), +(53, 2558, 93), +(53, 2559, 88), +(53, 2560, 84), +(53, 2561, 68), +(53, 2562, 83), +(53, 2563, 76), +(53, 2564, 94), +(53, 2565, 72), +(53, 2566, 67), +(53, 2567, 78), +(53, 2568, 78), +(53, 2569, 71), +(53, 2570, 76), +(53, 2571, 81), +(53, 2572, 91), +(53, 2573, 99), +(53, 2574, 71), +(53, 2575, 74), +(53, 2576, 70), +(53, 2577, 67), +(53, 2578, 96), +(53, 2579, 95), +(53, 2580, 76), +(53, 2581, 97), +(53, 2582, 99), +(53, 2583, 94), +(53, 2584, 96), +(53, 2585, 66), +(53, 2586, 73), +(53, 2587, 87), +(53, 2588, 85), +(53, 2589, 96), +(53, 2590, 71), +(53, 2591, 78), +(53, 2592, 71), +(53, 2593, 96), +(53, 2594, 87), +(53, 2595, 66), +(53, 2596, 88), +(53, 2597, 91), +(53, 2598, 81), +(53, 2599, 94), +(53, 2600, 78), +(53, 2601, 98), +(53, 2602, 86), +(53, 2603, 86), +(53, 2604, 70), +(53, 2605, 67), +(53, 2606, 78), +(53, 2607, 71), +(53, 2608, 91), +(53, 2609, 80), +(53, 2610, 84), +(54, 1, 97), +(54, 2, 75), +(54, 3, 84), +(54, 4, 75), +(54, 5, 79), +(54, 6, 84), +(54, 7, 76), +(54, 8, 93), +(54, 9, 94), +(54, 10, 77), +(54, 11, 87), +(54, 12, 78), +(54, 13, 73), +(54, 14, 93), +(54, 15, 76), +(54, 16, 84), +(54, 17, 88), +(54, 18, 88), +(54, 19, 78), +(54, 20, 90), +(54, 21, 70), +(54, 22, 80), +(54, 23, 99), +(54, 24, 79), +(54, 25, 87), +(54, 26, 65), +(54, 27, 74), +(54, 28, 84), +(54, 29, 73), +(54, 30, 84), +(54, 31, 86), +(54, 32, 86), +(54, 33, 82), +(54, 34, 99), +(54, 35, 83), +(54, 36, 66), +(54, 37, 82), +(54, 38, 70), +(54, 39, 66), +(54, 40, 79), +(54, 41, 83), +(54, 42, 72), +(54, 43, 87), +(54, 44, 94), +(54, 45, 98), +(54, 46, 79), +(54, 47, 81), +(54, 48, 65), +(54, 49, 77), +(54, 50, 70), +(54, 51, 82), +(54, 52, 98), +(54, 53, 75), +(54, 54, 91), +(54, 55, 86), +(54, 56, 86), +(54, 57, 94), +(54, 58, 67), +(54, 59, 77), +(54, 60, 88), +(54, 61, 67), +(54, 62, 70), +(54, 63, 66), +(54, 64, 67), +(54, 65, 84), +(54, 66, 98), +(54, 67, 98), +(54, 68, 92), +(54, 69, 66), +(54, 70, 96), +(54, 71, 66), +(54, 72, 72), +(54, 73, 79), +(54, 74, 83), +(54, 75, 87), +(54, 76, 93), +(54, 77, 71), +(54, 78, 77), +(54, 79, 76), +(54, 80, 74), +(54, 81, 89), +(54, 82, 83), +(54, 83, 72), +(54, 84, 67), +(54, 85, 97), +(54, 86, 78), +(54, 87, 65), +(54, 88, 86), +(54, 89, 84), +(54, 90, 74), +(54, 91, 95), +(54, 92, 79), +(54, 93, 76), +(54, 94, 65), +(54, 95, 69), +(54, 96, 83), +(54, 97, 76), +(54, 98, 81), +(54, 99, 91), +(54, 100, 66), +(54, 101, 68), +(54, 102, 79), +(54, 103, 65), +(54, 104, 89), +(54, 105, 92), +(54, 106, 77), +(54, 107, 87), +(54, 108, 96), +(54, 109, 96), +(54, 110, 94), +(54, 111, 88), +(54, 112, 84), +(54, 113, 75), +(54, 114, 81), +(54, 115, 79), +(54, 116, 74), +(54, 117, 75), +(54, 118, 80), +(54, 119, 98), +(54, 120, 91), +(54, 121, 92), +(54, 122, 80), +(54, 123, 68), +(54, 124, 71), +(54, 125, 93), +(54, 126, 88), +(54, 127, 95), +(54, 128, 74), +(54, 129, 98), +(54, 130, 74), +(54, 131, 99), +(54, 132, 65), +(54, 133, 75), +(54, 134, 88), +(54, 135, 76), +(54, 136, 95), +(54, 137, 65), +(54, 138, 71), +(54, 139, 86), +(54, 140, 88), +(54, 141, 86), +(54, 142, 98), +(54, 143, 73), +(54, 144, 78), +(54, 145, 77), +(54, 146, 80), +(54, 147, 98), +(54, 148, 87), +(54, 149, 76), +(54, 150, 66), +(54, 151, 75), +(54, 152, 92), +(54, 153, 85), +(54, 154, 87), +(54, 155, 66), +(54, 156, 80), +(54, 157, 78), +(54, 158, 65), +(54, 159, 69), +(54, 160, 78), +(54, 161, 95), +(54, 162, 88), +(54, 163, 83), +(54, 164, 72), +(54, 165, 78), +(54, 166, 98), +(54, 167, 82), +(54, 168, 65), +(54, 169, 95), +(54, 170, 76), +(54, 171, 76), +(54, 172, 96), +(54, 173, 79), +(54, 174, 97), +(54, 175, 76), +(54, 176, 79), +(54, 177, 69), +(54, 178, 77), +(54, 179, 99), +(54, 180, 94), +(54, 181, 97), +(54, 182, 78), +(54, 183, 71), +(54, 184, 87), +(54, 185, 89), +(54, 186, 96), +(54, 187, 81), +(54, 188, 76), +(54, 189, 76), +(54, 190, 75), +(54, 191, 97), +(54, 192, 88), +(54, 193, 97), +(54, 194, 90), +(54, 195, 92), +(54, 196, 79), +(54, 197, 89), +(54, 198, 86), +(54, 199, 88), +(54, 200, 93), +(54, 201, 89), +(54, 202, 74), +(54, 203, 68), +(54, 204, 93), +(54, 205, 98), +(54, 206, 65), +(54, 207, 90), +(54, 208, 73), +(54, 209, 94), +(54, 210, 86), +(54, 211, 73), +(54, 212, 86), +(54, 213, 94), +(54, 214, 67), +(54, 215, 66), +(54, 216, 98), +(54, 217, 98), +(54, 218, 95), +(54, 219, 98), +(54, 220, 81), +(54, 221, 77), +(54, 222, 75), +(54, 223, 72), +(54, 224, 74), +(54, 225, 80), +(54, 226, 78), +(54, 227, 79), +(54, 228, 76), +(54, 229, 67), +(54, 230, 76), +(54, 231, 69), +(54, 232, 77), +(54, 233, 68), +(54, 234, 92), +(54, 235, 81), +(54, 236, 76), +(54, 237, 66), +(54, 238, 88), +(54, 239, 82), +(54, 240, 69), +(54, 241, 69), +(54, 242, 83), +(54, 243, 80), +(54, 244, 87), +(54, 245, 78), +(54, 246, 76), +(54, 247, 92), +(54, 248, 94), +(54, 249, 83), +(54, 250, 97), +(54, 251, 67), +(54, 252, 74), +(54, 253, 89), +(54, 254, 69), +(54, 255, 85), +(54, 256, 68), +(54, 257, 93), +(54, 258, 80), +(54, 259, 94), +(54, 260, 89), +(54, 261, 97), +(54, 262, 81), +(54, 263, 87), +(54, 264, 65), +(54, 265, 95), +(54, 266, 90), +(54, 267, 68), +(54, 268, 78), +(54, 269, 66), +(54, 270, 88), +(54, 271, 72), +(54, 272, 77), +(54, 273, 66), +(54, 274, 89), +(54, 275, 86), +(54, 276, 97), +(54, 277, 77), +(54, 278, 82), +(54, 279, 77), +(54, 280, 68), +(54, 281, 83), +(54, 282, 70), +(54, 283, 79), +(54, 284, 65), +(54, 285, 95), +(54, 286, 83), +(54, 287, 78), +(54, 288, 99), +(54, 289, 77), +(54, 290, 84), +(54, 291, 90), +(54, 292, 66), +(54, 293, 91), +(54, 294, 97), +(54, 295, 72), +(54, 296, 69), +(54, 297, 95), +(54, 298, 78), +(54, 299, 79), +(54, 300, 94), +(54, 301, 70), +(54, 302, 95), +(54, 303, 81), +(54, 304, 83), +(54, 305, 84), +(54, 306, 88), +(54, 307, 86), +(54, 308, 73), +(54, 309, 94), +(54, 310, 71), +(54, 311, 80), +(54, 312, 77), +(54, 313, 76), +(54, 314, 75), +(54, 315, 84), +(54, 316, 69), +(54, 317, 93), +(54, 318, 89), +(54, 319, 96), +(54, 320, 87), +(54, 321, 95), +(54, 322, 78), +(54, 323, 88), +(54, 324, 88), +(54, 325, 79), +(54, 326, 67), +(54, 327, 95), +(54, 328, 94), +(54, 329, 81), +(54, 330, 92), +(54, 331, 76), +(54, 332, 73), +(54, 333, 85), +(54, 334, 97), +(54, 335, 91), +(54, 336, 74), +(54, 337, 79), +(54, 338, 99), +(54, 339, 76), +(54, 340, 85), +(54, 341, 88), +(54, 342, 86), +(54, 343, 86), +(54, 344, 70), +(54, 345, 75), +(54, 346, 81), +(54, 347, 76), +(54, 348, 87), +(54, 349, 93), +(54, 350, 97), +(54, 351, 92), +(54, 352, 93), +(54, 353, 71), +(54, 354, 69), +(54, 355, 73), +(54, 356, 68), +(54, 357, 98), +(54, 358, 89), +(54, 359, 94), +(54, 360, 68), +(54, 361, 74), +(54, 362, 76), +(54, 363, 73), +(54, 364, 75), +(54, 365, 76), +(54, 366, 71), +(54, 367, 87), +(54, 368, 77), +(54, 369, 83), +(54, 370, 87), +(54, 371, 69), +(54, 372, 87), +(54, 373, 66), +(54, 374, 72), +(54, 375, 96), +(54, 376, 75), +(54, 377, 97), +(54, 378, 76), +(54, 379, 93), +(54, 380, 74), +(54, 381, 89), +(54, 382, 76), +(54, 383, 70), +(54, 384, 72), +(54, 385, 69), +(54, 386, 87), +(54, 387, 88), +(54, 388, 80), +(54, 389, 69), +(54, 390, 85), +(54, 391, 76), +(54, 392, 65), +(54, 393, 69), +(54, 394, 75), +(54, 395, 94), +(54, 396, 94), +(54, 397, 98), +(54, 398, 75), +(54, 399, 73), +(54, 400, 95), +(54, 401, 72), +(54, 402, 95), +(54, 403, 85), +(54, 404, 83), +(54, 405, 91), +(54, 406, 67), +(54, 407, 88), +(54, 408, 66), +(54, 409, 67), +(54, 410, 72), +(54, 411, 67), +(54, 412, 71), +(54, 413, 92), +(54, 414, 97), +(54, 415, 88), +(54, 416, 81), +(54, 417, 91), +(54, 418, 99), +(54, 419, 67), +(54, 420, 99), +(54, 421, 93), +(54, 422, 98), +(54, 423, 65), +(54, 424, 81), +(54, 425, 70), +(54, 426, 76), +(54, 427, 99), +(54, 428, 85), +(54, 429, 67), +(54, 430, 67), +(54, 431, 72), +(54, 432, 81), +(54, 433, 93), +(54, 434, 73), +(54, 435, 92), +(54, 436, 89), +(54, 437, 79), +(54, 438, 74), +(54, 439, 87), +(54, 440, 68), +(54, 441, 93), +(54, 442, 78), +(54, 443, 74), +(54, 444, 75), +(54, 445, 90), +(54, 446, 93), +(54, 447, 89), +(54, 448, 76), +(54, 449, 90), +(54, 450, 82), +(54, 451, 69), +(54, 452, 82), +(54, 453, 67), +(54, 454, 74), +(54, 455, 96), +(54, 456, 78), +(54, 457, 68), +(54, 458, 75), +(54, 459, 83), +(54, 460, 75), +(54, 461, 77), +(54, 462, 75), +(54, 463, 69), +(54, 464, 73), +(54, 465, 94), +(54, 466, 85), +(54, 467, 93), +(54, 468, 79), +(54, 469, 70), +(54, 470, 71), +(54, 471, 79), +(54, 472, 78), +(54, 473, 85), +(54, 474, 71), +(54, 475, 68), +(54, 476, 98), +(54, 477, 97), +(54, 478, 65), +(54, 479, 76), +(54, 480, 66), +(54, 481, 85), +(54, 482, 87), +(54, 483, 95), +(54, 484, 71), +(54, 485, 84), +(54, 486, 77), +(54, 487, 72), +(54, 488, 73), +(54, 489, 77), +(54, 490, 93), +(54, 491, 74), +(54, 492, 99), +(54, 493, 65), +(54, 494, 92), +(54, 495, 76), +(54, 496, 89), +(54, 497, 99), +(54, 498, 76), +(54, 499, 70), +(54, 500, 81), +(54, 501, 94), +(54, 502, 97), +(54, 503, 86), +(54, 504, 97), +(54, 505, 82), +(54, 506, 73), +(54, 507, 67), +(54, 508, 87), +(54, 509, 85), +(54, 510, 81), +(54, 511, 75), +(54, 512, 68), +(54, 513, 93), +(54, 514, 70), +(54, 515, 65), +(54, 516, 98), +(54, 517, 77), +(54, 518, 79), +(54, 519, 92), +(54, 520, 70), +(54, 521, 67), +(54, 522, 93), +(54, 523, 79), +(54, 524, 92), +(54, 525, 75), +(54, 526, 72), +(54, 527, 91), +(54, 528, 76), +(54, 529, 83), +(54, 530, 91), +(54, 531, 75), +(54, 532, 88), +(54, 533, 72), +(54, 534, 98), +(54, 535, 98), +(54, 536, 87), +(54, 537, 70), +(54, 538, 95), +(54, 539, 95), +(54, 540, 98), +(54, 541, 79), +(54, 542, 97), +(54, 543, 67), +(54, 544, 69), +(54, 545, 81), +(54, 546, 87), +(54, 547, 87), +(54, 548, 69), +(54, 549, 98), +(54, 550, 87), +(54, 551, 99), +(54, 552, 85), +(54, 553, 87), +(54, 554, 89), +(54, 555, 70), +(54, 556, 74), +(54, 557, 91), +(54, 558, 71), +(54, 559, 93), +(54, 560, 68), +(54, 561, 72), +(54, 562, 79), +(54, 563, 80), +(54, 564, 96), +(54, 1024, 67), +(54, 1025, 87), +(54, 1026, 71), +(54, 1027, 98), +(54, 1028, 80), +(54, 1029, 99), +(54, 1030, 77), +(54, 1031, 90), +(54, 1032, 98), +(54, 1033, 77), +(54, 1034, 76), +(54, 1035, 93), +(54, 1036, 96), +(54, 1037, 89), +(54, 1038, 72), +(54, 1039, 81), +(54, 1040, 81), +(54, 1041, 79), +(54, 1042, 85), +(54, 1043, 98), +(54, 1044, 79), +(54, 1045, 74), +(54, 1046, 86), +(54, 1047, 96), +(54, 1048, 82), +(54, 1049, 93), +(54, 1050, 72), +(54, 1051, 79), +(54, 1052, 97), +(54, 1053, 94), +(54, 1054, 77), +(54, 1055, 77), +(54, 1056, 99), +(54, 1057, 96), +(54, 1058, 83), +(54, 1059, 66), +(54, 1060, 67), +(54, 1061, 99), +(54, 1062, 73), +(54, 1063, 91), +(54, 1064, 86), +(54, 1065, 87), +(54, 1066, 83), +(54, 1067, 91), +(54, 1068, 69), +(54, 1069, 85), +(54, 1070, 99), +(54, 1071, 84), +(54, 1072, 99), +(54, 1073, 73), +(54, 1074, 78), +(54, 1075, 74), +(54, 1076, 80), +(54, 1077, 99), +(54, 1078, 84), +(54, 1079, 87), +(54, 1080, 71), +(54, 1081, 99), +(54, 1082, 89), +(54, 1083, 80), +(54, 1084, 81), +(54, 1085, 87), +(54, 1086, 82), +(54, 1087, 79), +(54, 1088, 75), +(54, 1089, 73), +(54, 1090, 91), +(54, 1091, 84), +(54, 1092, 75), +(54, 1093, 94), +(54, 1094, 97), +(54, 1095, 96), +(54, 1096, 86), +(54, 1097, 65), +(54, 1098, 83), +(54, 1099, 67), +(54, 1100, 88), +(54, 1101, 99), +(54, 1102, 84), +(54, 1103, 82), +(54, 1104, 90), +(54, 1105, 96), +(54, 1106, 96), +(54, 1107, 98), +(54, 1108, 72), +(54, 1109, 90), +(54, 1110, 67), +(54, 1111, 67), +(54, 1112, 89), +(54, 1113, 86), +(54, 1114, 79), +(54, 1115, 90), +(54, 1116, 90), +(54, 1117, 95), +(54, 1118, 76), +(54, 1119, 89), +(54, 1120, 98), +(54, 1121, 83), +(54, 1122, 68), +(54, 1123, 95), +(54, 1124, 82), +(54, 1125, 84), +(54, 1126, 73), +(54, 1127, 65), +(54, 1128, 91), +(54, 1129, 70), +(54, 1130, 79), +(54, 1131, 97), +(54, 1132, 74), +(54, 1133, 68), +(54, 1134, 77), +(54, 1135, 76), +(54, 1136, 68), +(54, 1137, 68), +(54, 1138, 69), +(54, 1139, 90), +(54, 1140, 77), +(54, 1141, 78), +(54, 1142, 83), +(54, 1143, 90), +(54, 1144, 95), +(54, 1145, 93), +(54, 1146, 67), +(54, 1147, 70), +(54, 1148, 78), +(54, 1149, 74), +(54, 1150, 87), +(54, 1151, 79), +(54, 1152, 86), +(54, 1153, 92), +(54, 1154, 98), +(54, 1155, 72), +(54, 1156, 90), +(54, 1157, 72), +(54, 1158, 77), +(54, 1159, 88), +(54, 1160, 79), +(54, 1161, 70), +(54, 1162, 80), +(54, 1163, 98), +(54, 1164, 91), +(54, 1165, 97), +(54, 1166, 81), +(54, 1167, 73), +(54, 1168, 74), +(54, 1169, 80), +(54, 1170, 82), +(54, 1171, 79), +(54, 1172, 85), +(54, 1173, 98), +(54, 1174, 66), +(54, 1175, 81), +(54, 1176, 86), +(54, 1177, 73), +(54, 1178, 70), +(54, 1179, 78), +(54, 1180, 69), +(54, 1181, 92), +(54, 1182, 67), +(54, 1183, 80), +(54, 1184, 69), +(54, 1185, 69), +(54, 1186, 95), +(54, 1187, 79), +(54, 1188, 67), +(54, 1189, 88), +(54, 1190, 87), +(54, 1191, 73), +(54, 1192, 69), +(54, 1193, 95), +(54, 1194, 82), +(54, 1195, 77), +(54, 1196, 68), +(54, 1197, 81), +(54, 1198, 75), +(54, 1199, 68), +(54, 1200, 79), +(54, 1201, 88), +(54, 1202, 68), +(54, 1203, 67), +(54, 1204, 74), +(54, 1205, 81), +(54, 1206, 86), +(54, 1207, 99), +(54, 1208, 85), +(54, 1209, 90), +(54, 1210, 96), +(54, 1211, 85), +(54, 1212, 67), +(54, 1213, 86), +(54, 1214, 93), +(54, 1215, 87), +(54, 1216, 91), +(54, 1217, 94), +(54, 1218, 80), +(54, 1219, 71), +(54, 1220, 93), +(54, 1221, 84), +(54, 1222, 90), +(54, 1223, 87), +(54, 1224, 96), +(54, 1225, 94), +(54, 1226, 93), +(54, 1227, 72), +(54, 1228, 89), +(54, 1229, 76), +(54, 1230, 66), +(54, 1231, 97), +(54, 1232, 68), +(54, 1233, 79), +(54, 1234, 78), +(54, 1235, 90), +(54, 1236, 95), +(54, 1237, 83), +(54, 1238, 97), +(54, 1239, 70), +(54, 1240, 76), +(54, 1241, 87), +(54, 1242, 80), +(54, 1243, 82), +(54, 1244, 75), +(54, 1245, 65), +(54, 1246, 89), +(54, 1247, 84), +(54, 1248, 90), +(54, 1249, 99), +(54, 1250, 94), +(54, 1251, 86), +(54, 1252, 98), +(54, 1253, 94), +(54, 1254, 65), +(54, 1255, 91), +(54, 1256, 96), +(54, 1257, 75), +(54, 1258, 69), +(54, 1259, 92), +(54, 1260, 85), +(54, 1261, 76), +(54, 1262, 85), +(54, 1263, 96), +(54, 1264, 95), +(54, 1265, 96), +(54, 1266, 86), +(54, 1267, 77), +(54, 1268, 73), +(54, 1269, 72), +(54, 1270, 89), +(54, 1271, 83), +(54, 1272, 96), +(54, 1273, 82), +(54, 1274, 71), +(54, 1275, 73), +(54, 1276, 96), +(54, 1277, 98), +(54, 1278, 71), +(54, 1279, 87), +(54, 1280, 87), +(54, 1281, 66), +(54, 1282, 84), +(54, 1283, 75), +(54, 1284, 99), +(54, 1285, 81), +(54, 1286, 73), +(54, 1287, 93), +(54, 1288, 70), +(54, 1289, 84), +(54, 1290, 87), +(54, 1291, 81), +(54, 1292, 79), +(54, 1293, 89), +(54, 1294, 95), +(54, 1295, 83), +(54, 1296, 98), +(54, 1297, 90), +(54, 1298, 72), +(54, 1299, 73), +(54, 1300, 77), +(54, 1301, 68), +(54, 1302, 69), +(54, 1303, 91), +(54, 1304, 86), +(54, 1305, 96), +(54, 1306, 75), +(54, 1307, 83), +(54, 1308, 70), +(54, 1309, 92), +(54, 1310, 78), +(54, 1311, 81), +(54, 1312, 95), +(54, 1313, 84), +(54, 1314, 83), +(54, 1315, 73), +(54, 1316, 92), +(54, 1317, 76), +(54, 1318, 92), +(54, 1319, 77), +(54, 1320, 85), +(54, 1321, 85), +(54, 1322, 80), +(54, 1323, 79), +(54, 1324, 75), +(54, 1325, 86), +(54, 1326, 80), +(54, 1327, 87), +(54, 1328, 66), +(54, 1329, 65), +(54, 1330, 79), +(54, 1331, 92), +(54, 1332, 91), +(54, 1333, 94), +(54, 1334, 83), +(54, 1335, 93), +(54, 1336, 98), +(54, 1337, 98), +(54, 1338, 65), +(54, 1339, 74), +(54, 1340, 80), +(54, 1341, 66), +(54, 1342, 77), +(54, 1343, 68), +(54, 1344, 84), +(54, 1345, 99), +(54, 1346, 83), +(54, 1347, 99), +(54, 1348, 91), +(54, 1349, 85), +(54, 1350, 85), +(54, 1351, 68), +(54, 1352, 90), +(54, 1353, 94), +(54, 1354, 95), +(54, 1355, 92), +(54, 1356, 88), +(54, 1357, 66), +(54, 1358, 67), +(54, 1359, 85), +(54, 1360, 84), +(54, 1361, 89), +(54, 1362, 96), +(54, 1363, 96), +(54, 1364, 97), +(54, 1365, 96), +(54, 1366, 96), +(54, 1367, 81), +(54, 1368, 81), +(54, 1369, 79), +(54, 1370, 74), +(54, 1371, 69), +(54, 1372, 96), +(54, 1373, 66), +(54, 1374, 86), +(54, 1375, 97), +(54, 1376, 99), +(54, 1377, 80), +(54, 1378, 88), +(54, 1379, 73), +(54, 1380, 98), +(54, 1381, 95), +(54, 1382, 95), +(54, 1383, 87), +(54, 1384, 95), +(54, 1385, 93), +(54, 1386, 77), +(54, 1387, 79), +(54, 1388, 70), +(54, 1389, 67), +(54, 1390, 93), +(54, 1391, 94), +(54, 1392, 94), +(54, 1393, 67), +(54, 1394, 75), +(54, 1395, 67), +(54, 1396, 65), +(54, 1397, 97), +(54, 1398, 93), +(54, 1399, 85), +(54, 1400, 99), +(54, 1401, 71), +(54, 1402, 99), +(54, 1403, 89), +(54, 1404, 75), +(54, 1405, 98), +(54, 1406, 74), +(54, 1407, 84), +(54, 1408, 69), +(54, 1409, 82), +(54, 1410, 74), +(54, 1411, 71), +(54, 1412, 83), +(54, 1413, 90), +(54, 1414, 99), +(54, 1415, 99), +(54, 1416, 89), +(54, 1417, 93), +(54, 1418, 94), +(54, 1419, 69), +(54, 1420, 66), +(54, 1421, 85), +(54, 1422, 93), +(54, 1423, 84), +(54, 1424, 87), +(54, 1425, 68), +(54, 1426, 96), +(54, 1427, 68), +(54, 1428, 70), +(54, 1429, 96), +(54, 1430, 99), +(54, 1431, 99), +(54, 1432, 86), +(54, 1433, 93), +(54, 1434, 67), +(54, 1435, 65), +(54, 1436, 96), +(54, 1437, 72), +(54, 1438, 92), +(54, 1439, 70), +(54, 1440, 66), +(54, 1441, 79), +(54, 1442, 91), +(54, 1443, 72), +(54, 1444, 70), +(54, 1445, 75), +(54, 1446, 70), +(54, 1447, 84), +(54, 1448, 91), +(54, 1449, 74), +(54, 1450, 79), +(54, 1451, 89), +(54, 1452, 81), +(54, 1453, 96), +(54, 1454, 81), +(54, 1455, 86), +(54, 1456, 67), +(54, 1457, 72), +(54, 1458, 73), +(54, 1459, 89), +(54, 1460, 89), +(54, 1461, 72), +(54, 1462, 80), +(54, 1463, 68), +(54, 1464, 69), +(54, 1465, 82), +(54, 1466, 88), +(54, 1467, 80), +(54, 1468, 80), +(54, 1469, 83), +(54, 1470, 77), +(54, 1471, 76), +(54, 1472, 71), +(54, 1473, 65), +(54, 1474, 82), +(54, 1475, 88), +(54, 1476, 96), +(54, 1477, 92), +(54, 1478, 84), +(54, 1479, 76), +(54, 1480, 79), +(54, 1481, 98), +(54, 1482, 96), +(54, 1483, 90), +(54, 1484, 67), +(54, 1485, 78), +(54, 1486, 95), +(54, 1487, 98), +(54, 1488, 73), +(54, 1489, 80), +(54, 1490, 71), +(54, 1491, 74), +(54, 1492, 70), +(54, 1493, 77), +(54, 1494, 85), +(54, 1495, 79), +(54, 1496, 77), +(54, 1497, 91), +(54, 1498, 77), +(54, 1499, 96), +(54, 1500, 78), +(54, 1501, 71), +(54, 1502, 81), +(54, 1503, 88), +(54, 1504, 99), +(54, 1505, 93), +(54, 1506, 65), +(54, 1507, 88), +(54, 1508, 86), +(54, 1509, 80), +(54, 1510, 71), +(54, 1511, 86), +(54, 1512, 67), +(54, 1513, 79), +(54, 1514, 69), +(54, 1515, 98), +(54, 1516, 91), +(54, 1517, 67), +(54, 1518, 71), +(54, 1519, 96), +(54, 1520, 79), +(54, 1521, 75), +(54, 1522, 88), +(54, 1523, 65), +(54, 1524, 85), +(54, 1525, 69), +(54, 1526, 99), +(54, 1527, 69), +(54, 1528, 81), +(54, 1529, 67), +(54, 1530, 92), +(54, 1531, 83), +(54, 1532, 77), +(54, 1533, 93), +(54, 1534, 77), +(54, 1535, 93), +(54, 1536, 82), +(54, 1537, 84), +(54, 1538, 74), +(54, 1539, 84), +(54, 1540, 72), +(54, 1541, 68), +(54, 1542, 73), +(54, 1543, 85), +(54, 1544, 76), +(54, 1545, 98), +(54, 1546, 79), +(54, 1547, 99), +(54, 1548, 73), +(54, 1549, 98), +(54, 1550, 89), +(54, 1551, 94), +(54, 1552, 82), +(54, 1553, 94), +(54, 1554, 81), +(54, 1555, 75), +(54, 1556, 69), +(54, 1557, 82), +(54, 1558, 70), +(54, 1559, 98), +(54, 1560, 93), +(54, 1561, 73), +(54, 1562, 97), +(54, 1563, 86), +(54, 1564, 66), +(54, 1565, 79), +(54, 1566, 84), +(54, 1567, 86), +(54, 1568, 91), +(54, 1569, 97), +(54, 1570, 88), +(54, 1571, 94), +(54, 1572, 74), +(54, 1573, 68), +(54, 1574, 67), +(54, 1575, 78), +(54, 1576, 92), +(54, 1577, 82), +(54, 1578, 74), +(54, 1579, 95), +(54, 1580, 90), +(54, 1581, 93), +(54, 1582, 66), +(54, 1583, 81), +(54, 1584, 65), +(54, 1585, 78), +(54, 1586, 98), +(54, 1587, 90), +(54, 2047, 74), +(54, 2048, 89), +(54, 2049, 78), +(54, 2050, 69), +(54, 2051, 93), +(54, 2052, 65), +(54, 2053, 79), +(54, 2054, 88), +(54, 2055, 66), +(54, 2056, 81), +(54, 2057, 81), +(54, 2058, 93), +(54, 2059, 70), +(54, 2060, 83), +(54, 2061, 91), +(54, 2062, 94), +(54, 2063, 86), +(54, 2064, 66), +(54, 2065, 98), +(54, 2066, 98), +(54, 2067, 95), +(54, 2068, 88), +(54, 2069, 90), +(54, 2070, 77), +(54, 2071, 84), +(54, 2072, 77), +(54, 2073, 95), +(54, 2074, 77), +(54, 2075, 74), +(54, 2076, 97), +(54, 2077, 98), +(54, 2078, 99), +(54, 2079, 76), +(54, 2080, 78), +(54, 2081, 82), +(54, 2082, 67), +(54, 2083, 85), +(54, 2084, 74), +(54, 2085, 94), +(54, 2086, 94), +(54, 2087, 71), +(54, 2088, 97), +(54, 2089, 66), +(54, 2090, 73), +(54, 2091, 70), +(54, 2092, 88), +(54, 2093, 98), +(54, 2094, 96), +(54, 2095, 89), +(54, 2096, 79), +(54, 2097, 74), +(54, 2098, 98), +(54, 2099, 99), +(54, 2100, 89), +(54, 2101, 83), +(54, 2102, 97), +(54, 2103, 99), +(54, 2104, 73), +(54, 2105, 87), +(54, 2106, 94), +(54, 2107, 94), +(54, 2108, 65), +(54, 2109, 76), +(54, 2110, 98), +(54, 2111, 68), +(54, 2112, 69), +(54, 2113, 86), +(54, 2114, 70), +(54, 2115, 81), +(54, 2116, 73), +(54, 2117, 72), +(54, 2118, 75), +(54, 2119, 92), +(54, 2120, 90), +(54, 2121, 80), +(54, 2122, 93), +(54, 2123, 65), +(54, 2124, 87), +(54, 2125, 97), +(54, 2126, 90), +(54, 2127, 78), +(54, 2128, 65), +(54, 2129, 96), +(54, 2130, 96), +(54, 2131, 94), +(54, 2132, 83), +(54, 2133, 69), +(54, 2134, 66), +(54, 2135, 94), +(54, 2136, 98), +(54, 2137, 86), +(54, 2138, 89), +(54, 2139, 97), +(54, 2140, 68), +(54, 2141, 67), +(54, 2142, 97), +(54, 2143, 91), +(54, 2144, 88), +(54, 2145, 92), +(54, 2146, 89), +(54, 2147, 78), +(54, 2148, 76), +(54, 2149, 74), +(54, 2150, 95), +(54, 2151, 86), +(54, 2152, 82), +(54, 2153, 98), +(54, 2154, 73), +(54, 2155, 69), +(54, 2156, 96), +(54, 2157, 80), +(54, 2158, 73), +(54, 2159, 86), +(54, 2160, 79), +(54, 2161, 98), +(54, 2162, 67), +(54, 2163, 70), +(54, 2164, 72), +(54, 2165, 71), +(54, 2166, 83), +(54, 2167, 81), +(54, 2168, 89), +(54, 2169, 68), +(54, 2170, 66), +(54, 2171, 92), +(54, 2172, 77), +(54, 2173, 67), +(54, 2174, 91), +(54, 2175, 68), +(54, 2176, 69), +(54, 2177, 75), +(54, 2178, 89), +(54, 2179, 80), +(54, 2180, 92), +(54, 2181, 81), +(54, 2182, 95), +(54, 2183, 75), +(54, 2184, 92), +(54, 2185, 99), +(54, 2186, 83), +(54, 2187, 91), +(54, 2188, 79), +(54, 2189, 96), +(54, 2190, 94), +(54, 2191, 65), +(54, 2192, 96), +(54, 2193, 83), +(54, 2194, 92), +(54, 2195, 81), +(54, 2196, 67), +(54, 2197, 79), +(54, 2198, 72), +(54, 2199, 99), +(54, 2200, 72), +(54, 2201, 65), +(54, 2202, 96), +(54, 2203, 96), +(54, 2204, 92), +(54, 2205, 79), +(54, 2206, 95), +(54, 2207, 72), +(54, 2208, 66), +(54, 2209, 83), +(54, 2210, 96), +(54, 2211, 99), +(54, 2212, 79), +(54, 2213, 98), +(54, 2214, 82), +(54, 2215, 74), +(54, 2216, 99), +(54, 2217, 89), +(54, 2218, 84), +(54, 2219, 83), +(54, 2220, 68), +(54, 2221, 91), +(54, 2222, 73), +(54, 2223, 77), +(54, 2224, 73), +(54, 2225, 81), +(54, 2226, 98), +(54, 2227, 82), +(54, 2228, 83), +(54, 2229, 81), +(54, 2230, 81), +(54, 2231, 66), +(54, 2232, 82), +(54, 2233, 87), +(54, 2234, 78), +(54, 2235, 65), +(54, 2236, 81), +(54, 2237, 84), +(54, 2238, 93), +(54, 2239, 74), +(54, 2240, 85), +(54, 2241, 76), +(54, 2242, 81), +(54, 2243, 80), +(54, 2244, 92), +(54, 2245, 92), +(54, 2246, 70), +(54, 2247, 92), +(54, 2248, 92), +(54, 2249, 74), +(54, 2250, 68), +(54, 2251, 99), +(54, 2252, 99), +(54, 2253, 65), +(54, 2254, 94), +(54, 2255, 90), +(54, 2256, 93), +(54, 2257, 97), +(54, 2258, 89), +(54, 2259, 85), +(54, 2260, 81), +(54, 2261, 88), +(54, 2262, 74), +(54, 2263, 82), +(54, 2264, 77), +(54, 2265, 84), +(54, 2266, 86), +(54, 2267, 96), +(54, 2268, 90), +(54, 2269, 88), +(54, 2270, 91), +(54, 2271, 68), +(54, 2272, 75), +(54, 2273, 76), +(54, 2274, 95), +(54, 2275, 66), +(54, 2276, 78), +(54, 2277, 91), +(54, 2278, 90), +(54, 2279, 75), +(54, 2280, 74), +(54, 2281, 87), +(54, 2282, 76), +(54, 2283, 78), +(54, 2284, 77), +(54, 2285, 84), +(54, 2286, 95), +(54, 2287, 93), +(54, 2288, 86), +(54, 2289, 78), +(54, 2290, 76), +(54, 2291, 74), +(54, 2292, 86), +(54, 2293, 80), +(54, 2294, 92), +(54, 2295, 73), +(54, 2296, 83), +(54, 2297, 92), +(54, 2298, 70), +(54, 2299, 80), +(54, 2300, 78), +(54, 2301, 73), +(54, 2302, 92), +(54, 2303, 93), +(54, 2304, 79), +(54, 2305, 82), +(54, 2306, 88), +(54, 2307, 65), +(54, 2308, 87), +(54, 2309, 82), +(54, 2310, 92), +(54, 2311, 90), +(54, 2312, 92), +(54, 2313, 78), +(54, 2314, 81), +(54, 2315, 68), +(54, 2316, 86), +(54, 2317, 78), +(54, 2318, 83), +(54, 2319, 89), +(54, 2320, 66), +(54, 2321, 71), +(54, 2322, 98), +(54, 2323, 74), +(54, 2324, 65), +(54, 2325, 90), +(54, 2326, 96), +(54, 2327, 72), +(54, 2328, 92), +(54, 2329, 84), +(54, 2330, 69), +(54, 2331, 66), +(54, 2332, 81), +(54, 2333, 78), +(54, 2334, 75), +(54, 2335, 95), +(54, 2336, 67), +(54, 2337, 76), +(54, 2338, 71), +(54, 2339, 76), +(54, 2340, 68), +(54, 2341, 95), +(54, 2342, 80), +(54, 2343, 79), +(54, 2344, 79), +(54, 2345, 96), +(54, 2346, 65), +(54, 2347, 81), +(54, 2348, 82), +(54, 2349, 83), +(54, 2350, 91), +(54, 2351, 80), +(54, 2352, 79), +(54, 2353, 91), +(54, 2354, 78), +(54, 2355, 97), +(54, 2356, 80), +(54, 2357, 78), +(54, 2358, 99), +(54, 2359, 73), +(54, 2360, 86), +(54, 2361, 98), +(54, 2362, 94), +(54, 2363, 99), +(54, 2364, 77), +(54, 2365, 97), +(54, 2366, 76), +(54, 2367, 70), +(54, 2368, 70), +(54, 2369, 68), +(54, 2370, 87), +(54, 2371, 94), +(54, 2372, 78), +(54, 2373, 74), +(54, 2374, 72), +(54, 2375, 73), +(54, 2376, 86), +(54, 2377, 92), +(54, 2378, 65), +(54, 2379, 79), +(54, 2380, 76), +(54, 2381, 87), +(54, 2382, 94), +(54, 2383, 93), +(54, 2384, 82), +(54, 2385, 67), +(54, 2386, 96), +(54, 2387, 90), +(54, 2388, 73), +(54, 2389, 72), +(54, 2390, 87), +(54, 2391, 89), +(54, 2392, 95), +(54, 2393, 87), +(54, 2394, 99), +(54, 2395, 67), +(54, 2396, 75), +(54, 2397, 98), +(54, 2398, 92), +(54, 2399, 69), +(54, 2400, 72), +(54, 2401, 96), +(54, 2402, 66), +(54, 2403, 74), +(54, 2404, 76), +(54, 2405, 89), +(54, 2406, 90), +(54, 2407, 66), +(54, 2408, 75), +(54, 2409, 99), +(54, 2410, 93), +(54, 2411, 85), +(54, 2412, 89), +(54, 2413, 99), +(54, 2414, 65), +(54, 2415, 66), +(54, 2416, 97), +(54, 2417, 86), +(54, 2418, 92), +(54, 2419, 80), +(54, 2420, 83), +(54, 2421, 74), +(54, 2422, 83), +(54, 2423, 85), +(54, 2424, 76), +(54, 2425, 65), +(54, 2426, 66), +(54, 2427, 93), +(54, 2428, 86), +(54, 2429, 91), +(54, 2430, 79), +(54, 2431, 89), +(54, 2432, 96), +(54, 2433, 94), +(54, 2434, 83), +(54, 2435, 86), +(54, 2436, 91), +(54, 2437, 78), +(54, 2438, 70), +(54, 2439, 89), +(54, 2440, 77), +(54, 2441, 82), +(54, 2442, 87), +(54, 2443, 86), +(54, 2444, 81), +(54, 2445, 89), +(54, 2446, 79), +(54, 2447, 79), +(54, 2448, 71), +(54, 2449, 72), +(54, 2450, 76), +(54, 2451, 97), +(54, 2452, 87), +(54, 2453, 84), +(54, 2454, 82), +(54, 2455, 65), +(54, 2456, 69), +(54, 2457, 85), +(54, 2458, 65), +(54, 2459, 71), +(54, 2460, 97), +(54, 2461, 97), +(54, 2462, 95), +(54, 2463, 73), +(54, 2464, 92), +(54, 2465, 69), +(54, 2466, 93), +(54, 2467, 72), +(54, 2468, 86), +(54, 2469, 89), +(54, 2470, 66), +(54, 2471, 74), +(54, 2472, 84), +(54, 2473, 88), +(54, 2474, 94), +(54, 2475, 75), +(54, 2476, 81), +(54, 2477, 70), +(54, 2478, 69), +(54, 2479, 81), +(54, 2480, 91), +(54, 2481, 92), +(54, 2482, 69), +(54, 2483, 91), +(54, 2484, 96), +(54, 2485, 87), +(54, 2486, 69), +(54, 2487, 93), +(54, 2488, 65), +(54, 2489, 77), +(54, 2490, 77), +(54, 2491, 88), +(54, 2492, 83), +(54, 2493, 78), +(54, 2494, 71), +(54, 2495, 87), +(54, 2496, 72), +(54, 2497, 88), +(54, 2498, 80), +(54, 2499, 66), +(54, 2500, 94), +(54, 2501, 87), +(54, 2502, 74), +(54, 2503, 76), +(54, 2504, 70), +(54, 2505, 80), +(54, 2506, 84), +(54, 2507, 84), +(54, 2508, 94), +(54, 2509, 73), +(54, 2510, 83), +(54, 2511, 77), +(54, 2512, 72), +(54, 2513, 88), +(54, 2514, 97), +(54, 2515, 77), +(54, 2516, 69), +(54, 2517, 96), +(54, 2518, 94), +(54, 2519, 90), +(54, 2520, 71), +(54, 2521, 98), +(54, 2522, 93), +(54, 2523, 91), +(54, 2524, 76), +(54, 2525, 78), +(54, 2526, 65), +(54, 2527, 88), +(54, 2528, 96), +(54, 2529, 65), +(54, 2530, 94), +(54, 2531, 95), +(54, 2532, 77), +(54, 2533, 78), +(54, 2534, 86), +(54, 2535, 86), +(54, 2536, 87), +(54, 2537, 98), +(54, 2538, 86), +(54, 2539, 67), +(54, 2540, 78), +(54, 2541, 91), +(54, 2542, 98), +(54, 2543, 79), +(54, 2544, 76), +(54, 2545, 70), +(54, 2546, 82), +(54, 2547, 84), +(54, 2548, 86), +(54, 2549, 77), +(54, 2550, 95), +(54, 2551, 93), +(54, 2552, 65), +(54, 2553, 86), +(54, 2554, 89), +(54, 2555, 88), +(54, 2556, 74), +(54, 2557, 87), +(54, 2558, 72), +(54, 2559, 99), +(54, 2560, 86), +(54, 2561, 92), +(54, 2562, 75), +(54, 2563, 73), +(54, 2564, 95), +(54, 2565, 93), +(54, 2566, 99), +(54, 2567, 87), +(54, 2568, 86), +(54, 2569, 66), +(54, 2570, 74), +(54, 2571, 75), +(54, 2572, 89), +(54, 2573, 75), +(54, 2574, 71), +(54, 2575, 73), +(54, 2576, 70), +(54, 2577, 83), +(54, 2578, 82), +(54, 2579, 80), +(54, 2580, 99), +(54, 2581, 97), +(54, 2582, 83), +(54, 2583, 99), +(54, 2584, 88), +(54, 2585, 67), +(54, 2586, 97), +(54, 2587, 86), +(54, 2588, 99), +(54, 2589, 94), +(54, 2590, 84), +(54, 2591, 95), +(54, 2592, 94), +(54, 2593, 81), +(54, 2594, 87), +(54, 2595, 93), +(54, 2596, 66), +(54, 2597, 67), +(54, 2598, 77), +(54, 2599, 65), +(54, 2600, 88), +(54, 2601, 75), +(54, 2602, 84), +(54, 2603, 68), +(54, 2604, 81), +(54, 2605, 82), +(54, 2606, 75), +(54, 2607, 87), +(54, 2608, 99), +(54, 2609, 88), +(54, 2610, 78), +(55, 1, 94), +(55, 2, 82), +(55, 3, 99), +(55, 4, 81), +(55, 5, 74), +(55, 6, 98), +(55, 7, 97), +(55, 8, 83), +(55, 9, 81), +(55, 10, 76), +(55, 11, 99), +(55, 12, 75), +(55, 13, 98), +(55, 14, 75), +(55, 15, 69), +(55, 16, 95), +(55, 17, 85), +(55, 18, 74), +(55, 19, 65), +(55, 20, 84), +(55, 21, 77), +(55, 22, 88), +(55, 23, 97), +(55, 24, 78), +(55, 25, 89), +(55, 26, 68), +(55, 27, 73), +(55, 28, 86), +(55, 29, 90), +(55, 30, 67), +(55, 31, 76), +(55, 32, 77), +(55, 33, 78), +(55, 34, 91), +(55, 35, 86), +(55, 36, 82), +(55, 37, 70), +(55, 38, 83), +(55, 39, 83), +(55, 40, 87), +(55, 41, 81), +(55, 42, 75), +(55, 43, 75), +(55, 44, 71), +(55, 45, 96), +(55, 46, 73), +(55, 47, 90), +(55, 48, 86), +(55, 49, 68), +(55, 50, 93), +(55, 51, 86), +(55, 52, 86), +(55, 53, 85), +(55, 54, 92), +(55, 55, 93), +(55, 56, 90), +(55, 57, 74), +(55, 58, 88), +(55, 59, 68), +(55, 60, 66), +(55, 61, 79), +(55, 62, 80), +(55, 63, 71), +(55, 64, 86), +(55, 65, 97), +(55, 66, 99), +(55, 67, 98), +(55, 68, 82), +(55, 69, 67), +(55, 70, 73), +(55, 71, 92), +(55, 72, 90), +(55, 73, 93), +(55, 74, 75), +(55, 75, 70), +(55, 76, 87), +(55, 77, 95), +(55, 78, 85), +(55, 79, 78), +(55, 80, 91), +(55, 81, 99), +(55, 82, 88), +(55, 83, 78), +(55, 84, 91), +(55, 85, 86), +(55, 86, 80), +(55, 87, 78), +(55, 88, 65), +(55, 89, 66), +(55, 90, 81), +(55, 91, 71), +(55, 92, 72), +(55, 93, 70), +(55, 94, 86), +(55, 95, 79), +(55, 96, 93), +(55, 97, 92), +(55, 98, 78), +(55, 99, 66), +(55, 100, 81), +(55, 101, 71), +(55, 102, 77), +(55, 103, 69), +(55, 104, 96), +(55, 105, 90), +(55, 106, 97), +(55, 107, 88), +(55, 108, 99), +(55, 109, 99), +(55, 110, 87), +(55, 111, 96), +(55, 112, 76), +(55, 113, 98), +(55, 114, 80), +(55, 115, 76), +(55, 116, 91), +(55, 117, 95), +(55, 118, 97), +(55, 119, 66), +(55, 120, 88), +(55, 121, 97), +(55, 122, 78), +(55, 123, 71), +(55, 124, 68), +(55, 125, 65), +(55, 126, 86), +(55, 127, 96), +(55, 128, 93), +(55, 129, 91), +(55, 130, 72), +(55, 131, 68), +(55, 132, 94), +(55, 133, 91), +(55, 134, 96), +(55, 135, 72), +(55, 136, 99), +(55, 137, 79), +(55, 138, 96), +(55, 139, 83), +(55, 140, 80), +(55, 141, 70), +(55, 142, 74), +(55, 143, 76), +(55, 144, 87), +(55, 145, 67), +(55, 146, 97), +(55, 147, 85), +(55, 148, 84), +(55, 149, 99), +(55, 150, 70), +(55, 151, 86), +(55, 152, 69), +(55, 153, 69), +(55, 154, 96), +(55, 155, 76), +(55, 156, 84), +(55, 157, 98), +(55, 158, 81), +(55, 159, 88), +(55, 160, 93), +(55, 161, 65), +(55, 162, 91), +(55, 163, 85), +(55, 164, 65), +(55, 165, 87), +(55, 166, 73), +(55, 167, 95), +(55, 168, 67), +(55, 169, 95), +(55, 170, 91), +(55, 171, 88), +(55, 172, 73), +(55, 173, 74), +(55, 174, 90), +(55, 175, 97), +(55, 176, 85), +(55, 177, 66), +(55, 178, 86), +(55, 179, 89), +(55, 180, 94), +(55, 181, 99), +(55, 182, 98), +(55, 183, 85), +(55, 184, 93), +(55, 185, 91), +(55, 186, 91), +(55, 187, 76), +(55, 188, 68), +(55, 189, 94), +(55, 190, 95), +(55, 191, 98), +(55, 192, 94), +(55, 193, 79), +(55, 194, 77), +(55, 195, 69), +(55, 196, 88), +(55, 197, 69), +(55, 198, 70), +(55, 199, 95), +(55, 200, 87), +(55, 201, 67), +(55, 202, 77), +(55, 203, 94), +(55, 204, 67), +(55, 205, 97), +(55, 206, 71), +(55, 207, 65), +(55, 208, 65), +(55, 209, 95), +(55, 210, 86), +(55, 211, 96), +(55, 212, 85), +(55, 213, 94), +(55, 214, 81), +(55, 215, 86), +(55, 216, 88), +(55, 217, 67), +(55, 218, 65), +(55, 219, 68), +(55, 220, 65), +(55, 221, 72), +(55, 222, 97), +(55, 223, 90), +(55, 224, 76), +(55, 225, 81), +(55, 226, 91), +(55, 227, 82), +(55, 228, 84), +(55, 229, 69), +(55, 230, 81), +(55, 231, 85), +(55, 232, 77), +(55, 233, 77), +(55, 234, 72), +(55, 235, 82), +(55, 236, 73), +(55, 237, 80), +(55, 238, 79), +(55, 239, 94), +(55, 240, 71), +(55, 241, 93), +(55, 242, 79), +(55, 243, 82), +(55, 244, 99), +(55, 245, 84), +(55, 246, 95), +(55, 247, 80), +(55, 248, 70), +(55, 249, 73), +(55, 250, 98), +(55, 251, 73), +(55, 252, 90), +(55, 253, 75), +(55, 254, 94), +(55, 255, 99), +(55, 256, 84), +(55, 257, 99), +(55, 258, 82), +(55, 259, 83), +(55, 260, 93), +(55, 261, 75), +(55, 262, 95), +(55, 263, 85), +(55, 264, 93), +(55, 265, 75), +(55, 266, 79), +(55, 267, 95), +(55, 268, 96), +(55, 269, 89), +(55, 270, 78), +(55, 271, 96), +(55, 272, 85), +(55, 273, 84), +(55, 274, 88), +(55, 275, 86), +(55, 276, 96), +(55, 277, 78), +(55, 278, 90), +(55, 279, 98), +(55, 280, 66), +(55, 281, 76), +(55, 282, 89), +(55, 283, 97), +(55, 284, 86), +(55, 285, 89), +(55, 286, 82), +(55, 287, 68), +(55, 288, 83), +(55, 289, 89), +(55, 290, 73), +(55, 291, 76), +(55, 292, 71), +(55, 293, 87), +(55, 294, 76), +(55, 295, 75), +(55, 296, 73), +(55, 297, 88), +(55, 298, 71), +(55, 299, 78), +(55, 300, 83), +(55, 301, 81), +(55, 302, 75), +(55, 303, 98), +(55, 304, 76), +(55, 305, 65), +(55, 306, 91), +(55, 307, 89), +(55, 308, 99), +(55, 309, 82), +(55, 310, 96), +(55, 311, 94), +(55, 312, 96), +(55, 313, 87), +(55, 314, 85), +(55, 315, 76), +(55, 316, 85), +(55, 317, 85), +(55, 318, 77), +(55, 319, 91), +(55, 320, 67), +(55, 321, 90), +(55, 322, 98), +(55, 323, 72), +(55, 324, 80), +(55, 325, 77), +(55, 326, 90), +(55, 327, 78), +(55, 328, 96), +(55, 329, 99), +(55, 330, 87), +(55, 331, 67), +(55, 332, 92), +(55, 333, 95), +(55, 334, 71), +(55, 335, 83), +(55, 336, 71), +(55, 337, 68), +(55, 338, 92), +(55, 339, 91), +(55, 340, 90), +(55, 341, 67), +(55, 342, 75), +(55, 343, 81), +(55, 344, 77), +(55, 345, 92), +(55, 346, 66), +(55, 347, 82), +(55, 348, 73), +(55, 349, 88), +(55, 350, 84), +(55, 351, 95), +(55, 352, 68), +(55, 353, 66), +(55, 354, 79), +(55, 355, 95), +(55, 356, 98), +(55, 357, 81), +(55, 358, 89), +(55, 359, 80), +(55, 360, 95), +(55, 361, 99), +(55, 362, 88), +(55, 363, 75), +(55, 364, 71), +(55, 365, 76), +(55, 366, 82), +(55, 367, 75), +(55, 368, 74), +(55, 369, 75), +(55, 370, 99), +(55, 371, 88), +(55, 372, 78), +(55, 373, 98), +(55, 374, 95), +(55, 375, 97), +(55, 376, 95), +(55, 377, 65), +(55, 378, 79), +(55, 379, 95), +(55, 380, 76), +(55, 381, 88), +(55, 382, 65), +(55, 383, 93), +(55, 384, 66), +(55, 385, 93), +(55, 386, 65), +(55, 387, 92), +(55, 388, 82), +(55, 389, 98), +(55, 390, 81), +(55, 391, 93), +(55, 392, 76), +(55, 393, 89), +(55, 394, 82), +(55, 395, 70), +(55, 396, 95), +(55, 397, 92), +(55, 398, 97), +(55, 399, 93), +(55, 400, 70), +(55, 401, 95), +(55, 402, 66), +(55, 403, 85), +(55, 404, 94), +(55, 405, 80), +(55, 406, 88), +(55, 407, 93), +(55, 408, 78), +(55, 409, 76), +(55, 410, 97), +(55, 411, 77), +(55, 412, 95), +(55, 413, 77), +(55, 414, 69), +(55, 415, 83), +(55, 416, 82), +(55, 417, 94), +(55, 418, 87), +(55, 419, 92), +(55, 420, 90), +(55, 421, 99), +(55, 422, 83), +(55, 423, 73), +(55, 424, 69), +(55, 425, 80), +(55, 426, 73), +(55, 427, 65), +(55, 428, 78), +(55, 429, 84), +(55, 430, 91), +(55, 431, 85), +(55, 432, 68), +(55, 433, 81), +(55, 434, 97), +(55, 435, 73), +(55, 436, 86), +(55, 437, 68), +(55, 438, 85), +(55, 439, 78), +(55, 440, 82), +(55, 441, 94), +(55, 442, 92), +(55, 443, 86), +(55, 444, 80), +(55, 445, 90), +(55, 446, 69), +(55, 447, 93), +(55, 448, 90), +(55, 449, 88), +(55, 450, 65), +(55, 451, 65), +(55, 452, 92), +(55, 453, 70), +(55, 454, 95), +(55, 455, 86), +(55, 456, 69), +(55, 457, 69), +(55, 458, 72), +(55, 459, 83), +(55, 460, 65), +(55, 461, 88), +(55, 462, 67), +(55, 463, 88), +(55, 464, 71), +(55, 465, 76), +(55, 466, 73), +(55, 467, 94), +(55, 468, 80), +(55, 469, 67), +(55, 470, 79), +(55, 471, 79), +(55, 472, 87), +(55, 473, 69), +(55, 474, 74), +(55, 475, 73), +(55, 476, 82), +(55, 477, 85), +(55, 478, 96), +(55, 479, 94), +(55, 480, 74), +(55, 481, 77), +(55, 482, 99), +(55, 483, 78), +(55, 484, 68), +(55, 485, 77), +(55, 486, 77), +(55, 487, 73), +(55, 488, 70), +(55, 489, 95), +(55, 490, 89), +(55, 491, 96), +(55, 492, 76), +(55, 493, 99), +(55, 494, 88), +(55, 495, 80), +(55, 496, 69), +(55, 497, 71), +(55, 498, 92), +(55, 499, 77), +(55, 500, 82), +(55, 501, 80), +(55, 502, 83), +(55, 503, 93), +(55, 504, 70), +(55, 505, 81), +(55, 506, 85), +(55, 507, 73), +(55, 508, 96), +(55, 509, 97), +(55, 510, 65), +(55, 511, 93), +(55, 512, 96), +(55, 513, 96), +(55, 514, 65), +(55, 515, 92), +(55, 516, 78), +(55, 517, 90), +(55, 518, 97), +(55, 519, 76), +(55, 520, 91), +(55, 521, 85), +(55, 522, 76), +(55, 523, 70), +(55, 524, 83), +(55, 525, 85), +(55, 526, 81), +(55, 527, 91), +(55, 528, 90), +(55, 529, 97), +(55, 530, 73), +(55, 531, 76), +(55, 532, 83), +(55, 533, 98), +(55, 534, 76), +(55, 535, 86), +(55, 536, 87), +(55, 537, 79), +(55, 538, 89), +(55, 539, 86), +(55, 540, 76), +(55, 541, 91), +(55, 542, 76), +(55, 543, 70), +(55, 544, 78), +(55, 545, 97), +(55, 546, 83), +(55, 547, 69), +(55, 548, 80), +(55, 549, 86), +(55, 550, 70), +(55, 551, 69), +(55, 552, 73), +(55, 553, 83), +(55, 554, 65), +(55, 555, 86), +(55, 556, 92), +(55, 557, 85), +(55, 558, 90), +(55, 559, 67), +(55, 560, 88), +(55, 561, 77), +(55, 562, 93), +(55, 563, 77), +(55, 564, 77), +(55, 1024, 96), +(55, 1025, 81), +(55, 1026, 75), +(55, 1027, 83), +(55, 1028, 96), +(55, 1029, 84), +(55, 1030, 72), +(55, 1031, 65), +(55, 1032, 82), +(55, 1033, 98), +(55, 1034, 95), +(55, 1035, 76), +(55, 1036, 81), +(55, 1037, 78), +(55, 1038, 92), +(55, 1039, 80), +(55, 1040, 95), +(55, 1041, 99), +(55, 1042, 96), +(55, 1043, 84), +(55, 1044, 66), +(55, 1045, 67), +(55, 1046, 86), +(55, 1047, 67), +(55, 1048, 75), +(55, 1049, 78), +(55, 1050, 77), +(55, 1051, 77), +(55, 1052, 71), +(55, 1053, 66), +(55, 1054, 65), +(55, 1055, 99), +(55, 1056, 71), +(55, 1057, 81), +(55, 1058, 78), +(55, 1059, 67), +(55, 1060, 81), +(55, 1061, 73), +(55, 1062, 67), +(55, 1063, 77), +(55, 1064, 87), +(55, 1065, 97), +(55, 1066, 94), +(55, 1067, 82), +(55, 1068, 91), +(55, 1069, 69), +(55, 1070, 67), +(55, 1071, 90), +(55, 1072, 72), +(55, 1073, 91), +(55, 1074, 87), +(55, 1075, 84), +(55, 1076, 65), +(55, 1077, 85), +(55, 1078, 73), +(55, 1079, 71), +(55, 1080, 91), +(55, 1081, 66), +(55, 1082, 98), +(55, 1083, 73), +(55, 1084, 83), +(55, 1085, 85), +(55, 1086, 79), +(55, 1087, 93), +(55, 1088, 76), +(55, 1089, 83), +(55, 1090, 75), +(55, 1091, 92), +(55, 1092, 66), +(55, 1093, 99), +(55, 1094, 82), +(55, 1095, 90), +(55, 1096, 82), +(55, 1097, 71), +(55, 1098, 74), +(55, 1099, 97), +(55, 1100, 85), +(55, 1101, 81), +(55, 1102, 98), +(55, 1103, 65), +(55, 1104, 82), +(55, 1105, 85), +(55, 1106, 97), +(55, 1107, 94), +(55, 1108, 77), +(55, 1109, 89), +(55, 1110, 83), +(55, 1111, 82), +(55, 1112, 95), +(55, 1113, 78), +(55, 1114, 87), +(55, 1115, 99), +(55, 1116, 77), +(55, 1117, 72), +(55, 1118, 99), +(55, 1119, 90), +(55, 1120, 86), +(55, 1121, 94), +(55, 1122, 71), +(55, 1123, 89), +(55, 1124, 86), +(55, 1125, 96), +(55, 1126, 65), +(55, 1127, 75), +(55, 1128, 68), +(55, 1129, 85), +(55, 1130, 65), +(55, 1131, 71), +(55, 1132, 83), +(55, 1133, 69), +(55, 1134, 68), +(55, 1135, 66), +(55, 1136, 75), +(55, 1137, 67), +(55, 1138, 96), +(55, 1139, 99), +(55, 1140, 98), +(55, 1141, 83), +(55, 1142, 94), +(55, 1143, 70), +(55, 1144, 68), +(55, 1145, 85), +(55, 1146, 74), +(55, 1147, 67), +(55, 1148, 72), +(55, 1149, 88), +(55, 1150, 67), +(55, 1151, 65), +(55, 1152, 81), +(55, 1153, 68), +(55, 1154, 91), +(55, 1155, 71), +(55, 1156, 79), +(55, 1157, 81), +(55, 1158, 81), +(55, 1159, 69), +(55, 1160, 67), +(55, 1161, 96), +(55, 1162, 81), +(55, 1163, 66), +(55, 1164, 71), +(55, 1165, 67), +(55, 1166, 96), +(55, 1167, 88), +(55, 1168, 84), +(55, 1169, 83), +(55, 1170, 93), +(55, 1171, 77), +(55, 1172, 80), +(55, 1173, 75), +(55, 1174, 67), +(55, 1175, 95), +(55, 1176, 66), +(55, 1177, 99), +(55, 1178, 68), +(55, 1179, 76), +(55, 1180, 70), +(55, 1181, 67), +(55, 1182, 98), +(55, 1183, 69), +(55, 1184, 79), +(55, 1185, 78), +(55, 1186, 79), +(55, 1187, 77), +(55, 1188, 71), +(55, 1189, 97), +(55, 1190, 91), +(55, 1191, 85), +(55, 1192, 86), +(55, 1193, 68), +(55, 1194, 95), +(55, 1195, 73), +(55, 1196, 73), +(55, 1197, 88), +(55, 1198, 66), +(55, 1199, 86), +(55, 1200, 76), +(55, 1201, 73), +(55, 1202, 96), +(55, 1203, 96), +(55, 1204, 72), +(55, 1205, 94), +(55, 1206, 76), +(55, 1207, 81), +(55, 1208, 71), +(55, 1209, 89), +(55, 1210, 85), +(55, 1211, 76), +(55, 1212, 83), +(55, 1213, 79), +(55, 1214, 65), +(55, 1215, 90), +(55, 1216, 74), +(55, 1217, 73), +(55, 1218, 79), +(55, 1219, 98), +(55, 1220, 67), +(55, 1221, 81), +(55, 1222, 95), +(55, 1223, 67), +(55, 1224, 76), +(55, 1225, 92), +(55, 1226, 66), +(55, 1227, 71), +(55, 1228, 83), +(55, 1229, 66), +(55, 1230, 83), +(55, 1231, 79), +(55, 1232, 74), +(55, 1233, 91), +(55, 1234, 71), +(55, 1235, 80), +(55, 1236, 78), +(55, 1237, 74), +(55, 1238, 65), +(55, 1239, 65), +(55, 1240, 84), +(55, 1241, 94), +(55, 1242, 83), +(55, 1243, 72), +(55, 1244, 76), +(55, 1245, 89), +(55, 1246, 68), +(55, 1247, 72), +(55, 1248, 95), +(55, 1249, 84), +(55, 1250, 77), +(55, 1251, 97), +(55, 1252, 69), +(55, 1253, 65), +(55, 1254, 88), +(55, 1255, 95), +(55, 1256, 99), +(55, 1257, 95), +(55, 1258, 89), +(55, 1259, 75), +(55, 1260, 88), +(55, 1261, 88), +(55, 1262, 69), +(55, 1263, 72), +(55, 1264, 95), +(55, 1265, 99), +(55, 1266, 97), +(55, 1267, 72), +(55, 1268, 76), +(55, 1269, 73), +(55, 1270, 87), +(55, 1271, 66), +(55, 1272, 85), +(55, 1273, 95), +(55, 1274, 73), +(55, 1275, 85), +(55, 1276, 65), +(55, 1277, 68), +(55, 1278, 85), +(55, 1279, 89), +(55, 1280, 93), +(55, 1281, 84), +(55, 1282, 97), +(55, 1283, 77), +(55, 1284, 91), +(55, 1285, 86), +(55, 1286, 74), +(55, 1287, 96), +(55, 1288, 84), +(55, 1289, 74), +(55, 1290, 71), +(55, 1291, 97), +(55, 1292, 96), +(55, 1293, 80), +(55, 1294, 81), +(55, 1295, 94), +(55, 1296, 72), +(55, 1297, 98), +(55, 1298, 71), +(55, 1299, 82), +(55, 1300, 65), +(55, 1301, 97), +(55, 1302, 65), +(55, 1303, 83), +(55, 1304, 74), +(55, 1305, 88), +(55, 1306, 86), +(55, 1307, 85), +(55, 1308, 84), +(55, 1309, 68), +(55, 1310, 72), +(55, 1311, 91), +(55, 1312, 88), +(55, 1313, 93), +(55, 1314, 97), +(55, 1315, 68), +(55, 1316, 83), +(55, 1317, 68), +(55, 1318, 86), +(55, 1319, 72), +(55, 1320, 96), +(55, 1321, 89), +(55, 1322, 86), +(55, 1323, 67), +(55, 1324, 83), +(55, 1325, 86), +(55, 1326, 72), +(55, 1327, 86), +(55, 1328, 76), +(55, 1329, 70), +(55, 1330, 87), +(55, 1331, 71), +(55, 1332, 78), +(55, 1333, 88), +(55, 1334, 67), +(55, 1335, 95), +(55, 1336, 76), +(55, 1337, 69), +(55, 1338, 82), +(55, 1339, 86), +(55, 1340, 67), +(55, 1341, 75), +(55, 1342, 70), +(55, 1343, 71), +(55, 1344, 79), +(55, 1345, 94), +(55, 1346, 87), +(55, 1347, 71), +(55, 1348, 95), +(55, 1349, 90), +(55, 1350, 97), +(55, 1351, 83), +(55, 1352, 81), +(55, 1353, 85), +(55, 1354, 71), +(55, 1355, 65), +(55, 1356, 65), +(55, 1357, 81), +(55, 1358, 98), +(55, 1359, 87), +(55, 1360, 67), +(55, 1361, 66), +(55, 1362, 75), +(55, 1363, 77), +(55, 1364, 84), +(55, 1365, 88), +(55, 1366, 91), +(55, 1367, 95), +(55, 1368, 87), +(55, 1369, 79), +(55, 1370, 97), +(55, 1371, 67), +(55, 1372, 80), +(55, 1373, 75), +(55, 1374, 80), +(55, 1375, 77), +(55, 1376, 88), +(55, 1377, 99), +(55, 1378, 72), +(55, 1379, 81), +(55, 1380, 80), +(55, 1381, 77), +(55, 1382, 65), +(55, 1383, 88), +(55, 1384, 68), +(55, 1385, 86), +(55, 1386, 84), +(55, 1387, 90), +(55, 1388, 69), +(55, 1389, 74), +(55, 1390, 66), +(55, 1391, 98), +(55, 1392, 95), +(55, 1393, 92), +(55, 1394, 98), +(55, 1395, 91), +(55, 1396, 88), +(55, 1397, 95), +(55, 1398, 99), +(55, 1399, 67), +(55, 1400, 84), +(55, 1401, 88), +(55, 1402, 88), +(55, 1403, 82), +(55, 1404, 71), +(55, 1405, 67), +(55, 1406, 79), +(55, 1407, 65), +(55, 1408, 93), +(55, 1409, 77), +(55, 1410, 76), +(55, 1411, 81), +(55, 1412, 88), +(55, 1413, 95), +(55, 1414, 96), +(55, 1415, 98), +(55, 1416, 98), +(55, 1417, 85), +(55, 1418, 68), +(55, 1419, 79), +(55, 1420, 79), +(55, 1421, 84), +(55, 1422, 66), +(55, 1423, 85), +(55, 1424, 69), +(55, 1425, 79), +(55, 1426, 94), +(55, 1427, 88), +(55, 1428, 90), +(55, 1429, 88), +(55, 1430, 74), +(55, 1431, 70), +(55, 1432, 77), +(55, 1433, 66), +(55, 1434, 99), +(55, 1435, 81), +(55, 1436, 79), +(55, 1437, 92), +(55, 1438, 88), +(55, 1439, 94), +(55, 1440, 91), +(55, 1441, 79), +(55, 1442, 95), +(55, 1443, 97), +(55, 1444, 77), +(55, 1445, 71), +(55, 1446, 74), +(55, 1447, 90), +(55, 1448, 93), +(55, 1449, 84), +(55, 1450, 66), +(55, 1451, 70), +(55, 1452, 72), +(55, 1453, 70), +(55, 1454, 65), +(55, 1455, 90), +(55, 1456, 89), +(55, 1457, 95), +(55, 1458, 94), +(55, 1459, 90), +(55, 1460, 81), +(55, 1461, 71), +(55, 1462, 80), +(55, 1463, 72), +(55, 1464, 87), +(55, 1465, 86), +(55, 1466, 72), +(55, 1467, 89), +(55, 1468, 74), +(55, 1469, 95), +(55, 1470, 83), +(55, 1471, 85), +(55, 1472, 94), +(55, 1473, 85), +(55, 1474, 93), +(55, 1475, 98), +(55, 1476, 66), +(55, 1477, 86), +(55, 1478, 69), +(55, 1479, 70), +(55, 1480, 97), +(55, 1481, 96), +(55, 1482, 81), +(55, 1483, 79), +(55, 1484, 90), +(55, 1485, 74), +(55, 1486, 88), +(55, 1487, 95), +(55, 1488, 94), +(55, 1489, 72), +(55, 1490, 95), +(55, 1491, 74), +(55, 1492, 81), +(55, 1493, 87), +(55, 1494, 79), +(55, 1495, 94), +(55, 1496, 72), +(55, 1497, 72), +(55, 1498, 82), +(55, 1499, 94), +(55, 1500, 82), +(55, 1501, 84), +(55, 1502, 78), +(55, 1503, 99), +(55, 1504, 83), +(55, 1505, 80), +(55, 1506, 65), +(55, 1507, 90), +(55, 1508, 79), +(55, 1509, 65), +(55, 1510, 76), +(55, 1511, 83), +(55, 1512, 66), +(55, 1513, 94), +(55, 1514, 81), +(55, 1515, 96), +(55, 1516, 74), +(55, 1517, 79), +(55, 1518, 83), +(55, 1519, 67), +(55, 1520, 71), +(55, 1521, 70), +(55, 1522, 67), +(55, 1523, 75), +(55, 1524, 74), +(55, 1525, 76), +(55, 1526, 75), +(55, 1527, 70), +(55, 1528, 89), +(55, 1529, 81), +(55, 1530, 93), +(55, 1531, 73), +(55, 1532, 98), +(55, 1533, 89), +(55, 1534, 95), +(55, 1535, 66), +(55, 1536, 98), +(55, 1537, 68), +(55, 1538, 95), +(55, 1539, 65), +(55, 1540, 87), +(55, 1541, 86), +(55, 1542, 75), +(55, 1543, 69), +(55, 1544, 81), +(55, 1545, 82), +(55, 1546, 87), +(55, 1547, 91), +(55, 1548, 90), +(55, 1549, 84), +(55, 1550, 91), +(55, 1551, 68), +(55, 1552, 94), +(55, 1553, 79), +(55, 1554, 99), +(55, 1555, 68), +(55, 1556, 84), +(55, 1557, 86), +(55, 1558, 95), +(55, 1559, 83), +(55, 1560, 76), +(55, 1561, 78), +(55, 1562, 68), +(55, 1563, 80), +(55, 1564, 82), +(55, 1565, 76), +(55, 1566, 66), +(55, 1567, 86), +(55, 1568, 84), +(55, 1569, 68), +(55, 1570, 94), +(55, 1571, 75), +(55, 1572, 66), +(55, 1573, 83), +(55, 1574, 74), +(55, 1575, 89), +(55, 1576, 71), +(55, 1577, 65), +(55, 1578, 87), +(55, 1579, 72), +(55, 1580, 75), +(55, 1581, 73), +(55, 1582, 86), +(55, 1583, 93), +(55, 1584, 71), +(55, 1585, 82), +(55, 1586, 66), +(55, 1587, 83), +(55, 2047, 75), +(55, 2048, 77), +(55, 2049, 76), +(55, 2050, 99), +(55, 2051, 94), +(55, 2052, 77), +(55, 2053, 95), +(55, 2054, 71), +(55, 2055, 99), +(55, 2056, 90), +(55, 2057, 85), +(55, 2058, 84), +(55, 2059, 83), +(55, 2060, 98), +(55, 2061, 68), +(55, 2062, 86), +(55, 2063, 82), +(55, 2064, 83), +(55, 2065, 93), +(55, 2066, 84), +(55, 2067, 95), +(55, 2068, 70), +(55, 2069, 92), +(55, 2070, 73), +(55, 2071, 93), +(55, 2072, 75), +(55, 2073, 87), +(55, 2074, 66), +(55, 2075, 65), +(55, 2076, 91), +(55, 2077, 87), +(55, 2078, 94), +(55, 2079, 96), +(55, 2080, 92), +(55, 2081, 70), +(55, 2082, 87), +(55, 2083, 91), +(55, 2084, 67), +(55, 2085, 97), +(55, 2086, 65), +(55, 2087, 84), +(55, 2088, 79), +(55, 2089, 65), +(55, 2090, 82), +(55, 2091, 86), +(55, 2092, 71), +(55, 2093, 79), +(55, 2094, 70), +(55, 2095, 81), +(55, 2096, 91), +(55, 2097, 76), +(55, 2098, 66), +(55, 2099, 72), +(55, 2100, 83), +(55, 2101, 77), +(55, 2102, 65), +(55, 2103, 70), +(55, 2104, 86), +(55, 2105, 90), +(55, 2106, 88), +(55, 2107, 93), +(55, 2108, 70), +(55, 2109, 87), +(55, 2110, 89), +(55, 2111, 90), +(55, 2112, 75), +(55, 2113, 73), +(55, 2114, 79), +(55, 2115, 67), +(55, 2116, 82), +(55, 2117, 88), +(55, 2118, 67), +(55, 2119, 99), +(55, 2120, 80), +(55, 2121, 74), +(55, 2122, 81), +(55, 2123, 89), +(55, 2124, 79), +(55, 2125, 81), +(55, 2126, 78), +(55, 2127, 79), +(55, 2128, 88), +(55, 2129, 72), +(55, 2130, 65), +(55, 2131, 94), +(55, 2132, 80), +(55, 2133, 82), +(55, 2134, 72), +(55, 2135, 90), +(55, 2136, 76), +(55, 2137, 65), +(55, 2138, 87), +(55, 2139, 87), +(55, 2140, 68), +(55, 2141, 78), +(55, 2142, 69), +(55, 2143, 87), +(55, 2144, 86), +(55, 2145, 72), +(55, 2146, 74), +(55, 2147, 70), +(55, 2148, 71), +(55, 2149, 85), +(55, 2150, 84), +(55, 2151, 75), +(55, 2152, 76), +(55, 2153, 79), +(55, 2154, 87), +(55, 2155, 96), +(55, 2156, 67), +(55, 2157, 94), +(55, 2158, 81), +(55, 2159, 68), +(55, 2160, 73), +(55, 2161, 81), +(55, 2162, 96), +(55, 2163, 73), +(55, 2164, 90), +(55, 2165, 74), +(55, 2166, 74), +(55, 2167, 95), +(55, 2168, 96), +(55, 2169, 96), +(55, 2170, 66), +(55, 2171, 98), +(55, 2172, 97), +(55, 2173, 66), +(55, 2174, 96), +(55, 2175, 85), +(55, 2176, 89), +(55, 2177, 91), +(55, 2178, 86), +(55, 2179, 85), +(55, 2180, 91), +(55, 2181, 87), +(55, 2182, 99), +(55, 2183, 93), +(55, 2184, 91), +(55, 2185, 65), +(55, 2186, 81), +(55, 2187, 94), +(55, 2188, 83), +(55, 2189, 65), +(55, 2190, 67), +(55, 2191, 81), +(55, 2192, 77), +(55, 2193, 65), +(55, 2194, 94), +(55, 2195, 93), +(55, 2196, 91), +(55, 2197, 75), +(55, 2198, 94), +(55, 2199, 88), +(55, 2200, 80), +(55, 2201, 78), +(55, 2202, 85), +(55, 2203, 65), +(55, 2204, 79), +(55, 2205, 92), +(55, 2206, 89), +(55, 2207, 99), +(55, 2208, 81), +(55, 2209, 76), +(55, 2210, 79), +(55, 2211, 91), +(55, 2212, 96), +(55, 2213, 91), +(55, 2214, 71), +(55, 2215, 85), +(55, 2216, 99), +(55, 2217, 71), +(55, 2218, 65), +(55, 2219, 83), +(55, 2220, 69), +(55, 2221, 73), +(55, 2222, 95), +(55, 2223, 94), +(55, 2224, 82), +(55, 2225, 76), +(55, 2226, 87), +(55, 2227, 93), +(55, 2228, 89), +(55, 2229, 98), +(55, 2230, 94), +(55, 2231, 79), +(55, 2232, 83), +(55, 2233, 92), +(55, 2234, 95), +(55, 2235, 80), +(55, 2236, 74), +(55, 2237, 82), +(55, 2238, 98), +(55, 2239, 78), +(55, 2240, 90), +(55, 2241, 83), +(55, 2242, 83), +(55, 2243, 71), +(55, 2244, 68), +(55, 2245, 73), +(55, 2246, 85), +(55, 2247, 70), +(55, 2248, 78), +(55, 2249, 73), +(55, 2250, 94), +(55, 2251, 90), +(55, 2252, 99), +(55, 2253, 93), +(55, 2254, 92), +(55, 2255, 90), +(55, 2256, 70), +(55, 2257, 80), +(55, 2258, 94), +(55, 2259, 78), +(55, 2260, 84), +(55, 2261, 85), +(55, 2262, 78), +(55, 2263, 82), +(55, 2264, 66), +(55, 2265, 82), +(55, 2266, 82), +(55, 2267, 91), +(55, 2268, 96), +(55, 2269, 89), +(55, 2270, 78), +(55, 2271, 85), +(55, 2272, 94), +(55, 2273, 72), +(55, 2274, 96), +(55, 2275, 97), +(55, 2276, 77), +(55, 2277, 78), +(55, 2278, 85), +(55, 2279, 81), +(55, 2280, 86), +(55, 2281, 77), +(55, 2282, 92), +(55, 2283, 90), +(55, 2284, 84), +(55, 2285, 89), +(55, 2286, 90), +(55, 2287, 97), +(55, 2288, 69), +(55, 2289, 71), +(55, 2290, 99), +(55, 2291, 90), +(55, 2292, 71), +(55, 2293, 68), +(55, 2294, 98), +(55, 2295, 84), +(55, 2296, 95), +(55, 2297, 80), +(55, 2298, 82), +(55, 2299, 74), +(55, 2300, 95), +(55, 2301, 73), +(55, 2302, 78), +(55, 2303, 99), +(55, 2304, 67), +(55, 2305, 73), +(55, 2306, 96), +(55, 2307, 93), +(55, 2308, 69), +(55, 2309, 93), +(55, 2310, 78), +(55, 2311, 91), +(55, 2312, 84), +(55, 2313, 89), +(55, 2314, 87), +(55, 2315, 87), +(55, 2316, 70), +(55, 2317, 83), +(55, 2318, 68), +(55, 2319, 69), +(55, 2320, 93), +(55, 2321, 82), +(55, 2322, 66), +(55, 2323, 68), +(55, 2324, 90), +(55, 2325, 66), +(55, 2326, 73), +(55, 2327, 94), +(55, 2328, 98), +(55, 2329, 65), +(55, 2330, 98), +(55, 2331, 89), +(55, 2332, 80), +(55, 2333, 91), +(55, 2334, 69), +(55, 2335, 93), +(55, 2336, 90), +(55, 2337, 75), +(55, 2338, 70), +(55, 2339, 73), +(55, 2340, 93), +(55, 2341, 82), +(55, 2342, 89), +(55, 2343, 66), +(55, 2344, 91), +(55, 2345, 95), +(55, 2346, 96), +(55, 2347, 67), +(55, 2348, 80), +(55, 2349, 66), +(55, 2350, 65), +(55, 2351, 88), +(55, 2352, 99), +(55, 2353, 87), +(55, 2354, 98), +(55, 2355, 96), +(55, 2356, 84), +(55, 2357, 99), +(55, 2358, 86), +(55, 2359, 70), +(55, 2360, 69), +(55, 2361, 71), +(55, 2362, 68), +(55, 2363, 83), +(55, 2364, 78), +(55, 2365, 72), +(55, 2366, 86), +(55, 2367, 96), +(55, 2368, 70), +(55, 2369, 71), +(55, 2370, 78), +(55, 2371, 81), +(55, 2372, 89), +(55, 2373, 72), +(55, 2374, 84), +(55, 2375, 76), +(55, 2376, 89), +(55, 2377, 78), +(55, 2378, 96), +(55, 2379, 88), +(55, 2380, 78), +(55, 2381, 85), +(55, 2382, 75), +(55, 2383, 89), +(55, 2384, 69), +(55, 2385, 90), +(55, 2386, 87), +(55, 2387, 95), +(55, 2388, 88), +(55, 2389, 99), +(55, 2390, 69), +(55, 2391, 74), +(55, 2392, 86), +(55, 2393, 70), +(55, 2394, 94), +(55, 2395, 72), +(55, 2396, 70), +(55, 2397, 81), +(55, 2398, 91), +(55, 2399, 90), +(55, 2400, 78), +(55, 2401, 94), +(55, 2402, 65), +(55, 2403, 77), +(55, 2404, 67), +(55, 2405, 79), +(55, 2406, 67), +(55, 2407, 96), +(55, 2408, 83), +(55, 2409, 86), +(55, 2410, 81), +(55, 2411, 72), +(55, 2412, 96), +(55, 2413, 98), +(55, 2414, 80), +(55, 2415, 90), +(55, 2416, 65), +(55, 2417, 91), +(55, 2418, 68), +(55, 2419, 90), +(55, 2420, 89), +(55, 2421, 78), +(55, 2422, 97), +(55, 2423, 80), +(55, 2424, 97), +(55, 2425, 97), +(55, 2426, 70), +(55, 2427, 69), +(55, 2428, 78); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(55, 2429, 87), +(55, 2430, 90), +(55, 2431, 95), +(55, 2432, 69), +(55, 2433, 94), +(55, 2434, 69), +(55, 2435, 69), +(55, 2436, 89), +(55, 2437, 76), +(55, 2438, 88), +(55, 2439, 79), +(55, 2440, 80), +(55, 2441, 92), +(55, 2442, 70), +(55, 2443, 91), +(55, 2444, 86), +(55, 2445, 68), +(55, 2446, 77), +(55, 2447, 98), +(55, 2448, 96), +(55, 2449, 69), +(55, 2450, 93), +(55, 2451, 65), +(55, 2452, 98), +(55, 2453, 79), +(55, 2454, 76), +(55, 2455, 82), +(55, 2456, 97), +(55, 2457, 75), +(55, 2458, 98), +(55, 2459, 93), +(55, 2460, 72), +(55, 2461, 65), +(55, 2462, 90), +(55, 2463, 90), +(55, 2464, 78), +(55, 2465, 74), +(55, 2466, 76), +(55, 2467, 65), +(55, 2468, 77), +(55, 2469, 76), +(55, 2470, 84), +(55, 2471, 78), +(55, 2472, 92), +(55, 2473, 87), +(55, 2474, 79), +(55, 2475, 80), +(55, 2476, 73), +(55, 2477, 66), +(55, 2478, 89), +(55, 2479, 97), +(55, 2480, 86), +(55, 2481, 98), +(55, 2482, 66), +(55, 2483, 72), +(55, 2484, 87), +(55, 2485, 99), +(55, 2486, 92), +(55, 2487, 98), +(55, 2488, 96), +(55, 2489, 76), +(55, 2490, 84), +(55, 2491, 68), +(55, 2492, 70), +(55, 2493, 94), +(55, 2494, 70), +(55, 2495, 72), +(55, 2496, 80), +(55, 2497, 95), +(55, 2498, 94), +(55, 2499, 80), +(55, 2500, 79), +(55, 2501, 86), +(55, 2502, 90), +(55, 2503, 87), +(55, 2504, 69), +(55, 2505, 97), +(55, 2506, 83), +(55, 2507, 80), +(55, 2508, 79), +(55, 2509, 69), +(55, 2510, 81), +(55, 2511, 88), +(55, 2512, 73), +(55, 2513, 78), +(55, 2514, 71), +(55, 2515, 95), +(55, 2516, 85), +(55, 2517, 91), +(55, 2518, 68), +(55, 2519, 88), +(55, 2520, 67), +(55, 2521, 85), +(55, 2522, 67), +(55, 2523, 94), +(55, 2524, 90), +(55, 2525, 72), +(55, 2526, 93), +(55, 2527, 83), +(55, 2528, 97), +(55, 2529, 99), +(55, 2530, 88), +(55, 2531, 86), +(55, 2532, 87), +(55, 2533, 90), +(55, 2534, 82), +(55, 2535, 81), +(55, 2536, 91), +(55, 2537, 83), +(55, 2538, 95), +(55, 2539, 83), +(55, 2540, 73), +(55, 2541, 82), +(55, 2542, 86), +(55, 2543, 70), +(55, 2544, 86), +(55, 2545, 67), +(55, 2546, 88), +(55, 2547, 68), +(55, 2548, 88), +(55, 2549, 88), +(55, 2550, 84), +(55, 2551, 78), +(55, 2552, 80), +(55, 2553, 77), +(55, 2554, 65), +(55, 2555, 93), +(55, 2556, 96), +(55, 2557, 81), +(55, 2558, 86), +(55, 2559, 99), +(55, 2560, 81), +(55, 2561, 88), +(55, 2562, 98), +(55, 2563, 75), +(55, 2564, 91), +(55, 2565, 80), +(55, 2566, 91), +(55, 2567, 65), +(55, 2568, 96), +(55, 2569, 87), +(55, 2570, 80), +(55, 2571, 68), +(55, 2572, 75), +(55, 2573, 84), +(55, 2574, 75), +(55, 2575, 81), +(55, 2576, 75), +(55, 2577, 78), +(55, 2578, 92), +(55, 2579, 85), +(55, 2580, 97), +(55, 2581, 98), +(55, 2582, 88), +(55, 2583, 80), +(55, 2584, 85), +(55, 2585, 72), +(55, 2586, 96), +(55, 2587, 69), +(55, 2588, 68), +(55, 2589, 80), +(55, 2590, 70), +(55, 2591, 73), +(55, 2592, 87), +(55, 2593, 87), +(55, 2594, 75), +(55, 2595, 97), +(55, 2596, 70), +(55, 2597, 66), +(55, 2598, 79), +(55, 2599, 86), +(55, 2600, 72), +(55, 2601, 85), +(55, 2602, 96), +(55, 2603, 87), +(55, 2604, 93), +(55, 2605, 74), +(55, 2606, 77), +(55, 2607, 87), +(55, 2608, 90), +(55, 2609, 68), +(55, 2610, 74), +(56, 1, 79), +(56, 2, 85), +(56, 3, 73), +(56, 4, 80), +(56, 5, 67), +(56, 6, 71), +(56, 7, 86), +(56, 8, 71), +(56, 9, 93), +(56, 10, 83), +(56, 11, 67), +(56, 12, 74), +(56, 13, 67), +(56, 14, 68), +(56, 15, 90), +(56, 16, 90), +(56, 17, 98), +(56, 18, 77), +(56, 19, 97), +(56, 20, 88), +(56, 21, 73), +(56, 22, 67), +(56, 23, 85), +(56, 24, 87), +(56, 25, 85), +(56, 26, 80), +(56, 27, 80), +(56, 28, 79), +(56, 29, 98), +(56, 30, 86), +(56, 31, 91), +(56, 32, 97), +(56, 33, 78), +(56, 34, 95), +(56, 35, 80), +(56, 36, 79), +(56, 37, 75), +(56, 38, 67), +(56, 39, 84), +(56, 40, 97), +(56, 41, 93), +(56, 42, 93), +(56, 43, 81), +(56, 44, 81), +(56, 45, 88), +(56, 46, 96), +(56, 47, 73), +(56, 48, 68), +(56, 49, 83), +(56, 50, 83), +(56, 51, 83), +(56, 52, 69), +(56, 53, 99), +(56, 54, 85), +(56, 55, 69), +(56, 56, 90), +(56, 57, 93), +(56, 58, 69), +(56, 59, 83), +(56, 60, 74), +(56, 61, 96), +(56, 62, 90), +(56, 63, 94), +(56, 64, 97), +(56, 65, 95), +(56, 66, 69), +(56, 67, 94), +(56, 68, 69), +(56, 69, 74), +(56, 70, 80), +(56, 71, 95), +(56, 72, 98), +(56, 73, 94), +(56, 74, 94), +(56, 75, 94), +(56, 76, 92), +(56, 77, 93), +(56, 78, 95), +(56, 79, 99), +(56, 80, 66), +(56, 81, 93), +(56, 82, 94), +(56, 83, 75), +(56, 84, 85), +(56, 85, 74), +(56, 86, 67), +(56, 87, 95), +(56, 88, 73), +(56, 89, 85), +(56, 90, 83), +(56, 91, 76), +(56, 92, 96), +(56, 93, 92), +(56, 94, 98), +(56, 95, 92), +(56, 96, 82), +(56, 97, 98), +(56, 98, 79), +(56, 99, 96), +(56, 100, 71), +(56, 101, 85), +(56, 102, 84), +(56, 103, 84), +(56, 104, 81), +(56, 105, 77), +(56, 106, 84), +(56, 107, 77), +(56, 108, 71), +(56, 109, 72), +(56, 110, 90), +(56, 111, 81), +(56, 112, 98), +(56, 113, 98), +(56, 114, 93), +(56, 115, 79), +(56, 116, 98), +(56, 117, 78), +(56, 118, 76), +(56, 119, 74), +(56, 120, 69), +(56, 121, 73), +(56, 122, 87), +(56, 123, 87), +(56, 124, 97), +(56, 125, 88), +(56, 126, 67), +(56, 127, 96), +(56, 128, 74), +(56, 129, 98), +(56, 130, 70), +(56, 131, 82), +(56, 132, 70), +(56, 133, 97), +(56, 134, 82), +(56, 135, 66), +(56, 136, 75), +(56, 137, 68), +(56, 138, 96), +(56, 139, 93), +(56, 140, 69), +(56, 141, 96), +(56, 142, 83), +(56, 143, 95), +(56, 144, 69), +(56, 145, 74), +(56, 146, 76), +(56, 147, 65), +(56, 148, 94), +(56, 149, 98), +(56, 150, 89), +(56, 151, 73), +(56, 152, 74), +(56, 153, 97), +(56, 154, 83), +(56, 155, 81), +(56, 156, 81), +(56, 157, 87), +(56, 158, 74), +(56, 159, 97), +(56, 160, 97), +(56, 161, 82), +(56, 162, 89), +(56, 163, 75), +(56, 164, 80), +(56, 165, 68), +(56, 166, 75), +(56, 167, 96), +(56, 168, 76), +(56, 169, 87), +(56, 170, 92), +(56, 171, 78), +(56, 172, 84), +(56, 173, 69), +(56, 174, 92), +(56, 175, 89), +(56, 176, 92), +(56, 177, 95), +(56, 178, 66), +(56, 179, 83), +(56, 180, 90), +(56, 181, 70), +(56, 182, 88), +(56, 183, 78), +(56, 184, 68), +(56, 185, 91), +(56, 186, 69), +(56, 187, 71), +(56, 188, 85), +(56, 189, 74), +(56, 190, 80), +(56, 191, 99), +(56, 192, 70), +(56, 193, 74), +(56, 194, 85), +(56, 195, 74), +(56, 196, 71), +(56, 197, 81), +(56, 198, 98), +(56, 199, 77), +(56, 200, 91), +(56, 201, 72), +(56, 202, 98), +(56, 203, 97), +(56, 204, 97), +(56, 205, 92), +(56, 206, 98), +(56, 207, 96), +(56, 208, 77), +(56, 209, 96), +(56, 210, 75), +(56, 211, 92), +(56, 212, 69), +(56, 213, 92), +(56, 214, 67), +(56, 215, 98), +(56, 216, 81), +(56, 217, 82), +(56, 218, 79), +(56, 219, 89), +(56, 220, 91), +(56, 221, 96), +(56, 222, 91), +(56, 223, 65), +(56, 224, 92), +(56, 225, 98), +(56, 226, 86), +(56, 227, 72), +(56, 228, 94), +(56, 229, 78), +(56, 230, 81), +(56, 231, 82), +(56, 232, 91), +(56, 233, 82), +(56, 234, 88), +(56, 235, 70), +(56, 236, 74), +(56, 237, 65), +(56, 238, 66), +(56, 239, 88), +(56, 240, 82), +(56, 241, 88), +(56, 242, 82), +(56, 243, 73), +(56, 244, 65), +(56, 245, 86), +(56, 246, 77), +(56, 247, 95), +(56, 248, 72), +(56, 249, 88), +(56, 250, 98), +(56, 251, 65), +(56, 252, 92), +(56, 253, 80), +(56, 254, 93), +(56, 255, 69), +(56, 256, 82), +(56, 257, 83), +(56, 258, 71), +(56, 259, 69), +(56, 260, 65), +(56, 261, 92), +(56, 262, 97), +(56, 263, 99), +(56, 264, 65), +(56, 265, 95), +(56, 266, 94), +(56, 267, 66), +(56, 268, 79), +(56, 269, 76), +(56, 270, 98), +(56, 271, 96), +(56, 272, 91), +(56, 273, 88), +(56, 274, 76), +(56, 275, 69), +(56, 276, 87), +(56, 277, 97), +(56, 278, 70), +(56, 279, 91), +(56, 280, 99), +(56, 281, 70), +(56, 282, 68), +(56, 283, 82), +(56, 284, 65), +(56, 285, 94), +(56, 286, 97), +(56, 287, 77), +(56, 288, 88), +(56, 289, 82), +(56, 290, 80), +(56, 291, 77), +(56, 292, 92), +(56, 293, 97), +(56, 294, 97), +(56, 295, 93), +(56, 296, 97), +(56, 297, 91), +(56, 298, 92), +(56, 299, 87), +(56, 300, 68), +(56, 301, 96), +(56, 302, 94), +(56, 303, 76), +(56, 304, 66), +(56, 305, 80), +(56, 306, 94), +(56, 307, 85), +(56, 308, 70), +(56, 309, 98), +(56, 310, 99), +(56, 311, 97), +(56, 312, 77), +(56, 313, 70), +(56, 314, 99), +(56, 315, 66), +(56, 316, 84), +(56, 317, 83), +(56, 318, 85), +(56, 319, 66), +(56, 320, 81), +(56, 321, 69), +(56, 322, 84), +(56, 323, 67), +(56, 324, 73), +(56, 325, 84), +(56, 326, 78), +(56, 327, 76), +(56, 328, 66), +(56, 329, 80), +(56, 330, 93), +(56, 331, 77), +(56, 332, 70), +(56, 333, 83), +(56, 334, 72), +(56, 335, 76), +(56, 336, 66), +(56, 337, 76), +(56, 338, 97), +(56, 339, 90), +(56, 340, 95), +(56, 341, 76), +(56, 342, 84), +(56, 343, 82), +(56, 344, 76), +(56, 345, 66), +(56, 346, 94), +(56, 347, 84), +(56, 348, 73), +(56, 349, 93), +(56, 350, 99), +(56, 351, 65), +(56, 352, 67), +(56, 353, 88), +(56, 354, 89), +(56, 355, 85), +(56, 356, 81), +(56, 357, 83), +(56, 358, 80), +(56, 359, 88), +(56, 360, 65), +(56, 361, 70), +(56, 362, 81), +(56, 363, 91), +(56, 364, 65), +(56, 365, 90), +(56, 366, 99), +(56, 367, 85), +(56, 368, 75), +(56, 369, 94), +(56, 370, 99), +(56, 371, 65), +(56, 372, 65), +(56, 373, 87), +(56, 374, 87), +(56, 375, 97), +(56, 376, 81), +(56, 377, 77), +(56, 378, 65), +(56, 379, 97), +(56, 380, 91), +(56, 381, 75), +(56, 382, 69), +(56, 383, 84), +(56, 384, 84), +(56, 385, 92), +(56, 386, 71), +(56, 387, 97), +(56, 388, 71), +(56, 389, 77), +(56, 390, 88), +(56, 391, 69), +(56, 392, 85), +(56, 393, 68), +(56, 394, 88), +(56, 395, 72), +(56, 396, 91), +(56, 397, 67), +(56, 398, 91), +(56, 399, 73), +(56, 400, 67), +(56, 401, 93), +(56, 402, 87), +(56, 403, 69), +(56, 404, 84), +(56, 405, 96), +(56, 406, 67), +(56, 407, 68), +(56, 408, 95), +(56, 409, 81), +(56, 410, 66), +(56, 411, 83), +(56, 412, 93), +(56, 413, 81), +(56, 414, 94), +(56, 415, 87), +(56, 416, 68), +(56, 417, 66), +(56, 418, 71), +(56, 419, 90), +(56, 420, 90), +(56, 421, 82), +(56, 422, 94), +(56, 423, 73), +(56, 424, 72), +(56, 425, 89), +(56, 426, 71), +(56, 427, 68), +(56, 428, 72), +(56, 429, 85), +(56, 430, 83), +(56, 431, 73), +(56, 432, 70), +(56, 433, 96), +(56, 434, 98), +(56, 435, 98), +(56, 436, 66), +(56, 437, 71), +(56, 438, 66), +(56, 439, 66), +(56, 440, 72), +(56, 441, 91), +(56, 442, 91), +(56, 443, 74), +(56, 444, 77), +(56, 445, 82), +(56, 446, 74), +(56, 447, 97), +(56, 448, 87), +(56, 449, 72), +(56, 450, 82), +(56, 451, 89), +(56, 452, 81), +(56, 453, 87), +(56, 454, 83), +(56, 455, 77), +(56, 456, 80), +(56, 457, 77), +(56, 458, 72), +(56, 459, 65), +(56, 460, 70), +(56, 461, 75), +(56, 462, 83), +(56, 463, 67), +(56, 464, 74), +(56, 465, 69), +(56, 466, 81), +(56, 467, 89), +(56, 468, 65), +(56, 469, 97), +(56, 470, 81), +(56, 471, 95), +(56, 472, 68), +(56, 473, 98), +(56, 474, 96), +(56, 475, 95), +(56, 476, 89), +(56, 477, 66), +(56, 478, 78), +(56, 479, 73), +(56, 480, 69), +(56, 481, 66), +(56, 482, 99), +(56, 483, 75), +(56, 484, 95), +(56, 485, 71), +(56, 486, 90), +(56, 487, 87), +(56, 488, 67), +(56, 489, 76), +(56, 490, 98), +(56, 491, 89), +(56, 492, 87), +(56, 493, 99), +(56, 494, 65), +(56, 495, 75), +(56, 496, 85), +(56, 497, 65), +(56, 498, 95), +(56, 499, 76), +(56, 500, 70), +(56, 501, 89), +(56, 502, 97), +(56, 503, 73), +(56, 504, 98), +(56, 505, 96), +(56, 506, 71), +(56, 507, 68), +(56, 508, 82), +(56, 509, 95), +(56, 510, 86), +(56, 511, 71), +(56, 512, 72), +(56, 513, 99), +(56, 514, 87), +(56, 515, 96), +(56, 516, 68), +(56, 517, 85), +(56, 518, 79), +(56, 519, 76), +(56, 520, 73), +(56, 521, 88), +(56, 522, 73), +(56, 523, 81), +(56, 524, 74), +(56, 525, 65), +(56, 526, 90), +(56, 527, 85), +(56, 528, 85), +(56, 529, 66), +(56, 530, 96), +(56, 531, 92), +(56, 532, 87), +(56, 533, 70), +(56, 534, 93), +(56, 535, 70), +(56, 536, 78), +(56, 537, 89), +(56, 538, 93), +(56, 539, 81), +(56, 540, 90), +(56, 541, 83), +(56, 542, 96), +(56, 543, 83), +(56, 544, 82), +(56, 545, 74), +(56, 546, 92), +(56, 547, 89), +(56, 548, 96), +(56, 549, 71), +(56, 550, 96), +(56, 551, 90), +(56, 552, 79), +(56, 553, 89), +(56, 554, 65), +(56, 555, 84), +(56, 556, 67), +(56, 557, 88), +(56, 558, 66), +(56, 559, 97), +(56, 560, 67), +(56, 561, 72), +(56, 562, 93), +(56, 563, 78), +(56, 564, 69), +(56, 1024, 76), +(56, 1025, 81), +(56, 1026, 66), +(56, 1027, 89), +(56, 1028, 71), +(56, 1029, 91), +(56, 1030, 67), +(56, 1031, 96), +(56, 1032, 89), +(56, 1033, 88), +(56, 1034, 78), +(56, 1035, 72), +(56, 1036, 86), +(56, 1037, 96), +(56, 1038, 73), +(56, 1039, 93), +(56, 1040, 97), +(56, 1041, 91), +(56, 1042, 90), +(56, 1043, 98), +(56, 1044, 99), +(56, 1045, 80), +(56, 1046, 74), +(56, 1047, 89), +(56, 1048, 98), +(56, 1049, 82), +(56, 1050, 71), +(56, 1051, 84), +(56, 1052, 70), +(56, 1053, 89), +(56, 1054, 98), +(56, 1055, 92), +(56, 1056, 99), +(56, 1057, 89), +(56, 1058, 79), +(56, 1059, 75), +(56, 1060, 67), +(56, 1061, 76), +(56, 1062, 85), +(56, 1063, 82), +(56, 1064, 75), +(56, 1065, 90), +(56, 1066, 86), +(56, 1067, 70), +(56, 1068, 78), +(56, 1069, 95), +(56, 1070, 78), +(56, 1071, 99), +(56, 1072, 70), +(56, 1073, 65), +(56, 1074, 65), +(56, 1075, 66), +(56, 1076, 92), +(56, 1077, 66), +(56, 1078, 84), +(56, 1079, 98), +(56, 1080, 73), +(56, 1081, 70), +(56, 1082, 92), +(56, 1083, 97), +(56, 1084, 72), +(56, 1085, 67), +(56, 1086, 85), +(56, 1087, 97), +(56, 1088, 92), +(56, 1089, 95), +(56, 1090, 73), +(56, 1091, 74), +(56, 1092, 75), +(56, 1093, 80), +(56, 1094, 87), +(56, 1095, 95), +(56, 1096, 86), +(56, 1097, 95), +(56, 1098, 90), +(56, 1099, 82), +(56, 1100, 93), +(56, 1101, 81), +(56, 1102, 70), +(56, 1103, 86), +(56, 1104, 72), +(56, 1105, 73), +(56, 1106, 97), +(56, 1107, 74), +(56, 1108, 68), +(56, 1109, 75), +(56, 1110, 80), +(56, 1111, 76), +(56, 1112, 76), +(56, 1113, 68), +(56, 1114, 97), +(56, 1115, 91), +(56, 1116, 85), +(56, 1117, 83), +(56, 1118, 99), +(56, 1119, 82), +(56, 1120, 71), +(56, 1121, 89), +(56, 1122, 90), +(56, 1123, 99), +(56, 1124, 83), +(56, 1125, 95), +(56, 1126, 73), +(56, 1127, 81), +(56, 1128, 70), +(56, 1129, 82), +(56, 1130, 91), +(56, 1131, 70), +(56, 1132, 93), +(56, 1133, 75), +(56, 1134, 79), +(56, 1135, 73), +(56, 1136, 73), +(56, 1137, 69), +(56, 1138, 68), +(56, 1139, 88), +(56, 1140, 89), +(56, 1141, 81), +(56, 1142, 86), +(56, 1143, 88), +(56, 1144, 95), +(56, 1145, 81), +(56, 1146, 69), +(56, 1147, 93), +(56, 1148, 94), +(56, 1149, 84), +(56, 1150, 77), +(56, 1151, 93), +(56, 1152, 80), +(56, 1153, 69), +(56, 1154, 96), +(56, 1155, 73), +(56, 1156, 93), +(56, 1157, 92), +(56, 1158, 75), +(56, 1159, 89), +(56, 1160, 70), +(56, 1161, 66), +(56, 1162, 99), +(56, 1163, 75), +(56, 1164, 86), +(56, 1165, 81), +(56, 1166, 67), +(56, 1167, 88), +(56, 1168, 99), +(56, 1169, 73), +(56, 1170, 83), +(56, 1171, 82), +(56, 1172, 80), +(56, 1173, 88), +(56, 1174, 71), +(56, 1175, 99), +(56, 1176, 78), +(56, 1177, 72), +(56, 1178, 68), +(56, 1179, 82), +(56, 1180, 76), +(56, 1181, 96), +(56, 1182, 86), +(56, 1183, 75), +(56, 1184, 90), +(56, 1185, 83), +(56, 1186, 80), +(56, 1187, 84), +(56, 1188, 92), +(56, 1189, 88), +(56, 1190, 94), +(56, 1191, 71), +(56, 1192, 88), +(56, 1193, 96), +(56, 1194, 94), +(56, 1195, 67), +(56, 1196, 65), +(56, 1197, 98), +(56, 1198, 77), +(56, 1199, 92), +(56, 1200, 76), +(56, 1201, 73), +(56, 1202, 68), +(56, 1203, 75), +(56, 1204, 73), +(56, 1205, 95), +(56, 1206, 94), +(56, 1207, 76), +(56, 1208, 71), +(56, 1209, 73), +(56, 1210, 73), +(56, 1211, 95), +(56, 1212, 81), +(56, 1213, 73), +(56, 1214, 84), +(56, 1215, 88), +(56, 1216, 71), +(56, 1217, 92), +(56, 1218, 92), +(56, 1219, 70), +(56, 1220, 93), +(56, 1221, 90), +(56, 1222, 73), +(56, 1223, 81), +(56, 1224, 98), +(56, 1225, 79), +(56, 1226, 90), +(56, 1227, 75), +(56, 1228, 83), +(56, 1229, 74), +(56, 1230, 80), +(56, 1231, 76), +(56, 1232, 68), +(56, 1233, 82), +(56, 1234, 92), +(56, 1235, 99), +(56, 1236, 76), +(56, 1237, 91), +(56, 1238, 77), +(56, 1239, 84), +(56, 1240, 93), +(56, 1241, 78), +(56, 1242, 76), +(56, 1243, 88), +(56, 1244, 91), +(56, 1245, 78), +(56, 1246, 76), +(56, 1247, 81), +(56, 1248, 70), +(56, 1249, 91), +(56, 1250, 73), +(56, 1251, 94), +(56, 1252, 89), +(56, 1253, 82), +(56, 1254, 75), +(56, 1255, 67), +(56, 1256, 74), +(56, 1257, 81), +(56, 1258, 66), +(56, 1259, 72), +(56, 1260, 83), +(56, 1261, 77), +(56, 1262, 99), +(56, 1263, 79), +(56, 1264, 87), +(56, 1265, 70), +(56, 1266, 92), +(56, 1267, 99), +(56, 1268, 99), +(56, 1269, 85), +(56, 1270, 68), +(56, 1271, 87), +(56, 1272, 75), +(56, 1273, 92), +(56, 1274, 90), +(56, 1275, 73), +(56, 1276, 78), +(56, 1277, 83), +(56, 1278, 76), +(56, 1279, 81), +(56, 1280, 71), +(56, 1281, 89), +(56, 1282, 66), +(56, 1283, 93), +(56, 1284, 94), +(56, 1285, 85), +(56, 1286, 83), +(56, 1287, 68), +(56, 1288, 76), +(56, 1289, 86), +(56, 1290, 67), +(56, 1291, 72), +(56, 1292, 75), +(56, 1293, 70), +(56, 1294, 93), +(56, 1295, 87), +(56, 1296, 72), +(56, 1297, 86), +(56, 1298, 73), +(56, 1299, 89), +(56, 1300, 99), +(56, 1301, 77), +(56, 1302, 92), +(56, 1303, 77), +(56, 1304, 83), +(56, 1305, 88), +(56, 1306, 69), +(56, 1307, 77), +(56, 1308, 73), +(56, 1309, 71), +(56, 1310, 97), +(56, 1311, 76), +(56, 1312, 91), +(56, 1313, 75), +(56, 1314, 66), +(56, 1315, 92), +(56, 1316, 76), +(56, 1317, 81), +(56, 1318, 89), +(56, 1319, 98), +(56, 1320, 88), +(56, 1321, 90), +(56, 1322, 87), +(56, 1323, 66), +(56, 1324, 88), +(56, 1325, 69), +(56, 1326, 91), +(56, 1327, 67), +(56, 1328, 84), +(56, 1329, 91), +(56, 1330, 97), +(56, 1331, 83), +(56, 1332, 87), +(56, 1333, 92), +(56, 1334, 92), +(56, 1335, 95), +(56, 1336, 89), +(56, 1337, 93), +(56, 1338, 81), +(56, 1339, 77), +(56, 1340, 66), +(56, 1341, 76), +(56, 1342, 92), +(56, 1343, 85), +(56, 1344, 79), +(56, 1345, 72), +(56, 1346, 88), +(56, 1347, 65), +(56, 1348, 68), +(56, 1349, 98), +(56, 1350, 94), +(56, 1351, 78), +(56, 1352, 67), +(56, 1353, 77), +(56, 1354, 76), +(56, 1355, 90), +(56, 1356, 67), +(56, 1357, 71), +(56, 1358, 81), +(56, 1359, 78), +(56, 1360, 90), +(56, 1361, 70), +(56, 1362, 94), +(56, 1363, 69), +(56, 1364, 65), +(56, 1365, 89), +(56, 1366, 69), +(56, 1367, 65), +(56, 1368, 91), +(56, 1369, 95), +(56, 1370, 93), +(56, 1371, 96), +(56, 1372, 79), +(56, 1373, 76), +(56, 1374, 80), +(56, 1375, 65), +(56, 1376, 79), +(56, 1377, 83), +(56, 1378, 67), +(56, 1379, 86), +(56, 1380, 77), +(56, 1381, 69), +(56, 1382, 80), +(56, 1383, 79), +(56, 1384, 96), +(56, 1385, 85), +(56, 1386, 91), +(56, 1387, 81), +(56, 1388, 72), +(56, 1389, 66), +(56, 1390, 93), +(56, 1391, 73), +(56, 1392, 93), +(56, 1393, 91), +(56, 1394, 97), +(56, 1395, 84), +(56, 1396, 75), +(56, 1397, 81), +(56, 1398, 80), +(56, 1399, 84), +(56, 1400, 92), +(56, 1401, 96), +(56, 1402, 78), +(56, 1403, 79), +(56, 1404, 67), +(56, 1405, 81), +(56, 1406, 73), +(56, 1407, 75), +(56, 1408, 89), +(56, 1409, 75), +(56, 1410, 92), +(56, 1411, 94), +(56, 1412, 91), +(56, 1413, 71), +(56, 1414, 85), +(56, 1415, 94), +(56, 1416, 88), +(56, 1417, 82), +(56, 1418, 98), +(56, 1419, 85), +(56, 1420, 96), +(56, 1421, 67), +(56, 1422, 89), +(56, 1423, 75), +(56, 1424, 93), +(56, 1425, 92), +(56, 1426, 82), +(56, 1427, 69), +(56, 1428, 72), +(56, 1429, 88), +(56, 1430, 79), +(56, 1431, 96), +(56, 1432, 98), +(56, 1433, 93), +(56, 1434, 91), +(56, 1435, 75), +(56, 1436, 76), +(56, 1437, 76), +(56, 1438, 67), +(56, 1439, 92), +(56, 1440, 91), +(56, 1441, 94), +(56, 1442, 68), +(56, 1443, 66), +(56, 1444, 77), +(56, 1445, 65), +(56, 1446, 96), +(56, 1447, 98), +(56, 1448, 91), +(56, 1449, 98), +(56, 1450, 99), +(56, 1451, 87), +(56, 1452, 85), +(56, 1453, 68), +(56, 1454, 86), +(56, 1455, 92), +(56, 1456, 74), +(56, 1457, 91), +(56, 1458, 84), +(56, 1459, 83), +(56, 1460, 73), +(56, 1461, 75), +(56, 1462, 94), +(56, 1463, 89), +(56, 1464, 92), +(56, 1465, 83), +(56, 1466, 70), +(56, 1467, 74), +(56, 1468, 67), +(56, 1469, 93), +(56, 1470, 87), +(56, 1471, 65), +(56, 1472, 84), +(56, 1473, 97), +(56, 1474, 86), +(56, 1475, 92), +(56, 1476, 79), +(56, 1477, 89), +(56, 1478, 97), +(56, 1479, 91), +(56, 1480, 79), +(56, 1481, 83), +(56, 1482, 86), +(56, 1483, 96), +(56, 1484, 82), +(56, 1485, 70), +(56, 1486, 90), +(56, 1487, 83), +(56, 1488, 84), +(56, 1489, 91), +(56, 1490, 95), +(56, 1491, 82), +(56, 1492, 96), +(56, 1493, 70), +(56, 1494, 75), +(56, 1495, 97), +(56, 1496, 65), +(56, 1497, 94), +(56, 1498, 80), +(56, 1499, 82), +(56, 1500, 74), +(56, 1501, 71), +(56, 1502, 83), +(56, 1503, 94), +(56, 1504, 87), +(56, 1505, 92), +(56, 1506, 68), +(56, 1507, 84), +(56, 1508, 73), +(56, 1509, 91), +(56, 1510, 70), +(56, 1511, 91), +(56, 1512, 65), +(56, 1513, 99), +(56, 1514, 99), +(56, 1515, 87), +(56, 1516, 67), +(56, 1517, 95), +(56, 1518, 67), +(56, 1519, 89), +(56, 1520, 91), +(56, 1521, 97), +(56, 1522, 78), +(56, 1523, 81), +(56, 1524, 82), +(56, 1525, 74), +(56, 1526, 84), +(56, 1527, 82), +(56, 1528, 66), +(56, 1529, 66), +(56, 1530, 88), +(56, 1531, 89), +(56, 1532, 90), +(56, 1533, 99), +(56, 1534, 72), +(56, 1535, 92), +(56, 1536, 76), +(56, 1537, 93), +(56, 1538, 84), +(56, 1539, 80), +(56, 1540, 85), +(56, 1541, 93), +(56, 1542, 93), +(56, 1543, 97), +(56, 1544, 78), +(56, 1545, 85), +(56, 1546, 97), +(56, 1547, 90), +(56, 1548, 97), +(56, 1549, 98), +(56, 1550, 87), +(56, 1551, 98), +(56, 1552, 93), +(56, 1553, 85), +(56, 1554, 82), +(56, 1555, 84), +(56, 1556, 77), +(56, 1557, 84), +(56, 1558, 98), +(56, 1559, 91), +(56, 1560, 75), +(56, 1561, 71), +(56, 1562, 92), +(56, 1563, 81), +(56, 1564, 79), +(56, 1565, 81), +(56, 1566, 85), +(56, 1567, 73), +(56, 1568, 83), +(56, 1569, 90), +(56, 1570, 69), +(56, 1571, 98), +(56, 1572, 77), +(56, 1573, 78), +(56, 1574, 72), +(56, 1575, 77), +(56, 1576, 81), +(56, 1577, 84), +(56, 1578, 78), +(56, 1579, 79), +(56, 1580, 75), +(56, 1581, 90), +(56, 1582, 65), +(56, 1583, 91), +(56, 1584, 95), +(56, 1585, 74), +(56, 1586, 75), +(56, 1587, 80), +(56, 2047, 90), +(56, 2048, 87), +(56, 2049, 85), +(56, 2050, 80), +(56, 2051, 89), +(56, 2052, 87), +(56, 2053, 68), +(56, 2054, 95), +(56, 2055, 94), +(56, 2056, 74), +(56, 2057, 85), +(56, 2058, 78), +(56, 2059, 73), +(56, 2060, 73), +(56, 2061, 73), +(56, 2062, 86), +(56, 2063, 88), +(56, 2064, 84), +(56, 2065, 70), +(56, 2066, 93), +(56, 2067, 92), +(56, 2068, 93), +(56, 2069, 91), +(56, 2070, 69), +(56, 2071, 79), +(56, 2072, 82), +(56, 2073, 83), +(56, 2074, 72), +(56, 2075, 71), +(56, 2076, 65), +(56, 2077, 77), +(56, 2078, 72), +(56, 2079, 82), +(56, 2080, 93), +(56, 2081, 72), +(56, 2082, 67), +(56, 2083, 67), +(56, 2084, 83), +(56, 2085, 69), +(56, 2086, 84), +(56, 2087, 73), +(56, 2088, 75), +(56, 2089, 99), +(56, 2090, 90), +(56, 2091, 86), +(56, 2092, 95), +(56, 2093, 73), +(56, 2094, 68), +(56, 2095, 74), +(56, 2096, 85), +(56, 2097, 93), +(56, 2098, 77), +(56, 2099, 68), +(56, 2100, 86), +(56, 2101, 72), +(56, 2102, 72), +(56, 2103, 96), +(56, 2104, 76), +(56, 2105, 91), +(56, 2106, 91), +(56, 2107, 85), +(56, 2108, 90), +(56, 2109, 71), +(56, 2110, 86), +(56, 2111, 80), +(56, 2112, 68), +(56, 2113, 81), +(56, 2114, 86), +(56, 2115, 97), +(56, 2116, 91), +(56, 2117, 88), +(56, 2118, 79), +(56, 2119, 83), +(56, 2120, 66), +(56, 2121, 67), +(56, 2122, 65), +(56, 2123, 83), +(56, 2124, 68), +(56, 2125, 85), +(56, 2126, 91), +(56, 2127, 97), +(56, 2128, 76), +(56, 2129, 78), +(56, 2130, 76), +(56, 2131, 88), +(56, 2132, 86), +(56, 2133, 71), +(56, 2134, 96), +(56, 2135, 71), +(56, 2136, 90), +(56, 2137, 73), +(56, 2138, 68), +(56, 2139, 78), +(56, 2140, 73), +(56, 2141, 91), +(56, 2142, 95), +(56, 2143, 99), +(56, 2144, 69), +(56, 2145, 88), +(56, 2146, 76), +(56, 2147, 86), +(56, 2148, 95), +(56, 2149, 66), +(56, 2150, 72), +(56, 2151, 88), +(56, 2152, 71), +(56, 2153, 75), +(56, 2154, 81), +(56, 2155, 71), +(56, 2156, 89), +(56, 2157, 94), +(56, 2158, 84), +(56, 2159, 88), +(56, 2160, 65), +(56, 2161, 82), +(56, 2162, 74), +(56, 2163, 89), +(56, 2164, 66), +(56, 2165, 95), +(56, 2166, 93), +(56, 2167, 96), +(56, 2168, 81), +(56, 2169, 72), +(56, 2170, 67), +(56, 2171, 79), +(56, 2172, 86), +(56, 2173, 66), +(56, 2174, 72), +(56, 2175, 83), +(56, 2176, 67), +(56, 2177, 97), +(56, 2178, 98), +(56, 2179, 89), +(56, 2180, 81), +(56, 2181, 96), +(56, 2182, 74), +(56, 2183, 70), +(56, 2184, 79), +(56, 2185, 68), +(56, 2186, 94), +(56, 2187, 95), +(56, 2188, 75), +(56, 2189, 77), +(56, 2190, 90), +(56, 2191, 78), +(56, 2192, 69), +(56, 2193, 83), +(56, 2194, 94), +(56, 2195, 87), +(56, 2196, 83), +(56, 2197, 74), +(56, 2198, 82), +(56, 2199, 79), +(56, 2200, 88), +(56, 2201, 96), +(56, 2202, 73), +(56, 2203, 75), +(56, 2204, 91), +(56, 2205, 89), +(56, 2206, 94), +(56, 2207, 74), +(56, 2208, 70), +(56, 2209, 69), +(56, 2210, 78), +(56, 2211, 94), +(56, 2212, 74), +(56, 2213, 97), +(56, 2214, 79), +(56, 2215, 70), +(56, 2216, 98), +(56, 2217, 93), +(56, 2218, 76), +(56, 2219, 66), +(56, 2220, 75), +(56, 2221, 97), +(56, 2222, 88), +(56, 2223, 67), +(56, 2224, 93), +(56, 2225, 75), +(56, 2226, 77), +(56, 2227, 84), +(56, 2228, 97), +(56, 2229, 77), +(56, 2230, 94), +(56, 2231, 97), +(56, 2232, 68), +(56, 2233, 66), +(56, 2234, 71), +(56, 2235, 70), +(56, 2236, 97), +(56, 2237, 95), +(56, 2238, 76), +(56, 2239, 65), +(56, 2240, 97), +(56, 2241, 86), +(56, 2242, 75), +(56, 2243, 88), +(56, 2244, 71), +(56, 2245, 96), +(56, 2246, 82), +(56, 2247, 79), +(56, 2248, 87), +(56, 2249, 77), +(56, 2250, 97), +(56, 2251, 90), +(56, 2252, 65), +(56, 2253, 66), +(56, 2254, 77), +(56, 2255, 77), +(56, 2256, 75), +(56, 2257, 81), +(56, 2258, 68), +(56, 2259, 70), +(56, 2260, 77), +(56, 2261, 97), +(56, 2262, 67), +(56, 2263, 98), +(56, 2264, 69), +(56, 2265, 93), +(56, 2266, 87), +(56, 2267, 67), +(56, 2268, 78), +(56, 2269, 79), +(56, 2270, 89), +(56, 2271, 88), +(56, 2272, 76), +(56, 2273, 66), +(56, 2274, 95), +(56, 2275, 82), +(56, 2276, 86), +(56, 2277, 84), +(56, 2278, 90), +(56, 2279, 81), +(56, 2280, 75), +(56, 2281, 96), +(56, 2282, 98), +(56, 2283, 83), +(56, 2284, 91), +(56, 2285, 96), +(56, 2286, 67), +(56, 2287, 73), +(56, 2288, 93), +(56, 2289, 92), +(56, 2290, 99), +(56, 2291, 94), +(56, 2292, 69), +(56, 2293, 73), +(56, 2294, 77), +(56, 2295, 68), +(56, 2296, 94), +(56, 2297, 93), +(56, 2298, 66), +(56, 2299, 67), +(56, 2300, 70), +(56, 2301, 80), +(56, 2302, 86), +(56, 2303, 82), +(56, 2304, 67), +(56, 2305, 93), +(56, 2306, 81), +(56, 2307, 66), +(56, 2308, 90), +(56, 2309, 86), +(56, 2310, 84), +(56, 2311, 86), +(56, 2312, 82), +(56, 2313, 79), +(56, 2314, 94), +(56, 2315, 95), +(56, 2316, 96), +(56, 2317, 80), +(56, 2318, 99), +(56, 2319, 84), +(56, 2320, 95), +(56, 2321, 94), +(56, 2322, 76), +(56, 2323, 88), +(56, 2324, 86), +(56, 2325, 69), +(56, 2326, 83), +(56, 2327, 82), +(56, 2328, 78), +(56, 2329, 79), +(56, 2330, 78), +(56, 2331, 75), +(56, 2332, 94), +(56, 2333, 84), +(56, 2334, 91), +(56, 2335, 80), +(56, 2336, 78), +(56, 2337, 85), +(56, 2338, 74), +(56, 2339, 71), +(56, 2340, 95), +(56, 2341, 96), +(56, 2342, 69), +(56, 2343, 65), +(56, 2344, 83), +(56, 2345, 86), +(56, 2346, 81), +(56, 2347, 96), +(56, 2348, 88), +(56, 2349, 89), +(56, 2350, 94), +(56, 2351, 98), +(56, 2352, 91), +(56, 2353, 99), +(56, 2354, 87), +(56, 2355, 92), +(56, 2356, 83), +(56, 2357, 93), +(56, 2358, 69), +(56, 2359, 65), +(56, 2360, 90), +(56, 2361, 99), +(56, 2362, 65), +(56, 2363, 87), +(56, 2364, 96), +(56, 2365, 73), +(56, 2366, 68), +(56, 2367, 99), +(56, 2368, 73), +(56, 2369, 87), +(56, 2370, 67), +(56, 2371, 91), +(56, 2372, 77), +(56, 2373, 74), +(56, 2374, 68), +(56, 2375, 98), +(56, 2376, 88), +(56, 2377, 84), +(56, 2378, 83), +(56, 2379, 66), +(56, 2380, 99), +(56, 2381, 97), +(56, 2382, 98), +(56, 2383, 67), +(56, 2384, 67), +(56, 2385, 82), +(56, 2386, 79), +(56, 2387, 70), +(56, 2388, 86), +(56, 2389, 72), +(56, 2390, 87), +(56, 2391, 70), +(56, 2392, 82), +(56, 2393, 94), +(56, 2394, 74), +(56, 2395, 94), +(56, 2396, 93), +(56, 2397, 82), +(56, 2398, 83), +(56, 2399, 72), +(56, 2400, 76), +(56, 2401, 83), +(56, 2402, 99), +(56, 2403, 95), +(56, 2404, 77), +(56, 2405, 98), +(56, 2406, 74), +(56, 2407, 77), +(56, 2408, 91), +(56, 2409, 71), +(56, 2410, 96), +(56, 2411, 74), +(56, 2412, 77), +(56, 2413, 92), +(56, 2414, 68), +(56, 2415, 84), +(56, 2416, 76), +(56, 2417, 96), +(56, 2418, 69), +(56, 2419, 75), +(56, 2420, 99), +(56, 2421, 70), +(56, 2422, 98), +(56, 2423, 81), +(56, 2424, 85), +(56, 2425, 82), +(56, 2426, 85), +(56, 2427, 74), +(56, 2428, 70), +(56, 2429, 99), +(56, 2430, 79), +(56, 2431, 76), +(56, 2432, 96), +(56, 2433, 90), +(56, 2434, 98), +(56, 2435, 94), +(56, 2436, 76), +(56, 2437, 79), +(56, 2438, 94), +(56, 2439, 98), +(56, 2440, 67), +(56, 2441, 79), +(56, 2442, 95), +(56, 2443, 98), +(56, 2444, 89), +(56, 2445, 80), +(56, 2446, 82), +(56, 2447, 85), +(56, 2448, 98), +(56, 2449, 99), +(56, 2450, 69), +(56, 2451, 75), +(56, 2452, 94), +(56, 2453, 81), +(56, 2454, 70), +(56, 2455, 81), +(56, 2456, 73), +(56, 2457, 90), +(56, 2458, 90), +(56, 2459, 82), +(56, 2460, 72), +(56, 2461, 76), +(56, 2462, 98), +(56, 2463, 98), +(56, 2464, 86), +(56, 2465, 99), +(56, 2466, 72), +(56, 2467, 80), +(56, 2468, 97), +(56, 2469, 84), +(56, 2470, 88), +(56, 2471, 65), +(56, 2472, 75), +(56, 2473, 71), +(56, 2474, 82), +(56, 2475, 78), +(56, 2476, 94), +(56, 2477, 90), +(56, 2478, 65), +(56, 2479, 71), +(56, 2480, 93), +(56, 2481, 77), +(56, 2482, 92), +(56, 2483, 92), +(56, 2484, 81), +(56, 2485, 65), +(56, 2486, 86), +(56, 2487, 74), +(56, 2488, 81), +(56, 2489, 84), +(56, 2490, 89), +(56, 2491, 84), +(56, 2492, 72), +(56, 2493, 68), +(56, 2494, 72), +(56, 2495, 70), +(56, 2496, 87), +(56, 2497, 75), +(56, 2498, 95), +(56, 2499, 69), +(56, 2500, 82), +(56, 2501, 67), +(56, 2502, 91), +(56, 2503, 70), +(56, 2504, 69), +(56, 2505, 76), +(56, 2506, 95), +(56, 2507, 83), +(56, 2508, 86), +(56, 2509, 99), +(56, 2510, 91), +(56, 2511, 74), +(56, 2512, 83), +(56, 2513, 99), +(56, 2514, 68), +(56, 2515, 77), +(56, 2516, 81), +(56, 2517, 65), +(56, 2518, 67), +(56, 2519, 68), +(56, 2520, 92), +(56, 2521, 68), +(56, 2522, 94), +(56, 2523, 97), +(56, 2524, 88), +(56, 2525, 97), +(56, 2526, 67), +(56, 2527, 89), +(56, 2528, 99), +(56, 2529, 97), +(56, 2530, 95), +(56, 2531, 83), +(56, 2532, 70), +(56, 2533, 80), +(56, 2534, 88), +(56, 2535, 81), +(56, 2536, 93), +(56, 2537, 90), +(56, 2538, 85), +(56, 2539, 79), +(56, 2540, 69), +(56, 2541, 75), +(56, 2542, 73), +(56, 2543, 83), +(56, 2544, 68), +(56, 2545, 92), +(56, 2546, 96), +(56, 2547, 92), +(56, 2548, 85), +(56, 2549, 73), +(56, 2550, 72), +(56, 2551, 80), +(56, 2552, 73), +(56, 2553, 98), +(56, 2554, 99), +(56, 2555, 66), +(56, 2556, 91), +(56, 2557, 79), +(56, 2558, 78), +(56, 2559, 99), +(56, 2560, 81), +(56, 2561, 66), +(56, 2562, 94), +(56, 2563, 89), +(56, 2564, 73), +(56, 2565, 91), +(56, 2566, 91), +(56, 2567, 71), +(56, 2568, 88), +(56, 2569, 70), +(56, 2570, 77), +(56, 2571, 86), +(56, 2572, 79), +(56, 2573, 95), +(56, 2574, 98), +(56, 2575, 85), +(56, 2576, 66), +(56, 2577, 79), +(56, 2578, 78), +(56, 2579, 87), +(56, 2580, 88), +(56, 2581, 97), +(56, 2582, 90), +(56, 2583, 74), +(56, 2584, 65), +(56, 2585, 95), +(56, 2586, 89), +(56, 2587, 95), +(56, 2588, 86), +(56, 2589, 91), +(56, 2590, 70), +(56, 2591, 83), +(56, 2592, 87), +(56, 2593, 93), +(56, 2594, 83), +(56, 2595, 72), +(56, 2596, 88), +(56, 2597, 98), +(56, 2598, 99), +(56, 2599, 66), +(56, 2600, 65), +(56, 2601, 66), +(56, 2602, 96), +(56, 2603, 95), +(56, 2604, 87), +(56, 2605, 96), +(56, 2606, 95), +(56, 2607, 74), +(56, 2608, 86), +(56, 2609, 82), +(56, 2610, 72), +(57, 1, 83), +(57, 2, 80), +(57, 3, 73), +(57, 4, 92), +(57, 5, 84), +(57, 6, 99), +(57, 7, 77), +(57, 8, 78), +(57, 9, 89), +(57, 10, 89), +(57, 11, 79), +(57, 12, 82), +(57, 13, 81), +(57, 14, 84), +(57, 15, 72), +(57, 16, 65), +(57, 17, 98), +(57, 18, 97), +(57, 19, 88), +(57, 20, 87), +(57, 21, 72), +(57, 22, 74), +(57, 23, 73), +(57, 24, 69), +(57, 25, 95), +(57, 26, 99), +(57, 27, 82), +(57, 28, 70), +(57, 29, 82), +(57, 30, 96), +(57, 31, 92), +(57, 32, 86), +(57, 33, 93), +(57, 34, 68), +(57, 35, 77), +(57, 36, 83), +(57, 37, 66), +(57, 38, 92), +(57, 39, 72), +(57, 40, 91), +(57, 41, 87), +(57, 42, 71), +(57, 43, 82), +(57, 44, 91), +(57, 45, 86), +(57, 46, 95), +(57, 47, 99), +(57, 48, 87), +(57, 49, 76), +(57, 50, 73), +(57, 51, 94), +(57, 52, 92), +(57, 53, 70), +(57, 54, 84), +(57, 55, 75), +(57, 56, 82), +(57, 57, 75), +(57, 58, 87), +(57, 59, 74), +(57, 60, 72), +(57, 61, 70), +(57, 62, 75), +(57, 63, 85), +(57, 64, 92), +(57, 65, 88), +(57, 66, 89), +(57, 67, 77), +(57, 68, 68), +(57, 69, 66), +(57, 70, 85), +(57, 71, 96), +(57, 72, 89), +(57, 73, 89), +(57, 74, 78), +(57, 75, 92), +(57, 76, 98), +(57, 77, 80), +(57, 78, 85), +(57, 79, 91), +(57, 80, 96), +(57, 81, 69), +(57, 82, 69), +(57, 83, 75), +(57, 84, 87), +(57, 85, 82), +(57, 86, 99), +(57, 87, 73), +(57, 88, 71), +(57, 89, 92), +(57, 90, 72), +(57, 91, 68), +(57, 92, 94), +(57, 93, 79), +(57, 94, 65), +(57, 95, 85), +(57, 96, 65), +(57, 97, 78), +(57, 98, 98), +(57, 99, 77), +(57, 100, 84), +(57, 101, 81), +(57, 102, 92), +(57, 103, 81), +(57, 104, 88), +(57, 105, 84), +(57, 106, 65), +(57, 107, 94), +(57, 108, 99), +(57, 109, 67), +(57, 110, 90), +(57, 111, 87), +(57, 112, 93), +(57, 113, 97), +(57, 114, 93), +(57, 115, 66), +(57, 116, 81), +(57, 117, 78), +(57, 118, 96), +(57, 119, 73), +(57, 120, 85), +(57, 121, 79), +(57, 122, 67), +(57, 123, 85), +(57, 124, 76), +(57, 125, 73), +(57, 126, 84), +(57, 127, 91), +(57, 128, 94), +(57, 129, 82), +(57, 130, 72), +(57, 131, 72), +(57, 132, 76), +(57, 133, 75), +(57, 134, 94), +(57, 135, 87), +(57, 136, 86), +(57, 137, 72), +(57, 138, 95), +(57, 139, 83), +(57, 140, 77), +(57, 141, 67), +(57, 142, 90), +(57, 143, 76), +(57, 144, 87), +(57, 145, 71), +(57, 146, 93), +(57, 147, 78), +(57, 148, 83), +(57, 149, 91), +(57, 150, 98), +(57, 151, 75), +(57, 152, 99), +(57, 153, 74), +(57, 154, 99), +(57, 155, 78), +(57, 156, 89), +(57, 157, 76), +(57, 158, 96), +(57, 159, 85), +(57, 160, 74), +(57, 161, 82), +(57, 162, 71), +(57, 163, 92), +(57, 164, 72), +(57, 165, 85), +(57, 166, 91), +(57, 167, 95), +(57, 168, 80), +(57, 169, 88), +(57, 170, 89), +(57, 171, 95), +(57, 172, 67), +(57, 173, 94), +(57, 174, 91), +(57, 175, 90), +(57, 176, 68), +(57, 177, 70), +(57, 178, 76), +(57, 179, 85), +(57, 180, 69), +(57, 181, 94), +(57, 182, 83), +(57, 183, 72), +(57, 184, 70), +(57, 185, 81), +(57, 186, 76), +(57, 187, 98), +(57, 188, 84), +(57, 189, 94), +(57, 190, 84), +(57, 191, 99), +(57, 192, 75), +(57, 193, 67), +(57, 194, 97), +(57, 195, 65), +(57, 196, 97), +(57, 197, 98), +(57, 198, 75), +(57, 199, 70), +(57, 200, 95), +(57, 201, 92), +(57, 202, 92), +(57, 203, 67), +(57, 204, 81), +(57, 205, 70), +(57, 206, 73), +(57, 207, 80), +(57, 208, 92), +(57, 209, 95), +(57, 210, 85), +(57, 211, 72), +(57, 212, 94), +(57, 213, 78), +(57, 214, 66), +(57, 215, 98), +(57, 216, 78), +(57, 217, 74), +(57, 218, 67), +(57, 219, 71), +(57, 220, 87), +(57, 221, 97), +(57, 222, 98), +(57, 223, 95), +(57, 224, 98), +(57, 225, 77), +(57, 226, 91), +(57, 227, 84), +(57, 228, 82), +(57, 229, 84), +(57, 230, 97), +(57, 231, 93), +(57, 232, 88), +(57, 233, 81), +(57, 234, 89), +(57, 235, 74), +(57, 236, 88), +(57, 237, 93), +(57, 238, 99), +(57, 239, 96), +(57, 240, 98), +(57, 241, 94), +(57, 242, 75), +(57, 243, 86), +(57, 244, 67), +(57, 245, 78), +(57, 246, 72), +(57, 247, 67), +(57, 248, 86), +(57, 249, 87), +(57, 250, 96), +(57, 251, 75), +(57, 252, 90), +(57, 253, 74), +(57, 254, 85), +(57, 255, 89), +(57, 256, 93), +(57, 257, 86), +(57, 258, 79), +(57, 259, 67), +(57, 260, 84), +(57, 261, 98), +(57, 262, 67), +(57, 263, 72), +(57, 264, 85), +(57, 265, 81), +(57, 266, 66), +(57, 267, 87), +(57, 268, 75), +(57, 269, 84), +(57, 270, 87), +(57, 271, 91), +(57, 272, 67), +(57, 273, 88), +(57, 274, 87), +(57, 275, 95), +(57, 276, 85), +(57, 277, 81), +(57, 278, 86), +(57, 279, 98), +(57, 280, 90), +(57, 281, 90), +(57, 282, 79), +(57, 283, 86), +(57, 284, 74), +(57, 285, 67), +(57, 286, 68), +(57, 287, 82), +(57, 288, 90), +(57, 289, 76), +(57, 290, 83), +(57, 291, 95), +(57, 292, 75), +(57, 293, 88), +(57, 294, 85), +(57, 295, 73), +(57, 296, 93), +(57, 297, 92), +(57, 298, 78), +(57, 299, 66), +(57, 300, 98), +(57, 301, 66), +(57, 302, 78), +(57, 303, 91), +(57, 304, 72), +(57, 305, 69), +(57, 306, 94), +(57, 307, 95), +(57, 308, 94), +(57, 309, 76), +(57, 310, 72), +(57, 311, 67), +(57, 312, 70), +(57, 313, 98), +(57, 314, 74), +(57, 315, 70), +(57, 316, 67), +(57, 317, 96), +(57, 318, 97), +(57, 319, 99), +(57, 320, 67), +(57, 321, 78), +(57, 322, 96), +(57, 323, 90), +(57, 324, 93), +(57, 325, 91), +(57, 326, 90), +(57, 327, 81), +(57, 328, 83), +(57, 329, 74), +(57, 330, 68), +(57, 331, 83), +(57, 332, 77), +(57, 333, 67), +(57, 334, 81), +(57, 335, 70), +(57, 336, 89), +(57, 337, 75), +(57, 338, 75), +(57, 339, 79), +(57, 340, 68), +(57, 341, 79), +(57, 342, 96), +(57, 343, 69), +(57, 344, 85), +(57, 345, 92), +(57, 346, 65), +(57, 347, 71), +(57, 348, 80), +(57, 349, 69), +(57, 350, 76), +(57, 351, 79), +(57, 352, 68), +(57, 353, 72), +(57, 354, 76), +(57, 355, 77), +(57, 356, 82), +(57, 357, 71), +(57, 358, 67), +(57, 359, 67), +(57, 360, 84), +(57, 361, 93), +(57, 362, 75), +(57, 363, 94), +(57, 364, 84), +(57, 365, 87), +(57, 366, 77), +(57, 367, 66), +(57, 368, 89), +(57, 369, 75), +(57, 370, 97), +(57, 371, 67), +(57, 372, 98), +(57, 373, 78), +(57, 374, 87), +(57, 375, 95), +(57, 376, 91), +(57, 377, 91), +(57, 378, 94), +(57, 379, 66), +(57, 380, 96), +(57, 381, 78), +(57, 382, 84), +(57, 383, 77), +(57, 384, 89), +(57, 385, 79), +(57, 386, 93), +(57, 387, 75), +(57, 388, 77), +(57, 389, 95), +(57, 390, 96), +(57, 391, 70), +(57, 392, 98), +(57, 393, 78), +(57, 394, 94), +(57, 395, 88), +(57, 396, 73), +(57, 397, 99), +(57, 398, 97), +(57, 399, 94), +(57, 400, 99), +(57, 401, 78), +(57, 402, 69), +(57, 403, 97), +(57, 404, 75), +(57, 405, 74), +(57, 406, 80), +(57, 407, 99), +(57, 408, 70), +(57, 409, 78), +(57, 410, 79), +(57, 411, 84), +(57, 412, 77), +(57, 413, 73), +(57, 414, 95), +(57, 415, 84), +(57, 416, 66), +(57, 417, 86), +(57, 418, 66), +(57, 419, 77), +(57, 420, 78), +(57, 421, 84), +(57, 422, 84), +(57, 423, 79), +(57, 424, 90), +(57, 425, 74), +(57, 426, 73), +(57, 427, 83), +(57, 428, 95), +(57, 429, 72), +(57, 430, 76), +(57, 431, 83), +(57, 432, 82), +(57, 433, 65), +(57, 434, 66), +(57, 435, 66), +(57, 436, 79), +(57, 437, 88), +(57, 438, 83), +(57, 439, 66), +(57, 440, 84), +(57, 441, 72), +(57, 442, 81), +(57, 443, 82), +(57, 444, 82), +(57, 445, 73), +(57, 446, 96), +(57, 447, 71), +(57, 448, 99), +(57, 449, 65), +(57, 450, 84), +(57, 451, 79), +(57, 452, 65), +(57, 453, 90), +(57, 454, 65), +(57, 455, 99), +(57, 456, 92), +(57, 457, 76), +(57, 458, 77), +(57, 459, 82), +(57, 460, 92), +(57, 461, 81), +(57, 462, 79), +(57, 463, 73), +(57, 464, 90), +(57, 465, 89), +(57, 466, 86), +(57, 467, 65), +(57, 468, 91), +(57, 469, 80), +(57, 470, 69), +(57, 471, 67), +(57, 472, 84), +(57, 473, 78), +(57, 474, 87), +(57, 475, 85), +(57, 476, 97), +(57, 477, 84), +(57, 478, 72), +(57, 479, 86), +(57, 480, 96), +(57, 481, 71), +(57, 482, 99), +(57, 483, 79), +(57, 484, 67), +(57, 485, 94), +(57, 486, 84), +(57, 487, 83), +(57, 488, 96), +(57, 489, 66), +(57, 490, 88), +(57, 491, 92), +(57, 492, 75), +(57, 493, 95), +(57, 494, 99), +(57, 495, 69), +(57, 496, 83), +(57, 497, 82), +(57, 498, 67), +(57, 499, 86), +(57, 500, 74), +(57, 501, 68), +(57, 502, 67), +(57, 503, 90), +(57, 504, 74), +(57, 505, 68), +(57, 506, 71), +(57, 507, 89), +(57, 508, 95), +(57, 509, 84), +(57, 510, 67), +(57, 511, 82), +(57, 512, 78), +(57, 513, 73), +(57, 514, 68), +(57, 515, 71), +(57, 516, 77), +(57, 517, 90), +(57, 518, 77), +(57, 519, 87), +(57, 520, 99), +(57, 521, 85), +(57, 522, 74), +(57, 523, 98), +(57, 524, 92), +(57, 525, 78), +(57, 526, 71), +(57, 527, 87), +(57, 528, 93), +(57, 529, 79), +(57, 530, 92), +(57, 531, 97), +(57, 532, 87), +(57, 533, 97), +(57, 534, 67), +(57, 535, 97), +(57, 536, 97), +(57, 537, 73), +(57, 538, 65), +(57, 539, 82), +(57, 540, 88), +(57, 541, 79), +(57, 542, 84), +(57, 543, 72), +(57, 544, 77), +(57, 545, 82), +(57, 546, 74), +(57, 547, 68), +(57, 548, 69), +(57, 549, 70), +(57, 550, 66), +(57, 551, 73), +(57, 552, 78), +(57, 553, 95), +(57, 554, 67), +(57, 555, 96), +(57, 556, 99), +(57, 557, 85), +(57, 558, 65), +(57, 559, 76), +(57, 560, 77), +(57, 561, 97), +(57, 562, 88), +(57, 563, 96), +(57, 564, 81), +(57, 1024, 96), +(57, 1025, 96), +(57, 1026, 73), +(57, 1027, 96), +(57, 1028, 72), +(57, 1029, 68), +(57, 1030, 88), +(57, 1031, 83), +(57, 1032, 65), +(57, 1033, 84), +(57, 1034, 73), +(57, 1035, 67), +(57, 1036, 89), +(57, 1037, 77), +(57, 1038, 94), +(57, 1039, 92), +(57, 1040, 99), +(57, 1041, 92), +(57, 1042, 98), +(57, 1043, 66), +(57, 1044, 94), +(57, 1045, 66), +(57, 1046, 83), +(57, 1047, 74), +(57, 1048, 95), +(57, 1049, 74), +(57, 1050, 92), +(57, 1051, 88), +(57, 1052, 72), +(57, 1053, 79), +(57, 1054, 90), +(57, 1055, 65), +(57, 1056, 79), +(57, 1057, 67), +(57, 1058, 94), +(57, 1059, 71), +(57, 1060, 99), +(57, 1061, 97), +(57, 1062, 93), +(57, 1063, 81), +(57, 1064, 85), +(57, 1065, 94), +(57, 1066, 85), +(57, 1067, 78), +(57, 1068, 89), +(57, 1069, 66), +(57, 1070, 93), +(57, 1071, 88), +(57, 1072, 69), +(57, 1073, 92), +(57, 1074, 72), +(57, 1075, 81), +(57, 1076, 95), +(57, 1077, 78), +(57, 1078, 66), +(57, 1079, 73), +(57, 1080, 98), +(57, 1081, 87), +(57, 1082, 65), +(57, 1083, 96), +(57, 1084, 84), +(57, 1085, 83), +(57, 1086, 89), +(57, 1087, 69), +(57, 1088, 95), +(57, 1089, 91), +(57, 1090, 76), +(57, 1091, 66), +(57, 1092, 76), +(57, 1093, 74), +(57, 1094, 90), +(57, 1095, 74), +(57, 1096, 84), +(57, 1097, 93), +(57, 1098, 97), +(57, 1099, 91), +(57, 1100, 78), +(57, 1101, 98), +(57, 1102, 96), +(57, 1103, 98), +(57, 1104, 86), +(57, 1105, 79), +(57, 1106, 94), +(57, 1107, 94), +(57, 1108, 81), +(57, 1109, 79), +(57, 1110, 85), +(57, 1111, 69), +(57, 1112, 98), +(57, 1113, 74), +(57, 1114, 91), +(57, 1115, 95), +(57, 1116, 94), +(57, 1117, 97), +(57, 1118, 97), +(57, 1119, 78), +(57, 1120, 69), +(57, 1121, 97), +(57, 1122, 99), +(57, 1123, 91), +(57, 1124, 95), +(57, 1125, 85), +(57, 1126, 73), +(57, 1127, 79), +(57, 1128, 84), +(57, 1129, 89), +(57, 1130, 90), +(57, 1131, 73), +(57, 1132, 83), +(57, 1133, 71), +(57, 1134, 93), +(57, 1135, 70), +(57, 1136, 77), +(57, 1137, 80), +(57, 1138, 92), +(57, 1139, 80), +(57, 1140, 86), +(57, 1141, 93), +(57, 1142, 85), +(57, 1143, 93), +(57, 1144, 99), +(57, 1145, 87), +(57, 1146, 96), +(57, 1147, 96), +(57, 1148, 87), +(57, 1149, 92), +(57, 1150, 86), +(57, 1151, 67), +(57, 1152, 95), +(57, 1153, 75), +(57, 1154, 73), +(57, 1155, 89), +(57, 1156, 96), +(57, 1157, 83), +(57, 1158, 67), +(57, 1159, 67), +(57, 1160, 83), +(57, 1161, 85), +(57, 1162, 85), +(57, 1163, 78), +(57, 1164, 82), +(57, 1165, 72), +(57, 1166, 89), +(57, 1167, 75), +(57, 1168, 74), +(57, 1169, 88), +(57, 1170, 74), +(57, 1171, 80), +(57, 1172, 96), +(57, 1173, 78), +(57, 1174, 91), +(57, 1175, 73), +(57, 1176, 93), +(57, 1177, 67), +(57, 1178, 69), +(57, 1179, 82), +(57, 1180, 73), +(57, 1181, 76), +(57, 1182, 70), +(57, 1183, 67), +(57, 1184, 77), +(57, 1185, 81), +(57, 1186, 65), +(57, 1187, 88), +(57, 1188, 75), +(57, 1189, 85), +(57, 1190, 98), +(57, 1191, 72), +(57, 1192, 85), +(57, 1193, 70), +(57, 1194, 84), +(57, 1195, 87), +(57, 1196, 74), +(57, 1197, 93), +(57, 1198, 86), +(57, 1199, 67), +(57, 1200, 89), +(57, 1201, 82), +(57, 1202, 93), +(57, 1203, 92), +(57, 1204, 85), +(57, 1205, 93), +(57, 1206, 69), +(57, 1207, 74), +(57, 1208, 78), +(57, 1209, 71), +(57, 1210, 79), +(57, 1211, 79), +(57, 1212, 92), +(57, 1213, 99), +(57, 1214, 91), +(57, 1215, 72), +(57, 1216, 66), +(57, 1217, 68), +(57, 1218, 89), +(57, 1219, 99), +(57, 1220, 97), +(57, 1221, 71), +(57, 1222, 83), +(57, 1223, 70), +(57, 1224, 94), +(57, 1225, 87), +(57, 1226, 83), +(57, 1227, 96), +(57, 1228, 68), +(57, 1229, 72), +(57, 1230, 86), +(57, 1231, 76), +(57, 1232, 86), +(57, 1233, 72), +(57, 1234, 76), +(57, 1235, 86), +(57, 1236, 79), +(57, 1237, 98), +(57, 1238, 88), +(57, 1239, 94), +(57, 1240, 78), +(57, 1241, 75), +(57, 1242, 68), +(57, 1243, 86), +(57, 1244, 91), +(57, 1245, 96), +(57, 1246, 79), +(57, 1247, 87), +(57, 1248, 69), +(57, 1249, 70), +(57, 1250, 70), +(57, 1251, 81), +(57, 1252, 68), +(57, 1253, 81), +(57, 1254, 83), +(57, 1255, 92), +(57, 1256, 79), +(57, 1257, 92), +(57, 1258, 72), +(57, 1259, 68), +(57, 1260, 87), +(57, 1261, 94), +(57, 1262, 80), +(57, 1263, 78), +(57, 1264, 86), +(57, 1265, 97), +(57, 1266, 72), +(57, 1267, 76), +(57, 1268, 95), +(57, 1269, 72), +(57, 1270, 88), +(57, 1271, 67), +(57, 1272, 91), +(57, 1273, 76), +(57, 1274, 94), +(57, 1275, 80), +(57, 1276, 94), +(57, 1277, 79), +(57, 1278, 98), +(57, 1279, 75), +(57, 1280, 80), +(57, 1281, 93), +(57, 1282, 77), +(57, 1283, 68), +(57, 1284, 96), +(57, 1285, 71), +(57, 1286, 97), +(57, 1287, 91), +(57, 1288, 99), +(57, 1289, 77), +(57, 1290, 91), +(57, 1291, 75), +(57, 1292, 93), +(57, 1293, 79), +(57, 1294, 87), +(57, 1295, 87), +(57, 1296, 81), +(57, 1297, 69), +(57, 1298, 88), +(57, 1299, 65), +(57, 1300, 94), +(57, 1301, 99), +(57, 1302, 96), +(57, 1303, 72), +(57, 1304, 93), +(57, 1305, 73), +(57, 1306, 92), +(57, 1307, 66), +(57, 1308, 85), +(57, 1309, 84), +(57, 1310, 65), +(57, 1311, 76), +(57, 1312, 91), +(57, 1313, 70), +(57, 1314, 82), +(57, 1315, 89), +(57, 1316, 68), +(57, 1317, 67), +(57, 1318, 89), +(57, 1319, 72), +(57, 1320, 86), +(57, 1321, 85), +(57, 1322, 78), +(57, 1323, 67), +(57, 1324, 94), +(57, 1325, 94), +(57, 1326, 69), +(57, 1327, 86), +(57, 1328, 90), +(57, 1329, 73), +(57, 1330, 92), +(57, 1331, 68), +(57, 1332, 67), +(57, 1333, 96), +(57, 1334, 91), +(57, 1335, 92), +(57, 1336, 83), +(57, 1337, 87), +(57, 1338, 95), +(57, 1339, 94), +(57, 1340, 99), +(57, 1341, 91), +(57, 1342, 81), +(57, 1343, 80), +(57, 1344, 94), +(57, 1345, 85), +(57, 1346, 80), +(57, 1347, 82), +(57, 1348, 97), +(57, 1349, 83), +(57, 1350, 80), +(57, 1351, 73), +(57, 1352, 65), +(57, 1353, 65), +(57, 1354, 69), +(57, 1355, 85), +(57, 1356, 75), +(57, 1357, 82), +(57, 1358, 82), +(57, 1359, 66), +(57, 1360, 80), +(57, 1361, 88), +(57, 1362, 77), +(57, 1363, 84), +(57, 1364, 77), +(57, 1365, 81), +(57, 1366, 78), +(57, 1367, 82), +(57, 1368, 96), +(57, 1369, 69), +(57, 1370, 73), +(57, 1371, 74), +(57, 1372, 93), +(57, 1373, 90), +(57, 1374, 95), +(57, 1375, 99), +(57, 1376, 68), +(57, 1377, 92), +(57, 1378, 91), +(57, 1379, 88), +(57, 1380, 79), +(57, 1381, 86), +(57, 1382, 72), +(57, 1383, 67), +(57, 1384, 73), +(57, 1385, 66), +(57, 1386, 67), +(57, 1387, 69), +(57, 1388, 87), +(57, 1389, 81), +(57, 1390, 99), +(57, 1391, 78), +(57, 1392, 81), +(57, 1393, 78), +(57, 1394, 91), +(57, 1395, 81), +(57, 1396, 81), +(57, 1397, 90), +(57, 1398, 75), +(57, 1399, 86), +(57, 1400, 73), +(57, 1401, 80), +(57, 1402, 96), +(57, 1403, 86), +(57, 1404, 91), +(57, 1405, 69), +(57, 1406, 98), +(57, 1407, 84), +(57, 1408, 99), +(57, 1409, 80), +(57, 1410, 65), +(57, 1411, 91), +(57, 1412, 93), +(57, 1413, 76), +(57, 1414, 72), +(57, 1415, 74), +(57, 1416, 83), +(57, 1417, 89), +(57, 1418, 83), +(57, 1419, 91), +(57, 1420, 73), +(57, 1421, 86), +(57, 1422, 80), +(57, 1423, 91), +(57, 1424, 87), +(57, 1425, 88), +(57, 1426, 65), +(57, 1427, 84), +(57, 1428, 95), +(57, 1429, 77), +(57, 1430, 74), +(57, 1431, 65), +(57, 1432, 88), +(57, 1433, 96), +(57, 1434, 91), +(57, 1435, 70), +(57, 1436, 79), +(57, 1437, 74), +(57, 1438, 78), +(57, 1439, 77), +(57, 1440, 81), +(57, 1441, 98), +(57, 1442, 92), +(57, 1443, 76), +(57, 1444, 89), +(57, 1445, 85), +(57, 1446, 87), +(57, 1447, 87), +(57, 1448, 78), +(57, 1449, 69), +(57, 1450, 94), +(57, 1451, 90), +(57, 1452, 75), +(57, 1453, 67), +(57, 1454, 69), +(57, 1455, 92), +(57, 1456, 74), +(57, 1457, 68), +(57, 1458, 70), +(57, 1459, 81), +(57, 1460, 91), +(57, 1461, 97), +(57, 1462, 97), +(57, 1463, 97), +(57, 1464, 65), +(57, 1465, 92), +(57, 1466, 68), +(57, 1467, 71), +(57, 1468, 82), +(57, 1469, 79), +(57, 1470, 87), +(57, 1471, 75), +(57, 1472, 75), +(57, 1473, 92), +(57, 1474, 85), +(57, 1475, 66), +(57, 1476, 65), +(57, 1477, 88), +(57, 1478, 72), +(57, 1479, 73), +(57, 1480, 72), +(57, 1481, 65), +(57, 1482, 89), +(57, 1483, 74), +(57, 1484, 72), +(57, 1485, 67), +(57, 1486, 85), +(57, 1487, 98), +(57, 1488, 71), +(57, 1489, 67), +(57, 1490, 88), +(57, 1491, 89), +(57, 1492, 68), +(57, 1493, 96), +(57, 1494, 75), +(57, 1495, 71), +(57, 1496, 77), +(57, 1497, 86), +(57, 1498, 90), +(57, 1499, 97), +(57, 1500, 96), +(57, 1501, 76), +(57, 1502, 80), +(57, 1503, 76), +(57, 1504, 88), +(57, 1505, 85), +(57, 1506, 79), +(57, 1507, 86), +(57, 1508, 96), +(57, 1509, 90), +(57, 1510, 89), +(57, 1511, 74), +(57, 1512, 97), +(57, 1513, 79), +(57, 1514, 84), +(57, 1515, 82), +(57, 1516, 82), +(57, 1517, 67), +(57, 1518, 91), +(57, 1519, 75), +(57, 1520, 73), +(57, 1521, 71), +(57, 1522, 90), +(57, 1523, 80), +(57, 1524, 90), +(57, 1525, 76), +(57, 1526, 97), +(57, 1527, 99), +(57, 1528, 68), +(57, 1529, 95), +(57, 1530, 98), +(57, 1531, 89), +(57, 1532, 90), +(57, 1533, 97), +(57, 1534, 81), +(57, 1535, 93), +(57, 1536, 90), +(57, 1537, 92), +(57, 1538, 73), +(57, 1539, 70), +(57, 1540, 98), +(57, 1541, 69), +(57, 1542, 71), +(57, 1543, 71), +(57, 1544, 81), +(57, 1545, 82), +(57, 1546, 88), +(57, 1547, 79), +(57, 1548, 79), +(57, 1549, 66), +(57, 1550, 97), +(57, 1551, 84), +(57, 1552, 82), +(57, 1553, 88), +(57, 1554, 85), +(57, 1555, 82), +(57, 1556, 68), +(57, 1557, 98), +(57, 1558, 68), +(57, 1559, 71), +(57, 1560, 81), +(57, 1561, 90), +(57, 1562, 87), +(57, 1563, 98), +(57, 1564, 81), +(57, 1565, 76), +(57, 1566, 90), +(57, 1567, 78), +(57, 1568, 65), +(57, 1569, 76), +(57, 1570, 72), +(57, 1571, 95), +(57, 1572, 91), +(57, 1573, 76), +(57, 1574, 70), +(57, 1575, 89), +(57, 1576, 96), +(57, 1577, 92), +(57, 1578, 99), +(57, 1579, 83), +(57, 1580, 86), +(57, 1581, 96), +(57, 1582, 73), +(57, 1583, 73), +(57, 1584, 92), +(57, 1585, 98), +(57, 1586, 80), +(57, 1587, 88), +(57, 2047, 91), +(57, 2048, 71), +(57, 2049, 95), +(57, 2050, 76), +(57, 2051, 65), +(57, 2052, 71), +(57, 2053, 95), +(57, 2054, 93), +(57, 2055, 73), +(57, 2056, 71), +(57, 2057, 69), +(57, 2058, 72), +(57, 2059, 83), +(57, 2060, 74), +(57, 2061, 95), +(57, 2062, 71), +(57, 2063, 95), +(57, 2064, 71), +(57, 2065, 79), +(57, 2066, 81), +(57, 2067, 72), +(57, 2068, 85), +(57, 2069, 78), +(57, 2070, 97), +(57, 2071, 86), +(57, 2072, 86), +(57, 2073, 92), +(57, 2074, 94), +(57, 2075, 97), +(57, 2076, 91), +(57, 2077, 94), +(57, 2078, 86), +(57, 2079, 93), +(57, 2080, 87), +(57, 2081, 87), +(57, 2082, 76), +(57, 2083, 65), +(57, 2084, 81), +(57, 2085, 95), +(57, 2086, 88), +(57, 2087, 81), +(57, 2088, 76), +(57, 2089, 95), +(57, 2090, 68), +(57, 2091, 72), +(57, 2092, 95), +(57, 2093, 97), +(57, 2094, 66), +(57, 2095, 96), +(57, 2096, 85), +(57, 2097, 67), +(57, 2098, 86), +(57, 2099, 96), +(57, 2100, 82), +(57, 2101, 98), +(57, 2102, 67), +(57, 2103, 98), +(57, 2104, 92), +(57, 2105, 85), +(57, 2106, 94), +(57, 2107, 79), +(57, 2108, 73), +(57, 2109, 66), +(57, 2110, 98), +(57, 2111, 98), +(57, 2112, 86), +(57, 2113, 83), +(57, 2114, 95), +(57, 2115, 78), +(57, 2116, 75), +(57, 2117, 76), +(57, 2118, 94), +(57, 2119, 88), +(57, 2120, 94), +(57, 2121, 81), +(57, 2122, 86), +(57, 2123, 81), +(57, 2124, 74), +(57, 2125, 82), +(57, 2126, 87), +(57, 2127, 78), +(57, 2128, 85), +(57, 2129, 73), +(57, 2130, 85), +(57, 2131, 92), +(57, 2132, 89), +(57, 2133, 79), +(57, 2134, 96), +(57, 2135, 90), +(57, 2136, 90), +(57, 2137, 70), +(57, 2138, 84), +(57, 2139, 65), +(57, 2140, 95), +(57, 2141, 86), +(57, 2142, 99), +(57, 2143, 65), +(57, 2144, 93), +(57, 2145, 90), +(57, 2146, 94), +(57, 2147, 86), +(57, 2148, 93), +(57, 2149, 84), +(57, 2150, 76), +(57, 2151, 77), +(57, 2152, 97), +(57, 2153, 72), +(57, 2154, 80), +(57, 2155, 70), +(57, 2156, 76), +(57, 2157, 90), +(57, 2158, 78), +(57, 2159, 67), +(57, 2160, 78), +(57, 2161, 65), +(57, 2162, 86), +(57, 2163, 92), +(57, 2164, 65), +(57, 2165, 81), +(57, 2166, 74), +(57, 2167, 94), +(57, 2168, 86), +(57, 2169, 78), +(57, 2170, 71), +(57, 2171, 70), +(57, 2172, 76), +(57, 2173, 67), +(57, 2174, 80), +(57, 2175, 98), +(57, 2176, 75), +(57, 2177, 76), +(57, 2178, 97), +(57, 2179, 87), +(57, 2180, 65), +(57, 2181, 81), +(57, 2182, 79), +(57, 2183, 77), +(57, 2184, 93), +(57, 2185, 84), +(57, 2186, 93), +(57, 2187, 95), +(57, 2188, 65), +(57, 2189, 93), +(57, 2190, 83), +(57, 2191, 80), +(57, 2192, 84), +(57, 2193, 86), +(57, 2194, 88), +(57, 2195, 93), +(57, 2196, 79), +(57, 2197, 78), +(57, 2198, 66), +(57, 2199, 67), +(57, 2200, 99), +(57, 2201, 77), +(57, 2202, 83), +(57, 2203, 83), +(57, 2204, 84), +(57, 2205, 69), +(57, 2206, 68), +(57, 2207, 81), +(57, 2208, 80), +(57, 2209, 85), +(57, 2210, 89), +(57, 2211, 98), +(57, 2212, 87), +(57, 2213, 76), +(57, 2214, 83), +(57, 2215, 98), +(57, 2216, 94), +(57, 2217, 83), +(57, 2218, 85), +(57, 2219, 87), +(57, 2220, 69), +(57, 2221, 95), +(57, 2222, 88), +(57, 2223, 94), +(57, 2224, 84), +(57, 2225, 82), +(57, 2226, 94), +(57, 2227, 78), +(57, 2228, 82), +(57, 2229, 95), +(57, 2230, 89), +(57, 2231, 81), +(57, 2232, 98), +(57, 2233, 91), +(57, 2234, 76), +(57, 2235, 81), +(57, 2236, 95), +(57, 2237, 92), +(57, 2238, 92), +(57, 2239, 98), +(57, 2240, 77), +(57, 2241, 81), +(57, 2242, 97), +(57, 2243, 91), +(57, 2244, 85), +(57, 2245, 93), +(57, 2246, 91), +(57, 2247, 84), +(57, 2248, 99), +(57, 2249, 68), +(57, 2250, 69), +(57, 2251, 79), +(57, 2252, 67), +(57, 2253, 90), +(57, 2254, 79), +(57, 2255, 85), +(57, 2256, 68), +(57, 2257, 65), +(57, 2258, 98), +(57, 2259, 85), +(57, 2260, 68), +(57, 2261, 96), +(57, 2262, 72), +(57, 2263, 76), +(57, 2264, 84), +(57, 2265, 85), +(57, 2266, 91), +(57, 2267, 67), +(57, 2268, 74), +(57, 2269, 98), +(57, 2270, 77), +(57, 2271, 84), +(57, 2272, 66), +(57, 2273, 86), +(57, 2274, 89), +(57, 2275, 92), +(57, 2276, 99), +(57, 2277, 89), +(57, 2278, 93), +(57, 2279, 97), +(57, 2280, 86), +(57, 2281, 78), +(57, 2282, 77), +(57, 2283, 81), +(57, 2284, 70), +(57, 2285, 76), +(57, 2286, 69), +(57, 2287, 79), +(57, 2288, 87), +(57, 2289, 76), +(57, 2290, 65), +(57, 2291, 99), +(57, 2292, 68), +(57, 2293, 96), +(57, 2294, 65), +(57, 2295, 91), +(57, 2296, 87), +(57, 2297, 93), +(57, 2298, 91), +(57, 2299, 81), +(57, 2300, 70), +(57, 2301, 82), +(57, 2302, 95), +(57, 2303, 84), +(57, 2304, 72), +(57, 2305, 76), +(57, 2306, 90), +(57, 2307, 92), +(57, 2308, 74), +(57, 2309, 87), +(57, 2310, 84), +(57, 2311, 90), +(57, 2312, 92), +(57, 2313, 99), +(57, 2314, 75), +(57, 2315, 79), +(57, 2316, 66), +(57, 2317, 89), +(57, 2318, 86), +(57, 2319, 78), +(57, 2320, 96), +(57, 2321, 90), +(57, 2322, 83), +(57, 2323, 69), +(57, 2324, 93), +(57, 2325, 79), +(57, 2326, 94), +(57, 2327, 65), +(57, 2328, 68), +(57, 2329, 65), +(57, 2330, 67), +(57, 2331, 78), +(57, 2332, 94), +(57, 2333, 84), +(57, 2334, 81), +(57, 2335, 91), +(57, 2336, 89), +(57, 2337, 99), +(57, 2338, 96), +(57, 2339, 73), +(57, 2340, 95), +(57, 2341, 66), +(57, 2342, 83), +(57, 2343, 99), +(57, 2344, 75), +(57, 2345, 81), +(57, 2346, 89), +(57, 2347, 73), +(57, 2348, 68), +(57, 2349, 79), +(57, 2350, 69), +(57, 2351, 94), +(57, 2352, 90), +(57, 2353, 96), +(57, 2354, 76), +(57, 2355, 70), +(57, 2356, 95), +(57, 2357, 68), +(57, 2358, 93), +(57, 2359, 86), +(57, 2360, 76), +(57, 2361, 80), +(57, 2362, 90), +(57, 2363, 88), +(57, 2364, 76), +(57, 2365, 84), +(57, 2366, 88), +(57, 2367, 72), +(57, 2368, 92), +(57, 2369, 87), +(57, 2370, 69), +(57, 2371, 80), +(57, 2372, 88), +(57, 2373, 88), +(57, 2374, 97), +(57, 2375, 91), +(57, 2376, 74), +(57, 2377, 87), +(57, 2378, 97), +(57, 2379, 73), +(57, 2380, 93), +(57, 2381, 97), +(57, 2382, 94), +(57, 2383, 73), +(57, 2384, 65), +(57, 2385, 76), +(57, 2386, 73), +(57, 2387, 73), +(57, 2388, 65), +(57, 2389, 68), +(57, 2390, 94), +(57, 2391, 65), +(57, 2392, 89), +(57, 2393, 91), +(57, 2394, 94), +(57, 2395, 84), +(57, 2396, 89), +(57, 2397, 66), +(57, 2398, 74), +(57, 2399, 95), +(57, 2400, 82), +(57, 2401, 68), +(57, 2402, 96), +(57, 2403, 74), +(57, 2404, 86), +(57, 2405, 83), +(57, 2406, 66), +(57, 2407, 67), +(57, 2408, 70), +(57, 2409, 65), +(57, 2410, 65), +(57, 2411, 91), +(57, 2412, 68), +(57, 2413, 66), +(57, 2414, 70), +(57, 2415, 84), +(57, 2416, 85), +(57, 2417, 75), +(57, 2418, 76), +(57, 2419, 75), +(57, 2420, 94), +(57, 2421, 87), +(57, 2422, 68), +(57, 2423, 67), +(57, 2424, 70), +(57, 2425, 92), +(57, 2426, 80), +(57, 2427, 97), +(57, 2428, 85), +(57, 2429, 99), +(57, 2430, 96), +(57, 2431, 98), +(57, 2432, 70), +(57, 2433, 70), +(57, 2434, 81), +(57, 2435, 90), +(57, 2436, 82), +(57, 2437, 71), +(57, 2438, 72), +(57, 2439, 86), +(57, 2440, 65), +(57, 2441, 92), +(57, 2442, 96), +(57, 2443, 80), +(57, 2444, 87), +(57, 2445, 95), +(57, 2446, 82), +(57, 2447, 67), +(57, 2448, 68), +(57, 2449, 85), +(57, 2450, 72), +(57, 2451, 80), +(57, 2452, 77), +(57, 2453, 67), +(57, 2454, 93), +(57, 2455, 95), +(57, 2456, 80), +(57, 2457, 91), +(57, 2458, 91), +(57, 2459, 67), +(57, 2460, 83), +(57, 2461, 86), +(57, 2462, 85), +(57, 2463, 84), +(57, 2464, 94), +(57, 2465, 68), +(57, 2466, 65), +(57, 2467, 68), +(57, 2468, 84), +(57, 2469, 92), +(57, 2470, 89), +(57, 2471, 65), +(57, 2472, 69), +(57, 2473, 99), +(57, 2474, 72), +(57, 2475, 85), +(57, 2476, 78), +(57, 2477, 81), +(57, 2478, 67), +(57, 2479, 72), +(57, 2480, 71), +(57, 2481, 97), +(57, 2482, 93), +(57, 2483, 77), +(57, 2484, 79), +(57, 2485, 70), +(57, 2486, 90), +(57, 2487, 84), +(57, 2488, 86), +(57, 2489, 94), +(57, 2490, 96), +(57, 2491, 79), +(57, 2492, 86), +(57, 2493, 98), +(57, 2494, 84), +(57, 2495, 68), +(57, 2496, 95), +(57, 2497, 96), +(57, 2498, 95), +(57, 2499, 76), +(57, 2500, 76), +(57, 2501, 85), +(57, 2502, 89), +(57, 2503, 96), +(57, 2504, 76), +(57, 2505, 94), +(57, 2506, 92), +(57, 2507, 78), +(57, 2508, 95), +(57, 2509, 84), +(57, 2510, 76), +(57, 2511, 76), +(57, 2512, 99), +(57, 2513, 91), +(57, 2514, 98), +(57, 2515, 72), +(57, 2516, 86), +(57, 2517, 96), +(57, 2518, 98), +(57, 2519, 83), +(57, 2520, 88), +(57, 2521, 91), +(57, 2522, 98), +(57, 2523, 67), +(57, 2524, 69), +(57, 2525, 98), +(57, 2526, 96), +(57, 2527, 98), +(57, 2528, 67), +(57, 2529, 89), +(57, 2530, 77), +(57, 2531, 94), +(57, 2532, 95), +(57, 2533, 66), +(57, 2534, 93), +(57, 2535, 98), +(57, 2536, 95), +(57, 2537, 68), +(57, 2538, 73), +(57, 2539, 83), +(57, 2540, 95), +(57, 2541, 96), +(57, 2542, 76), +(57, 2543, 71), +(57, 2544, 89), +(57, 2545, 92), +(57, 2546, 81), +(57, 2547, 86), +(57, 2548, 96), +(57, 2549, 70), +(57, 2550, 81), +(57, 2551, 70), +(57, 2552, 96), +(57, 2553, 89), +(57, 2554, 95), +(57, 2555, 94), +(57, 2556, 67), +(57, 2557, 87), +(57, 2558, 69), +(57, 2559, 97), +(57, 2560, 96), +(57, 2561, 70), +(57, 2562, 78), +(57, 2563, 85), +(57, 2564, 96), +(57, 2565, 82), +(57, 2566, 85), +(57, 2567, 95), +(57, 2568, 87), +(57, 2569, 94), +(57, 2570, 82), +(57, 2571, 90), +(57, 2572, 71), +(57, 2573, 90), +(57, 2574, 98), +(57, 2575, 81), +(57, 2576, 74), +(57, 2577, 95), +(57, 2578, 88), +(57, 2579, 78), +(57, 2580, 86), +(57, 2581, 92), +(57, 2582, 87), +(57, 2583, 99), +(57, 2584, 74), +(57, 2585, 91), +(57, 2586, 92), +(57, 2587, 97), +(57, 2588, 93), +(57, 2589, 80), +(57, 2590, 75), +(57, 2591, 99), +(57, 2592, 77), +(57, 2593, 69), +(57, 2594, 91), +(57, 2595, 76), +(57, 2596, 94), +(57, 2597, 91), +(57, 2598, 89), +(57, 2599, 77), +(57, 2600, 81), +(57, 2601, 80), +(57, 2602, 91), +(57, 2603, 79), +(57, 2604, 92), +(57, 2605, 88), +(57, 2606, 73), +(57, 2607, 79), +(57, 2608, 97), +(57, 2609, 72), +(57, 2610, 73), +(58, 1, 79), +(58, 2, 80), +(58, 3, 82), +(58, 4, 86), +(58, 5, 85), +(58, 6, 80), +(58, 7, 94), +(58, 8, 76), +(58, 9, 99), +(58, 10, 94), +(58, 11, 93), +(58, 12, 87), +(58, 13, 70), +(58, 14, 82), +(58, 15, 96), +(58, 16, 93), +(58, 17, 99), +(58, 18, 84), +(58, 19, 82), +(58, 20, 73), +(58, 21, 74), +(58, 22, 70), +(58, 23, 79), +(58, 24, 87), +(58, 25, 83), +(58, 26, 82), +(58, 27, 70), +(58, 28, 87), +(58, 29, 89), +(58, 30, 86), +(58, 31, 89), +(58, 32, 72), +(58, 33, 94), +(58, 34, 95), +(58, 35, 83), +(58, 36, 79), +(58, 37, 76), +(58, 38, 89), +(58, 39, 76), +(58, 40, 98), +(58, 41, 92), +(58, 42, 82), +(58, 43, 67), +(58, 44, 78), +(58, 45, 66), +(58, 46, 84), +(58, 47, 74), +(58, 48, 98), +(58, 49, 99), +(58, 50, 86), +(58, 51, 88), +(58, 52, 84), +(58, 53, 92), +(58, 54, 67), +(58, 55, 67), +(58, 56, 75), +(58, 57, 66), +(58, 58, 95), +(58, 59, 94), +(58, 60, 73), +(58, 61, 70), +(58, 62, 75), +(58, 63, 81), +(58, 64, 70), +(58, 65, 88), +(58, 66, 67), +(58, 67, 73), +(58, 68, 70), +(58, 69, 80), +(58, 70, 83), +(58, 71, 99), +(58, 72, 84), +(58, 73, 66), +(58, 74, 76), +(58, 75, 79), +(58, 76, 79), +(58, 77, 91), +(58, 78, 77), +(58, 79, 92), +(58, 80, 78), +(58, 81, 71), +(58, 82, 71), +(58, 83, 86), +(58, 84, 81), +(58, 85, 90), +(58, 86, 90), +(58, 87, 84), +(58, 88, 70), +(58, 89, 69), +(58, 90, 84), +(58, 91, 80), +(58, 92, 81), +(58, 93, 89), +(58, 94, 72), +(58, 95, 85), +(58, 96, 85), +(58, 97, 67), +(58, 98, 82), +(58, 99, 68), +(58, 100, 71), +(58, 101, 84), +(58, 102, 70), +(58, 103, 85), +(58, 104, 98), +(58, 105, 89), +(58, 106, 80), +(58, 107, 70), +(58, 108, 77), +(58, 109, 88), +(58, 110, 81), +(58, 111, 94), +(58, 112, 70); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(58, 113, 89), +(58, 114, 83), +(58, 115, 98), +(58, 116, 83), +(58, 117, 89), +(58, 118, 79), +(58, 119, 80), +(58, 120, 86), +(58, 121, 77), +(58, 122, 78), +(58, 123, 99), +(58, 124, 94), +(58, 125, 71), +(58, 126, 82), +(58, 127, 69), +(58, 128, 80), +(58, 129, 86), +(58, 130, 86), +(58, 131, 87), +(58, 132, 69), +(58, 133, 92), +(58, 134, 88), +(58, 135, 67), +(58, 136, 68), +(58, 137, 90), +(58, 138, 85), +(58, 139, 70), +(58, 140, 78), +(58, 141, 87), +(58, 142, 67), +(58, 143, 99), +(58, 144, 93), +(58, 145, 68), +(58, 146, 71), +(58, 147, 96), +(58, 148, 67), +(58, 149, 98), +(58, 150, 88), +(58, 151, 92), +(58, 152, 68), +(58, 153, 81), +(58, 154, 75), +(58, 155, 81), +(58, 156, 66), +(58, 157, 91), +(58, 158, 90), +(58, 159, 73), +(58, 160, 83), +(58, 161, 98), +(58, 162, 97), +(58, 163, 66), +(58, 164, 90), +(58, 165, 88), +(58, 166, 98), +(58, 167, 88), +(58, 168, 71), +(58, 169, 77), +(58, 170, 70), +(58, 171, 73), +(58, 172, 87), +(58, 173, 94), +(58, 174, 82), +(58, 175, 84), +(58, 176, 69), +(58, 177, 70), +(58, 178, 84), +(58, 179, 74), +(58, 180, 80), +(58, 181, 91), +(58, 182, 84), +(58, 183, 94), +(58, 184, 80), +(58, 185, 68), +(58, 186, 74), +(58, 187, 73), +(58, 188, 66), +(58, 189, 80), +(58, 190, 81), +(58, 191, 67), +(58, 192, 99), +(58, 193, 87), +(58, 194, 93), +(58, 195, 73), +(58, 196, 65), +(58, 197, 78), +(58, 198, 87), +(58, 199, 90), +(58, 200, 67), +(58, 201, 78), +(58, 202, 65), +(58, 203, 87), +(58, 204, 85), +(58, 205, 78), +(58, 206, 75), +(58, 207, 83), +(58, 208, 96), +(58, 209, 86), +(58, 210, 67), +(58, 211, 90), +(58, 212, 93), +(58, 213, 85), +(58, 214, 96), +(58, 215, 98), +(58, 216, 81), +(58, 217, 95), +(58, 218, 68), +(58, 219, 95), +(58, 220, 98), +(58, 221, 97), +(58, 222, 85), +(58, 223, 75), +(58, 224, 79), +(58, 225, 99), +(58, 226, 66), +(58, 227, 72), +(58, 228, 66), +(58, 229, 85), +(58, 230, 72), +(58, 231, 81), +(58, 232, 67), +(58, 233, 92), +(58, 234, 84), +(58, 235, 94), +(58, 236, 83), +(58, 237, 97), +(58, 238, 94), +(58, 239, 79), +(58, 240, 75), +(58, 241, 75), +(58, 242, 97), +(58, 243, 77), +(58, 244, 77), +(58, 245, 68), +(58, 246, 97), +(58, 247, 88), +(58, 248, 78), +(58, 249, 72), +(58, 250, 88), +(58, 251, 81), +(58, 252, 77), +(58, 253, 68), +(58, 254, 79), +(58, 255, 68), +(58, 256, 85), +(58, 257, 81), +(58, 258, 84), +(58, 259, 65), +(58, 260, 93), +(58, 261, 81), +(58, 262, 83), +(58, 263, 69), +(58, 264, 96), +(58, 265, 90), +(58, 266, 85), +(58, 267, 67), +(58, 268, 74), +(58, 269, 94), +(58, 270, 77), +(58, 271, 66), +(58, 272, 69), +(58, 273, 77), +(58, 274, 71), +(58, 275, 99), +(58, 276, 65), +(58, 277, 83), +(58, 278, 83), +(58, 279, 79), +(58, 280, 91), +(58, 281, 71), +(58, 282, 91), +(58, 283, 86), +(58, 284, 73), +(58, 285, 97), +(58, 286, 90), +(58, 287, 78), +(58, 288, 87), +(58, 289, 71), +(58, 290, 74), +(58, 291, 74), +(58, 292, 73), +(58, 293, 87), +(58, 294, 71), +(58, 295, 89), +(58, 296, 77), +(58, 297, 86), +(58, 298, 86), +(58, 299, 74), +(58, 300, 82), +(58, 301, 83), +(58, 302, 79), +(58, 303, 91), +(58, 304, 98), +(58, 305, 75), +(58, 306, 90), +(58, 307, 86), +(58, 308, 91), +(58, 309, 92), +(58, 310, 69), +(58, 311, 87), +(58, 312, 90), +(58, 313, 74), +(58, 314, 77), +(58, 315, 88), +(58, 316, 86), +(58, 317, 96), +(58, 318, 96), +(58, 319, 91), +(58, 320, 65), +(58, 321, 84), +(58, 322, 94), +(58, 323, 79), +(58, 324, 79), +(58, 325, 65), +(58, 326, 83), +(58, 327, 79), +(58, 328, 80), +(58, 329, 67), +(58, 330, 69), +(58, 331, 84), +(58, 332, 79), +(58, 333, 91), +(58, 334, 89), +(58, 335, 91), +(58, 336, 76), +(58, 337, 84), +(58, 338, 91), +(58, 339, 96), +(58, 340, 98), +(58, 341, 67), +(58, 342, 93), +(58, 343, 70), +(58, 344, 95), +(58, 345, 93), +(58, 346, 86), +(58, 347, 77), +(58, 348, 85), +(58, 349, 70), +(58, 350, 86), +(58, 351, 69), +(58, 352, 75), +(58, 353, 66), +(58, 354, 80), +(58, 355, 67), +(58, 356, 65), +(58, 357, 78), +(58, 358, 67), +(58, 359, 75), +(58, 360, 91), +(58, 361, 88), +(58, 362, 66), +(58, 363, 98), +(58, 364, 92), +(58, 365, 66), +(58, 366, 94), +(58, 367, 79), +(58, 368, 86), +(58, 369, 99), +(58, 370, 90), +(58, 371, 73), +(58, 372, 90), +(58, 373, 98), +(58, 374, 72), +(58, 375, 84), +(58, 376, 77), +(58, 377, 88), +(58, 378, 70), +(58, 379, 81), +(58, 380, 69), +(58, 381, 68), +(58, 382, 79), +(58, 383, 69), +(58, 384, 92), +(58, 385, 92), +(58, 386, 82), +(58, 387, 88), +(58, 388, 74), +(58, 389, 75), +(58, 390, 80), +(58, 391, 80), +(58, 392, 67), +(58, 393, 88), +(58, 394, 71), +(58, 395, 87), +(58, 396, 96), +(58, 397, 89), +(58, 398, 79), +(58, 399, 80), +(58, 400, 86), +(58, 401, 84), +(58, 402, 87), +(58, 403, 72), +(58, 404, 93), +(58, 405, 87), +(58, 406, 97), +(58, 407, 88), +(58, 408, 70), +(58, 409, 82), +(58, 410, 97), +(58, 411, 73), +(58, 412, 80), +(58, 413, 92), +(58, 414, 93), +(58, 415, 98), +(58, 416, 95), +(58, 417, 96), +(58, 418, 85), +(58, 419, 84), +(58, 420, 92), +(58, 421, 73), +(58, 422, 74), +(58, 423, 79), +(58, 424, 66), +(58, 425, 70), +(58, 426, 85), +(58, 427, 73), +(58, 428, 90), +(58, 429, 77), +(58, 430, 66), +(58, 431, 97), +(58, 432, 99), +(58, 433, 79), +(58, 434, 76), +(58, 435, 75), +(58, 436, 95), +(58, 437, 93), +(58, 438, 83), +(58, 439, 66), +(58, 440, 69), +(58, 441, 95), +(58, 442, 68), +(58, 443, 88), +(58, 444, 77), +(58, 445, 90), +(58, 446, 90), +(58, 447, 72), +(58, 448, 65), +(58, 449, 80), +(58, 450, 71), +(58, 451, 66), +(58, 452, 87), +(58, 453, 88), +(58, 454, 84), +(58, 455, 93), +(58, 456, 85), +(58, 457, 87), +(58, 458, 70), +(58, 459, 80), +(58, 460, 79), +(58, 461, 80), +(58, 462, 81), +(58, 463, 68), +(58, 464, 96), +(58, 465, 67), +(58, 466, 87), +(58, 467, 98), +(58, 468, 91), +(58, 469, 77), +(58, 470, 73), +(58, 471, 92), +(58, 472, 80), +(58, 473, 65), +(58, 474, 84), +(58, 475, 77), +(58, 476, 84), +(58, 477, 86), +(58, 478, 95), +(58, 479, 76), +(58, 480, 66), +(58, 481, 91), +(58, 482, 98), +(58, 483, 71), +(58, 484, 91), +(58, 485, 89), +(58, 486, 87), +(58, 487, 87), +(58, 488, 74), +(58, 489, 70), +(58, 490, 84), +(58, 491, 92), +(58, 492, 83), +(58, 493, 80), +(58, 494, 98), +(58, 495, 93), +(58, 496, 94), +(58, 497, 81), +(58, 498, 87), +(58, 499, 65), +(58, 500, 96), +(58, 501, 80), +(58, 502, 82), +(58, 503, 98), +(58, 504, 82), +(58, 505, 93), +(58, 506, 75), +(58, 507, 74), +(58, 508, 94), +(58, 509, 72), +(58, 510, 80), +(58, 511, 99), +(58, 512, 72), +(58, 513, 74), +(58, 514, 87), +(58, 515, 73), +(58, 516, 82), +(58, 517, 94), +(58, 518, 82), +(58, 519, 73), +(58, 520, 72), +(58, 521, 97), +(58, 522, 84), +(58, 523, 78), +(58, 524, 68), +(58, 525, 94), +(58, 526, 92), +(58, 527, 78), +(58, 528, 72), +(58, 529, 65), +(58, 530, 73), +(58, 531, 73), +(58, 532, 72), +(58, 533, 69), +(58, 534, 97), +(58, 535, 73), +(58, 536, 83), +(58, 537, 67), +(58, 538, 87), +(58, 539, 68), +(58, 540, 72), +(58, 541, 80), +(58, 542, 67), +(58, 543, 79), +(58, 544, 74), +(58, 545, 90), +(58, 546, 67), +(58, 547, 79), +(58, 548, 65), +(58, 549, 73), +(58, 550, 79), +(58, 551, 65), +(58, 552, 90), +(58, 553, 75), +(58, 554, 76), +(58, 555, 95), +(58, 556, 91), +(58, 557, 98), +(58, 558, 98), +(58, 559, 98), +(58, 560, 84), +(58, 561, 66), +(58, 562, 96), +(58, 563, 76), +(58, 564, 66), +(58, 1024, 81), +(58, 1025, 68), +(58, 1026, 68), +(58, 1027, 80), +(58, 1028, 83), +(58, 1029, 73), +(58, 1030, 69), +(58, 1031, 94), +(58, 1032, 99), +(58, 1033, 90), +(58, 1034, 69), +(58, 1035, 89), +(58, 1036, 85), +(58, 1037, 67), +(58, 1038, 83), +(58, 1039, 79), +(58, 1040, 70), +(58, 1041, 90), +(58, 1042, 86), +(58, 1043, 76), +(58, 1044, 70), +(58, 1045, 94), +(58, 1046, 92), +(58, 1047, 75), +(58, 1048, 82), +(58, 1049, 95), +(58, 1050, 81), +(58, 1051, 88), +(58, 1052, 84), +(58, 1053, 95), +(58, 1054, 93), +(58, 1055, 91), +(58, 1056, 67), +(58, 1057, 75), +(58, 1058, 65), +(58, 1059, 68), +(58, 1060, 88), +(58, 1061, 87), +(58, 1062, 74), +(58, 1063, 92), +(58, 1064, 65), +(58, 1065, 68), +(58, 1066, 65), +(58, 1067, 78), +(58, 1068, 75), +(58, 1069, 86), +(58, 1070, 93), +(58, 1071, 80), +(58, 1072, 72), +(58, 1073, 96), +(58, 1074, 65), +(58, 1075, 75), +(58, 1076, 98), +(58, 1077, 95), +(58, 1078, 82), +(58, 1079, 76), +(58, 1080, 65), +(58, 1081, 92), +(58, 1082, 91), +(58, 1083, 90), +(58, 1084, 70), +(58, 1085, 80), +(58, 1086, 89), +(58, 1087, 95), +(58, 1088, 66), +(58, 1089, 71), +(58, 1090, 96), +(58, 1091, 77), +(58, 1092, 91), +(58, 1093, 66), +(58, 1094, 88), +(58, 1095, 88), +(58, 1096, 97), +(58, 1097, 79), +(58, 1098, 77), +(58, 1099, 72), +(58, 1100, 80), +(58, 1101, 76), +(58, 1102, 98), +(58, 1103, 97), +(58, 1104, 79), +(58, 1105, 76), +(58, 1106, 78), +(58, 1107, 81), +(58, 1108, 67), +(58, 1109, 72), +(58, 1110, 86), +(58, 1111, 89), +(58, 1112, 92), +(58, 1113, 70), +(58, 1114, 65), +(58, 1115, 68), +(58, 1116, 79), +(58, 1117, 66), +(58, 1118, 91), +(58, 1119, 79), +(58, 1120, 69), +(58, 1121, 84), +(58, 1122, 93), +(58, 1123, 93), +(58, 1124, 92), +(58, 1125, 77), +(58, 1126, 81), +(58, 1127, 89), +(58, 1128, 75), +(58, 1129, 99), +(58, 1130, 77), +(58, 1131, 88), +(58, 1132, 71), +(58, 1133, 67), +(58, 1134, 94), +(58, 1135, 99), +(58, 1136, 99), +(58, 1137, 92), +(58, 1138, 86), +(58, 1139, 70), +(58, 1140, 66), +(58, 1141, 86), +(58, 1142, 66), +(58, 1143, 68), +(58, 1144, 78), +(58, 1145, 94), +(58, 1146, 66), +(58, 1147, 67), +(58, 1148, 86), +(58, 1149, 74), +(58, 1150, 99), +(58, 1151, 95), +(58, 1152, 99), +(58, 1153, 71), +(58, 1154, 83), +(58, 1155, 89), +(58, 1156, 99), +(58, 1157, 73), +(58, 1158, 79), +(58, 1159, 75), +(58, 1160, 73), +(58, 1161, 89), +(58, 1162, 99), +(58, 1163, 66), +(58, 1164, 90), +(58, 1165, 88), +(58, 1166, 72), +(58, 1167, 82), +(58, 1168, 80), +(58, 1169, 85), +(58, 1170, 89), +(58, 1171, 89), +(58, 1172, 68), +(58, 1173, 97), +(58, 1174, 70), +(58, 1175, 76), +(58, 1176, 95), +(58, 1177, 91), +(58, 1178, 76), +(58, 1179, 65), +(58, 1180, 71), +(58, 1181, 65), +(58, 1182, 97), +(58, 1183, 83), +(58, 1184, 84), +(58, 1185, 90), +(58, 1186, 89), +(58, 1187, 89), +(58, 1188, 72), +(58, 1189, 97), +(58, 1190, 72), +(58, 1191, 82), +(58, 1192, 97), +(58, 1193, 68), +(58, 1194, 74), +(58, 1195, 66), +(58, 1196, 75), +(58, 1197, 70), +(58, 1198, 99), +(58, 1199, 66), +(58, 1200, 80), +(58, 1201, 92), +(58, 1202, 92), +(58, 1203, 65), +(58, 1204, 71), +(58, 1205, 80), +(58, 1206, 70), +(58, 1207, 76), +(58, 1208, 75), +(58, 1209, 70), +(58, 1210, 76), +(58, 1211, 81), +(58, 1212, 82), +(58, 1213, 71), +(58, 1214, 68), +(58, 1215, 66), +(58, 1216, 90), +(58, 1217, 71), +(58, 1218, 70), +(58, 1219, 79), +(58, 1220, 70), +(58, 1221, 92), +(58, 1222, 97), +(58, 1223, 78), +(58, 1224, 73), +(58, 1225, 66), +(58, 1226, 82), +(58, 1227, 85), +(58, 1228, 96), +(58, 1229, 73), +(58, 1230, 92), +(58, 1231, 90), +(58, 1232, 93), +(58, 1233, 84), +(58, 1234, 74), +(58, 1235, 70), +(58, 1236, 69), +(58, 1237, 81), +(58, 1238, 75), +(58, 1239, 80), +(58, 1240, 83), +(58, 1241, 79), +(58, 1242, 81), +(58, 1243, 69), +(58, 1244, 85), +(58, 1245, 76), +(58, 1246, 66), +(58, 1247, 92), +(58, 1248, 70), +(58, 1249, 84), +(58, 1250, 67), +(58, 1251, 92), +(58, 1252, 81), +(58, 1253, 95), +(58, 1254, 89), +(58, 1255, 88), +(58, 1256, 71), +(58, 1257, 79), +(58, 1258, 95), +(58, 1259, 96), +(58, 1260, 86), +(58, 1261, 68), +(58, 1262, 76), +(58, 1263, 89), +(58, 1264, 72), +(58, 1265, 69), +(58, 1266, 90), +(58, 1267, 87), +(58, 1268, 79), +(58, 1269, 73), +(58, 1270, 98), +(58, 1271, 77), +(58, 1272, 93), +(58, 1273, 74), +(58, 1274, 68), +(58, 1275, 81), +(58, 1276, 65), +(58, 1277, 80), +(58, 1278, 92), +(58, 1279, 67), +(58, 1280, 89), +(58, 1281, 99), +(58, 1282, 89), +(58, 1283, 98), +(58, 1284, 66), +(58, 1285, 67), +(58, 1286, 99), +(58, 1287, 80), +(58, 1288, 97), +(58, 1289, 94), +(58, 1290, 84), +(58, 1291, 94), +(58, 1292, 68), +(58, 1293, 85), +(58, 1294, 91), +(58, 1295, 75), +(58, 1296, 87), +(58, 1297, 94), +(58, 1298, 87), +(58, 1299, 99), +(58, 1300, 75), +(58, 1301, 93), +(58, 1302, 66), +(58, 1303, 65), +(58, 1304, 81), +(58, 1305, 74), +(58, 1306, 85), +(58, 1307, 68), +(58, 1308, 72), +(58, 1309, 72), +(58, 1310, 76), +(58, 1311, 90), +(58, 1312, 84), +(58, 1313, 93), +(58, 1314, 75), +(58, 1315, 67), +(58, 1316, 81), +(58, 1317, 98), +(58, 1318, 76), +(58, 1319, 70), +(58, 1320, 70), +(58, 1321, 89), +(58, 1322, 65), +(58, 1323, 70), +(58, 1324, 69), +(58, 1325, 94), +(58, 1326, 78), +(58, 1327, 95), +(58, 1328, 65), +(58, 1329, 98), +(58, 1330, 67), +(58, 1331, 95), +(58, 1332, 80), +(58, 1333, 70), +(58, 1334, 77), +(58, 1335, 77), +(58, 1336, 84), +(58, 1337, 91), +(58, 1338, 97), +(58, 1339, 72), +(58, 1340, 93), +(58, 1341, 93), +(58, 1342, 65), +(58, 1343, 77), +(58, 1344, 97), +(58, 1345, 72), +(58, 1346, 69), +(58, 1347, 79), +(58, 1348, 74), +(58, 1349, 94), +(58, 1350, 89), +(58, 1351, 68), +(58, 1352, 94), +(58, 1353, 66), +(58, 1354, 86), +(58, 1355, 90), +(58, 1356, 75), +(58, 1357, 97), +(58, 1358, 70), +(58, 1359, 68), +(58, 1360, 65), +(58, 1361, 96), +(58, 1362, 72), +(58, 1363, 80), +(58, 1364, 90), +(58, 1365, 74), +(58, 1366, 84), +(58, 1367, 78), +(58, 1368, 72), +(58, 1369, 65), +(58, 1370, 91), +(58, 1371, 90), +(58, 1372, 93), +(58, 1373, 91), +(58, 1374, 67), +(58, 1375, 97), +(58, 1376, 74), +(58, 1377, 74), +(58, 1378, 82), +(58, 1379, 84), +(58, 1380, 66), +(58, 1381, 87), +(58, 1382, 89), +(58, 1383, 70), +(58, 1384, 81), +(58, 1385, 83), +(58, 1386, 68), +(58, 1387, 73), +(58, 1388, 84), +(58, 1389, 70), +(58, 1390, 78), +(58, 1391, 70), +(58, 1392, 98), +(58, 1393, 86), +(58, 1394, 98), +(58, 1395, 91), +(58, 1396, 83), +(58, 1397, 76), +(58, 1398, 71), +(58, 1399, 77), +(58, 1400, 93), +(58, 1401, 81), +(58, 1402, 77), +(58, 1403, 91), +(58, 1404, 86), +(58, 1405, 72), +(58, 1406, 67), +(58, 1407, 94), +(58, 1408, 95), +(58, 1409, 76), +(58, 1410, 91), +(58, 1411, 73), +(58, 1412, 93), +(58, 1413, 68), +(58, 1414, 76), +(58, 1415, 95), +(58, 1416, 86), +(58, 1417, 98), +(58, 1418, 92), +(58, 1419, 98), +(58, 1420, 84), +(58, 1421, 94), +(58, 1422, 69), +(58, 1423, 92), +(58, 1424, 91), +(58, 1425, 66), +(58, 1426, 84), +(58, 1427, 81), +(58, 1428, 90), +(58, 1429, 92), +(58, 1430, 67), +(58, 1431, 78), +(58, 1432, 81), +(58, 1433, 66), +(58, 1434, 85), +(58, 1435, 92), +(58, 1436, 70), +(58, 1437, 76), +(58, 1438, 86), +(58, 1439, 79), +(58, 1440, 66), +(58, 1441, 73), +(58, 1442, 90), +(58, 1443, 85), +(58, 1444, 77), +(58, 1445, 94), +(58, 1446, 83), +(58, 1447, 75), +(58, 1448, 86), +(58, 1449, 91), +(58, 1450, 73), +(58, 1451, 89), +(58, 1452, 92), +(58, 1453, 98), +(58, 1454, 91), +(58, 1455, 83), +(58, 1456, 85), +(58, 1457, 75), +(58, 1458, 72), +(58, 1459, 91), +(58, 1460, 68), +(58, 1461, 92), +(58, 1462, 69), +(58, 1463, 81), +(58, 1464, 91), +(58, 1465, 77), +(58, 1466, 65), +(58, 1467, 67), +(58, 1468, 75), +(58, 1469, 87), +(58, 1470, 72), +(58, 1471, 79), +(58, 1472, 95), +(58, 1473, 72), +(58, 1474, 69), +(58, 1475, 93), +(58, 1476, 95), +(58, 1477, 72), +(58, 1478, 76), +(58, 1479, 66), +(58, 1480, 94), +(58, 1481, 82), +(58, 1482, 86), +(58, 1483, 88), +(58, 1484, 86), +(58, 1485, 94), +(58, 1486, 92), +(58, 1487, 74), +(58, 1488, 74), +(58, 1489, 68), +(58, 1490, 91), +(58, 1491, 65), +(58, 1492, 92), +(58, 1493, 66), +(58, 1494, 84), +(58, 1495, 68), +(58, 1496, 94), +(58, 1497, 81), +(58, 1498, 77), +(58, 1499, 71), +(58, 1500, 88), +(58, 1501, 66), +(58, 1502, 88), +(58, 1503, 68), +(58, 1504, 81), +(58, 1505, 83), +(58, 1506, 93), +(58, 1507, 78), +(58, 1508, 95), +(58, 1509, 78), +(58, 1510, 68), +(58, 1511, 66), +(58, 1512, 84), +(58, 1513, 71), +(58, 1514, 91), +(58, 1515, 84), +(58, 1516, 74), +(58, 1517, 91), +(58, 1518, 84), +(58, 1519, 77), +(58, 1520, 98), +(58, 1521, 68), +(58, 1522, 80), +(58, 1523, 93), +(58, 1524, 69), +(58, 1525, 94), +(58, 1526, 97), +(58, 1527, 78), +(58, 1528, 77), +(58, 1529, 71), +(58, 1530, 91), +(58, 1531, 81), +(58, 1532, 81), +(58, 1533, 88), +(58, 1534, 91), +(58, 1535, 91), +(58, 1536, 90), +(58, 1537, 80), +(58, 1538, 82), +(58, 1539, 83), +(58, 1540, 66), +(58, 1541, 75), +(58, 1542, 80), +(58, 1543, 70), +(58, 1544, 73), +(58, 1545, 90), +(58, 1546, 84), +(58, 1547, 97), +(58, 1548, 74), +(58, 1549, 77), +(58, 1550, 92), +(58, 1551, 93), +(58, 1552, 68), +(58, 1553, 87), +(58, 1554, 76), +(58, 1555, 94), +(58, 1556, 81), +(58, 1557, 67), +(58, 1558, 89), +(58, 1559, 87), +(58, 1560, 80), +(58, 1561, 70), +(58, 1562, 94), +(58, 1563, 77), +(58, 1564, 69), +(58, 1565, 71), +(58, 1566, 97), +(58, 1567, 72), +(58, 1568, 79), +(58, 1569, 81), +(58, 1570, 87), +(58, 1571, 82), +(58, 1572, 87), +(58, 1573, 83), +(58, 1574, 71), +(58, 1575, 80), +(58, 1576, 65), +(58, 1577, 72), +(58, 1578, 90), +(58, 1579, 75), +(58, 1580, 70), +(58, 1581, 77), +(58, 1582, 68), +(58, 1583, 99), +(58, 1584, 77), +(58, 1585, 98), +(58, 1586, 73), +(58, 1587, 66), +(58, 2047, 84), +(58, 2048, 98), +(58, 2049, 88), +(58, 2050, 74), +(58, 2051, 97), +(58, 2052, 99), +(58, 2053, 68), +(58, 2054, 81), +(58, 2055, 88), +(58, 2056, 67), +(58, 2057, 96), +(58, 2058, 95), +(58, 2059, 98), +(58, 2060, 85), +(58, 2061, 85), +(58, 2062, 68), +(58, 2063, 78), +(58, 2064, 72), +(58, 2065, 83), +(58, 2066, 95), +(58, 2067, 91), +(58, 2068, 81), +(58, 2069, 90), +(58, 2070, 74), +(58, 2071, 93), +(58, 2072, 85), +(58, 2073, 75), +(58, 2074, 86), +(58, 2075, 65), +(58, 2076, 89), +(58, 2077, 67), +(58, 2078, 80), +(58, 2079, 86), +(58, 2080, 94), +(58, 2081, 85), +(58, 2082, 83), +(58, 2083, 97), +(58, 2084, 93), +(58, 2085, 97), +(58, 2086, 88), +(58, 2087, 89), +(58, 2088, 87), +(58, 2089, 77), +(58, 2090, 79), +(58, 2091, 73), +(58, 2092, 90), +(58, 2093, 98), +(58, 2094, 96), +(58, 2095, 90), +(58, 2096, 73), +(58, 2097, 99), +(58, 2098, 68), +(58, 2099, 69), +(58, 2100, 88), +(58, 2101, 70), +(58, 2102, 91), +(58, 2103, 70), +(58, 2104, 96), +(58, 2105, 89), +(58, 2106, 97), +(58, 2107, 74), +(58, 2108, 97), +(58, 2109, 88), +(58, 2110, 99), +(58, 2111, 81), +(58, 2112, 93), +(58, 2113, 72), +(58, 2114, 82), +(58, 2115, 70), +(58, 2116, 73), +(58, 2117, 86), +(58, 2118, 66), +(58, 2119, 93), +(58, 2120, 70), +(58, 2121, 71), +(58, 2122, 68), +(58, 2123, 94), +(58, 2124, 65), +(58, 2125, 92), +(58, 2126, 97), +(58, 2127, 69), +(58, 2128, 66), +(58, 2129, 67), +(58, 2130, 65), +(58, 2131, 97), +(58, 2132, 90), +(58, 2133, 84), +(58, 2134, 93), +(58, 2135, 67), +(58, 2136, 78), +(58, 2137, 65), +(58, 2138, 81), +(58, 2139, 96), +(58, 2140, 87), +(58, 2141, 94), +(58, 2142, 77), +(58, 2143, 67), +(58, 2144, 88), +(58, 2145, 87), +(58, 2146, 70), +(58, 2147, 71), +(58, 2148, 80), +(58, 2149, 84), +(58, 2150, 98), +(58, 2151, 94), +(58, 2152, 68), +(58, 2153, 73), +(58, 2154, 91), +(58, 2155, 76), +(58, 2156, 81), +(58, 2157, 68), +(58, 2158, 73), +(58, 2159, 76), +(58, 2160, 95), +(58, 2161, 88), +(58, 2162, 75), +(58, 2163, 95), +(58, 2164, 96), +(58, 2165, 93), +(58, 2166, 94), +(58, 2167, 83), +(58, 2168, 86), +(58, 2169, 75), +(58, 2170, 93), +(58, 2171, 82), +(58, 2172, 91), +(58, 2173, 75), +(58, 2174, 84), +(58, 2175, 73), +(58, 2176, 75), +(58, 2177, 97), +(58, 2178, 91), +(58, 2179, 70), +(58, 2180, 88), +(58, 2181, 89), +(58, 2182, 73), +(58, 2183, 74), +(58, 2184, 93), +(58, 2185, 78), +(58, 2186, 82), +(58, 2187, 89), +(58, 2188, 69), +(58, 2189, 97), +(58, 2190, 79), +(58, 2191, 67), +(58, 2192, 80), +(58, 2193, 79), +(58, 2194, 93), +(58, 2195, 69), +(58, 2196, 82), +(58, 2197, 70), +(58, 2198, 90), +(58, 2199, 67), +(58, 2200, 97), +(58, 2201, 65), +(58, 2202, 93), +(58, 2203, 89), +(58, 2204, 80), +(58, 2205, 83), +(58, 2206, 65), +(58, 2207, 84), +(58, 2208, 87), +(58, 2209, 86), +(58, 2210, 75), +(58, 2211, 74), +(58, 2212, 79), +(58, 2213, 98), +(58, 2214, 77), +(58, 2215, 75), +(58, 2216, 76), +(58, 2217, 70), +(58, 2218, 98), +(58, 2219, 66), +(58, 2220, 91), +(58, 2221, 86), +(58, 2222, 76), +(58, 2223, 66), +(58, 2224, 75), +(58, 2225, 87), +(58, 2226, 70), +(58, 2227, 72), +(58, 2228, 91), +(58, 2229, 77), +(58, 2230, 97), +(58, 2231, 83), +(58, 2232, 82), +(58, 2233, 88), +(58, 2234, 66), +(58, 2235, 95), +(58, 2236, 84), +(58, 2237, 75), +(58, 2238, 99), +(58, 2239, 89), +(58, 2240, 65), +(58, 2241, 83), +(58, 2242, 91), +(58, 2243, 91), +(58, 2244, 80), +(58, 2245, 75), +(58, 2246, 75), +(58, 2247, 85), +(58, 2248, 99), +(58, 2249, 79), +(58, 2250, 95), +(58, 2251, 97), +(58, 2252, 77), +(58, 2253, 83), +(58, 2254, 65), +(58, 2255, 95), +(58, 2256, 84), +(58, 2257, 87), +(58, 2258, 81), +(58, 2259, 84), +(58, 2260, 79), +(58, 2261, 89), +(58, 2262, 93), +(58, 2263, 93), +(58, 2264, 76), +(58, 2265, 83), +(58, 2266, 92), +(58, 2267, 70), +(58, 2268, 68), +(58, 2269, 86), +(58, 2270, 89), +(58, 2271, 90), +(58, 2272, 75), +(58, 2273, 99), +(58, 2274, 97), +(58, 2275, 78), +(58, 2276, 70), +(58, 2277, 94), +(58, 2278, 98), +(58, 2279, 71), +(58, 2280, 71), +(58, 2281, 74), +(58, 2282, 96), +(58, 2283, 93), +(58, 2284, 79), +(58, 2285, 65), +(58, 2286, 80), +(58, 2287, 76), +(58, 2288, 92), +(58, 2289, 74), +(58, 2290, 66), +(58, 2291, 77), +(58, 2292, 69), +(58, 2293, 91), +(58, 2294, 97), +(58, 2295, 83), +(58, 2296, 85), +(58, 2297, 87), +(58, 2298, 86), +(58, 2299, 70), +(58, 2300, 74), +(58, 2301, 70), +(58, 2302, 82), +(58, 2303, 75), +(58, 2304, 94), +(58, 2305, 70), +(58, 2306, 71), +(58, 2307, 93), +(58, 2308, 68), +(58, 2309, 79), +(58, 2310, 72), +(58, 2311, 95), +(58, 2312, 79), +(58, 2313, 89), +(58, 2314, 99), +(58, 2315, 81), +(58, 2316, 81), +(58, 2317, 69), +(58, 2318, 69), +(58, 2319, 76), +(58, 2320, 95), +(58, 2321, 71), +(58, 2322, 88), +(58, 2323, 84), +(58, 2324, 74), +(58, 2325, 92), +(58, 2326, 90), +(58, 2327, 86), +(58, 2328, 74), +(58, 2329, 92), +(58, 2330, 73), +(58, 2331, 69), +(58, 2332, 88), +(58, 2333, 68), +(58, 2334, 65), +(58, 2335, 80), +(58, 2336, 80), +(58, 2337, 70), +(58, 2338, 89), +(58, 2339, 85), +(58, 2340, 91), +(58, 2341, 82), +(58, 2342, 76), +(58, 2343, 93), +(58, 2344, 99), +(58, 2345, 82), +(58, 2346, 65), +(58, 2347, 82), +(58, 2348, 80), +(58, 2349, 96), +(58, 2350, 67), +(58, 2351, 76), +(58, 2352, 80), +(58, 2353, 85), +(58, 2354, 87), +(58, 2355, 80), +(58, 2356, 92), +(58, 2357, 99), +(58, 2358, 86), +(58, 2359, 65), +(58, 2360, 80), +(58, 2361, 71), +(58, 2362, 84), +(58, 2363, 77), +(58, 2364, 96), +(58, 2365, 70), +(58, 2366, 66), +(58, 2367, 70), +(58, 2368, 71), +(58, 2369, 73), +(58, 2370, 82), +(58, 2371, 97), +(58, 2372, 73), +(58, 2373, 82), +(58, 2374, 77), +(58, 2375, 95), +(58, 2376, 75), +(58, 2377, 82), +(58, 2378, 68), +(58, 2379, 69), +(58, 2380, 67), +(58, 2381, 96), +(58, 2382, 78), +(58, 2383, 99), +(58, 2384, 93), +(58, 2385, 67), +(58, 2386, 97), +(58, 2387, 87), +(58, 2388, 75), +(58, 2389, 96), +(58, 2390, 74), +(58, 2391, 84), +(58, 2392, 99), +(58, 2393, 74), +(58, 2394, 78), +(58, 2395, 74), +(58, 2396, 67), +(58, 2397, 90), +(58, 2398, 91), +(58, 2399, 89), +(58, 2400, 80), +(58, 2401, 97), +(58, 2402, 83), +(58, 2403, 93), +(58, 2404, 98), +(58, 2405, 91), +(58, 2406, 79), +(58, 2407, 75), +(58, 2408, 82), +(58, 2409, 82), +(58, 2410, 81), +(58, 2411, 97), +(58, 2412, 81), +(58, 2413, 93), +(58, 2414, 84), +(58, 2415, 70), +(58, 2416, 98), +(58, 2417, 90), +(58, 2418, 76), +(58, 2419, 87), +(58, 2420, 74), +(58, 2421, 88), +(58, 2422, 84), +(58, 2423, 95), +(58, 2424, 99), +(58, 2425, 79), +(58, 2426, 82), +(58, 2427, 93), +(58, 2428, 80), +(58, 2429, 99), +(58, 2430, 72), +(58, 2431, 91), +(58, 2432, 69), +(58, 2433, 83), +(58, 2434, 81), +(58, 2435, 71), +(58, 2436, 81), +(58, 2437, 86), +(58, 2438, 84), +(58, 2439, 70), +(58, 2440, 95), +(58, 2441, 85), +(58, 2442, 94), +(58, 2443, 80), +(58, 2444, 68), +(58, 2445, 65), +(58, 2446, 65), +(58, 2447, 87), +(58, 2448, 84), +(58, 2449, 97), +(58, 2450, 89), +(58, 2451, 78), +(58, 2452, 74), +(58, 2453, 65), +(58, 2454, 85), +(58, 2455, 98), +(58, 2456, 83), +(58, 2457, 87), +(58, 2458, 86), +(58, 2459, 94), +(58, 2460, 96), +(58, 2461, 68), +(58, 2462, 66), +(58, 2463, 96), +(58, 2464, 77), +(58, 2465, 81), +(58, 2466, 79), +(58, 2467, 73), +(58, 2468, 99), +(58, 2469, 73), +(58, 2470, 81), +(58, 2471, 98), +(58, 2472, 90), +(58, 2473, 77), +(58, 2474, 86), +(58, 2475, 93), +(58, 2476, 82), +(58, 2477, 72), +(58, 2478, 72), +(58, 2479, 83), +(58, 2480, 82), +(58, 2481, 85), +(58, 2482, 88), +(58, 2483, 79), +(58, 2484, 87), +(58, 2485, 90), +(58, 2486, 92), +(58, 2487, 99), +(58, 2488, 86), +(58, 2489, 81), +(58, 2490, 75), +(58, 2491, 81), +(58, 2492, 79), +(58, 2493, 83), +(58, 2494, 70), +(58, 2495, 65), +(58, 2496, 79), +(58, 2497, 86), +(58, 2498, 89), +(58, 2499, 75), +(58, 2500, 66), +(58, 2501, 88), +(58, 2502, 71), +(58, 2503, 99), +(58, 2504, 72), +(58, 2505, 72), +(58, 2506, 76), +(58, 2507, 75), +(58, 2508, 80), +(58, 2509, 94), +(58, 2510, 81), +(58, 2511, 95), +(58, 2512, 75), +(58, 2513, 94), +(58, 2514, 82), +(58, 2515, 96), +(58, 2516, 89), +(58, 2517, 79), +(58, 2518, 87), +(58, 2519, 77), +(58, 2520, 99), +(58, 2521, 78), +(58, 2522, 76), +(58, 2523, 86), +(58, 2524, 89), +(58, 2525, 65), +(58, 2526, 74), +(58, 2527, 85), +(58, 2528, 80), +(58, 2529, 89), +(58, 2530, 69), +(58, 2531, 83), +(58, 2532, 95), +(58, 2533, 97), +(58, 2534, 69), +(58, 2535, 79), +(58, 2536, 97), +(58, 2537, 73), +(58, 2538, 83), +(58, 2539, 80), +(58, 2540, 98), +(58, 2541, 88), +(58, 2542, 95), +(58, 2543, 78), +(58, 2544, 69), +(58, 2545, 83), +(58, 2546, 86), +(58, 2547, 91), +(58, 2548, 89), +(58, 2549, 67), +(58, 2550, 86), +(58, 2551, 78), +(58, 2552, 89), +(58, 2553, 85), +(58, 2554, 77), +(58, 2555, 68), +(58, 2556, 69), +(58, 2557, 98), +(58, 2558, 81), +(58, 2559, 88), +(58, 2560, 69), +(58, 2561, 87), +(58, 2562, 78), +(58, 2563, 95), +(58, 2564, 91), +(58, 2565, 70), +(58, 2566, 86), +(58, 2567, 94), +(58, 2568, 71), +(58, 2569, 91), +(58, 2570, 79), +(58, 2571, 93), +(58, 2572, 87), +(58, 2573, 65), +(58, 2574, 93), +(58, 2575, 88), +(58, 2576, 73), +(58, 2577, 67), +(58, 2578, 69), +(58, 2579, 66), +(58, 2580, 66), +(58, 2581, 70), +(58, 2582, 65), +(58, 2583, 71), +(58, 2584, 78), +(58, 2585, 69), +(58, 2586, 96), +(58, 2587, 67), +(58, 2588, 70), +(58, 2589, 98), +(58, 2590, 67), +(58, 2591, 77), +(58, 2592, 93), +(58, 2593, 73), +(58, 2594, 73), +(58, 2595, 98), +(58, 2596, 74), +(58, 2597, 95), +(58, 2598, 81), +(58, 2599, 86), +(58, 2600, 76), +(58, 2601, 69), +(58, 2602, 67), +(58, 2603, 81), +(58, 2604, 99), +(58, 2605, 88), +(58, 2606, 87), +(58, 2607, 75), +(58, 2608, 91), +(58, 2609, 83), +(58, 2610, 85), +(59, 1, 83), +(59, 2, 95), +(59, 3, 90), +(59, 4, 88), +(59, 5, 75), +(59, 6, 73), +(59, 7, 73), +(59, 8, 84), +(59, 9, 94), +(59, 10, 70), +(59, 11, 94), +(59, 12, 92), +(59, 13, 76), +(59, 14, 94), +(59, 15, 93), +(59, 16, 67), +(59, 17, 65), +(59, 18, 98), +(59, 19, 82), +(59, 20, 75), +(59, 21, 90), +(59, 22, 97), +(59, 23, 77), +(59, 24, 96), +(59, 25, 65), +(59, 26, 85), +(59, 27, 72), +(59, 28, 89), +(59, 29, 65), +(59, 30, 78), +(59, 31, 69), +(59, 32, 74), +(59, 33, 94), +(59, 34, 65), +(59, 35, 83), +(59, 36, 81), +(59, 37, 84), +(59, 38, 69), +(59, 39, 65), +(59, 40, 82), +(59, 41, 66), +(59, 42, 97), +(59, 43, 93), +(59, 44, 86), +(59, 45, 79), +(59, 46, 71), +(59, 47, 79), +(59, 48, 95), +(59, 49, 65), +(59, 50, 75), +(59, 51, 91), +(59, 52, 78), +(59, 53, 83), +(59, 54, 88), +(59, 55, 79), +(59, 56, 98), +(59, 57, 73), +(59, 58, 80), +(59, 59, 78), +(59, 60, 86), +(59, 61, 75), +(59, 62, 86), +(59, 63, 85), +(59, 64, 80), +(59, 65, 76), +(59, 66, 73), +(59, 67, 72), +(59, 68, 82), +(59, 69, 66), +(59, 70, 96), +(59, 71, 72), +(59, 72, 88), +(59, 73, 68), +(59, 74, 84), +(59, 75, 87), +(59, 76, 73), +(59, 77, 80), +(59, 78, 66), +(59, 79, 86), +(59, 80, 73), +(59, 81, 82), +(59, 82, 84), +(59, 83, 70), +(59, 84, 78), +(59, 85, 68), +(59, 86, 90), +(59, 87, 65), +(59, 88, 74), +(59, 89, 77), +(59, 90, 70), +(59, 91, 65), +(59, 92, 95), +(59, 93, 73), +(59, 94, 98), +(59, 95, 71), +(59, 96, 95), +(59, 97, 71), +(59, 98, 87), +(59, 99, 80), +(59, 100, 73), +(59, 101, 78), +(59, 102, 80), +(59, 103, 85), +(59, 104, 92), +(59, 105, 94), +(59, 106, 69), +(59, 107, 73), +(59, 108, 94), +(59, 109, 72), +(59, 110, 69), +(59, 111, 75), +(59, 112, 76), +(59, 113, 91), +(59, 114, 75), +(59, 115, 90), +(59, 116, 72), +(59, 117, 76), +(59, 118, 80), +(59, 119, 79), +(59, 120, 73), +(59, 121, 85), +(59, 122, 92), +(59, 123, 74), +(59, 124, 73), +(59, 125, 71), +(59, 126, 97), +(59, 127, 78), +(59, 128, 89), +(59, 129, 82), +(59, 130, 78), +(59, 131, 81), +(59, 132, 88), +(59, 133, 66), +(59, 134, 95), +(59, 135, 80), +(59, 136, 90), +(59, 137, 68), +(59, 138, 75), +(59, 139, 74), +(59, 140, 95), +(59, 141, 65), +(59, 142, 72), +(59, 143, 66), +(59, 144, 70), +(59, 145, 98), +(59, 146, 78), +(59, 147, 78), +(59, 148, 94), +(59, 149, 85), +(59, 150, 82), +(59, 151, 66), +(59, 152, 86), +(59, 153, 87), +(59, 154, 86), +(59, 155, 71), +(59, 156, 69), +(59, 157, 91), +(59, 158, 98), +(59, 159, 77), +(59, 160, 94), +(59, 161, 75), +(59, 162, 67), +(59, 163, 93), +(59, 164, 98), +(59, 165, 83), +(59, 166, 80), +(59, 167, 91), +(59, 168, 87), +(59, 169, 92), +(59, 170, 89), +(59, 171, 85), +(59, 172, 65), +(59, 173, 88), +(59, 174, 72), +(59, 175, 86), +(59, 176, 78), +(59, 177, 77), +(59, 178, 91), +(59, 179, 88), +(59, 180, 95), +(59, 181, 72), +(59, 182, 71), +(59, 183, 85), +(59, 184, 90), +(59, 185, 66), +(59, 186, 80), +(59, 187, 75), +(59, 188, 82), +(59, 189, 87), +(59, 190, 90), +(59, 191, 76), +(59, 192, 65), +(59, 193, 97), +(59, 194, 76), +(59, 195, 72), +(59, 196, 77), +(59, 197, 68), +(59, 198, 73), +(59, 199, 72), +(59, 200, 93), +(59, 201, 82), +(59, 202, 91), +(59, 203, 96), +(59, 204, 83), +(59, 205, 81), +(59, 206, 91), +(59, 207, 76), +(59, 208, 66), +(59, 209, 79), +(59, 210, 86), +(59, 211, 65), +(59, 212, 82), +(59, 213, 90), +(59, 214, 81), +(59, 215, 93), +(59, 216, 73), +(59, 217, 83), +(59, 218, 76), +(59, 219, 93), +(59, 220, 95), +(59, 221, 96), +(59, 222, 65), +(59, 223, 97), +(59, 224, 72), +(59, 225, 94), +(59, 226, 95), +(59, 227, 75), +(59, 228, 86), +(59, 229, 74), +(59, 230, 76), +(59, 231, 99), +(59, 232, 77), +(59, 233, 86), +(59, 234, 89), +(59, 235, 78), +(59, 236, 85), +(59, 237, 74), +(59, 238, 72), +(59, 239, 77), +(59, 240, 86), +(59, 241, 97), +(59, 242, 90), +(59, 243, 98), +(59, 244, 82), +(59, 245, 75), +(59, 246, 66), +(59, 247, 72), +(59, 248, 69), +(59, 249, 67), +(59, 250, 87), +(59, 251, 83), +(59, 252, 83), +(59, 253, 86), +(59, 254, 77), +(59, 255, 78), +(59, 256, 81), +(59, 257, 82), +(59, 258, 81), +(59, 259, 92), +(59, 260, 75), +(59, 261, 80), +(59, 262, 80), +(59, 263, 97), +(59, 264, 92), +(59, 265, 71), +(59, 266, 95), +(59, 267, 78), +(59, 268, 82), +(59, 269, 83), +(59, 270, 94), +(59, 271, 99), +(59, 272, 78), +(59, 273, 89), +(59, 274, 99), +(59, 275, 74), +(59, 276, 76), +(59, 277, 73), +(59, 278, 95), +(59, 279, 74), +(59, 280, 85), +(59, 281, 92), +(59, 282, 83), +(59, 283, 71), +(59, 284, 82), +(59, 285, 77), +(59, 286, 76), +(59, 287, 80), +(59, 288, 99), +(59, 289, 97), +(59, 290, 94), +(59, 291, 89), +(59, 292, 75), +(59, 293, 70), +(59, 294, 69), +(59, 295, 94), +(59, 296, 75), +(59, 297, 92), +(59, 298, 96), +(59, 299, 73), +(59, 300, 87), +(59, 301, 85), +(59, 302, 97), +(59, 303, 86), +(59, 304, 68), +(59, 305, 71), +(59, 306, 69), +(59, 307, 81), +(59, 308, 73), +(59, 309, 99), +(59, 310, 66), +(59, 311, 99), +(59, 312, 70), +(59, 313, 80), +(59, 314, 99), +(59, 315, 95), +(59, 316, 97), +(59, 317, 92), +(59, 318, 90), +(59, 319, 92), +(59, 320, 94), +(59, 321, 87), +(59, 322, 84), +(59, 323, 97), +(59, 324, 87), +(59, 325, 96), +(59, 326, 82), +(59, 327, 86), +(59, 328, 87), +(59, 329, 82), +(59, 330, 75), +(59, 331, 72), +(59, 332, 98), +(59, 333, 83), +(59, 334, 69), +(59, 335, 77), +(59, 336, 85), +(59, 337, 96), +(59, 338, 96), +(59, 339, 72), +(59, 340, 81), +(59, 341, 68), +(59, 342, 76), +(59, 343, 77), +(59, 344, 85), +(59, 345, 88), +(59, 346, 67), +(59, 347, 70), +(59, 348, 82), +(59, 349, 78), +(59, 350, 67), +(59, 351, 77), +(59, 352, 71), +(59, 353, 84), +(59, 354, 75), +(59, 355, 74), +(59, 356, 87), +(59, 357, 75), +(59, 358, 70), +(59, 359, 76), +(59, 360, 65), +(59, 361, 93), +(59, 362, 77), +(59, 363, 75), +(59, 364, 70), +(59, 365, 75), +(59, 366, 71), +(59, 367, 65), +(59, 368, 65), +(59, 369, 67), +(59, 370, 92), +(59, 371, 65), +(59, 372, 90), +(59, 373, 86), +(59, 374, 73), +(59, 375, 73), +(59, 376, 82), +(59, 377, 67), +(59, 378, 73), +(59, 379, 73), +(59, 380, 99), +(59, 381, 75), +(59, 382, 79), +(59, 383, 84), +(59, 384, 93), +(59, 385, 88), +(59, 386, 66), +(59, 387, 80), +(59, 388, 74), +(59, 389, 96), +(59, 390, 86), +(59, 391, 90), +(59, 392, 82), +(59, 393, 72), +(59, 394, 77), +(59, 395, 74), +(59, 396, 91), +(59, 397, 82), +(59, 398, 72), +(59, 399, 90), +(59, 400, 71), +(59, 401, 86), +(59, 402, 96), +(59, 403, 74), +(59, 404, 70), +(59, 405, 77), +(59, 406, 75), +(59, 407, 79), +(59, 408, 75), +(59, 409, 74), +(59, 410, 78), +(59, 411, 82), +(59, 412, 69), +(59, 413, 71), +(59, 414, 81), +(59, 415, 67), +(59, 416, 73), +(59, 417, 90), +(59, 418, 95), +(59, 419, 90), +(59, 420, 93), +(59, 421, 82), +(59, 422, 87), +(59, 423, 92), +(59, 424, 97), +(59, 425, 98), +(59, 426, 72), +(59, 427, 87), +(59, 428, 99), +(59, 429, 70), +(59, 430, 72), +(59, 431, 65), +(59, 432, 81), +(59, 433, 67), +(59, 434, 81), +(59, 435, 76), +(59, 436, 70), +(59, 437, 67), +(59, 438, 67), +(59, 439, 71), +(59, 440, 65), +(59, 441, 90), +(59, 442, 99), +(59, 443, 93), +(59, 444, 77), +(59, 445, 98), +(59, 446, 97), +(59, 447, 81), +(59, 448, 69), +(59, 449, 69), +(59, 450, 76), +(59, 451, 99), +(59, 452, 69), +(59, 453, 73), +(59, 454, 90), +(59, 455, 70), +(59, 456, 84), +(59, 457, 73), +(59, 458, 92), +(59, 459, 89), +(59, 460, 89), +(59, 461, 92), +(59, 462, 67), +(59, 463, 88), +(59, 464, 75), +(59, 465, 74), +(59, 466, 78), +(59, 467, 90), +(59, 468, 83), +(59, 469, 82), +(59, 470, 94), +(59, 471, 89), +(59, 472, 85), +(59, 473, 96), +(59, 474, 93), +(59, 475, 65), +(59, 476, 66), +(59, 477, 79), +(59, 478, 92), +(59, 479, 94), +(59, 480, 82), +(59, 481, 73), +(59, 482, 94), +(59, 483, 87), +(59, 484, 85), +(59, 485, 98), +(59, 486, 82), +(59, 487, 89), +(59, 488, 87), +(59, 489, 88), +(59, 490, 92), +(59, 491, 85), +(59, 492, 92), +(59, 493, 84), +(59, 494, 91), +(59, 495, 88), +(59, 496, 87), +(59, 497, 94), +(59, 498, 67), +(59, 499, 74), +(59, 500, 88), +(59, 501, 99), +(59, 502, 77), +(59, 503, 85), +(59, 504, 90), +(59, 505, 92), +(59, 506, 66), +(59, 507, 72), +(59, 508, 87), +(59, 509, 77), +(59, 510, 66), +(59, 511, 77), +(59, 512, 99), +(59, 513, 87), +(59, 514, 97), +(59, 515, 87), +(59, 516, 80), +(59, 517, 67), +(59, 518, 78), +(59, 519, 72), +(59, 520, 68), +(59, 521, 95), +(59, 522, 66), +(59, 523, 66), +(59, 524, 68), +(59, 525, 68), +(59, 526, 77), +(59, 527, 67), +(59, 528, 90), +(59, 529, 92), +(59, 530, 96), +(59, 531, 82), +(59, 532, 72), +(59, 533, 94), +(59, 534, 81), +(59, 535, 78), +(59, 536, 94), +(59, 537, 87), +(59, 538, 69), +(59, 539, 66), +(59, 540, 99), +(59, 541, 66), +(59, 542, 87), +(59, 543, 83), +(59, 544, 75), +(59, 545, 69), +(59, 546, 82), +(59, 547, 90), +(59, 548, 85), +(59, 549, 88), +(59, 550, 66), +(59, 551, 78), +(59, 552, 81), +(59, 553, 93), +(59, 554, 79), +(59, 555, 87), +(59, 556, 91), +(59, 557, 99), +(59, 558, 89), +(59, 559, 92), +(59, 560, 88), +(59, 561, 78), +(59, 562, 83), +(59, 563, 99), +(59, 564, 92), +(59, 1024, 89), +(59, 1025, 92), +(59, 1026, 94), +(59, 1027, 82), +(59, 1028, 66), +(59, 1029, 98), +(59, 1030, 87), +(59, 1031, 90), +(59, 1032, 96), +(59, 1033, 98), +(59, 1034, 94), +(59, 1035, 77), +(59, 1036, 96), +(59, 1037, 73), +(59, 1038, 69), +(59, 1039, 91), +(59, 1040, 93), +(59, 1041, 71), +(59, 1042, 71), +(59, 1043, 82), +(59, 1044, 76), +(59, 1045, 69), +(59, 1046, 75), +(59, 1047, 88), +(59, 1048, 94), +(59, 1049, 86), +(59, 1050, 97), +(59, 1051, 76), +(59, 1052, 69), +(59, 1053, 70), +(59, 1054, 96), +(59, 1055, 88), +(59, 1056, 71), +(59, 1057, 71), +(59, 1058, 85), +(59, 1059, 96), +(59, 1060, 79), +(59, 1061, 78), +(59, 1062, 95), +(59, 1063, 85), +(59, 1064, 77), +(59, 1065, 96), +(59, 1066, 76), +(59, 1067, 94), +(59, 1068, 78), +(59, 1069, 98), +(59, 1070, 87), +(59, 1071, 70), +(59, 1072, 86), +(59, 1073, 69), +(59, 1074, 81), +(59, 1075, 65), +(59, 1076, 73), +(59, 1077, 69), +(59, 1078, 78), +(59, 1079, 98), +(59, 1080, 72), +(59, 1081, 98), +(59, 1082, 89), +(59, 1083, 97), +(59, 1084, 66), +(59, 1085, 86), +(59, 1086, 78), +(59, 1087, 65), +(59, 1088, 84), +(59, 1089, 87), +(59, 1090, 82), +(59, 1091, 89), +(59, 1092, 92), +(59, 1093, 77), +(59, 1094, 74), +(59, 1095, 83), +(59, 1096, 66), +(59, 1097, 87), +(59, 1098, 68), +(59, 1099, 94), +(59, 1100, 68), +(59, 1101, 92), +(59, 1102, 70), +(59, 1103, 93), +(59, 1104, 73), +(59, 1105, 78), +(59, 1106, 80), +(59, 1107, 90), +(59, 1108, 98), +(59, 1109, 90), +(59, 1110, 74), +(59, 1111, 67), +(59, 1112, 69), +(59, 1113, 97), +(59, 1114, 92), +(59, 1115, 94), +(59, 1116, 86), +(59, 1117, 79), +(59, 1118, 97), +(59, 1119, 95), +(59, 1120, 70), +(59, 1121, 66), +(59, 1122, 68), +(59, 1123, 92), +(59, 1124, 75), +(59, 1125, 67), +(59, 1126, 85), +(59, 1127, 71), +(59, 1128, 93), +(59, 1129, 93), +(59, 1130, 89), +(59, 1131, 87), +(59, 1132, 76), +(59, 1133, 91), +(59, 1134, 89), +(59, 1135, 83), +(59, 1136, 97), +(59, 1137, 88), +(59, 1138, 90), +(59, 1139, 81), +(59, 1140, 76), +(59, 1141, 86), +(59, 1142, 80), +(59, 1143, 65), +(59, 1144, 98), +(59, 1145, 72), +(59, 1146, 82), +(59, 1147, 85), +(59, 1148, 71), +(59, 1149, 99), +(59, 1150, 70), +(59, 1151, 70), +(59, 1152, 74), +(59, 1153, 66), +(59, 1154, 96), +(59, 1155, 80), +(59, 1156, 72), +(59, 1157, 87), +(59, 1158, 95), +(59, 1159, 76), +(59, 1160, 84), +(59, 1161, 91), +(59, 1162, 70), +(59, 1163, 66), +(59, 1164, 67), +(59, 1165, 89), +(59, 1166, 65), +(59, 1167, 86), +(59, 1168, 75), +(59, 1169, 95), +(59, 1170, 88), +(59, 1171, 69), +(59, 1172, 92), +(59, 1173, 80), +(59, 1174, 86), +(59, 1175, 97), +(59, 1176, 98), +(59, 1177, 86), +(59, 1178, 76), +(59, 1179, 84), +(59, 1180, 73), +(59, 1181, 99), +(59, 1182, 73), +(59, 1183, 78), +(59, 1184, 92), +(59, 1185, 74), +(59, 1186, 81), +(59, 1187, 81), +(59, 1188, 67), +(59, 1189, 93), +(59, 1190, 74), +(59, 1191, 95), +(59, 1192, 96), +(59, 1193, 67), +(59, 1194, 90), +(59, 1195, 75), +(59, 1196, 91), +(59, 1197, 79), +(59, 1198, 68), +(59, 1199, 65), +(59, 1200, 72), +(59, 1201, 77), +(59, 1202, 83), +(59, 1203, 90), +(59, 1204, 71), +(59, 1205, 91), +(59, 1206, 78), +(59, 1207, 95), +(59, 1208, 76), +(59, 1209, 74), +(59, 1210, 78), +(59, 1211, 68), +(59, 1212, 67), +(59, 1213, 99), +(59, 1214, 72), +(59, 1215, 84), +(59, 1216, 82), +(59, 1217, 85), +(59, 1218, 89), +(59, 1219, 68), +(59, 1220, 67), +(59, 1221, 75), +(59, 1222, 67), +(59, 1223, 77), +(59, 1224, 90), +(59, 1225, 74), +(59, 1226, 98), +(59, 1227, 73), +(59, 1228, 72), +(59, 1229, 84), +(59, 1230, 67), +(59, 1231, 85), +(59, 1232, 73), +(59, 1233, 72), +(59, 1234, 77), +(59, 1235, 98), +(59, 1236, 78), +(59, 1237, 84), +(59, 1238, 84), +(59, 1239, 90), +(59, 1240, 81), +(59, 1241, 68), +(59, 1242, 66), +(59, 1243, 91), +(59, 1244, 86), +(59, 1245, 98), +(59, 1246, 66), +(59, 1247, 67), +(59, 1248, 79), +(59, 1249, 76), +(59, 1250, 97), +(59, 1251, 81), +(59, 1252, 66), +(59, 1253, 99), +(59, 1254, 96), +(59, 1255, 65), +(59, 1256, 91), +(59, 1257, 91), +(59, 1258, 90), +(59, 1259, 72), +(59, 1260, 72), +(59, 1261, 96), +(59, 1262, 74), +(59, 1263, 76), +(59, 1264, 72), +(59, 1265, 96), +(59, 1266, 99), +(59, 1267, 71), +(59, 1268, 83), +(59, 1269, 86), +(59, 1270, 95), +(59, 1271, 88), +(59, 1272, 93), +(59, 1273, 77), +(59, 1274, 99), +(59, 1275, 66), +(59, 1276, 87), +(59, 1277, 98), +(59, 1278, 66), +(59, 1279, 79), +(59, 1280, 69), +(59, 1281, 81), +(59, 1282, 79), +(59, 1283, 83), +(59, 1284, 83), +(59, 1285, 95), +(59, 1286, 72), +(59, 1287, 65), +(59, 1288, 88), +(59, 1289, 73), +(59, 1290, 85), +(59, 1291, 74), +(59, 1292, 66), +(59, 1293, 89), +(59, 1294, 97), +(59, 1295, 83), +(59, 1296, 95), +(59, 1297, 95), +(59, 1298, 70), +(59, 1299, 94), +(59, 1300, 97), +(59, 1301, 70), +(59, 1302, 86), +(59, 1303, 78), +(59, 1304, 95), +(59, 1305, 88), +(59, 1306, 83), +(59, 1307, 79), +(59, 1308, 76), +(59, 1309, 82), +(59, 1310, 82), +(59, 1311, 86), +(59, 1312, 80), +(59, 1313, 85), +(59, 1314, 99), +(59, 1315, 76), +(59, 1316, 67), +(59, 1317, 86), +(59, 1318, 83), +(59, 1319, 70), +(59, 1320, 95), +(59, 1321, 91), +(59, 1322, 96), +(59, 1323, 86), +(59, 1324, 71), +(59, 1325, 87), +(59, 1326, 82), +(59, 1327, 81), +(59, 1328, 96), +(59, 1329, 67), +(59, 1330, 67), +(59, 1331, 69), +(59, 1332, 97), +(59, 1333, 67), +(59, 1334, 84), +(59, 1335, 77), +(59, 1336, 72), +(59, 1337, 96), +(59, 1338, 66), +(59, 1339, 84), +(59, 1340, 68), +(59, 1341, 93), +(59, 1342, 88), +(59, 1343, 84), +(59, 1344, 68), +(59, 1345, 77), +(59, 1346, 76), +(59, 1347, 88), +(59, 1348, 87), +(59, 1349, 84), +(59, 1350, 70), +(59, 1351, 91), +(59, 1352, 69), +(59, 1353, 70), +(59, 1354, 90), +(59, 1355, 95), +(59, 1356, 84), +(59, 1357, 71), +(59, 1358, 72), +(59, 1359, 75), +(59, 1360, 90), +(59, 1361, 82), +(59, 1362, 67), +(59, 1363, 82), +(59, 1364, 85), +(59, 1365, 96), +(59, 1366, 87), +(59, 1367, 82), +(59, 1368, 76), +(59, 1369, 86), +(59, 1370, 66), +(59, 1371, 93), +(59, 1372, 88), +(59, 1373, 82), +(59, 1374, 89), +(59, 1375, 87), +(59, 1376, 67), +(59, 1377, 67), +(59, 1378, 72), +(59, 1379, 88), +(59, 1380, 98), +(59, 1381, 78), +(59, 1382, 96), +(59, 1383, 83), +(59, 1384, 87), +(59, 1385, 81), +(59, 1386, 74), +(59, 1387, 94), +(59, 1388, 95), +(59, 1389, 80), +(59, 1390, 66), +(59, 1391, 86), +(59, 1392, 77), +(59, 1393, 98), +(59, 1394, 85), +(59, 1395, 78), +(59, 1396, 71), +(59, 1397, 77), +(59, 1398, 98), +(59, 1399, 98), +(59, 1400, 80), +(59, 1401, 66), +(59, 1402, 67), +(59, 1403, 99), +(59, 1404, 92), +(59, 1405, 91), +(59, 1406, 84), +(59, 1407, 82), +(59, 1408, 80), +(59, 1409, 73), +(59, 1410, 87), +(59, 1411, 65), +(59, 1412, 85), +(59, 1413, 83), +(59, 1414, 65), +(59, 1415, 84), +(59, 1416, 82), +(59, 1417, 89), +(59, 1418, 77), +(59, 1419, 83), +(59, 1420, 66), +(59, 1421, 78), +(59, 1422, 75), +(59, 1423, 91), +(59, 1424, 94), +(59, 1425, 68), +(59, 1426, 91), +(59, 1427, 86), +(59, 1428, 98), +(59, 1429, 94), +(59, 1430, 83), +(59, 1431, 95), +(59, 1432, 76), +(59, 1433, 83), +(59, 1434, 85), +(59, 1435, 84), +(59, 1436, 80), +(59, 1437, 93), +(59, 1438, 99), +(59, 1439, 67), +(59, 1440, 92), +(59, 1441, 79), +(59, 1442, 75), +(59, 1443, 96), +(59, 1444, 91), +(59, 1445, 79), +(59, 1446, 91), +(59, 1447, 84), +(59, 1448, 96), +(59, 1449, 77), +(59, 1450, 87), +(59, 1451, 77), +(59, 1452, 99), +(59, 1453, 86), +(59, 1454, 79), +(59, 1455, 76), +(59, 1456, 68), +(59, 1457, 70), +(59, 1458, 85), +(59, 1459, 76), +(59, 1460, 70), +(59, 1461, 67), +(59, 1462, 95), +(59, 1463, 86), +(59, 1464, 91), +(59, 1465, 81), +(59, 1466, 93), +(59, 1467, 96), +(59, 1468, 65), +(59, 1469, 97), +(59, 1470, 72), +(59, 1471, 70), +(59, 1472, 80), +(59, 1473, 87), +(59, 1474, 93), +(59, 1475, 99), +(59, 1476, 73), +(59, 1477, 67), +(59, 1478, 97), +(59, 1479, 79), +(59, 1480, 85), +(59, 1481, 79), +(59, 1482, 98), +(59, 1483, 82), +(59, 1484, 79), +(59, 1485, 65), +(59, 1486, 70), +(59, 1487, 79), +(59, 1488, 93), +(59, 1489, 75), +(59, 1490, 92), +(59, 1491, 65), +(59, 1492, 87), +(59, 1493, 80), +(59, 1494, 95), +(59, 1495, 97), +(59, 1496, 66), +(59, 1497, 83), +(59, 1498, 85), +(59, 1499, 68), +(59, 1500, 86), +(59, 1501, 75), +(59, 1502, 66), +(59, 1503, 82), +(59, 1504, 74), +(59, 1505, 97), +(59, 1506, 94), +(59, 1507, 69), +(59, 1508, 86), +(59, 1509, 92), +(59, 1510, 77), +(59, 1511, 80), +(59, 1512, 67), +(59, 1513, 85), +(59, 1514, 68), +(59, 1515, 77), +(59, 1516, 97), +(59, 1517, 85), +(59, 1518, 85), +(59, 1519, 96), +(59, 1520, 67), +(59, 1521, 97), +(59, 1522, 65), +(59, 1523, 92), +(59, 1524, 79), +(59, 1525, 72), +(59, 1526, 97), +(59, 1527, 66), +(59, 1528, 84), +(59, 1529, 78), +(59, 1530, 94), +(59, 1531, 74), +(59, 1532, 70), +(59, 1533, 83), +(59, 1534, 75), +(59, 1535, 75), +(59, 1536, 78), +(59, 1537, 97), +(59, 1538, 92), +(59, 1539, 67), +(59, 1540, 78), +(59, 1541, 66), +(59, 1542, 88), +(59, 1543, 74), +(59, 1544, 94), +(59, 1545, 70), +(59, 1546, 94), +(59, 1547, 77), +(59, 1548, 69), +(59, 1549, 89), +(59, 1550, 67), +(59, 1551, 79), +(59, 1552, 65), +(59, 1553, 69), +(59, 1554, 97), +(59, 1555, 87), +(59, 1556, 68), +(59, 1557, 85), +(59, 1558, 72), +(59, 1559, 86), +(59, 1560, 93), +(59, 1561, 83), +(59, 1562, 75), +(59, 1563, 99), +(59, 1564, 73), +(59, 1565, 97), +(59, 1566, 81), +(59, 1567, 97), +(59, 1568, 99), +(59, 1569, 78), +(59, 1570, 86), +(59, 1571, 97), +(59, 1572, 99), +(59, 1573, 86), +(59, 1574, 81), +(59, 1575, 68), +(59, 1576, 77), +(59, 1577, 89), +(59, 1578, 92), +(59, 1579, 97), +(59, 1580, 98), +(59, 1581, 67), +(59, 1582, 91), +(59, 1583, 73), +(59, 1584, 79), +(59, 1585, 95), +(59, 1586, 98), +(59, 1587, 71), +(59, 2047, 83), +(59, 2048, 73), +(59, 2049, 90), +(59, 2050, 76), +(59, 2051, 87), +(59, 2052, 79), +(59, 2053, 96), +(59, 2054, 94), +(59, 2055, 88), +(59, 2056, 95), +(59, 2057, 70), +(59, 2058, 91), +(59, 2059, 71), +(59, 2060, 70), +(59, 2061, 77), +(59, 2062, 97), +(59, 2063, 75), +(59, 2064, 84), +(59, 2065, 79), +(59, 2066, 99), +(59, 2067, 71), +(59, 2068, 87), +(59, 2069, 80), +(59, 2070, 85), +(59, 2071, 72), +(59, 2072, 65), +(59, 2073, 71), +(59, 2074, 83), +(59, 2075, 76), +(59, 2076, 76), +(59, 2077, 97), +(59, 2078, 77), +(59, 2079, 84), +(59, 2080, 72), +(59, 2081, 66), +(59, 2082, 85), +(59, 2083, 84), +(59, 2084, 85), +(59, 2085, 66), +(59, 2086, 79), +(59, 2087, 67), +(59, 2088, 75), +(59, 2089, 70), +(59, 2090, 89), +(59, 2091, 86), +(59, 2092, 99), +(59, 2093, 66), +(59, 2094, 78), +(59, 2095, 98), +(59, 2096, 79), +(59, 2097, 86), +(59, 2098, 84), +(59, 2099, 98), +(59, 2100, 92), +(59, 2101, 97), +(59, 2102, 85), +(59, 2103, 96), +(59, 2104, 71), +(59, 2105, 88), +(59, 2106, 70), +(59, 2107, 70), +(59, 2108, 97), +(59, 2109, 73), +(59, 2110, 99), +(59, 2111, 80), +(59, 2112, 70), +(59, 2113, 84), +(59, 2114, 94), +(59, 2115, 85), +(59, 2116, 73), +(59, 2117, 69), +(59, 2118, 88), +(59, 2119, 66), +(59, 2120, 72), +(59, 2121, 85), +(59, 2122, 84), +(59, 2123, 92), +(59, 2124, 75), +(59, 2125, 79), +(59, 2126, 88), +(59, 2127, 80), +(59, 2128, 77), +(59, 2129, 85), +(59, 2130, 72), +(59, 2131, 77), +(59, 2132, 82), +(59, 2133, 81), +(59, 2134, 76), +(59, 2135, 70), +(59, 2136, 91), +(59, 2137, 87), +(59, 2138, 91), +(59, 2139, 79), +(59, 2140, 84), +(59, 2141, 75), +(59, 2142, 90), +(59, 2143, 77), +(59, 2144, 97), +(59, 2145, 67), +(59, 2146, 75), +(59, 2147, 69), +(59, 2148, 92), +(59, 2149, 71), +(59, 2150, 96), +(59, 2151, 69), +(59, 2152, 90), +(59, 2153, 81), +(59, 2154, 83), +(59, 2155, 68), +(59, 2156, 76), +(59, 2157, 75), +(59, 2158, 66), +(59, 2159, 79), +(59, 2160, 72), +(59, 2161, 73), +(59, 2162, 87), +(59, 2163, 65), +(59, 2164, 82), +(59, 2165, 86), +(59, 2166, 81), +(59, 2167, 69), +(59, 2168, 72), +(59, 2169, 78), +(59, 2170, 80), +(59, 2171, 69), +(59, 2172, 91), +(59, 2173, 71), +(59, 2174, 78), +(59, 2175, 73), +(59, 2176, 86), +(59, 2177, 84), +(59, 2178, 65), +(59, 2179, 97), +(59, 2180, 78), +(59, 2181, 66), +(59, 2182, 99), +(59, 2183, 76), +(59, 2184, 86), +(59, 2185, 76), +(59, 2186, 68), +(59, 2187, 97), +(59, 2188, 86), +(59, 2189, 72), +(59, 2190, 82), +(59, 2191, 65), +(59, 2192, 81), +(59, 2193, 75), +(59, 2194, 65), +(59, 2195, 72), +(59, 2196, 74), +(59, 2197, 84), +(59, 2198, 83), +(59, 2199, 71), +(59, 2200, 88), +(59, 2201, 68), +(59, 2202, 84), +(59, 2203, 98), +(59, 2204, 83), +(59, 2205, 74), +(59, 2206, 92), +(59, 2207, 77), +(59, 2208, 98), +(59, 2209, 75), +(59, 2210, 81), +(59, 2211, 82), +(59, 2212, 68), +(59, 2213, 89), +(59, 2214, 72), +(59, 2215, 86), +(59, 2216, 69), +(59, 2217, 73), +(59, 2218, 66), +(59, 2219, 77), +(59, 2220, 78), +(59, 2221, 80), +(59, 2222, 86), +(59, 2223, 89), +(59, 2224, 95), +(59, 2225, 89), +(59, 2226, 71), +(59, 2227, 98), +(59, 2228, 75), +(59, 2229, 70), +(59, 2230, 85), +(59, 2231, 71), +(59, 2232, 87), +(59, 2233, 67), +(59, 2234, 75), +(59, 2235, 98), +(59, 2236, 72), +(59, 2237, 71), +(59, 2238, 83), +(59, 2239, 89), +(59, 2240, 99), +(59, 2241, 72), +(59, 2242, 98), +(59, 2243, 82), +(59, 2244, 79), +(59, 2245, 69), +(59, 2246, 71), +(59, 2247, 73), +(59, 2248, 99), +(59, 2249, 90), +(59, 2250, 98), +(59, 2251, 76), +(59, 2252, 82), +(59, 2253, 81), +(59, 2254, 93), +(59, 2255, 88), +(59, 2256, 80), +(59, 2257, 72), +(59, 2258, 83), +(59, 2259, 97), +(59, 2260, 91), +(59, 2261, 91), +(59, 2262, 79), +(59, 2263, 66), +(59, 2264, 66), +(59, 2265, 93), +(59, 2266, 87), +(59, 2267, 84), +(59, 2268, 91), +(59, 2269, 70), +(59, 2270, 78), +(59, 2271, 67), +(59, 2272, 75), +(59, 2273, 65), +(59, 2274, 80), +(59, 2275, 84), +(59, 2276, 90), +(59, 2277, 67), +(59, 2278, 77), +(59, 2279, 71), +(59, 2280, 68), +(59, 2281, 69), +(59, 2282, 82), +(59, 2283, 85), +(59, 2284, 86), +(59, 2285, 65), +(59, 2286, 94), +(59, 2287, 79), +(59, 2288, 67), +(59, 2289, 80), +(59, 2290, 73), +(59, 2291, 94), +(59, 2292, 76), +(59, 2293, 69), +(59, 2294, 85), +(59, 2295, 77), +(59, 2296, 68), +(59, 2297, 88), +(59, 2298, 92), +(59, 2299, 79), +(59, 2300, 99), +(59, 2301, 73), +(59, 2302, 97), +(59, 2303, 91), +(59, 2304, 83), +(59, 2305, 92), +(59, 2306, 91), +(59, 2307, 87), +(59, 2308, 89), +(59, 2309, 67), +(59, 2310, 77), +(59, 2311, 69), +(59, 2312, 90), +(59, 2313, 85), +(59, 2314, 66), +(59, 2315, 69), +(59, 2316, 72), +(59, 2317, 83), +(59, 2318, 93), +(59, 2319, 78), +(59, 2320, 89), +(59, 2321, 88), +(59, 2322, 91), +(59, 2323, 78), +(59, 2324, 94), +(59, 2325, 86), +(59, 2326, 65), +(59, 2327, 97), +(59, 2328, 67), +(59, 2329, 96), +(59, 2330, 65), +(59, 2331, 78), +(59, 2332, 95), +(59, 2333, 94), +(59, 2334, 88), +(59, 2335, 99), +(59, 2336, 68), +(59, 2337, 93), +(59, 2338, 92), +(59, 2339, 75), +(59, 2340, 68), +(59, 2341, 77), +(59, 2342, 98), +(59, 2343, 68), +(59, 2344, 65), +(59, 2345, 68), +(59, 2346, 98), +(59, 2347, 93), +(59, 2348, 95), +(59, 2349, 73), +(59, 2350, 66), +(59, 2351, 68), +(59, 2352, 66), +(59, 2353, 72), +(59, 2354, 76), +(59, 2355, 90), +(59, 2356, 75), +(59, 2357, 90), +(59, 2358, 88), +(59, 2359, 74), +(59, 2360, 71), +(59, 2361, 88), +(59, 2362, 85), +(59, 2363, 94), +(59, 2364, 83), +(59, 2365, 66), +(59, 2366, 71), +(59, 2367, 71), +(59, 2368, 85), +(59, 2369, 76), +(59, 2370, 70), +(59, 2371, 74), +(59, 2372, 73), +(59, 2373, 82), +(59, 2374, 98), +(59, 2375, 71), +(59, 2376, 90), +(59, 2377, 87), +(59, 2378, 90), +(59, 2379, 95), +(59, 2380, 96), +(59, 2381, 87), +(59, 2382, 78), +(59, 2383, 70), +(59, 2384, 66), +(59, 2385, 79), +(59, 2386, 98), +(59, 2387, 83), +(59, 2388, 80), +(59, 2389, 73), +(59, 2390, 96), +(59, 2391, 93), +(59, 2392, 93), +(59, 2393, 67), +(59, 2394, 78), +(59, 2395, 87), +(59, 2396, 70), +(59, 2397, 83), +(59, 2398, 66), +(59, 2399, 95), +(59, 2400, 93), +(59, 2401, 77), +(59, 2402, 98), +(59, 2403, 74), +(59, 2404, 99), +(59, 2405, 73), +(59, 2406, 99), +(59, 2407, 74), +(59, 2408, 68), +(59, 2409, 81), +(59, 2410, 72), +(59, 2411, 78), +(59, 2412, 65), +(59, 2413, 66), +(59, 2414, 75), +(59, 2415, 69), +(59, 2416, 66), +(59, 2417, 92), +(59, 2418, 84), +(59, 2419, 74), +(59, 2420, 91), +(59, 2421, 79), +(59, 2422, 84), +(59, 2423, 72), +(59, 2424, 84), +(59, 2425, 91), +(59, 2426, 70), +(59, 2427, 75), +(59, 2428, 83), +(59, 2429, 96), +(59, 2430, 80), +(59, 2431, 99), +(59, 2432, 70), +(59, 2433, 73), +(59, 2434, 96), +(59, 2435, 91), +(59, 2436, 97), +(59, 2437, 84), +(59, 2438, 68), +(59, 2439, 99), +(59, 2440, 76), +(59, 2441, 87), +(59, 2442, 85), +(59, 2443, 93), +(59, 2444, 86), +(59, 2445, 82), +(59, 2446, 84), +(59, 2447, 96), +(59, 2448, 82), +(59, 2449, 95), +(59, 2450, 94), +(59, 2451, 83), +(59, 2452, 72), +(59, 2453, 92), +(59, 2454, 82), +(59, 2455, 70), +(59, 2456, 75), +(59, 2457, 95), +(59, 2458, 94), +(59, 2459, 99), +(59, 2460, 96), +(59, 2461, 86), +(59, 2462, 81), +(59, 2463, 95), +(59, 2464, 72), +(59, 2465, 70), +(59, 2466, 65), +(59, 2467, 96), +(59, 2468, 76), +(59, 2469, 93), +(59, 2470, 73), +(59, 2471, 90), +(59, 2472, 75), +(59, 2473, 95), +(59, 2474, 81), +(59, 2475, 74), +(59, 2476, 75), +(59, 2477, 86), +(59, 2478, 97), +(59, 2479, 65), +(59, 2480, 97), +(59, 2481, 70), +(59, 2482, 99), +(59, 2483, 98), +(59, 2484, 66), +(59, 2485, 71), +(59, 2486, 90), +(59, 2487, 73), +(59, 2488, 75), +(59, 2489, 95), +(59, 2490, 95), +(59, 2491, 69), +(59, 2492, 75), +(59, 2493, 91), +(59, 2494, 70), +(59, 2495, 92), +(59, 2496, 81), +(59, 2497, 79), +(59, 2498, 96), +(59, 2499, 79), +(59, 2500, 76), +(59, 2501, 84), +(59, 2502, 92), +(59, 2503, 71), +(59, 2504, 68), +(59, 2505, 84), +(59, 2506, 74), +(59, 2507, 74), +(59, 2508, 88), +(59, 2509, 82), +(59, 2510, 77), +(59, 2511, 77), +(59, 2512, 85), +(59, 2513, 95), +(59, 2514, 84), +(59, 2515, 95), +(59, 2516, 86), +(59, 2517, 77), +(59, 2518, 77), +(59, 2519, 72), +(59, 2520, 97), +(59, 2521, 91), +(59, 2522, 90), +(59, 2523, 95), +(59, 2524, 67), +(59, 2525, 71), +(59, 2526, 87), +(59, 2527, 69), +(59, 2528, 66), +(59, 2529, 77), +(59, 2530, 83), +(59, 2531, 72), +(59, 2532, 91), +(59, 2533, 82), +(59, 2534, 72), +(59, 2535, 70), +(59, 2536, 65), +(59, 2537, 65), +(59, 2538, 96), +(59, 2539, 85), +(59, 2540, 71), +(59, 2541, 86), +(59, 2542, 80), +(59, 2543, 74), +(59, 2544, 86), +(59, 2545, 76), +(59, 2546, 91), +(59, 2547, 99), +(59, 2548, 94), +(59, 2549, 98), +(59, 2550, 88), +(59, 2551, 83), +(59, 2552, 94), +(59, 2553, 96), +(59, 2554, 70), +(59, 2555, 96), +(59, 2556, 79), +(59, 2557, 93), +(59, 2558, 97), +(59, 2559, 86), +(59, 2560, 97), +(59, 2561, 92), +(59, 2562, 93), +(59, 2563, 83), +(59, 2564, 68), +(59, 2565, 75), +(59, 2566, 74), +(59, 2567, 83), +(59, 2568, 65), +(59, 2569, 73), +(59, 2570, 85), +(59, 2571, 94), +(59, 2572, 88), +(59, 2573, 94), +(59, 2574, 73), +(59, 2575, 97), +(59, 2576, 79), +(59, 2577, 92), +(59, 2578, 86), +(59, 2579, 67), +(59, 2580, 78), +(59, 2581, 81), +(59, 2582, 71), +(59, 2583, 97), +(59, 2584, 65), +(59, 2585, 78), +(59, 2586, 67), +(59, 2587, 85), +(59, 2588, 76), +(59, 2589, 78), +(59, 2590, 80), +(59, 2591, 92), +(59, 2592, 65), +(59, 2593, 92), +(59, 2594, 97), +(59, 2595, 94), +(59, 2596, 91), +(59, 2597, 70), +(59, 2598, 77), +(59, 2599, 99), +(59, 2600, 72), +(59, 2601, 75), +(59, 2602, 66), +(59, 2603, 68), +(59, 2604, 83), +(59, 2605, 76), +(59, 2606, 81), +(59, 2607, 72), +(59, 2608, 67), +(59, 2609, 99), +(59, 2610, 72), +(60, 1, 76), +(60, 2, 67), +(60, 3, 71), +(60, 4, 85), +(60, 5, 88), +(60, 6, 94), +(60, 7, 86), +(60, 8, 91), +(60, 9, 74), +(60, 10, 75), +(60, 11, 90), +(60, 12, 99), +(60, 13, 71), +(60, 14, 87), +(60, 15, 80), +(60, 16, 98), +(60, 17, 68), +(60, 18, 70), +(60, 19, 98), +(60, 20, 89), +(60, 21, 93), +(60, 22, 74), +(60, 23, 83), +(60, 24, 83), +(60, 25, 81), +(60, 26, 82), +(60, 27, 88), +(60, 28, 86), +(60, 29, 99), +(60, 30, 66), +(60, 31, 83), +(60, 32, 91), +(60, 33, 90), +(60, 34, 82), +(60, 35, 68), +(60, 36, 69), +(60, 37, 89), +(60, 38, 82), +(60, 39, 67), +(60, 40, 88), +(60, 41, 92), +(60, 42, 71), +(60, 43, 94), +(60, 44, 97), +(60, 45, 95), +(60, 46, 73), +(60, 47, 73), +(60, 48, 79), +(60, 49, 66), +(60, 50, 90), +(60, 51, 91), +(60, 52, 73), +(60, 53, 74), +(60, 54, 67), +(60, 55, 95), +(60, 56, 97), +(60, 57, 68), +(60, 58, 84), +(60, 59, 79), +(60, 60, 75), +(60, 61, 65), +(60, 62, 69), +(60, 63, 81), +(60, 64, 91), +(60, 65, 86), +(60, 66, 66), +(60, 67, 73), +(60, 68, 66), +(60, 69, 98), +(60, 70, 95), +(60, 71, 66), +(60, 72, 91), +(60, 73, 76), +(60, 74, 90), +(60, 75, 65), +(60, 76, 65), +(60, 77, 65), +(60, 78, 68), +(60, 79, 92), +(60, 80, 65), +(60, 81, 97), +(60, 82, 72), +(60, 83, 97), +(60, 84, 82), +(60, 85, 77), +(60, 86, 79), +(60, 87, 81), +(60, 88, 96), +(60, 89, 78), +(60, 90, 66), +(60, 91, 89), +(60, 92, 98), +(60, 93, 72), +(60, 94, 70), +(60, 95, 70), +(60, 96, 87), +(60, 97, 91), +(60, 98, 92), +(60, 99, 96), +(60, 100, 87), +(60, 101, 73), +(60, 102, 92), +(60, 103, 68), +(60, 104, 67), +(60, 105, 67), +(60, 106, 77), +(60, 107, 91), +(60, 108, 69), +(60, 109, 66), +(60, 110, 72), +(60, 111, 65), +(60, 112, 71), +(60, 113, 87), +(60, 114, 95), +(60, 115, 90), +(60, 116, 82), +(60, 117, 84), +(60, 118, 96), +(60, 119, 93), +(60, 120, 76), +(60, 121, 94), +(60, 122, 88), +(60, 123, 75), +(60, 124, 87), +(60, 125, 78), +(60, 126, 66), +(60, 127, 84), +(60, 128, 68), +(60, 129, 91), +(60, 130, 66), +(60, 131, 79), +(60, 132, 97), +(60, 133, 94), +(60, 134, 76), +(60, 135, 66), +(60, 136, 74), +(60, 137, 72), +(60, 138, 90), +(60, 139, 92), +(60, 140, 71), +(60, 141, 68), +(60, 142, 95), +(60, 143, 73), +(60, 144, 78), +(60, 145, 81), +(60, 146, 78), +(60, 147, 69), +(60, 148, 99), +(60, 149, 98), +(60, 150, 83), +(60, 151, 94), +(60, 152, 90), +(60, 153, 93), +(60, 154, 68), +(60, 155, 86), +(60, 156, 84), +(60, 157, 84), +(60, 158, 86), +(60, 159, 67), +(60, 160, 84), +(60, 161, 85), +(60, 162, 84), +(60, 163, 96), +(60, 164, 87), +(60, 165, 88), +(60, 166, 76), +(60, 167, 92), +(60, 168, 89), +(60, 169, 95), +(60, 170, 99), +(60, 171, 72), +(60, 172, 70), +(60, 173, 95), +(60, 174, 83), +(60, 175, 76), +(60, 176, 82), +(60, 177, 73), +(60, 178, 67), +(60, 179, 84), +(60, 180, 65), +(60, 181, 91), +(60, 182, 74), +(60, 183, 78), +(60, 184, 75), +(60, 185, 99), +(60, 186, 75), +(60, 187, 93), +(60, 188, 79), +(60, 189, 94), +(60, 190, 72), +(60, 191, 81), +(60, 192, 69), +(60, 193, 91), +(60, 194, 72), +(60, 195, 73), +(60, 196, 91), +(60, 197, 78), +(60, 198, 76), +(60, 199, 96), +(60, 200, 91), +(60, 201, 75), +(60, 202, 88), +(60, 203, 86), +(60, 204, 96), +(60, 205, 70), +(60, 206, 97), +(60, 207, 68), +(60, 208, 84), +(60, 209, 76), +(60, 210, 93), +(60, 211, 96), +(60, 212, 69), +(60, 213, 98), +(60, 214, 84), +(60, 215, 74), +(60, 216, 91), +(60, 217, 65), +(60, 218, 74), +(60, 219, 78), +(60, 220, 81), +(60, 221, 89), +(60, 222, 77), +(60, 223, 89), +(60, 224, 92), +(60, 225, 73), +(60, 226, 75), +(60, 227, 97), +(60, 228, 66), +(60, 229, 84), +(60, 230, 98), +(60, 231, 80), +(60, 232, 85), +(60, 233, 87), +(60, 234, 93), +(60, 235, 78), +(60, 236, 76), +(60, 237, 85), +(60, 238, 86), +(60, 239, 85), +(60, 240, 72), +(60, 241, 92), +(60, 242, 96), +(60, 243, 89), +(60, 244, 83), +(60, 245, 72), +(60, 246, 81), +(60, 247, 99), +(60, 248, 82), +(60, 249, 89), +(60, 250, 69), +(60, 251, 69), +(60, 252, 87), +(60, 253, 94), +(60, 254, 81), +(60, 255, 87), +(60, 256, 85), +(60, 257, 69), +(60, 258, 91), +(60, 259, 97), +(60, 260, 70), +(60, 261, 94), +(60, 262, 85), +(60, 263, 73), +(60, 264, 72), +(60, 265, 90), +(60, 266, 86), +(60, 267, 92), +(60, 268, 89), +(60, 269, 69), +(60, 270, 68), +(60, 271, 94), +(60, 272, 82), +(60, 273, 80), +(60, 274, 77), +(60, 275, 79), +(60, 276, 86), +(60, 277, 85), +(60, 278, 89), +(60, 279, 66), +(60, 280, 89), +(60, 281, 77), +(60, 282, 77), +(60, 283, 67), +(60, 284, 90), +(60, 285, 65), +(60, 286, 79), +(60, 287, 66), +(60, 288, 65), +(60, 289, 66), +(60, 290, 76), +(60, 291, 90), +(60, 292, 93), +(60, 293, 95), +(60, 294, 67), +(60, 295, 67), +(60, 296, 80), +(60, 297, 67), +(60, 298, 87), +(60, 299, 77), +(60, 300, 88), +(60, 301, 74), +(60, 302, 78), +(60, 303, 90), +(60, 304, 87), +(60, 305, 97), +(60, 306, 81), +(60, 307, 83), +(60, 308, 97), +(60, 309, 82), +(60, 310, 93), +(60, 311, 65), +(60, 312, 84), +(60, 313, 78), +(60, 314, 94), +(60, 315, 78), +(60, 316, 93), +(60, 317, 74), +(60, 318, 95), +(60, 319, 90), +(60, 320, 70), +(60, 321, 85), +(60, 322, 71), +(60, 323, 76), +(60, 324, 97), +(60, 325, 79), +(60, 326, 93), +(60, 327, 93), +(60, 328, 95), +(60, 329, 76), +(60, 330, 68), +(60, 331, 77), +(60, 332, 83), +(60, 333, 78), +(60, 334, 81), +(60, 335, 80), +(60, 336, 97), +(60, 337, 91), +(60, 338, 72), +(60, 339, 78), +(60, 340, 81), +(60, 341, 75), +(60, 342, 74), +(60, 343, 75), +(60, 344, 76), +(60, 345, 98), +(60, 346, 80), +(60, 347, 88), +(60, 348, 93), +(60, 349, 80), +(60, 350, 84), +(60, 351, 76), +(60, 352, 65), +(60, 353, 87), +(60, 354, 71), +(60, 355, 69), +(60, 356, 68), +(60, 357, 77), +(60, 358, 83), +(60, 359, 91), +(60, 360, 95), +(60, 361, 69), +(60, 362, 87), +(60, 363, 88), +(60, 364, 81), +(60, 365, 75), +(60, 366, 79), +(60, 367, 90), +(60, 368, 71), +(60, 369, 80), +(60, 370, 94), +(60, 371, 77), +(60, 372, 80), +(60, 373, 70), +(60, 374, 82), +(60, 375, 81), +(60, 376, 80), +(60, 377, 76), +(60, 378, 91), +(60, 379, 90), +(60, 380, 85), +(60, 381, 72), +(60, 382, 94), +(60, 383, 81), +(60, 384, 92), +(60, 385, 98), +(60, 386, 90), +(60, 387, 71), +(60, 388, 86), +(60, 389, 87), +(60, 390, 87), +(60, 391, 76), +(60, 392, 72), +(60, 393, 68), +(60, 394, 74), +(60, 395, 79), +(60, 396, 68), +(60, 397, 78), +(60, 398, 97), +(60, 399, 74), +(60, 400, 66), +(60, 401, 79), +(60, 402, 83), +(60, 403, 92), +(60, 404, 78), +(60, 405, 93), +(60, 406, 90), +(60, 407, 68), +(60, 408, 67), +(60, 409, 97), +(60, 410, 70), +(60, 411, 92); +INSERT INTO `nilai_sub_cpmk` (`id_mhs`, `id_sub_cpmk`, `nilai`) VALUES +(60, 412, 77), +(60, 413, 86), +(60, 414, 95), +(60, 415, 82), +(60, 416, 83), +(60, 417, 99), +(60, 418, 83), +(60, 419, 97), +(60, 420, 87), +(60, 421, 94), +(60, 422, 78), +(60, 423, 90), +(60, 424, 85), +(60, 425, 79), +(60, 426, 74), +(60, 427, 84), +(60, 428, 94), +(60, 429, 90), +(60, 430, 65), +(60, 431, 74), +(60, 432, 80), +(60, 433, 68), +(60, 434, 78), +(60, 435, 93), +(60, 436, 71), +(60, 437, 94), +(60, 438, 90), +(60, 439, 89), +(60, 440, 87), +(60, 441, 65), +(60, 442, 90), +(60, 443, 69), +(60, 444, 88), +(60, 445, 85), +(60, 446, 81), +(60, 447, 90), +(60, 448, 85), +(60, 449, 77), +(60, 450, 69), +(60, 451, 90), +(60, 452, 90), +(60, 453, 69), +(60, 454, 99), +(60, 455, 74), +(60, 456, 67), +(60, 457, 72), +(60, 458, 78), +(60, 459, 70), +(60, 460, 75), +(60, 461, 87), +(60, 462, 99), +(60, 463, 70), +(60, 464, 90), +(60, 465, 68), +(60, 466, 98), +(60, 467, 93), +(60, 468, 77), +(60, 469, 80), +(60, 470, 80), +(60, 471, 71), +(60, 472, 83), +(60, 473, 82), +(60, 474, 79), +(60, 475, 66), +(60, 476, 84), +(60, 477, 73), +(60, 478, 77), +(60, 479, 73), +(60, 480, 80), +(60, 481, 99), +(60, 482, 79), +(60, 483, 88), +(60, 484, 88), +(60, 485, 88), +(60, 486, 85), +(60, 487, 84), +(60, 488, 80), +(60, 489, 97), +(60, 490, 71), +(60, 491, 85), +(60, 492, 74), +(60, 493, 81), +(60, 494, 98), +(60, 495, 95), +(60, 496, 89), +(60, 497, 92), +(60, 498, 81), +(60, 499, 77), +(60, 500, 88), +(60, 501, 82), +(60, 502, 72), +(60, 503, 67), +(60, 504, 67), +(60, 505, 82), +(60, 506, 74), +(60, 507, 72), +(60, 508, 87), +(60, 509, 68), +(60, 510, 94), +(60, 511, 95), +(60, 512, 74), +(60, 513, 77), +(60, 514, 89), +(60, 515, 82), +(60, 516, 88), +(60, 517, 92), +(60, 518, 79), +(60, 519, 78), +(60, 520, 95), +(60, 521, 84), +(60, 522, 84), +(60, 523, 67), +(60, 524, 73), +(60, 525, 98), +(60, 526, 79), +(60, 527, 73), +(60, 528, 98), +(60, 529, 98), +(60, 530, 89), +(60, 531, 91), +(60, 532, 79), +(60, 533, 95), +(60, 534, 82), +(60, 535, 70), +(60, 536, 85), +(60, 537, 66), +(60, 538, 90), +(60, 539, 96), +(60, 540, 76), +(60, 541, 95), +(60, 542, 66), +(60, 543, 76), +(60, 544, 87), +(60, 545, 82), +(60, 546, 75), +(60, 547, 81), +(60, 548, 97), +(60, 549, 87), +(60, 550, 98), +(60, 551, 93), +(60, 552, 71), +(60, 553, 74), +(60, 554, 68), +(60, 555, 84), +(60, 556, 86), +(60, 557, 66), +(60, 558, 89), +(60, 559, 67), +(60, 560, 90), +(60, 561, 95), +(60, 562, 97), +(60, 563, 97), +(60, 564, 94), +(60, 1024, 70), +(60, 1025, 87), +(60, 1026, 93), +(60, 1027, 72), +(60, 1028, 85), +(60, 1029, 67), +(60, 1030, 93), +(60, 1031, 67), +(60, 1032, 82), +(60, 1033, 84), +(60, 1034, 94), +(60, 1035, 87), +(60, 1036, 91), +(60, 1037, 65), +(60, 1038, 67), +(60, 1039, 84), +(60, 1040, 84), +(60, 1041, 91), +(60, 1042, 66), +(60, 1043, 84), +(60, 1044, 69), +(60, 1045, 70), +(60, 1046, 73), +(60, 1047, 80), +(60, 1048, 92), +(60, 1049, 79), +(60, 1050, 73), +(60, 1051, 86), +(60, 1052, 65), +(60, 1053, 68), +(60, 1054, 65), +(60, 1055, 67), +(60, 1056, 89), +(60, 1057, 68), +(60, 1058, 95), +(60, 1059, 71), +(60, 1060, 68), +(60, 1061, 66), +(60, 1062, 83), +(60, 1063, 83), +(60, 1064, 92), +(60, 1065, 73), +(60, 1066, 87), +(60, 1067, 99), +(60, 1068, 66), +(60, 1069, 94), +(60, 1070, 92), +(60, 1071, 79), +(60, 1072, 81), +(60, 1073, 98), +(60, 1074, 75), +(60, 1075, 71), +(60, 1076, 75), +(60, 1077, 66), +(60, 1078, 79), +(60, 1079, 94), +(60, 1080, 65), +(60, 1081, 80), +(60, 1082, 72), +(60, 1083, 80), +(60, 1084, 90), +(60, 1085, 91), +(60, 1086, 96), +(60, 1087, 78), +(60, 1088, 89), +(60, 1089, 89), +(60, 1090, 92), +(60, 1091, 77), +(60, 1092, 89), +(60, 1093, 89), +(60, 1094, 73), +(60, 1095, 88), +(60, 1096, 78), +(60, 1097, 99), +(60, 1098, 78), +(60, 1099, 83), +(60, 1100, 69), +(60, 1101, 98), +(60, 1102, 97), +(60, 1103, 74), +(60, 1104, 65), +(60, 1105, 97), +(60, 1106, 66), +(60, 1107, 74), +(60, 1108, 82), +(60, 1109, 67), +(60, 1110, 83), +(60, 1111, 73), +(60, 1112, 74), +(60, 1113, 69), +(60, 1114, 97), +(60, 1115, 96), +(60, 1116, 91), +(60, 1117, 98), +(60, 1118, 77), +(60, 1119, 68), +(60, 1120, 80), +(60, 1121, 82), +(60, 1122, 65), +(60, 1123, 82), +(60, 1124, 67), +(60, 1125, 75), +(60, 1126, 84), +(60, 1127, 96), +(60, 1128, 70), +(60, 1129, 69), +(60, 1130, 76), +(60, 1131, 73), +(60, 1132, 67), +(60, 1133, 84), +(60, 1134, 65), +(60, 1135, 87), +(60, 1136, 88), +(60, 1137, 98), +(60, 1138, 93), +(60, 1139, 95), +(60, 1140, 82), +(60, 1141, 74), +(60, 1142, 68), +(60, 1143, 92), +(60, 1144, 86), +(60, 1145, 83), +(60, 1146, 78), +(60, 1147, 93), +(60, 1148, 67), +(60, 1149, 70), +(60, 1150, 90), +(60, 1151, 72), +(60, 1152, 81), +(60, 1153, 86), +(60, 1154, 97), +(60, 1155, 67), +(60, 1156, 71), +(60, 1157, 81), +(60, 1158, 69), +(60, 1159, 88), +(60, 1160, 69), +(60, 1161, 91), +(60, 1162, 91), +(60, 1163, 67), +(60, 1164, 70), +(60, 1165, 81), +(60, 1166, 80), +(60, 1167, 83), +(60, 1168, 73), +(60, 1169, 88), +(60, 1170, 73), +(60, 1171, 86), +(60, 1172, 89), +(60, 1173, 82), +(60, 1174, 83), +(60, 1175, 88), +(60, 1176, 69), +(60, 1177, 91), +(60, 1178, 86), +(60, 1179, 91), +(60, 1180, 88), +(60, 1181, 97), +(60, 1182, 77), +(60, 1183, 77), +(60, 1184, 72), +(60, 1185, 70), +(60, 1186, 71), +(60, 1187, 74), +(60, 1188, 93), +(60, 1189, 74), +(60, 1190, 90), +(60, 1191, 94), +(60, 1192, 87), +(60, 1193, 67), +(60, 1194, 93), +(60, 1195, 77), +(60, 1196, 92), +(60, 1197, 83), +(60, 1198, 84), +(60, 1199, 98), +(60, 1200, 89), +(60, 1201, 83), +(60, 1202, 76), +(60, 1203, 85), +(60, 1204, 76), +(60, 1205, 82), +(60, 1206, 80), +(60, 1207, 77), +(60, 1208, 92), +(60, 1209, 94), +(60, 1210, 99), +(60, 1211, 68), +(60, 1212, 97), +(60, 1213, 77), +(60, 1214, 92), +(60, 1215, 87), +(60, 1216, 76), +(60, 1217, 79), +(60, 1218, 66), +(60, 1219, 74), +(60, 1220, 93), +(60, 1221, 72), +(60, 1222, 83), +(60, 1223, 90), +(60, 1224, 97), +(60, 1225, 74), +(60, 1226, 73), +(60, 1227, 79), +(60, 1228, 75), +(60, 1229, 67), +(60, 1230, 98), +(60, 1231, 92), +(60, 1232, 91), +(60, 1233, 75), +(60, 1234, 65), +(60, 1235, 73), +(60, 1236, 85), +(60, 1237, 77), +(60, 1238, 93), +(60, 1239, 77), +(60, 1240, 90), +(60, 1241, 73), +(60, 1242, 94), +(60, 1243, 77), +(60, 1244, 76), +(60, 1245, 91), +(60, 1246, 65), +(60, 1247, 96), +(60, 1248, 85), +(60, 1249, 97), +(60, 1250, 78), +(60, 1251, 67), +(60, 1252, 93), +(60, 1253, 73), +(60, 1254, 81), +(60, 1255, 65), +(60, 1256, 71), +(60, 1257, 82), +(60, 1258, 65), +(60, 1259, 75), +(60, 1260, 71), +(60, 1261, 75), +(60, 1262, 76), +(60, 1263, 85), +(60, 1264, 78), +(60, 1265, 66), +(60, 1266, 89), +(60, 1267, 67), +(60, 1268, 76), +(60, 1269, 77), +(60, 1270, 80), +(60, 1271, 72), +(60, 1272, 87), +(60, 1273, 65), +(60, 1274, 87), +(60, 1275, 93), +(60, 1276, 68), +(60, 1277, 82), +(60, 1278, 96), +(60, 1279, 96), +(60, 1280, 83), +(60, 1281, 77), +(60, 1282, 98), +(60, 1283, 90), +(60, 1284, 82), +(60, 1285, 68), +(60, 1286, 67), +(60, 1287, 91), +(60, 1288, 85), +(60, 1289, 86), +(60, 1290, 72), +(60, 1291, 95), +(60, 1292, 65), +(60, 1293, 89), +(60, 1294, 74), +(60, 1295, 92), +(60, 1296, 78), +(60, 1297, 93), +(60, 1298, 95), +(60, 1299, 76), +(60, 1300, 93), +(60, 1301, 77), +(60, 1302, 97), +(60, 1303, 96), +(60, 1304, 65), +(60, 1305, 81), +(60, 1306, 96), +(60, 1307, 89), +(60, 1308, 65), +(60, 1309, 91), +(60, 1310, 85), +(60, 1311, 97), +(60, 1312, 85), +(60, 1313, 81), +(60, 1314, 66), +(60, 1315, 78), +(60, 1316, 98), +(60, 1317, 70), +(60, 1318, 89), +(60, 1319, 74), +(60, 1320, 97), +(60, 1321, 88), +(60, 1322, 80), +(60, 1323, 84), +(60, 1324, 82), +(60, 1325, 88), +(60, 1326, 76), +(60, 1327, 89), +(60, 1328, 78), +(60, 1329, 80), +(60, 1330, 66), +(60, 1331, 66), +(60, 1332, 77), +(60, 1333, 98), +(60, 1334, 88), +(60, 1335, 91), +(60, 1336, 76), +(60, 1337, 73), +(60, 1338, 78), +(60, 1339, 69), +(60, 1340, 68), +(60, 1341, 87), +(60, 1342, 74), +(60, 1343, 90), +(60, 1344, 91), +(60, 1345, 69), +(60, 1346, 75), +(60, 1347, 66), +(60, 1348, 78), +(60, 1349, 73), +(60, 1350, 90), +(60, 1351, 83), +(60, 1352, 69), +(60, 1353, 89), +(60, 1354, 90), +(60, 1355, 71), +(60, 1356, 94), +(60, 1357, 69), +(60, 1358, 87), +(60, 1359, 71), +(60, 1360, 86), +(60, 1361, 91), +(60, 1362, 86), +(60, 1363, 73), +(60, 1364, 91), +(60, 1365, 88), +(60, 1366, 83), +(60, 1367, 75), +(60, 1368, 65), +(60, 1369, 69), +(60, 1370, 98), +(60, 1371, 94), +(60, 1372, 96), +(60, 1373, 75), +(60, 1374, 72), +(60, 1375, 82), +(60, 1376, 82), +(60, 1377, 84), +(60, 1378, 84), +(60, 1379, 90), +(60, 1380, 87), +(60, 1381, 98), +(60, 1382, 78), +(60, 1383, 69), +(60, 1384, 92), +(60, 1385, 91), +(60, 1386, 67), +(60, 1387, 79), +(60, 1388, 90), +(60, 1389, 90), +(60, 1390, 67), +(60, 1391, 86), +(60, 1392, 98), +(60, 1393, 99), +(60, 1394, 65), +(60, 1395, 86), +(60, 1396, 77), +(60, 1397, 95), +(60, 1398, 74), +(60, 1399, 92), +(60, 1400, 90), +(60, 1401, 91), +(60, 1402, 73), +(60, 1403, 87), +(60, 1404, 69), +(60, 1405, 67), +(60, 1406, 82), +(60, 1407, 65), +(60, 1408, 85), +(60, 1409, 74), +(60, 1410, 65), +(60, 1411, 74), +(60, 1412, 81), +(60, 1413, 75), +(60, 1414, 67), +(60, 1415, 69), +(60, 1416, 88), +(60, 1417, 89), +(60, 1418, 78), +(60, 1419, 91), +(60, 1420, 84), +(60, 1421, 78), +(60, 1422, 69), +(60, 1423, 78), +(60, 1424, 65), +(60, 1425, 81), +(60, 1426, 69), +(60, 1427, 87), +(60, 1428, 89), +(60, 1429, 95), +(60, 1430, 79), +(60, 1431, 71), +(60, 1432, 73), +(60, 1433, 81), +(60, 1434, 73), +(60, 1435, 77), +(60, 1436, 94), +(60, 1437, 70), +(60, 1438, 66), +(60, 1439, 65), +(60, 1440, 93), +(60, 1441, 73), +(60, 1442, 72), +(60, 1443, 91), +(60, 1444, 91), +(60, 1445, 84), +(60, 1446, 71), +(60, 1447, 97), +(60, 1448, 87), +(60, 1449, 82), +(60, 1450, 84), +(60, 1451, 89), +(60, 1452, 84), +(60, 1453, 71), +(60, 1454, 92), +(60, 1455, 66), +(60, 1456, 92), +(60, 1457, 97), +(60, 1458, 74), +(60, 1459, 81), +(60, 1460, 84), +(60, 1461, 99), +(60, 1462, 99), +(60, 1463, 89), +(60, 1464, 81), +(60, 1465, 73), +(60, 1466, 65), +(60, 1467, 71), +(60, 1468, 70), +(60, 1469, 91), +(60, 1470, 77), +(60, 1471, 85), +(60, 1472, 86), +(60, 1473, 85), +(60, 1474, 91), +(60, 1475, 82), +(60, 1476, 88), +(60, 1477, 90), +(60, 1478, 91), +(60, 1479, 98), +(60, 1480, 77), +(60, 1481, 84), +(60, 1482, 96), +(60, 1483, 81), +(60, 1484, 72), +(60, 1485, 81), +(60, 1486, 80), +(60, 1487, 74), +(60, 1488, 75), +(60, 1489, 70), +(60, 1490, 86), +(60, 1491, 99), +(60, 1492, 96), +(60, 1493, 69), +(60, 1494, 88), +(60, 1495, 76), +(60, 1496, 89), +(60, 1497, 72), +(60, 1498, 94), +(60, 1499, 99), +(60, 1500, 69), +(60, 1501, 75), +(60, 1502, 70), +(60, 1503, 74), +(60, 1504, 99), +(60, 1505, 68), +(60, 1506, 92), +(60, 1507, 83), +(60, 1508, 80), +(60, 1509, 88), +(60, 1510, 80), +(60, 1511, 65), +(60, 1512, 87), +(60, 1513, 80), +(60, 1514, 73), +(60, 1515, 66), +(60, 1516, 94), +(60, 1517, 86), +(60, 1518, 74), +(60, 1519, 79), +(60, 1520, 82), +(60, 1521, 79), +(60, 1522, 90), +(60, 1523, 79), +(60, 1524, 89), +(60, 1525, 85), +(60, 1526, 92), +(60, 1527, 99), +(60, 1528, 88), +(60, 1529, 75), +(60, 1530, 65), +(60, 1531, 97), +(60, 1532, 78), +(60, 1533, 87), +(60, 1534, 74), +(60, 1535, 72), +(60, 1536, 89), +(60, 1537, 75), +(60, 1538, 77), +(60, 1539, 94), +(60, 1540, 92), +(60, 1541, 75), +(60, 1542, 98), +(60, 1543, 96), +(60, 1544, 82), +(60, 1545, 83), +(60, 1546, 83), +(60, 1547, 67), +(60, 1548, 94), +(60, 1549, 77), +(60, 1550, 65), +(60, 1551, 87), +(60, 1552, 88), +(60, 1553, 91), +(60, 1554, 89), +(60, 1555, 92), +(60, 1556, 65), +(60, 1557, 86), +(60, 1558, 98), +(60, 1559, 73), +(60, 1560, 91), +(60, 1561, 70), +(60, 1562, 98), +(60, 1563, 92), +(60, 1564, 96), +(60, 1565, 70), +(60, 1566, 84), +(60, 1567, 98), +(60, 1568, 91), +(60, 1569, 83), +(60, 1570, 67), +(60, 1571, 68), +(60, 1572, 98), +(60, 1573, 82), +(60, 1574, 93), +(60, 1575, 71), +(60, 1576, 93), +(60, 1577, 97), +(60, 1578, 89), +(60, 1579, 91), +(60, 1580, 78), +(60, 1581, 76), +(60, 1582, 82), +(60, 1583, 74), +(60, 1584, 98), +(60, 1585, 82), +(60, 1586, 98), +(60, 1587, 93), +(60, 2047, 98), +(60, 2048, 76), +(60, 2049, 84), +(60, 2050, 97), +(60, 2051, 79), +(60, 2052, 69), +(60, 2053, 68), +(60, 2054, 95), +(60, 2055, 74), +(60, 2056, 67), +(60, 2057, 66), +(60, 2058, 69), +(60, 2059, 68), +(60, 2060, 68), +(60, 2061, 65), +(60, 2062, 78), +(60, 2063, 76), +(60, 2064, 68), +(60, 2065, 84), +(60, 2066, 74), +(60, 2067, 86), +(60, 2068, 93), +(60, 2069, 66), +(60, 2070, 70), +(60, 2071, 87), +(60, 2072, 79), +(60, 2073, 99), +(60, 2074, 92), +(60, 2075, 85), +(60, 2076, 81), +(60, 2077, 78), +(60, 2078, 79), +(60, 2079, 97), +(60, 2080, 84), +(60, 2081, 77), +(60, 2082, 79), +(60, 2083, 66), +(60, 2084, 83), +(60, 2085, 78), +(60, 2086, 65), +(60, 2087, 75), +(60, 2088, 85), +(60, 2089, 92), +(60, 2090, 74), +(60, 2091, 74), +(60, 2092, 92), +(60, 2093, 73), +(60, 2094, 73), +(60, 2095, 84), +(60, 2096, 78), +(60, 2097, 69), +(60, 2098, 82), +(60, 2099, 78), +(60, 2100, 98), +(60, 2101, 72), +(60, 2102, 86), +(60, 2103, 99), +(60, 2104, 73), +(60, 2105, 73), +(60, 2106, 98), +(60, 2107, 66), +(60, 2108, 97), +(60, 2109, 71), +(60, 2110, 65), +(60, 2111, 93), +(60, 2112, 76), +(60, 2113, 70), +(60, 2114, 91), +(60, 2115, 84), +(60, 2116, 85), +(60, 2117, 92), +(60, 2118, 70), +(60, 2119, 92), +(60, 2120, 84), +(60, 2121, 74), +(60, 2122, 83), +(60, 2123, 77), +(60, 2124, 82), +(60, 2125, 90), +(60, 2126, 83), +(60, 2127, 96), +(60, 2128, 87), +(60, 2129, 92), +(60, 2130, 68), +(60, 2131, 98), +(60, 2132, 76), +(60, 2133, 89), +(60, 2134, 72), +(60, 2135, 86), +(60, 2136, 85), +(60, 2137, 69), +(60, 2138, 75), +(60, 2139, 78), +(60, 2140, 95), +(60, 2141, 98), +(60, 2142, 84), +(60, 2143, 85), +(60, 2144, 87), +(60, 2145, 78), +(60, 2146, 66), +(60, 2147, 67), +(60, 2148, 86), +(60, 2149, 73), +(60, 2150, 85), +(60, 2151, 70), +(60, 2152, 76), +(60, 2153, 87), +(60, 2154, 78), +(60, 2155, 81), +(60, 2156, 76), +(60, 2157, 73), +(60, 2158, 84), +(60, 2159, 70), +(60, 2160, 79), +(60, 2161, 71), +(60, 2162, 77), +(60, 2163, 79), +(60, 2164, 92), +(60, 2165, 87), +(60, 2166, 91), +(60, 2167, 66), +(60, 2168, 74), +(60, 2169, 97), +(60, 2170, 91), +(60, 2171, 68), +(60, 2172, 83), +(60, 2173, 66), +(60, 2174, 75), +(60, 2175, 84), +(60, 2176, 68), +(60, 2177, 66), +(60, 2178, 93), +(60, 2179, 67), +(60, 2180, 93), +(60, 2181, 71), +(60, 2182, 73), +(60, 2183, 92), +(60, 2184, 89), +(60, 2185, 80), +(60, 2186, 97), +(60, 2187, 85), +(60, 2188, 90), +(60, 2189, 73), +(60, 2190, 75), +(60, 2191, 95), +(60, 2192, 67), +(60, 2193, 74), +(60, 2194, 87), +(60, 2195, 88), +(60, 2196, 92), +(60, 2197, 77), +(60, 2198, 81), +(60, 2199, 89), +(60, 2200, 85), +(60, 2201, 77), +(60, 2202, 75), +(60, 2203, 86), +(60, 2204, 75), +(60, 2205, 90), +(60, 2206, 93), +(60, 2207, 67), +(60, 2208, 95), +(60, 2209, 88), +(60, 2210, 81), +(60, 2211, 87), +(60, 2212, 74), +(60, 2213, 88), +(60, 2214, 99), +(60, 2215, 72), +(60, 2216, 85), +(60, 2217, 89), +(60, 2218, 76), +(60, 2219, 84), +(60, 2220, 90), +(60, 2221, 78), +(60, 2222, 67), +(60, 2223, 76), +(60, 2224, 81), +(60, 2225, 85), +(60, 2226, 84), +(60, 2227, 70), +(60, 2228, 74), +(60, 2229, 91), +(60, 2230, 69), +(60, 2231, 79), +(60, 2232, 89), +(60, 2233, 75), +(60, 2234, 74), +(60, 2235, 70), +(60, 2236, 77), +(60, 2237, 67), +(60, 2238, 87), +(60, 2239, 76), +(60, 2240, 94), +(60, 2241, 83), +(60, 2242, 84), +(60, 2243, 72), +(60, 2244, 93), +(60, 2245, 91), +(60, 2246, 65), +(60, 2247, 82), +(60, 2248, 99), +(60, 2249, 81), +(60, 2250, 69), +(60, 2251, 94), +(60, 2252, 82), +(60, 2253, 92), +(60, 2254, 65), +(60, 2255, 88), +(60, 2256, 86), +(60, 2257, 69), +(60, 2258, 70), +(60, 2259, 66), +(60, 2260, 82), +(60, 2261, 89), +(60, 2262, 86), +(60, 2263, 90), +(60, 2264, 73), +(60, 2265, 82), +(60, 2266, 97), +(60, 2267, 75), +(60, 2268, 82), +(60, 2269, 98), +(60, 2270, 93), +(60, 2271, 67), +(60, 2272, 85), +(60, 2273, 68), +(60, 2274, 81), +(60, 2275, 88), +(60, 2276, 74), +(60, 2277, 96), +(60, 2278, 94), +(60, 2279, 77), +(60, 2280, 97), +(60, 2281, 96), +(60, 2282, 90), +(60, 2283, 81), +(60, 2284, 92), +(60, 2285, 65), +(60, 2286, 94), +(60, 2287, 68), +(60, 2288, 98), +(60, 2289, 75), +(60, 2290, 65), +(60, 2291, 72), +(60, 2292, 74), +(60, 2293, 79), +(60, 2294, 71), +(60, 2295, 73), +(60, 2296, 89), +(60, 2297, 82), +(60, 2298, 69), +(60, 2299, 85), +(60, 2300, 67), +(60, 2301, 92), +(60, 2302, 71), +(60, 2303, 96), +(60, 2304, 69), +(60, 2305, 82), +(60, 2306, 73), +(60, 2307, 95), +(60, 2308, 71), +(60, 2309, 68), +(60, 2310, 70), +(60, 2311, 68), +(60, 2312, 78), +(60, 2313, 90), +(60, 2314, 73), +(60, 2315, 72), +(60, 2316, 88), +(60, 2317, 76), +(60, 2318, 88), +(60, 2319, 66), +(60, 2320, 96), +(60, 2321, 92), +(60, 2322, 90), +(60, 2323, 76), +(60, 2324, 82), +(60, 2325, 89), +(60, 2326, 98), +(60, 2327, 95), +(60, 2328, 83), +(60, 2329, 69), +(60, 2330, 73), +(60, 2331, 86), +(60, 2332, 77), +(60, 2333, 98), +(60, 2334, 75), +(60, 2335, 85), +(60, 2336, 69), +(60, 2337, 88), +(60, 2338, 95), +(60, 2339, 89), +(60, 2340, 76), +(60, 2341, 76), +(60, 2342, 94), +(60, 2343, 67), +(60, 2344, 67), +(60, 2345, 99), +(60, 2346, 91), +(60, 2347, 83), +(60, 2348, 67), +(60, 2349, 82), +(60, 2350, 65), +(60, 2351, 83), +(60, 2352, 93), +(60, 2353, 77), +(60, 2354, 89), +(60, 2355, 76), +(60, 2356, 70), +(60, 2357, 88), +(60, 2358, 82), +(60, 2359, 74), +(60, 2360, 85), +(60, 2361, 93), +(60, 2362, 74), +(60, 2363, 69), +(60, 2364, 96), +(60, 2365, 91), +(60, 2366, 93), +(60, 2367, 78), +(60, 2368, 76), +(60, 2369, 96), +(60, 2370, 71), +(60, 2371, 85), +(60, 2372, 81), +(60, 2373, 67), +(60, 2374, 89), +(60, 2375, 76), +(60, 2376, 89), +(60, 2377, 89), +(60, 2378, 77), +(60, 2379, 98), +(60, 2380, 77), +(60, 2381, 82), +(60, 2382, 93), +(60, 2383, 96), +(60, 2384, 91), +(60, 2385, 96), +(60, 2386, 99), +(60, 2387, 88), +(60, 2388, 73), +(60, 2389, 82), +(60, 2390, 87), +(60, 2391, 76), +(60, 2392, 68), +(60, 2393, 82), +(60, 2394, 91), +(60, 2395, 80), +(60, 2396, 88), +(60, 2397, 81), +(60, 2398, 95), +(60, 2399, 76), +(60, 2400, 87), +(60, 2401, 99), +(60, 2402, 70), +(60, 2403, 97), +(60, 2404, 66), +(60, 2405, 98), +(60, 2406, 88), +(60, 2407, 79), +(60, 2408, 99), +(60, 2409, 94), +(60, 2410, 89), +(60, 2411, 68), +(60, 2412, 87), +(60, 2413, 88), +(60, 2414, 95), +(60, 2415, 69), +(60, 2416, 76), +(60, 2417, 91), +(60, 2418, 96), +(60, 2419, 79), +(60, 2420, 98), +(60, 2421, 68), +(60, 2422, 67), +(60, 2423, 80), +(60, 2424, 91), +(60, 2425, 83), +(60, 2426, 76), +(60, 2427, 66), +(60, 2428, 72), +(60, 2429, 86), +(60, 2430, 81), +(60, 2431, 89), +(60, 2432, 77), +(60, 2433, 87), +(60, 2434, 69), +(60, 2435, 74), +(60, 2436, 72), +(60, 2437, 99), +(60, 2438, 95), +(60, 2439, 79), +(60, 2440, 67), +(60, 2441, 79), +(60, 2442, 78), +(60, 2443, 90), +(60, 2444, 90), +(60, 2445, 79), +(60, 2446, 90), +(60, 2447, 87), +(60, 2448, 94), +(60, 2449, 85), +(60, 2450, 70), +(60, 2451, 82), +(60, 2452, 75), +(60, 2453, 94), +(60, 2454, 90), +(60, 2455, 97), +(60, 2456, 96), +(60, 2457, 81), +(60, 2458, 75), +(60, 2459, 80), +(60, 2460, 96), +(60, 2461, 91), +(60, 2462, 75), +(60, 2463, 86), +(60, 2464, 67), +(60, 2465, 76), +(60, 2466, 95), +(60, 2467, 90), +(60, 2468, 88), +(60, 2469, 80), +(60, 2470, 95), +(60, 2471, 90), +(60, 2472, 74), +(60, 2473, 73), +(60, 2474, 80), +(60, 2475, 97), +(60, 2476, 66), +(60, 2477, 80), +(60, 2478, 97), +(60, 2479, 82), +(60, 2480, 69), +(60, 2481, 99), +(60, 2482, 96), +(60, 2483, 86), +(60, 2484, 72), +(60, 2485, 90), +(60, 2486, 77), +(60, 2487, 73), +(60, 2488, 87), +(60, 2489, 99), +(60, 2490, 78), +(60, 2491, 70), +(60, 2492, 71), +(60, 2493, 73), +(60, 2494, 73), +(60, 2495, 98), +(60, 2496, 66), +(60, 2497, 70), +(60, 2498, 78), +(60, 2499, 74), +(60, 2500, 81), +(60, 2501, 92), +(60, 2502, 78), +(60, 2503, 67), +(60, 2504, 94), +(60, 2505, 69), +(60, 2506, 77), +(60, 2507, 84), +(60, 2508, 65), +(60, 2509, 99), +(60, 2510, 79), +(60, 2511, 68), +(60, 2512, 65), +(60, 2513, 95), +(60, 2514, 77), +(60, 2515, 86), +(60, 2516, 99), +(60, 2517, 82), +(60, 2518, 92), +(60, 2519, 65), +(60, 2520, 90), +(60, 2521, 86), +(60, 2522, 87), +(60, 2523, 83), +(60, 2524, 75), +(60, 2525, 94), +(60, 2526, 80), +(60, 2527, 93), +(60, 2528, 92), +(60, 2529, 88), +(60, 2530, 76), +(60, 2531, 79), +(60, 2532, 70), +(60, 2533, 87), +(60, 2534, 87), +(60, 2535, 83), +(60, 2536, 76), +(60, 2537, 73), +(60, 2538, 94), +(60, 2539, 86), +(60, 2540, 67), +(60, 2541, 66), +(60, 2542, 86), +(60, 2543, 75), +(60, 2544, 90), +(60, 2545, 66), +(60, 2546, 94), +(60, 2547, 85), +(60, 2548, 70), +(60, 2549, 82), +(60, 2550, 81), +(60, 2551, 79), +(60, 2552, 68), +(60, 2553, 91), +(60, 2554, 91), +(60, 2555, 72), +(60, 2556, 87), +(60, 2557, 74), +(60, 2558, 73), +(60, 2559, 65), +(60, 2560, 76), +(60, 2561, 97), +(60, 2562, 96), +(60, 2563, 69), +(60, 2564, 72), +(60, 2565, 65), +(60, 2566, 84), +(60, 2567, 70), +(60, 2568, 81), +(60, 2569, 98), +(60, 2570, 88), +(60, 2571, 93), +(60, 2572, 77), +(60, 2573, 72), +(60, 2574, 92), +(60, 2575, 86), +(60, 2576, 75), +(60, 2577, 88), +(60, 2578, 91), +(60, 2579, 72), +(60, 2580, 93), +(60, 2581, 93), +(60, 2582, 95), +(60, 2583, 66), +(60, 2584, 97), +(60, 2585, 82), +(60, 2586, 87), +(60, 2587, 89), +(60, 2588, 72), +(60, 2589, 70), +(60, 2590, 97), +(60, 2591, 97), +(60, 2592, 84), +(60, 2593, 74), +(60, 2594, 94), +(60, 2595, 77), +(60, 2596, 99), +(60, 2597, 67), +(60, 2598, 74), +(60, 2599, 70), +(60, 2600, 66), +(60, 2601, 70), +(60, 2602, 68), +(60, 2603, 68), +(60, 2604, 91), +(60, 2605, 88), +(60, 2606, 79), +(60, 2607, 70), +(60, 2608, 68), +(60, 2609, 76), +(60, 2610, 74), +(10000, 1, 78), +(10000, 2, 98), +(10000, 3, 74), +(10000, 4, 97), +(10000, 5, 69), +(10000, 6, 72), +(10000, 7, 81), +(10000, 8, 65), +(10000, 9, 76), +(10000, 10, 96), +(10000, 11, 97), +(10000, 12, 85), +(10000, 13, 74), +(10000, 14, 83), +(10000, 15, 77), +(10000, 16, 67), +(10000, 17, 78), +(10000, 18, 87), +(10000, 19, 98), +(10000, 20, 73), +(10000, 21, 88), +(10000, 22, 91), +(10000, 23, 97), +(10000, 24, 76), +(10000, 25, 65), +(10000, 26, 70), +(10000, 27, 82), +(10000, 28, 79), +(10000, 29, 96), +(10000, 30, 71), +(10000, 31, 80), +(10000, 32, 83), +(10000, 33, 80), +(10000, 34, 99), +(10000, 35, 84), +(10000, 36, 70), +(10000, 37, 97), +(10000, 38, 87), +(10000, 39, 81), +(10000, 40, 80), +(10000, 41, 97), +(10000, 42, 82), +(10000, 43, 83), +(10000, 44, 67), +(10000, 45, 85), +(10000, 46, 91), +(10000, 47, 88), +(10000, 48, 66), +(10000, 49, 77), +(10000, 50, 82), +(10000, 51, 84), +(10000, 52, 69), +(10000, 53, 65), +(10000, 54, 85), +(10000, 55, 95), +(10000, 56, 99), +(10000, 57, 88), +(10000, 58, 71), +(10000, 59, 68), +(10000, 60, 92), +(10000, 61, 98), +(10000, 62, 92), +(10000, 63, 83), +(10000, 64, 72), +(10000, 65, 65), +(10000, 66, 75), +(10000, 67, 88), +(10000, 68, 74), +(10000, 69, 93), +(10000, 70, 91), +(10000, 71, 74), +(10000, 72, 65), +(10000, 73, 93), +(10000, 74, 96), +(10000, 75, 97), +(10000, 76, 92), +(10000, 77, 74), +(10000, 78, 68), +(10000, 79, 77), +(10000, 80, 73), +(10000, 81, 85), +(10000, 82, 95), +(10000, 83, 96), +(10000, 84, 76), +(10000, 85, 70), +(10000, 86, 74), +(10000, 87, 80), +(10000, 88, 74), +(10000, 89, 82), +(10000, 90, 79), +(10000, 91, 92), +(10000, 92, 76), +(10000, 93, 85), +(10000, 94, 75), +(10000, 95, 89), +(10000, 96, 85), +(10000, 97, 68), +(10000, 98, 78), +(10000, 99, 69), +(10000, 100, 75), +(10000, 101, 85), +(10000, 102, 75), +(10000, 103, 69), +(10000, 104, 81), +(10000, 105, 75), +(10000, 106, 82), +(10000, 107, 99), +(10000, 108, 65), +(10000, 109, 75), +(10000, 110, 71), +(10000, 111, 68), +(10000, 112, 70), +(10000, 113, 77), +(10000, 114, 72), +(10000, 115, 69), +(10000, 116, 73), +(10000, 117, 94), +(10000, 118, 85), +(10000, 119, 66), +(10000, 120, 83), +(10000, 121, 89), +(10000, 122, 76), +(10000, 123, 71), +(10000, 124, 97), +(10000, 125, 96), +(10000, 126, 98), +(10000, 127, 70), +(10000, 128, 72), +(10000, 129, 84), +(10000, 130, 91), +(10000, 131, 65), +(10000, 132, 73), +(10000, 133, 90), +(10000, 134, 65), +(10000, 135, 65), +(10000, 136, 80), +(10000, 137, 90), +(10000, 138, 71), +(10000, 139, 76), +(10000, 140, 97), +(10000, 141, 75), +(10000, 142, 88), +(10000, 143, 84), +(10000, 144, 84), +(10000, 145, 79), +(10000, 146, 87), +(10000, 147, 93), +(10000, 148, 92), +(10000, 149, 74), +(10000, 150, 76), +(10000, 151, 96), +(10000, 152, 78), +(10000, 153, 93), +(10000, 154, 82), +(10000, 155, 85), +(10000, 156, 70), +(10000, 157, 96), +(10000, 158, 66), +(10000, 159, 82), +(10000, 160, 81), +(10000, 161, 77), +(10000, 162, 74), +(10000, 163, 77), +(10000, 164, 78), +(10000, 165, 66), +(10000, 166, 97), +(10000, 167, 90), +(10000, 168, 76), +(10000, 169, 95), +(10000, 170, 84), +(10000, 171, 74), +(10000, 172, 67), +(10000, 173, 78), +(10000, 174, 73), +(10000, 175, 84), +(10000, 176, 90), +(10000, 177, 97), +(10000, 178, 97), +(10000, 179, 97), +(10000, 180, 97), +(10000, 181, 67), +(10000, 182, 80), +(10000, 183, 98), +(10000, 184, 83), +(10000, 185, 76), +(10000, 186, 92), +(10000, 187, 69), +(10000, 188, 82), +(10000, 189, 69), +(10000, 190, 81), +(10000, 191, 97), +(10000, 192, 79), +(10000, 193, 96), +(10000, 194, 91), +(10000, 195, 67), +(10000, 196, 99), +(10000, 197, 75), +(10000, 198, 89), +(10000, 199, 75), +(10000, 200, 90), +(10000, 201, 96), +(10000, 202, 77), +(10000, 203, 66), +(10000, 204, 81), +(10000, 205, 83), +(10000, 206, 93), +(10000, 207, 84), +(10000, 208, 70), +(10000, 209, 84), +(10000, 210, 74), +(10000, 211, 85), +(10000, 212, 75), +(10000, 213, 91), +(10000, 214, 80), +(10000, 215, 88), +(10000, 216, 88), +(10000, 217, 89), +(10000, 218, 73), +(10000, 219, 98), +(10000, 220, 66), +(10000, 221, 71), +(10000, 222, 85), +(10000, 223, 78), +(10000, 224, 82), +(10000, 225, 97), +(10000, 226, 65), +(10000, 227, 76), +(10000, 228, 78), +(10000, 229, 65), +(10000, 230, 94), +(10000, 231, 79), +(10000, 232, 71), +(10000, 233, 92), +(10000, 234, 75), +(10000, 235, 99), +(10000, 236, 65), +(10000, 237, 93), +(10000, 238, 69), +(10000, 239, 65), +(10000, 240, 72), +(10000, 241, 78), +(10000, 242, 68), +(10000, 243, 87), +(10000, 244, 85), +(10000, 245, 95), +(10000, 246, 85), +(10000, 247, 73), +(10000, 248, 73), +(10000, 249, 73), +(10000, 250, 66), +(10000, 251, 94), +(10000, 252, 93), +(10000, 253, 95), +(10000, 254, 89), +(10000, 255, 93), +(10000, 256, 82), +(10000, 257, 87), +(10000, 258, 76), +(10000, 259, 65), +(10000, 260, 90), +(10000, 261, 65), +(10000, 262, 83), +(10000, 263, 78), +(10000, 264, 71), +(10000, 265, 93), +(10000, 266, 99), +(10000, 267, 81), +(10000, 268, 74), +(10000, 269, 89), +(10000, 270, 97), +(10000, 271, 78), +(10000, 272, 93), +(10000, 273, 86), +(10000, 274, 96), +(10000, 275, 76), +(10000, 276, 71), +(10000, 277, 73), +(10000, 278, 75), +(10000, 279, 86), +(10000, 280, 70), +(10000, 281, 72), +(10000, 282, 90), +(10000, 283, 68), +(10000, 284, 91), +(10000, 285, 92), +(10000, 286, 93), +(10000, 287, 83), +(10000, 288, 82), +(10000, 289, 78), +(10000, 290, 68), +(10000, 291, 95), +(10000, 292, 65), +(10000, 293, 68), +(10000, 294, 85), +(10000, 295, 65), +(10000, 296, 91), +(10000, 297, 92), +(10000, 298, 84), +(10000, 299, 81), +(10000, 300, 97), +(10000, 301, 77), +(10000, 302, 87), +(10000, 303, 96), +(10000, 304, 81), +(10000, 305, 84), +(10000, 306, 97), +(10000, 307, 76), +(10000, 308, 87), +(10000, 309, 87), +(10000, 310, 99), +(10000, 311, 96), +(10000, 312, 67), +(10000, 313, 72), +(10000, 314, 97), +(10000, 315, 65), +(10000, 316, 81), +(10000, 317, 95), +(10000, 318, 74), +(10000, 319, 95), +(10000, 320, 71), +(10000, 321, 76), +(10000, 322, 95), +(10000, 323, 95), +(10000, 324, 67), +(10000, 325, 94), +(10000, 326, 95), +(10000, 327, 71), +(10000, 328, 88), +(10000, 329, 98), +(10000, 330, 81), +(10000, 331, 72), +(10000, 332, 89), +(10000, 333, 84), +(10000, 334, 69), +(10000, 335, 91), +(10000, 336, 80), +(10000, 337, 70), +(10000, 338, 90), +(10000, 339, 94), +(10000, 340, 80), +(10000, 341, 96), +(10000, 342, 86), +(10000, 343, 72), +(10000, 344, 93), +(10000, 345, 88), +(10000, 346, 78), +(10000, 347, 68), +(10000, 348, 81), +(10000, 349, 88), +(10000, 350, 88), +(10000, 351, 87), +(10000, 352, 89), +(10000, 353, 85), +(10000, 354, 89), +(10000, 355, 79), +(10000, 356, 98), +(10000, 357, 70), +(10000, 358, 75), +(10000, 359, 90), +(10000, 360, 77), +(10000, 361, 67), +(10000, 362, 77), +(10000, 363, 72), +(10000, 364, 77), +(10000, 365, 71), +(10000, 366, 78), +(10000, 367, 79), +(10000, 368, 94), +(10000, 369, 74), +(10000, 370, 89), +(10000, 371, 95), +(10000, 372, 92), +(10000, 373, 79), +(10000, 374, 68), +(10000, 375, 73), +(10000, 376, 96), +(10000, 377, 71), +(10000, 378, 86), +(10000, 379, 71), +(10000, 380, 97), +(10000, 381, 71), +(10000, 382, 81), +(10000, 383, 66), +(10000, 384, 86), +(10000, 385, 91), +(10000, 386, 97), +(10000, 387, 96), +(10000, 388, 78), +(10000, 389, 66), +(10000, 390, 71), +(10000, 391, 84), +(10000, 392, 91), +(10000, 393, 67), +(10000, 394, 65), +(10000, 395, 99), +(10000, 396, 79), +(10000, 397, 80), +(10000, 398, 94), +(10000, 399, 93), +(10000, 400, 73), +(10000, 401, 90), +(10000, 402, 99), +(10000, 403, 79), +(10000, 404, 67), +(10000, 405, 91), +(10000, 406, 82), +(10000, 407, 78), +(10000, 408, 80), +(10000, 409, 87), +(10000, 410, 81), +(10000, 411, 74), +(10000, 412, 70), +(10000, 413, 88), +(10000, 414, 87), +(10000, 415, 68), +(10000, 416, 66), +(10000, 417, 94), +(10000, 418, 71), +(10000, 419, 94), +(10000, 420, 92), +(10000, 421, 70), +(10000, 422, 77), +(10000, 423, 81), +(10000, 424, 90), +(10000, 425, 67), +(10000, 426, 81), +(10000, 427, 81), +(10000, 428, 93), +(10000, 429, 82), +(10000, 430, 79), +(10000, 431, 65), +(10000, 432, 68), +(10000, 433, 69), +(10000, 434, 92), +(10000, 435, 67), +(10000, 436, 88), +(10000, 437, 80), +(10000, 438, 78), +(10000, 439, 80), +(10000, 440, 72), +(10000, 441, 75), +(10000, 442, 76), +(10000, 443, 68), +(10000, 444, 85), +(10000, 445, 68), +(10000, 446, 77), +(10000, 447, 90), +(10000, 448, 78), +(10000, 449, 88), +(10000, 450, 83), +(10000, 451, 65), +(10000, 452, 92), +(10000, 453, 75), +(10000, 454, 90), +(10000, 455, 76), +(10000, 456, 66), +(10000, 457, 96), +(10000, 458, 77), +(10000, 459, 71), +(10000, 460, 71), +(10000, 461, 91), +(10000, 462, 79), +(10000, 463, 72), +(10000, 464, 95), +(10000, 465, 71), +(10000, 466, 75), +(10000, 467, 90), +(10000, 468, 73), +(10000, 469, 69), +(10000, 470, 84), +(10000, 471, 76), +(10000, 472, 97), +(10000, 473, 77), +(10000, 474, 86), +(10000, 475, 99), +(10000, 476, 65), +(10000, 477, 87), +(10000, 478, 89), +(10000, 479, 84), +(10000, 480, 99), +(10000, 481, 92), +(10000, 482, 79), +(10000, 483, 67), +(10000, 484, 71), +(10000, 485, 78), +(10000, 486, 96), +(10000, 487, 77), +(10000, 488, 78), +(10000, 489, 81), +(10000, 490, 86), +(10000, 491, 77), +(10000, 492, 74), +(10000, 493, 78), +(10000, 494, 70), +(10000, 495, 84), +(10000, 496, 81), +(10000, 497, 98), +(10000, 498, 67), +(10000, 499, 84), +(10000, 500, 78), +(10000, 501, 83), +(10000, 502, 90), +(10000, 503, 93), +(10000, 504, 89), +(10000, 505, 89), +(10000, 506, 74), +(10000, 507, 87), +(10000, 508, 95), +(10000, 509, 88), +(10000, 510, 74), +(10000, 511, 67), +(10000, 512, 91), +(10000, 513, 75), +(10000, 514, 93), +(10000, 515, 77), +(10000, 516, 97), +(10000, 517, 93), +(10000, 518, 95), +(10000, 519, 69), +(10000, 520, 77), +(10000, 521, 93), +(10000, 522, 72), +(10000, 523, 67), +(10000, 524, 76), +(10000, 525, 88), +(10000, 526, 68), +(10000, 527, 69), +(10000, 528, 71), +(10000, 529, 76), +(10000, 530, 68), +(10000, 531, 77), +(10000, 532, 93), +(10000, 533, 68), +(10000, 534, 85), +(10000, 535, 78), +(10000, 536, 78), +(10000, 537, 65), +(10000, 538, 83), +(10000, 539, 70), +(10000, 540, 78), +(10000, 541, 73), +(10000, 542, 93), +(10000, 543, 93), +(10000, 544, 86), +(10000, 545, 83), +(10000, 546, 91), +(10000, 547, 68), +(10000, 548, 80), +(10000, 549, 89), +(10000, 550, 98), +(10000, 551, 67), +(10000, 552, 99), +(10000, 553, 73), +(10000, 554, 78), +(10000, 555, 71), +(10000, 556, 95), +(10000, 557, 73), +(10000, 558, 68), +(10000, 559, 72), +(10000, 560, 99), +(10000, 561, 80), +(10000, 562, 88), +(10000, 563, 78), +(10000, 564, 73), +(10000, 1024, 92), +(10000, 1025, 70), +(10000, 1026, 99), +(10000, 1027, 71), +(10000, 1028, 94), +(10000, 1029, 69), +(10000, 1030, 82), +(10000, 1031, 69), +(10000, 1032, 82), +(10000, 1033, 69), +(10000, 1034, 97), +(10000, 1035, 66), +(10000, 1036, 92), +(10000, 1037, 77), +(10000, 1038, 65), +(10000, 1039, 83), +(10000, 1040, 69), +(10000, 1041, 79), +(10000, 1042, 88), +(10000, 1043, 71), +(10000, 1044, 94), +(10000, 1045, 98), +(10000, 1046, 71), +(10000, 1047, 97), +(10000, 1048, 73), +(10000, 1049, 95), +(10000, 1050, 83), +(10000, 1051, 95), +(10000, 1052, 70), +(10000, 1053, 78), +(10000, 1054, 88), +(10000, 1055, 75), +(10000, 1056, 74), +(10000, 1057, 75), +(10000, 1058, 99), +(10000, 1059, 73), +(10000, 1060, 76), +(10000, 1061, 72), +(10000, 1062, 96), +(10000, 1063, 77), +(10000, 1064, 97), +(10000, 1065, 92), +(10000, 1066, 78), +(10000, 1067, 87), +(10000, 1068, 72), +(10000, 1069, 82), +(10000, 1070, 71), +(10000, 1071, 87), +(10000, 1072, 71), +(10000, 1073, 92), +(10000, 1074, 78), +(10000, 1075, 99), +(10000, 1076, 69), +(10000, 1077, 94), +(10000, 1078, 67), +(10000, 1079, 79), +(10000, 1080, 75), +(10000, 1081, 96), +(10000, 1082, 73), +(10000, 1083, 75), +(10000, 1084, 82), +(10000, 1085, 95), +(10000, 1086, 90), +(10000, 1087, 67), +(10000, 1088, 98), +(10000, 1089, 84), +(10000, 1090, 67), +(10000, 1091, 85), +(10000, 1092, 88), +(10000, 1093, 82), +(10000, 1094, 86), +(10000, 1095, 66), +(10000, 1096, 92), +(10000, 1097, 88), +(10000, 1098, 98), +(10000, 1099, 69), +(10000, 1100, 93), +(10000, 1101, 75), +(10000, 1102, 72), +(10000, 1103, 69), +(10000, 1104, 77), +(10000, 1105, 97), +(10000, 1106, 87), +(10000, 1107, 80), +(10000, 1108, 88), +(10000, 1109, 97), +(10000, 1110, 97), +(10000, 1111, 95), +(10000, 1112, 90), +(10000, 1113, 66), +(10000, 1114, 65), +(10000, 1115, 93), +(10000, 1116, 85), +(10000, 1117, 91), +(10000, 1118, 78), +(10000, 1119, 67), +(10000, 1120, 96), +(10000, 1121, 96), +(10000, 1122, 72), +(10000, 1123, 99), +(10000, 1124, 85), +(10000, 1125, 80), +(10000, 1126, 93), +(10000, 1127, 85), +(10000, 1128, 85), +(10000, 1129, 72), +(10000, 1130, 81), +(10000, 1131, 79), +(10000, 1132, 79), +(10000, 1133, 83), +(10000, 1134, 92), +(10000, 1135, 73), +(10000, 1136, 73), +(10000, 1137, 71), +(10000, 1138, 80), +(10000, 1139, 98), +(10000, 1140, 72), +(10000, 1141, 89), +(10000, 1142, 72), +(10000, 1143, 96), +(10000, 1144, 67), +(10000, 1145, 78), +(10000, 1146, 67), +(10000, 1147, 92), +(10000, 1148, 70), +(10000, 1149, 79), +(10000, 1150, 93), +(10000, 1151, 87), +(10000, 1152, 80), +(10000, 1153, 77), +(10000, 1154, 80), +(10000, 1155, 98), +(10000, 1156, 72), +(10000, 1157, 99), +(10000, 1158, 88), +(10000, 1159, 66), +(10000, 1160, 83), +(10000, 1161, 92), +(10000, 1162, 88), +(10000, 1163, 67), +(10000, 1164, 74), +(10000, 1165, 68), +(10000, 1166, 68), +(10000, 1167, 93), +(10000, 1168, 92), +(10000, 1169, 70), +(10000, 1170, 70), +(10000, 1171, 80), +(10000, 1172, 75), +(10000, 1173, 89), +(10000, 1174, 75), +(10000, 1175, 83), +(10000, 1176, 68), +(10000, 1177, 82), +(10000, 1178, 66), +(10000, 1179, 80), +(10000, 1180, 97), +(10000, 1181, 72), +(10000, 1182, 94), +(10000, 1183, 88), +(10000, 1184, 72), +(10000, 1185, 73), +(10000, 1186, 68), +(10000, 1187, 84), +(10000, 1188, 74), +(10000, 1189, 82), +(10000, 1190, 79), +(10000, 1191, 84), +(10000, 1192, 89), +(10000, 1193, 72), +(10000, 1194, 99), +(10000, 1195, 90), +(10000, 1196, 99), +(10000, 1197, 89), +(10000, 1198, 77), +(10000, 1199, 86), +(10000, 1200, 89), +(10000, 1201, 79), +(10000, 1202, 95), +(10000, 1203, 89), +(10000, 1204, 89), +(10000, 1205, 92), +(10000, 1206, 89), +(10000, 1207, 87), +(10000, 1208, 94), +(10000, 1209, 69), +(10000, 1210, 90), +(10000, 1211, 91), +(10000, 1212, 93), +(10000, 1213, 98), +(10000, 1214, 90), +(10000, 1215, 88), +(10000, 1216, 71), +(10000, 1217, 85), +(10000, 1218, 97), +(10000, 1219, 77), +(10000, 1220, 86), +(10000, 1221, 88), +(10000, 1222, 70), +(10000, 1223, 80), +(10000, 1224, 81), +(10000, 1225, 83), +(10000, 1226, 81), +(10000, 1227, 81), +(10000, 1228, 88), +(10000, 1229, 74), +(10000, 1230, 86), +(10000, 1231, 87), +(10000, 1232, 72), +(10000, 1233, 65), +(10000, 1234, 90), +(10000, 1235, 83), +(10000, 1236, 79), +(10000, 1237, 85), +(10000, 1238, 78), +(10000, 1239, 66), +(10000, 1240, 96), +(10000, 1241, 77), +(10000, 1242, 83), +(10000, 1243, 99), +(10000, 1244, 85), +(10000, 1245, 71), +(10000, 1246, 69), +(10000, 1247, 71), +(10000, 1248, 81), +(10000, 1249, 73), +(10000, 1250, 82), +(10000, 1251, 67), +(10000, 1252, 73), +(10000, 1253, 77), +(10000, 1254, 97), +(10000, 1255, 87), +(10000, 1256, 82), +(10000, 1257, 66), +(10000, 1258, 92), +(10000, 1259, 65), +(10000, 1260, 75), +(10000, 1261, 66), +(10000, 1262, 71), +(10000, 1263, 85), +(10000, 1264, 70), +(10000, 1265, 97), +(10000, 1266, 82), +(10000, 1267, 67), +(10000, 1268, 97), +(10000, 1269, 84), +(10000, 1270, 77), +(10000, 1271, 93), +(10000, 1272, 75), +(10000, 1273, 80), +(10000, 1274, 92), +(10000, 1275, 67), +(10000, 1276, 87), +(10000, 1277, 81), +(10000, 1278, 74), +(10000, 1279, 76), +(10000, 1280, 76), +(10000, 1281, 87), +(10000, 1282, 72), +(10000, 1283, 72), +(10000, 1284, 66), +(10000, 1285, 75), +(10000, 1286, 67), +(10000, 1287, 66), +(10000, 1288, 70), +(10000, 1289, 94), +(10000, 1290, 71), +(10000, 1291, 89), +(10000, 1292, 96), +(10000, 1293, 84), +(10000, 1294, 94), +(10000, 1295, 71), +(10000, 1296, 93), +(10000, 1297, 89), +(10000, 1298, 76), +(10000, 1299, 77), +(10000, 1300, 98), +(10000, 1301, 86), +(10000, 1302, 72), +(10000, 1303, 67), +(10000, 1304, 89), +(10000, 1305, 94), +(10000, 1306, 85), +(10000, 1307, 95), +(10000, 1308, 85), +(10000, 1309, 82), +(10000, 1310, 91), +(10000, 1311, 82), +(10000, 1312, 70), +(10000, 1313, 71), +(10000, 1314, 94), +(10000, 1315, 99), +(10000, 1316, 89), +(10000, 1317, 69), +(10000, 1318, 65), +(10000, 1319, 78), +(10000, 1320, 99), +(10000, 1321, 82), +(10000, 1322, 79), +(10000, 1323, 74), +(10000, 1324, 88), +(10000, 1325, 75), +(10000, 1326, 88), +(10000, 1327, 76), +(10000, 1328, 73), +(10000, 1329, 70), +(10000, 1330, 77), +(10000, 1331, 72), +(10000, 1332, 78), +(10000, 1333, 70), +(10000, 1334, 87), +(10000, 1335, 69), +(10000, 1336, 77), +(10000, 1337, 78), +(10000, 1338, 96), +(10000, 1339, 95), +(10000, 1340, 87), +(10000, 1341, 71), +(10000, 1342, 73), +(10000, 1343, 67), +(10000, 1344, 67), +(10000, 1345, 94), +(10000, 1346, 92), +(10000, 1347, 81), +(10000, 1348, 72), +(10000, 1349, 77), +(10000, 1350, 65), +(10000, 1351, 80), +(10000, 1352, 65), +(10000, 1353, 88), +(10000, 1354, 80), +(10000, 1355, 77), +(10000, 1356, 67), +(10000, 1357, 94), +(10000, 1358, 91), +(10000, 1359, 95), +(10000, 1360, 99), +(10000, 1361, 75), +(10000, 1362, 78), +(10000, 1363, 78), +(10000, 1364, 97), +(10000, 1365, 81), +(10000, 1366, 82), +(10000, 1367, 96), +(10000, 1368, 77), +(10000, 1369, 98), +(10000, 1370, 95), +(10000, 1371, 83), +(10000, 1372, 81), +(10000, 1373, 92), +(10000, 1374, 69), +(10000, 1375, 78), +(10000, 1376, 80), +(10000, 1377, 90), +(10000, 1378, 93), +(10000, 1379, 98), +(10000, 1380, 87), +(10000, 1381, 70), +(10000, 1382, 76), +(10000, 1383, 81), +(10000, 1384, 70), +(10000, 1385, 99), +(10000, 1386, 77), +(10000, 1387, 83), +(10000, 1388, 94), +(10000, 1389, 71), +(10000, 1390, 88), +(10000, 1391, 70), +(10000, 1392, 93), +(10000, 1393, 67), +(10000, 1394, 65), +(10000, 1395, 97), +(10000, 1396, 73), +(10000, 1397, 97), +(10000, 1398, 99), +(10000, 1399, 84), +(10000, 1400, 99), +(10000, 1401, 94), +(10000, 1402, 91), +(10000, 1403, 76), +(10000, 1404, 94), +(10000, 1405, 71), +(10000, 1406, 84), +(10000, 1407, 74), +(10000, 1408, 67), +(10000, 1409, 99), +(10000, 1410, 75), +(10000, 1411, 72), +(10000, 1412, 86), +(10000, 1413, 75), +(10000, 1414, 77), +(10000, 1415, 84), +(10000, 1416, 99), +(10000, 1417, 89), +(10000, 1418, 82), +(10000, 1419, 92), +(10000, 1420, 96), +(10000, 1421, 99), +(10000, 1422, 84), +(10000, 1423, 81), +(10000, 1424, 72), +(10000, 1425, 97), +(10000, 1426, 72), +(10000, 1427, 67), +(10000, 1428, 79), +(10000, 1429, 72), +(10000, 1430, 94), +(10000, 1431, 93), +(10000, 1432, 73), +(10000, 1433, 85), +(10000, 1434, 81), +(10000, 1435, 99), +(10000, 1436, 98), +(10000, 1437, 67), +(10000, 1438, 73), +(10000, 1439, 80), +(10000, 1440, 65), +(10000, 1441, 77), +(10000, 1442, 97), +(10000, 1443, 81), +(10000, 1444, 79), +(10000, 1445, 72), +(10000, 1446, 87), +(10000, 1447, 73), +(10000, 1448, 70), +(10000, 1449, 93), +(10000, 1450, 73), +(10000, 1451, 88), +(10000, 1452, 74), +(10000, 1453, 87), +(10000, 1454, 69), +(10000, 1455, 70), +(10000, 1456, 92), +(10000, 1457, 85), +(10000, 1458, 91), +(10000, 1459, 99), +(10000, 1460, 66), +(10000, 1461, 68), +(10000, 1462, 84), +(10000, 1463, 87), +(10000, 1464, 68), +(10000, 1465, 87), +(10000, 1466, 91), +(10000, 1467, 98), +(10000, 1468, 86), +(10000, 1469, 97), +(10000, 1470, 93), +(10000, 1471, 96), +(10000, 1472, 92), +(10000, 1473, 86), +(10000, 1474, 82), +(10000, 1475, 71), +(10000, 1476, 95), +(10000, 1477, 97), +(10000, 1478, 90), +(10000, 1479, 78), +(10000, 1480, 80), +(10000, 1481, 91), +(10000, 1482, 92), +(10000, 1483, 82), +(10000, 1484, 98), +(10000, 1485, 93), +(10000, 1486, 70), +(10000, 1487, 71), +(10000, 1488, 68), +(10000, 1489, 72), +(10000, 1490, 97), +(10000, 1491, 80), +(10000, 1492, 89), +(10000, 1493, 71), +(10000, 1494, 79), +(10000, 1495, 94), +(10000, 1496, 75), +(10000, 1497, 83), +(10000, 1498, 69), +(10000, 1499, 73), +(10000, 1500, 66), +(10000, 1501, 67), +(10000, 1502, 96), +(10000, 1503, 67), +(10000, 1504, 81), +(10000, 1505, 84), +(10000, 1506, 80), +(10000, 1507, 82), +(10000, 1508, 75), +(10000, 1509, 78), +(10000, 1510, 96), +(10000, 1511, 87), +(10000, 1512, 87), +(10000, 1513, 70), +(10000, 1514, 67), +(10000, 1515, 97), +(10000, 1516, 99), +(10000, 1517, 77), +(10000, 1518, 91), +(10000, 1519, 66), +(10000, 1520, 79), +(10000, 1521, 83), +(10000, 1522, 73), +(10000, 1523, 99), +(10000, 1524, 66), +(10000, 1525, 86), +(10000, 1526, 93), +(10000, 1527, 96), +(10000, 1528, 99), +(10000, 1529, 78), +(10000, 1530, 87), +(10000, 1531, 86), +(10000, 1532, 68), +(10000, 1533, 97), +(10000, 1534, 97), +(10000, 1535, 74), +(10000, 1536, 87), +(10000, 1537, 65), +(10000, 1538, 86), +(10000, 1539, 74), +(10000, 1540, 94), +(10000, 1541, 97), +(10000, 1542, 73), +(10000, 1543, 92), +(10000, 1544, 95), +(10000, 1545, 95), +(10000, 1546, 74), +(10000, 1547, 82), +(10000, 1548, 85), +(10000, 1549, 93), +(10000, 1550, 66), +(10000, 1551, 99), +(10000, 1552, 85), +(10000, 1553, 69), +(10000, 1554, 90), +(10000, 1555, 65), +(10000, 1556, 74), +(10000, 1557, 97), +(10000, 1558, 86), +(10000, 1559, 85), +(10000, 1560, 76), +(10000, 1561, 75), +(10000, 1562, 74), +(10000, 1563, 80), +(10000, 1564, 84), +(10000, 1565, 66), +(10000, 1566, 97), +(10000, 1567, 98), +(10000, 1568, 90), +(10000, 1569, 89), +(10000, 1570, 96), +(10000, 1571, 76), +(10000, 1572, 74), +(10000, 1573, 84), +(10000, 1574, 94), +(10000, 1575, 80), +(10000, 1576, 88), +(10000, 1577, 78), +(10000, 1578, 74), +(10000, 1579, 79), +(10000, 1580, 94), +(10000, 1581, 70), +(10000, 1582, 71), +(10000, 1583, 76), +(10000, 1584, 91), +(10000, 1585, 75), +(10000, 1586, 81), +(10000, 1587, 79), +(10000, 2047, 97), +(10000, 2048, 76), +(10000, 2049, 68), +(10000, 2050, 77), +(10000, 2051, 79), +(10000, 2052, 93), +(10000, 2053, 83), +(10000, 2054, 85), +(10000, 2055, 74), +(10000, 2056, 96), +(10000, 2057, 83), +(10000, 2058, 96), +(10000, 2059, 96), +(10000, 2060, 97), +(10000, 2061, 99), +(10000, 2062, 67), +(10000, 2063, 81), +(10000, 2064, 65), +(10000, 2065, 97), +(10000, 2066, 82), +(10000, 2067, 70), +(10000, 2068, 68), +(10000, 2069, 74), +(10000, 2070, 68), +(10000, 2071, 68), +(10000, 2072, 91), +(10000, 2073, 65), +(10000, 2074, 81), +(10000, 2075, 88), +(10000, 2076, 87), +(10000, 2077, 67), +(10000, 2078, 83), +(10000, 2079, 93), +(10000, 2080, 65), +(10000, 2081, 70), +(10000, 2082, 93), +(10000, 2083, 76), +(10000, 2084, 97), +(10000, 2085, 80), +(10000, 2086, 83), +(10000, 2087, 83), +(10000, 2088, 73), +(10000, 2089, 98), +(10000, 2090, 86), +(10000, 2091, 68), +(10000, 2092, 76), +(10000, 2093, 74), +(10000, 2094, 99), +(10000, 2095, 80), +(10000, 2096, 78), +(10000, 2097, 86), +(10000, 2098, 68), +(10000, 2099, 83), +(10000, 2100, 66), +(10000, 2101, 94), +(10000, 2102, 76), +(10000, 2103, 95), +(10000, 2104, 87), +(10000, 2105, 65), +(10000, 2106, 89), +(10000, 2107, 88), +(10000, 2108, 66), +(10000, 2109, 69), +(10000, 2110, 90), +(10000, 2111, 87), +(10000, 2112, 93), +(10000, 2113, 83), +(10000, 2114, 65), +(10000, 2115, 67), +(10000, 2116, 84), +(10000, 2117, 74), +(10000, 2118, 85), +(10000, 2119, 70), +(10000, 2120, 89), +(10000, 2121, 77), +(10000, 2122, 88), +(10000, 2123, 72), +(10000, 2124, 68), +(10000, 2125, 67), +(10000, 2126, 80), +(10000, 2127, 83), +(10000, 2128, 85), +(10000, 2129, 99), +(10000, 2130, 77), +(10000, 2131, 71), +(10000, 2132, 74), +(10000, 2133, 87), +(10000, 2134, 99), +(10000, 2135, 75), +(10000, 2136, 95), +(10000, 2137, 73), +(10000, 2138, 75), +(10000, 2139, 82), +(10000, 2140, 99), +(10000, 2141, 78), +(10000, 2142, 89), +(10000, 2143, 65), +(10000, 2144, 74), +(10000, 2145, 75), +(10000, 2146, 68), +(10000, 2147, 95), +(10000, 2148, 83), +(10000, 2149, 87), +(10000, 2150, 86), +(10000, 2151, 70), +(10000, 2152, 77), +(10000, 2153, 87), +(10000, 2154, 97), +(10000, 2155, 74), +(10000, 2156, 99), +(10000, 2157, 95), +(10000, 2158, 76), +(10000, 2159, 95), +(10000, 2160, 74), +(10000, 2161, 89), +(10000, 2162, 93), +(10000, 2163, 91), +(10000, 2164, 89), +(10000, 2165, 82), +(10000, 2166, 99), +(10000, 2167, 75), +(10000, 2168, 78), +(10000, 2169, 84), +(10000, 2170, 93), +(10000, 2171, 83), +(10000, 2172, 75), +(10000, 2173, 73), +(10000, 2174, 93), +(10000, 2175, 81), +(10000, 2176, 68), +(10000, 2177, 93), +(10000, 2178, 77), +(10000, 2179, 75), +(10000, 2180, 98), +(10000, 2181, 90), +(10000, 2182, 65), +(10000, 2183, 74), +(10000, 2184, 66), +(10000, 2185, 80), +(10000, 2186, 83), +(10000, 2187, 86), +(10000, 2188, 65), +(10000, 2189, 81), +(10000, 2190, 79), +(10000, 2191, 94), +(10000, 2192, 80), +(10000, 2193, 95), +(10000, 2194, 69), +(10000, 2195, 89), +(10000, 2196, 71), +(10000, 2197, 83), +(10000, 2198, 68), +(10000, 2199, 84), +(10000, 2200, 75), +(10000, 2201, 77), +(10000, 2202, 90), +(10000, 2203, 75), +(10000, 2204, 87), +(10000, 2205, 69), +(10000, 2206, 93), +(10000, 2207, 87), +(10000, 2208, 76), +(10000, 2209, 92), +(10000, 2210, 66), +(10000, 2211, 69), +(10000, 2212, 81), +(10000, 2213, 90), +(10000, 2214, 65), +(10000, 2215, 75), +(10000, 2216, 84), +(10000, 2217, 84), +(10000, 2218, 79), +(10000, 2219, 98), +(10000, 2220, 86), +(10000, 2221, 99), +(10000, 2222, 82), +(10000, 2223, 90), +(10000, 2224, 96), +(10000, 2225, 93), +(10000, 2226, 79), +(10000, 2227, 91), +(10000, 2228, 70), +(10000, 2229, 67), +(10000, 2230, 96), +(10000, 2231, 91), +(10000, 2232, 95), +(10000, 2233, 84), +(10000, 2234, 75), +(10000, 2235, 93), +(10000, 2236, 95), +(10000, 2237, 76), +(10000, 2238, 80), +(10000, 2239, 81), +(10000, 2240, 87), +(10000, 2241, 92), +(10000, 2242, 86), +(10000, 2243, 87), +(10000, 2244, 91), +(10000, 2245, 67), +(10000, 2246, 88), +(10000, 2247, 79), +(10000, 2248, 71), +(10000, 2249, 76), +(10000, 2250, 68), +(10000, 2251, 73), +(10000, 2252, 94), +(10000, 2253, 65), +(10000, 2254, 78), +(10000, 2255, 97), +(10000, 2256, 73), +(10000, 2257, 79), +(10000, 2258, 77), +(10000, 2259, 85), +(10000, 2260, 77), +(10000, 2261, 73), +(10000, 2262, 72), +(10000, 2263, 86), +(10000, 2264, 91), +(10000, 2265, 75), +(10000, 2266, 75), +(10000, 2267, 70), +(10000, 2268, 93), +(10000, 2269, 87), +(10000, 2270, 76), +(10000, 2271, 83), +(10000, 2272, 93), +(10000, 2273, 80), +(10000, 2274, 88), +(10000, 2275, 79), +(10000, 2276, 69), +(10000, 2277, 78), +(10000, 2278, 88), +(10000, 2279, 83), +(10000, 2280, 97), +(10000, 2281, 92), +(10000, 2282, 80), +(10000, 2283, 95), +(10000, 2284, 89), +(10000, 2285, 96), +(10000, 2286, 72), +(10000, 2287, 67), +(10000, 2288, 73), +(10000, 2289, 93), +(10000, 2290, 92), +(10000, 2291, 96), +(10000, 2292, 65), +(10000, 2293, 79), +(10000, 2294, 76), +(10000, 2295, 88), +(10000, 2296, 96), +(10000, 2297, 90), +(10000, 2298, 77), +(10000, 2299, 71), +(10000, 2300, 78), +(10000, 2301, 74), +(10000, 2302, 72), +(10000, 2303, 97), +(10000, 2304, 66), +(10000, 2305, 88), +(10000, 2306, 98), +(10000, 2307, 76), +(10000, 2308, 67), +(10000, 2309, 93), +(10000, 2310, 82), +(10000, 2311, 83), +(10000, 2312, 91), +(10000, 2313, 95), +(10000, 2314, 89), +(10000, 2315, 88), +(10000, 2316, 87), +(10000, 2317, 99), +(10000, 2318, 81), +(10000, 2319, 69), +(10000, 2320, 66), +(10000, 2321, 98), +(10000, 2322, 76), +(10000, 2323, 73), +(10000, 2324, 85), +(10000, 2325, 86), +(10000, 2326, 95), +(10000, 2327, 65), +(10000, 2328, 80), +(10000, 2329, 72), +(10000, 2330, 99), +(10000, 2331, 87), +(10000, 2332, 85), +(10000, 2333, 69), +(10000, 2334, 78), +(10000, 2335, 96), +(10000, 2336, 94), +(10000, 2337, 78), +(10000, 2338, 91), +(10000, 2339, 90), +(10000, 2340, 78), +(10000, 2341, 97), +(10000, 2342, 97), +(10000, 2343, 98), +(10000, 2344, 69), +(10000, 2345, 93), +(10000, 2346, 95), +(10000, 2347, 81), +(10000, 2348, 80), +(10000, 2349, 82), +(10000, 2350, 70), +(10000, 2351, 97), +(10000, 2352, 98), +(10000, 2353, 84), +(10000, 2354, 97), +(10000, 2355, 80), +(10000, 2356, 76), +(10000, 2357, 99), +(10000, 2358, 80), +(10000, 2359, 71), +(10000, 2360, 98), +(10000, 2361, 66), +(10000, 2362, 69), +(10000, 2363, 91), +(10000, 2364, 75), +(10000, 2365, 84), +(10000, 2366, 94), +(10000, 2367, 94), +(10000, 2368, 94), +(10000, 2369, 73), +(10000, 2370, 99), +(10000, 2371, 81), +(10000, 2372, 75), +(10000, 2373, 84), +(10000, 2374, 65), +(10000, 2375, 70), +(10000, 2376, 68), +(10000, 2377, 98), +(10000, 2378, 88), +(10000, 2379, 95), +(10000, 2380, 93), +(10000, 2381, 66), +(10000, 2382, 80), +(10000, 2383, 74), +(10000, 2384, 77), +(10000, 2385, 71), +(10000, 2386, 88), +(10000, 2387, 71), +(10000, 2388, 74), +(10000, 2389, 87), +(10000, 2390, 93), +(10000, 2391, 70), +(10000, 2392, 67), +(10000, 2393, 90), +(10000, 2394, 73), +(10000, 2395, 69), +(10000, 2396, 74), +(10000, 2397, 97), +(10000, 2398, 69), +(10000, 2399, 85), +(10000, 2400, 94), +(10000, 2401, 92), +(10000, 2402, 69), +(10000, 2403, 87), +(10000, 2404, 98), +(10000, 2405, 79), +(10000, 2406, 84), +(10000, 2407, 76), +(10000, 2408, 90), +(10000, 2409, 69), +(10000, 2410, 71), +(10000, 2411, 68), +(10000, 2412, 93), +(10000, 2413, 89), +(10000, 2414, 68), +(10000, 2415, 66), +(10000, 2416, 69), +(10000, 2417, 85), +(10000, 2418, 88), +(10000, 2419, 90), +(10000, 2420, 74), +(10000, 2421, 87), +(10000, 2422, 90), +(10000, 2423, 94), +(10000, 2424, 87), +(10000, 2425, 92), +(10000, 2426, 80), +(10000, 2427, 88), +(10000, 2428, 77), +(10000, 2429, 65), +(10000, 2430, 87), +(10000, 2431, 86), +(10000, 2432, 72), +(10000, 2433, 79), +(10000, 2434, 81), +(10000, 2435, 94), +(10000, 2436, 75), +(10000, 2437, 69), +(10000, 2438, 86), +(10000, 2439, 77), +(10000, 2440, 85), +(10000, 2441, 81), +(10000, 2442, 78), +(10000, 2443, 74), +(10000, 2444, 95), +(10000, 2445, 68), +(10000, 2446, 78), +(10000, 2447, 77), +(10000, 2448, 79), +(10000, 2449, 93), +(10000, 2450, 91), +(10000, 2451, 84), +(10000, 2452, 81), +(10000, 2453, 69), +(10000, 2454, 80), +(10000, 2455, 87), +(10000, 2456, 77), +(10000, 2457, 65), +(10000, 2458, 89), +(10000, 2459, 83), +(10000, 2460, 66), +(10000, 2461, 84), +(10000, 2462, 99), +(10000, 2463, 90), +(10000, 2464, 75), +(10000, 2465, 97), +(10000, 2466, 86), +(10000, 2467, 74), +(10000, 2468, 77), +(10000, 2469, 70), +(10000, 2470, 92), +(10000, 2471, 87), +(10000, 2472, 98), +(10000, 2473, 75), +(10000, 2474, 97), +(10000, 2475, 79), +(10000, 2476, 70), +(10000, 2477, 89), +(10000, 2478, 70), +(10000, 2479, 70), +(10000, 2480, 88), +(10000, 2481, 99), +(10000, 2482, 98), +(10000, 2483, 83), +(10000, 2484, 94), +(10000, 2485, 71), +(10000, 2486, 97), +(10000, 2487, 93), +(10000, 2488, 92), +(10000, 2489, 77), +(10000, 2490, 80), +(10000, 2491, 82), +(10000, 2492, 98), +(10000, 2493, 90), +(10000, 2494, 69), +(10000, 2495, 72), +(10000, 2496, 75), +(10000, 2497, 71), +(10000, 2498, 86), +(10000, 2499, 93), +(10000, 2500, 81), +(10000, 2501, 93), +(10000, 2502, 78), +(10000, 2503, 85), +(10000, 2504, 84), +(10000, 2505, 82), +(10000, 2506, 91), +(10000, 2507, 92), +(10000, 2508, 69), +(10000, 2509, 97), +(10000, 2510, 79), +(10000, 2511, 74), +(10000, 2512, 97), +(10000, 2513, 83), +(10000, 2514, 83), +(10000, 2515, 77), +(10000, 2516, 84), +(10000, 2517, 98), +(10000, 2518, 71), +(10000, 2519, 90), +(10000, 2520, 88), +(10000, 2521, 82), +(10000, 2522, 77), +(10000, 2523, 99), +(10000, 2524, 94), +(10000, 2525, 85), +(10000, 2526, 91), +(10000, 2527, 79), +(10000, 2528, 84), +(10000, 2529, 92), +(10000, 2530, 99), +(10000, 2531, 70), +(10000, 2532, 93), +(10000, 2533, 74), +(10000, 2534, 98), +(10000, 2535, 81), +(10000, 2536, 87), +(10000, 2537, 77), +(10000, 2538, 91), +(10000, 2539, 66), +(10000, 2540, 75), +(10000, 2541, 81), +(10000, 2542, 75), +(10000, 2543, 73), +(10000, 2544, 96), +(10000, 2545, 84), +(10000, 2546, 65), +(10000, 2547, 66), +(10000, 2548, 90), +(10000, 2549, 96), +(10000, 2550, 73), +(10000, 2551, 73), +(10000, 2552, 98), +(10000, 2553, 72), +(10000, 2554, 68), +(10000, 2555, 83), +(10000, 2556, 66), +(10000, 2557, 89), +(10000, 2558, 67), +(10000, 2559, 71), +(10000, 2560, 70), +(10000, 2561, 75), +(10000, 2562, 77), +(10000, 2563, 68), +(10000, 2564, 69), +(10000, 2565, 86), +(10000, 2566, 69), +(10000, 2567, 68), +(10000, 2568, 90), +(10000, 2569, 74), +(10000, 2570, 83), +(10000, 2571, 73), +(10000, 2572, 79), +(10000, 2573, 82), +(10000, 2574, 79), +(10000, 2575, 85), +(10000, 2576, 69), +(10000, 2577, 69), +(10000, 2578, 70), +(10000, 2579, 80), +(10000, 2580, 73), +(10000, 2581, 87), +(10000, 2582, 78), +(10000, 2583, 70), +(10000, 2584, 67), +(10000, 2585, 72), +(10000, 2586, 65), +(10000, 2587, 70), +(10000, 2588, 97), +(10000, 2589, 76), +(10000, 2590, 94), +(10000, 2591, 74), +(10000, 2592, 88), +(10000, 2593, 66), +(10000, 2594, 91), +(10000, 2595, 97), +(10000, 2596, 68), +(10000, 2597, 89), +(10000, 2598, 91), +(10000, 2599, 98), +(10000, 2600, 96), +(10000, 2601, 98), +(10000, 2602, 79), +(10000, 2603, 97), +(10000, 2604, 80), +(10000, 2605, 80), +(10000, 2606, 97), +(10000, 2607, 86), +(10000, 2608, 89), +(10000, 2609, 84), +(10000, 2610, 81); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `prodi` +-- + +CREATE TABLE `prodi` ( + `id_prodi` bigint(20) UNSIGNED NOT NULL, + `kode_prodi` varchar(20) NOT NULL, + `nama_prodi` varchar(200) NOT NULL, + `jenjang` varchar(10) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `prodi` +-- + +INSERT INTO `prodi` (`id_prodi`, `kode_prodi`, `nama_prodi`, `jenjang`) VALUES +(1, '20201', 'Teknik Elektro', 'S1'), +(2, '22202', 'Teknik Pengairan', 'S1'), +(3, '23201', 'Arsitektur', 'S1'), +(4, '35201', 'Perencanaan Wilayah dan Kota', 'S1'), +(5, '55202', 'Informatika', 'S1'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sub_cpmk` +-- + +CREATE TABLE `sub_cpmk` ( + `id` char(36) NOT NULL, + `id_cpmk` char(36) NOT NULL, + `kode_sub_cpmk` varchar(50) NOT NULL, + `deskripsi` text NOT NULL, + `bobot` decimal(10,2) DEFAULT 0.00, + `created_at` timestamp NULL DEFAULT current_timestamp(), + `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Dumping data for table `sub_cpmk` +-- + +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('001ab326-4fa2-4636-98ca-71a0d4b277a0', '48ac384b-92a4-4eb5-805a-31da8f95f547', 'Sub-CPMK-1', 'Mampu menjelaskan konsep dasar trafik dalam sistem telekomunikasi, termasuk parameter-parameter utama yang mempengaruhi trafik.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('002b35ef-1a57-4d62-8b40-b50253704bf5', '113d9e20-7556-4cb6-bb58-47aa4312738c', 'Sub-CPMK-8', 'Mampu mengevaluasi performa algoritma yang telah diimplementasikan dengan membandingkan hasilnya terhadap solusi optimal atau metode lain.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('00479a8e-6630-464a-a8c6-7b1e1d700e05', '60e5b76b-62f2-4b54-9b4e-208e18794563', 'Sub-CPMK-6', 'Mampu mengembangkan dan melatih model generatif menggunakan dataset yang sesuai dengan framework yang digunakan', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('0057a9d4-8900-43fd-870e-2b40ecd04ae2', 'c63f88ad-4bc4-496f-aa84-837fcec64ae2', 'Sub-CPMK-5', 'Mampu menganalisis potensi penggunaan sumber energi terbarukan di berbagai wilayah geografis di Indonesia.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('005854a7-52b5-4d64-9a6f-e2e282a4f5f2', '75ce4b6a-9743-425c-b93e-4605be3abac4', 'Sub-CPMK-7', 'Mampu menjelaskan prinsip dasar penguatan sinyal dalam sistem telekomunikasi, termasuk jenis-jenis penguat dan aplikasinya.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('006034ad-710e-40d3-9531-f9e7ddae30b1', '24919d64-fb19-49da-a7a0-8a4a89222faa', 'Sub-CPMK-10', 'Dapat mengintegrasikan OpenCTI dengan sumber data eksternal untuk analisis ancaman.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('006228e6-90e5-4720-8ccd-191996743168', '773a8fc5-66e6-4763-834c-0befba2db740', 'Sub-CPMK-9', 'Mampu menggunakan perangkat lunak astronomi untuk memvisualisasikan posisi benda langit berdasarkan data pengamatan.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('007eeaca-3e47-467e-b0ae-b665de807e26', '6113ebe1-d601-4d2d-bb22-6c12fb03ed60', 'Sub-CPMK-12', 'Mampu melakukan ekstraksi fitur menggunakan metode SIFT atau SURF dan menerapkan pada dataset citra.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('008c58a5-62d9-4566-9616-4ce74f2ad418', 'fd4dee7f-2713-4344-89e2-c497c18e4828', 'Sub-CPMK-4', 'Mampu mengidentifikasi sinyal diskrit dan sinyal kontinu serta memberikan contoh dari masing-masing jenis.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('00b19dc0-b1c0-438c-8c2b-0f1fffd7c577', 'ee72a156-f43f-47ea-bc85-18d37c90e768', 'Sub-CPMK-7', 'Mahasiswa mampu menjelaskan dasar-dasar perencanaan elemen struktur beton sederhana sesuai dengan SNI yang berlaku.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('00b8986b-c533-48d9-bfef-3cfc99aef58c', 'f2e382ae-ebc0-42e0-85a8-f7dc20a18266', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan ciri-ciri arsitektur Islam pada masa klasik dan dampaknya terhadap budaya lokal.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('00bd93b6-853f-4ebf-9e1a-5c776c6ab66d', '99b290be-bf6e-45d6-8f67-51d403cf8bab', 'Sub-CPMK-5', 'Mampu menjelaskan jenis-jenis ikatan kimia (ionik, kovalen, logam) dan karakteristiknya pada berbagai jenis material teknik.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('00c616d1-30c3-4041-99c8-01c7ed53fd92', '99174b62-4376-4e70-8e6d-1780abbea00a', 'Sub-CPMK-12', 'Mampu menyajikan metodologi penelitian yang tepat dan terukur dalam proposal.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('00e03fb0-9606-420a-a245-881319c58803', '677320ae-f229-4d19-8416-72b7733c5d62', 'Sub-CPMK-8', 'Menganalisis dan membandingkan kelebihan dan kekurangan antara IPv4 dan IPv6 dalam konteks pengalamatan jaringan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('00eaa54a-f668-4a90-aea8-79e3aacf09f6', '2adbaa4f-cffb-4c53-afa2-075d5da41d35', 'Sub-CPMK-4', 'Mampu menggunakan jam matahari untuk mengukur waktu secara akurat.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('00eba967-fba7-4c02-abe4-b5f474358ed7', 'c263a528-80c4-4b26-9941-df356b4449f7', 'Sub-CPMK-7', 'Mampu mengimplementasikan sistem penyimpanan data terdistribusi menggunakan Hadoop atau Spark.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('00fceed0-4e4b-4b77-8113-cebf7861366b', '0e2e6095-a53e-424d-867b-d4dc76eb2808', 'Sub-CPMK-13', 'Mampu menganalisis kebutuhan data dan algoritma yang diperlukan untuk pengembangan sistem kecerdasan buatan dalam smart grid.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('010768e0-a5aa-4512-b51d-1653b88f56d9', '79bbd330-f925-4ade-80e1-c90a67c66a70', 'Sub-CPMK-13', 'Dapat menganalisis kompleksitas waktu dan ruang dari program Java yang dibuat serta memberikan solusi optimasi.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('011bd4eb-6544-4183-a649-3ee36c03d467', '3c7ba4d4-0c23-4db6-a4a6-375c44d855f9', 'Sub-CPMK-9', 'Mahasiswa dapat mengidentifikasi dan menjelaskan fungsi dari adjective clause dalam kalimat', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('012aadf0-5889-45da-bc6d-5e4982d00bc6', 'b227a041-54ef-4e59-a945-568e60757375', 'Sub-CPMK-2', 'Menggunakan metode hidrologi untuk menghitung debit aliran permukaan dalam skenario banjir', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('012e416f-099b-414e-96c4-b025f8482e85', '481d9bd3-c276-4315-82ca-4d0811e255fe', 'Sub-CPMK-10', 'Mampu merancang rangkaian dasar untuk menghubungkan sensor dengan mikrokontroler.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('014bd824-39d4-4042-a0c9-3996d718f06a', 'e07561ac-b657-4054-9eca-781bc78af101', 'Sub-CPMK-13', 'Melakukan simulasi topologi jaringan telekomunikasi menggunakan perangkat lunak simulasi seperti Cisco Packet Tracer atau GNS3.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('0177a9fa-276c-4ff9-a7c0-a59a40e92c9e', 'fe655fbf-ae67-4187-8cb2-ea40b895dc08', 'Sub-CPMK-10', 'Melakukan analisis data hasil evaluasi antarmuka dengan menggunakan metode kualitatif dan kuantitatif.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('017a9ba9-da3e-450c-a158-ee8325bf4a99', 'de901801-4aec-40d7-832b-e4eefac6f66f', 'Sub-CPMK-10', 'Mengkonfigurasi dan mengelola sertifikat SSL/TLS untuk keamanan web.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('018f96d0-9111-4531-862e-8ed25287f1f2', 'd000a2c3-4843-4fce-a960-812ad0ab02ae', 'Sub-CPMK-1', 'Mengidentifikasi dan menyelesaikan integral tak tentu dari fungsi satu variabel menggunakan metode substitusi dan integrasi parsial.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('0195c685-ce8b-433d-ac8d-ea53b17bf494', '032b1d1c-baa0-48e4-b563-feb9a157f3c4', 'Sub-CPMK-7', 'Menganalisis ajaran Al Islam dan Kemuhammadiyahan yang relevan dengan isu kemiskinan dalam masyarakat modern.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('01a5c1a0-20d1-458d-8cb3-90d67685a6bd', '747b76b9-b4fa-4b4e-961d-360807a79683', 'Sub-CPMK-3', 'Mahasiswa dapat merancang dan mengimplementasikan sirkuit sederhana menggunakan teknologi VLSI dan melakukan verifikasi fungsional.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('01a9cafd-bd8c-4d1b-b372-495cdb240461', '824dba9e-bffc-4fe4-b46a-8309fcf95c27', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan memilih algoritma unsupervised learning yang tepat untuk pengelompokan data berdasarkan karakteristik dataset yang diberikan.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('01b4d13a-c992-4ed0-8571-72fc89ad852e', '2c813fbc-3040-4c76-9418-9d8817ce7d94', 'Sub-CPMK-11', 'Mengidentifikasi potensi bencana geologi yang dapat mempengaruhi proyek infrastruktur SDA', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('01b9136c-306a-48fe-942e-7716307b429b', '66b50a9c-0e71-4e2d-9e01-3fda5dc1c0ec', 'Sub-CPMK-12', 'Mampu melakukan simulasi rangkaian elektronika dasar dan menganalisis hasilnya menggunakan perangkat lunak.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('01f54312-a73c-43a4-a624-c7804a6798e0', '0b4cd186-2487-4680-9e6a-241a32803190', 'Sub-CPMK-1', 'Mahasiswa mampu menganalisis dan mendeskripsikan karakteristik sosial dan budaya yang mempengaruhi perancangan arsitektur kota.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('01fa6e27-1238-4d0d-a355-0ba2b94342b4', 'e9543c92-85c6-4b46-892a-97f0abe803dc', 'Sub-CPMK-2', 'Mahasiswa mampu mengidentifikasi dan menjelaskan tujuan utama dari penggunaan kriptografi dalam konteks keamanan informasi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('021c3f4a-b6a7-49cd-a2d9-18780e670955', '9652c56b-6711-40a8-8361-ef89c1c666bf', 'Sub-CPMK-11', 'Mahasiswa mampu mengevaluasi dampak lingkungan dari proyek arsitektur dan perkotaan berdasarkan analisis AMDAL.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('0223f087-1e58-4fdf-81de-dcf11f6afcb0', '2ef7098e-fc16-4907-aa55-040bddb44944', 'Sub-CPMK-2', 'Mahasiswa mampu menguraikan sejarah perkembangan kecerdasan buatan dari awal hingga saat ini.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('0232c1fa-b59b-48db-bec9-752cc2987364', '569fd24c-3961-496d-83b9-d9d4b64d215c', 'Sub-CPMK-7', 'Mampu menyusun tabel kebenaran untuk ekspresi logika sederhana dan kompleks.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('0232ce40-d22f-4772-9280-95414a12a4c6', '35a6d684-8e39-4827-9bee-60dee5774fb2', 'Sub-CPMK-14', 'Menyusun presentasi visual yang menarik dan informatif menggunakan software desain.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('023b3210-6e06-4d01-845b-c21e3d527edf', '4efcb2e5-1eb3-4a5d-8f5e-c9e3199773f0', 'Sub-CPMK-2', 'Mahasiswa mampu menggambarkan cara kerja sistem komputer secara umum, termasuk proses input, proses, dan output.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('023f7af0-0022-4abb-b20c-566c3c5c04af', 'edb08499-f8af-41eb-ae46-c8e479206bbe', 'Sub-CPMK-14', 'Mampu menerapkan teknik analisis frekuensi menggunakan Transformasi Fourier untuk sinyal digital.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('024e667b-6c38-4de3-abbd-18a292146c4f', '32a3b800-7a25-4b26-8a4d-b78b9c948947', 'Sub-CPMK-7', 'Mampu mengimplementasikan Word2Vec untuk menghasilkan representasi vektor dari kumpulan data teks sederhana', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('025f793f-e4b4-49a3-8de7-e57c90e419e6', 'e1278fe0-54da-4a79-92cf-aa7089da6b9b', 'Sub-CPMK-3', 'Mahasiswa dapat menjelaskan konsep momentum dan hukum kekekalan momentum serta menerapkannya dalam permasalahan fisika sederhana.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('026e5031-ae1f-46ff-aa1b-456e61747e55', '8ba3cec8-5c7c-4a16-bc21-6f0b58a50dc9', 'Sub-CPMK-7', 'Mahasiswa mampu menjelaskan pengaruh bentuk struktur terhadap distribusi beban pada bangunan.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('028b6734-367b-4e69-ab18-606a88110159', '51deb58c-e3f6-41a7-b80d-3b3184e5035f', 'Sub-CPMK-4', 'Mampu menghitung turunan fungsi polinomial dan eksponensial menggunakan aturan dasar turunan.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('029ccb20-b8dd-46d8-bd4e-5e9fdfba18af', 'b5ad871b-2b76-4f81-8639-4e26e38aa8fe', 'Sub-CPMK-11', 'Mampu melakukan optimasi performa basis data dengan teknik indexing dan query optimization.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('02a2e12d-ea06-4a36-bf64-250757fc55ad', 'a0338add-0d87-4d89-a635-e19b90bacfa2', 'Sub-CPMK-8', 'Mahasiswa mampu menganalisis distribusi gaya internal pada kolom akibat beban eksentrik dan beban aksial.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('02a76f8f-23b8-4ec8-a6d1-791f951bd0eb', 'b2b0f2df-95d3-4cb6-a2a8-dbba7171632b', 'Sub-CPMK-13', 'Mahasiswa dapat menjelaskan prinsip etika dalam pengembangan sistem AI dan aplikasinya dalam kasus nyata.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('02c23940-ba6a-4b67-81b6-4bb0bf69ca47', 'f24dd30b-18c0-4c7d-b673-22097784c6a9', 'Sub-CPMK-1', 'Menjelaskan perbedaan antara front-end dan back-end dalam pengembangan web.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('02ed03b3-2e45-4bb6-8a1c-dceca6e10fa9', 'ee22cc57-951b-4a9c-9701-69ab19ef6614', 'Sub-CPMK-4', 'Mahasiswa mampu menganalisis elemen-elemen arsitektur yang mempengaruhi desain terpadu dalam suatu kawasan.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('02f2bedc-586a-4898-b239-eee2cbac04a4', '808f3876-8193-47de-86b8-2d15d2492dd7', 'Sub-CPMK-5', 'Mahasiswa mampu menyusun profil pengguna yang mencakup latar belakang, usia, dan kemampuan fisik untuk mendukung desain arsitektur inklusif.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('03087edc-350f-4881-a0c2-f2480b940296', 'ea1b62bf-c61e-47ff-b01a-59d84c7ba92b', 'Sub-CPMK-12', 'Menganalisis performa aplikasi web menggunakan alat pengukur kecepatan dan responsivitas.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('031e94ce-e74b-466a-b7e1-940f7cdb0b54', '4faa3cc6-7e16-44ce-bed3-8974f702b33b', 'Sub-CPMK-2', 'Menerapkan teknik representasi teks seperti Bag of Words dan TF-IDF dalam analisis data teks.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('03202d9b-7a42-4736-9f99-51c1344123da', 'e119e9af-8003-4387-a7ed-9683f6641edb', 'Sub-CPMK-5', 'Menyusun rencana revitalisasi yang mencakup aspek desain, fungsi, dan keberlanjutan lingkungan.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('0326a021-2112-4ee7-9824-ec97f8432c25', 'eaffbb94-225c-419b-bdd2-d3b2271aecc1', 'Sub-CPMK-8', 'Mampu menggunakan persamaan gelombang untuk menganalisis fenomena gelombang dalam media berbeda.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('033be7c7-439e-4145-b94a-ba2d6fd635f7', 'b0ba34fc-a8eb-4100-b4a1-66497a43aca3', 'Sub-CPMK-6', 'Mampu menganalisis dan mendokumentasikan hasil pengumpulan informasi untuk menentukan vektor serangan yang mungkin.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('0345b348-b981-44c1-afaa-dbb7750684ad', 'd1947f6a-0c7e-492e-ab1a-9add63d08872', 'Sub-CPMK-14', 'Mampu menyusun laporan evaluasi hasil pemetaan yang mencakup analisis kuantitatif dan kualitatif.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('0348b0de-4dc6-4f1a-ba9b-163fd53ba43b', 'a30c36d4-275c-4717-ae9c-816c8aca9303', 'Sub-CPMK-2', 'Mahasiswa mampu menghitung beban dan analisis struktur untuk bangunan bentang lebar dengan menggunakan perangkat lunak analisis struktural.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('0353d4ad-c03f-4098-a3ca-90c8b6d1b467', 'b63cbb6d-6127-46ed-9153-91a9e916109b', 'Sub-CPMK-5', 'Mahasiswa dapat mengidentifikasi dan memperbaiki kesalahan umum yang terjadi dalam implementasi looping.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('035927c3-71df-4e9d-b525-826d6c17e7b2', 'd3038dfe-510c-4cd3-a9a0-2818387c3058', 'Sub-CPMK-10', 'Dapat merancang diagram transisi untuk mesin Turing yang menyelesaikan masalah sederhana.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('0361f0c5-e79d-4626-8126-8e84bac77c19', '64e84ea4-42ec-4579-94a9-58f7f3b4eb57', 'Sub-CPMK-14', 'Menerapkan prinsip etika dalam pengelolaan dan analisis data, termasuk perlindungan data pribadi.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('03812116-0903-4c82-830f-795aec7ccfdc', '5553ec70-ad82-4a9d-a9d9-80006660b4f6', 'Sub-CPMK-2', 'Mahasiswa mampu menganalisis komposisi bahan penyusun beton dan dampaknya terhadap kekuatan beton.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('038a3e94-367e-42d9-88bd-72b063360938', 'd3ed3d8f-9592-4dd3-897c-f09ada0f8c58', 'Sub-CPMK-11', 'Menganalisis dan mengevaluasi kebijakan keamanan yang diterapkan pada sistem cloud', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('038faa96-a9f2-48b5-aabe-a5d2e7c106f9', '79f37bd0-b0b0-46ad-ab34-d365efdbe398', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menjelaskan berbagai protokol jaringan yang digunakan dalam komunikasi data.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('0399b7ac-9d78-4f2b-b531-c3d9f2b50c26', 'cd0907a9-ba70-40aa-935d-f24d06c6bcac', 'Sub-CPMK-2', 'Menganalisis perbedaan antara kecerdasan buatan dan kecerdasan manusia dalam konteks ajaran Islam.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('039f1a0c-7805-479d-8859-6ae2c5211596', '093769d9-bf6f-4365-bbf7-f81f1cf2be09', 'Sub-CPMK-13', 'Mampu menyusun laporan analisis hasil implementasi AI dengan format yang sesuai dan jelas untuk pemangku kepentingan.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('03a28ac2-38ce-4cb6-a751-42b1da29bc0d', 'ca4f069e-55d4-4c18-909e-0abdff219397', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menganalisis risiko K3 dalam setiap tahap perencanaan proyek teknik.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('03a5d6b1-772f-44b6-8e82-74bdeae46c0b', 'cde7e1ad-1565-4026-95e2-062a23a66ff0', 'Sub-CPMK-3', 'Menjelaskan cara kerja sistem bus dalam komunikasi antar komponen perangkat keras komputer.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('03ec0346-079a-42f1-ab77-7e9bbcffa9c7', '6bc813cf-c128-465a-9082-46019d09eb5a', 'Sub-CPMK-9', 'Menerapkan konsep deret Fourier untuk merepresentasikan fungsi periodik', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('03f7073c-ff34-4dd0-9329-cef228a4725f', 'cf149d01-4a9b-4b95-b963-d99040e6ca86', 'Sub-CPMK-3', 'Mahasiswa mampu mengevaluasi dampak lingkungan dari perancangan tapak yang diusulkan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('03faac00-ebee-4c56-8a81-bb67b07010f1', '797c9785-bf35-4fdd-bdbc-dea7692be696', 'Sub-CPMK-8', 'Mampu mengembangkan program Java yang menggunakan struktur kontrol percabangan untuk menyelesaikan masalah logika sederhana.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('0424bfdd-0ee8-46fc-b5d7-ce302574a00a', 'd556ea29-9aba-4f3d-80dd-7899d2f58d33', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan konsep dasar organisasi komputer, termasuk komponen utama dan fungsinya.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('04720615-d91f-4afc-8909-66ac7bc0212b', '393cb527-497f-45c2-b89f-7b3971a03245', 'Sub-CPMK-9', 'Mahasiswa mampu menjelaskan jenis-jenis perangkat lunak yang umum digunakan dalam rekayasa perangkat lunak skalabilitas.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('048452bc-b88b-402c-9507-78dc0474e45e', '60833d53-0cf0-4e0d-95b4-6c4f5a69ad22', 'Sub-CPMK-11', 'Mahasiswa mampu menjelaskan konsep dasar segmentasi citra dan perannya dalam pengolahan citra digital.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('0497c7aa-09fd-4dc3-8a60-79dc7120c4b3', 'a54b9238-8b66-47e8-96a1-aec7ebd1cfb9', 'Sub-CPMK-6', 'Menjelaskan konsep aliran daya dalam sistem tenaga listrik dan bagaimana komponen saling berinteraksi untuk menghasilkan dan mendistribusikan energi.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('04a048b0-5aa5-49d8-890c-efd98b1c3a09', 'b227a041-54ef-4e59-a945-568e60757375', 'Sub-CPMK-3', 'Menerapkan perangkat lunak hidrologi untuk memodelkan potensi banjir di suatu daerah', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('04aa9a35-bcb9-4f0c-b7e9-4d1cbca2fb49', '6cbf3c74-a7ef-428c-8d15-0372bb4f95a0', 'Sub-CPMK-5', 'Mampu menentukan nilai median dari data yang terurut.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('04baf586-fd22-4953-8f23-2bd90d6f2c8e', 'dee36e11-4d87-4c09-845c-eb32021cd96e', 'Sub-CPMK-6', 'Menghitung parameter listrik pada rangkaian telekomunikasi dan menerapkan hukum Ohm serta hukum Kirchhoff', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('04ce9987-73a4-4a28-b7ad-c6105946ece4', '0edc3520-ab5f-4a80-8296-9ebe3f9810a7', 'Sub-CPMK-10', 'Mahasiswa mampu membuat gambar 2D dari rancangan arsitektur menggunakan perangkat lunak desain seperti AutoCAD atau SketchUp.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('04d20db8-156a-44ca-8e19-6228a2aef781', '7d7c867a-2bc6-44a8-8195-42ac08ba6b8f', 'Sub-CPMK-12', 'Mengidentifikasi dan menjelaskan konsep dasar teori bahasa formal dan otomata.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('050ed509-2581-4bbd-b42b-0aba90a367d5', '8ccca03b-c90f-4766-8a6e-de48dc5fe60a', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan dan menerapkan hukum Ohm dan hukum Kirchhoff dalam analisis rangkaian listrik DC.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('0515146b-1487-4a54-8fc0-bd22bf921d2f', '9c29e961-cb61-4bda-851c-baf1204a602e', 'Sub-CPMK-10', 'Mahasiswa mampu menganalisis perubahan gaya arsitektur akibat perkembangan teknologi pada abad ke-20.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('051d5ab5-c4f9-4fbb-b024-b777899e1107', '34fdcbb5-5374-484e-a3e1-ea2d78dcb186', 'Sub-CPMK-13', 'Mampu menggunakan Osiloskop untuk mengamati bentuk gelombang keluaran dari rangkaian penyearah setengah gelombang.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('05285607-17cf-417a-8271-955fa57c5535', '8c176a6a-9db3-4c1e-8db8-eb0d7d8f2be6', 'Sub-CPMK-14', 'Mampu melakukan simulasi untuk mengukur akurasi sistem kontrol terhadap input yang diberikan.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('05343ef3-ccb7-4fd4-8ea0-7f4af2b3bbd9', '4a039347-3dad-4266-80b6-a96c15160a23', 'Sub-CPMK-2', 'Mahasiswa dapat merancang dan mengimplementasikan program sederhana menggunakan bahasa pemrograman C atau Python untuk mikrokontroler.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('054accdd-ba50-41fa-8ac1-a8b90d77f71e', '260884dd-6c10-40d1-86c6-becdae2de880', 'Sub-CPMK-10', 'Melakukan evaluasi menggunakan metrik BLEU pada model terjemahan bahasa.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('057da54b-e906-4063-8a5c-1ae6e555a3d7', '8ce32608-5a16-433c-b9d8-79cbbb85b90d', 'Sub-CPMK-11', 'Mampu menjelaskan konsep dan arsitektur API gateway dalam konteks cloud-native.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('05a3e8b1-b54b-4280-b2cb-d9dbf97ce91c', '97233896-c05e-4690-ac76-5fa394232e29', 'Sub-CPMK-11', 'Mahasiswa mampu merancang sistem ventilasi dan pencahayaan alami yang mendukung kenyamanan pengguna.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('05b491c1-0e73-4c83-af9f-f07a12113ab7', '8d2819f9-fbed-474f-806e-0ffd1b360a48', 'Sub-CPMK-13', 'Menerapkan prinsip-prinsip etika dalam pengembangan proyek scalable system dengan mempertimbangkan dampak sosial dan lingkungan.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('05b4a983-6d7d-45db-85ee-8e97b7dc0c50', 'b2b40d86-f12b-4d2b-9345-21bb8db64633', 'Sub-CPMK-4', 'Mampu mengidentifikasi masalah spesifik dalam konteks desain dan merumuskan pertanyaan penelitian yang relevan.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('05c56bca-6e82-4b80-9cad-7dc584bcd5b5', 'f8ea79d0-4330-4caa-8343-3313f1f2fd97', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan elemen-elemen utama dalam suatu penelitian ilmiah, seperti hipotesis, variabel, dan metodologi', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('05cbc587-05f1-4d58-9aaa-1e93ad19270f', '5abb4824-44a2-48ea-b294-d4fc93ccd1d6', 'Sub-CPMK-11', 'Mahasiswa dapat menjelaskan konsep dasar pipeline dalam arsitektur komputer dan memberikan contoh penggunaannya.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('05d0816c-c18a-4fdf-b966-4f7be01a1615', 'fdf3913e-2fd7-4851-a1e8-a5bd811eb426', 'Sub-CPMK-9', 'Mampu menghitung energi potensial gravitasi pada objek yang berada pada ketinggian tertentu.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('05db9716-fd02-4dd1-a304-29be9f499c2f', '1ee8d08a-5486-4c6c-a0d8-244df22b2e81', 'Sub-CPMK-12', 'Mampu berkomunikasi dengan baik, termasuk penggunaan bahasa yang tepat dan jelas selama presentasi.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('061e06fc-73fd-45f0-9f7b-ddceff2baf3d', 'ed4535a4-6aae-4991-9f80-6e9793a10b04', 'Sub-CPMK-14', 'Mahasiswa mampu menyusun diagram alir proses pengkondisian udara yang efektif untuk berbagai jenis bangunan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('06213c0e-1953-4eec-8355-1b2816563e78', 'a22618d3-044a-40c0-b530-e0099933f56e', 'Sub-CPMK-5', 'Mampu menerapkan model matematis dasar untuk menggambarkan perilaku sistem listrik dalam bentuk persamaan diferensial.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('06252851-fb59-4860-b5df-83868e475767', '4b6e3baa-ae53-48c8-bf6d-01691050bec6', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis elemen desain ruang luar yang sesuai dengan prinsip-prinsip Islami.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('062a6bfb-7770-46d7-b0da-81808fbc7cd0', '17d208f7-4932-473e-af5f-342185b2c259', 'Sub-CPMK-3', 'Mahasiswa dapat menggunakan Karnaugh Map untuk menyederhanakan rangkaian logika dan menjelaskan prosesnya.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('063686eb-abde-45e1-a771-ec54bcf38416', '68276de6-6eeb-4331-8d65-f967fc7863ac', 'Sub-CPMK-3', 'Menyusun rencana aksi revitalisasi yang mencakup desain, penggunaan material, dan teknologi berkelanjutan.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('0642d281-2f4d-41cd-928d-9831cc7dc072', 'b779feec-0343-4138-b24c-8cf469be16bf', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan mendefinisikan permasalahan dalam sistem tenaga listrik yang dapat dipecahkan dengan algoritma pembelajaran mesin.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('06448e8a-16b3-4ade-9f39-9e64c2585f0f', 'bd5e7ae4-f9fe-4a76-aa18-393a3bc0de40', 'Sub-CPMK-6', 'Mampu mengkonfigurasi dan mengendalikan LED menggunakan mikrokontroler Arduino dengan berbagai pola nyala.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('0650a400-8958-4a58-bbd9-882f461f0796', 'f6471973-5087-4cd8-bba0-b34bf6cfe362', 'Sub-CPMK-9', 'Mengidentifikasi jenis-jenis pelapukan dan erosi serta dampaknya terhadap kualitas tanah dan penggunaan lahan.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('06516191-9bc4-4589-8b2f-cdd517d00717', '7d2bf3b9-d54b-43a3-a217-d0a48339c08c', 'Sub-CPMK-1', 'Mahasiswa mampu mendefinisikan istilah-istilah kunci dalam ilmu sosial dan budaya, seperti identitas, norma, dan nilai dalam konteks multikultural.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('065ce623-0178-4622-a76a-9454fc194ac7', 'e0959638-c758-477c-8abd-d9b352a72d47', 'Sub-CPMK-12', 'Menguraikan komponen dan fungsi dari sistem navigasi GPS serta cara kerjanya dalam menentukan posisi', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('0669ed2c-9899-43c1-8da9-969493beccd3', '2ca7ab7d-8b63-4dcf-9541-a87ed690de7d', 'Sub-CPMK-11', 'Mampu menghitung gaya magnetik yang bekerja pada kawat berarus dalam medan magnet dengan berbagai konfigurasi.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('0670133a-5f60-4bb3-af29-7dc27cfa22f6', 'f0c865cb-b74e-4325-8057-8a8a206ba433', 'Sub-CPMK-6', 'Mampu menggambarkan prinsip kerja sensor dan aktuator yang umum digunakan dalam aplikasi robotika.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('069de0f9-04d9-4d6f-8c5b-d495937c92dd', '579c84d3-381e-4089-93af-c9292f4c2a00', 'Sub-CPMK-6', 'Menerapkan prinsip-prinsip K3 internasional dalam studi kasus di lingkungan kerja', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('06be9e1e-4f02-44a7-b9e5-3a95226048e1', 'f1731dad-4014-4a3f-9d5d-67dd1bc6d0f1', 'Sub-CPMK-4', 'Mahasiswa mampu menghitung kombinasi linier dari sekelompok vektor dan menentukan apakah vektor tertentu dapat dihasilkan dari kombinasi linier tersebut.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('06dec853-1a2f-4e40-a62b-92ddc6204703', 'ee941851-5e89-4f9f-bdc8-33da71a00cef', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis kondisi tapak dan lingkungan sekitar untuk menentukan orientasi bangunan yang optimal.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('06eedb40-dce9-4fe8-a581-194f0f2ffd5d', '9a5105b7-b641-433e-8f3c-841e815a9c8a', 'Sub-CPMK-3', 'Mahasiswa mampu menyusun materi presentasi tertulis yang jelas dan sistematis mengenai proyek perancangan arsitektur.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('06f6a975-55b0-4559-b2f2-c4477caaa3d3', 'd79ecb53-0635-4ae1-a9b8-72cd0ae5d746', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan memilih alat pengukuran geospasial yang sesuai berdasarkan jenis data yang akan dikumpulkan.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('0700182c-39d3-4ffd-9ea7-07b1a205133f', '2b1c8253-21db-40cf-bcc0-d8c65ce5990b', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan 50 kosakata teknis terkait sumber daya air dalam bahasa Inggris.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('07371a93-a13d-44eb-a32c-25aa03187df6', '834235e4-7ffa-4e7c-b257-dcb8d1096867', 'Sub-CPMK-11', 'Mampu menganalisis kebijakan energi internasional dan mengaitkannya dengan praktik terbaik dalam sektor tenaga listrik.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('074a388d-489c-4324-8667-e2ea7e26c27a', '6ec435b8-5b95-4b52-ad4b-5dbdc6ad1df3', 'Sub-CPMK-3', 'Mampu menjelaskan dan menerapkan konsep kontinuitas pada fungsi satu variabel.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('07647dc8-f81d-424c-9089-fca525fa0397', '2ad0ac79-ba47-40b2-97f2-e387aef95772', 'Sub-CPMK-13', 'Bekerja sama dalam kelompok untuk menyelesaikan proyek deep learning dengan pembagian tugas yang jelas dan saling mendukung.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('07aa04ed-ca33-4c4a-9173-ae2842619fc0', '1ec3ccd2-2d60-43cb-85be-a420dd5f798d', 'Sub-CPMK-2', 'Menerapkan prinsip-prinsip kepemimpinan dalam pengelolaan proyek teknik.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('07b80c1f-5508-45d0-bfa1-b74b2b1c01bd', 'a0ecb9c3-0918-4adb-83d2-00b32328ba14', 'Sub-CPMK-5', 'Mengidentifikasi dan menjelaskan proses pembentukan mineral melalui pengamatan mikroskopis', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('07c08e92-e4bc-43ed-824b-b67d9a4949f5', '29632ab9-c81c-419b-bd16-7852f1f354cb', 'Sub-CPMK-3', 'Mahasiswa dapat merancang dan mengimplementasikan rangkaian sederhana menggunakan transduser untuk mengukur besaran fisik tertentu.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('07c0d5c2-7e97-456f-8616-24c13ef38f7d', '0473a0f6-1253-45d6-aa2d-6cd98240a7ff', 'Sub-CPMK-8', 'Mampu menyusun dan mempresentasikan argumen lisan yang mendukung peran Muslim intelektual dalam mencapai tujuan pembangunan berkelanjutan berdasarkan studi kasus.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('07d2555b-0be7-488d-b3da-193b1eeedc18', '6166ff58-35ca-4f18-90fa-cd918a0611a1', 'Sub-CPMK-7', 'Mampu mengidentifikasi jenis data yang relevan untuk analisis berdasarkan tujuan penelitian.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('07d57080-5c47-4d07-bb27-df7b069f3f14', '52c04a2d-5351-4ea9-8c97-1e7e5cf2374a', 'Sub-CPMK-1', 'Mengidentifikasi dan menganalisis kebutuhan penelitian dalam konteks isu terkini di bidang studi yang dipilih.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('07deba38-e686-4f23-a9db-34520f41d2ab', 'f1592fd5-dc5a-42ff-9004-27b198861c35', 'Sub-CPMK-12', 'Mampu merumuskan dan menerapkan prosedur keselamatan kerja yang sesuai dalam praktik teknik.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('07e0cad9-d3db-4a7b-8455-15b6b1cb2678', '9537d11e-ef8f-4d91-b2e7-82ff86ea63ba', 'Sub-CPMK-5', 'Mahasiswa dapat melakukan analisis radiasi matahari pada bangunan dan merancang solusi untuk mengoptimalkan pencahayaan alami.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('080f22cf-8cb6-44f8-b084-70393722945b', 'c92be549-3296-4d96-a7ed-cff06dc9f2b2', 'Sub-CPMK-6', 'Mahasiswa mampu mempresentasikan konsep desain arsitektur dengan teknik komunikasi visual yang efektif, termasuk penggunaan diagram dan sketsa.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('082050ec-90a5-4960-8df8-494bb69acffc', 'feb53413-8722-4da3-ab81-f6a47484900b', 'Sub-CPMK-12', 'Dapat menyusun laporan intelijen ancaman yang mematuhi format STIX, termasuk elemen-elemen kunci seperti indikator dan observasi.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('082c11ec-973d-450c-9abb-e74e3c81ac09', '169adb2e-d7df-4153-92c1-0c64758ca6bd', 'Sub-CPMK-1', 'Menjelaskan prinsip dasar grafika komputer, termasuk representasi gambar dan warna.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('0837be87-7631-40bc-9288-04ee3e5e9242', 'abcf45f6-efd8-40ea-a98a-e0a516207c53', 'Sub-CPMK-6', 'Mengidentifikasi konsekuensi dari pelanggaran kode etik dalam konteks profesional.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('0838a280-1ce5-42e0-b7f9-9a88f0aef8e1', '8f8635d9-b0ff-4f82-96e8-49948434db07', 'Sub-CPMK-10', 'Mahasiswa mampu menghasilkan gambar kerja yang sesuai dengan standar teknik gambar arsitektur untuk ruang dalam.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('08570e91-5a0a-40d3-8e1a-cb8b9e2bc9d7', '6b8aa0c1-94cb-4bef-86ff-b4a93e2193c6', 'Sub-CPMK-5', 'Menghitung turunan fungsi untuk menentukan titik maksimum dan minimum pada model AI.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('085a4dc9-8c86-4b27-8a0b-cb1dd3705173', 'ce112d8d-37b1-4b5b-b694-568496ccbc2c', 'Sub-CPMK-11', 'Mampu menghitung integral tertentu dari fungsi polinomial derajat satu dan dua dalam interval yang diberikan.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('086b1e37-55c5-413d-a0f3-7ec3edca80c4', '606d3574-b780-48be-80f5-c55526aaff58', 'Sub-CPMK-11', 'Mahasiswa mampu menjelaskan definisi relasi rekursi dengan menggunakan istilah yang tepat dan memberikan contoh sederhana.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('088ab406-8f50-4003-b647-5e05de5dafe7', '86232f07-1505-4b7b-958c-03fa0abf86c9', 'Sub-CPMK-8', 'Mampu menerapkan GloVe untuk menghasilkan representasi kata pada dataset teks tertentu dan mengevaluasi kualitas representasi tersebut.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('08b98191-2009-468c-9e3f-7ca4e59c9b9b', 'a431d484-813b-4c00-b257-c99e5050b785', 'Sub-CPMK-9', 'Mampu menjelaskan arsitektur dasar jaringan seluler termasuk elemen-elemen seperti BTS, BSC, dan MSC.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('08e170cd-f5cc-4233-bcaa-fed94e5f0b2e', '0e4d790c-90fa-4848-87b6-60e2e87d91f0', 'Sub-CPMK-11', 'Mahasiswa mampu mendefinisikan sistem persamaan linier homogen dan non homogen serta memberikan contoh masing-masing.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('08ec545b-e03e-43da-9d7d-0df905b443bc', '246d838c-5b51-41cc-b0ae-83db15d4486c', 'Sub-CPMK-9', 'Mampu menyelesaikan soal stoikiometri yang melibatkan konversi antara gram dan mol.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('08f143b0-22dd-48b0-849a-5993f6f6890f', '2129e84f-e922-4a7f-9895-143b7c7a5361', 'Sub-CPMK-1', 'Menjelaskan definisi dan ruang lingkup kajian AIK serta perannya dalam konteks pendidikan.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('090a33ab-44dc-4c1e-b94f-61b41520a1ad', '6637d1f6-2209-4cff-8122-a25674243ae2', 'Sub-CPMK-9', 'Mampu menerapkan konsep dasar struktur data dalam algoritma untuk meningkatkan efisiensi penyelesaian masalah.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('090e82d9-02cb-463a-ab46-16fc39f0accd', 'f5badad3-824f-4eeb-aaee-1f6dce6aef8c', 'Sub-CPMK-10', 'Mampu menghitung dan menyederhanakan fungsi kompleks dalam bentuk aljabar dan trigonometri.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('091fea4e-cb38-4d9d-a751-91fc178515b3', 'e91b5936-3bab-4dcc-8d86-979efd67e251', 'Sub-CPMK-3', 'Mahasiswa dapat menganalisis dan menggambarkan respons sistem LTI terhadap sinyal input menggunakan diagram blok.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('0925baf6-fc90-4d34-9ff7-03ce98973b19', 'a47fb9be-3114-438f-8c71-2bfe7fd1d33d', 'Sub-CPMK-7', 'Mampu menghitung dan menerapkan probabilitas dasar dalam konteks model pembelajaran mesin.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('092edfed-77f6-4415-b5cb-0eb64abd8b61', '1c5c1d9e-9f69-4ef7-a10e-ef5621a3c0c9', 'Sub-CPMK-9', 'Mengimplementasikan kontrol akses dan autentikasi dalam sistem keamanan jaringan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('093bf46d-3a3d-4e3e-be53-c42f98c015ec', '00905cc5-e8d2-4b83-a695-b451382b957b', 'Sub-CPMK-6', 'Mendemonstrasikan aplikasi machine learning dalam pengolahan sinyal komunikasi', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('095c0eff-5dbe-4666-81a5-c745915ca43b', '5962c83c-f937-48d7-a608-bcff913e9be9', 'Sub-CPMK-8', 'Membandingkan karakteristik dan aplikasi mesin listrik DC dan AC.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('09699faa-79a6-45e9-a275-398d21958253', '261c62d5-9d3d-45ad-a1ea-e22672781173', 'Sub-CPMK-11', 'Mampu mengimplementasikan algoritma modifikasi dan demodifikasi sinyal menggunakan MATLAB/Python.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('09712027-ec00-495d-a3b5-bf2192f25093', '4efcb2e5-1eb3-4a5d-8f5e-c9e3199773f0', 'Sub-CPMK-3', 'Mahasiswa mampu membedakan antara perangkat keras (hardware) dan perangkat lunak (software) dalam sistem komputer.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('09818ba1-e142-4233-af4c-57553e08d172', 'a25c0a20-cfc5-4d34-9cf2-407d22298587', 'Sub-CPMK-4', 'Menjelaskan fungsi dan jenis-jenis perangkat lunak dalam sistem telekomunikasi', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('09a19668-813a-44bc-91f8-02240aead84a', 'ce3cdff0-ea58-4875-b42e-971e5ef6c578', 'Sub-CPMK-12', 'Mampu mengimplementasikan metode pengendalian untuk inverter dan rectifier menggunakan mikrokontroler.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('09a25fce-89b4-401c-8f2e-267b573900ef', '6dfbfd13-a3a7-47ce-9960-555b0a5c7b51', 'Sub-CPMK-10', 'Mampu mengimplementasikan service registry menggunakan tools seperti Eureka atau Consul dalam proyek microservices.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('09c1485c-cc21-432f-87f6-aced7b22090c', 'c80b4e2a-0a29-430f-b1ef-2caf7364aedc', 'Sub-CPMK-9', 'Menyusun rencana mitigasi risiko untuk mengurangi kemungkinan kecelakaan kerja', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('09cfd993-aef3-4869-a16d-b76746a9f553', '2c813fbc-3040-4c76-9418-9d8817ce7d94', 'Sub-CPMK-12', 'Menyusun laporan geologi yang mencakup rekomendasi lokasi dan desain infrastruktur SDA berdasarkan analisis geologi', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('09e5aad8-89e1-46d8-b1b0-27cd08cacdf0', '678bcfec-cc5d-4189-83ad-18db9d0c9ebe', 'Sub-CPMK-2', 'Menganalisis karakteristik scalable architecture melalui studi kasus', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('09eff60f-3c29-4a8d-b3bb-d181462ac358', 'ecf6f97d-0fed-4117-8d41-82bc31b2725b', 'Sub-CPMK-13', 'Mampu menggunakan alat manajemen versi untuk mengelola kode sumber secara efektif dalam proyek tim.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('09f5060c-59cc-4703-a0e7-af6e6075defc', '8de06e06-8381-4a18-bb0a-1135c4208acd', 'Sub-CPMK-3', 'Mahasiswa mampu membandingkan berbagai teknik modulasi yang digunakan dalam komunikasi digital.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('09fccf6f-d2dc-42b2-a020-5a50f076fac4', '46aca02a-59df-4539-aa6e-29bb23cbd971', 'Sub-CPMK-3', 'Mendiskusikan pentingnya kode etik dalam berbagai profesi dan bagaimana implementasinya di lingkungan kerja.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('0a15224f-c6ef-46f7-a420-d06928ac4acf', '8f92c19c-cfd7-4d99-a6e4-5fe1e6ade6b0', 'Sub-CPMK-9', 'Mampu mengidentifikasi dan mendeskripsikan karakteristik sinyal analog dan diskrit menggunakan MATLAB.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('0a412cb4-930c-4eb6-98cc-b37000612b89', '05c1e3c5-14de-46cb-b7aa-3bff99256a75', 'Sub-CPMK-7', 'Mampu menghitung arus, tegangan, dan daya pada rangkaian DC sederhana menggunakan hukum Ohm dan hukum Kirchhoff.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('0a4cc501-aa42-4201-bbae-7d902562a810', '369160d4-164e-4395-b770-a46256850fef', 'Sub-CPMK-14', 'Menilai dampak perubahan penggunaan lahan terhadap pola aliran air', 0.00, '2026-01-17 00:59:12', '2026-01-17 00:59:12'), +('0a5c5368-6562-4867-a6c2-193202acf1de', 'cef751a2-377d-4f57-8324-fe85b76bb8db', 'Sub-CPMK-6', 'Mampu menjelaskan dan menerapkan transformasi geometri pada citra, seperti rotasi, translasi, dan skala.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('0a6b1553-61b2-4827-962b-2a52062031af', '395a3da5-3b43-4bfa-90ef-e363fe3af6f0', 'Sub-CPMK-11', 'Mampu memilih dan menerapkan metode pengumpulan data yang sesuai dengan jenis penelitian.', 0.00, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('0a7060d9-d716-44a8-93cc-88f78d00acdd', 'cc2d85f1-9469-4028-b0d6-5d5743d85ddf', 'Sub-CPMK-8', 'Mampu menggunakan hukum Gauss untuk menghitung fluks listrik pada berbagai simetri distribusi muatan.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('0a72636e-89ac-4c66-8498-7ac5461a257c', '50397f99-0f71-4756-ad38-080247d61c3f', 'Sub-CPMK-1', 'Mendefinisikan sains dan menjelaskan karakteristik utama sains sebagai disiplin ilmu', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('0a74222d-174e-4a75-91f5-ef0db448acec', 'e2ce6b37-be16-4eea-963e-f32ebaa153a2', 'Sub-CPMK-6', 'Mampu menganalisis skema proteksi tenaga listrik untuk aplikasi nyata, termasuk pemilihan perangkat proteksi yang tepat berdasarkan jenis gangguan.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('0a75537d-b878-46fa-a43a-ddbebb2226ca', '49d55227-c19a-4851-888f-73d697be375b', 'Sub-CPMK-3', 'Mampu menghitung efisiensi transformator dan motor dalam kondisi operasi yang berbeda', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('0a83548a-1a36-4a85-a42d-bf641aae3723', '72f9505e-a34d-4c5c-a892-136f76b706d2', 'Sub-CPMK-2', 'Mampu merancang prosedur eksperimen yang sistematis, termasuk pemilihan alat dan bahan yang sesuai untuk mencapai tujuan eksperimen.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('0a9fb71e-aaea-465b-a23a-f3ce03ce30fb', '369f6bc9-d8e9-4ba4-9d0f-34878051be68', 'Sub-CPMK-9', 'Mampu menyusun argumen yang koheren dan terstruktur untuk mendukung tanggapan terhadap kritik yang diterima.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('0aa7e7d6-7b45-4db9-94e3-34821d3fbfdb', 'ec820756-bda1-42cc-8e12-8030aa0aacab', 'Sub-CPMK-8', 'Mengumpulkan data ancaman dari sumber tertutup dan melakukan verifikasi terhadap keakuratan informasi.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('0ab7b89f-bcb2-4627-a77a-a958456a6cba', '810ba7e9-a9ed-419b-acd5-26476de9c49c', 'Sub-CPMK-6', 'Mampu menganalisis lalu lintas jaringan untuk menemukan sumber bukti digital yang relevan.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('0ae31eb9-fd96-4643-ba67-50d15c0c992f', 'f3078aed-22c2-49f2-826c-a264180a92f2', 'Sub-CPMK-14', 'Mampu menyusun desain arsitektur sistem IoT yang mencakup perangkat keras dan perangkat lunak.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('0aee4251-e32c-4e92-a7d2-0b195b0ff54a', 'e7356a84-8e62-402b-ae78-a6be0f506d12', 'Sub-CPMK-9', 'Mampu menjelaskan mekanisme konduktivitas listrik pada material berdasarkan struktur mikroskopisnya.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('0b1d54e8-a4af-4196-b369-10b842338039', '7b862d8f-d0a1-4752-a6bd-da2509c6b94f', 'Sub-CPMK-3', 'Mahasiswa mampu melakukan pengukuran dan evaluasi kinerja sistem konversi energi menggunakan perangkat elektronik daya.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('0b29332b-aedf-48ed-9a79-fb71fc82d43d', '2a732ae0-c0ad-4fb5-afec-136aa42e0862', 'Sub-CPMK-9', 'Mampu mengidentifikasi jenis-jenis sistem informasi yang digunakan dalam pengambilan keputusan bisnis.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('0b44cc84-3a66-4607-923c-f8d9f35ef8b4', '1fd926f4-9977-4ca8-8b77-b0c9b0bf40de', 'Sub-CPMK-3', 'Menjelaskan dan menerapkan prosedur manajemen keselamatan kerja (K3) dalam setiap tahap pelaksanaan proyek teknik.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('0b5dcd58-7c9a-4fbf-acc8-2020f9304de1', '54cd1218-c49b-41b9-9549-bd47bfb70b00', 'Sub-CPMK-12', 'Mengidentifikasi dan mendemonstrasikan kerentanan sistem komunikasi digital terhadap serangan man-in-the-middle.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('0b6a54fc-4b35-4dbc-ae88-cf37eba947ac', '40f842ac-8ee4-40cc-8d0d-9f52cdf9b4ef', 'Sub-CPMK-6', 'Mendesain skenario pengujian sistem yang mencakup semua fitur aplikasi dan memvalidasi hasilnya dengan kriteria penerimaan yang telah ditentukan.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('0b6c548d-ae32-43f3-b75c-70cdb373417d', 'f3078aed-22c2-49f2-826c-a264180a92f2', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menganalisis komponen utama dalam sistem IoT serta fungsinya.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('0b8c20d7-78ef-41c7-9321-20ad98ff2f53', '9821e46e-bde7-48ce-bbec-238aeff8a6f0', 'Sub-CPMK-5', 'Mahasiswa mampu menganalisis orientasi bangunan terhadap sinar matahari dan arah angin untuk menentukan kebutuhan ventilasi alami.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('0ba54d8a-4843-46e6-9501-d184c83fd8a7', '2ef69b14-e0f6-41c7-9091-5ab8842250d1', 'Sub-CPMK-5', 'Mahasiswa mampu menentukan gaya dalam pada elemen struktur sederhana seperti balok dan rangka menggunakan metode potongan.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('0ba6668d-be87-4876-8237-ea1e529d2cc0', '8569fc9c-c270-4d1f-9fcc-2b5414703b6d', 'Sub-CPMK-5', 'Mampu menganalisis bagaimana perspektif budaya mempengaruhi penerimaan dan pemanfaatan AIK dalam masyarakat.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('0ba7dc45-6656-4059-a6d0-6ffa744f92e0', 'bad67e77-850a-40b6-9a29-a01530bf97c7', 'Sub-CPMK-6', 'Mampu menerapkan Docker Compose untuk mengelola multi-container aplikasi', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('0bbd9fb3-1145-4561-aa66-6adf98cdc938', '3e96c35c-708c-4642-93b2-0f2c188b80f5', 'Sub-CPMK-4', 'Mampu menganalisis elemen-elemen desain arsitektur Islam yang mencerminkan nilai estetika dan fungsionalitas.', 7.14, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('0bc0ced4-9123-4383-9660-951b42389ff8', '0a1b8bd5-67b7-4acd-bf38-003343903213', 'Sub-CPMK-10', 'Mampu menjelaskan prinsip kerja dan karakteristik dasar dari komponen semikonduktor seperti dioda, transistor, dan IC.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('0bc236e0-8654-4037-a688-352f3646140a', 'ee72a156-f43f-47ea-bc85-18d37c90e768', 'Sub-CPMK-8', 'Mahasiswa mampu menghitung beban yang bekerja pada elemen struktur beton sederhana.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('0bd31b06-330c-44f2-93ca-bc2064044e94', '6d9245ea-a6df-4aae-9157-ac3ee84ec03e', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menggunakan perintah dasar untuk navigasi file di Windows dan Linux.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('0be3a824-4759-432c-abe1-277bcfc3c8b8', '3a9c43c3-a6ec-4265-a018-fc1b810c01d9', 'Sub-CPMK-8', 'Mampu menganalisis struktur teks teknis dan menjelaskan tujuan dari setiap bagian.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('0beb3001-da07-4400-a91a-f5318275a17d', 'cd0907a9-ba70-40aa-935d-f24d06c6bcac', 'Sub-CPMK-3', 'Mengidentifikasi prinsip-prinsip etika dalam pengembangan AI yang sejalan dengan nilai-nilai Islam.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('0bf52627-bf2a-4f93-a8a8-c05b6bf8a35f', '569fd24c-3961-496d-83b9-d9d4b64d215c', 'Sub-CPMK-8', 'Mampu mengidentifikasi nilai kebenaran dari ekspresi logika menggunakan tabel kebenaran.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('0bf94181-1604-4ba3-abcc-7c79bf2b69ee', '474f080b-2496-4631-81f0-c365ddf9dbf1', 'Sub-CPMK-14', 'Mahasiswa dapat menganalisis kesalahan dalam metode numerik yang diimplementasikan dan memberikan solusi untuk mengurangi kesalahan tersebut.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('0c12b9d0-410e-4bde-89cc-1da4795d24f7', '4a94f203-0748-40b2-8abd-73dd926d0331', 'Sub-CPMK-3', 'Mampu menyelesaikan masalah nyata menggunakan integral untuk menghitung luas area dan volume.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('0c28a25e-bc16-4356-826e-026322c28e70', 'b0e76ffb-3394-4db7-a4ad-5f8a130ea816', 'Sub-CPMK-6', 'Menjelaskan proses sinkronisasi data dalam sistem terdistribusi dan membandingkan metode sinkronisasi yang berbeda.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('0c3e9729-f54e-4654-88ea-82b0e7466204', '7912246f-151d-4a59-812d-f411626b3e7c', 'Sub-CPMK-3', 'Mengembangkan skenario alternatif untuk solusi desain yang kompleks dan mengevaluasi kelebihan serta kekurangannya.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('0c54f6f5-466d-43f4-b323-3a131ec04ab4', '9c29e961-cb61-4bda-851c-baf1204a602e', 'Sub-CPMK-11', 'Mahasiswa dapat mengidentifikasi dampak sosial dari proyek arsitektur besar dalam konteks ekonomi masyarakat setempat.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('0c69216c-d79a-4d5e-bb1b-3584dd2dae31', 'de72c009-5303-4534-9206-cef44cc23e9b', 'Sub-CPMK-4', 'Membuat sketsa dan model 3D dari desain detail yang sesuai dengan prinsip rekayasa.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('0caa8746-1941-4d35-95ba-4180645fbc47', '4051ff85-d5a3-445f-bcda-9275a8efaac1', 'Sub-CPMK-13', 'Menganalisis sifat-sifat fisik dan mekanik tanah menggunakan data hasil uji laboratorium untuk menentukan parameter tanah yang tepat dalam perencanaan pondasi.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('0cca45c2-c8a7-4bfb-ab5c-56db27cd164c', '462afe1f-ba31-4da0-892b-61c8dbbd5422', 'Sub-CPMK-11', 'Mampu menggunakan metode trapezoidal untuk menghitung luas di bawah kurva dan mengevaluasi kesalahan estimasi.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('0ccae171-820d-4aed-9540-aaf3b249c734', '34d3da15-97a4-4837-8a98-1be4a380703d', 'Sub-CPMK-6', 'Mengidentifikasi dan menjelaskan berbagai metode distribusi tenaga listrik dari gardu induk ke konsumen akhir.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('0cccf7e9-4fdd-429b-b801-acd82636819f', '73fb2871-818a-46f3-be9d-f49be1edef5e', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan menganalisis masalah yang dapat diselesaikan dengan algoritma kecerdasan buatan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('0cf265b1-6014-4892-adef-b5cce588ff69', 'bf59dffe-d6a8-4837-8156-22c5355de1a0', 'Sub-CPMK-12', 'Mampu merancang skema pengendalian untuk meningkatkan stabilitas sistem tenaga listrik dalam menghadapi gangguan.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('0d1a6570-75bb-4aec-915b-0d367513c5cb', 'cce1c8e9-9d93-4b17-ba64-4d2d6057a32f', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menganalisis kerentanan pada tahap scanning.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('0d272174-d126-4b71-9c45-4eb2c433bc58', '84c5ca35-9704-42cf-b485-0914fbfaf556', 'Sub-CPMK-5', 'Mahasiswa dapat menganalisis gaya-gaya yang bekerja pada elemen struktur tinggi menggunakan metode analisis statis dan dinamis.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('0d2de484-7187-406e-8102-e924f61ec932', '754df693-3c53-4b80-b0fa-ff4157443968', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan komponen utama dalam sistem pakar, termasuk basis pengetahuan, mesin inferensi, dan antarmuka pengguna.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('0d4aa634-1479-4df1-ae57-9b1a6424b4e9', 'e6eb3627-f8a5-4149-ae1d-7483e0206992', 'Sub-CPMK-10', 'Dapat menggunakan FTK Imager untuk membuat citra forensik dari media penyimpanan dan menganalisis struktur file.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('0d4f8840-7d3c-43d9-a0dc-457645f60c59', '5122fe5e-66e4-4459-95c9-3dbb76050d78', 'Sub-CPMK-8', 'Menghitung gaya geser pada elemen struktur menggunakan metode keseimbangan', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('0d69cf06-ea4b-41b1-87ae-eff1190f43d4', '364ad7e9-abeb-4e73-8252-8413cb3c2e44', 'Sub-CPMK-3', 'Mahasiswa dapat melakukan transformasi diskrit seperti Transformasi Fourier Diskrit (DFT) dan Transformasi Z, serta menganalisis hasilnya dalam konteks aplikasi nyata.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('0d806ab6-2a42-4bb5-9167-d60ba84c6156', '219bbba7-c7bd-4d09-836b-0e7b50bce267', 'Sub-CPMK-9', 'Mampu melakukan evaluasi kinerja model pembelajaran dalam sistem komunikasi dengan menggunakan metrik yang tepat.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('0d8b6c98-2a3e-4bed-9a1f-a53c8045a725', '10cafd63-d008-43d9-9306-e6ccb93bc53a', 'Sub-CPMK-10', 'Menggunakan LSTM untuk menangani masalah vanishing gradient pada data sekuensial dan membandingkan kinerjanya dengan RNN.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('0d928a16-ff7e-4eee-8122-068c263f31f3', 'a17f25f3-0d27-432b-ad2b-fc0907a7b493', 'Sub-CPMK-11', 'Menganalisis peran teori probabilitas dalam pengembangan algoritma pembelajaran mesin.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('0dc5b087-e342-4c9b-95bc-94ddceb43bef', 'cd0907a9-ba70-40aa-935d-f24d06c6bcac', 'Sub-CPMK-1', 'Menjelaskan definisi dan sejarah perkembangan Artificial Intelligence dari perspektif keislaman.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('0ddf5b5d-39eb-4034-9dc0-f599090be9dd', 'cacda38c-c295-49f6-a838-e629913dff5c', 'Sub-CPMK-14', 'Mampu menentukan turunan dari fungsi yang digunakan dalam analisis gerak dan optimasi dalam teknik.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('0e023bfc-3cfe-42f4-afdf-c81702350c87', '488e7227-ea48-427f-953e-21f06cffc9e7', 'Sub-CPMK-11', 'Mampu mengumpulkan dan menganalisis data eksperimen sederhana untuk menentukan distribusi probabilitas yang sesuai.', 0.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('0e08430f-5ad3-4cc6-adfb-e46390c5d578', '677320ae-f229-4d19-8416-72b7733c5d62', 'Sub-CPMK-6', 'Mampu melakukan konfigurasi dasar pada perangkat jaringan seperti router dan switch.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('0e26baf4-92ec-486b-97e5-fdad65116b26', '74264784-88f3-4e59-8278-7c73a833268b', 'Sub-CPMK-8', 'Mampu menganalisis karakteristik input-output transistor dalam konfigurasi penguat dan saklar.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('0e5fa5e4-2191-4a29-9f8a-33ef4bd5aec0', '5bf2ba15-3b73-41d3-9023-08466d31fd30', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi jenis-jenis metode numerik yang umum digunakan dalam penyelesaian masalah matematis.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('0e621960-d1e6-403e-bc71-94b6d2eb1411', 'f5badad3-824f-4eeb-aaee-1f6dce6aef8c', 'Sub-CPMK-12', 'Mampu melakukan perhitungan integral kompleks menggunakan metode residu.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('0e62a2c1-200b-4d43-b8ad-14735aaee174', 'aceab0f5-663c-42ba-9c4f-2144a2152069', 'Sub-CPMK-3', 'Mampu memecahkan masalah menggunakan pendekatan dynamic programming dan menjelaskan proses optimalisasi yang digunakan.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('0e76ef26-195a-4577-93cc-561644e2139c', '02b711fe-099d-48f5-967e-8592308bf338', 'Sub-CPMK-8', 'Mahasiswa mampu merancang ruang publik yang mengintegrasikan nilai-nilai Islami dan prinsip desain humanis.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('0e8fcb21-f4a4-47a3-850f-35b89bc058c8', '5d34104c-dbee-4dd7-9c86-a49a5017eb8f', 'Sub-CPMK-10', 'Mampu menganalisis karakteristik beban dan menentukan kebutuhan daya untuk sistem tenaga listrik yang dirancang.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('0e929e29-4fcd-4b72-be84-5fac09aa7f24', '18279719-f87d-444d-96f3-4bdbad090803', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan prinsip dasar modulasi dan demodulasi dalam komunikasi nirkabel.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('0ea47054-97a9-42b1-aa8a-ef38adf9ec91', '6637d1f6-2209-4cff-8122-a25674243ae2', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan mendefinisikan permasalahan yang dapat diselesaikan dengan algoritma sederhana.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('0eb7bfaa-73d8-4fe0-8033-e48e0b6cdc51', '1fd926f4-9977-4ca8-8b77-b0c9b0bf40de', 'Sub-CPMK-1', 'Mampu menganalisis dan merancang rencana proyek teknik yang mencakup estimasi biaya, waktu, dan sumber daya yang dibutuhkan.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('0ebda4c8-ad44-42d6-98af-bfb662ef64d8', 'fa7ec9e6-aa8e-4220-a4bd-0065045c46d1', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis dan mengidentifikasi elemen desain yang mendukung aksesibilitas dalam bangunan.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('0ed15d0b-826c-49e6-a72b-0b7ae8ffbe3e', 'bf87734b-648b-469b-84db-f231f4063cc0', 'Sub-CPMK-13', 'Mampu mengimplementasikan algoritma pemrosesan sinyal dasar menggunakan MATLAB atau Python untuk mengolah sinyal waktu diskrit.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('0edf4fef-1870-429e-9ee1-ce566ec9b0d5', '677df0db-e578-4ed8-86d2-093c3198e084', 'Sub-CPMK-13', 'Menerapkan prinsip-prinsip etika dalam pengumpulan dan analisis bukti digital.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('0ee5ca5c-e156-4b12-b63e-aef5eb317c49', '7eb7c4a3-8752-4b59-8668-107a54eff125', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan komponen utama dalam arsitektur microservices.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('0efffa9f-1619-4d47-9a60-8a011c2f4e07', '795b89ad-4997-42ae-bf3c-fc51d5debfb7', 'Sub-CPMK-10', 'Mampu mengimplementasikan algoritma numerik dasar seperti metode Euler dan Runge-Kutta dalam MATLAB/Python untuk menyelesaikan persamaan diferensial.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('0f0659db-f064-4614-a1a7-55918a3c255b', 'dc7fcbe3-32e5-4218-b2dc-30d3d8498529', 'Sub-CPMK-11', 'Mampu mengimplementasikan rangkaian penguat untuk sinyal dari sensor.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('0f0fea18-2794-4f76-96d7-3b65bad584dd', 'a4c4b792-09c0-4c5e-9c1e-9db6e7cc8803', 'Sub-CPMK-2', 'Menganalisis berbagai jenis serangan siber dan teknik yang digunakan oleh ethical hackers.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('0f52b85f-9303-4a76-be90-33c809c5ec7f', '74af6e50-c9e8-410f-9570-61cb2169a4f2', 'Sub-CPMK-13', 'Mampu berkontribusi dalam perencanaan dan pengembangan fitur perangkat lunak dengan mempertimbangkan aspek keamanan.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('0f54b849-72d9-4021-9f16-4217e35bb87c', '2745c812-3ba4-498e-a1cf-f59693fa7178', 'Sub-CPMK-12', 'Mengevaluasi fungsi sosial dari ruang publik dalam konteks arsitektur Islam', 7.14, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('0f5dc0cb-2aa8-446a-9a52-4f000b79805a', '05c1e3c5-14de-46cb-b7aa-3bff99256a75', 'Sub-CPMK-9', 'Mampu menerapkan metode superposisi untuk menyelesaikan rangkaian DC yang kompleks.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('0f660e2d-92a7-4c08-a7c7-8ce28f144c67', '43e466ff-b98e-4a34-9f01-d1769e02a9c1', 'Sub-CPMK-12', 'Mampu menggambar dan menganalisis diagram fasor untuk rangkaian AC.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('0f8782c3-f158-402e-a3c9-2a2a171e8e4a', 'bc1017ca-6040-4125-a31e-af53423ae9d6', 'Sub-CPMK-5', 'Mampu menganalisis permasalahan sederhana dan mengidentifikasi langkah-langkah penyelesaian yang diperlukan.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('0f910f35-bc8e-4997-a65a-9a69db8c14e0', '89cd449a-95eb-41a8-9669-9addb7d6b202', 'Sub-CPMK-11', 'Mahasiswa mampu menghitung beban yang bekerja pada elemen struktur seperti kolom dan balok.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('0fa298e6-e451-4284-96f1-cfe461e197aa', 'fca1a4a2-36ab-4b25-a508-0dcf7e6ef196', 'Sub-CPMK-13', 'Mampu merancang skematik dan layout PCB untuk prototipe sistem elektronika.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('0fbade18-3ed0-4aa5-a960-7c899e1484b7', 'ccbdad7c-5a60-45bc-bd40-8fd707b5764d', 'Sub-CPMK-8', 'Mampu menyusun laporan analisis kebutuhan sistem informasi berdasarkan hasil pengumpulan data', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('0fd00e75-2fda-4f4a-a583-57238abd236a', '622da634-54cb-49d6-84f2-68067ee74338', 'Sub-CPMK-9', 'Mampu mengidentifikasi kerentanan pada sistem uji menggunakan alat pemindaian keamanan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('0fda8207-6b28-43cd-9851-a0ffc6fd29c6', '3ab86dd0-b4f0-4689-a92c-d829625fd8d3', 'Sub-CPMK-13', 'Mahasiswa mampu menganalisis dan menerapkan prinsip desain arsitektur yang sesuai dengan nilai-nilai keislaman dalam proyek perancangan.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('0fed09ae-940d-409c-b823-582088d26263', '8e57c57b-cfbe-4ea4-a0fd-66241b7bd5cd', 'Sub-CPMK-3', 'Mampu merancang dan mengimplementasikan sistem pengendalian berbasis AI untuk optimasi operasi sistem tenaga listrik.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('0ff14719-0582-45e3-8e3d-8c6885a0134c', 'f1f4a159-f447-4c29-8a60-f9d2ec08e31d', 'Sub-CPMK-7', 'Mampu menjelaskan komponen dasar dan arsitektur dari CNN, RNN, dan Transformer.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('100f6fde-159d-4cab-b0a4-1ec2113a49c6', '38e856da-db76-40ad-8037-add1ca7f293e', 'Sub-CPMK-10', 'Dapat melakukan pengujian unit dan integrasi pada aplikasi mobile untuk memastikan fungsionalitas yang benar.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('10290e1d-db66-4daa-8d36-b90eeff4d2ca', '247b5673-4e06-47e2-b310-70cb8d17cf73', 'Sub-CPMK-10', 'Membangun pipeline pemrosesan data real-time menggunakan framework seperti Apache Kafka atau Apache Flink', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('102b9955-9620-465c-adaf-90b23ee2a206', 'f6471973-5087-4cd8-bba0-b34bf6cfe362', 'Sub-CPMK-8', 'Menjelaskan mekanisme tektonik dan hubungannya dengan pembentukan bentuk lahan serta implikasinya terhadap risiko bencana.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('106c46c5-f0dd-426d-a7ac-f75604bc91c4', '2ef69b14-e0f6-41c7-9091-5ab8842250d1', 'Sub-CPMK-4', 'Mahasiswa mampu menghitung reaksi tumpuan pada balok sederhana dengan menggunakan metode keseimbangan statis.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('1088fb3a-f3b4-4ac4-b1b5-10878402a3a8', '76aef8de-4c40-4ac0-9534-40ce9a063a9a', 'Sub-CPMK-2', 'Menganalisis berbagai prinsip etika dalam penggunaan AI dan dampaknya terhadap masyarakat.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('109a85de-fd15-49c9-989d-a5c4ae71d0a8', '75d2e99a-94ab-4afd-9524-3f4b2e9f507c', 'Sub-CPMK-5', 'Mampu menjelaskan perbedaan antara DFA dan NFA, termasuk karakteristik dan struktur masing-masing.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('10e77532-8709-48ef-8892-e71a1612255c', 'df7bf392-4dac-4ea3-9d79-bba26cc574c6', 'Sub-CPMK-10', 'Mahasiswa dapat menjelaskan langkah-langkah untuk mencari invers matriks 3x3 menggunakan metode adjoin.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('10e805a9-f7ed-479c-bd63-5a8a172f511f', '68276de6-6eeb-4331-8d65-f967fc7863ac', 'Sub-CPMK-1', 'Menganalisis faktor-faktor sosial, ekonomi, dan lingkungan yang mempengaruhi revitalisasi bangunan dan kawasan.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('10eebd55-2c44-48a0-a9a6-638b08aad593', 'bbded5e4-52a2-48e3-8e05-b0f28424699a', 'Sub-CPMK-11', 'Dapat menganalisis dan memecahkan masalah teknik menggunakan prinsip-prinsip dasar matematika.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('11168bab-bffd-4430-95b7-8ec9a5f8b443', 'c618def2-b658-454e-8692-abae13d33565', 'Sub-CPMK-8', 'Mampu menganalisis dampak gangguan terhadap kinerja sistem tenaga listrik, termasuk analisis terhadap frekuensi, tegangan, dan stabilitas sistem.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('1151951b-23e6-418c-bb58-fd699fd00276', '1ff96c38-9346-4cd1-b8cd-31391222a184', 'Sub-CPMK-13', 'Mampu menyelesaikan sistem persamaan linear dengan metode eliminasi dan substitusi secara manual.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('11601288-e7a5-434d-8cb8-5d4d9c4396d3', '100a1d78-22da-4196-9325-6bb9a477326d', 'Sub-CPMK-9', 'Mampu menganalisis data yang diperoleh dengan menggunakan teknik statistik atau analisis kualitatif yang tepat.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('1177ad11-89ea-4da6-abce-dd6e66985fa6', '68f3abcd-a3e4-4d1c-9c48-85fc24cd4794', 'Sub-CPMK-3', 'Mahasiswa dapat menghitung parameter antena seperti gain, bandwidth, dan impedance.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('118b1b04-b6a2-446b-9f79-961b2ffb157b', '362fc8d8-e5f8-493f-b20c-101683736f2e', 'Sub-CPMK-9', 'Membandingkan efektivitas biaya antara bangunan konvensional dan bangunan hijau berdasarkan studi kasus.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('11b4f58c-6894-4599-9b10-7a4db6c3c81b', 'dd5a082a-3679-4db6-9bb7-4119c5ea6664', 'Sub-CPMK-6', 'Mampu menentukan kekontinuan fungsi satu variabel pada titik tertentu dan interval.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('11be01b0-2236-4c4d-9457-e31bebff5605', 'e51b9684-d31a-4c0c-ad71-1d4ae2646266', 'Sub-CPMK-5', 'Mahasiswa dapat mendemonstrasikan penggunaan looping dalam struktur data seperti array dan list.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('11d41d8f-e473-4fe4-bc53-37c153a38d29', '07c66d9f-a26e-4136-a15e-1e4976886a8c', 'Sub-CPMK-6', 'Mahasiswa mampu menjelaskan langkah-langkah dalam metode induksi matematika dan menerapkannya pada contoh soal.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('11e3fbf7-ae28-4c48-b931-6e5eecb82e8b', 'cc84ed57-82f6-4d35-9d88-7ac6c3b70209', 'Sub-CPMK-1', 'Mampu menjelaskan dan membedakan berbagai jenis protokol komunikasi data dan fungsinya dalam jaringan komputer.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('11f1db26-cd1d-4aed-ac14-fca04e30638d', '9da22b4e-8552-4db4-8c09-cb21128fd633', 'Sub-CPMK-10', 'Mampu mengukur tegangan dan arus menggunakan multimeter dengan akurasi yang sesuai spesifikasi alat.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('1220815e-da10-4acf-b5a0-55463837000b', '36266f20-0d43-46e9-9aa0-b8469a94467d', 'Sub-CPMK-12', 'Mampu menganalisis hasil pengujian untuk menentukan aplikasi yang tepat dari material bangunan berdasarkan sifat fisik dan mekaniknya.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('12251b93-964e-4a08-bfdb-e55ba65b40fe', '8569fc9c-c270-4d1f-9fcc-2b5414703b6d', 'Sub-CPMK-6', 'Mampu mengevaluasi implikasi penggunaan teknologi AIK terhadap interaksi sosial dan komunikasi antar individu.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('123197fb-0c86-4196-88bd-5eb24aa3655b', '25d8e810-0c1c-4348-b98e-85ce34f8c46e', 'Sub-CPMK-12', 'Mengidentifikasi dan menjelaskan prosedur keselamatan yang diperlukan sebelum melakukan pengujian mesin listrik.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('12612933-0678-47c1-bd3a-2e491fbfc621', '66df9227-cf33-402d-9d85-c6dd0f03fa3f', 'Sub-CPMK-3', 'Menjelaskan pentingnya penggunaan notasi dan label dalam gambar teknik untuk komunikasi yang efektif.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('1262fa90-6e5a-4137-b4b7-605cf48bf722', 'e69a935a-a700-45f8-8dc8-97033c12dbf4', 'Sub-CPMK-9', 'Mahasiswa mampu menjelaskan dan memberikan contoh fungsi numerik sederhana serta aplikasinya dalam pemodelan masalah nyata.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('12649c11-6f1b-459f-aa86-4bd3ac94031d', '00446d37-6411-4ee4-a64a-5c6d2b72e768', 'Sub-CPMK-14', 'Mampu menyusun tinjauan pustaka yang sistematis dan mendukung kerangka teori dalam proposal penelitian.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('1266cedd-5119-46a3-9a9b-ce076eeb8a04', '02d51508-b5c0-49d6-b60a-d02802e615ee', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi dan menganalisis algoritma adaptif yang digunakan dalam sistem komunikasi modern.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('1283c8ee-1fac-400f-8eec-a747d19086b3', '61593602-45e0-45ff-8a85-32196329e82b', 'Sub-CPMK-4', 'Mahasiswa mampu menjelaskan berbagai jenis bahan bangunan dan karakteristiknya yang memengaruhi pemilihan.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('12b8c66c-520b-4262-9cda-9ecdb54d8928', '65330350-ec71-4e61-a5bd-3532f5523a87', 'Sub-CPMK-13', 'Menganalisis dan mengidentifikasi potensi risiko etika dalam penggunaan LLM di berbagai aplikasi.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('12e2cf1a-303d-4d2d-91ac-a06ce33649e8', '7511fc1d-fb29-4e40-9782-828eaa40ed48', 'Sub-CPMK-5', 'Mampu menganalisis pola penggunaan energi listrik dan mengidentifikasi peluang penghematan di sektor komersial', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('12e8ec0d-6776-4f69-adc5-69c28dd117e7', 'b20c4b36-a280-48cd-b91f-f0019889786f', 'Sub-CPMK-9', 'Mampu membandingkan prinsip-prinsip desain arsitektur Islam dengan arsitektur modern dalam konteks fungsionalitas', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('12f5f812-4830-4f0b-9025-23cf1c2a0cae', 'ae73607c-a81c-43da-ba7c-041347a686b7', 'Sub-CPMK-8', 'Mampu melakukan evaluasi usability terhadap prototipe antarmuka yang dirancang', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('1308f205-3818-4eb5-bc5c-c3494baf7d9f', '923a28c6-4495-4915-bdb5-616ccea2716e', 'Sub-CPMK-12', 'Mampu menggunakan alat bantu visual (seperti slide PowerPoint) dalam presentasi proyek komputer dengan penjelasan yang koheren dalam bahasa Inggris.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('132e2a2d-1bf2-4c1b-ba3a-6979dc27f9d3', '7975dd52-c47d-49d0-8846-9e2b05bf46dc', 'Sub-CPMK-8', 'Mampu merancang dan mengimplementasikan sirkuit kontrol menggunakan PWM untuk aplikasi pengendalian motor.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('1334f552-1962-4007-88b4-9de2f13e8c87', 'd5588af2-c6ed-49aa-ab0f-00960d6e7631', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan menjelaskan kriteria evaluasi desain yang relevan untuk proyek arsitektur tertentu.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('1361c44a-ddcb-4130-bbab-4d88d7f189da', '3248e393-e98b-46a6-960a-a8801edf8e53', 'Sub-CPMK-12', 'Melakukan proses fine-tuning pada model pre-trained dengan menggunakan teknik pengaturan hyperparameter yang tepat.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('136ec311-578d-4309-adb3-4b1ce90dca8f', '02d51508-b5c0-49d6-b60a-d02802e615ee', 'Sub-CPMK-3', 'Mahasiswa dapat merancang dan mengimplementasikan model machine learning untuk meningkatkan efisiensi sistem komunikasi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('1383575e-e852-4a50-9a03-c9a91634618c', '242b793a-2f3a-41fe-b19d-f59e5034a3ad', 'Sub-CPMK-8', 'Mampu menjelaskan fungsi dan cara kerja sensor dan aktuator dalam sistem pengendalian adaptif', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('13900918-e5d8-4408-91bf-6ed784349cea', 'c730a092-3619-47c7-8390-153ee9edde45', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan jenis-jenis perangkat yang dapat menjadi sumber bukti digital, seperti komputer, smartphone, dan perangkat IoT.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('1396db51-35cf-4a40-8d54-01798a024e99', '6409e65a-4ec1-43cf-a3df-081695247922', 'Sub-CPMK-14', 'Mahasiswa mampu menganalisis dan mengevaluasi alat dan teknik yang digunakan dalam perencanaan dan pengendalian proyek.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('13a57cee-6a70-41c6-a011-ec13dd5ee7dc', 'acae30a0-b760-47df-b4fb-df4beebd385a', 'Sub-CPMK-13', 'Mahasiswa mampu melakukan analisis regresi linier sederhana dan menginterpretasikan koefisien regresi yang dihasilkan.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('13ac507c-2f80-4467-9a5a-e6c2b1049cd4', '9ce643fa-351d-4fca-ad6c-6458151d47da', 'Sub-CPMK-2', 'Mampu menyusun pertanyaan penelitian yang jelas dan terfokus berdasarkan literatur yang relevan.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('13c13cf4-1370-437c-8115-2749f94b5cc4', '60e5b76b-62f2-4b54-9b4e-208e18794563', 'Sub-CPMK-5', 'Dapat melakukan instalasi dan konfigurasi framework generatif yang dipilih untuk pengembangan model', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('13d34b4b-5466-4116-a4d4-d28ae29f2e4a', '444cde92-a3f6-4b99-be0d-65b78e187bba', 'Sub-CPMK-6', 'Mengembangkan prototipe aplikasi AI yang mengintegrasikan nilai-nilai Islam dalam fungsionalitasnya.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('13e37e79-1442-4578-b4a0-253a851506ee', 'a22618d3-044a-40c0-b530-e0099933f56e', 'Sub-CPMK-4', 'Mampu menyelesaikan persamaan diferensial orde satu dan dua dengan metode analitik dan numerik.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('13e4158d-e93a-4f0c-97f7-5f905ae028f9', '4167b9d2-140e-4f08-824a-c09f42888d11', 'Sub-CPMK-14', 'Mahasiswa mampu menyusun laporan desain arsitektur digital yang mencakup analisis kebutuhan, konsep, dan solusi teknis.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('142394b8-8622-4443-b716-9068c94e6a91', '65cf8064-fe6d-43f8-b9d7-fc989f5f30e5', 'Sub-CPMK-8', 'Melakukan pengujian penetrasi terhadap aplikasi web menggunakan OWASP ZAP untuk menemukan celah keamanan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('142ebb12-4e53-4909-9ae2-6beeaab44d27', 'e3664070-9c30-44fb-8f15-95bd390a1b3b', 'Sub-CPMK-9', 'Mahasiswa mampu mengevaluasi dampak lingkungan dari pemilihan material dan sistem konstruksi yang dipilih terhadap keberlanjutan proyek.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('1438862f-f70e-4050-b70d-e2fd802f3c08', '9c41a09a-b571-443b-8e4a-d081e3252d8c', 'Sub-CPMK-7', 'Mampu menghitung daya pancar radar yang diperlukan untuk mencapai jangkauan tertentu berdasarkan kondisi lingkungan.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('14430263-c2d0-4413-bda2-440c8401be8a', '6186c002-78d1-4035-9240-e60e54213d16', 'Sub-CPMK-3', 'Mahasiswa mampu melakukan operasi dasar antar himpunan seperti union, intersection, dan difference serta menghitung jumlah anggota hasil operasi tersebut.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('146c20a0-62a8-484d-a0b3-c72bb0b59526', 'f2e382ae-ebc0-42e0-85a8-f7dc20a18266', 'Sub-CPMK-3', 'Mahasiswa dapat membandingkan elemen desain arsitektur Islam dengan arsitektur dari tradisi lainnya.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('148804b5-f541-415b-9f98-a0111e851c10', '22cd9b30-e649-48a3-a757-63f5724d8676', 'Sub-CPMK-13', 'Mahasiswa dapat mengidentifikasi dan menganalisis masukan dari stakeholder terkait desain arsitektur yang diusulkan.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('148aa187-b45f-4681-90f0-3aa727f7d95c', '15db3ec8-8ae4-4cea-be07-3b4e14c5e59c', 'Sub-CPMK-12', 'Mahasiswa mampu melaksanakan proses pengecoran beton dengan benar, termasuk pengaturan cetakan dan pemadatan.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('14905176-0dff-42bf-bcd3-783a83e79535', '2746e5a7-6c03-4c17-b9af-818e154b0a26', 'Sub-CPMK-9', 'Mahasiswa mampu menciptakan komposisi yang seimbang dan harmonis dalam desain bentuk 2D dan 3D.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('14969e3a-b3dc-4196-9768-ffa250a836c9', 'a2bae750-4303-43be-b3de-c43b324ade49', 'Sub-CPMK-3', 'Mahasiswa mampu menjelaskan perbedaan antara berbagai distribusi Linux dan memilih distribusi yang sesuai untuk kebutuhan tertentu.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('14b27647-cd94-4b0b-b2dd-b15619abafbe', '59d443e2-1139-4536-a0e7-86b4d656099b', 'Sub-CPMK-8', 'Menghitung debit aliran dengan menggunakan metode hidrograf satuan', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('14bba7d8-601d-4d43-a653-d4c0dc335e9f', '7748f399-0e08-454f-9281-3897076405fc', 'Sub-CPMK-14', 'Mampu mengidentifikasi dan menganalisis berbagai jenis jurnal ilmiah dan kriteria pemilihan jurnal yang tepat untuk publikasi', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('14d1b93a-9bcc-40d6-8d4a-ef1f2078c8e6', '0436e0ad-efe3-41d8-b90a-1a4b33d1ef00', 'Sub-CPMK-10', 'Mampu mendefinisikan dan mengidentifikasi ruang vektor serta sifat-sifatnya.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('14d5dd59-b3ea-443b-838f-11444a9404f6', 'abb9fa4b-b4cd-4df8-a6fa-62c7f77a283a', 'Sub-CPMK-4', 'Mahasiswa dapat melakukan analisis pasar untuk mengidentifikasi tren dan kebutuhan dalam industri arsitektur.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('15044981-7bae-40c4-b0be-4f19343d3bfd', '677320ae-f229-4d19-8416-72b7733c5d62', 'Sub-CPMK-5', 'Menjelaskan konsep dasar disain jaringan dan peran setiap perangkat dalam infrastruktur jaringan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('15338c16-0bc7-4a1a-86b0-ab171c57ddfd', 'e2ce6b37-be16-4eea-963e-f32ebaa153a2', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan berbagai jenis gangguan dalam sistem tenaga listrik, termasuk gangguan hubung singkat, gangguan tanah, dan gangguan overload.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('15375fde-6754-4190-8a57-f2de31ed9b17', '780792a9-63a5-408c-aad3-9b9891fd770e', 'Sub-CPMK-1', 'Mahasiswa mampu mendefinisikan vektor dan menjelaskan komponen-komponennya.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('153963ea-ccc8-4983-b2ef-3da66713f492', '37a8a6d5-93db-4f05-9ce4-3dbc4f9daf42', 'Sub-CPMK-12', 'Mendeteksi dan memperbaiki minimal tiga jenis kesalahan umum dalam program Java, seperti NullPointerException, ArrayIndexOutOfBoundsException, dan ClassCastException.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('15792e67-0757-4c90-9e85-01e9151ef536', 'e69a935a-a700-45f8-8dc8-97033c12dbf4', 'Sub-CPMK-10', 'Mahasiswa mampu melakukan penjumlahan dan selisih pada fungsi numerik serta menjelaskan hasil yang diperoleh.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('15912068-56fb-4acc-b0b1-6c86b8a639dc', '4c5835be-f9f8-4170-aa0c-58f713857292', 'Sub-CPMK-1', 'Mahasiswa mampu menghitung arus, tegangan, dan daya dalam sistem tenaga listrik menggunakan rumus dasar dan metode analisis yang sesuai.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('15abd11c-1bd7-4c29-8b2e-6e6f47e909b2', 'fea5e4c5-b671-4a16-9a51-5eabe3729e14', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menjelaskan kriteria sumber informasi yang valid dan kredibel dalam kajian AIK.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('15b1d967-2db4-4fb8-b9eb-6bdd8a8e7ec3', 'ef7f81e6-1175-4a8b-9d79-d0aeb02d7cc2', 'Sub-CPMK-6', 'Membuat validasi form menggunakan JavaScript agar input pengguna sesuai dengan kriteria yang ditentukan.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('15b5cfeb-061b-48a4-bd2f-d5f234d2b6b3', '5827f7bc-2211-4bad-aaa7-2800f984b70b', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menjelaskan nilai-nilai Islami yang relevan dalam konteks perancangan arsitektur modern.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('15d5343f-9842-4c36-8fd6-75f3f18bf09e', '57d259c7-45e4-49c4-96b0-e26929b8f192', 'Sub-CPMK-11', 'Mampu membuat dan mengelola indeks serta view untuk meningkatkan performa basis data.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('15f8260f-2b89-4f76-bd7b-ebe05dcd1b57', '242b793a-2f3a-41fe-b19d-f59e5034a3ad', 'Sub-CPMK-7', 'Mampu mengidentifikasi komponen utama dalam sistem cerdas berbasis sensor dan aktuator', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('1601863d-08fe-4270-ba78-831f203e7154', '57b50bd6-8252-4822-9ce5-bdb6898b991b', 'Sub-CPMK-8', 'Dapat membandingkan dan menjelaskan perbedaan antara IPv4 dan IPv6', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('1608d913-ec3e-4fa5-887d-64d020344f89', '32a64cee-cde1-46b6-851d-ab17c8f7cbca', 'Sub-CPMK-6', 'Mampu menganalisis dan merancang arsitektur CI/CD pipeline berdasarkan kebutuhan proyek dan tim pengembang.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('162ccea9-4b6a-4182-82bb-6be17dd69b39', '1bf65a1c-e594-4b67-a449-3a1d216bac0e', 'Sub-CPMK-5', 'Mampu merancang antarmuka pengguna (UI) yang responsif menggunakan Flutter atau React Native.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('16324ce3-e202-4508-89cc-926398c53111', '8aa84918-66b0-4fd6-9953-3ddb0be4c203', 'Sub-CPMK-6', 'Mampu menyusun kerangka teori yang sistematis berdasarkan hasil tinjauan pustaka.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('167bea63-1f52-4b4f-b38b-af1245b8d6cd', '4489a969-2fc9-4a6b-9b42-dbf86ec24e94', 'Sub-CPMK-10', 'Mampu melakukan analisis kebutuhan masyarakat terkait revitalisasi kawasan yang akan dilakukan.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('1680caba-19b5-4fbc-824d-eee268107d11', 'f3139063-0676-4c4d-9ab2-7ed95bd89482', 'Sub-CPMK-5', 'Mampu mengidentifikasi entitas dan atribut yang diperlukan dalam skema basis data relasional.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('1698c29d-b286-4632-aca6-751358bfdd63', '60971f57-52ab-4e3b-8224-187464052733', 'Sub-CPMK-2', 'Dapat mengidentifikasi dan menerapkan berbagai jenis algoritma sederhana dalam pemecahan masalah.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('16a40356-f93b-46c2-96b0-08aeaf82188b', '966e975b-f461-4e85-bde6-64f3d97e9f3a', 'Sub-CPMK-6', 'Mampu melatih jaringan saraf tiruan menggunakan dataset sederhana dan mengevaluasi kinerjanya dengan metrik yang sesuai.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('16f58134-8b7e-458b-ab18-461cc4b10c8e', 'b0ba34fc-a8eb-4100-b4a1-66497a43aca3', 'Sub-CPMK-5', 'Mampu melakukan pencarian informasi publik melalui teknik OSINT (Open Source Intelligence) untuk mendapatkan data tentang target sistem.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('171a186d-a4bb-452e-bfb7-dd1c587265a6', '32739f1d-7b44-42ed-9565-41413f6564b3', 'Sub-CPMK-8', 'Menganalisis performa jaringan menggunakan model Erlang dan membandingkan hasilnya dengan model Poisson.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('1740127e-c099-42a5-a5ed-292b92e427c0', 'e3acfd27-089d-448e-8193-6e81e8492b9d', 'Sub-CPMK-6', 'Mahasiswa dapat menjelaskan jenis-jenis relasi, seperti relasi satu-satu, relasi banyak ke satu, dan relasi banyak ke banyak.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('1764acbb-5308-4b8f-a2a7-25aa0753fa81', '66df9227-cf33-402d-9d85-c6dd0f03fa3f', 'Sub-CPMK-1', 'Menganalisis berbagai jenis garis dan simbol yang digunakan dalam gambar teknik.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('1775deef-fa05-4b8b-b2b8-837b315b8605', 'bfb2b93b-7ae2-4efb-9935-ac62f47577c0', 'Sub-CPMK-8', 'Mahasiswa mampu menghasilkan sketsa desain yang mencerminkan konsep struktur dan utilitas dengan mempertimbangkan efisiensi energi.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('177f7691-8459-4b05-930a-9d9db0cf371b', '7bebc72c-4704-44c8-bc37-fd6f267cc1cd', 'Sub-CPMK-3', 'Mampu mengidentifikasi dan mendokumentasikan domain yang relevan dalam konteks layanan microservices', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('17ae8973-4d07-456b-81b9-d8504e0f944b', '878a89f7-abff-4552-8e02-a396c4c59c3d', 'Sub-CPMK-14', 'Mahasiswa mampu menyusun laporan teknis yang mencakup analisis material dan metode konstruksi beton yang digunakan dalam proyek.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('17afcff9-bf4b-4729-a3e9-df2ba55e3c40', '9baa4c19-7143-4e8d-a8bd-791bce471278', 'Sub-CPMK-13', 'Menganalisis dan menyelesaikan persamaan diferensial yang berkaitan dengan aliran air dalam sistem pengairan.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('17b1e67f-4bfa-475c-9510-de6ede4953c2', 'de901801-4aec-40d7-832b-e4eefac6f66f', 'Sub-CPMK-9', 'Menerapkan algoritma enkripsi simetris untuk melindungi data dalam transmisi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('17e876d5-46c6-48ea-8a34-ea90707515c8', '3e2825e8-7039-4986-ba22-11ea9ff327df', 'Sub-CPMK-11', 'Mampu menganalisis dan merancang rangkaian decoder 2 ke 4 beserta tabel kebenarannya.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('17ebac8a-83ec-4eba-915c-6c56c4155a57', 'd46c6e90-56ff-41be-b59c-a26d41ed46ab', 'Sub-CPMK-13', 'Mampu menggambar denah dan tampak dari rancangan arsitektur hijau dengan penggunaan perangkat lunak desain yang sesuai.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('17ef3bf3-4bb8-4384-a95f-08ab3bfef08d', 'd2e5d19d-9e05-4482-958d-0abfb22bd7ef', 'Sub-CPMK-9', 'Mahasiswa dapat melakukan operasi dasar pada array, seperti penambahan, penghapusan, dan pengaksesan elemen.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('18026798-774e-4567-b63d-a3111577c399', 'f1f1837d-9896-4c19-8859-4abe68a6febc', 'Sub-CPMK-14', 'Mampu mengidentifikasi dan menganalisis hukum yang relevan terkait dengan kegiatan ethical hacking dan penetration testing.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('1835e5fe-0475-482b-b79b-07e926a4f8e0', 'b2b40d86-f12b-4d2b-9345-21bb8db64633', 'Sub-CPMK-5', 'Mampu melakukan analisis mendalam terhadap data dan informasi yang berkaitan dengan masalah desain yang diidentifikasi.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('18371366-03da-4ee9-a22b-2bf5ccf258cc', 'd9891dc7-11d4-4979-9071-99223c3399f4', 'Sub-CPMK-13', 'Mampu menulis kode HDL (Hardware Description Language) untuk mendeskripsikan sistem digital sederhana', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('18486048-529f-4871-b96d-572f89ca5ac5', '4efcb2e5-1eb3-4a5d-8f5e-c9e3199773f0', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan komponen utama sistem komputer, seperti CPU, memori, dan perangkat input/output.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('184a9bdd-b52b-48b0-9f18-b1697b23f4db', '2129e84f-e922-4a7f-9895-143b7c7a5361', 'Sub-CPMK-3', 'Membandingkan berbagai pendekatan dalam kajian AIK serta dampaknya terhadap pemahaman siswa.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('185b6042-56eb-4263-b122-eb183f3d5dd2', '3c60e336-2607-4001-b459-030cfbc8088d', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan komponen utama dalam arsitektur mikroprosesor/mikrokontroler, seperti ALU, register, dan bus data.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('1862b7ea-5b56-4ebd-b733-7c8ea5fc8535', '676350f0-7b29-4b66-8755-ff9707b3a4b3', 'Sub-CPMK-1', 'Mahasiswa mampu menghitung limit fungsi satu variabel dengan menggunakan berbagai metode, termasuk substitusi langsung dan metode faktorisasi.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('1883d7f0-bd41-4b62-9582-a016399f9d12', '97233896-c05e-4690-ac76-5fa394232e29', 'Sub-CPMK-10', 'Mahasiswa mampu menganalisis kebutuhan pengkondisian bangunan berdasarkan fungsi ruang dan iklim setempat.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('188dda02-c02a-4f72-b094-13e8e1666c78', '93c3b670-5245-4d96-8fac-41700beadeb7', 'Sub-CPMK-3', 'Mahasiswa mampu mengevaluasi dampak sosial dan ekonomi dari perancangan kawasan permukiman.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('18ad3eac-0f99-48e7-b371-5f85ff4cc1b9', '8ba3cec8-5c7c-4a16-bc21-6f0b58a50dc9', 'Sub-CPMK-8', 'Mahasiswa mampu menganalisis material yang sesuai untuk berbagai jenis bentuk struktur bangunan.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('18b686b2-14e0-482e-9028-603fadf370c9', '861559d1-476a-47a3-bb7b-2973af2a59f2', 'Sub-CPMK-5', 'Mahasiswa mampu menjelaskan definisi matriks dan memberikan contoh matriks dari berbagai jenis.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('18be06cb-37bd-48a6-b4a6-374b8fc09422', 'e0b27377-4864-4a50-a3f8-de602e5f7ba2', 'Sub-CPMK-3', 'Mahasiswa dapat menganalisis teknik perancangan antena untuk sistem komunikasi satelit, termasuk parameter yang mempengaruhi performa antena.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('18cefe94-57d8-4f8a-b373-2bc0e117a4b9', 'ecf6f97d-0fed-4117-8d41-82bc31b2725b', 'Sub-CPMK-14', 'Mampu berkontribusi dalam penulisan dokumentasi proyek pemrograman berbasis objek secara kolaboratif.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('18d073a6-3c8e-4480-a693-72900755cb7f', 'a4c4b792-09c0-4c5e-9c1e-9db6e7cc8803', 'Sub-CPMK-3', 'Mengidentifikasi dan menjelaskan prinsip-prinsip etika yang harus diikuti oleh seorang ethical hacker.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('18d2bccd-f392-4b8a-8274-4bb452b2ab5e', 'c71574c3-b0ad-45dd-ab2e-5bc8df9966da', 'Sub-CPMK-8', 'Mampu mengembangkan solusi perangkat lunak inovatif yang mempertimbangkan aspek etika dan keberlanjutan.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('18d998f5-d1dc-4ac9-be78-bf1d0db7d1e5', '4b6e3baa-ae53-48c8-bf6d-01691050bec6', 'Sub-CPMK-9', 'Mahasiswa mampu mengevaluasi dampak sosial dan lingkungan dari desain ruang luar yang dirancang.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('18eecb96-8ba9-4f4c-9b3b-ffecbfe45951', '6742871e-f408-44c3-be56-ba1220f92994', 'Sub-CPMK-10', 'Mampu menganalisis potensi sumber daya energi terbarukan di lokasi tertentu berdasarkan data meteorologi dan geografi.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('1902e747-03e6-49a1-b154-f7ce29e0ee6d', '83fdb1af-5c20-4658-99d7-ad3fc228cc09', 'Sub-CPMK-11', 'Mahasiswa mampu merancang proyek seni yang mencerminkan prinsip keberlanjutan dengan mempertimbangkan bahan dan teknik yang ramah lingkungan.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('19178234-a361-4dfe-9b8a-6246527f96fc', 'ed4535a4-6aae-4991-9f80-6e9793a10b04', 'Sub-CPMK-13', 'Mahasiswa mampu membuat gambar teknis rancangan pengkondisian bangunan dengan menggunakan perangkat lunak desain.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('192f0393-5f97-4f58-a81f-96ea81c77a15', 'b9dc2251-f256-45f5-9463-fe1a124c6b54', 'Sub-CPMK-12', 'Mahasiswa mampu merancang metodologi penelitian yang sesuai dengan jenis penelitian dan tujuan yang ingin dicapai.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('1940796a-9887-4ea8-b96a-d065398b297d', 'bd8c9aea-c2a8-4266-95b2-e0f5a5b9df00', 'Sub-CPMK-7', 'Mahasiswa dapat membuat sketsa desain arsitektur yang memenuhi prinsip estetika dan teknis sesuai dengan standar yang ditetapkan.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('194c98a8-f509-428c-9198-42e1d6832274', 'f0272179-692e-44e7-b68e-ab04d311907b', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan arsitektur dan prinsip kerja PLC, serta membedakan komponen-komponen utama dalam sistem PLC.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('194cae29-3792-466b-990c-93fa1be28a8a', '7e144f7c-b545-47cf-85b0-cba64ad897c3', 'Sub-CPMK-4', 'Mampu menjelaskan dan mendefinisikan unsur-unsur dasar desain arsitektur seperti garis, bentuk, dan ruang.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('194cf8c3-8bb8-43ed-9ee3-c306c5719920', '8693d333-7032-4309-8fff-8b1b06cd98a9', 'Sub-CPMK-12', 'Mahasiswa dapat mendemonstrasikan cara membuat dan memanggil Function dalam program Java sederhana.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('19753312-9346-44a8-b3e7-eff80400602c', '9f64cb7a-e765-4520-bbc0-54669c2231ff', 'Sub-CPMK-7', 'Mampu mengumpulkan dan mempersiapkan data pemetaan dari berbagai sumber yang relevan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('1997acb2-af95-4632-b82b-75897ad1a600', 'a3fbb79c-96e5-48dd-b4b8-1bf87e00ac9b', 'Sub-CPMK-8', 'Mampu menganalisis dan menghitung parameter link budget untuk sistem komunikasi satelit dengan berbagai kondisi atmosfer.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('199829f3-a7a1-4ba6-b489-cfae22a88bb1', '369160d4-164e-4395-b770-a46256850fef', 'Sub-CPMK-13', 'Mampu melakukan analisis data curah hujan untuk memprediksi aliran sungai', 0.00, '2026-01-17 00:59:12', '2026-01-17 00:59:12'), +('19b055f9-01d6-47e1-a5eb-82d1e9e040c4', '6048cc1b-d0f5-4738-bdab-a6834996dcab', 'Sub-CPMK-2', 'Mahasiswa dapat melakukan pemasangan komponen instalasi listrik secara praktis dengan memperhatikan aspek keselamatan dan efisiensi energi.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('19ce26de-ae33-4d57-ada4-b964df77e608', 'b18dccb7-a8ce-49b2-b293-bbb8ae2a7e93', 'Sub-CPMK-4', 'Mampu menginstal dan mengkonfigurasi Docker pada berbagai sistem operasi.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('19cf21e9-d515-4041-a871-780799aba341', 'f070e9c7-f209-4fa7-b474-69119f976b31', 'Sub-CPMK-14', 'Mampu menerapkan praktik kolaborasi yang efektif dalam pengembangan dan penyebaran model machine learning.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('19d507a6-0b34-499d-9b97-7829be1785b3', 'bada7176-f930-465d-b177-b5a73522bce5', 'Sub-CPMK-11', 'Menyusun proyeksi keuangan sederhana untuk rencana bisnis yang berkelanjutan', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('19dfaac3-6248-467f-b0cb-315f9a84736a', '1993f99d-f546-4809-9b6b-14b5c5ef1c94', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan dan menerapkan konsep logika pemrograman dalam menyelesaikan masalah dasar menggunakan diagram alir.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('1a32b841-a87d-4de8-b383-c270a7e9e396', 'd075c428-e4d1-4e5b-9b13-1501c195735d', 'Sub-CPMK-8', 'Menganalisis perubahan energi potensial muatan ketika dipindahkan dalam medan listrik.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('1a3f5dd6-e541-448a-ad77-2f781bcac18a', '971a74b1-ad8c-4d0e-8c47-3ba0fda6ba3e', 'Sub-CPMK-8', 'Mahasiswa dapat menghasilkan visualisasi digital yang efektif untuk presentasi desain kepada klien menggunakan teknik rendering canggih.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('1a505f5a-d503-476e-bd05-2356e815bff3', 'f6bbe62e-9acc-45a9-86d0-f9a308705cb4', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi komponen utama dalam citra digital, seperti resolusi, kedalaman warna, dan format file.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('1a7d14e0-6edb-4a33-be35-376764219c8f', '4086e4ca-9ccc-40ca-ac3b-fdd84f2ec0d7', 'Sub-CPMK-14', 'Mampu menerapkan metode statistik yang tepat untuk analisis data dengan mempertimbangkan variabel yang relevan.', 0.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('1aa4b570-ae70-48ce-af5d-8a5a4525cb0a', 'c63f88ad-4bc4-496f-aa84-837fcec64ae2', 'Sub-CPMK-6', 'Mampu membandingkan karakteristik efisiensi dan dampak lingkungan dari berbagai sumber energi baru dan terbarukan.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('1abe4229-7c7f-4590-9c54-f35430772a99', '93c3b670-5245-4d96-8fac-41700beadeb7', 'Sub-CPMK-2', 'Mahasiswa mampu merancang layout kawasan permukiman yang memperhatikan prinsip keberlanjutan lingkungan.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('1ac09db6-33a5-4b4d-b9c8-3612845ba343', 'f89f772f-c1a3-4dbc-9368-c0d2e9a83416', 'Sub-CPMK-12', 'Mampu melakukan pencarian informasi secara efektif menggunakan berbagai mesin pencari dengan teknik pencarian lanjutan.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('1ac86e05-2a12-4043-9b1d-d15e1f07c3ab', '48415114-91c6-48a5-89b4-7f13b2813c02', 'Sub-CPMK-6', 'Mampu merancang solusi alternatif untuk dilema etis yang dihadapi dalam proyek perencanaan ruang.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('1aec9c41-76c3-47fb-9174-1fa22ca61792', 'c11407e9-3341-4d10-8225-6732aac31738', 'Sub-CPMK-2', 'Mahasiswa mampu menjabarkan sejarah perkembangan kecerdasan buatan dari awal hingga saat ini.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('1aed36bb-41bc-40f6-a363-7c5097c2f654', '9175b8d6-051e-4ac8-806f-1563bc8a9165', 'Sub-CPMK-13', 'Menganalisis dan membandingkan konsep tauhid dalam Al Islam dan Kemuhammadiyahan dengan pandangan agama lain seperti Kristen dan Hindu.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('1b0b1dd1-3a56-4989-b408-4cc9082d5147', '24b8a2c1-b619-4343-886a-fb90ed9df70e', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis dan membandingkan dua gaya kepemimpinan yang berbeda dan dampaknya terhadap proyek arsitektur dan kreatif.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('1b139f08-91bc-4e18-99d8-8d39e1dc7bd2', '861559d1-476a-47a3-bb7b-2973af2a59f2', 'Sub-CPMK-6', 'Mahasiswa mampu mengidentifikasi dan membedakan jenis-jenis matriks seperti matriks nol, matriks identitas, dan matriks persegi.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('1b208be0-2abf-49dd-a4a0-dc711cceb087', '199d03d6-b43d-496d-832a-254e373b4be0', 'Sub-CPMK-4', 'Mahasiswa mampu melakukan observasi terhadap interaksi pengguna dalam ruang publik dan mendokumentasikan temuan tersebut.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('1b49c4de-c85c-4801-b468-4b58aeff8e11', '7912246f-151d-4a59-812d-f411626b3e7c', 'Sub-CPMK-1', 'Mengidentifikasi elemen-elemen utama dalam desain yang mempengaruhi fungsionalitas dan estetika proyek capstone.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('1b6953e6-34ba-4479-8e4a-115abe671e0a', '310fc58e-a0c1-40f6-83e8-af0f19a1443b', 'Sub-CPMK-12', 'Mampu melakukan pengujian terhadap aplikasi web untuk mendeteksi dan memperbaiki kesalahan fungsional.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('1b776f56-38b8-4aad-8065-cc74d277bd5b', 'd2dca31a-6e13-43fc-9236-d428f56cc54b', 'Sub-CPMK-8', 'Mampu menambahkan event listener pada elemen HTML untuk merespon interaksi pengguna.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('1b868d3e-a5e4-4820-9ccc-bd105ea2c9b6', 'e51b9684-d31a-4c0c-ad71-1d4ae2646266', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan konsep dasar looping dan fungsinya dalam pemrograman.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('1b8a7a02-55a9-4a04-bd4d-c51071d20667', '3a9fd73a-bc90-429d-957a-f33a35db5cd4', 'Sub-CPMK-11', 'Menggunakan metode persamaan untuk menentukan reaksi tumpuan pada struktur rangka batang.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('1b9f2f56-e476-45f0-b166-97d92244ae21', 'a5699b91-1eff-4673-b50d-371fac818395', 'Sub-CPMK-14', 'Mahasiswa mampu mengutip dan merujuk dengan benar sumber-sumber berbahasa Inggris sesuai dengan standar akademik.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('1ba34a04-f612-4f2d-898d-af8d52af63ce', '25387a70-a9c0-49ba-b0ac-c1842e54339a', 'Sub-CPMK-10', 'Mahasiswa dapat mengidentifikasi berbagai teknologi akses jarak jauh yang umum digunakan, seperti DSL, kabel, dan fiber optik', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('1bae80aa-6ff4-4c18-a019-4c684c99cf8d', '22cc5a5b-04ba-4ab2-ab73-8a2a3b38f512', 'Sub-CPMK-3', 'Mahasiswa dapat menjelaskan dan mengukur medan magnet serta prinsip induksi elektromagnetik dalam eksperimen praktikum.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('1bbd4014-6fcf-4f08-b4e6-0c7ba3dde441', 'a6b053fa-aec5-4e89-b78a-832438da8d00', 'Sub-CPMK-2', 'Dapat mengimplementasikan teknik enkripsi dalam komunikasi data untuk meningkatkan keamanan jaringan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('1bc1a8fb-3dd5-4ee1-9d58-111d4b794625', 'a2f92ef2-9afb-4dee-ba83-48545efc4790', 'Sub-CPMK-1', 'Menjelaskan prinsip dasar arus listrik, tegangan, dan resistansi dalam rangkaian elektronika.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('1bdca603-8e13-4422-98a3-b5a568a70387', 'c11407e9-3341-4d10-8225-6732aac31738', 'Sub-CPMK-3', 'Mahasiswa mampu mengidentifikasi berbagai aplikasi kecerdasan buatan dalam kehidupan sehari-hari.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('1c2334f4-9da7-4cc9-b796-7703ca971a5d', '696ecff5-3e6b-45c2-ac45-2fd59c9fda06', 'Sub-CPMK-5', 'Menganalisis kekuatan dan kelemahan dari algoritma kriptografi modern seperti AES dan RSA.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('1c38c92b-0370-4915-87bb-0a502ed61a7f', '47c888f0-6310-4b8e-8072-f929b94a59cb', 'Sub-CPMK-8', 'Mampu menentukan nilai resistor berdasarkan kode warna dengan akurasi dan menjelaskan proses konversi kode warna menjadi nilai resistansi.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('1c43d968-2e1e-4487-9651-ce5cccd6ce52', '22357f95-1d9e-4338-9cfb-c3d187140d2d', 'Sub-CPMK-11', 'Merancang prototipe inovatif dari perangkat telekomunikasi yang mengintegrasikan teknologi terkini.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('1c485571-613f-4479-b522-ba2bced4313a', '76d6821e-5822-46ac-9c08-175da24b9e96', 'Sub-CPMK-13', 'Mahasiswa mampu menganalisis kebutuhan ruang publik dalam konteks perancangan kota dan menyusunnya dalam format laporan.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('1c692ba0-9812-4e77-9999-a7fae220f6ef', '6ab54b0d-505d-4dd3-ae10-e555d99d937a', 'Sub-CPMK-8', 'Mahasiswa dapat memberikan contoh kalimat menggunakan Simple Past dan membedakannya dari Present Perfect.', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('1c75d7e9-cfc0-46ed-883b-646c2bd44f3d', '442ac345-61ed-405f-8470-591fc753ba09', 'Sub-CPMK-6', 'Mahasiswa mampu merancang pola ruang dasar yang memenuhi kebutuhan pengguna dengan mempertimbangkan sirkulasi dan aksesibilitas.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('1c891551-64e8-4033-aeaa-eeb7f835a505', '85b72902-5fa9-4011-acc6-280c9c81fb67', 'Sub-CPMK-1', 'Menjelaskan perbedaan antara metode tradisional dan DevOps dalam pengembangan perangkat lunak.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('1c968d0a-bbe5-404d-a5d8-ad523848c8a8', '2745c812-3ba4-498e-a1cf-f59693fa7178', 'Sub-CPMK-11', 'Mengidentifikasi dampak lingkungan dari berbagai karya arsitektur Islam di daerah perkotaan dan pedesaan', 7.14, '2026-01-16 22:56:57', '2026-01-16 22:56:57'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('1cb93105-fbb8-439b-b607-2c904722f697', '9bb01569-9e68-4859-9f44-639ec9d51d87', 'Sub-CPMK-7', 'Mendesain arsitektur microservices untuk aplikasi berbasis cloud dengan mempertimbangkan skalabilitas dan pemeliharaan.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('1cdb914f-e05f-49c2-ae6d-2694be281f41', '2ad0ac79-ba47-40b2-97f2-e387aef95772', 'Sub-CPMK-14', 'Menunjukkan sikap profesional dengan menghormati pendapat anggota tim dan memberikan umpan balik konstruktif selama diskusi proyek.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('1cf4abb7-c005-4e66-8444-7afa2318a0cd', '1dff0a86-93ee-46da-a014-392daae30d7f', 'Sub-CPMK-6', 'Mampu mendemonstrasikan prinsip kerja perangkat optoelektronik seperti dioda laser dan fotodioda dengan eksperimen sederhana.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('1cf66b6a-86b9-4008-a418-ed8190b729b5', 'f8201506-e9d4-47cf-bbf2-b084b0d90cb8', 'Sub-CPMK-12', 'Menganalisis reaksi redoks dengan menyeimbangkan reaksi kimia yang melibatkan elektron.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('1cfe924e-399e-43e6-b11c-07ee7d746a20', 'd093ffa1-e6ae-4330-9826-1e17e2d0fea7', 'Sub-CPMK-8', 'Mengidentifikasi peraturan hukum yang relevan terkait penggunaan AI dalam industri keuangan', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('1cffef12-bf82-45a2-8250-74b61823a43c', 'ec1f5994-f17b-49b9-97af-1dd14155fc20', 'Sub-CPMK-11', 'Menganalisis dan mengevaluasi elemen desain antarmuka pengguna yang ada pada aplikasi lintas platform menggunakan prinsip desain yang baik.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('1d21e067-578d-4fe6-accf-e2f40993e557', '7faca5db-f7b5-469d-bcda-67e6307b8ec9', 'Sub-CPMK-13', 'Mahasiswa dapat mengidentifikasi perintah Command Line yang umum digunakan dalam manajemen file dan direktori di Linux.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('1d2478cc-4426-4328-8c48-f1cf2c19b44f', 'cb80cc4e-f73f-46cc-a82d-c18aa5b21602', 'Sub-CPMK-5', 'Mampu menerapkan teorema Pythagoras untuk menentukan panjang sisi segitiga dalam konteks analisis struktur.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('1d2c3ee8-e45d-44d5-8600-2069ead5f0cf', 'a40900b4-2a36-46e2-aaaa-c859fc1684b5', 'Sub-CPMK-11', 'Mahasiswa dapat merancang sketsa awal bangunan yang mengintegrasikan prinsip-prinsip arsitektur kontekstual dengan nilai-nilai Islam.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('1d458902-b205-4c59-8fae-246d5c53eb40', '33952edd-1b2e-4137-862f-13acce98b724', 'Sub-CPMK-13', 'Mahasiswa mampu menjelaskan tiga perkembangan terbaru dalam teknologi elektro yang relevan dengan kehidupan sehari-hari.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('1d7710d8-8a23-4802-99f7-7a12aef1a284', '6514d1d2-84d1-4dbc-8b01-ff16992363ab', 'Sub-CPMK-6', 'Mampu menjelaskan metodologi penelitian secara rinci dan menjawab pertanyaan audiens dengan baik.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('1d7902bd-d4b4-45aa-b6fa-76fc3b364541', '70b38096-13db-40d2-a7a7-07630c3d8990', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan mendokumentasikan masalah yang ada di lapangan secara sistematis', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('1d7b77fb-ebe8-43db-967b-64a8a6422b50', 'd64bd181-d5cc-4b7d-8b60-33f93dab6a2d', 'Sub-CPMK-7', 'Mampu mengidentifikasi jenis-jenis vulnerability scanner yang tersedia dan cara penggunaannya.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('1db21e5e-b302-4b79-a15e-0e5cd4bdc1d6', '2577dc4f-74f2-4d3f-9688-47e31be92279', 'Sub-CPMK-6', 'Mahasiswa mampu mengevaluasi pengaruh warna dan tekstur terhadap persepsi ruang dan kenyamanan pengguna.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('1dbe98ec-4350-4f4d-abb8-fb31f7f405cf', '03e70597-6534-43e5-94a2-58ae691fef86', 'Sub-CPMK-6', 'Mampu berkomunikasi dengan baik dan profesional dalam menyampaikan ide dan laporan kepada instansi mitra.', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('1de32acb-c3f1-4357-8718-17aecab68582', 'e51950bf-81ec-4811-8f4e-d81184a5dd48', 'Sub-CPMK-9', 'Mampu menerapkan teknik filtering pada citra untuk mengurangi noise dan menganalisis hasilnya menggunakan visualisasi dan metrik evaluasi.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('1df6f26b-6bff-4cf6-af15-b14d9b0ccefd', 'ed6d2b52-a06e-4951-ae59-4a41c5cd101c', 'Sub-CPMK-6', 'Mampu menjelaskan mekanisme fenomena tembus listrik pada media isolasi.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('1dfc55f5-f916-48f8-9a9a-0104a3d3f535', '105e7d11-3bf8-4d0b-9dc3-c54057332c64', 'Sub-CPMK-9', 'Membuat studi kasus yang menunjukkan konflik etika dalam praktik profesi dan solusi yang dapat diterapkan.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('1e061986-acef-4b67-8253-4c091e665cbf', '9a5105b7-b641-433e-8f3c-841e815a9c8a', 'Sub-CPMK-2', 'Mahasiswa mampu menggunakan bahasa verbal yang efektif untuk menjelaskan konsep arsitektur kepada audiens yang beragam.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('1e1270ca-d1d2-417c-aba1-4ea1cf27f2f3', 'e7397c23-eafa-4dbb-946a-075321052e06', 'Sub-CPMK-9', 'Mampu menjelaskan dan menerapkan teknik data partitioning pada basis data untuk meningkatkan performa query.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('1e1d4667-ff15-4241-8e09-ce293391525b', '2c888a63-c4f6-47cd-83f9-b566adbaaef1', 'Sub-CPMK-1', 'Mampu menjelaskan prinsip dasar transmisi data melalui serat optik dan perbandingannya dengan media komunikasi lain.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('1e232035-8bce-4df9-bc88-415e4ca38411', '37247098-7558-4e3e-ad7a-15f067d43641', 'Sub-CPMK-14', 'Mahasiswa mampu menggunakan alat bantu presentasi digital untuk mendukung penyampaian informasi mengenai perkembangan arsitektur.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('1e2e4e3b-95eb-400a-b2b0-a118773a573d', 'ba87d93f-db7b-49b6-93bf-b1cc7dbb94ef', 'Sub-CPMK-2', 'Mampu mengidentifikasi dan menjelaskan komponen utama dalam cloud-native application seperti microservices, container, dan orchestration.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('1e2fa721-5cb4-4f34-8f76-13f59b91bbea', '3096a7c6-8348-410a-b73a-dccaacdc08a9', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan menjelaskan lima karakteristik pemimpin yang efektif dalam konteks startup teknologi.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('1e5e04c4-84ed-4e2e-a3c3-04f6063b5fae', '5006cfb9-5976-4bd9-950a-0290c1e3e091', 'Sub-CPMK-9', 'Mampu menyusun desain penelitian yang mencakup populasi, sampel, dan prosedur penelitian.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('1e6121cb-8c40-447a-8bf7-8e58fda19fd9', '1c9248db-c7d0-460a-88bc-c38374bd207e', 'Sub-CPMK-13', 'Mampu menghitung impedansi dalam rangkaian AC sederhana dan kompleks dengan menggunakan metode analisis yang tepat.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('1e639a65-e393-4594-b626-d32915e4e823', '09b5dc6a-68db-4450-9c08-ad135e178bcc', 'Sub-CPMK-11', 'Mahasiswa mampu menjelaskan sejarah dan evolusi Linux dari awal hingga saat ini, termasuk distribusi populer yang ada.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('1e66cb06-8e55-4269-89b9-314f52b193e5', '5962c83c-f937-48d7-a608-bcff913e9be9', 'Sub-CPMK-7', 'Menjelaskan prinsip kerja dan fungsi dari transformator dalam distribusi energi listrik.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('1e7be6ac-44dc-4790-aaff-e261805b2bc9', '7271df3f-b259-4840-80c2-6282a4c907a9', 'Sub-CPMK-11', 'Mampu menggabungkan data dari beberapa tabel menggunakan perintah JOIN.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('1e8f5467-f8a9-468d-a348-eb8e070cbe29', 'a6de4342-882c-4d24-8bd5-8cfa9f0ed087', 'Sub-CPMK-5', 'Mampu mengimplementasikan framework front-end seperti React atau Vue.js dalam pembuatan antarmuka pengguna aplikasi web.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('1e8f9495-69c1-4e4b-a753-e2eb767c96c1', 'be1a575e-a86b-4f97-9619-5ee8f961e9b9', 'Sub-CPMK-14', 'Mahasiswa mampu menyusun spesifikasi material yang diperlukan untuk konstruksi bangunan bertingkat menengah berdasarkan analisis struktur.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('1e9dd3ab-5abd-412f-9891-0cf289f100f7', '063f4a98-2d2e-4e6f-bb62-99ff9085402e', 'Sub-CPMK-6', 'Mahasiswa mampu mengevaluasi sirkulasi udara dan pencahayaan alami di tapak untuk merumuskan solusi desain yang optimal.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('1ecda86f-2457-4959-a8ea-477ee37d920f', '76aef8de-4c40-4ac0-9534-40ce9a063a9a', 'Sub-CPMK-3', 'Membandingkan dan mengevaluasi kerangka kerja etika AI dari berbagai organisasi dan lembaga.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('1f066764-02be-45a4-9816-efadd50fe674', 'c0839bf2-2165-42b5-8170-25506a5b7e0c', 'Sub-CPMK-5', 'Mahasiswa mampu menentukan beban mati dan beban hidup yang bekerja pada struktur bentang lebar.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('1f082d06-a242-4784-bc64-266eea8f0d7e', 'cfe49560-262b-42ad-b843-32838e9dd7ec', 'Sub-CPMK-10', 'Mampu menerapkan transformasi Laplace untuk merepresentasikan sinyal waktu kontinu dalam domain frekuensi.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('1f157900-d09a-43d6-b523-cc53870d6a74', '36b60b6e-6317-4cde-9e1d-77183d715fd6', 'Sub-CPMK-11', 'Mahasiswa dapat menggambar dan menjelaskan diagram poset berdasarkan relasi urutan yang diberikan.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('1f16cf0b-0671-40e7-8e61-95cdfb070683', 'de35b79c-796c-4e6e-9296-153c1477357d', 'Sub-CPMK-2', 'Mengidentifikasi dan mendeskripsikan komponen utama dari sistem informasi manajemen, termasuk perangkat keras, perangkat lunak, data, prosedur, dan orang.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('1f3e583a-1e6a-4fa1-82d8-eef7144e6337', 'd8587f9c-ad11-4a68-a43d-2b31cab801a8', 'Sub-CPMK-3', 'Mampu mengidentifikasi dan menerapkan prinsip-prinsip modularitas dalam desain arsitektur aplikasi mobile', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('1f4b1226-d272-4623-8cc3-552bfba8d09f', 'fa7ec9e6-aa8e-4220-a4bd-0065045c46d1', 'Sub-CPMK-9', 'Mahasiswa mampu mengevaluasi dan merekomendasikan perbaikan pada desain bangunan yang sudah ada agar memenuhi standar aksesibilitas.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('1f5c3518-da56-486d-b5b0-a60c0767009e', 'fe975734-9f4d-412f-b8f6-30a3efdf1dba', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis dan menghitung nilai refleksi dan VSWR pada saluran transmisi menggunakan alat bantu simulasi seperti MATLAB atau ADS.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('1f7f8f6c-c170-445f-90a4-5a55debf5599', 'bc558f10-5bce-4557-bf11-4fdd6c127984', 'Sub-CPMK-12', 'Melakukan analisis dan visualisasi data log untuk mendeteksi anomali dalam sistem microservices.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('1f840f9d-e6b6-43bb-b093-be66c14fcc77', '2d515a2c-23f1-47a7-b852-090c59710861', 'Sub-CPMK-13', 'Menganalisis komponen utama dalam sistem pengolahan dan jaringan distribusi perpipaan', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('1f8a6093-f9f4-4321-bb00-d02b7c7cbb38', '39272fa9-3ed9-4fe3-a4a9-e1851b481f7d', 'Sub-CPMK-3', 'Mampu menggambarkan dan membandingkan berbagai jenis automata dan aplikasinya.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('1f8f554c-9cd0-4d59-996c-c13725680ad7', '0725da33-b075-482f-abe7-7adc352c2072', 'Sub-CPMK-2', 'Menghitung momen yang dihasilkan oleh gaya pada berbagai titik tumpu.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('1fa23698-0af1-44e9-8272-226d3b4d184a', '9d944155-ebcd-405f-a7d7-10b6427e3f89', 'Sub-CPMK-12', 'Mampu mengimplementasikan desain sistem digital sederhana ke dalam hardware menggunakan FPGA atau ASIC.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('1faf2646-b0d1-472e-8ce2-75391800d0dc', '6a1a7f11-6443-49a6-8d1f-044296125bb9', 'Sub-CPMK-9', 'Mampu membandingkan karakteristik output dari berbagai transduser berdasarkan jenis besaran fisik yang diukur.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('1faf9752-0e6b-438c-8247-81209df31b6e', '4a94f203-0748-40b2-8abd-73dd926d0331', 'Sub-CPMK-2', 'Mampu menerapkan aturan-aturan diferensiasi pada fungsi-fungsi dasar untuk menentukan turunan.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('1fbddaca-b5fe-4f7f-95d8-d88f73e52d4a', '3d77bf9d-3c19-470c-b01d-96404429a100', 'Sub-CPMK-7', 'Mampu menulis program sederhana menggunakan bahasa C atau Python untuk mengontrol perangkat keras pada sistem tertanam.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('1fc348f3-6b91-46dc-a441-87ff38ee1824', '8d4454ec-5073-4df1-8ee4-5c9d044fab74', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan mendefinisikan kebutuhan analisis geospasial untuk proyek pemetaan sederhana.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('1fcf47af-5f77-4342-9ddb-51a33c36bede', '24cfb355-d58e-4192-8fa1-48d001d5381b', 'Sub-CPMK-12', 'Mengimplementasikan alat monitoring untuk mengawasi kesehatan pipeline CI/CD secara real-time.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('1fd16ab1-503a-4ce0-bb33-37cd5c8ef095', '1cc40105-5e5c-42eb-b413-1b4ef8412384', 'Sub-CPMK-3', 'Mahasiswa mampu menjelaskan prinsip dasar sistem kelistrikan dalam bangunan, termasuk pemilihan perangkat dan perhitungan beban listrik.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('1fd5b71b-0ecf-4988-b203-6ce738e6dd73', 'd8c58d98-0453-47ce-8531-72f6b6c35797', 'Sub-CPMK-9', 'Mahasiswa mampu menjelaskan konsep dasar machine learning, termasuk pengertian, kategori, dan aplikasi dalam kehidupan sehari-hari.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('1fd9e463-e9b0-430a-bcff-c9a19aa13285', '25142d89-e46d-43d4-8f78-526b9c1643ae', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan lima konsep dasar Al Islam dan Kemuhammadiyahan yang relevan dengan kehidupan sehari-hari.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('1fe899d0-10e9-4c26-b450-bd8553226433', '7f4201da-b26b-4c3b-a43d-97e93b317a00', 'Sub-CPMK-11', 'Mampu mengimplementasikan alat monitoring seperti Prometheus dalam pipeline CI/CD.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('1fedceda-cbf1-4106-b6fe-da9d7eb40a5f', 'ad9de6f8-4153-469d-b9c7-3ef901de01d8', 'Sub-CPMK-13', 'Mampu mengembangkan model matematis dari sistem kontrol yang akan dianalisis menggunakan MATLAB.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('20160b45-fb8d-4ea7-a363-928fadfdec77', '73fb2871-818a-46f3-be9d-f49be1edef5e', 'Sub-CPMK-5', 'Mahasiswa mampu merancang dan mengimplementasikan algoritma kecerdasan buatan sederhana untuk menyelesaikan masalah yang dipilih.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('201a5a0a-82d7-47be-8610-551c47c39e14', '43654991-b765-4f36-b8ff-1d035e05af02', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan menganalisis sifat fisik dan mekanik dari berbagai jenis bahan bangunan.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('201eeccf-d532-4618-aa37-d2cec4777ec8', 'bf3132a4-795a-46d6-b477-1c45412b50ee', 'Sub-CPMK-9', 'Mahasiswa mampu menerapkan prinsip-prinsip desain Islami dalam rancangan arsitektur yang dihasilkan.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('202415d8-a33e-4e0d-b41f-2c8d74cdd0c4', '0d19c18d-63cf-4572-b6a2-c99217470237', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menjelaskan tiga fungsi utama teknologi informasi dalam bisnis.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('202ddf0f-e57a-4f5d-9c2f-e7efbb2a589b', '55642ef2-a629-41c5-a74b-5b38930c0e10', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menganalisis pola lalu lintas jaringan menggunakan alat pemantauan seperti Wireshark.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('2032a15d-fd00-4c20-85ea-459b7956d53f', '7912246f-151d-4a59-812d-f411626b3e7c', 'Sub-CPMK-2', 'Menganalisis dampak dari berbagai pilihan material dan teknologi terhadap keberlanjutan desain dalam proyek capstone.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('206dc433-c411-448c-923e-aeebcdbb2aa9', '0398ffb4-770b-4def-b600-8971c04b83b3', 'Sub-CPMK-5', 'Mampu menjelaskan konsep dasar dan arsitektur REST API serta mengimplementasikannya dalam sebuah proyek microservices.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('20719972-bc02-4b7b-85f4-46b3b4e7d6c1', '4ba5ae96-5a66-4ed3-9572-b5dbd460523c', 'Sub-CPMK-12', 'Mengidentifikasi dan mengevaluasi kontrol keamanan yang ada pada sistem cloud.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('20787bf4-a2ee-4587-a416-60688a30d0f4', '8634269e-6f5e-4522-8a2f-d202488da09d', 'Sub-CPMK-6', 'Mahasiswa dapat mendefinisikan tipe data array dan menjelaskan fungsinya dalam pemrograman.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('207a8cd8-ef79-4c51-af61-d96efc49c5b5', '9de6fee7-8eab-4446-a76f-29bb6c93954c', 'Sub-CPMK-6', 'Mampu mengintegrasikan API eksternal dalam aplikasi mobile lintas platform untuk mengambil dan menampilkan data.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('20d17079-2c8b-4f0d-9e70-00961cc6437a', '5ceae6ed-306a-44cf-951a-1d7d90b82699', 'Sub-CPMK-9', 'Mampu mengidentifikasi dan menjelaskan karakteristik dasar dari berbagai jenis mesin listrik, seperti motor induksi, motor DC, dan generator.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('2105eda9-7169-49bb-aee3-2ed0832e236d', 'bc743ac0-fcef-4566-a9fe-4ea448397133', 'Sub-CPMK-14', 'Mampu merancang algoritma yang mempertimbangkan efisiensi energi dalam pemrosesan data.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('21202a28-f4aa-4c8b-be39-639507d392ea', '5ac34d5e-75db-4973-ab8c-91e2710bff84', 'Sub-CPMK-1', 'Mampu menjelaskan prinsip dasar dan teori sistem kontrol, termasuk berbagai jenis umpan balik dan stabilitas sistem.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('2129be9a-479c-429b-b526-12b302c88f5e', '2577dc4f-74f2-4d3f-9688-47e31be92279', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan menjelaskan fungsi masing-masing elemen ruang dalam konteks desain interior.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('212c456b-1c9b-40c3-8248-bc896ed573b0', '093769d9-bf6f-4365-bbf7-f81f1cf2be09', 'Sub-CPMK-14', 'Dapat menyajikan hasil analisis AI dalam bentuk presentasi yang menarik dan mudah dipahami oleh audiens non-teknis.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('212cb3c4-000d-4e7c-9ed6-bb55a47feb63', '8c7fa818-2011-42c2-ba6d-45483ce994ae', 'Sub-CPMK-4', 'Mampu menjelaskan perbedaan antara komunikasi satelit geostasioner dan non-geostasioner.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('213d5bb1-19d8-4847-aad0-e0c6a265fc7e', '16af6e89-c43c-4eac-baac-c61d4d1246a9', 'Sub-CPMK-2', 'Menganalisis hubungan antara nilai-nilai Al Islam Kemuhammadiyahan dengan konteks sosial saat ini', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('2153c300-6cb5-43f8-8a5f-46782352a5eb', '0ce952ac-c277-44f2-ae34-4b7796c710a2', 'Sub-CPMK-14', 'Berpartisipasi aktif dalam diskusi kelompok, memberikan umpan balik yang konstruktif terhadap ide rekan satu tim.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('215e617f-eeec-41b6-a703-89077cccd3d7', '85837a42-f015-4c99-8010-8248b2a6e469', 'Sub-CPMK-2', 'Dapat menganalisis berbagai jenis sistem radar dan aplikasinya dalam konteks sipil dan militer.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('219d9229-ba07-4a73-8f38-5df618ff677f', 'e29e179a-68e7-4e51-b104-9a62ad9c5d7a', 'Sub-CPMK-14', 'Mampu melakukan analisis respons frekuensi dari rangkaian yang telah disimulasikan dan menginterpretasikan hasilnya.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('21aa4983-017c-4d6c-ad0d-45e061ae25b0', '2ef7098e-fc16-4907-aa55-040bddb44944', 'Sub-CPMK-3', 'Mahasiswa mampu mengidentifikasi dan menjelaskan berbagai jenis aplikasi kecerdasan buatan dalam kehidupan sehari-hari.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('21b29250-71e1-4024-bfeb-ce47372a277e', 'b2b0f2df-95d3-4cb6-a2a8-dbba7171632b', 'Sub-CPMK-14', 'Mahasiswa dapat berkolaborasi dalam tim untuk merancang dan mengimplementasikan proyek AI dengan membagi tugas secara adil.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('21cd856a-a58a-487d-a1c2-eea1471c555d', '6a98444b-91e0-4d8c-bddd-64e00d4ca7d3', 'Sub-CPMK-8', 'Mahasiswa mampu mengidentifikasi dan membandingkan berbagai jenis algoritma kriptografi asimetris, seperti RSA, DSA, dan ECC.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('21d085d9-8ea0-431e-88e3-d4ed5ae807cb', '00d21b58-9cba-4a56-916c-d91b3aaa649c', 'Sub-CPMK-3', 'Mahasiswa mampu menggambarkan dan menjelaskan konsep dasar dari sistem struktur, termasuk sistem rangka, sistem dinding, dan sistem kombinasi, serta aplikasi praktisnya dalam desain bangunan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('21dc3116-79f3-4aba-94d1-4fdebc5c84bf', '497d18c4-e17a-410f-b79a-8581fed9ba04', 'Sub-CPMK-1', 'Mampu menjelaskan konsep dasar interaksi antara cahaya dan materi dalam konteks optoelektronika.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('21f2faa8-b3fd-4209-9ff1-495b97f78011', 'ed6f8c42-5689-4c7f-a034-1748c7768ad6', 'Sub-CPMK-5', 'Mampu menggunakan perangkat lunak statistik untuk menganalisis data eksperimen secara tepat.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('221cf656-fa4f-44b1-8ab4-bdea94412ae9', 'e07561ac-b657-4054-9eca-781bc78af101', 'Sub-CPMK-14', 'Menyusun dan menerapkan konfigurasi dasar perangkat jaringan seperti router dan switch sesuai dengan skenario yang diberikan.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('22658096-1327-4ca9-b5f2-5f0652c9b037', '9d3156b9-708a-466d-b619-061f8d2c6b9e', 'Sub-CPMK-11', 'Mahasiswa mampu menggunakan Metode Least Cost untuk menghitung alokasi optimal dalam masalah distribusi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('226c95c7-28a5-42e9-ac68-ca31d0327128', 'e65aa885-5e24-467a-acea-451ea940fa28', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis dan mengevaluasi elemen-elemen estetika dalam karya arsitektur terkemuka.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('2283cf9c-30af-48b4-81c1-2d8f4229790d', '9ef47c11-2d5a-424f-a69c-281e7123a8b1', 'Sub-CPMK-6', 'Mengidentifikasi berbagai jenis arsitektur komputer seperti arsitektur von Neumann dan arsitektur Harvard serta perbandingannya.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('22b349a3-6cab-4ba9-b87c-735f74777c88', '5827f7bc-2211-4bad-aaa7-2800f984b70b', 'Sub-CPMK-12', 'Mampu merancang konsep arsitektur modern yang mengintegrasikan prinsip-prinsip Islami secara kreatif dan fungsional.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('22e0a8d4-434a-454f-91d9-380db78efa7e', 'c13c0f0b-f025-4a34-81ea-e71cc363e875', 'Sub-CPMK-3', 'Mampu menjelaskan konsep dasar tokenisasi dan menerapkannya pada teks sederhana.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('230a12bb-2981-49be-9901-86c5ad24dfe0', '578e0725-7975-4e26-89a6-ec1c8f5ec6d3', 'Sub-CPMK-14', 'Mahasiswa mampu menghitung dan menginterpretasikan hasil transformasi menggunakan matriks.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('230bf098-adba-462d-856d-29adf86b341b', 'ef7f81e6-1175-4a8b-9d79-d0aeb02d7cc2', 'Sub-CPMK-8', 'Menggunakan AJAX untuk mengambil data dari server dan menampilkan hasilnya tanpa memuat ulang halaman.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('230f7b0f-9cae-4eb0-80a9-d34e760c2823', '44289c34-ec0b-4038-b48b-824f580e8f19', 'Sub-CPMK-13', 'Mampu menyusun dan menyampaikan presentasi proyek secara jelas dan sistematis kepada tim dan stakeholder.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('23121609-f58a-4216-ba80-e5eaacb5d98a', 'ccd0447c-e287-43e7-9e00-92f9945cdc5a', 'Sub-CPMK-10', 'Mengidentifikasi dan menjelaskan berbagai jenis ancaman keamanan pada sistem terdistribusi, seperti serangan DDoS, man-in-the-middle, dan malware.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('2318cade-5fca-4224-a9ad-5dcf4c5e50a6', 'c6ee32e4-bb27-4369-a42d-c2ffebd2c7b1', 'Sub-CPMK-12', 'Mampu melakukan kalibrasi sensor tegangan dan membandingkan hasil pembacaan ADC dengan nilai yang terkalibrasi.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('23357e06-5817-4a04-8aec-9dfe17c9453c', '921388bc-9c19-45c7-a3c6-3e9cd524fcd5', 'Sub-CPMK-6', 'Mampu menerjemahkan teks pendek yang berkaitan dengan bidang komputer dari bahasa Indonesia ke bahasa Inggris dengan akurasi kosakata teknis minimal 80%.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('233cd22e-1bd2-429a-b100-d83a16d1fa1c', '59edfb6c-7090-4505-bb58-6d8f9334caed', 'Sub-CPMK-10', 'Dapat melakukan analisis kompleksitas waktu dari algoritma yang disimulasikan', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('2343cae1-bc4b-4b9a-a3be-830f30214b98', '68d71bab-afeb-4796-b314-474368b1601d', 'Sub-CPMK-9', 'Mahasiswa mampu menghasilkan sketsa desain interior yang inovatif dan sesuai dengan fungsi ruang yang dirancang.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('23627b8f-02c8-4c93-a6c5-d11e425f5c43', '1ad569da-6480-410e-9a9e-241f6a3603c0', 'Sub-CPMK-2', 'Mahasiswa mampu mengidentifikasi dan menganalisis gaya kepemimpinan yang sesuai dengan situasi dan tim dalam suatu proyek teknopreneurship.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('238b83e0-0fa2-4291-9618-76489d0bc47a', '1c256105-8c34-45cc-bfa1-d953d717abfe', 'Sub-CPMK-12', 'Melakukan simulasi sistem modulasi AM menggunakan perangkat lunak simulasi untuk menghasilkan sinyal modulasi dan demodulasi.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('238fd794-8087-4908-bed8-a8af95d1c522', '675296b6-3c9a-4db4-b001-5b2868a956a3', 'Sub-CPMK-7', 'Mampu mengimplementasikan arsitektur CNN dasar seperti LeNet dan AlexNet untuk pengolahan citra.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('23bfd705-bdc4-4476-97af-d8fd43dfa247', '177fd39b-7228-4821-b119-3295567637a2', 'Sub-CPMK-5', 'Menganalisis faktor-faktor yang mempengaruhi kualitas air pada setiap tahap pengolahan, termasuk pengujian parameter fisik, kimia, dan mikrobiologi.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('23d25373-dd6f-4989-9bc2-e7341985538e', 'cce1c8e9-9d93-4b17-ba64-4d2d6057a32f', 'Sub-CPMK-4', 'Mampu menjelaskan dan mendemonstrasikan tahapan reconnaissance dalam penetration testing.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('23d85626-da99-4061-bbe2-6b540a2a2f66', 'e119e9af-8003-4387-a7ed-9683f6641edb', 'Sub-CPMK-4', 'Menganalisis kondisi fisik dan sosial bangunan yang akan direvitalisasi untuk menentukan pendekatan yang tepat.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('23ff88f2-bb29-4b28-a48e-f1089ca6d251', '0e2e6095-a53e-424d-867b-d4dc76eb2808', 'Sub-CPMK-14', 'Mampu merancang model prediksi beban listrik menggunakan teknik machine learning untuk meningkatkan efisiensi sistem tenaga.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('242a0777-9c1b-43c8-827c-e7ab85ac1d21', 'd59167c8-47f0-482a-acb9-0c1ca5e65ecc', 'Sub-CPMK-12', 'Menerapkan algoritma penanganan ketidakpastian dalam kasus nyata dan mengevaluasi efektivitasnya.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('242afc6f-cd7d-4a6e-8b6a-a6d3605ca97e', '1c256105-8c34-45cc-bfa1-d953d717abfe', 'Sub-CPMK-11', 'Mengidentifikasi parameter kunci dalam sistem modulasi AM, seperti frekuensi pembawa, indeks modulasi, dan bandwidth.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('242ef6c0-984d-4268-b037-7f72290037f2', '677320ae-f229-4d19-8416-72b7733c5d62', 'Sub-CPMK-7', 'Menghitung dan menerapkan IP subnetting pada jaringan IPv4 dan IPv6 sesuai dengan kebutuhan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('2432ba01-bc4a-4a1b-8d54-537ce3aa7746', '49d55227-c19a-4851-888f-73d697be375b', 'Sub-CPMK-2', 'Dapat menganalisis kinerja motor dan generator dalam sistem tenaga listrik berdasarkan data yang diberikan', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('243a919a-f244-43a8-af9a-7c2c800e452b', '86a8f4d0-b751-490f-89cb-f66b1045df4c', 'Sub-CPMK-9', 'Mahasiswa dapat mengidentifikasi berbagai jenis transistor dan menjelaskan cara kerjanya dalam penguatan sinyal.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('243d9688-1d56-494a-a807-17540e91e022', '670270c3-b42d-4aa1-b0fb-e633f0dfecc7', 'Sub-CPMK-4', 'Mampu melakukan inisialisasi repositori Git dan mengatur konfigurasi awal untuk proyek kolaboratif.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('24453f31-2702-440c-af98-078ebcae4b88', '48415114-91c6-48a5-89b4-7f13b2813c02', 'Sub-CPMK-4', 'Mampu menganalisis kasus nyata yang mengandung dilema etis dalam perencanaan ruang dan menyusun laporan analisisnya.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('2470e7f6-e4a0-4437-8f90-1739e0bd144d', 'f20c6ccc-e853-447b-bafc-c376d6765fcf', 'Sub-CPMK-1', 'Mampu menjelaskan struktur dasar HTML dan elemen-elemen pentingnya.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('2491cdfd-efe6-451e-ad83-f40d375f6791', '06888844-ab3e-42ce-ad0b-1a9861e60bff', 'Sub-CPMK-8', 'Mampu memilih jenis dan spesifikasi peralatan listrik yang sesuai dengan kebutuhan daya yang telah dihitung.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('249535f8-f9c7-46ed-8a08-37776cd8e9d3', 'd46c6e90-56ff-41be-b59c-a26d41ed46ab', 'Sub-CPMK-14', 'Dapat menyusun laporan analisis dampak lingkungan dari rancangan arsitektur hijau, termasuk data dan grafik pendukung.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('24b7ba36-1d29-46b9-8a2d-7888443b55f5', 'e7102a6b-a61e-4f3a-88a4-374eb2addd9a', 'Sub-CPMK-11', 'Mampu merancang dan menghitung parameter responsivitas dari detektor optoelektronik dalam aplikasi spesifik.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('24c43df1-d17b-41db-8c37-a98d1e93c9cd', 'd4dc1cb0-4cd8-4216-9f3a-03313909bf89', 'Sub-CPMK-6', 'Mahasiswa mampu membandingkan kelebihan dan kekurangan dari masing-masing metode pengumpulan data.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('24caba72-87fd-4b5f-bf77-735f1635050c', '84de0de2-b897-4580-a085-c36ba7c07290', 'Sub-CPMK-8', 'Dapat menerapkan image Docker ke dalam registry dan menariknya untuk digunakan dalam lingkungan pengembangan.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('24e1e5d3-b08a-4932-91a6-265496ea1972', '8457d215-e086-4f16-a1ed-f3b3a572ce32', 'Sub-CPMK-9', 'Mengidentifikasi dan menjelaskan konsep dasar SSL/TLS serta peranannya dalam komunikasi aman.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('24f562e5-6c6a-4f0d-9ca9-e3d663e325ec', 'a742bbbd-8ab4-44bc-937f-1933ed3b0c8a', 'Sub-CPMK-2', 'Mahasiswa dapat mengkonversi bilangan kompleks dari bentuk kartesius ke bentuk polar dan sebaliknya, serta menjelaskan aplikasi konversi tersebut dalam analisis sistem arus bolak-balik.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('24fbc9b0-3a92-4783-b26a-54d852dbc1b9', '06888844-ab3e-42ce-ad0b-1a9861e60bff', 'Sub-CPMK-9', 'Mampu merancang sistem proteksi yang tepat untuk instalasi listrik rumah tangga, termasuk pemilihan MCB dan RCD.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('25050a6e-3862-4cbb-9bb0-26a50245e044', '966e975b-f461-4e85-bde6-64f3d97e9f3a', 'Sub-CPMK-5', 'Mampu merancang arsitektur jaringan saraf tiruan sederhana dengan menggunakan framework deep learning seperti TensorFlow atau PyTorch.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('2508ecf2-7707-447c-a807-f1d503cedf06', '09b5dc6a-68db-4450-9c08-ad135e178bcc', 'Sub-CPMK-10', 'Mahasiswa mampu membandingkan arsitektur sistem operasi Linux dan Windows, termasuk manajemen memori dan proses.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('25299f6f-f5c7-4057-8e46-4fa40c9e55db', 'f1592fd5-dc5a-42ff-9004-27b198861c35', 'Sub-CPMK-10', 'Mampu menjelaskan prinsip-prinsip etika profesi dalam konteks teknik dan penelitian.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('25466319-2d3b-40b1-9b1f-1da0d8ece1b2', '5ef31e34-35e7-43b7-abef-71e18a5fba75', 'Sub-CPMK-12', 'Menganalisis pengaruh faktor keamanan terhadap desain pondasi dalam berdasarkan kondisi tanah yang berbeda.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('255832ca-ba25-4d8c-8d27-4a1f5bfa55af', '991e40f6-117b-4fb8-b200-5c7641795694', 'Sub-CPMK-13', 'Mampu menghitung limit fungsi sederhana dan kompleks serta menjelaskan langkah-langkah yang diambil dalam penyelesaiannya.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('256d4f75-613b-4e1f-a16d-844f6291e41a', '910e2d61-39f7-4546-ab38-a5c99976670b', 'Sub-CPMK-13', 'Mampu menerapkan dan membandingkan setidaknya tiga metode pengolahan citra dasar (seperti penghalusan, deteksi tepi, dan segmentasi) menggunakan perangkat lunak yang relevan.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('2593f8a8-9213-4283-bb05-8958e2824e0a', '7bebc72c-4704-44c8-bc37-fd6f267cc1cd', 'Sub-CPMK-4', 'Dapat menganalisis dan menentukan batas konteks (bounded context) untuk setiap layanan dalam sistem', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('25c02124-e9bb-4cb0-8b09-f75ae574fea1', '10801dbd-2d9f-4c07-b9ac-56aa2ca2ceb3', 'Sub-CPMK-6', 'Mahasiswa dapat menggunakan perintah \'mkdir\' untuk membuat direktori baru dan \'rmdir\' untuk menghapus direktori kosong.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('25cdbe46-3a39-4f33-a8f5-8cc20398cb2a', '981d8b11-892a-406e-a966-93193fdb24da', 'Sub-CPMK-10', 'Mampu merancang rangkaian modulasi analog dan digital serta menganalisis kinerja modulasi tersebut.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('25e11b91-136d-4668-965a-a7d3bef27912', 'e3fc73e8-a762-49e7-b981-4a76f921fb7f', 'Sub-CPMK-11', 'Mampu menganalisis siklus eksekusi instruksi dengan menjelaskan tahapan-tahapan yang terlibat, seperti fetch, decode, dan execute.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('25fbe666-ae69-4074-a16a-7e25143e1263', 'd60fe165-13f4-420d-9602-5e77eae33e94', 'Sub-CPMK-3', 'Mahasiswa dapat menerapkan teknik ekstraksi fitur, seperti deteksi tepi dan analisis tekstur, untuk mengidentifikasi karakteristik penting dalam citra.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('25fede37-cde8-4c2c-8844-db92b2e41075', '1c9248db-c7d0-460a-88bc-c38374bd207e', 'Sub-CPMK-14', 'Mampu menganalisis kapasitansi dalam rangkaian RC dan menyajikan hasil analisis dalam bentuk grafik serta interpretasi.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('25ffa68c-50f2-489a-9079-9e11053239c7', 'e16b508a-50dc-4bc8-a9b5-e82f5be68f02', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan mengumpulkan data yang relevan untuk analisis sistem komunikasi.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('260d68c4-9d13-4657-926a-fa11a398bda0', '78f4affe-78aa-4215-b79a-cf6b878b066a', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan memilih mikrokontroler yang tepat berdasarkan kebutuhan aplikasi sistem tertanam.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('2616c053-ae5b-4265-b4b5-5b8b2f3ef473', '4188f8f2-d20c-458e-a872-947d409a50c4', 'Sub-CPMK-5', 'Menghitung daya aktif, reaktif, dan apparat dalam rangkaian AC tiga fasa', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('261900e4-dd6f-4c3b-bea6-6b687a828efd', 'abb9fa4b-b4cd-4df8-a6fa-62c7f77a283a', 'Sub-CPMK-5', 'Mahasiswa mampu merancang prototipe awal dari ide usaha arsitektur yang inovatif dan berkelanjutan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('26387ec7-aeaa-4c47-bb26-0d6f558c7ce1', 'ed5b93d5-0638-43a8-9051-675c14d66d49', 'Sub-CPMK-10', 'Mampu melakukan simulasi dinamika sistem tenaga listrik dengan perangkat lunak untuk kondisi normal dan mengidentifikasi parameter kritis.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('263c803b-cafa-4209-8f7b-b41dd772f7cd', '7ab2fe72-72c5-407b-9b05-2636eaac7202', 'Sub-CPMK-8', 'Mampu mendesain dan mengimplementasikan penggunaan Timer dalam Ladder Diagram untuk mengatur waktu operasi suatu proses.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('264a61ca-c3f6-4162-aa00-4d0e7958e72d', '7fc45d20-6340-48a5-89e2-e40360c93f4a', 'Sub-CPMK-4', 'Dapat melakukan operasi matriks seperti penjumlahan, perkalian, dan invers matriks serta memahami aplikasinya dalam data.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('264b49ad-831a-4289-87a9-b5200c62e57c', 'fbcafb4c-4939-4186-bcaa-156f5de14207', 'Sub-CPMK-10', 'Mampu mengimplementasikan algoritma machine learning untuk analisis data kanal komunikasi dan pengoptimalan daya transmit.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('2662c547-adc9-4149-b01a-dfa1d88b76d8', '7f25c798-4ba0-4830-a2f8-160f135aaed7', 'Sub-CPMK-10', 'Mampu menyusun kerangka teori yang mendukung penelitian secara sistematis.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('2673875b-ce00-4f75-9b80-88ed088120eb', 'ee941851-5e89-4f9f-bdc8-33da71a00cef', 'Sub-CPMK-9', 'Mahasiswa mampu merancang elemen bangunan yang berfungsi untuk mengurangi dampak lingkungan, seperti penggunaan material ramah lingkungan.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('268e2415-f7b9-4c38-9b56-c96dff624126', '02040b1c-aaec-48ca-b172-4cf1eb6950a2', 'Sub-CPMK-6', 'Mampu menghitung determinan dari matriks 2x2 dan 3x3 serta menginterpretasikan hasilnya.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('26e62156-0d74-4485-923d-ee779c0c23b4', 'a25c0a20-cfc5-4d34-9cf2-407d22298587', 'Sub-CPMK-6', 'Menerapkan prinsip dasar perangkat lunak untuk merancang sistem komunikasi data sederhana', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('270a84b9-7f34-4ac2-9d58-35c44f252ec9', '6ec435b8-5b95-4b52-ad4b-5dbdc6ad1df3', 'Sub-CPMK-2', 'Mampu menghitung limit fungsi satu variabel menggunakan teorema limit.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('27103ede-fed5-4ff1-b76b-8888142a9d33', '80860ca3-d88a-4357-9c3b-963a698aa95d', 'Sub-CPMK-6', 'Mahasiswa mampu mengembangkan sketsa dan model konseptual yang mengintegrasikan aspek keberlanjutan.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('2723a2d1-c3f1-48ba-86b0-3bb628ce628a', 'fbcafb4c-4939-4186-bcaa-156f5de14207', 'Sub-CPMK-11', 'Mampu mengevaluasi kinerja berbagai metode modulasi menggunakan teknik AI untuk menentukan metode yang paling efisien dalam kondisi tertentu.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('2724d2dc-1bcb-47f6-8a90-2c4de4423a5d', '4df98094-4241-4e42-be7e-57062e24e8fa', 'Sub-CPMK-2', 'Mampu merancang dan mengimplementasikan program sederhana menggunakan bahasa pemrograman yang sesuai untuk mikroprosesor.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('274f52a8-5216-43fe-a49a-847a1992bfa1', '00905cc5-e8d2-4b83-a695-b451382b957b', 'Sub-CPMK-4', 'Menjelaskan komponen utama dalam sistem komunikasi cerdas dan fungsinya', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('27525e8e-b86d-424f-9f90-51bb35db0822', '4f07a584-3272-4011-8c4c-c180179ca697', 'Sub-CPMK-1', 'Mengidentifikasi dan mendeskripsikan berbagai jenis serangan yang umum dilakukan dalam ethical hacking.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('2777f263-2219-40f9-9b28-3841077b887f', 'bfd60148-8349-4ffb-a704-b5f8bf7704e0', 'Sub-CPMK-14', 'Dapat menjelaskan prinsip-prinsip integritas dalam pengelolaan data dan informasi sensitif.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('27a934e9-27cc-4a5c-b777-7aa16c788fcb', '70b38096-13db-40d2-a7a7-07630c3d8990', 'Sub-CPMK-6', 'Mampu merumuskan beberapa alternatif solusi berdasarkan hasil analisis masalah', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('27b219d6-9fe6-41ca-8420-3d6009826cac', 'bc1017ca-6040-4125-a31e-af53423ae9d6', 'Sub-CPMK-7', 'Mampu mengimplementasikan algoritma sederhana ke dalam kode program menggunakan bahasa pemrograman yang dipilih.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('27d41186-29e7-4c43-8ae7-4c7add0c0131', '64e84ea4-42ec-4579-94a9-58f7f3b4eb57', 'Sub-CPMK-13', 'Berpartisipasi aktif dalam diskusi kelompok untuk merumuskan solusi data engineering yang efektif.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('27d772d4-d978-425f-be0d-03966538f03a', '7f6db93d-c337-49a7-95ab-06e02aeeb697', 'Sub-CPMK-5', 'Membuat dan menganalisis blok diagram dari berbagai jenis sistem kontrol, termasuk sistem kontrol terbuka dan tertutup.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('27da1dfc-6916-451e-a3d1-634f88bcb650', '100a1d78-22da-4196-9325-6bb9a477326d', 'Sub-CPMK-7', 'Mampu merumuskan pertanyaan penelitian yang jelas dan relevan berdasarkan masalah yang diidentifikasi dalam proyek akhir.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('27ec0644-6494-4b32-a595-c4cb27214b07', '822eafb8-3bcb-4010-8d43-a583b929641a', 'Sub-CPMK-6', 'Mampu merumuskan solusi berbasis nilai-nilai Islam dan Kemuhammadiyahan untuk satu kasus aktual yang dianalisis.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('28022374-2210-4320-afe5-9e2498914e7c', '223800af-bae4-46fb-8242-003333c9e242', 'Sub-CPMK-1', 'Mahasiswa dapat mengidentifikasi dan menjelaskan prinsip-prinsip etika profesi teknik yang berlaku di masyarakat serta relevansinya dalam pengambilan keputusan profesional.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('284348d1-6fed-49b4-a515-cdaffdf6a4ec', 'd8fcdd0f-8d36-4d3e-9d8d-d97bf232aff4', 'Sub-CPMK-3', 'Mahasiswa mampu mengembangkan dan mendemonstrasikan prototipe atau produk rekayasa yang memenuhi kriteria desain yang telah ditetapkan.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('28462fe5-0c2c-4b7c-843c-0677ab5beaae', '24677655-d8fa-4b48-9826-5d04add13f66', 'Sub-CPMK-6', 'Menganalisis gerakan benda pada bidang datar dan miring menggunakan hukum Newton.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('284d0af8-4935-4bdb-a54c-fc443258bef1', '579e394e-b852-4b8f-ab78-65067d46dcb1', 'Sub-CPMK-14', 'Mahasiswa mampu menjelaskan perbedaan antara pewarnaan berbasis piksel dan berbasis objek dalam pengolahan citra.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('286c637e-fb33-4fbe-86ff-c1680305f6fd', '388f6088-b3ab-4673-924d-9128b30f78eb', 'Sub-CPMK-5', 'Mampu menyusun kerangka metodologi penelitian yang mencakup pendekatan, desain, dan teknik pengumpulan data.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('288ac15b-b026-4a54-993e-648d772af341', '0ed63c84-22ca-472b-b6e4-6601d6841dbe', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan konsep aljabar Boolean dan aplikasinya dalam desain rangkaian logika.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('289ab9b2-94e9-4c0b-a606-54d327a85e72', '26d9c571-d140-4399-b26b-109bd39f1797', 'Sub-CPMK-1', 'Mampu merumuskan latar belakang penelitian yang jelas dan relevan dengan topik yang dipilih.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('28c60742-249f-45d8-a242-546d29193366', 'bb9c7529-4455-41d5-a416-ffaa0cb2626c', 'Sub-CPMK-5', 'Mampu menjelaskan dan menggambar grafik dari sinyal diskrit dalam domain waktu.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('28d36dbd-cbe9-42b1-b853-9eac032189a6', '0d19c18d-63cf-4572-b6a2-c99217470237', 'Sub-CPMK-7', 'Mampu menggambarkan peran teknologi informasi dalam meningkatkan efisiensi operasional di sektor kesehatan.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('28e0e529-6989-48fe-a4f6-cbfe92b50a27', '580be468-3341-4926-8470-4f814f977150', 'Sub-CPMK-9', 'Mahasiswa mampu merancang dan melaksanakan pengujian fungsional terhadap sistem yang dikembangkan.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('28e33bb7-ba05-4ada-8d94-3044c63e6235', '44921d4e-e8a8-4a57-a586-b57b4a7251d5', 'Sub-CPMK-14', 'Mahasiswa mampu mengevaluasi kepatuhan desain terhadap regulasi bangunan dan tata ruang yang berlaku di wilayah setempat.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('28e3596c-409e-4ad6-aecd-65c501eea398', '7d271dd3-3243-47e6-b1cd-53bb9b0d3f9b', 'Sub-CPMK-8', 'Menghitung dampak ekonomi terhadap pendapatan lokal akibat peningkatan aktivitas bisnis pasca-revitalisasi.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('2902420e-afc1-4d75-a37f-196157307bb4', '646519ec-d32f-4b3e-a708-3721147712d5', 'Sub-CPMK-13', 'Mengidentifikasi dan mendokumentasikan masalah integritas data dalam tabel basis data.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('291b0831-b305-4a32-a57d-85a980ef6d7d', 'e7102a6b-a61e-4f3a-88a4-374eb2addd9a', 'Sub-CPMK-12', 'Mampu mengevaluasi konsumsi daya dari sistem optoelektronik yang dirancang dan memberikan rekomendasi untuk pengurangan daya.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('291f68ab-7686-44c8-9a84-8781ced43e1c', 'a76c69cb-6d01-4100-855b-6044228dc18e', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menjelaskan fungsi dari setiap blok dalam diagram blok sistem komunikasi.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('293e5033-4c07-42fb-a74f-e23c1cde0a70', '361fc802-a9c1-43fc-841a-df1b3d20a2d4', 'Sub-CPMK-2', 'Menghitung tekanan hidrostatik pada berbagai kedalaman dalam fluida.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('294d2efe-db62-4d58-bfa8-89bb3c9992fc', 'd2ca3d4b-e4b7-4eec-968e-452cb495b818', 'Sub-CPMK-4', 'Mahasiswa mampu menganalisis kebutuhan sistem untuk aplikasi yang memerlukan skalabilitas.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('296f124b-ee16-46d3-9ee7-f225fc69012d', '0f02feea-8775-4acd-bd90-af87d25ee8c2', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan mendokumentasikan kebutuhan fungsional dan non-fungsional dari sebuah aplikasi perangkat lunak.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('29768f88-59da-43c9-8309-e5f26bedfad6', 'd2aef54e-5961-42d1-a034-63be6a2e20a9', 'Sub-CPMK-4', 'Mampu mengkonfigurasi firewall untuk membatasi akses jaringan berdasarkan kebijakan keamanan yang ditentukan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('2986864a-294b-40f4-9d79-37c2f09a481c', '864510a6-b812-4b99-afbe-b48be460967e', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan isu-isu terkini dalam bidang keahlian yang relevan dengan topik tugas akhir.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('29bac9e4-74b2-4656-a000-e39cec7008b5', '91067cbb-242c-4cf6-9af3-3c2a48f9025a', 'Sub-CPMK-14', 'Mampu merumuskan pertanyaan penelitian yang sesuai dengan metodologi yang dipilih', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('29c397a9-f84e-44fd-acb8-544cc6cbfc92', '59b991d8-d9f6-46db-94f9-0f9d5cddfa46', 'Sub-CPMK-4', 'Mahasiswa dapat menjelaskan perbedaan antara berbagai jenis memori dalam komputer, termasuk RAM, ROM, dan cache', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('29c49f8c-4bcf-47f3-991a-f9b34b3f9b36', 'cdf0000b-775c-46f3-8cbc-767ce3a529c9', 'Sub-CPMK-12', 'Mahasiswa dapat menerapkan teknik transfer learning untuk meningkatkan performa model pada dataset yang berbeda.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('29e48dc0-5681-4767-b295-2640ea82bd88', '1f90aab6-762c-4aa9-accc-67cf7c8a676b', 'Sub-CPMK-6', 'Mampu menjelaskan konsep pointer dan menerapkannya dalam pengelolaan memori serta manipulasi data.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('2a091b8c-98ad-440f-8d6d-86234756d596', 'c35a54e4-caab-4d02-acfc-13a010a78523', 'Sub-CPMK-10', 'Dapat menyusun laporan penilaian risiko yang mencakup rekomendasi strategi mitigasi yang sesuai.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('2a1195a9-fb8c-4a94-a6f9-bc5c7532b446', 'f1569b78-e6c0-453d-a8d5-280617349954', 'Sub-CPMK-14', 'Dapat melakukan evaluasi terhadap kualitas desain arsitektur dengan metrik yang relevan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('2a1f40a0-119a-4342-81cb-b237aa9cb087', '49df109e-45d7-4f49-9fd5-7c0bec8bbb07', 'Sub-CPMK-9', 'Mahasiswa mampu menghitung kebutuhan dan kapasitas elemen struktur sederhana seperti balok dan kolom berdasarkan hasil analisis beban.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('2a4168ea-aec6-487a-abbd-a6d7137c2c1d', '9aed813e-341d-4662-b1cb-ef0524bbed54', 'Sub-CPMK-5', 'Mengukur sudut horizontal dan vertikal dengan menggunakan teodolit manual dan digital.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('2a4ae7f4-8609-4476-aa17-79fe2790c17c', '910cd8d9-0a0c-4474-b354-5e722927c1f0', 'Sub-CPMK-8', 'Mahasiswa mampu mengkategorikan dan mendeskripsikan berbagai gaya arsitektur yang muncul di Asia dan Afrika hingga abad pertengahan.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('2a71790d-908e-4422-b580-9351ca3750f8', '9533dc57-b625-40dd-a2e0-95ecf62e2d3c', 'Sub-CPMK-9', 'Mampu melakukan analisis gangguan tiga fase dan satu fase pada sistem tenaga listrik serta menentukan dampaknya terhadap aliran daya.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('2a7c7489-df55-453e-9d77-d99913c78b28', '8be6179d-5348-4e5a-bced-07e3669b3780', 'Sub-CPMK-11', 'Dapat melakukan analisis statistik dasar pada data pengukuran tanah menggunakan perangkat lunak.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('2a8c9c10-3ae2-410a-acc9-fec8863ce247', '7faca5db-f7b5-469d-bcda-67e6307b8ec9', 'Sub-CPMK-14', 'Mahasiswa mampu membandingkan kecepatan dan efisiensi penggunaan perintah Command Line dengan antarmuka grafis dalam menyelesaikan tugas-tugas dasar.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('2ac39bb2-6fb7-4b76-b89c-e7c4109f74bc', '32c22ec8-603d-4777-a234-78fec47e98f9', 'Sub-CPMK-12', 'Mahasiswa dapat mengelola hak akses file dan direktori menggunakan perintah chmod dan chown.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('2af4f61e-d642-4cb1-9b1e-f5b2b1daccdc', '0d19c18d-63cf-4572-b6a2-c99217470237', 'Sub-CPMK-6', 'Mampu menganalisis dampak penggunaan teknologi informasi dalam bidang pendidikan.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('2b015012-dcef-4388-bf9f-9e2682613f63', 'a4c4b792-09c0-4c5e-9c1e-9db6e7cc8803', 'Sub-CPMK-1', 'Menjelaskan definisi dan tujuan ethical hacking dalam konteks keamanan siber.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('2b0194f7-63a7-4a7b-8f2f-cf76839a6211', '2eee990a-fa23-44b7-90fd-307294fe82a0', 'Sub-CPMK-11', 'Mahasiswa mampu berpartisipasi dalam diskusi kelompok mengenai isu-isu terkini terkait sumber daya air, menggunakan bahasa Inggris profesional dengan tingkat keterlibatan minimal 70%.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('2b2114ed-6e7a-4a61-ab57-aee4c42bb3b2', '4f47825e-7a0f-40b1-be6e-f782dd03dcc8', 'Sub-CPMK-11', 'Mahasiswa mampu menghasilkan visualisasi 3D sederhana menggunakan perangkat lunak desain arsitektur.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('2b2b57ae-1a41-48b6-a21e-dea3f3d9fbfb', '26d9c571-d140-4399-b26b-109bd39f1797', 'Sub-CPMK-3', 'Mampu mengidentifikasi dan menjelaskan tujuan penelitian serta manfaat yang diharapkan.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('2b46dce0-ff0c-43bb-93f8-6f1f2a97e987', '98296288-90f1-48c3-be80-bc6f88e59437', 'Sub-CPMK-13', 'Mampu mengidentifikasi komponen dasar rangkaian logika dalam software simulasi', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('2b49b1e4-1339-4962-99da-4355c827eb35', '1760d169-6b54-4437-96a4-7b8cc93a3575', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis dampak lingkungan dari proyek arsitektur dan merumuskan solusi yang mendukung keberlanjutan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('2b5d4fb3-3473-4ef3-94d9-de8dd3ae17ab', '19ca5635-2e56-4e0f-a5aa-f51d98b40f4b', 'Sub-CPMK-8', 'Mampu menyusun narasi yang jelas dan terstruktur untuk mendukung presentasi visual dalam menyampaikan ide arsitektural.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('2b70fc36-6042-4895-b053-abcf3fceb3f2', 'a0e5eee7-dfc4-45ba-b127-56b98490d780', 'Sub-CPMK-4', 'Mampu mengintegrasikan HTML, CSS, dan JavaScript untuk membuat proyek web sederhana yang berfungsi dengan baik.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('2b72f038-e68f-42a7-aecf-ad09bb8488df', '18afeb2a-8eee-4533-96ec-391eda350479', 'Sub-CPMK-12', 'Menganalisis dampak perubahan iklim terhadap pola curah hujan dan debit menggunakan perangkat lunak hidrologi', 0.00, '2026-01-17 00:59:12', '2026-01-17 00:59:12'), +('2b8e287d-3264-4166-b692-7e9bfc5ca5d6', 'bc1017ca-6040-4125-a31e-af53423ae9d6', 'Sub-CPMK-8', 'Mampu melakukan pengujian dan debugging terhadap algoritma yang telah disusun untuk memastikan keakuratan dan efisiensi.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('2ba5f5e2-eb5a-43b3-bc08-3bcb2eff1a00', '994d1f5f-fc55-4231-b139-94d54da06d28', 'Sub-CPMK-11', 'Mampu mendesain arsitektur pipeline data yang efisien menggunakan alat dan teknologi terkini.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('2bbe7bee-674c-4d21-b9d7-75b68f20782e', '824d11e3-c86a-4a78-ae51-d806c523a6a6', 'Sub-CPMK-13', 'Mahasiswa mampu menjelaskan berbagai jenis pengujian perangkat lunak, termasuk pengujian fungsional dan non-fungsional.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('2be231da-885f-4dd7-aa00-1b734bdd21c3', '0df33fa3-3a0a-48ac-893d-7d90b1aef3cc', 'Sub-CPMK-13', 'Mampu menganalisis dan membandingkan setidaknya tiga teknologi manajemen energi yang berbeda dalam konteks aplikasi di sistem tenaga listrik.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('2be4fe32-81c1-433f-a472-6c93051b8c58', 'bc1017ca-6040-4125-a31e-af53423ae9d6', 'Sub-CPMK-6', 'Mampu menyusun pseudocode untuk algoritma yang menyelesaikan permasalahan sederhana.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('2be7018a-067f-4940-91b2-c92c4cbdb9a6', '529a00eb-5502-48ed-8752-8c6bc7467caf', 'Sub-CPMK-5', 'Mampu melakukan analisis pemangku kepentingan untuk mengumpulkan dan menganalisis kebutuhan sistem.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('2c1e8cc9-0a98-48fe-acaf-0015e539d5cc', 'f7a1a532-09d1-434c-96e8-bd2f85984848', 'Sub-CPMK-1', 'Mampu mendefinisikan istilah KKP-Plus dan menjelaskan perbedaannya dengan KKP tradisional.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('2c25dc41-002a-499a-b343-0fcbd0410762', '7d74a9c8-cabd-43be-ad2d-448f3a3361bc', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menganalisis elemen desain yang tidak sesuai dengan prinsip desain web yang baik.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('2c379340-e9a0-4871-8843-57c39b393491', '28279a15-1c47-497c-8279-6a2372212c7a', 'Sub-CPMK-9', 'Mampu mendemonstrasikan cara menghubungkan aktuator dengan mikrokontroler dalam suatu proyek IoT.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('2c46291b-e0df-42e0-a8cb-024d6e3c3e97', '8693d333-7032-4309-8fff-8b1b06cd98a9', 'Sub-CPMK-11', 'Mahasiswa dapat menjelaskan konsep dasar Function dalam Java, termasuk parameter, return type, dan scope.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('2c515be3-d8a0-4a71-90f4-3981d92ae7d2', 'c1aa08de-f254-41ec-812b-42f16296e718', 'Sub-CPMK-14', 'Mengukur pengaruh sistem informasi terhadap pengambilan keputusan berbasis data dalam organisasi.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('2c5b7f81-051f-44b2-840f-1034d9308f00', 'fc015a1a-d876-4f1f-894f-51429bbd4b02', 'Sub-CPMK-3', 'Mampu mengimplementasikan algoritma pencarian dan pengurutan dasar menggunakan Java.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('2c66f4f1-5764-4574-8965-cdd62c7b2870', 'fc5d531d-8b1e-4ad1-bf59-d93a8c0bd847', 'Sub-CPMK-9', 'Mampu mengevaluasi efektivitas penggunaan design pattern dalam arsitektur yang dirancang, termasuk analisis trade-off.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('2c8f9f2b-7fe1-440f-a31c-53e180cb69f9', '19ca5635-2e56-4e0f-a5aa-f51d98b40f4b', 'Sub-CPMK-7', 'Mampu menggunakan perangkat lunak desain grafis untuk membuat presentasi visual yang menarik dan informatif.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('2c98458b-4cdf-4fbf-8e5a-33138fc517ce', '780792a9-63a5-408c-aad3-9b9891fd770e', 'Sub-CPMK-2', 'Mahasiswa mampu memberikan contoh vektor dalam ruang dua dan tiga dimensi.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('2caa2d99-56fc-4bf7-bd2d-7f33e1480c88', '7d7c867a-2bc6-44a8-8195-42ac08ba6b8f', 'Sub-CPMK-14', 'Menganalisis masalah komputasi sederhana dan merancang automata yang sesuai untuk menyelesaikannya.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('2cad6676-39e6-4a35-aa73-b3baaa24b629', 'dac147d0-e763-4c4b-8a75-caaab7e8bcd5', 'Sub-CPMK-3', 'Mahasiswa dapat merancang rangkaian analog dan digital menggunakan perangkat lunak simulasi.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('2ce2148e-5eb0-4a35-8598-738038afa5f4', '2745c812-3ba4-498e-a1cf-f59693fa7178', 'Sub-CPMK-10', 'Menganalisis elemen desain dalam karya arsitektur Islam dan pengaruhnya terhadap masyarakat lokal', 7.14, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('2ce86289-46f7-4944-946a-e4c598ac0d91', 'aa1e3016-f008-4110-a284-b55787ecd076', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi dan membandingkan karakteristik keseimbangan dalam desain arsitektur Islam dan non-Islam.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('2cf35ed7-8bc3-4650-ad77-728452b0239f', '57b50bd6-8252-4822-9ce5-bdb6898b991b', 'Sub-CPMK-6', 'Dapat melakukan pengalamatan IPv4 dan IPv6 pada perangkat jaringan secara praktis', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('2cf6f27b-f8b6-4353-a853-5aad9b1fe824', 'b7613e9d-8134-4e6d-a127-d189cb1ee50d', 'Sub-CPMK-13', 'Bekerja dalam tim untuk merancang arsitektur microservices yang efisien dan scalable.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('2d09cf37-3d05-4fa3-a099-669a420f1c3f', 'e5cb12aa-6ddd-4243-9611-aae69048c322', 'Sub-CPMK-12', 'Mampu merancang diagram topologi jaringan telekomunikasi yang menggambarkan hubungan antara perangkat dan protokol yang digunakan.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('2d1a97d0-906b-464a-b01e-2cf1ab7303df', '9bfd3742-4019-48c7-ab34-3dedcd56b53a', 'Sub-CPMK-6', 'Mampu menggambar flowchart untuk algoritma yang telah disusun', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('2d2c23f4-2558-42fa-83a7-ec3fc65d7fa7', '59629182-e898-41bd-85a1-cd6ec36b9120', 'Sub-CPMK-12', 'Melakukan evaluasi kualitas perangkat lunak dengan menggunakan alat bantu yang sesuai untuk mengukur karakteristik ISO/IEC 25010.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('2d372189-b4ad-424a-9b40-f609ebb68c5f', '4c1cf232-5af9-45f2-84b4-e93f5e397359', 'Sub-CPMK-11', 'Mahasiswa mampu melakukan observasi posisi bintang menggunakan teleskop sederhana dan mencatat data yang diperoleh.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('2d3cb91f-6001-4d02-9c0d-adee52abddf2', '22357f95-1d9e-4338-9cfb-c3d187140d2d', 'Sub-CPMK-12', 'Mengembangkan algoritma efisien untuk meningkatkan kualitas sinyal dalam sistem komunikasi.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('2d3e5af1-a910-47b0-8087-882ecb8d2ccd', '23d54b31-770b-4fcf-80f2-9232de6f0e27', 'Sub-CPMK-12', 'Mahasiswa mampu menganalisis dan membandingkan efektivitas algoritma kriptografi simetris dan asimetris dalam konteks keamanan sistem.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('2d40011f-158e-4edc-b032-28fbaa4d6dc6', '8d4454ec-5073-4df1-8ee4-5c9d044fab74', 'Sub-CPMK-12', 'Mampu membuat peta dasar menggunakan perangkat lunak pemetaan dengan data yang telah dikumpulkan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('2d5c2eaf-0cee-452e-90df-7208fd6b6375', 'a5dc1143-079d-4669-973e-52786afed253', 'Sub-CPMK-9', 'Mampu mengimplementasikan teknik augmentasi data untuk meningkatkan performa model deep learning', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('2d72b2b3-50cc-4b53-8892-1b92f29b95e0', '9f6b15f1-a234-4879-98b5-ae10d3d63097', 'Sub-CPMK-9', 'Mampu melakukan analisis korelasi sederhana untuk mengidentifikasi hubungan antar variabel.', 0.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('2d782e61-be3b-43ab-8866-733af2d485e8', 'f0901b05-282d-4d16-a9d0-306c27a21b31', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan merumuskan masalah yang akan dipecahkan dalam proposal proyek akhir.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('2d7ac237-cfad-45e9-8652-976a7be3aa77', '7de29081-3a85-4eed-8ed2-6599e817926e', 'Sub-CPMK-5', 'Mampu mengevaluasi dan membandingkan berbagai pendekatan untuk mencapai fairness dalam pengembangan dan penerapan sistem AI.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('2d97c707-cd7a-42d0-9dc3-28f0926a91dd', 'b9dc2251-f256-45f5-9463-fe1a124c6b54', 'Sub-CPMK-11', 'Mahasiswa mampu menyusun tinjauan pustaka yang sistematis dan relevan dengan fokus penelitian yang diusulkan.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('2d9a24c6-31d4-4b31-b221-29b158735342', 'b41eb0ea-7fae-4a74-888f-705ade3a10a5', 'Sub-CPMK-2', 'Mampu mengidentifikasi dan menganalisis risiko yang terkait dengan keamanan informasi dalam kerangka GRC.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('2db0921a-2434-4948-8fef-37113738e3b2', '6113ebe1-d601-4d2d-bb22-6c12fb03ed60', 'Sub-CPMK-11', 'Mampu merancang algoritma deteksi tepi menggunakan operator Sobel dan Canny serta mengevaluasi hasilnya.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('2db50ee0-ba3b-4117-b1c7-0c8357bec15e', '388f6088-b3ab-4673-924d-9128b30f78eb', 'Sub-CPMK-6', 'Mampu merumuskan hipotesis atau pertanyaan penelitian yang sesuai dengan metodologi yang dipilih.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('2dc86846-923d-4e3a-9a7e-9c8c613821b5', 'f1dd2b33-f129-4b95-85d0-44d79ae5ad8f', 'Sub-CPMK-7', 'Mampu menjelaskan prinsip kerja dan karakteristik perangkat elektronika daya yang digunakan dalam konversi daya.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('2dc86bee-d2df-4352-a605-438681be32e2', '9a7cead4-fe95-42bf-aba8-56f154999a1e', 'Sub-CPMK-14', 'Mampu merancang simulasi sistem komunikasi menggunakan perangkat lunak MATLAB/Python untuk menguji berbagai metode modulasi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('2dedf387-7852-4e5a-acf8-f4eed3859d70', 'f8ea79d0-4330-4caa-8343-3313f1f2fd97', 'Sub-CPMK-2', 'Menganalisis berbagai jenis pendekatan penelitian ilmiah, termasuk kualitatif, kuantitatif, dan campuran', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('2dfc85a3-40b0-408e-a7b4-9b65cb03d51e', '2adbaa4f-cffb-4c53-afa2-075d5da41d35', 'Sub-CPMK-6', 'Mampu melakukan pengukuran sudut menggunakan alat sederhana seperti busur derajat.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('2e0fb6d8-9fac-441c-9d4d-5069c0e966f0', '31b7426d-bd7f-4237-83e0-8b0f27555c67', 'Sub-CPMK-6', 'Menghitung dan membandingkan biaya ekonomi dari berbagai alternatif desain.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('2e13b025-11fc-4157-9c41-1462fd73a7ce', '2b1d30b6-e474-47c2-b748-7bd746c1a514', 'Sub-CPMK-10', 'Mahasiswa mampu menjelaskan prinsip-prinsip dasar desain perangkat lunak yang skalabel', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('2e17a1e1-0838-4683-83ec-a3377ab2560f', '6048cc1b-d0f5-4738-bdab-a6834996dcab', 'Sub-CPMK-1', 'Mahasiswa mampu merancang skema instalasi listrik rumah tangga sesuai dengan standar PUIL dan prinsip keselamatan kerja.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('2e1cc66e-f82f-45b9-9daa-70667debccee', '46c21b07-1e6d-41c3-af64-981caf4ab06b', 'Sub-CPMK-2', 'Mahasiswa mampu menganalisis dan membandingkan kelebihan dan kekurangan dari masing-masing gaya arsitektur dalam konteks aplikasi yang berbeda.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('2e42833e-a3a7-4f15-86a9-6d50c8b5ee96', '439fc331-5842-4118-928d-5dc75d9ba022', 'Sub-CPMK-4', 'Menjelaskan perbedaan antara besaran skalar dan vektor dalam konteks pengukuran.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('2e61b41a-8bb9-4271-8737-f1c0455d76f6', 'e8506a22-8c3f-4236-bbb4-46d721d7938a', 'Sub-CPMK-2', 'Menganalisis dan mendeskripsikan risiko keamanan yang terkait dengan arsitektur cloud dan cara mitigasinya.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('2e656373-a8eb-4734-86e6-8db7c20b18f2', '17be14d5-8947-4aba-9969-0e6e7e3d4afd', 'Sub-CPMK-3', 'Mampu menganalisis berbagai jenis bukti digital dan metode pengumpulannya dalam konteks investigasi forensik.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('2e83f499-cdfd-463e-b667-be26f586c8fd', '8f385e28-2219-4faf-99bd-d4c49bae4ea7', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan menganalisis elemen struktur utama pada proyek high-rise dan mixed-use.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('2e8d7be0-83d3-465c-b7d9-460a01d3bfa2', '5122fe5e-66e4-4459-95c9-3dbb76050d78', 'Sub-CPMK-7', 'Mengidentifikasi jenis-jenis gaya dan momen yang bekerja pada struktur sederhana', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('2ea8aeb8-711f-4688-bd79-06ecf26296fd', '7c8107ca-3d95-4bc3-800d-1d5edcad4c29', 'Sub-CPMK-14', 'Mampu melakukan komunikasi yang efektif dalam tim untuk menyampaikan ide dan solusi.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('2ec04343-cabf-4958-82c7-86b0488e9c6d', 'f015983b-976f-4622-9efd-f32fb627eb65', 'Sub-CPMK-9', 'Mampu menganalisis efek dispersi modal dan dispersi chromatic pada sistem serat optik.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('2ec4197c-4aa9-4d8f-a93e-13f05fe05a40', '1ad05112-e2ba-46c2-9af8-4e7c1d5da7ac', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menganalisis isu-isu etika dalam rekayasa komputasional yang berkaitan dengan kemanusiaan.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('2ec5bab5-c576-4cec-b84f-f4a9da148e0d', '0ed5215b-f422-48a9-b592-89b68e70a4ae', 'Sub-CPMK-14', 'Mampu menyusun struktur laporan KKP-Plus yang sesuai dengan standar akademik.', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('2edc0f03-2093-49f4-9d29-8d75da83d5e2', '94816923-e740-44c5-b121-6c4526f5ede1', 'Sub-CPMK-3', 'Mahasiswa dapat merancang sistem rangka dan fondasi untuk bangunan high-rise berdasarkan standar yang berlaku.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('2efbfdbb-f970-48fa-a597-f0d7ffac1860', 'e65aa885-5e24-467a-acea-451ea940fa28', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan prinsip-prinsip dasar estetika yang berlaku dalam desain arsitektur.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('2efc6a35-2565-4cb2-a729-01d64237bc03', '667df8d6-c569-44ab-b8f3-ef58da5f1c59', 'Sub-CPMK-3', 'Menganalisis proses konsolidasi tanah dengan menggunakan metode satu dimensi, termasuk perhitungan waktu konsolidasi.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('2f2c4be2-fc47-4711-b2f3-14688565e287', 'fa6fe10b-a82b-4dd9-b81f-fc803608e4ab', 'Sub-CPMK-5', 'Mahasiswa mampu menganalisis penggunaan warna dan proporsi dalam desain arsitektur.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('2f326d7b-b5cb-42e9-944e-70e44cd35a7f', '29d83d95-7e4b-43ce-96b8-f29fe33e8d71', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan berbagai jenis algoritma kriptografi seperti simetris dan asimetris.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('2f621f23-3289-496d-91f4-d420d85965c8', '43654991-b765-4f36-b8ff-1d035e05af02', 'Sub-CPMK-14', 'Mahasiswa mampu menyusun laporan tertulis yang mencakup hasil kajian, analisis, dan rekomendasi penggunaan bahan bangunan.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('2f75e60f-efa4-4749-b171-3f7990b04208', 'b92863af-4a2d-466c-a23b-95780242ae69', 'Sub-CPMK-3', 'Mampu membuat kerangka konseptual yang mendukung perumusan masalah penelitian.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('2fa0ea85-ea3f-49f9-b88b-a8bb62d80c40', 'aa614c07-c3d0-46c9-88ef-4ce87ed722f6', 'Sub-CPMK-14', 'Mampu menganalisis data pengamatan dan menyusun hasil analisis dalam bentuk tabel.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('2fa9a22a-72a9-46c6-afe8-103257070afe', '90fea71d-d82e-43e2-880b-ef9ab18ba7b6', 'Sub-CPMK-14', 'Mahasiswa dapat mendefinisikan Class dan membuat Object dari Class tersebut dalam program Java.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('2fb0cde6-61e2-4aba-9395-36dc40dcc55c', 'b63cbb6d-6127-46ed-9153-91a9e916109b', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan konsep dasar looping dan mengidentifikasi jenis-jenis looping dalam pemrograman.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('2ff9b36b-0a73-4627-8591-9285ac404adc', '813a949f-595d-4ba1-9858-f5af80b60f7d', 'Sub-CPMK-13', 'Mengidentifikasi variabel dan parameter dalam suatu masalah nyata yang dapat dimodelkan dengan matematika.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('30085851-bcde-4e80-9b8c-a66ce7ca516c', '68d71bab-afeb-4796-b314-474368b1601d', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis kebutuhan pengguna untuk menciptakan desain interior yang responsif dan humanis.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('300da8d4-387a-45f7-87cd-2525f6b24f06', '61bf99bd-babf-4c4a-967e-af710fa1ae29', 'Sub-CPMK-5', 'Mahasiswa mampu merumuskan tujuan penelitian yang spesifik, terukur, dan relevan dengan topik yang dipilih.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('30195db5-e5d1-47a0-b68b-506bd70b2c36', '4a039347-3dad-4266-80b6-a96c15160a23', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan dan menganalisis arsitektur dasar sistem tertanam, termasuk komponen utama seperti mikrokontroler, sensor, dan aktuator.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('302a2e60-4e61-4bfe-ba42-8afc4d3a7bc2', '5fb2def0-dc56-4494-b3a6-a661829805f2', 'Sub-CPMK-4', 'Mampu mengklasifikasikan batuan berdasarkan proses pembentukannya (batuan beku, sedimen, dan metamorf)', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('303b0105-b44c-47d4-aca6-482bede36688', '8e57c57b-cfbe-4ea4-a0fd-66241b7bd5cd', 'Sub-CPMK-1', 'Mampu mengidentifikasi dan menjelaskan berbagai metode kecerdasan buatan yang digunakan dalam analisis sistem tenaga listrik.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('3040f08a-f182-4b0f-b026-9fe967d3be70', '14972828-49bb-48df-98a1-6f3222d4d181', 'Sub-CPMK-9', 'Mampu menganalisis dan menghitung daya aktif, reaktif, dan apar pada rangkaian AC tiga fasa dengan menggunakan metode matematis.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('30518858-0d2e-45d0-aefc-29b6239d9498', '6cbf3c74-a7ef-428c-8d15-0372bb4f95a0', 'Sub-CPMK-4', 'Mampu menghitung nilai mean dari sekumpulan data numerik dengan benar.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('30623ead-0039-4e58-b82c-e38fef0efddd', '3ea1f766-b193-4fdc-b4aa-d4e5ea1dc41b', 'Sub-CPMK-3', 'Mahasiswa mampu menerapkan standar teknis yang berlaku dalam pemilihan dan penggunaan baja untuk konstruksi sesuai dengan SNI dan ASTM.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('3064b601-35f3-40de-8c8a-e7a3cf036fd0', '7fd89e89-4039-4fc2-9a15-f0c11138afad', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan mendokumentasikan kebutuhan ruang berdasarkan fungsi dan aktivitas pengguna.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('30738ee5-44ba-4627-b82b-ed4441ccf529', 'c17b07a1-b3cc-4634-b03e-94a7de93bd74', 'Sub-CPMK-14', 'Mengidentifikasi dan mengevaluasi pola aliran air permukaan serta dampaknya terhadap perencanaan drainase', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('30930cf1-0266-4b74-8424-84fc3b74ae5e', '55db46c0-f156-4bc2-ac48-cd495e6bedae', 'Sub-CPMK-8', 'Mahasiswa mampu menggambarkan arsitektur interkoneksi antar komponen menggunakan diagram.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('3099098a-971a-43ec-bcb1-6278dd9ad219', '3e81f954-f9c7-43df-a72d-13c3e243a899', 'Sub-CPMK-7', 'Mahasiswa mampu mengimplementasikan algoritma pencarian linear untuk mencari data dalam array.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('30b23824-d84d-4c82-9363-1c23171db47f', '82593f35-d68e-4ad5-abc2-d88064e37d01', 'Sub-CPMK-2', 'Menganalisis peraturan dan standar K3 yang berlaku di industri tertentu', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('30b7799c-78c9-4759-b967-8d143d6b8792', 'e119e9af-8003-4387-a7ed-9683f6641edb', 'Sub-CPMK-6', 'Mengimplementasikan teknik-teknik revitalisasi dalam skala kecil pada proyek studi kasus yang dipilih.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('30b9e210-e0da-4258-9978-d6007147a153', '8173ead0-d313-44ce-b0fc-4e6e3055c319', 'Sub-CPMK-7', 'Menganalisis risiko keselamatan kerja di lokasi proyek konstruksi', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('30baea02-ccb2-4f10-aaf6-c5730e462c44', '1e124ba3-be05-4345-b96e-5784c2f8e632', 'Sub-CPMK-7', 'Mampu menyusun struktur presentasi yang logis dan sistematis untuk menyampaikan ide secara jelas', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('30d1e3ce-9d87-48e4-9b5d-d4be2bc71931', 'ed6d2b52-a06e-4951-ae59-4a41c5cd101c', 'Sub-CPMK-4', 'Mampu menjelaskan hukum Coulomb dan aplikasinya dalam medan listrik.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('30d31dc6-2ac5-4d2c-9366-e1373cdb7bc9', '2261e391-0f22-47c3-9c11-6238c8a2a18a', 'Sub-CPMK-12', 'Mampu menentukan titik stasioner dan menguji sifat ekstrim fungsi menggunakan turunan.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('30dc9b77-31f8-40e5-9edd-69cf9e267d0a', '94499e5b-87bf-444d-b796-35ac2a6845ff', 'Sub-CPMK-2', 'Mahasiswa mampu menganalisis hubungan antara kondisi sosial dan budaya dengan bentuk arsitektur pada periode kuno.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('30eaff4c-f3a1-4c07-9e4d-594a27845c52', 'b398b2f8-03d9-4645-8004-9ae2d2358edd', 'Sub-CPMK-4', 'Mampu menghitung reaksi tumpuan pada balok sederhana dengan satu beban titik di tengahnya.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('30ef3058-aca9-43d5-859d-9c70937fd4e5', '6cd335ea-ed89-4149-ac8f-0c61ce080f77', 'Sub-CPMK-9', 'Mahasiswa dapat menjelaskan langkah-langkah metode Biseksi untuk menyelesaikan persamaan non linear.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('31028d08-47b8-4c57-8917-5749eac2839c', '4167b9d2-140e-4f08-824a-c09f42888d11', 'Sub-CPMK-13', 'Mahasiswa mampu menggunakan perangkat lunak desain arsitektur digital untuk membuat visualisasi 3D dari proyek yang dirancang.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('31148b26-2dd2-411e-b468-ec1425414536', '5827f7bc-2211-4bad-aaa7-2800f984b70b', 'Sub-CPMK-11', 'Mampu menganalisis contoh-contoh bangunan modern yang menerapkan nilai-nilai Islami dalam desainnya.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('3154952c-3375-4472-853d-9eacdd565b48', '7d271dd3-3243-47e6-b1cd-53bb9b0d3f9b', 'Sub-CPMK-9', 'Menilai dampak lingkungan dari penggunaan material ramah lingkungan dalam proyek revitalisasi.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('31773adc-98c0-444c-b7d9-3aad2970af6e', 'c9418530-c37f-44c6-a1c4-82735ceb56d0', 'Sub-CPMK-13', 'Mampu merancang arsitektur sistem client-server sederhana dan menjelaskan komponen-komponennya.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('3183171d-b153-4509-a9b7-0f7ec3eda078', '7ff593a2-a84c-41a8-ba02-9bfef7191d89', 'Sub-CPMK-7', 'Mampu menjelaskan konsep dasar bilangan kompleks dan operasinya dalam konteks sistem arus bolak-balik.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('31836a87-6def-4fae-be00-a0e9b8d30f0a', '9874f2fa-ebcd-4e73-864f-fe4a80deda44', 'Sub-CPMK-10', 'Mampu mengidentifikasi kekuatan dan kelemahan dalam hasil kerja individu dan tim selama kuliah kerja profesi.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('3183781e-54eb-4914-9de6-1728e35a4454', '75d2e99a-94ab-4afd-9524-3f4b2e9f507c', 'Sub-CPMK-6', 'Mampu menggambar dan menganalisis diagram transisi dari DFA dan NFA untuk bahasa tertentu.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('318f85e8-2f3b-47a0-a55c-95c51ca7f286', '0c9de959-44ae-4c0b-8265-8c17630df9af', 'Sub-CPMK-1', 'Mampu menjelaskan fungsi dan tujuan dari setiap komponen dalam artikel ilmiah, seperti abstrak, pendahuluan, metodologi, hasil, dan diskusi.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('31951116-888a-4904-bc6f-b79547b54ca2', 'b227a041-54ef-4e59-a945-568e60757375', 'Sub-CPMK-1', 'Mengumpulkan dan mengolah data curah hujan untuk analisis banjir', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('31abf26a-3f43-4d41-b947-6aa79f82cfcf', 'ec1f5994-f17b-49b9-97af-1dd14155fc20', 'Sub-CPMK-12', 'Menerapkan prinsip konsistensi visual dalam elemen UI seperti warna, tipografi, dan ikonografi pada aplikasi lintas platform.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('31c6af63-110d-4a89-98b5-855b19d4c841', '19b9f4de-1c12-429b-8721-3502c5aedeef', 'Sub-CPMK-9', 'Mampu menghitung invers matriks untuk menyelesaikan sistem persamaan linear yang dapat dinyatakan dalam bentuk Ax = b.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('31f1aace-bcf5-4fde-9f9e-3ddf395cbe49', '4a30cb49-924d-42f5-ab34-d32c8d2e078e', 'Sub-CPMK-7', 'Mahasiswa mampu menjelaskan konsep dasar dan jenis-jenis algoritma pencarian, seperti pencarian linier dan pencarian biner.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('323b0bad-3a7a-4df3-a2f0-fd8defe57122', '6ab54b0d-505d-4dd3-ae10-e555d99d937a', 'Sub-CPMK-7', 'Mahasiswa dapat menjelaskan penggunaan Simple Past dalam kalimat afirmatif, negatif, dan interogatif.', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('323e14c6-fb2f-4c1f-8a56-c0993a8e4deb', '6fc3dd56-14a7-4c79-af64-a6fd1eb9ee12', 'Sub-CPMK-12', 'Membuat model skenario yang menggambarkan pengaruh keputusan desain terhadap ketiga aspek dalam CAP Theorem.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('325d16c6-747b-43d9-bee3-71785e354938', '5a6ca62d-b174-44ad-8753-3a3d8493804a', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menganalisis berbagai jenis serangan siber serta dampaknya terhadap privasi dan keamanan data.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('3293a38c-58a3-4f1d-97c6-55475b0c7dae', '97327e5a-d85a-49ce-acad-bda6100115c4', 'Sub-CPMK-2', 'Mahasiswa dapat menghitung nilai entropi dari suatu sumber informasi dan menganalisis efisiensinya.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('329afd66-5b21-43b8-a4e8-dbab6deddb02', 'd6eb5ae6-7548-4d31-b603-b359874851f2', 'Sub-CPMK-3', 'Membuat diagram kelas sederhana yang menggambarkan hubungan antar objek dalam pemrograman berbasis objek.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('32b13940-85ca-458c-bce2-26372bc72333', '2a63516e-6797-4fac-8786-09e401971586', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan prinsip dasar algoritma cerdas dan bagaimana algoritma tersebut diterapkan dalam sistem elektronika.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('32bd0972-3b68-4325-9cc5-a89234add835', 'f0cf0d24-e829-46a4-a551-8ea806a358ff', 'Sub-CPMK-12', 'Mahasiswa mampu mengevaluasi dampak estetika dari sistem utilitas terhadap keseluruhan desain bangunan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('32c91b29-de66-4d87-bebe-3231ba20b364', '4226fe52-1604-4b24-8627-4e5872d518b8', 'Sub-CPMK-10', 'Mahasiswa mampu menjelaskan dan menghitung ukuran penyebaran data seperti rentang, varians, dan deviasi standar.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('32cffe0e-faa6-414f-bcd3-b419140612c7', 'e3fc73e8-a762-49e7-b981-4a76f921fb7f', 'Sub-CPMK-10', 'Mampu menjelaskan prinsip dasar pengkodean instruksi dalam arsitektur komputer, termasuk format dan jenis instruksi.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('32d08c5e-e833-44ec-86e6-543d7951701c', '4c5835be-f9f8-4170-aa0c-58f713857292', 'Sub-CPMK-2', 'Mahasiswa dapat melakukan analisis aliran daya pada sistem tenaga listrik dengan menggunakan perangkat lunak simulasi.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('32da5009-8f4c-416b-b2c9-2b2d4c49991f', '0ef72857-cbc7-4bcd-8729-63d782766c4a', 'Sub-CPMK-14', 'Mampu mengembangkan alat evaluasi yang sesuai untuk menilai efektivitas rencana pembelajaran berbasis KKP-Plus.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('32f319d1-b745-474d-968c-4b8559199187', 'fa2688f9-f668-4ff0-8d67-7203e2fae65c', 'Sub-CPMK-12', 'Mampu merevisi desain berdasarkan analisis kritis dan umpan balik yang dikumpulkan, serta menjelaskan alasan di balik setiap perubahan.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('3322707b-6fdb-4f5c-b80f-d830a1df6089', '54762a32-500c-4067-b52e-f68a8b09ac60', 'Sub-CPMK-3', 'Mahasiswa mampu menganalisis interaksi antara medan listrik dan magnet, serta menerapkan hukum Faraday dan hukum Ampere dalam konteks perangkat elektronik.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('333c9c8a-f329-45b3-ad2d-f5a806341a19', '09887031-db21-4534-ae50-7874535c733d', 'Sub-CPMK-2', 'Mahasiswa mampu mengklasifikasikan bahan bangunan berdasarkan material dan penggunaannya.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('3384bccc-6f3f-4579-93be-0efcd31e916c', '2928e8c0-4ee1-4a97-93a4-8ee55546e883', 'Sub-CPMK-11', 'Menghitung gaya magnet pada kawat berarus dan memprediksi arah gaya menggunakan aturan tangan kanan.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('339c2c0f-2972-4f97-be4a-3d72034babad', 'a9fc4071-1c4a-488c-8760-d74a70ca455c', 'Sub-CPMK-5', 'Mampu menggunakan alat ETL untuk mengekstrak data dari berbagai sumber, seperti database dan file CSV.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('33c0eb48-71d3-4f48-83df-b9f55832a872', 'aaf72ea3-92ac-4c64-9e36-baf0520046c6', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan mendokumentasikan lingkup pekerjaan proyek secara detail.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('33d65311-bdf4-4fc3-994b-cf11b2aabcad', '57567ee3-19f5-4d1a-990d-eaa691d75a9f', 'Sub-CPMK-11', 'Mengidentifikasi faktor-faktor penyebab utama yang menghambat penerapan AI dalam organisasi.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('33ef7c9d-c62a-48f6-96a6-4af380637c6f', '4dabab62-8379-4f7e-8527-b21cb3543ec8', 'Sub-CPMK-13', 'Mampu menerapkan prinsip keislaman dalam pengambilan keputusan etis di lingkungan profesional.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('340357c7-c97c-43b4-8d51-d5c88f876eba', '7e8145af-328f-473a-9486-ae7c8a777a12', 'Sub-CPMK-9', 'Menganalisis dan membandingkan berbagai strategi data partitioning untuk meningkatkan performa sistem.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('34167815-b32d-4418-a987-5da9d0ddf11b', '6acf5fe7-e632-4343-a58e-9529c8866ae9', 'Sub-CPMK-4', 'Mampu melakukan analisis risiko untuk menilai dampak dari kerentanan yang ditemukan dalam infrastruktur cloud.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('3432ec35-b171-4904-bfd2-7253852feacf', 'c8db0a1a-346c-4dae-84e5-93866929d8e7', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan konsep dasar algoritma dan kompleksitas waktu serta ruang dari algoritma.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('3442db32-4219-4fa0-8688-8bba92042220', '4ecfb362-0d8a-4205-a397-8dbf8e0f5fcd', 'Sub-CPMK-3', 'Mahasiswa dapat menghitung determinan dari matriks 2x2 dan 3x3 serta memahami interpretasi geometrisnya.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('3444f19c-6a43-4371-b20f-1e797008d9fe', '5af3bd67-aacf-42c9-8a4d-1f1c02b06938', 'Sub-CPMK-9', 'Mengidentifikasi dan mengklasifikasikan jenis serangan yang akan disimulasikan berdasarkan metodologi yang tepat.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('344f3655-9c02-4ad8-af10-4fe31ea93afa', '365b1820-6aa3-45c6-a3c5-b83ad53222cd', 'Sub-CPMK-1', 'Menjelaskan konsep dasar Interaksi Manusia dan Komputer serta sejarah perkembangannya.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('346ff3ec-3e7f-4d05-8260-0d1538b7dbd0', '9ef47c11-2d5a-424f-a69c-281e7123a8b1', 'Sub-CPMK-5', 'Menganalisis hubungan antara arsitektur komputer dan organisasi komputer dengan memberikan contoh nyata dari sistem yang ada.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('3494d3fa-ea9d-40ef-b7f7-90884db77329', '69d947c9-2c7b-4442-b2b5-9f653e85b337', 'Sub-CPMK-12', 'Mampu menyelesaikan masalah yang melibatkan persamaan trigonometri sederhana.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('34b420f7-b927-449c-8ca8-312023deca68', 'e6fd1c45-7424-4d0b-8885-772ea2ffb26e', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan merumuskan masalah teknik elektro yang dapat diselesaikan dengan menggunakan konsep matematika teknik.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('34c4bed5-37ff-4113-a18c-278f63c7a67e', '2cdab46b-5392-4d80-af30-37e92fbc69a3', 'Sub-CPMK-8', 'Mampu mengedit dan memodifikasi objek 2D dalam perangkat lunak CAD.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('34dc527a-74ed-44de-9297-a2ce9414f191', 'cf149d01-4a9b-4b95-b963-d99040e6ca86', 'Sub-CPMK-1', 'Mahasiswa mampu menganalisis kebutuhan fungsi ruang luar berdasarkan penggunaan dan aktivitas yang diharapkan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('351461a4-fd95-4982-9630-122a3ecbc881', '7d4c0b7a-8ed7-4052-a58e-6e6d173d9401', 'Sub-CPMK-12', 'Mahasiswa mampu menjelaskan konsep dasar deteksi sisi dalam pengolahan citra digital', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('355278aa-c33b-492c-8d5c-bb68c6ba390f', '25387a70-a9c0-49ba-b0ac-c1842e54339a', 'Sub-CPMK-9', 'Mahasiswa mampu menjelaskan pengertian dan fungsi dasar dari WAN (Wide Area Network)', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('355a4679-6d6b-4e83-b15e-2191c64a1c09', '9177fd0f-6fb0-4e5e-bc4d-8a6ca2098fed', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menerapkan prinsip-prinsip etika dalam pengolahan dan analisis data selama praktikum.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('358db75a-ad02-4d4d-b4ab-baddce112ac4', '43e466ff-b98e-4a34-9f01-d1769e02a9c1', 'Sub-CPMK-11', 'Mampu menganalisis reaktansi induktif dan kapasitif serta pengaruhnya terhadap fase arus dan tegangan.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('35c661ec-fbf6-4e79-8a63-d5a53216bcb8', '830ad604-ac34-41d4-81ae-d2154afb6069', 'Sub-CPMK-14', 'Dapat menghitung dan mengevaluasi nilai faktor daya pada berbagai kondisi operasional sistem tenaga listrik.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('35cd69c3-59c9-48b5-a7c3-73ae30e7a5b2', '14972828-49bb-48df-98a1-6f3222d4d181', 'Sub-CPMK-8', 'Mampu menggunakan transformasi Laplace untuk menyelesaikan persamaan diferensial yang terkait dengan rangkaian AC tiga fasa.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('35d52b24-3eb7-4c4e-87e1-87ef0cdccab9', 'f20c6ccc-e853-447b-bafc-c376d6765fcf', 'Sub-CPMK-2', 'Mampu menerapkan CSS untuk styling halaman web sederhana.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('35def213-1ec5-4329-9235-e2fe23d16bd8', '21d69f18-f95a-43c8-af45-fa9fd55ad2dc', 'Sub-CPMK-8', 'Mampu merancang rekomendasi kebijakan berdasarkan hasil analisis KKP-Plus', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('35e228c2-18b1-4b2e-bc10-07a4a11ae32f', 'b7357d23-1e2e-4062-b2f2-6a4f5ef2bd62', 'Sub-CPMK-7', 'Mampu menyusun kerangka pemikiran yang jelas untuk ide penelitian yang akan dipresentasikan.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('35f28c91-21d3-4eb8-8b58-c3bec27a7d5c', '6acf5089-2b4a-42b6-8e9f-8d78ded7b42a', 'Sub-CPMK-14', 'Mampu melakukan eksperimen sederhana untuk menguji konduktivitas listrik dari berbagai bahan dan menganalisis hasilnya.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('35f3430b-d0fe-42e6-905f-d7dd0c92363e', '150fc29e-bb6b-4f31-8963-273db0a7939d', 'Sub-CPMK-6', 'Mahasiswa mampu menyusun deskripsi desain produk teknik dengan menggunakan istilah teknis yang tepat dan akurat.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('361306c4-95fe-42c0-a9cd-e1e58c2a8f40', 'bfd60148-8349-4ffb-a704-b5f8bf7704e0', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menganalisis kebijakan keamanan informasi yang mencerminkan profesionalisme dan etika.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('3615867a-0428-49e9-9730-ce336b2bff79', '0d884892-42c2-4c7b-836f-df3028764bdd', 'Sub-CPMK-11', 'Mampu menggunakan dan mengutip sumber referensi sesuai dengan gaya penulisan yang ditentukan.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('36162a16-ed8e-4e1b-8ab3-f9a64df4907a', 'de5858dc-d09c-4bc6-8727-b9f3f837ab44', 'Sub-CPMK-1', 'Mahasiswa mampu melakukan analisis terhadap kondisi fisik tapak sederhana, termasuk topografi, vegetasi, dan aksesibilitas.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('361b9122-6d39-4467-be46-d95a244db269', '7e2906e0-991b-457b-a269-6a19f101a067', 'Sub-CPMK-1', 'Mampu menjelaskan komponen dasar sistem basis data relasional, termasuk tabel, relasi, dan skema.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('36319bf2-a786-45b4-91df-97d231c47d1d', '1a8aa973-3b78-4c6b-b378-a81b7f21a19d', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan komponen utama dalam sistem kontrol berbasis elektronika, seperti sensor, aktuator, dan pengendali.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('364ea869-c0f6-4b49-a731-587f9671b251', '2bc3404b-5869-4dd1-8075-edd481fae767', 'Sub-CPMK-13', 'Mahasiswa mampu menyusun rencana proyek yang mencakup tujuan, ruang lingkup, dan jadwal secara terperinci.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('364fbe17-c458-453c-85b1-e2a052b7f0fd', 'e15e7947-8788-4733-9403-4100142f003e', 'Sub-CPMK-3', 'Mahasiswa dapat menganalisis masalah nyata menggunakan pendekatan Riset Operasional dan modul yang sesuai.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('3653279a-4dc9-4869-8cf9-b3c5283c1fb5', '23f5bed9-b2d2-40a4-99e3-af6c480f36c6', 'Sub-CPMK-12', 'Menganalisis kinerja query dalam sistem basis data menggunakan metrik seperti waktu eksekusi dan penggunaan sumber daya.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('365456c2-b2f4-4a4a-80ec-09bda5e9e378', 'b851161f-451f-4553-bc76-9d90275f902f', 'Sub-CPMK-13', 'Mampu mendesain algoritma untuk pengenalan pola dalam sistem pengenalan wajah menggunakan teknik machine learning.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('365af496-c92b-4da4-be69-09776b04184b', '05558f48-aba5-4e96-a12f-daf72a2dfb8a', 'Sub-CPMK-13', 'Mampu menyusun struktur presentasi yang logis dan sistematis untuk menyampaikan hasil penelitian.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('365dcc64-a87b-44b6-b1d0-2cb0fefe5fdb', 'a431d484-813b-4c00-b257-c99e5050b785', 'Sub-CPMK-11', 'Mampu melakukan analisis dan troubleshooting pada jaringan seluler menggunakan perangkat lunak simulasi jaringan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('3662a543-5332-47ef-8557-02e6bd57b51b', '1ee8d08a-5486-4c6c-a0d8-244df22b2e81', 'Sub-CPMK-10', 'Mampu menyusun struktur presentasi yang jelas dan logis berdasarkan hasil penelitian.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('367dfb7c-c4bc-46ca-985c-f1014b9a88b0', '55ad58e8-fb03-47b6-af06-084746f73fee', 'Sub-CPMK-7', 'Mampu menerapkan algoritma enkripsi simetris seperti AES dalam program sederhana', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('368f5632-f059-47b2-90c9-1db141e409fc', '824dba9e-bffc-4fe4-b46a-8309fcf95c27', 'Sub-CPMK-8', 'Mampu menerapkan algoritma K-Means untuk melakukan pengelompokan pada dataset dan mengevaluasi hasilnya menggunakan metrik seperti silhouette score.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('36e806ed-7d3e-497a-9ba0-c4fd980b8e36', 'e8d5cadb-b87d-465d-a8ee-4033df637cf3', 'Sub-CPMK-10', 'Mahasiswa mampu menggambar detail sambungan struktur baja secara manual dengan akurasi dimensi yang sesuai standar gambar kerja.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('370ac198-23f3-407a-912d-05378b100721', '81ed0bf2-1356-4892-9728-86b31b1d16b4', 'Sub-CPMK-4', 'Mampu menjelaskan berbagai jenis antena dan prinsip kerjanya', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('3722a590-b39c-4c51-a436-f0369ed06b4a', 'a0e5eee7-dfc4-45ba-b127-56b98490d780', 'Sub-CPMK-3', 'Mampu menulis skrip JavaScript dasar untuk menambahkan interaktivitas pada halaman web.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('373dc572-815c-4e7b-af91-ed2e95155fd0', '67ca2b05-d6bf-449c-a966-d16885d03e3b', 'Sub-CPMK-7', 'Mampu menjelaskan prinsip kerja dan karakteristik rangkaian penyearah AC ke DC menggunakan analisis matematis.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('373ff06b-27bb-42bd-a099-d0dd40996c99', '280a4980-d506-4924-aee6-c56e7da3e51d', 'Sub-CPMK-7', 'Mampu menghitung aliran daya aktif dan reaktif pada sistem tenaga listrik menggunakan metode analisis aliran daya.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('3744daea-6415-4938-9a15-b5402fbf7865', '85837a42-f015-4c99-8010-8248b2a6e469', 'Sub-CPMK-3', 'Mampu mengidentifikasi komponen utama dalam sistem navigasi modern dan menjelaskan fungsinya.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('3756b1ab-2b6b-4f70-ba2a-056cb21f0be9', '2a63516e-6797-4fac-8786-09e401971586', 'Sub-CPMK-3', 'Mahasiswa mampu menganalisis kinerja sistem elektronika cerdas dan melakukan optimasi berdasarkan hasil analisis.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('375c6f86-efc5-44d2-a35c-9246b826fafe', '65db6d0f-5f66-43ab-b448-f5e5ab710da0', 'Sub-CPMK-5', 'Mahasiswa mampu melakukan analisis dan simulasi cahaya dalam model arsitektur menggunakan perangkat lunak BIM.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('3775c2c7-9fe5-46af-88ea-88be3408f4db', 'cd76bd18-9173-492f-92dd-adb0c556c13a', 'Sub-CPMK-11', 'Mampu mengimplementasikan model neural network sederhana menggunakan TensorFlow atau PyTorch.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('37804b60-9645-4475-978b-2348300ad282', '99174b62-4376-4e70-8e6d-1780abbea00a', 'Sub-CPMK-10', 'Mampu merumuskan masalah penelitian secara jelas dan spesifik dalam proposal.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('37805bf9-e328-43f3-81fa-1340b0a5d66b', '893ccb29-8438-401c-95da-8d0d2f900a9c', 'Sub-CPMK-4', 'Mampu mengidentifikasi minimal 5 teori yang relevan dari literatur untuk mendukung topik penelitian.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('378fb8e3-08d2-43a2-9b1d-b46dc6b24ca5', '85f42083-81d7-4aae-9a26-3b08811ae223', 'Sub-CPMK-3', 'Mahasiswa dapat menjelaskan definisi dan komponen dasar dari sistem operasi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('37bd2942-251b-43d6-9230-aa670221e4a6', '82593f35-d68e-4ad5-abc2-d88064e37d01', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan berbagai komponen dalam sistem manajemen K3 di tempat kerja', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('37c996a0-2d82-46f8-9ec4-bddc72884913', 'e0447d2c-389e-4d8e-84f7-26b43d1c0679', 'Sub-CPMK-3', 'Mahasiswa mampu merancang solusi desain arsitektur yang responsif terhadap karakteristik iklim tropis.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('37d05e5e-add9-4193-a655-81a93b019b5a', '30041bee-55c8-4cbf-90a7-c66e2b4c2275', 'Sub-CPMK-4', 'Mahasiswa mampu menyajikan data dalam bentuk tabel dan grafik', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('37dd0d72-1ec0-4d8b-a2fa-f77b52052d5d', '3c53f806-7263-442c-82b1-077aabd28a8a', 'Sub-CPMK-12', 'Mampu mengevaluasi dan memilih perangkat proteksi yang tepat berdasarkan kriteria keandalan dan selektivitas.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('37edf6bf-e54c-4243-93c0-c3d14634b0b5', 'e6fd1c45-7424-4d0b-8885-772ea2ffb26e', 'Sub-CPMK-14', 'Mampu menerapkan metode analisis matematika untuk menyelesaikan masalah nyata di bidang teknik elektro, seperti analisis rangkaian listrik atau sistem kontrol.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('37f2365c-a347-41a2-a4a8-46823dd445e4', '6b8a9ca5-a89f-49c2-bb7e-1dea68b1a0a6', 'Sub-CPMK-7', 'Mahasiswa mampu mengidentifikasi dan menjelaskan kelebihan serta keterbatasan bahan bangunan berbasis beton.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('380cca9e-5fb4-474a-be26-529aaab3d351', '5f2bb564-c3b1-44f2-b2cf-a6753668e741', 'Sub-CPMK-9', 'Mampu menulis program Java yang menggunakan struktur perulangan seperti for, while, dan do-while untuk menyelesaikan algoritma sederhana.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('382e6c26-6fbc-489b-95fd-4bd05127cd11', '9b4aed82-8ee0-4391-b2d5-43a7142cf1e2', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menganalisis potensi ancaman keamanan dalam jaringan menggunakan alat simulasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('38325e4d-ba81-4750-a115-b3f195ee8d3f', '365b1820-6aa3-45c6-a3c5-b83ad53222cd', 'Sub-CPMK-3', 'Menganalisis prinsip-prinsip desain antarmuka yang baik untuk meningkatkan pengalaman pengguna.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('38551275-f7cb-48b0-98db-c825bf04d292', '2becd8a0-441e-4378-8a95-230d3ab0a7ec', 'Sub-CPMK-3', 'Mampu menerapkan prinsip-prinsip etika dalam studi kasus perencanaan wilayah dan kota.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('386082e6-0220-4504-893c-eb11b4db4e7c', '0b02ed7a-78db-4217-8d43-5402a04cd107', 'Sub-CPMK-10', 'Mampu menjelaskan dan mendemonstrasikan penggunaan tipe data dasar dalam bahasa pemrograman.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('386bbcd4-6e7a-443a-9cac-c9d3701deeb8', 'fd4dee7f-2713-4344-89e2-c497c18e4828', 'Sub-CPMK-5', 'Mampu menjelaskan dan membedakan antara sinyal periodik dan non-periodik serta memberikan aplikasi nyata dari keduanya.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('38772c23-40b9-4f5e-aabf-fe189ef56779', '3ab86dd0-b4f0-4689-a92c-d829625fd8d3', 'Sub-CPMK-14', 'Mahasiswa dapat mendemonstrasikan sikap jujur dan transparan dalam presentasi karya arsitektur kepada dosen dan rekan sejawat.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('387963fc-f1b5-4191-bdc3-ca2b93d5e287', '61af494f-9973-4906-b30f-748f5b6e2dad', 'Sub-CPMK-9', 'Mampu menganalisis jitter pada jaringan komunikasi dengan menggunakan perangkat lunak simulasi.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('38994006-ff45-4c62-bcac-765c4856b26c', '2474454d-aab7-45af-a62a-3a0758b84774', 'Sub-CPMK-10', 'Mampu memprediksi hasil keluaran dari kombinasi beberapa gerbang logika menggunakan tabel kebenaran.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('389a032f-5e0e-4628-bedf-93077ed8db1b', '83fdb1af-5c20-4658-99d7-ad3fc228cc09', 'Sub-CPMK-12', 'Mahasiswa dapat menciptakan karya seni yang menggambarkan nilai-nilai Islami melalui pemilihan bentuk, warna, dan simbol.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('389c30c4-cdaf-44ce-9904-9ae8beacd9c1', '38d2ff09-de2a-4ce3-88f6-bb6e6c49c691', 'Sub-CPMK-4', 'Menjelaskan dan membandingkan berbagai jenis representasi ruang keadaan dalam sistem kontrol.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('38a30c60-5243-4324-a521-63bd928cd4ac', '47c888f0-6310-4b8e-8072-f929b94a59cb', 'Sub-CPMK-10', 'Mampu melakukan analisis hasil pengukuran arus dan tegangan dalam rangkaian serta memberikan kesimpulan tentang kesesuaian dengan hukum Ohm.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('38d31617-1506-43fb-b488-d16bf1bb4828', 'cb80cc4e-f73f-46cc-a82d-c18aa5b21602', 'Sub-CPMK-4', 'Mampu menghitung luas dan volume bangun ruang sederhana seperti kubus, balok, dan prisma menggunakan rumus geometri.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('38fc61dc-fe5a-4baf-83d5-eab27f18fba9', 'd836f8d9-01df-4db5-9577-66e6b74ac944', 'Sub-CPMK-10', 'Mampu mengimplementasikan service registry menggunakan alat seperti Eureka atau Consul untuk manajemen layanan.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('391288d8-5bb9-4104-ac06-1aa818081d0a', '35931ec8-a297-45f3-ad2f-c15b29cf16c0', 'Sub-CPMK-13', 'Dapat melakukan konfigurasi dasar pada router termasuk pengaturan IP address dan routing static.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('392f21f9-5fff-4757-898d-d30d7f1cef87', '8bd5652f-eee1-4022-8551-9eb268622cb5', 'Sub-CPMK-14', 'Mengidentifikasi dan menyelesaikan konflik dalam tim secara konstruktif dengan mempertimbangkan etika profesional.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('39314025-a177-4d20-ae12-a0fe5d81a222', '4ecfb362-0d8a-4205-a397-8dbf8e0f5fcd', 'Sub-CPMK-1', 'Mahasiswa dapat menyelesaikan sistem persamaan linear dengan metode eliminasi Gauss dan substitusi.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('393c2260-34b4-465e-a934-b1a73f41353f', 'c63f88ad-4bc4-496f-aa84-837fcec64ae2', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan jenis-jenis sumber energi baru dan terbarukan, seperti energi matahari, angin, biomassa, dan hidro.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('394a40fc-4df6-47af-9fcd-64d00a37479c', 'f0cf0d24-e829-46a4-a551-8ea806a358ff', 'Sub-CPMK-11', 'Mahasiswa dapat merancang skema integrasi sistem utilitas yang efisien dan estetis dalam rancangan arsitektur.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('395cc1cf-ab3a-4573-b9eb-2af7045ff26f', '6fcb42b2-d5a1-4a01-ac14-0d96ff8c7ac4', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan mendeskripsikan komponen utama dalam sistem mekanik dan elektrik.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('398c0f34-2103-4756-bcfe-fddbc8b76a17', 'aa1e3016-f008-4110-a284-b55787ecd076', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan dan menganalisis elemen-elemen arsitektur Islam yang mencerminkan nilai tauhid.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('39900759-0bef-429d-b79d-562cac8a8360', '1760d169-6b54-4437-96a4-7b8cc93a3575', 'Sub-CPMK-3', 'Mahasiswa dapat mengidentifikasi prinsip-prinsip desain arsitektur yang mendukung keberlanjutan lingkungan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('39993aca-4bef-46c1-a1d4-597ec49ea8ce', 'da086eee-9f26-4066-9f00-c230ff4865a6', 'Sub-CPMK-5', 'Mahasiswa mampu merancang dan memodelkan solusi menggunakan metode kecerdasan buatan yang relevan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('39b7a52e-fd76-4da7-9f5e-2fcd7104d6c8', '0c79a9eb-71e0-4f14-b7f2-cc796c20b2a2', 'Sub-CPMK-13', 'Melakukan percobaan untuk mengukur respons optoelektronik pada berbagai panjang gelombang cahaya', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('39f72f08-3d35-42ab-8497-2b5b1ac08a1f', '90420b31-a5d4-4c27-8fe7-3a9cf6dfd20a', 'Sub-CPMK-11', 'Mampu merancang rangkaian pengkondisi sinyal untuk meningkatkan akurasi dan rentang pengukuran transduser.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('3a04fdda-efb8-45ff-87d8-41683d900d5a', '2b12bd53-9ab3-4b7f-b744-709be31704cb', 'Sub-CPMK-13', 'Mahasiswa mampu berkolaborasi dalam tim untuk merancang solusi AI yang etis dan bertanggung jawab.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('3a1e9052-25c6-4fbe-b8c8-598c714fd006', 'd8fcdd0f-8d36-4d3e-9d8d-d97bf232aff4', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menganalisis masalah teknik elektro yang relevan dengan kebutuhan masyarakat.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('3a289fe0-97f6-46eb-b32c-af4e468a5440', 'da2db151-a8e2-4a26-806e-abd1aa3a578e', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan memilih algoritma machine learning yang sesuai berdasarkan karakteristik data yang tersedia.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('3a34c8e7-7fc2-46c4-8cd9-f929b612f304', 'a178c857-2854-4c08-a3ea-70c518ee9b5e', 'Sub-CPMK-5', 'Mengidentifikasi dan mendokumentasikan informasi yang diperlukan sebelum melakukan penetration testing', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('3a650779-6a7d-4b2f-aa4f-c9be642f662f', 'f41d52ee-0430-4393-a073-15d646a5c563', 'Sub-CPMK-1', 'Menganalisis dan menjelaskan komponen utama dari arsitektur berskala besar', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('3a6c6680-9128-4602-adee-083a9a100254', '6ec435b8-5b95-4b52-ad4b-5dbdc6ad1df3', 'Sub-CPMK-1', 'Mampu mendefinisikan dan memberikan contoh limit fungsi satu variabel.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('3a742b3e-4b0e-4a86-9aaa-96e3dee05f7b', '00c49185-5232-4b17-beaf-4b22122f7bf5', 'Sub-CPMK-3', 'Mahasiswa dapat merumuskan kendala hukum dan peraturan yang berlaku untuk pembangunan di lokasi tapak yang ditentukan.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('3a846153-5a61-412b-b1f1-fe3dd5c3fd87', 'b0e76ffb-3394-4db7-a4ad-5f8a130ea816', 'Sub-CPMK-5', 'Menganalisis kelebihan dan kekurangan dari masing-masing model komunikasi dalam konteks aplikasi sistem terdistribusi yang berbeda.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('3ace5400-9023-4d38-a916-1e140c30f8a6', '2261e391-0f22-47c3-9c11-6238c8a2a18a', 'Sub-CPMK-10', 'Mampu menghitung turunan fungsi aljabar dan trigonometri serta menerapkan dalam menentukan laju perubahan.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('3acebd73-7ebc-4624-944a-57b622a0f1de', 'a85d9ee0-14cc-4c77-a112-41361e22d7ef', 'Sub-CPMK-5', 'Mampu menghitung gaya-gaya internal yang bekerja pada elemen struktur menggunakan metode analisis statis.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('3aeada6a-6b05-4ccc-baa6-3ba5f347e9c4', '9abe650c-5da8-482c-926c-1c416b933863', 'Sub-CPMK-11', 'Mengevaluasi kesesuaian dimensi dan skala pada gambar teknik terhadap spesifikasi yang ditentukan.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('3aefb238-d599-495b-bbf2-234e21344227', 'fe78ffef-ab3d-44c1-aacd-7c9b0a6a10f2', 'Sub-CPMK-13', 'Menghitung kompleksitas ruang dari algoritma dan membandingkannya dengan algoritma lain yang memiliki fungsi serupa.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('3b1f6e63-7e2d-41f8-afcc-eab1873753c4', 'b4aaa1d8-1575-43f8-9f0a-34a899f1300f', 'Sub-CPMK-7', 'Mengimplementasikan algoritma yang dirancang dalam bahasa pemrograman yang sesuai dan melakukan pengujian untuk memastikan keakuratan dan efisiensi algoritma.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('3b26503a-0f50-4842-8e64-394aa10b3cde', '77d9fa9b-3c3e-4232-b0b4-c4ad978d2e1d', 'Sub-CPMK-4', 'Dapat menerapkan algoritma stemming untuk mengubah kata ke bentuk dasarnya dan mengevaluasi hasilnya', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('3b603d8b-e620-45ea-a7ee-ebb7aed3e190', 'cd5fe35d-2c67-49b7-a048-8dfd9e62d3be', 'Sub-CPMK-3', 'Mampu menciptakan solusi teknologi yang mempertimbangkan dampak sosial dan spiritual terhadap masyarakat', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('3b81bf49-bac9-4b44-b949-c87288f48569', '8ceeb5fb-c5d0-4cd9-a8f2-cf21a0f714c8', 'Sub-CPMK-12', 'Mampu mengolah dan menganalisis data penelitian menggunakan metode yang tepat dan valid.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('3b89bd09-6214-47bd-924c-e67485108d88', '46aca02a-59df-4539-aa6e-29bb23cbd971', 'Sub-CPMK-2', 'Menganalisis kasus nyata terkait pelanggaran etika dalam profesi dan memberikan solusi yang sesuai.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('3b96bed5-4303-404e-8e8c-25c47b2622a3', 'a742bbbd-8ab4-44bc-937f-1933ed3b0c8a', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan dan menerapkan operasi dasar bilangan kompleks, termasuk penjumlahan, pengurangan, perkalian, dan pembagian dalam konteks teknik elektro.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('3b984683-5a31-4d83-89de-cba59a2b468f', 'd788fb94-5979-4818-84d5-78b6c676317b', 'Sub-CPMK-13', 'Menjelaskan prinsip dasar relativitas khusus dan aplikasinya dalam kehidupan sehari-hari.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('3b9873e6-5267-4f2e-b231-8644c2fd38d7', '378a040c-ebaa-4f44-bdf5-9330a94862f0', 'Sub-CPMK-11', 'Mahasiswa mampu menjelaskan fungsi dan tujuan dari setiap lapisan dalam model TCP/IP.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('3b9e4ed0-64b9-40d0-8a0e-9acff8a17398', '65d0ab0d-5fa6-4f53-ad10-f7a355ebe609', 'Sub-CPMK-4', 'Mampu menjelaskan perbedaan antara komunikasi nirkabel analog dan digital', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('3be3b740-2f14-4b0d-b848-b51df1310b87', '1f90aab6-762c-4aa9-accc-67cf7c8a676b', 'Sub-CPMK-5', 'Mampu mendemonstrasikan penggunaan array dalam pengolahan data, termasuk operasi dasar seperti penambahan, pengurangan, dan pencarian.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('3beeead3-83ac-42be-bd5f-c34a84aab7f4', '5af3bd67-aacf-42c9-8a4d-1f1c02b06938', 'Sub-CPMK-10', 'Menerapkan teknik dan alat yang sesuai untuk melakukan simulasi serangan dalam lingkungan yang terkendali.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('3bf7d46e-2f77-4f86-839a-f22b648df397', '19ca5635-2e56-4e0f-a5aa-f51d98b40f4b', 'Sub-CPMK-9', 'Mampu mengintegrasikan elemen desain seperti warna, tipografi, dan gambar untuk memperkuat pesan dalam presentasi.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('3c0325e2-214e-42b2-80b4-d08fd908b594', 'd3ed3d8f-9592-4dd3-897c-f09ada0f8c58', 'Sub-CPMK-12', 'Melakukan penilaian risiko terhadap infrastruktur cloud dan layanan yang digunakan', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('3c12410f-fca7-4ad4-ae35-6025709fe127', '77f020c6-97c6-47fe-968d-e2f2c664c68c', 'Sub-CPMK-12', 'Dapat menyusun prosedur pengumpulan bukti digital yang sesuai dengan standar chain of custody.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('3c18f080-c185-449e-b2e0-e225a8f8e923', '7af9ae01-fce6-4b67-9444-f3795eb76b15', 'Sub-CPMK-5', 'Dapat mengimplementasikan model generatif sederhana menggunakan salah satu framework yang tersedia.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('3c4afe7b-28ae-44ac-8e2c-9beb088d0262', '81d1b39d-3864-4cc2-8021-b708ca19d003', 'Sub-CPMK-9', 'Mengidentifikasi dan memilih fitur yang relevan dari dataset menggunakan teknik analisis korelasi dan pengujian hipotesis.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('3c8e38bc-34b4-4fd6-87a2-d4151cf1b589', 'c30b1c30-49be-4989-bdf9-e327c2b191e4', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan memilih dataset yang relevan untuk pre-training model LLM pada domain spesifik.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('3c9d854d-5450-41f8-87a9-d3ea04ed4d65', '1bfc53be-9e1e-44da-81e9-7ac6b37aa8cb', 'Sub-CPMK-2', 'Mampu menjelaskan fungsi dan jenis-jenis sistem operasi serta perangkat lunak aplikasi yang umum digunakan.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('3cbf681c-6e30-4059-b1c8-d5a3b0286fd9', '50fb33cd-e7ab-4949-a93b-4e6d3fe1577e', 'Sub-CPMK-2', 'Menganalisis komposisi mineral dan batuan yang membentuk berbagai lapisan bumi', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('3cced425-8c1f-4ed5-8a66-db3f19cc2c5a', '2adbaa4f-cffb-4c53-afa2-075d5da41d35', 'Sub-CPMK-5', 'Mampu menggunakan kompas untuk menentukan arah utara dengan tepat.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('3cd5af4b-417c-4b9f-98db-38379ce30b6b', '01ddd612-7233-4e1e-9b3c-f783b2dc5ea4', 'Sub-CPMK-7', 'Mampu menjelaskan dan mengidentifikasi komponen utama dalam rangkaian analog dan digital.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('3d21ee62-f8a0-4cad-884a-dc064948b100', '4d32b792-dfe1-4e6c-8b05-46e0833d918a', 'Sub-CPMK-14', 'Mampu mengevaluasi berbagai sumber energi terbarukan dan non-terbarukan serta merencanakan integrasinya ke dalam sistem tenaga listrik untuk meningkatkan keberlanjutan.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('3d22898d-675d-48d3-bc33-8bed0af20db5', '90b54a67-bc5b-4d90-a882-35ad06ae5599', 'Sub-CPMK-14', 'Mahasiswa dapat merangkum konten teknis dari teks berbahasa Inggris dengan tepat', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('3d422a75-c0b5-4f7f-8284-f19d82597591', '32739f1d-7b44-42ed-9565-41413f6564b3', 'Sub-CPMK-7', 'Menghitung probabilitas blocking pada model trafik Poisson dengan menggunakan rumus yang tepat dan menganalisis hasilnya.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('3d5598cc-0cc2-4ca8-8aa6-149ccadff547', '50397f99-0f71-4756-ad38-080247d61c3f', 'Sub-CPMK-3', 'Menganalisis perkembangan ilmu pengetahuan dari masa ke masa dan dampaknya terhadap masyarakat', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('3d618e07-dfc8-4e2c-b119-ebd49c35d95c', '2f19e9e9-a222-4ace-aae1-05d9388d3bde', 'Sub-CPMK-7', 'Menganalisis proses erosi dan sedimentasi serta dampaknya terhadap pembentukan lanskap', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('3d659eb5-58ee-42b5-ab4b-e64f52a0c086', 'ef12fc9c-9eb0-451c-b411-d468a849202a', 'Sub-CPMK-14', 'Dapat menyusun laporan tugas teknis dengan jelas dan mengikuti pedoman etika akademik yang berlaku.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('3d744d87-0de3-4a80-880d-7a041793181c', '169adb2e-d7df-4153-92c1-0c64758ca6bd', 'Sub-CPMK-3', 'Menganalisis efek dari transformasi geometrik terhadap koordinat objek dalam sistem koordinat.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('3dbb9978-8b2a-40bf-877f-91a7240b5b18', '199fc380-0577-4c62-8ec0-9fbf6cb65358', 'Sub-CPMK-5', 'Mahasiswa mampu mengidentifikasi dan menjelaskan fungsi komponen dasar seperti resistor, kapasitor, dan induktor dalam rangkaian listrik.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('3dcf933b-2014-4b5c-ae45-a3e5f596a74e', 'c4beb9d0-dbde-4acb-9622-64302debd616', 'Sub-CPMK-7', 'Mengkonfigurasi Dockerfile untuk membangun image aplikasi microservices.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('3de5b2bb-0584-41c5-b37d-cbb35f9590e0', '6b793a21-74b6-45a4-8a76-b270efbc6aec', 'Sub-CPMK-6', 'Mengidentifikasi dan menjelaskan komponen utama dalam sistem IoT, seperti sensor, aktuator, dan platform komunikasi', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('3de7f4d7-9bde-44e0-9cee-e1f85ef54152', 'ce112d8d-37b1-4b5b-b694-568496ccbc2c', 'Sub-CPMK-12', 'Mampu menggunakan metode substitusi untuk menghitung integral tak tentu dari fungsi polinomial yang lebih kompleks.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('3e3230ff-27f9-4da6-9a9d-84662f64edc3', '9c27cbfb-13eb-47ae-ae08-41b6bcba38ca', 'Sub-CPMK-6', 'Menganalisis kapasitas kanal untuk berbagai jenis kanal komunikasi dan menjelaskan implikasinya terhadap transmisi data.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('3e35bf8b-6f65-47ff-95a3-f02bfc980ad3', '379e4cba-8e38-4afe-9f19-7be8d7851d8b', 'Sub-CPMK-14', 'Dapat melakukan perhitungan debit aliran menggunakan metode yang sesuai dan menyajikannya dalam bentuk tabel.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('3e5d0c83-d4f1-467e-adfc-08081c805e4c', 'a6fc2d1f-a33b-47dc-92ed-12b2bd5a36ae', 'Sub-CPMK-4', 'menggambarkan berbagai metode penyimpanan data dan cara akses data dalam sistem komputer', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('3e6b2628-78da-467d-bc76-a35cd22b5d27', '66a38fad-d7dc-4638-bda1-da53faf3affd', 'Sub-CPMK-14', 'Mengoptimalkan waktu muat halaman dengan menerapkan teknik caching dan pengurangan ukuran file.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('3e6bde03-810b-4b8b-b5c0-6aeac609c2fd', 'b5e19fb1-fd55-49fb-a06d-160023e220cd', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan merumuskan masalah penelitian yang relevan dan spesifik.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('3ea65ff1-221e-4437-8add-c78f7f298479', '006ec39e-45f8-4d8e-92f4-05c815347cfe', 'Sub-CPMK-10', 'Mampu mengembangkan perangkat lunak yang mendukung fungsi prototipe yang telah dibuat, termasuk pengujian unit dan integrasi.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('3eb25f8e-01f7-4013-b1a0-c646068a138b', '7d8bb9e8-98d6-4c57-9ca8-eaa0d8be686f', 'Sub-CPMK-9', 'Mampu membuat struktur dasar halaman web menggunakan HTML5 dengan elemen-elemen semantik.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('3ece4416-6768-44c3-b657-1984169f696c', '80860ca3-d88a-4357-9c3b-963a698aa95d', 'Sub-CPMK-4', 'Mahasiswa mampu menganalisis elemen bentuk dan struktur dalam desain arsitektur yang berkelanjutan.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('3ed1e50e-e996-4dd8-8f52-ffcbfcae0776', '5553ec70-ad82-4a9d-a9d9-80006660b4f6', 'Sub-CPMK-1', 'Mahasiswa dapat mengidentifikasi dan menjelaskan sifat fisik dan mekanik dari berbagai jenis beton.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('3edbf2e6-0683-443d-9b66-a4a828950c23', '8c7fa818-2011-42c2-ba6d-45483ce994ae', 'Sub-CPMK-6', 'Mampu menjelaskan komponen utama sistem satelit, termasuk transponder dan antena.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('3f26b3ae-622a-4541-897c-72d43d1ceacf', '6d9245ea-a6df-4aae-9157-ac3ee84ec03e', 'Sub-CPMK-8', 'Dapat melakukan instalasi perangkat lunak sederhana di Windows dan Linux dengan mengikuti langkah-langkah yang benar.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('3f9245c2-7f6c-4b04-8de9-b1c0c11d8a58', 'd8c58d98-0453-47ce-8531-72f6b6c35797', 'Sub-CPMK-10', 'Mahasiswa mampu mengidentifikasi dan membandingkan berbagai algoritma machine learning, seperti supervised, unsupervised, dan reinforcement learning.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('3fbeba97-ceba-489c-857f-a3074c347981', 'a3fbb79c-96e5-48dd-b4b8-1bf87e00ac9b', 'Sub-CPMK-9', 'Mampu menentukan performa sistem komunikasi satelit berdasarkan data link budget yang telah dihitung.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('3fc4be6b-5bf7-4b84-a533-b7e0ee70a2f5', '0473a0f6-1253-45d6-aa2d-6cd98240a7ff', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menganalisis kontribusi Muslim intelektual dalam konteks pembangunan berkelanjutan di berbagai bidang, seperti ekonomi, sosial, dan lingkungan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('3fc56987-f6de-4eb6-a771-3ee1ba4bb5a1', 'fc015a1a-d876-4f1f-894f-51429bbd4b02', 'Sub-CPMK-4', 'Dapat menggunakan pemrograman berorientasi objek dalam Java untuk menyelesaikan masalah algoritmik.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('3fd1f8c8-2821-4025-9f87-5f8d394e2362', 'd23bab5e-bfba-427b-abd4-e2f6419dd7ea', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menganalisis kompleksitas algoritma dalam kode program berbasis objek.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('3fd5894a-c6c1-4123-aa1d-5455b11909c4', '23a59c25-7d53-4073-8224-a955efde51b2', 'Sub-CPMK-11', 'Mahasiswa mampu merancang ruang publik yang inklusif dan berkelanjutan dengan mempertimbangkan aspek sosial dan ekologis.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('3ffa5094-091a-4945-95ad-5b6235a1ecf2', 'ded74592-751c-42b7-bd26-ad290ebbbf0b', 'Sub-CPMK-8', 'Dapat mengolah data pengukuran menjadi kontur dan representasi visual lain yang sesuai dengan standar peta topografi.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('3ffdf2f9-2767-4590-bbba-950c393f4412', 'ab71fbae-a1af-448f-9edd-970b12af4410', 'Sub-CPMK-12', 'Mampu mengimplementasikan kode pemrograman untuk mengakses dan memproses data dari sensor menggunakan platform pengembangan yang dipilih.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('4000ec92-be0d-487a-ad09-39ad94ee0099', 'cf1abe8d-1c2f-4b69-9d13-4dba0aab0fd5', 'Sub-CPMK-14', 'Mahasiswa mampu menyusun desain arsitektur yang memaksimalkan penggunaan energi terbarukan dan mengurangi jejak karbon.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('4023cc1a-08b7-49d6-9315-bb3799305662', '4625daf4-6ca4-4a42-ac24-7aa68fcf4b01', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis kondisi iklim lokal dan mengidentifikasi elemen desain arsitektur yang sesuai untuk menciptakan bangunan yang hemat energi.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('4038013a-b039-4b21-a997-07e4b29472b2', '921388bc-9c19-45c7-a3c6-3e9cd524fcd5', 'Sub-CPMK-5', 'Mampu menggunakan kosakata teknis dalam kalimat yang tepat dalam konteks penjelasan konsep komputer.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('403995fe-376d-4722-9c78-c59af5a49458', '57b4f301-66c6-44d5-b12f-9cd2615efcf6', 'Sub-CPMK-14', 'Mahasiswa dapat mengidentifikasi dan mendeskripsikan pengaruh budaya lokal terhadap perkembangan arsitektur Islam di berbagai wilayah.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('403c35d8-cddd-4d0a-8a5e-c8572f631e31', 'bca47154-e707-4676-b573-056202220e6f', 'Sub-CPMK-8', 'Mahasiswa mampu menentukan dimensi dan profil balok baja yang sesuai dengan standar SNI.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('405c9523-b707-4d83-a649-6e02bf2ed78e', '926fa27b-1a5d-4363-8122-6312abec76b4', 'Sub-CPMK-10', 'Mampu mengimplementasikan komunikasi antara client dan server menggunakan protokol HTTP dan AJAX.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('40779d28-a39d-4ec1-a84f-858f16825770', '5962c83c-f937-48d7-a608-bcff913e9be9', 'Sub-CPMK-5', 'Menjelaskan hukum Faraday dan prinsip induksi elektromagnetik dalam konteks mesin listrik.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('40854e92-ea43-4385-af2f-0575fcf42fb1', '0725da33-b075-482f-abe7-7adc352c2072', 'Sub-CPMK-1', 'Menjelaskan berbagai jenis gaya dan contohnya dalam konteks mekanika teknik.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('408637e9-9f0a-43d0-ae9c-9b0bf7017c69', 'c6ee32e4-bb27-4369-a42d-c2ffebd2c7b1', 'Sub-CPMK-13', 'Mampu merancang rangkaian PV dan melakukan pengukuran untuk membuktikan Hukum Ohm dengan menggunakan data dari sensor.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('409935df-c59e-4fb0-b64e-f23982e5e189', '177fd39b-7228-4821-b119-3295567637a2', 'Sub-CPMK-6', 'Mengidentifikasi teknologi dan metode yang digunakan dalam pengolahan air bersih, serta kelebihan dan kekurangan masing-masing metode.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('409d0842-ae7e-4f81-854d-ca6ef65b4f69', 'fdf3913e-2fd7-4851-a1e8-a5bd811eb426', 'Sub-CPMK-7', 'Mampu menghitung usaha yang dilakukan oleh gaya konstan pada objek yang bergerak dalam satu dimensi.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('40b23e47-36b7-4fcd-9738-b3a34ae8e268', '69d947c9-2c7b-4442-b2b5-9f653e85b337', 'Sub-CPMK-11', 'Mampu menerapkan identitas trigonometri dalam menyederhanakan ekspresi matematis.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('40b32858-d21e-439e-a662-c3be168debaa', '8457d215-e086-4f16-a1ed-f3b3a572ce32', 'Sub-CPMK-10', 'Mengkonfigurasi server untuk menggunakan protokol SSL/TLS secara efektif.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('40eeb9aa-0bcb-4ce2-9c9b-8aa2d8af939c', '580be468-3341-4926-8470-4f814f977150', 'Sub-CPMK-10', 'Mahasiswa mampu menganalisis hasil pengujian untuk mengevaluasi performa sistem berdasarkan metrik yang relevan.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('40f37fab-2c35-4e16-98b4-0b568ca5c063', '5d4dca66-aa7f-4cdc-b3a4-a9354ba2cf81', 'Sub-CPMK-8', 'Dapat menerapkan konsep geometri dalam merancang elemen arsitektur, seperti atap dan dinding.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('4108ac15-3d9b-4793-ae34-d3ddbcb5a7a2', '01ddd612-7233-4e1e-9b3c-f783b2dc5ea4', 'Sub-CPMK-8', 'Mampu melakukan analisis terhadap performa rangkaian analog dan digital menggunakan perangkat simulasi.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('41364a0f-15f8-4411-83cd-1ec77eed36ad', 'b779feec-0343-4138-b24c-8cf469be16bf', 'Sub-CPMK-8', 'Mampu menerapkan teknik pemrograman untuk mengembangkan model AI yang dapat memprediksi beban listrik berdasarkan data historis.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('413d9a55-c536-472e-83f2-0aea15d3718f', 'b529fbfa-4e9f-412b-ba93-a528b3bc0091', 'Sub-CPMK-3', 'Mampu membuat diagram lingkaran untuk menggambarkan proporsi data', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('414085ad-03fc-402e-b9d7-9f86aa7f40f6', '17be14d5-8947-4aba-9969-0e6e7e3d4afd', 'Sub-CPMK-1', 'Mampu menjelaskan prinsip dasar digital forensics, termasuk definisi, tujuan, dan pentingnya dalam konteks keamanan siber.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('4149c503-a9bb-4263-a264-55d3af08c598', '4188f8f2-d20c-458e-a872-947d409a50c4', 'Sub-CPMK-4', 'Menjelaskan prinsip dasar dan karakteristik dari sistem rangkaian AC tiga fasa', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('4161b51a-1d7f-4a17-99d9-49e6ee38656e', 'a8d6cdbd-ce48-4bc1-976e-d74b73bb6291', 'Sub-CPMK-5', 'Mahasiswa mampu mendefinisikan elemen-elemen dasar dalam flowchart, seperti simbol dan notasi yang digunakan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('41684ebb-be6f-497d-9412-ae3f603d6c35', '11278b41-2964-4364-96f2-3dfcc717863d', 'Sub-CPMK-10', 'Menganalisis data kecelakaan kerja yang terjadi di lokasi studi kasus dan mengidentifikasi faktor penyebabnya.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('41727e82-179f-423c-8cc9-351039ae11c3', 'e29e179a-68e7-4e51-b104-9a62ad9c5d7a', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan merancang rangkaian listrik sederhana menggunakan software simulasi seperti MATLAB/Simulink.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('41771f06-66da-4da7-a447-656fc6e46052', 'd850164a-166c-4f0d-8e6b-c1b4bca0b5ed', 'Sub-CPMK-3', 'Mampu mengidentifikasi dan menganalisis berbagai sumber data yang relevan untuk proyek ETL.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('4189af58-fc18-4786-8770-c98d4ae6ca5b', 'b2286630-81af-418f-a69d-adfb9034305c', 'Sub-CPMK-13', 'Melakukan eksperimen untuk merakit rangkaian elektronika dasar dan mengidentifikasi komponen yang digunakan.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('4194ad78-f429-4968-983b-3d87fa01a236', 'ea6cd7e0-d3b1-4e7d-a98d-e6251a81d8bc', 'Sub-CPMK-5', 'Mahasiswa dapat menjelaskan penggunaan Simple Present dalam kalimat afirmatif, negatif, dan interrogatif.', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('41d423de-1911-4bc8-a056-cf2c4448c066', '72f9505e-a34d-4c5c-a892-136f76b706d2', 'Sub-CPMK-1', 'Mampu merumuskan hipotesis yang jelas dan dapat diuji berdasarkan teori yang relevan dengan topik tugas akhir.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('41e01fe0-f5b1-434a-8f15-8ce4052f61e7', '4a039347-3dad-4266-80b6-a96c15160a23', 'Sub-CPMK-3', 'Mahasiswa dapat melakukan komunikasi data antara perangkat dengan menggunakan protokol UART, SPI, dan I2C serta dapat menjelaskan cara kerjanya.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('41fa6313-d476-4b61-9abe-54c4b903add6', '154029d0-81d8-40de-848a-885d3301d720', 'Sub-CPMK-12', 'Mahasiswa mampu menyusun maket fisik dari rancangan arsitektur yang telah dibuat.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('42028e9d-11ca-4db7-adb6-11d78bb3aa19', '8af89a76-f6f0-4199-8c02-654eddd283a9', 'Sub-CPMK-8', 'Melakukan pengujian penetrasi terhadap aplikasi web dengan menggunakan tools seperti Burp Suite untuk menemukan celah keamanan.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('42054336-235c-4900-ae12-5bcab0b0aaff', 'dac147d0-e763-4c4b-8a75-caaab7e8bcd5', 'Sub-CPMK-2', 'Mahasiswa dapat memilih komponen elektronika yang sesuai berdasarkan spesifikasi teknis dan kebutuhan aplikasi.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('420ffe8c-5530-43e7-a885-2b8ee92e51e9', '444cde92-a3f6-4b99-be0d-65b78e187bba', 'Sub-CPMK-4', 'Menganalisis kasus pemecahan masalah yang memanfaatkan teknik AI dalam konteks nilai-nilai Islam.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('422541b7-95b9-49be-b281-1393dd332e00', '10d3dadc-b19b-4611-8ead-af7297d20ed8', 'Sub-CPMK-9', 'Mengidentifikasi dan menganalisis kebutuhan regulasi terkait penggunaan AI dalam organisasi.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('42379cbb-3eef-4c63-9b17-378119160463', 'c5e8e72f-68f7-4c10-b81e-dc42d0357bdc', 'Sub-CPMK-9', 'Mampu menghitung impedansi antena dan melakukan penyesuaian impedansi menggunakan alat ukur.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('426c5a4d-c17d-4bbf-bbca-7219b3ec5194', 'a3db81ba-e3f6-438e-b5c3-a840a70be649', 'Sub-CPMK-9', 'Menggunakan aturan perkalian untuk menentukan peluang kejadian bersyarat.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('4282f65c-6ea3-4ff7-ad44-a7b2cfc4fa78', '00446d37-6411-4ee4-a64a-5c6d2b72e768', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan merumuskan permasalahan penelitian yang relevan dan spesifik.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('4287386b-63bb-452f-9986-de3e3ce75c60', 'f55edd99-fade-4ab5-bea6-f4b77bbb8bf2', 'Sub-CPMK-2', 'Menganalisis tahap-tahap dalam siklus respons insiden dengan memberikan contoh nyata.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('4298a8ae-d510-48d4-92b7-d024a8ae6908', '8ea74b83-0567-49f7-a09d-6be15363fab9', 'Sub-CPMK-10', 'Dapat membuat dan menampilkan objek 3D sederhana menggunakan OpenGL atau WebGL.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('42a05acd-ff0c-4069-b112-5edc2b68e6f8', '511ee6cb-c7a1-456a-89b6-491b5e8828aa', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menjelaskan konsep nilai humanis dalam konteks perancangan arsitektur sederhana.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('42b684b1-c766-409f-a796-3a2dda63255a', '65db6d0f-5f66-43ab-b448-f5e5ab710da0', 'Sub-CPMK-6', 'Mahasiswa mampu menghasilkan rendering visual yang berkualitas tinggi dari desain arsitektur menggunakan perangkat lunak pemodelan 3D.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('42c8bfac-8dde-484f-97ed-c6ccf109ae0c', '0b02ed7a-78db-4217-8d43-5402a04cd107', 'Sub-CPMK-11', 'Mampu menulis dan menjalankan program sederhana yang menggunakan struktur kontrol seperti percabangan dan perulangan.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('42f3970a-7064-44e4-8475-992c82fb18dc', '2cdab46b-5392-4d80-af30-37e92fbc69a3', 'Sub-CPMK-7', 'Mampu membuat sketsa 2D sederhana menggunakan perangkat lunak CAD.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('432ceb76-6704-4c81-a666-9409f6c2b13a', '00563f17-5e22-449d-8fe5-7c030ebd70a5', 'Sub-CPMK-4', 'Mahasiswa mampu menghitung beban mati dan beban hidup pada struktur baja untuk berbagai tipe bangunan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('43437ffd-97c9-47ae-8e93-4821c14a9d61', '8c795c6c-e8bd-487e-b449-4beda3205a93', 'Sub-CPMK-2', 'Mampu melakukan pengujian isolasi pada berbagai material dan menganalisis hasil pengujian untuk menentukan karakteristik isolasi.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('43552376-d90e-4f17-9f36-06e9e024526f', 'bbd602d9-b6fa-48c7-b76b-43eebfb74c6b', 'Sub-CPMK-2', 'Mahasiswa mampu menghitung posisi benda langit menggunakan metode hisab dengan tepat.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('4369f390-5bf5-4966-9062-872fa6e57d9e', '90d55e61-77e1-4b83-a79f-a2504f9d5df0', 'Sub-CPMK-4', 'Mampu menjelaskan prinsip dasar dari metode KKP-Plus dan bagaimana prinsip tersebut berbeda dari pendekatan pembelajaran tradisional.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('437f925f-5af4-4fd1-881e-7188def8221e', '74264784-88f3-4e59-8278-7c73a833268b', 'Sub-CPMK-7', 'Mampu menjelaskan prinsip kerja dioda serta aplikasinya dalam rangkaian listrik.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('4383a70c-6015-43b5-9091-497c0ca35acc', 'c618def2-b658-454e-8692-abae13d33565', 'Sub-CPMK-7', 'Mampu mengidentifikasi jenis-jenis gangguan yang umum terjadi dalam sistem tenaga listrik, seperti gangguan hubung singkat, gangguan arus lebih, dan gangguan tegangan lebih.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('439660c3-64b4-4c65-bcfb-da60674efcf3', '40f842ac-8ee4-40cc-8d0d-9f52cdf9b4ef', 'Sub-CPMK-4', 'Mengembangkan dan mendokumentasikan rencana pengujian unit untuk aplikasi berbasis web menggunakan framework tertentu.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('439a488d-5b96-482d-a174-63f0b8531cfa', '2474454d-aab7-45af-a62a-3a0758b84774', 'Sub-CPMK-9', 'Mampu membandingkan fungsi logika dari semua gerbang dasar dengan menggunakan diagram Venn.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('43a7aec4-1244-4727-bc7e-9967259281f8', 'f8f1252d-2700-49c2-b8b4-902edeb37c14', 'Sub-CPMK-4', 'Menganalisis kasus-kasus etis berdasarkan prinsip Al Islam dan Kemuhammadiyahan.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('43ad9989-081c-4d2b-97ad-86ee1f7c739d', 'a34c1796-eb3e-438c-85cb-8fcc9100af9c', 'Sub-CPMK-2', 'Mampu menghitung gaya-gaya yang bekerja pada sebuah struktur menggunakan prinsip statika.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('43adc779-a075-483c-aa20-27a742bd9b35', '61593602-45e0-45ff-8a85-32196329e82b', 'Sub-CPMK-5', 'Mahasiswa dapat menganalisis biaya dan ketersediaan bahan bangunan dalam konteks proyek konstruksi.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('43bc8808-a051-410f-9111-b223bc3bd197', '8de06e06-8381-4a18-bb0a-1135c4208acd', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan prinsip dasar modulasi dan demodulasi dalam sistem komunikasi analog dan digital.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('43e9d5c9-57f3-478e-8d42-19c893bb5b47', 'b0807bdc-71fd-433f-ab3d-0f69303b4daa', 'Sub-CPMK-12', 'Mampu memberikan presentasi lisan tentang hasil proyek dengan menggunakan alat bantu visual yang efektif.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('43f35679-4332-4520-812f-81267e8417ae', '3e04c818-ecb0-4e5e-9519-e45facc2d4d1', 'Sub-CPMK-8', 'Mampu menerapkan Transformasi Z untuk menganalisis stabilitas sistem diskrit dengan menggunakan pole-zero plot.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('44007db9-5d26-4b9b-b28d-6ef5fe0e50d8', '66a38fad-d7dc-4638-bda1-da53faf3affd', 'Sub-CPMK-13', 'Melakukan pengujian terhadap aplikasi web untuk menemukan dan memperbaiki bug serta masalah keamanan.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('44029b06-5339-4146-aec4-c6858eb516dc', '74264784-88f3-4e59-8278-7c73a833268b', 'Sub-CPMK-9', 'Mampu membandingkan berbagai jenis komponen semikonduktor dan fungsi spesifiknya dalam aplikasi elektronik.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('44225223-8d77-4a09-abfc-772850d94dd0', 'f75a4fbd-9750-46ee-8250-16b44e453fd2', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan prinsip dasar ruang keadaan dan penerapannya dalam sistem kontrol.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('444e0354-04b5-4f71-b296-75be948912c0', 'cde7e1ad-1565-4026-95e2-062a23a66ff0', 'Sub-CPMK-2', 'Menganalisis arsitektur komputer berdasarkan model Von Neumann dan arsitektur Harvard, serta perbedaan fungsionalitasnya.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('4473c606-4eb1-46e2-9a56-09aa506e7bb6', '860bd365-fd58-44ce-8eaf-0e15d8d20317', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan berbagai jenis algoritma pembelajaran mesin dalam konteks kecerdasan buatan.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('447e408c-9aa2-4ff4-a8e1-6f69cd44a898', '19c5d402-76a5-4cb9-95d5-47fc15a6dc4b', 'Sub-CPMK-4', 'Mampu menjelaskan perbedaan antara sistem bilangan biner dan desimal serta konversi antara keduanya.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('448451e3-23a3-4974-83cc-649341b89e44', 'dca67261-1fd3-4330-a93a-7f4563ab7d4c', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan merumuskan masalah yang relevan dalam konteks rekayasa komputasional berdasarkan data yang tersedia.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('448c5df4-d45c-4b09-8a16-5055b9756ab5', '03eaa8f2-8079-4964-b19d-32cea637de3e', 'Sub-CPMK-2', 'Menerangkan langkah-langkah dalam proses penetration testing, mulai dari perencanaan hingga pelaporan hasil.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('448cf9de-856b-4024-8ace-b327b9a2004b', 'bfb66b43-a536-4091-bc9c-4b217f73b45a', 'Sub-CPMK-7', 'Mampu mengimplementasikan teknik pemodelan 3D dasar, termasuk penggunaan polygon dan mesh, dalam perangkat lunak grafik.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('448fc978-366b-4329-bc7d-ec9a04dd927d', '5be0b65d-2365-49c8-b332-b534691fef6b', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan menganalisis perilaku pengguna dalam konteks arsitektur melalui survei dan observasi lapangan.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('44aa6e6a-f7b4-49c8-9667-200f3c7be9b5', '78b0c04d-d5f2-4fa3-9bed-b9e736c2b8f5', 'Sub-CPMK-14', 'Mampu menganalisis metodologi yang digunakan dalam penelitian dan menilai keefektifannya.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('44ab9275-2ad2-4626-b52a-b7006e4a8b10', '2452583b-ec61-4aed-92c1-0b9994644972', 'Sub-CPMK-5', 'Mampu menghitung turunan fungsi eksponensial dan logaritma serta menerapkannya dalam konteks pertumbuhan dan penurunan populasi.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('44cc9527-28c9-47d3-84a6-eb91d11c2ed1', '6a98444b-91e0-4d8c-bddd-64e00d4ca7d3', 'Sub-CPMK-7', 'Mahasiswa mampu menjelaskan konsep dasar dan prinsip kerja algoritma kriptografi asimetris.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('44d4185a-d071-43a2-a951-254b3855fb4c', 'd9fa2bc6-748e-428b-baac-3c45a1f2eb21', 'Sub-CPMK-8', 'Mampu mengidentifikasi perubahan medan magnet dan menghitung emf yang dihasilkan sesuai hukum Faraday.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('44d9c959-dbe4-4f94-b325-e6c5c9f8825f', '15ab01bd-3e7e-4264-9b13-b966c09451d7', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menjelaskan dilema etika yang muncul dalam proyek teknik tertentu', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('452c2f04-86f9-4ecc-863a-15a26edf7ecf', 'acae30a0-b760-47df-b4fb-df4beebd385a', 'Sub-CPMK-12', 'Mahasiswa mampu menjelaskan dan mendemonstrasikan langkah-langkah dalam melakukan uji hipotesis sederhana menggunakan data sampel.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('45349341-4f5b-4c55-a56d-99fc61b9af9e', 'd203aabe-5e96-4d1f-8f21-aa58a106fbae', 'Sub-CPMK-11', 'Mampu menggambar skema instalasi listrik yang mematuhi standar keselamatan dan efisiensi energi', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('4557938a-865e-4220-8fb1-cf69fa54cff3', 'b2507e08-1db3-4ace-b7b9-1a3b869765ea', 'Sub-CPMK-14', 'Dapat menganalisis dampak positif dan negatif dari penggunaan teknologi informasi di bidang profesional, seperti dalam bisnis dan kesehatan.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('4566276b-2739-40e7-b6d5-f76020f62805', '7f974a6c-3419-4a25-9b92-10cc9ce00cae', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menganalisis risiko keamanan pada data yang disimpan di cloud.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('456a9427-a062-4ccc-97d4-9735640513ac', 'b41eb0ea-7fae-4a74-888f-705ade3a10a5', 'Sub-CPMK-3', 'Mampu menjelaskan pentingnya kepatuhan (compliance) terhadap regulasi dan standar dalam implementasi GRC.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('45762be3-c921-4054-aef5-d001c32fee09', '573141f4-5fca-4e5b-8c7f-0639d8b92117', 'Sub-CPMK-5', 'Mampu menyusun tabel sistem periodik unsur dan menjelaskan sifat-sifat periodik seperti elektronegativitas dan energi ionisasi.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('457e2c88-3c0f-4136-bb5b-5d069c6f21ca', 'e727d1a7-a5df-4bbf-a5bd-2d2d82500815', 'Sub-CPMK-11', 'menjelaskan proses pembentukan mineral dan kaitannya dengan eksplorasi sumber daya mineral', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('4598e14c-5249-4ccf-9a2b-4334d59619f2', '1e15dfc5-6fef-4678-88ef-1a3344b7bf56', 'Sub-CPMK-13', 'Mampu menjelaskan metodologi penelitian dengan jelas dan sistematis di depan panel penguji.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('45acc89d-7544-469c-9d69-7c5598ab78ab', 'eeeada73-8522-408f-97aa-1cb8f8e65134', 'Sub-CPMK-1', 'Mengidentifikasi dan mendokumentasikan minimal tiga masalah utama dalam industri yang relevan dengan tema proyek akhir.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('45cbde56-8d9d-4227-949e-dd740b8d3c32', '81db8364-918d-45c9-a1dc-6f5d279b3193', 'Sub-CPMK-12', 'Membuat laporan reflektif mengenai pengalaman berinteraksi dengan individu dari latar belakang yang berbeda secara religius dan budaya.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('45d58301-8de6-4737-b118-5f21904ab4a5', 'afed6b37-dea3-4e72-91b9-88d643ee0a69', 'Sub-CPMK-3', 'Mengimplementasikan model neural network sederhana menggunakan framework deep learning.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('4622cfdb-1c7e-498b-8697-2007de41b747', 'eadab676-d441-46a1-83fd-486701eee7b5', 'Sub-CPMK-2', 'Mendesain antarmuka pengguna (UI) untuk aplikasi mobile menggunakan prinsip desain responsif.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('4624e3e5-f82a-4b15-a933-3f063a355d30', '75ce4b6a-9743-425c-b93e-4605be3abac4', 'Sub-CPMK-9', 'Mampu menganalisis rangkaian RF dan cara kerjanya dalam konteks sistem komunikasi.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('4634d4c2-2c17-4293-944e-1ffeb1e4b94d', '19b9f4de-1c12-429b-8721-3502c5aedeef', 'Sub-CPMK-8', 'Mampu menggunakan metode eliminasi Gauss untuk menyelesaikan sistem persamaan linear dengan tiga variabel.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('463f94ec-c69f-47fc-9b38-e563c75a1a2d', '247b5673-4e06-47e2-b310-70cb8d17cf73', 'Sub-CPMK-9', 'Mengidentifikasi dan memilih tools yang sesuai untuk sistem pemrosesan data real-time', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('464a8c51-c063-4d9c-815d-4eb7f9becb48', '30780d33-1288-4a32-928b-f37d1d3babb0', 'Sub-CPMK-7', 'Mampu menerapkan normalisasi hingga bentuk normal ketiga (3NF) pada skema basis data yang dirancang.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('464f22a8-6a8f-45d9-874e-8a4d09b1b77e', 'b4aaa1d8-1575-43f8-9f0a-34a899f1300f', 'Sub-CPMK-5', 'Mampu menganalisis dan mengidentifikasi jenis permasalahan yang dapat diselesaikan dengan algoritma berbasis strategi.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('46730255-f9ac-4e06-a0a9-71636fc5198d', 'c1f4790e-92ab-465e-92ee-288c8ce536b5', 'Sub-CPMK-14', 'Melakukan pengujian hipotesis menggunakan metode statistik yang sesuai, seperti uji t atau uji chi-square.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('46767e85-e880-4e04-9390-d1f457ce8642', 'c470d13b-21a3-41eb-bd15-2a206dc298f3', 'Sub-CPMK-4', 'Dapat menganalisis dan menyelesaikan masalah menggunakan metode backtracking seperti n-queens dan sudoku.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('4694e312-ccf7-4f98-83b4-8f08a0777c33', 'e0b27377-4864-4a50-a3f8-de602e5f7ba2', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan prinsip dasar komunikasi satelit, termasuk frekuensi operasional dan modulasi yang digunakan.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('46ae95eb-d38f-4565-96e4-15fb32e25502', 'e57586d1-5c3e-4b06-adcc-5077a7f97c9d', 'Sub-CPMK-9', 'Mahasiswa dapat mengintegrasikan elemen estetika dalam desain yang mencerminkan nilai-nilai Islami.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('46bbd844-9bd6-4490-8856-d25ea18eb105', 'ff019258-ef6f-47c5-87f3-34913105970c', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan karakteristik dan fungsi dari dioda dan transistor BJT dalam rangkaian elektronik.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('46d54fbd-fd39-48c0-a2fd-275cf91e48df', '15ab01bd-3e7e-4264-9b13-b966c09451d7', 'Sub-CPMK-9', 'Mampu merumuskan dan mengevaluasi solusi alternatif untuk dilema etika yang dihadapi dalam praktik teknik', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('46e6eee5-3c17-4c66-b09f-d1d321ac90c3', '87b2211e-ffe1-4ecf-8131-16d08c8a4bb5', 'Sub-CPMK-4', 'Mahasiswa dapat menggunakan personal pronoun dengan benar dalam kalimat', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('46f78eca-e5f2-420c-84b6-97599e7517ec', 'ffd93474-1075-449c-8875-dc463ed66981', 'Sub-CPMK-7', 'Mampu menjelaskan konsep dasar entropi dan mutual information dalam konteks teori informasi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('471f1d89-fc83-43f8-905e-dc52694f948a', 'e5cb12aa-6ddd-4243-9611-aae69048c322', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan memilih perangkat jaringan yang sesuai untuk topologi jaringan telekomunikasi dasar hingga menengah.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('47376332-43a9-4772-bd18-3cf18f6a6651', '09887031-db21-4534-ae50-7874535c733d', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan sifat fisik dan mekanik dari berbagai jenis bahan bangunan.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('4753990d-a122-4e19-bbb5-6ccce1eafb97', '2c888a63-c4f6-47cd-83f9-b566adbaaef1', 'Sub-CPMK-3', 'Mampu menganalisis dan merancang sistem komunikasi berbasis serat optik untuk aplikasi tertentu.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('4784131e-54c9-4052-a1c2-5a02eec72690', '97233896-c05e-4690-ac76-5fa394232e29', 'Sub-CPMK-12', 'Mahasiswa mampu mengintegrasikan teknologi hijau dalam desain pengkondisian bangunan untuk efisiensi energi.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('47907559-ce5f-4e9e-8c21-57e489c4e360', 'dffe0dc3-224a-40a6-ba65-4ff9ca49059d', 'Sub-CPMK-11', 'Mampu menerapkan hukum Faraday dan hukum Ampere untuk menjelaskan fenomena elektromagnetik dalam konteks perangkat elektronik.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('47995672-f157-4d97-8c75-7d6646e142b5', '5d06a236-3c19-4efa-84d5-66c76a7efbb1', 'Sub-CPMK-7', 'Mahasiswa mampu menggunakan perintah \'ls\' untuk menampilkan daftar file dan direktori dalam berbagai format.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('4799ff09-4e8b-4948-9132-cbe4063080f8', '68f3abcd-a3e4-4d1c-9c48-85fc24cd4794', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis karakteristik gelombang elektromagnetik dalam berbagai media propagasi.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('47c38e90-1e88-45dc-989b-342530350b21', '8be6179d-5348-4e5a-bced-07e3669b3780', 'Sub-CPMK-12', 'Mampu membuat visualisasi data pengukuran tanah dalam bentuk grafik dan peta menggunakan perangkat lunak.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('47e395a5-a253-4578-a1ee-ca1a336beeca', 'a0b927de-c76d-4ab2-8245-59868dcab2b8', 'Sub-CPMK-8', 'Menyusun kebijakan keamanan informasi yang sesuai dengan standar ISO 27001 dan kebutuhan spesifik organisasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('48141dec-344a-45b3-a1c6-32504e774eac', '5a94d529-8f61-473e-a6f4-63bad503b7b3', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menjelaskan tujuan penelitian dalam proposal secara jelas dan tepat.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('4817751e-f16e-4031-ada9-7fefd0539885', '550e4cdf-f23e-4f12-8d05-fb039dc2d017', 'Sub-CPMK-6', 'Mampu mengembangkan aplikasi menggunakan gRPC untuk komunikasi antar microservices dengan kinerja tinggi.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('48257eb5-cc28-47d3-a3d6-72701a8ef9a6', '02b711fe-099d-48f5-967e-8592308bf338', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis dan mengevaluasi elemen desain yang mendukung kenyamanan dan keberlanjutan dalam kawasan perkotaan.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('48288b75-cc21-4bf0-993b-f40ffe91d0c8', 'd961dfa8-ce8a-4d30-b5d9-6ca9877a9d16', 'Sub-CPMK-7', 'Mampu menghitung gaya yang bekerja pada benda berdasarkan hukum Newton dan menentukan percepatannya.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('482e77b2-04c3-4ef4-bede-53c749636780', 'bca47154-e707-4676-b573-056202220e6f', 'Sub-CPMK-7', 'Mahasiswa mampu menghitung gaya-gaya yang bekerja pada balok baja berdasarkan kondisi beban yang diberikan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('4846bed2-7ec8-4715-8b56-fdc8563577ad', '50cdca73-683f-4ff5-a6a4-7063ff88914b', 'Sub-CPMK-11', 'Mengimplementasikan sistem monitoring untuk mengawasi metrik performa model secara real-time.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('4855a5a5-4a64-477f-8ff8-5edb67154d2c', '8b22fc5a-6979-4930-ab5f-1771ba072cdb', 'Sub-CPMK-6', 'Mampu menjelaskan tahapan perancangan sistem VLSI mulai dari spesifikasi kebutuhan hingga verifikasi dan validasi desain.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('48629561-0959-49a4-8703-b204dd492845', 'dcb8eb48-a440-42c9-9e1d-00862660130d', 'Sub-CPMK-14', 'Mampu membandingkan dua atau lebih metode numerik berdasarkan kriteria akurasi dengan menggunakan data hasil perhitungan.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('487d7965-9ec5-4cc9-8d1c-e1aec3257f7a', '85b72902-5fa9-4011-acc6-280c9c81fb67', 'Sub-CPMK-3', 'Menerapkan alat-alat DevOps untuk otomatisasi proses pengembangan dan pengujian perangkat lunak.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('487e4226-dd92-4ebb-a725-dc0de679083d', '34ac779c-fd89-477f-9da0-a9b5a8a4f8cb', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan merumuskan masalah penelitian yang relevan dan signifikan', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('4881cad0-8ae7-46c9-b029-ab4a63f8ca65', 'c9aba430-1a31-41e9-88ca-336d024440ca', 'Sub-CPMK-5', 'Menganalisis contoh penerapan kecerdasan buatan dalam pengelolaan dan optimasi sistem tenaga listrik.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('48896c61-2ff9-4523-836e-12c83c9e8601', '7a3a6d19-f216-4d46-83cf-6e355781b6fc', 'Sub-CPMK-6', 'Mampu menggambarkan proses pembangkitan energi listrik dari sumber energi primer hingga ke konsumen.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('489714ce-97de-4196-92a7-4d00fdbdc7d3', '82988788-6730-4639-9c4a-20d6bb646e77', 'Sub-CPMK-12', 'Dapat merancang skenario gangguan pada sistem tenaga listrik dan mengevaluasi dampaknya terhadap kestabilan sistem.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('489fa862-e384-4aa8-801c-2bbd3ecffc25', '79f37bd0-b0b0-46ad-ab34-d365efdbe398', 'Sub-CPMK-8', 'Mampu merancang antarmuka pengguna untuk perangkat lunak komunikasi data yang ramah pengguna.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('48b5e352-efdd-4503-8a68-aaa740df05f1', '8c176a6a-9db3-4c1e-8db8-eb0d7d8f2be6', 'Sub-CPMK-13', 'Mampu menganalisis kriteria stabilitas sistem kontrol menggunakan metode Routh-Hurwitz dan Nyquist.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('48bc4e76-1128-4d24-bca9-eae450dda1b3', 'b8488742-c1b9-4573-8141-2f9764e2d6a3', 'Sub-CPMK-3', 'Mampu menghitung data rate dan bandwidth yang dibutuhkan untuk aplikasi jaringan tertentu.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('48c948af-9206-48b3-b02b-8ee06c36d7ba', '8d2819f9-fbed-474f-806e-0ffd1b360a48', 'Sub-CPMK-14', 'Berpartisipasi aktif dalam diskusi tim dan memberikan kontribusi ide untuk meningkatkan kinerja proyek scalable system.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('48cfadc2-789b-4f3e-b00a-cd442e290e16', '9ce643fa-351d-4fca-ad6c-6458151d47da', 'Sub-CPMK-3', 'Mampu melakukan analisis awal terhadap permasalahan yang ada untuk menentukan signifikansi dan relevansi penelitian.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('48d07447-c184-4af0-a681-b2c7762b2a48', '8569fc9c-c270-4d1f-9fcc-2b5414703b6d', 'Sub-CPMK-4', 'Mampu menjelaskan berbagai definisi dan konsep dasar dalam AIK serta dampaknya terhadap etika dan moralitas individu.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('48e228a9-2747-49c4-8f9d-f1d3dabc00d2', '910cd8d9-0a0c-4474-b354-5e722927c1f0', 'Sub-CPMK-6', 'Mahasiswa mampu mengidentifikasi karakteristik arsitektur Gothic dan Romanesque beserta contoh bangunan ikonik dari masing-masing periode.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('490e9dda-cb89-48e8-9c44-38564f65783b', 'f54de24d-6aea-410e-a83f-549bb04a67a3', 'Sub-CPMK-13', 'Menggunakan alat ukur untuk melakukan pengukuran kekuatan sinyal nirkabel pada berbagai frekuensi.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('49223724-981c-4ac4-854f-822675b0445d', '5f60965c-0788-4288-a433-5de4df19a1f3', 'Sub-CPMK-11', 'Mampu merancang observer Luenberger untuk sistem dinamis dan mengevaluasi kinerja estimasi keadaan.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('49264860-5378-4225-9ab4-3a7d74c05fb1', 'bd5e7ae4-f9fe-4a76-aa18-393a3bc0de40', 'Sub-CPMK-9', 'Mampu mengintegrasikan kendali I/O diskrit dan analog dalam satu proyek menggunakan Arduino.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('493af1c1-ef04-4e7e-9741-0243a13e3e42', 'f7b368cc-7fde-4714-9004-d7e1814f8242', 'Sub-CPMK-11', 'Mahasiswa mampu merancang proyek sosial yang mempertimbangkan keberagaman budaya dan sosial di masyarakat.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('4967b54b-042d-4061-8fc5-5c9e120612d5', 'b8f36c96-842f-4278-ab7b-97bbfbefa29d', 'Sub-CPMK-8', 'Menganalisis pengaruh rugi-rugi energi pada berbagai jenis fitting dalam sistem perpipaan.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('496bf0c3-d145-4c3a-858c-a976e2fec386', '3df68873-ca27-41ad-a65b-87a3affc1f77', 'Sub-CPMK-14', 'Menghitung frekuensi dan periode getaran dalam berbagai sistem fisik, seperti pegas dan pendulum.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('497e2b9c-f0e0-4801-bee3-ba01a3af4db2', '81ed0bf2-1356-4892-9728-86b31b1d16b4', 'Sub-CPMK-6', 'Mampu menjelaskan model propagasi gelombang elektromagnetik dalam kondisi lingkungan urban dan rural', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('4983bf6c-f715-4e20-bbf6-fcece2c7274b', '0cc48ed0-2de2-4d7d-aa0f-a01a0c42a395', 'Sub-CPMK-12', 'Mampu menentukan jenis antena yang paling sesuai berdasarkan frekuensi operasi dan aplikasi komunikasi yang diinginkan.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('4988d77d-5038-48d9-834c-0fc309cd1a1e', '7d256f3d-cf4f-4628-9f91-72cfefe53100', 'Sub-CPMK-11', 'Mahasiswa mampu menghasilkan visualisasi 3D dari rancangan arsitektur menggunakan perangkat lunak desain yang relevan.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('49fd6763-a3d4-46eb-a8f9-b830630461de', '6acf5089-2b4a-42b6-8e9f-8d78ded7b42a', 'Sub-CPMK-13', 'Mampu menjelaskan perbedaan sifat-sifat kimia antara isolator, konduktor, dan semikonduktor secara mendetail.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('49ff10c2-7f5b-4573-ba55-a10315e8af63', '141a3ec0-1647-490c-86a4-a5e35b2388e1', 'Sub-CPMK-2', 'Mampu menerjemahkan dan menjelaskan dokumentasi teknis dalam bahasa Inggris yang berkaitan dengan perangkat lunak dan aplikasi komputer.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('4a0471be-7cac-47ce-b6ca-5f6f9d6f623e', '199fc380-0577-4c62-8ec0-9fbf6cb65358', 'Sub-CPMK-6', 'Mahasiswa mampu menghitung nilai arus, tegangan, dan resistansi dalam rangkaian listrik menggunakan prinsip dasar kelistrikan.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('4a14d61a-739f-4c9a-b06c-6f2c77fcc555', 'c7f92efb-4b2c-498f-a156-2e6fd9a0f7f2', 'Sub-CPMK-5', 'Dapat menggunakan aturan rantai untuk menentukan turunan fungsi komposisi dalam aplikasi teknik.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('4a499d42-640d-4bf2-a462-3de6461caa53', 'e9feaaee-afcd-4f45-9b52-b98c5f9bffda', 'Sub-CPMK-5', 'Mengidentifikasi dan mendeskripsikan tanggung jawab insinyur dalam proyek teknik elektro, termasuk dampak sosial dan lingkungan.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('4a53f7fd-7fb5-4c60-bd8c-163798361724', '38e04fdc-0d71-4f23-beff-a2b45d8505ae', 'Sub-CPMK-6', 'Menyelesaikan persamaan diferensial linear orde satu dengan koefisien konstan.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('4a616dd3-f7f8-4d74-b77f-0ad9f5376e07', '0ce952ac-c277-44f2-ae34-4b7796c710a2', 'Sub-CPMK-13', 'Menerapkan etika penelitian dalam pengumpulan dan analisis data selama praktikum.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('4a70df5f-b642-4f35-9915-5c9df70ac1f7', '7230093a-f6b1-40d8-82f8-911264cd2a68', 'Sub-CPMK-10', 'Mampu menggunakan FTK Imager untuk membuat salinan forensik dari media penyimpanan.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('4a877a09-865d-48a6-947a-c1ab99c9714d', '6fcb42b2-d5a1-4a01-ac14-0d96ff8c7ac4', 'Sub-CPMK-8', 'Mampu menyusun persamaan matematis yang menggambarkan dinamika sistem mekanik sederhana.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('4a990fef-0548-4714-8485-dac96c20dd5d', '552ffbce-c842-41d2-b275-3059b2ecb4b6', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan menganalisis kebutuhan pengguna dalam merancang ruang arsitektur yang inklusif.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('4ab37ca2-ca30-49ed-ab49-a1eb988f0097', '4215c6eb-e4da-4ceb-b61e-d6e2d01a3ad8', 'Sub-CPMK-5', 'Mampu membandingkan karakteristik berbagai jenis sensor, termasuk sensitivitas, rentang pengukuran, dan resolusi.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('4acef09b-192c-4209-9b69-996b73874aec', '6bbfb4b5-e7bd-4974-acde-12ad806aad3f', 'Sub-CPMK-5', 'Menerapkan algoritma regresi seperti Linear Regression dan Support Vector Regression untuk memprediksi nilai kontinu berdasarkan dataset yang diberikan.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('4ad2b9c7-5600-46bf-aafd-c21f5218abfd', 'e16b508a-50dc-4bc8-a9b5-e82f5be68f02', 'Sub-CPMK-14', 'Mampu menganalisis data yang telah dikumpulkan menggunakan metode statistik yang sesuai.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('4aea452c-3a78-43fc-886b-3cce66682fbc', '9baa4c19-7143-4e8d-a8bd-791bce471278', 'Sub-CPMK-14', 'Menggunakan model matematis untuk memprediksi kebutuhan air pada lahan pertanian berdasarkan variabel cuaca dan jenis tanaman.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('4aea6f14-71bd-4035-9611-ae1de0ad2bcc', 'ffd93474-1075-449c-8875-dc463ed66981', 'Sub-CPMK-9', 'Mampu menerapkan rumus entropi dan mutual information untuk menganalisis efisiensi transmisi data dalam sistem komunikasi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('4aef34f1-6e91-43d0-878b-3bab479f73a2', '78e23f02-c95b-46bd-a35c-e5c11ba72476', 'Sub-CPMK-7', 'Mahasiswa dapat membandingkan kompleksitas beberapa algoritma untuk menyelesaikan masalah yang sama.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('4af6af6b-f1f8-4be8-a3cc-e94062056bd3', '24e367fe-d768-43fc-98b1-6cd56cced4dd', 'Sub-CPMK-12', 'Mampu menyusun rangkaian ekuivalen transformator satu fasa berdasarkan hasil pengukuran dan kondisi operasional yang diberikan.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('4b0c71da-0f3e-4df5-8ebb-6dbd1b519280', 'f44ea098-001e-4872-b705-266739e66eb7', 'Sub-CPMK-10', 'Mahasiswa mampu menggunakan perangkat lunak arsitektur digital untuk membuat gambar kerja dasar dengan akurasi dan detail yang sesuai standar industri.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('4b0ed562-4fa4-48db-963f-6650171d1b41', '05c1e3c5-14de-46cb-b7aa-3bff99256a75', 'Sub-CPMK-8', 'Mampu menganalisis rangkaian AC sederhana dengan menggunakan metode analisis phasor dan analisis impedansi.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('4b3d9c56-9dea-447d-aa18-aa2b21b212df', 'e6eb3627-f8a5-4149-ae1d-7483e0206992', 'Sub-CPMK-9', 'Mampu menginstal dan mengonfigurasi perangkat forensik Autopsy untuk analisis data digital.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('4b3fe9ae-cc2b-48e8-b149-8685f94d670e', '0ed63c84-22ca-472b-b6e4-6601d6841dbe', 'Sub-CPMK-3', 'Mahasiswa dapat menghitung rasio lilitan pada transformator satu fasa dan menganalisis pengaruhnya terhadap tegangan output.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('4b4826c6-965f-4c58-83d2-3872373ad3c6', '99f3d7bb-46cd-46fa-9b08-4f7c68d07515', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan memilih minimal 10 sumber literatur yang relevan dan berkualitas untuk mendukung topik artikel ilmiah.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('4b549081-69eb-4c7d-af59-feff4b58cd9d', 'e7356a84-8e62-402b-ae78-a6be0f506d12', 'Sub-CPMK-7', 'Mampu mengidentifikasi jenis-jenis struktur mikroskopis pada material dan menjelaskan pengaruhnya terhadap sifat mekanik.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('4b5e1b68-59ea-4a6f-a4c2-39885063478e', '7ac19353-6e59-4626-a588-3aac5e1b872b', 'Sub-CPMK-13', 'Mengidentifikasi jenis-jenis risiko geologi yang dapat mempengaruhi konstruksi teknik pengairan', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('4b706b64-0665-419f-8da9-d6c6245456c8', 'be64e081-f985-4fba-9feb-3cd574ea603e', 'Sub-CPMK-11', 'Menganalisis bagaimana konteks sosial dan budaya mempengaruhi desain arsitektur suatu bangunan.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('4b732846-ab9d-44d8-aebe-4d56e2fbf5e6', '126c4840-e15b-4be8-81a1-f2e394209ebe', 'Sub-CPMK-1', 'Mampu menganalisis dan menghitung parameter rangkaian AC tiga fasa menggunakan metode analisis yang sesuai.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('4b898cd2-54fa-4b2c-8b41-aa5ab76380e5', '7170b75e-2dc5-4a5b-b6fe-2b3892a1c6e1', 'Sub-CPMK-5', 'Menjelaskan konsep dasar dan arsitektur In-Memory Database serta perbandingannya dengan database tradisional.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('4b8c5327-1a49-43cc-91e9-ed949f99b85a', 'b4f46ee8-7d4b-4293-8fb8-4aed4f12f08a', 'Sub-CPMK-4', 'Mahasiswa mampu menghitung beban kerja dan beban gempa untuk elemen struktur bangunan bertingkat menengah.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('4bc1d5ad-0dcb-4c9e-af2f-6088710cc895', 'e34981b8-d0df-463b-abe9-97835d2e3180', 'Sub-CPMK-3', 'Menjelaskan peran arsitektur dalam menciptakan ruang publik yang berfungsi untuk interaksi sosial.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('4bc98cdc-1640-4546-bb16-902e9572c62b', 'cdf0000b-775c-46f3-8cbc-767ce3a529c9', 'Sub-CPMK-11', 'Mahasiswa dapat menjelaskan konsep dasar prompt engineering dan penerapannya dalam model generatif.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('4bd64d8f-3438-4819-8d64-d09186483cb8', '90ab017c-21d9-4300-a24b-eb1e46f08eeb', 'Sub-CPMK-14', 'Mampu menggunakan alat ukur fisika untuk menentukan koefisien ekspansi termal material bangunan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('4be2721b-4ea9-44c9-9d9e-4fede57fb784', 'd4a25d0a-ae5f-4b9e-b851-35bb3f01375c', 'Sub-CPMK-12', 'Menganalisis interaksi antara perangkat keras dan perangkat lunak dalam menjalankan aplikasi komputer.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('4be3631b-8f82-4473-a2d4-7b158029e62a', 'db3d432a-57dc-443c-97f6-dbecc9472dd3', 'Sub-CPMK-7', 'Menganalisis distribusi medan listrik pada konduktor tegangan tinggi menggunakan perangkat lunak simulasi.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('4c07abfb-9808-4368-bfff-87cf3fae8176', 'abcd38cb-975d-4059-a17d-db4b9e7c9a55', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis potensi sumber energi baru dan terbarukan di suatu daerah dan menyusun laporan potensi energi tersebut.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('4c2d5d76-dc3c-446d-81f7-31eef6a00ceb', '8e6e1581-47c9-4683-b3ff-7d292f83396a', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menjelaskan sifat fisik dari berbagai jenis material dasar (logam, polimer, keramik, komposit) yang berpengaruh terhadap penggunaannya dalam aplikasi teknik.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('4c3ee20c-0021-4379-b327-52a0b6821b84', 'c80b4e2a-0a29-430f-b1ef-2caf7364aedc', 'Sub-CPMK-8', 'Menganalisis faktor penyebab kecelakaan kerja berdasarkan data kecelakaan yang terjadi', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('4c5eafb7-5d05-4f74-b692-6ce423db00fe', '75d2e99a-94ab-4afd-9524-3f4b2e9f507c', 'Sub-CPMK-8', 'Mampu menerapkan algoritma simulasi untuk menjalankan DFA dan NFA pada input string, serta menentukan apakah string tersebut diterima atau ditolak.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('4ccb23ac-fd46-414b-b0b2-7922f95d5a0b', '3a9f586c-5675-43f7-addf-113a17ef9987', 'Sub-CPMK-11', 'Mampu menyusun rencana revisi proposal penelitian berdasarkan umpan balik yang diterima.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('4cd1946d-c3be-43d7-bed2-2efc1560c8f6', '9ce643fa-351d-4fca-ad6c-6458151d47da', 'Sub-CPMK-1', 'Mampu mengidentifikasi topik penelitian yang sesuai dengan tren dan kebutuhan masyarakat dalam bidang studi yang dipilih.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('4cec9b8a-a1e8-4857-8b46-31b86d745a76', 'c1851b3a-fb0a-4fc6-8f52-6b999bac23ab', 'Sub-CPMK-2', 'Mahasiswa dapat menerapkan transformasi Laplace untuk menganalisis sistem dinamik dan merancang kontrol sistem.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('4cf9882c-109c-4c15-92f8-3ba63c216ab1', '395c0636-f886-4a26-80d9-b1dd4c9e7254', 'Sub-CPMK-2', 'Membuat diagram arsitektur yang menggambarkan perbedaan antara microservices dan monolithic architecture.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('4d090453-4a34-48a9-b6c6-070cc3926e86', 'ce84e49d-e79f-40f8-ab53-78a15e2d6250', 'Sub-CPMK-14', 'Mampu melakukan analisis efisiensi energi pada sistem instalasi listrik dan memberikan rekomendasi untuk meningkatkan efisiensi tersebut.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('4d162930-e4ff-46d9-a4bc-f29d033229e9', '981d8b11-892a-406e-a966-93193fdb24da', 'Sub-CPMK-11', 'Mampu mensimulasikan penguat RF menggunakan perangkat lunak simulasi elektronika dan mengevaluasi parameter kinerja seperti gain dan bandwidth.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('4d189377-23ce-44c7-a69e-c6dca5929b50', 'bfb66b43-a536-4091-bc9c-4b217f73b45a', 'Sub-CPMK-8', 'Mampu menganalisis dan mengevaluasi hasil rasterisasi dan pemodelan 3D berdasarkan kriteria kualitas visual dan performa.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('4d1f76d1-ac89-46a4-9c75-e364a2b2b0dd', 'b5e19fb1-fd55-49fb-a06d-160023e220cd', 'Sub-CPMK-5', 'Mampu menyusun tujuan penelitian yang jelas dan terukur sesuai dengan masalah yang diidentifikasi.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('4d31fbed-9177-4f97-b451-2eaa2ded7a36', 'f0c865cb-b74e-4325-8057-8a8a206ba433', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menganalisis rangkaian elektronika sederhana yang digunakan dalam sistem robotika.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('4d4473c8-84ae-4195-8cde-10bcf101249f', '5101d404-637f-440f-a874-82cf2a5c79d6', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar jaringan telekomunikasi, termasuk jenis-jenis jaringan dan fungsinya.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('4d459b15-f8c5-4e70-bcc0-36f868b2e955', 'f89f772f-c1a3-4dbc-9368-c0d2e9a83416', 'Sub-CPMK-14', 'Mampu mengidentifikasi dan menerapkan prinsip-prinsip etika digital dalam penggunaan internet dan media sosial.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('4d6321c9-b139-4762-aa36-488d2e1b97eb', '4036b07d-48cb-455c-92ec-fe7ecc7d9efe', 'Sub-CPMK-10', 'Mampu menggunakan alat bantu visual yang efektif untuk mendukung penyampaian hasil proyek.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('4d692aca-0c8f-47db-a91b-19a9e3e2c7d4', 'a5699b91-1eff-4673-b50d-371fac818395', 'Sub-CPMK-13', 'Mahasiswa mampu menganalisis dan merangkum informasi dari artikel ilmiah tentang sumber daya air dalam bahasa Inggris.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('4d8a5ae6-e95b-420e-ae84-6ae57617c6f5', 'edb08499-f8af-41eb-ae46-c8e479206bbe', 'Sub-CPMK-13', 'Mampu menjelaskan konsep dasar pemrosesan sinyal digital, termasuk sampling, quantization, dan representasi sinyal.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('4d9c77c7-d7d2-48f0-85db-381d7b1a275d', 'ccac29b4-8788-4827-a7f8-3b898d445d49', 'Sub-CPMK-9', 'Menganalisis stabilitas dinding penahan tanah dengan metode keseimbangan limit dan faktor keamanan', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('4d9d9d53-4499-4807-8cb9-52de53aae2ba', '7fd89e89-4039-4fc2-9a15-f0c11138afad', 'Sub-CPMK-6', 'Mahasiswa mampu menganalisis dan menggambarkan sirkulasi yang optimal dalam layout ruang perancangan arsitektur.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('4de876d7-9a44-4017-9721-496862521c9c', '17be14d5-8947-4aba-9969-0e6e7e3d4afd', 'Sub-CPMK-2', 'Dapat mengidentifikasi dan menjelaskan tahapan dalam siklus respons insiden, mulai dari persiapan hingga pemulihan.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('4dfe276e-c7e3-4397-afa8-50a6607d95b8', '5dc2c785-d60c-4011-8742-84c04cf85e31', 'Sub-CPMK-14', 'Mampu menganalisis data hasil simulasi trafik untuk mengidentifikasi bottleneck dalam jaringan.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('4e0c5f64-26fd-47b8-950b-79ee5b08d1f6', '49d55227-c19a-4851-888f-73d697be375b', 'Sub-CPMK-1', 'Mampu menjelaskan prinsip kerja dan karakteristik mesin listrik arus searah (DC) dan arus bolak-balik (AC)', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('4e0de01b-0f8e-4045-ba39-4a99ab1f4cec', '4dabab62-8379-4f7e-8527-b21cb3543ec8', 'Sub-CPMK-14', 'Mampu menjelaskan nilai-nilai kemuhammadiyahan dalam konteks etika profesi dan bagaimana nilai tersebut dapat diimplementasikan dalam praktik sehari-hari.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('4e119d4a-3c2f-421c-aee9-4cd43cc5f8fa', 'b20c4b36-a280-48cd-b91f-f0019889786f', 'Sub-CPMK-7', 'Mampu mengidentifikasi elemen-elemen dasar desain arsitektur Islam dalam konteks sejarah dan budaya', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('4e1fb9ab-b69d-4ee6-9cc6-779a5ff8487f', '89cd449a-95eb-41a8-9669-9addb7d6b202', 'Sub-CPMK-12', 'Mahasiswa mampu merancang sambungan struktur yang aman dan efisien berdasarkan analisis mekanika.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('4e2b77e3-e121-469a-b27d-0aef1d058240', '17d208f7-4932-473e-af5f-342185b2c259', 'Sub-CPMK-2', 'Mahasiswa dapat menggunakan aljabar Boolean untuk menyederhanakan ekspresi logika dan merancang rangkaian logika dasar.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('4e319b8d-e842-4782-917c-d43d11aec0b1', 'c3b8773c-9f28-4786-89f4-5dbf33616146', 'Sub-CPMK-11', 'Mahasiswa mampu menggambar elemen struktural seperti kolom, balok, dan dinding secara akurat sesuai dengan standar gambar kerja.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('4e4acd23-9318-4a3d-8642-3572f2cbeb80', '6bc813cf-c128-465a-9082-46019d09eb5a', 'Sub-CPMK-8', 'Menyelesaikan masalah konvergensi deret tak hingga menggunakan kriteria konvergensi', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('4e589935-b016-45df-8d4f-0b2376aba9c8', 'e07e9197-c4fd-4749-96d3-aed37fdcc4e8', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan komponen dasar dan arsitektur sistem IoT secara rinci.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('4e599c02-8132-4081-a258-7a5012e2ecea', 'd09d9f87-95a0-484e-90f3-d4d2a374258d', 'Sub-CPMK-12', 'Mahasiswa mampu menyusun struktur laporan akhir yang mencakup latar belakang, metodologi, hasil, dan kesimpulan.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('4e6c0151-176d-453e-a851-a64885c0eb28', '169adb2e-d7df-4153-92c1-0c64758ca6bd', 'Sub-CPMK-4', 'Menggunakan alat perangkat lunak untuk menciptakan dan memanipulasi objek grafis 2D.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('4e7702fd-236f-4737-a07e-1db7196452c3', '2cbd2d22-521a-439a-875e-e10b77c93d76', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan faktor-faktor yang mempengaruhi perilaku manusia dalam ruang publik.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('4e7d1870-e04a-4091-ba25-e2415b468995', '2b1c8253-21db-40cf-bcc0-d8c65ce5990b', 'Sub-CPMK-2', 'Mahasiswa mampu menggunakan kosakata teknis sumber daya air dalam kalimat yang tepat dalam konteks teknik.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('4e96d55e-cbc5-42b6-a028-158c135929c2', '29eb9c31-5ee4-4d5e-aa0f-6c657da04236', 'Sub-CPMK-2', 'Mendemonstrasikan penerapan prinsip-prinsip keamanan dalam setiap fase pengembangan perangkat lunak menggunakan model DevSecOps.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('4eaad300-64db-41e4-b33c-af1679a5bbf1', '9537d11e-ef8f-4d91-b2e7-82ff86ea63ba', 'Sub-CPMK-6', 'Mahasiswa mampu mengevaluasi arah angin dan kecepatan angin untuk merancang ventilasi alami yang efisien pada bangunan tropis.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('4eb255a8-2914-4db9-be70-4b14b5016504', '104391d3-3c84-4b35-8003-dc9fac549edf', 'Sub-CPMK-3', 'Mahasiswa mampu mengevaluasi desain ruang dalam berdasarkan prinsip ergonomi dan kenyamanan pengguna.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('4ec7a2cf-4d17-49e6-8dfa-5ea1b2fb05a8', '2f19e9e9-a222-4ace-aae1-05d9388d3bde', 'Sub-CPMK-9', 'Mengidentifikasi proses tektonik yang membentuk gunung dan lembah serta pengaruhnya terhadap geografi regional', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('4ed06ead-58c8-4341-b92e-7b460069c5ad', '42c82d6a-654c-499c-b1b2-aa88363608bb', 'Sub-CPMK-11', 'Menerapkan teknik regularisasi seperti L1, L2, dan dropout untuk mengurangi overfitting pada model deep learning.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('4ed2379c-4ba6-4ab8-897d-d7b74a5b719c', 'be2ca0da-1948-492c-88d2-cddcddb120e5', 'Sub-CPMK-14', 'Mahasiswa dapat menjelaskan konsep dasar keamanan jaringan komputer, termasuk ancaman dan kerentanannya.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('4ee71990-31c4-4af0-8306-e6accebd44f8', 'a1b168f2-e3e3-4f37-8827-101c00e21104', 'Sub-CPMK-6', 'Mengimplementasikan teknik regularisasi seperti dropout untuk meningkatkan generalisasi model neural network.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('4eea5a78-64a6-4226-8d14-4d306a8c2d2f', '80860ca3-d88a-4357-9c3b-963a698aa95d', 'Sub-CPMK-5', 'Mahasiswa dapat mengevaluasi utilitas dan estetika dalam desain dengan mempertimbangkan konteks lingkungan.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('4ef28ab1-a140-4e63-a7cf-762371b2e8a3', 'bf36d397-1b0c-446e-b913-9d62bc3b0b32', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menganalisis teori-teori yang relevan dengan topik penelitian skripsi.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('4f109962-8b6e-46af-997e-4a89652dcd82', '022ab92a-ea4e-4d57-a1e5-728611754fca', 'Sub-CPMK-3', 'Mampu mengaplikasikan prinsip trigonometri dalam menentukan sudut dan jarak dalam perancangan bangunan.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('4f129fc0-4216-43ad-acaf-41389a15f4c0', '84b98f97-8a3f-4f33-af01-cc3636ed7d9e', 'Sub-CPMK-13', 'Mampu menyusun struktur presentasi yang logis dan sistematis untuk menyampaikan hasil proyek capstone.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('4f19dbde-555c-4f62-9dea-0c29b5d57380', 'd50c5efc-f22a-4c48-be63-d567c55ceaa0', 'Sub-CPMK-10', 'Mampu menjelaskan konsep dasar filter FIR dan IIR serta perbedaan di antara keduanya.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('4f5c60a9-13c3-414f-8b86-502382a92bad', '5dc2c785-d60c-4011-8742-84c04cf85e31', 'Sub-CPMK-13', 'Mampu merancang dan mengimplementasikan simulasi trafik menggunakan perangkat lunak khusus.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('4f73fe1e-379e-441a-b5fe-28da5a5e1c21', '2231ca71-6025-40cb-b669-b610c8879df0', 'Sub-CPMK-1', 'Mahasiswa mampu mendeskripsikan prinsip-prinsip dasar DevOps dan bagaimana penerapannya dalam pengembangan perangkat lunak.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('4f8c0846-e603-4d07-b02d-970e4cbe0616', '49ef9317-98af-4158-bca7-8f62ab9b9a81', 'Sub-CPMK-4', 'Mampu menjelaskan hukum Newton dan aplikasinya dalam berbagai situasi fisika sehari-hari.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('4f90d981-ebb4-421d-b0c0-1b9024e9f07d', '7f6db93d-c337-49a7-95ab-06e02aeeb697', 'Sub-CPMK-4', 'Menjelaskan konsep dasar sistem kontrol termasuk definisi, tujuan, dan elemen utama dalam sistem kontrol.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('4fb45f6a-5e63-4f49-98c7-8a297c7e2ce7', '0e87666e-8c23-40c1-ba10-86ac9f409eda', 'Sub-CPMK-13', 'Mampu menganalisis kebutuhan pengguna untuk proyek perangkat lunak telekomunikasi dan menyusun dokumen spesifikasi fungsional.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('4fe28d65-5fed-4ae4-965a-364310fd2d84', '822b4743-e63d-48b7-9cb2-8326e0ee4cab', 'Sub-CPMK-4', 'Mahasiswa dapat mengukur daya pada rangkaian RC dan memahami hubungan antara tegangan, arus, dan daya dalam konteks praktikum.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('5008e2d1-2835-4623-b3cf-a5f66d716acd', '675296b6-3c9a-4db4-b001-5b2868a956a3', 'Sub-CPMK-8', 'Dapat melakukan augmentasi citra untuk meningkatkan akurasi model CNN.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('5020ff58-ccc8-47c1-b281-9b1cc6e637e8', '6cb82ff0-bdcd-400a-8e73-97bbb0c98c8f', 'Sub-CPMK-2', 'Mengidentifikasi karakteristik utama sistem terdistribusi, seperti transparansi, skalabilitas, dan ketahanan.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('50286738-1b5c-4a0c-b598-4ba27037e7ac', 'e3664070-9c30-44fb-8f15-95bd390a1b3b', 'Sub-CPMK-8', 'Mahasiswa mampu merancang sistem konstruksi bentang lebar yang memenuhi standar estetika dan integrasi nilai-nilai Islami dalam desain.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('502ce43c-126b-4315-a2c0-c71bb65343fe', 'b8488742-c1b9-4573-8141-2f9764e2d6a3', 'Sub-CPMK-1', 'Mampu menjelaskan fungsi dan peran masing-masing layer dalam model OSI dan TCP/IP.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('5049eaf3-f2f1-4edd-8271-835a8edfe289', '75d2e99a-94ab-4afd-9524-3f4b2e9f507c', 'Sub-CPMK-7', 'Mampu mengonversi NFA ke DFA dan menjelaskan proses serta algoritma yang digunakan dalam konversi tersebut.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('504a88fd-8b5e-4899-95b6-fbf3b79b2e05', 'eadab676-d441-46a1-83fd-486701eee7b5', 'Sub-CPMK-1', 'Menganalisis kebutuhan pengguna dalam pengembangan aplikasi mobile.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('508a5935-aa1c-4691-869d-cee7130fb137', '422c5e9d-1442-414b-bd9f-fb01795b1b31', 'Sub-CPMK-2', 'Dapat menganalisis dan merancang rangkaian menggunakan transistor bipolar, termasuk penggunaan dalam penguat sinyal.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('508bdebd-3203-49cc-b4e5-fb9e22f75eca', '676350f0-7b29-4b66-8755-ff9707b3a4b3', 'Sub-CPMK-3', 'Mahasiswa dapat menganalisis sifat-sifat barisan dan deret, serta menentukan konvergensi atau divergensi dari deret tak hingga.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('50a30652-d879-41fe-a71d-499c8a76786b', '6a9ae72a-ff12-4faf-a7b7-291175891074', 'Sub-CPMK-12', 'Mampu menganalisis dan menginterpretasikan data hasil pengukuran untuk menentukan efisiensi pengendalian motor.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('50d5719d-eb15-4c67-abcd-7afdb8714ad7', 'd749e7fd-5556-4c60-bbbf-99973eb8f140', 'Sub-CPMK-14', 'Mengidentifikasi dan mendiskusikan isu-isu etika yang muncul selama proses pengembangan aplikasi mobile.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('50d9ad6c-1aa3-4b52-b8bf-8fb1395de5a6', '9d3156b9-708a-466d-b619-061f8d2c6b9e', 'Sub-CPMK-9', 'Mahasiswa mampu menjelaskan konsep dasar dan aplikasi Modul Linear Programming dalam konteks nyata.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('51045f7f-4303-4a2a-890f-3129524d931b', '9537d11e-ef8f-4d91-b2e7-82ff86ea63ba', 'Sub-CPMK-4', 'Mahasiswa mampu mengukur dan menganalisis suhu dan kelembapan di lokasi bangunan serta dampaknya terhadap kenyamanan penghuni.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('511eb45a-5ee6-4a83-b6e3-f5140c39aab7', 'ccbdad7c-5a60-45bc-bd40-8fd707b5764d', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan mendokumentasikan kebutuhan pengguna dalam sistem informasi', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('5132bcb0-1fbe-49be-9114-d99fa70c2528', 'c41ba8eb-52ff-4e2a-b691-4d8d3c2a8e7f', 'Sub-CPMK-9', 'Mampu menjelaskan konsep dasar jaringan seluler dan arsitektur jaringan seluler generasi pertama hingga generasi kelima.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('51340932-0a25-450a-a9e8-1ba18a44731d', '1ce94d41-edde-4717-9077-c38e43efd578', 'Sub-CPMK-9', 'Mampu menggambarkan dan menganalisis sistem bus, termasuk bus data, bus alamat, dan bus kontrol serta interaksinya dalam transfer data.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('51351f8a-fa32-4079-a025-ecb51b90c46f', '6ade6298-7a94-4119-b966-d7b8409c70f4', 'Sub-CPMK-13', 'Mampu menyampaikan ide dan argumen dengan percaya diri dalam presentasi seminar proposal.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('514741f2-6209-4ab6-8a9a-76c24a5e6f58', '465a1c56-5300-4413-8c3d-81cf62b153bb', 'Sub-CPMK-13', 'Mampu menyusun kerangka proposal Tugas Akhir yang mencakup latar belakang, rumusan masalah, dan tujuan penelitian.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('515e7de5-eb66-449f-9f0f-6a0fe38027a8', '3e96c35c-708c-4642-93b2-0f2c188b80f5', 'Sub-CPMK-5', 'Mengembangkan sketsa awal yang mengintegrasikan prinsip-prinsip desain arsitektur Islam dengan mempertimbangkan aspek sosial dan budaya.', 7.14, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('516e6967-84b4-4408-8d11-6876f5c56982', '02f3538a-c975-4482-a655-45d99aee103f', 'Sub-CPMK-12', 'Mampu mengevaluasi dampak lingkungan terhadap degradasi material dan menentukan metode perlindungan yang sesuai.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('517c531c-9c33-4093-afe4-bc4ffe63ef4d', 'b8f36c96-842f-4278-ab7b-97bbfbefa29d', 'Sub-CPMK-7', 'Menghitung kehilangan energi akibat gesekan dalam pipa menggunakan persamaan Darcy-Weisbach.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('5182f378-ebcb-4f97-8fbe-86763904c2c2', '4ecfb362-0d8a-4205-a397-8dbf8e0f5fcd', 'Sub-CPMK-2', 'Mahasiswa dapat menjelaskan konsep dan operasi dasar pada vektor dan matriks, termasuk penjumlahan, pengurangan, dan perkalian.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('5186ced8-79bf-41da-babd-f1695a6fe160', 'bbd602d9-b6fa-48c7-b76b-43eebfb74c6b', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan perbedaan antara metode hisab dan rukyat dalam penentuan awal bulan hijriah.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('5192e8bb-d3a2-42aa-9eb2-4edf0ef81944', 'ea1b62bf-c61e-47ff-b01a-59d84c7ba92b', 'Sub-CPMK-13', 'Melakukan pengujian fungsional untuk memastikan semua fitur aplikasi web berfungsi dengan baik.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('519b694a-1f37-40b0-ac6d-5c2b1c17ac28', 'da086eee-9f26-4066-9f00-c230ff4865a6', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan mendefinisikan masalah yang dapat diselesaikan dengan algoritma kecerdasan buatan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('51b02f4e-6db1-4dff-b305-0b571144fec4', '6b793a21-74b6-45a4-8a76-b270efbc6aec', 'Sub-CPMK-4', 'Menjelaskan definisi dan karakteristik utama dari Internet of Things (IoT)', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('51b58948-f951-4378-99da-0aedd4a45755', '3354dc09-1d2b-4f41-9c43-d4a22fba29a9', 'Sub-CPMK-14', 'Mahasiswa mampu bekerja sama dalam kelompok untuk menyelesaikan studi kasus penerapan algoritma kriptografi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('51b95b27-4730-4f2f-976f-9f3765e3116e', 'c763237f-3dab-44ff-8304-58d879f1f2cb', 'Sub-CPMK-13', 'Mampu merancang dan mengimplementasikan modulator QPSK menggunakan perangkat lunak simulasi.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('51bb5d2c-4fae-4489-8c4b-67d69db3a0d1', '7e2906e0-991b-457b-a269-6a19f101a067', 'Sub-CPMK-2', 'Mampu mengidentifikasi dan mendeskripsikan tipe data yang umum digunakan dalam basis data relasional.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('51bc6714-84de-4b31-aa39-070082dd68a8', 'b70ff447-dc2b-4f12-bdcb-4033b2a4beee', 'Sub-CPMK-11', 'Menganalisis dan menjelaskan algoritma AI yang digunakan dalam suatu sistem berdasarkan prinsip explainability.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('51beda7d-caeb-4d74-8c14-ae67a5988f9b', 'bf36d397-1b0c-446e-b913-9d62bc3b0b32', 'Sub-CPMK-6', 'Mampu memilih dan menjelaskan metodologi penelitian yang tepat untuk menjawab pertanyaan penelitian.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('51c88545-b5e9-4bb8-89fa-bf0e72fac838', 'ed6f8c42-5689-4c7f-a034-1748c7768ad6', 'Sub-CPMK-4', 'Mampu mengidentifikasi variabel yang relevan dalam eksperimen dan mendeskripsikan perannya dalam hasil yang diperoleh.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('51dd8681-535a-4799-a564-63ca8c4b908d', '86232f07-1505-4b7b-958c-03fa0abf86c9', 'Sub-CPMK-7', 'Mampu menjelaskan konsep dasar dan mekanisme kerja Word2Vec dalam menghasilkan representasi kata.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('51ec6af6-7415-4d5d-93a3-c661ce16e51e', '462afe1f-ba31-4da0-892b-61c8dbbd5422', 'Sub-CPMK-12', 'Mampu mengimplementasikan metode Simpson untuk integrasi numerik dan membandingkan ketelitian dengan metode lain.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('51ee90bf-a7fc-431a-a030-004ddd9d797a', '0f8593bd-7fe8-4c3f-9daa-9642a7b837cf', 'Sub-CPMK-7', 'Mampu mengukur dan menganalisis karakteristik IV (arus-tegangan) dari LED dan laser diode.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('51f941a6-62bb-40f0-b0d4-a40a412a70f1', 'd6eb5ae6-7548-4d31-b603-b359874851f2', 'Sub-CPMK-2', 'Mengidentifikasi dan menjelaskan empat pilar utama pemrograman berbasis objek: enkapsulasi, pewarisan, polimorfisme, dan abstraksi.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('523125bf-928b-4101-985d-528cdb7608aa', '0a1b8bd5-67b7-4acd-bf38-003343903213', 'Sub-CPMK-11', 'Mampu merancang rangkaian sederhana menggunakan dioda dan transistor untuk aplikasi tertentu.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('52345ff3-20ca-4926-909c-319ca9e5f197', '32c22ec8-603d-4777-a234-78fec47e98f9', 'Sub-CPMK-11', 'Mahasiswa dapat mengedit file teks menggunakan editor berbasis Command Line seperti nano atau vim.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('525fa7f1-6ffa-48e8-8f31-25733287c47c', '45ace441-3d99-49fe-a715-85a81d051e8e', 'Sub-CPMK-4', 'Mahasiswa dapat merancang dan mengimplementasikan sistem kendali berbasis mikrokontroler yang terintegrasi dengan sumber energi seperti panel surya.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('5268ee3b-a01b-4e65-81fb-e1471303cdcd', 'e17e6247-cad1-4edf-b4ee-c311d7f749ca', 'Sub-CPMK-3', 'Menerapkan teknik dasar dalam pengembangan model Generative AI menggunakan pustaka pemrograman yang relevan, seperti TensorFlow atau PyTorch.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('5269f84c-4407-4ebd-9eac-f9ea9e2c05f8', '754df693-3c53-4b80-b0fa-ff4157443968', 'Sub-CPMK-3', 'Menggambarkan proses pengembangan sistem pakar dari pengumpulan pengetahuan hingga implementasi.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('5274fa0f-1a8c-4ee0-8812-66763b922fb2', 'b6ce517b-f9f5-49fa-a170-6f36ae6e5154', 'Sub-CPMK-7', 'Mampu menghitung aliran daya pada sistem satu garis untuk berbagai kondisi beban', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('527e8acd-02c0-4cfc-bc55-549c6dfdecad', '94816923-e740-44c5-b121-6c4526f5ede1', 'Sub-CPMK-2', 'Mahasiswa mampu melakukan analisis beban dan gaya pada struktur bangunan mixed-use menggunakan perangkat lunak analisis struktural.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('52822551-59b5-4944-9382-30d748d4eb0e', '481d9bd3-c276-4315-82ca-4d0811e255fe', 'Sub-CPMK-12', 'Mampu memproses data sensor yang dibaca menjadi informasi yang dapat digunakan.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('5284749b-4714-4bec-b8e0-fffbe5d231da', 'd52fd749-5e78-4323-abfb-526560c7686c', 'Sub-CPMK-4', 'Mahasiswa mampu menjelaskan perbedaan antara struktur rangka dan struktur dinding beban pada bangunan low-mid rise.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('52a58355-ab8a-4811-9f6b-57a4fba59a0f', '2cbd2d22-521a-439a-875e-e10b77c93d76', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis dampak desain lingkungan binaan terhadap interaksi sosial di dalamnya.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('52ab6a1c-4a19-432e-9459-3d000dfe59d8', '1b4bb38f-5071-47ae-a412-8773a81f8aca', 'Sub-CPMK-2', 'Mengidentifikasi pengaruh budaya lokal terhadap desain arsitektur Islam di berbagai wilayah.', 7.14, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('52c7591d-4715-4818-a78b-febef7b1e50b', 'ec8b0771-e36a-4b67-8252-4e40e2e09372', 'Sub-CPMK-12', 'Dapat mengimplementasikan fine-tuning model BERT untuk tugas klasifikasi teks dengan dataset yang telah disiapkan.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('52dc7567-55e7-41c4-80a7-065376519251', 'bfb66b43-a536-4091-bc9c-4b217f73b45a', 'Sub-CPMK-6', 'Mampu merancang algoritma rasterisasi untuk objek 2D sederhana, seperti segitiga dan persegi, menggunakan bahasa pemrograman tertentu.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('52e155d4-bee7-4006-a89b-b02e69ef364f', '5fb2def0-dc56-4494-b3a6-a661829805f2', 'Sub-CPMK-6', 'Mampu menggambarkan siklus batuan dan peran setiap jenis batuan dalam siklus tersebut', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('52e3561a-b891-49f2-9c9f-c1952913e39f', '48c88b4c-af96-44e1-9b37-420b35c04a2c', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan menerapkan prinsip-prinsip etika dalam presentasi media arsitektur.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('52ea9749-8d0c-4ea8-9ba1-30da0a050680', 'ae32dfd5-3fee-43d7-8464-9ea764b88a2b', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menganalisis isu-isu sosial dan lingkungan yang relevan dalam perencanaan wilayah dan kota', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('5305466f-72c3-47e4-811b-427b029c28d6', '0cc48ed0-2de2-4d7d-aa0f-a01a0c42a395', 'Sub-CPMK-11', 'Mampu menggunakan perangkat lunak simulasi untuk merancang dan menganalisis karakteristik antena sebelum implementasi.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('5308c65b-9c8a-4345-8d0c-4b02d32816ad', 'e1eb0e7b-76ee-4940-9dd2-08d90ff46ef3', 'Sub-CPMK-9', 'Menganalisis algoritma toleransi kesalahan dan dampaknya terhadap ketersediaan sistem', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('53524f52-e78e-4ebb-bd9b-84b0a08b334d', '01127589-4381-44e4-bbda-d5cfad44cdf7', 'Sub-CPMK-4', 'Mahasiswa mampu menghitung beban mati dan beban hidup pada struktur tinggi dengan menggunakan standar yang berlaku.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('5361ef3a-29fe-4ee2-b7eb-a68e9792b270', 'c3b8773c-9f28-4786-89f4-5dbf33616146', 'Sub-CPMK-12', 'Mahasiswa mampu menyusun dan mengorganisir gambar detail konstruksi dalam satu set dokumen gambar kerja yang sistematis.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('5372bec2-54a2-40f2-b636-7abf0c4ba7dd', '45ace441-3d99-49fe-a715-85a81d051e8e', 'Sub-CPMK-5', 'Mahasiswa dapat melakukan verifikasi Hukum Ohm melalui pengukuran dan analisis data yang diperoleh dari sistem yang dibangun.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('538acb2c-beb3-4bf1-a26e-71d33b0c238e', 'abd9160a-5a35-470a-8f21-8e0cd1384e77', 'Sub-CPMK-4', 'Menjelaskan definisi dan sifat dasar dari probabilitas serta contoh penerapannya dalam situasi sehari-hari.', 0.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('539d2526-884e-4c4b-a34b-ae42a5e10074', 'fbd4641f-d9b4-4420-8550-00e7203b2470', 'Sub-CPMK-4', 'Menghitung faktor keamanan lereng menggunakan metode Fellenius untuk berbagai jenis tanah dan kondisi geometri.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('53a8f6d9-63cd-4025-b08b-79555494dbdf', '89cd449a-95eb-41a8-9669-9addb7d6b202', 'Sub-CPMK-10', 'Mahasiswa mampu mengidentifikasi dan menjelaskan gaya-gaya yang bekerja pada struktur bangunan sederhana.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('53aac6c5-c14f-4a8e-961e-34a0aa7238f1', '8f8635d9-b0ff-4f82-96e8-49948434db07', 'Sub-CPMK-12', 'Mahasiswa mampu menyusun presentasi yang efektif dan komunikatif tentang rancangan ruang dalam, mencakup penjelasan konsep, fungsi, dan estetika.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('53b31f75-2ebb-4436-951e-794c431fb770', '261c62d5-9d3d-45ad-a1ea-e22672781173', 'Sub-CPMK-10', 'Mampu melakukan instalasi dan konfigurasi perangkat lunak MATLAB/Python untuk analisis sistem komunikasi digital.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('53c272c2-e491-4111-86dc-98464a2fdcd3', 'ce511e5e-d1cb-4614-aecc-2609afec52e5', 'Sub-CPMK-5', 'Mampu menerapkan logika pemrograman dalam menyelesaikan masalah sederhana menggunakan struktur kontrol seperti percabangan dan perulangan.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('53c8e69a-c559-4f33-a465-feb880c9c938', '6514fbba-c96f-43fc-a729-a664b65acefb', 'Sub-CPMK-13', 'Mahasiswa mampu menggambar denah utilitas bangunan menggunakan perangkat lunak desain teknis.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('53cf15d4-6de2-4231-93c2-35c85325bcab', 'a107aadf-ea8e-41e1-b0fb-dbd249306382', 'Sub-CPMK-11', 'Mampu merumuskan nilai-nilai pribadi yang mendasari kode etik sebagai perencana wilayah dan kota.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('54232d99-95e3-4488-988c-859a41db7691', 'd2dca31a-6e13-43fc-9236-d428f56cc54b', 'Sub-CPMK-9', 'Mampu menggunakan JavaScript untuk validasi form input sebelum data dikirim ke server.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('542605cc-b4b6-4ca4-8f6f-66daeea5a1ec', '61af494f-9973-4906-b30f-748f5b6e2dad', 'Sub-CPMK-7', 'Mampu mengukur dan menganalisis throughput pada berbagai jenis protokol jaringan dalam skenario yang berbeda.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('5426e76c-737c-4818-a336-0becac0adc77', 'aa59e918-458c-4cde-9a6e-15c27325235d', 'Sub-CPMK-4', 'Mahasiswa mampu menggunakan statistik dasar untuk mengumpulkan, menganalisis, dan menginterpretasikan data yang relevan dalam desain arsitektur.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('5428bbf8-505f-4bd5-9c38-00e4582da436', 'fa7ec9e6-aa8e-4220-a4bd-0065045c46d1', 'Sub-CPMK-8', 'Mahasiswa mampu merancang layout bangunan dengan mempertimbangkan kebutuhan pengguna dengan disabilitas.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('542e8b94-0cc3-4b01-b369-04b07b3711e6', 'bc558f10-5bce-4557-bf11-4fdd6c127984', 'Sub-CPMK-11', 'Mampu mengimplementasikan sistem logging terpusat menggunakan ELK Stack untuk aplikasi microservices.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('543734b5-8900-4c33-8d89-cf8f7a2f6766', '9c27cbfb-13eb-47ae-ae08-41b6bcba38ca', 'Sub-CPMK-5', 'Menghitung entropi dari berbagai sumber informasi menggunakan rumus Shannon.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('5440735d-aa68-4dd2-b6e6-da8d5e8bbb5c', 'd9dd8093-6611-4299-b4a4-03bd9675940f', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan menganalisis komponen struktur bentang lebar dalam laporan teknis.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('54443e8c-30da-42b7-9d31-22fc9f18cad9', '6186c002-78d1-4035-9240-e60e54213d16', 'Sub-CPMK-1', 'Mahasiswa mampu mendefinisikan dan memberikan contoh konkret dari himpunan serta notasi yang digunakan dalam himpunan.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('54453ed3-d1be-42d9-b32c-d31028c2a580', '577a4584-1bdc-4c12-9f61-aade37878f2a', 'Sub-CPMK-1', 'Mampu mengidentifikasi dan merumuskan masalah profesional yang dihadapi di lapangan secara sistematis.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('545de319-12e4-4c82-8fdb-a4586399dbab', '706a9ac1-64e0-4f42-b4b0-262879c321aa', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan tahap-tahap dalam siklus hidup proyek arsitektur dan konstruksi.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('545dff37-7304-4a20-870d-789e12a879c7', 'bada7176-f930-465d-b177-b5a73522bce5', 'Sub-CPMK-12', 'Mengembangkan strategi pemasaran yang ramah lingkungan untuk rencana bisnis', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('54903c36-c5f3-4849-8f3c-a9042765459d', 'ed6d2b52-a06e-4951-ae59-4a41c5cd101c', 'Sub-CPMK-5', 'Mampu menganalisis distribusi medan listrik pada berbagai jenis isolator.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('54bf892c-889f-4e17-82b2-046570a47aeb', 'ccd0447c-e287-43e7-9e00-92f9945cdc5a', 'Sub-CPMK-11', 'Menganalisis teknik enkripsi yang digunakan untuk melindungi data dalam sistem terdistribusi.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('54d7b836-b691-48a1-89c9-383ddce960f8', '03cd8417-7d3e-4535-b4eb-e7e985235a8a', 'Sub-CPMK-11', 'Mampu menggunakan struktur data yang tepat (seperti stack, queue, atau linked list) dalam implementasi algoritma di Java.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('54f739d4-b299-415c-ad77-6dd69bc822ba', 'c1805052-d064-45a3-8fb5-3fa4141c233e', 'Sub-CPMK-12', 'Mampu melakukan preprocessing data sensor untuk digunakan dalam algoritma pembelajaran mesin pada mikrokontroler.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('5508c312-1db8-43f6-b54e-4683e9fe99e6', '794a74b1-260f-455d-ae77-8e37dc737eb9', 'Sub-CPMK-10', 'Membuat dokumentasi teknis untuk pipeline otomatis yang dirancang.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('55368aaa-8f5e-4e69-b1f7-9a15c1c3d0de', '007ab743-1d0a-4701-ad65-903ea88c798d', 'Sub-CPMK-9', 'Mahasiswa mampu merancang elemen bangunan yang memenuhi kriteria estetika serta nilai-nilai budaya dan Islami dalam konteks arsitektur.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('55619d4b-34e1-42db-b8a7-143b373a73af', '3731bb62-7410-40b9-a7dc-f5eac7287e7f', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menganalisis masalah sederhana dalam sistem teknik elektro yang dapat diselesaikan dengan program modular.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('556f2e3c-a098-4c67-9b76-c27be5a70fee', '2d515a2c-23f1-47a7-b852-090c59710861', 'Sub-CPMK-14', 'Menyusun diagram alir proses pengolahan air dan distribusi pada jaringan perpipaan', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('55838935-aa30-4e9f-bb6b-5f571132d619', '9ef3a9c6-53a9-4542-b814-ee1e6ab22364', 'Sub-CPMK-14', 'Menunjukkan kemampuan komunikasi yang efektif dalam presentasi hasil proyek cloud-native kepada pemangku kepentingan.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('55da9ae9-c5b6-404d-864e-827002e143f7', '452834fe-cab5-4158-bee0-ec3fb5e88785', 'Sub-CPMK-4', 'Mahasiswa dapat menjelaskan definisi dan karakteristik data mining secara rinci.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('56188901-6aa1-4883-8d7d-bebe5ac8f7f3', 'b7357d23-1e2e-4062-b2f2-6a4f5ef2bd62', 'Sub-CPMK-9', 'Mampu menulis tinjauan pustaka yang relevan dan terstruktur untuk mendukung ide penelitian.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('563478cb-a7af-45d6-b644-a9d6e33220b4', '36a3b727-f37d-4bf1-89a0-fa2fb4d97cd5', 'Sub-CPMK-14', 'Merancang prototipe aplikasi berbasis AI yang memberikan solusi praktis untuk masalah sehari-hari umat Islam, seperti manajemen waktu shalat.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('56581ae9-56f5-4e78-ab8e-98434e05d3d8', '51deb58c-e3f6-41a7-b80d-3b3184e5035f', 'Sub-CPMK-5', 'Mampu menerapkan metode substitusi untuk menghitung integral fungsi rasional dan trigonometri.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('566e9691-11e1-4b4a-b15e-4463b31969a9', '41e99ec8-2435-4c65-8910-e8576f5944bf', 'Sub-CPMK-1', 'Mahasiswa dapat mengidentifikasi dan menjelaskan fungsi dari setiap part of speech dalam kalimat bahasa Inggris.', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('56701953-5bfe-4fc6-a74f-8970911f7ffc', 'a178c857-2854-4c08-a3ea-70c518ee9b5e', 'Sub-CPMK-4', 'Menjelaskan definisi dan tujuan dari penetration testing', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('56a73bd0-8304-4ce6-8d53-4445d7bea8eb', '81ed0bf2-1356-4892-9728-86b31b1d16b4', 'Sub-CPMK-5', 'Mampu menghitung parameter radiasi antena seperti gain, directivity, dan pola radiasi', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('56ab6235-9994-479a-9ac3-4ae3af071a10', '3a9c43c3-a6ec-4265-a018-fc1b810c01d9', 'Sub-CPMK-9', 'Mampu merangkum informasi penting dari teks-teks teknis dalam bahasa Inggris dengan akurat.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('56c05e76-b9c0-4ee9-afb7-7f88078c6cbc', '5bf2ba15-3b73-41d3-9023-08466d31fd30', 'Sub-CPMK-3', 'Mahasiswa dapat menerapkan metode analitik untuk menyelesaikan persamaan diferensial sederhana.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('56cbafe8-7e7f-4b15-a8c1-6abf1a6dd2a3', '83fdb1af-5c20-4658-99d7-ad3fc228cc09', 'Sub-CPMK-10', 'Mahasiswa dapat menganalisis dan mengevaluasi karya seni berdasarkan nilai-nilai humanis yang terkandung di dalamnya.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('56d23ddb-2070-4fa5-aa6f-7aec350fcf3c', 'c5e8e72f-68f7-4c10-b81e-dc42d0357bdc', 'Sub-CPMK-8', 'Mampu menggambar dan menjelaskan pola radiasi antena untuk berbagai jenis antena.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('56ef09ce-9385-41c8-b4aa-331953038685', '23e7d70b-2a4d-4f2d-9d8e-cfd3b64209cf', 'Sub-CPMK-5', 'Mampu menganalisis pengaruh perubahan frekuensi terhadap kestabilan sistem tenaga listrik.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('570bbc8e-52d8-4b4b-92de-4997444d2d87', 'cef751a2-377d-4f57-8324-fe85b76bb8db', 'Sub-CPMK-5', 'Mampu menerapkan teknik peningkatan citra seperti kontras, brightness, dan filter untuk meningkatkan kualitas citra.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('571235ee-1de0-4a1a-9257-e9c6c21a3a70', 'dd5a082a-3679-4db6-9bb7-4119c5ea6664', 'Sub-CPMK-4', 'Mampu menghitung limit fungsi satu variabel menggunakan definisi epsilon-delta.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('571836d1-0ede-420a-9b03-1cd9feedff3f', '52fff22e-a0a7-48e6-918c-224a5b7f92e8', 'Sub-CPMK-3', 'Menggunakan alat dan teknologi dasar dalam data engineering, seperti Apache Hadoop atau Apache Spark, untuk memproses data besar', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('57271f52-a906-4c4b-8931-992ff3ff28b4', 'e3acfd27-089d-448e-8193-6e81e8492b9d', 'Sub-CPMK-7', 'Mahasiswa mampu mendeskripsikan pengertian fungsi dan membedakannya dari relasi.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('57283aa6-1436-47a6-972f-dd62fce9303b', '2f587695-4d29-4fd3-b090-74d7cedbecff', 'Sub-CPMK-7', 'Mampu menghitung derau yang mempengaruhi sinyal dalam sistem komunikasi digital.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('573fb9c9-4235-4f23-a0b3-95a48387d1bf', '08522c5f-e17f-4702-b736-e4f6ffccdff8', 'Sub-CPMK-11', 'Dapat merancang denah bangunan yang mengintegrasikan unsur-unsur arsitektur hijau dengan mempertimbangkan pencahayaan alami dan ventilasi.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('574aa768-e889-4388-b2af-e60a6690cfef', 'df3484b1-04a7-4837-96e9-abdcf42191bd', 'Sub-CPMK-5', 'Mahasiswa mampu menganalisis regulasi tata ruang yang berlaku dan dampaknya terhadap pengembangan kawasan perkotaan.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('574f0b17-1c8f-4e45-bd3d-37fa9b687328', '87900009-df01-4883-a1c9-8a1f147eca28', 'Sub-CPMK-13', 'Menganalisis laporan kecelakaan kerja dalam suatu studi kasus untuk mengidentifikasi faktor penyebab dan solusi penerapan K3 yang tepat.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('575a6b79-6339-4d1b-92d8-9442316d7b8f', '82c27418-c596-423e-b53c-1b5af7a67c4a', 'Sub-CPMK-14', 'Menggunakan alat debugging untuk melacak alur eksekusi program Java.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('5761ee3d-37c2-448b-b0aa-7d6c837902ef', 'ee941851-5e89-4f9f-bdc8-33da71a00cef', 'Sub-CPMK-8', 'Mahasiswa dapat menghasilkan sketsa desain awal yang mempertimbangkan pengaturan massa bangunan berdasarkan data iklim lokal.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('57809bd9-9f6f-4c47-9596-6382495c43be', '592eab5a-bab9-4f58-b0c3-9285f822df6c', 'Sub-CPMK-10', 'Dapat mengimplementasikan logika bisnis aplikasi menggunakan bahasa pemrograman server-side seperti PHP atau Node.js.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('578243ab-8663-4954-8885-4750f894ca0f', 'ae73607c-a81c-43da-ba7c-041347a686b7', 'Sub-CPMK-6', 'Mampu membuat sketsa wireframe antarmuka pengguna yang sesuai dengan prinsip desain IMK', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('5795ceef-4eb1-4beb-8211-a7e6658e8ebd', '4226fe52-1604-4b24-8627-4e5872d518b8', 'Sub-CPMK-11', 'Mahasiswa dapat membuat diagram kotak untuk menggambarkan penyebaran data dan mengidentifikasi outlier.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('57a94671-5210-4ef7-8c62-c8adaecfe5ec', 'b2b40d86-f12b-4d2b-9345-21bb8db64633', 'Sub-CPMK-6', 'Mampu menghasilkan minimal tiga alternatif solusi kreatif berdasarkan hasil analisis yang telah dilakukan.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('57de679a-31a5-41f7-a5c6-38d019d33880', '8be6179d-5348-4e5a-bced-07e3669b3780', 'Sub-CPMK-10', 'Mampu mengimpor data pengukuran tanah ke dalam perangkat lunak pemrosesan data.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('57dfe7f2-3b5a-4328-bdcc-8f1d8a7db592', 'e70387ce-b7b6-405a-ad19-aa6a36fa7fc8', 'Sub-CPMK-6', 'Mampu mengevaluasi efektivitas solusi teknis yang dikembangkan melalui pengujian dan umpan balik dari pengguna.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('57f4108d-6faa-487e-ac59-95705b193765', 'acc4678a-8ae7-497b-8db9-26674b1a65df', 'Sub-CPMK-9', 'Membuat rekomendasi kebijakan berdasarkan analisis dampak etis dan sosial teknologi AI untuk masyarakat Muslim.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('5800f0a6-465e-4e38-acc1-4bff3be7a6a8', 'fbcafb4c-4939-4186-bcaa-156f5de14207', 'Sub-CPMK-12', 'Mampu merancang simulasi untuk menguji pengaruh parameter QoS terhadap performa sistem komunikasi menggunakan pendekatan AI.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('580262f5-4251-4a20-b40a-406204d62eb7', 'a6fc2d1f-a33b-47dc-92ed-12b2bd5a36ae', 'Sub-CPMK-2', 'membedakan jenis-jenis perangkat lunak dan menjelaskan peranannya dalam sistem komputer', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('583f309c-03c5-41de-8731-3add94571df0', 'acae30a0-b760-47df-b4fb-df4beebd385a', 'Sub-CPMK-14', 'Mahasiswa mampu menghitung dan menginterpretasikan koefisien korelasi Pearson antara dua variabel.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('58466796-3767-4b2a-85d6-e1bc5a8d3550', 'feb53413-8722-4da3-ab81-f6a47484900b', 'Sub-CPMK-11', 'Mampu mengidentifikasi dan mengklasifikasikan jenis ancaman siber menggunakan framework Mitre ATT&CK.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('5856205e-e0c9-45e3-b2c8-de32e7c628da', '33952edd-1b2e-4137-862f-13acce98b724', 'Sub-CPMK-14', 'Mahasiswa dapat menganalisis dampak positif dan negatif dari satu teknologi elektro terbaru terhadap lingkungan.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('58732373-034c-4865-a0c4-533d258b2111', '76bc7f8f-11aa-4a3a-b4bd-bf06bb699823', 'Sub-CPMK-14', 'Mampu menyampaikan hasil testing dan QA secara jelas dan efektif kepada berbagai pemangku kepentingan.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('588a1312-9c57-469a-b05a-1e51309d1111', '077507ec-a961-4fa5-bfa3-2c6c626a7b78', 'Sub-CPMK-1', 'Mahasiswa dapat mengidentifikasi dan menjelaskan fungsi dari komponen elektronika daya seperti dioda, transistor, IGBT, dan SCR.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('588c2431-6c79-4cc3-8032-a4c5c17f23d6', '57d259c7-45e4-49c4-96b0-e26929b8f192', 'Sub-CPMK-9', 'Mampu menulis dan menjalankan perintah SQL dasar seperti SELECT, INSERT, UPDATE, dan DELETE pada tabel basis data.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('58a5743d-13d8-40bf-86be-f6e6b666c360', '918d1daf-8f4d-405d-83be-0b6ef2f91755', 'Sub-CPMK-12', 'Mahasiswa mampu merumuskan strategi pemasaran yang efektif untuk rencana usaha yang dibuat.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('58b21fed-8c6f-4c75-b6f8-94b7b4a398d7', '1d5f913d-de97-412c-a4a9-eb7a6078c2e6', 'Sub-CPMK-14', 'Dapat mengidentifikasi dan menganalisis risiko keamanan yang terkait dengan praktik cloud dan memberikan rekomendasi mitigasi yang sesuai.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('58c7ebeb-0e91-46fc-babc-83056290906b', '0c834b63-79fb-4e5f-8408-5466747894da', 'Sub-CPMK-7', 'Mahasiswa mampu mendefinisikan konvolusi dan menjelaskan fungsinya dalam pengolahan citra.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('58cf13c9-d2da-4455-aaf4-982084f06fa7', '98d34800-c46e-4d87-a189-144b8557af41', 'Sub-CPMK-3', 'Melakukan pengujian kualitas air di laboratorium untuk menilai kesesuaian dengan standar baku mutu.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('58d8ca5e-4f48-4c37-acb8-aed757f37baa', '5683f025-833e-40b6-bb60-502f731456b1', 'Sub-CPMK-12', 'Mahasiswa mampu menganalisis faktor-faktor sosial budaya yang mempengaruhi pengambilan keputusan dalam konteks profesional.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('58deb490-68e4-41cb-ae78-5ed8e5717a12', 'c82692a4-4ec9-46bf-a5a3-cd95b7830df9', 'Sub-CPMK-2', 'Mahasiswa mampu merancang zonasi fungsi campuran yang optimal dalam suatu kawasan dengan mempertimbangkan aspek keberlanjutan dan aksesibilitas.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('58e07f35-893c-49ad-8e4f-62e129fbad9c', '7e52569d-2470-4d76-adba-b670b873bd0e', 'Sub-CPMK-9', 'Mahasiswa mampu mengintegrasikan prinsip-prinsip nilai Islami dalam desain elemen permukiman, seperti masjid, ruang publik, dan area hijau.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('591d1248-48f7-42e8-8914-92d470b3527c', '431f054a-a1c2-4689-850c-6bef3a925cf4', 'Sub-CPMK-12', 'Dapat melakukan preprocessing data teks dengan menggunakan teknik tokenisasi yang tepat untuk model GPT.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('59257346-cabd-422c-b5c5-96b41c26968c', '02d51508-b5c0-49d6-b60a-d02802e615ee', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan konsep dasar kecerdasan buatan dan machine learning serta aplikasinya dalam sistem komunikasi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('59511759-f90d-4b74-9388-f7566919fed4', 'ef3ba8fa-04b2-4581-b9f6-2cc138c9852b', 'Sub-CPMK-9', 'Mahasiswa mampu menjelaskan konsep dasar fungsi hash dan karakteristiknya dalam kriptografi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('595fa3d9-ea06-4f37-bcf7-b0663d356496', 'f5badad3-824f-4eeb-aaee-1f6dce6aef8c', 'Sub-CPMK-11', 'Mampu menerapkan teorema Cauchy-Riemann untuk menentukan keberadaan turunan fungsi kompleks.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('5962d060-daa4-4d8e-a26c-2213837fc184', '44423ae3-4020-4976-98c6-7cfb9c138902', 'Sub-CPMK-4', 'Mampu merancang dan mengimplementasikan komponen yang dapat digunakan kembali (reusable) dalam aplikasi mobile.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('596481f9-895b-4c96-91bd-2d4801206d81', 'ee22cc57-951b-4a9c-9701-69ab19ef6614', 'Sub-CPMK-5', 'Mahasiswa mampu merancang sirkulasi yang efisien dan ramah lingkungan dalam konteks desain terpadu.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('596760cf-f22c-4c47-91e7-288e53d15a2d', 'b63cbb6d-6127-46ed-9153-91a9e916109b', 'Sub-CPMK-3', 'Mahasiswa dapat menganalisis dan membandingkan efisiensi antara berbagai jenis looping dalam konteks penggunaan memori dan waktu eksekusi.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('597b4a3a-aba0-4397-b888-b56967ebab10', 'e0447d2c-389e-4d8e-84f7-26b43d1c0679', 'Sub-CPMK-2', 'Mahasiswa mampu menganalisis pengaruh iklim tropis terhadap pemilihan material bangunan yang sesuai.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('599c6482-f150-4a68-a67e-57a5601caa87', '66df9227-cf33-402d-9d85-c6dd0f03fa3f', 'Sub-CPMK-2', 'Mengidentifikasi dan menerapkan standar ukuran dan skala yang tepat dalam gambar teknik.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('59b0746d-933d-4003-9d09-4d9ad9605440', '5113ae1a-1e77-4fa3-8a7e-c261d4b236bf', 'Sub-CPMK-12', 'Mampu mengidentifikasi jenis-jenis grafik yang sesuai untuk berbagai tipe data.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('59b59cab-8dd5-44e8-8c19-8a8b4f53a286', 'b4f46ee8-7d4b-4293-8fb8-4aed4f12f08a', 'Sub-CPMK-5', 'Mahasiswa mampu merancang pondasi dangkal dan dalam sesuai dengan kondisi tanah dan beban struktur.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('59e30300-f475-4fa7-8d48-454ba71d3b27', 'ba386529-1e91-4028-b6c6-52861f0d14be', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan mengumpulkan data yang relevan untuk analisis mekanika teknik dari sumber yang terpercaya.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('59f30cb1-ed4d-4451-92c4-df5f6834e8d3', 'ef3ba8fa-04b2-4581-b9f6-2cc138c9852b', 'Sub-CPMK-10', 'Mahasiswa mampu menerapkan algoritma hash seperti SHA-256 untuk menghasilkan nilai hash dari suatu data.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('59f3f45f-6660-4c80-943b-971dbebedfee', '97327e5a-d85a-49ce-acad-bda6100115c4', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar pengukuran informasi menggunakan entropi dan redundansi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('59fef1a6-cab9-4120-8dc3-2c56f04c821d', 'f04b783f-ede0-474c-a6c7-9313730e9f26', 'Sub-CPMK-7', 'Mampu mengidentifikasi berbagai jenis media transmisi seperti kabel, fiber optik, dan wireless serta menjelaskan kelebihan dan kekurangan masing-masing.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('59ff125a-7a5e-4456-9b32-d9e3d6ba2db0', '546ab82b-0344-4a5b-91ce-fe91559eca30', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan komponen utama geosfer Bumi dan karakteristik masing-masing komponen', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('5a169ac8-52ea-47d7-a25d-591e20c346e4', '6cbf3c74-a7ef-428c-8d15-0372bb4f95a0', 'Sub-CPMK-6', 'Mampu mengidentifikasi modus dari data dan menjelaskan maknanya.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('5a2de6eb-d9f8-470c-9f56-f1e6863412dd', 'acb7fbee-ca02-4822-8fa2-0c95313a5b5f', 'Sub-CPMK-2', 'Mahasiswa dapat merancang sistem struktur bangunan mixed-use dengan mempertimbangkan aspek fungsional dan estetika yang sesuai dengan lingkungan sekitar.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('5a325eec-b359-4d26-9d68-91375a580bb1', 'e15e7947-8788-4733-9403-4100142f003e', 'Sub-CPMK-1', 'Mahasiswa dapat mendefinisikan Riset Operasional dan menjelaskan pentingnya dalam pengambilan keputusan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('5a488145-cadb-479f-8075-7abbbb868407', 'bd5e7ae4-f9fe-4a76-aa18-393a3bc0de40', 'Sub-CPMK-7', 'Mampu merancang dan mengimplementasikan program untuk mengendalikan tampilan Seven Segment dengan input dari tombol atau sensor.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('5a805f81-7479-4219-b525-1919ba368803', '308a5f32-1751-4986-9071-7fced3a9cfd3', 'Sub-CPMK-1', 'Mampu menjelaskan konsep dasar stabilitas sistem tenaga listrik, termasuk stabilitas tegangan dan frekuensi dalam kondisi steady-state.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('5a864d48-03dc-4605-8fa5-c53f8a294d9b', 'f613c7d9-d49d-4ae0-b150-8c43c517787d', 'Sub-CPMK-6', 'Mengidentifikasi tanda-tanda serangan APT dan langkah-langkah mitigasi yang dapat diambil.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('5a8693a9-2f27-40bd-a46d-171d8f306ae3', 'b665d3b3-5ed5-4d75-911c-be2c31dd8a0b', 'Sub-CPMK-13', 'Mampu mengoperasikan perangkat lunak PVsyst untuk merancang sistem photovoltaic dan menganalisis hasilnya dalam konteks efisiensi energi.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('5a9478f1-8aac-48e3-be7c-12d679a9ad79', '3875fde2-36ad-4dd0-8e8f-59882827644d', 'Sub-CPMK-8', 'Mampu mengevaluasi dan membandingkan berbagai teknologi efisiensi energi yang dapat diterapkan dalam distribusi tenaga listrik.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('5a97b6e1-460f-4b33-9989-c4b5e0f5f616', '384637dc-91ae-4d0d-a9ad-8dfda8e32f90', 'Sub-CPMK-12', 'Mahasiswa mampu menggunakan berbagai teknik visual dalam media manual untuk mendukung presentasi desain mereka.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('5a9d95a8-5f08-43ee-993d-ef975551b3ff', '45ace441-3d99-49fe-a715-85a81d051e8e', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan arsitektur dasar dari mikrokontroler Arduino serta fungsinya dalam aplikasi pemrograman.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('5aa20814-3afe-4924-a118-61df3191ecc7', 'cfe49560-262b-42ad-b843-32838e9dd7ec', 'Sub-CPMK-11', 'Mampu menggunakan transformasi Fourier untuk menganalisis spektrum frekuensi dari sinyal periodik.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('5ac72c3a-b176-4a0a-b9e8-b1d4e5fdb548', '4f07a584-3272-4011-8c4c-c180179ca697', 'Sub-CPMK-2', 'Menerapkan teknik penetration testing untuk mengevaluasi kerentanan pada sistem jaringan.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('5ac75098-a266-4fd8-a576-4beda33c057d', '0c834b63-79fb-4e5f-8408-5466747894da', 'Sub-CPMK-8', 'Mahasiswa mampu menghitung konvolusi antara dua citra menggunakan metode manual dan perangkat lunak.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('5ae2cd78-bdab-4424-8916-c6cc5c201be6', 'a85d9ee0-14cc-4c77-a112-41361e22d7ef', 'Sub-CPMK-4', 'Mampu mengidentifikasi jenis-jenis beban yang bekerja pada struktur bangunan, seperti beban mati, beban hidup, dan beban lingkungan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('5afcc4a1-765d-4f85-859f-6b8abf1cdd49', 'fd4dee7f-2713-4344-89e2-c497c18e4828', 'Sub-CPMK-6', 'Mampu mengklasifikasikan sistem sebagai linear atau non-linear berdasarkan definisi matematis dan contoh.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('5b06b173-b068-44b2-b3ba-4f99d9a2e6b3', '23a59c25-7d53-4073-8224-a955efde51b2', 'Sub-CPMK-10', 'Mahasiswa dapat menganalisis kebutuhan infrastruktur kota berdasarkan karakteristik pengguna dan konteks lingkungan.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('5b25ef03-a57e-4771-9f26-db0e6e9e6fe2', '223800af-bae4-46fb-8242-003333c9e242', 'Sub-CPMK-2', 'Mahasiswa mampu menganalisis kasus-kasus nyata terkait tanggung jawab sosial insinyur dan memberikan solusi yang sesuai dengan etika dan regulasi yang berlaku.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('5b338e00-662e-44d3-8e32-b23aedbe0e9f', '17d208f7-4932-473e-af5f-342185b2c259', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan dan menerapkan bilangan dan kode digital dalam konteks sistem digital.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('5b3a265f-34ba-47a6-88b4-1d425d30d0eb', '5b55413d-0bad-4b5b-9667-da25f4dbeb4b', 'Sub-CPMK-12', 'Mahasiswa mampu mengevaluasi berbagai sistem sambungan pada konstruksi baja untuk mendukung desain arsitektur.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('5b3bc6fc-a366-4cae-bfd8-4ab8d4512c54', '822b4743-e63d-48b7-9cb2-8326e0ee4cab', 'Sub-CPMK-1', 'Mahasiswa dapat menggunakan multimeter untuk mengukur arus, tegangan, dan resistansi dalam rangkaian listrik DC dengan akurasi yang sesuai.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('5b4660c4-aea0-41a7-8ae3-a5f9ba25544c', '24677655-d8fa-4b48-9826-5d04add13f66', 'Sub-CPMK-5', 'Menerapkan hukum Newton untuk menyelesaikan masalah terkait gaya gesek dan gaya normal.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('5b467640-5a43-43a5-953f-873c03b387ae', 'd79ecb53-0635-4ae1-a9b8-72cd0ae5d746', 'Sub-CPMK-6', 'Mampu mengoperasikan alat ukur total station untuk mengumpulkan data topografi dan menghasilkan peta dasar.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('5b53a9f5-f7b3-4ca5-b6c9-5cb2242d0224', '474f080b-2496-4631-81f0-c365ddf9dbf1', 'Sub-CPMK-13', 'Mahasiswa dapat mengimplementasikan metode numerik dasar menggunakan bahasa pemrograman Python atau MATLAB.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('5b83aa15-369a-4138-a8ce-d3315fe7f937', 'e329c04f-f17e-4489-8a97-f249eaf09ed4', 'Sub-CPMK-5', 'Menganalisis dan mengidentifikasi potensi risiko keamanan pada tahap perancangan perangkat lunak.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('5b95f82c-8d3c-46ed-bfc8-1e7d35308989', 'f8201506-e9d4-47cf-bbf2-b084b0d90cb8', 'Sub-CPMK-10', 'Menjelaskan pengertian dan karakteristik larutan elektrolit serta perbedaannya dengan larutan non-elektrolit.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('5b98ea37-d726-443e-895d-ae776d3412cf', '5a674a9b-67b4-43f6-b284-03b891d19412', 'Sub-CPMK-11', 'Mampu mengimplementasikan algoritma rekursif untuk menghitung faktorial dalam kode Java.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('5bbb0ae1-4db9-4290-8bd0-874847e87f07', '022ab92a-ea4e-4d57-a1e5-728611754fca', 'Sub-CPMK-2', 'Menggunakan kalkulus dasar untuk menghitung area dan volume bentuk-bentuk geometris yang sering digunakan dalam desain arsitektur.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('5bbb7bd5-1b19-42c8-8080-ae4e4a15a117', '4188f8f2-d20c-458e-a872-947d409a50c4', 'Sub-CPMK-6', 'Menganalisis kondisi resonansi dalam rangkaian RLC dan dampaknya terhadap performa rangkaian', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('5bca1244-4d17-4ac9-8943-22bff747d8ee', 'aa4fe5a4-4018-4932-8698-8f5cb14529ad', 'Sub-CPMK-9', 'Mampu melakukan instalasi dan konfigurasi perangkat lunak dasar pada sistem operasi.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('5bd5fe66-a18a-4818-be2c-948a52b0d24e', '310fc58e-a0c1-40f6-83e8-af0f19a1443b', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menjelaskan kesalahan sintaksis dalam kode HTML dan CSS.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('5bfb055a-8061-46e0-996d-f541a6d141bc', '76bc7f8f-11aa-4a3a-b4bd-bf06bb699823', 'Sub-CPMK-13', 'Mampu berkolaborasi dalam tim untuk merancang dan melaksanakan strategi testing yang efektif.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('5c029687-7432-4524-99da-a8fbbf4a2fdd', 'ba87d93f-db7b-49b6-93bf-b1cc7dbb94ef', 'Sub-CPMK-1', 'Mampu menjelaskan arsitektur dasar dari aplikasi cloud-native dan perbedaannya dengan aplikasi tradisional.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('5c0a70e1-452f-4b4e-beff-9708a7ecbf63', 'f42141c8-003c-43e6-9def-ab140be75693', 'Sub-CPMK-2', 'Mahasiswa dapat membuat model matematis sederhana untuk sistem dinamik menggunakan persamaan diferensial.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('5c5572bd-2dc2-4cc0-aff9-d331de1e5ae4', 'b512214e-b851-4a0a-b2ff-5a4e3ed03059', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menjelaskan minimal tiga contoh pelanggaran kode etik dalam praktik perencanaan.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('5c770bac-a63d-4711-be8d-2c93c0a35723', 'df3484b1-04a7-4837-96e9-abdcf42191bd', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan memetakan elemen-elemen fisik dan sosial yang mempengaruhi struktur ruang kota.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('5c7c8e3f-2d19-470d-bf06-fa41f0874080', 'f89f772f-c1a3-4dbc-9368-c0d2e9a83416', 'Sub-CPMK-13', 'Mampu membuat dan mengelola akun email, serta memahami fitur-fitur dasar yang ada dalam layanan email.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('5c7d2989-3edd-410e-912e-4076bfe22be7', '529a00eb-5502-48ed-8752-8c6bc7467caf', 'Sub-CPMK-6', 'Mampu menyusun spesifikasi kebutuhan sistem yang jelas dan terukur berdasarkan analisis yang dilakukan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('5c8a1e87-a33b-4c42-b8b8-d5dc66d5e7d9', '4625daf4-6ca4-4a42-ac24-7aa68fcf4b01', 'Sub-CPMK-8', 'Mahasiswa dapat merancang fasad bangunan dengan mempertimbangkan ventilasi alami dan pencahayaan untuk mengurangi penggunaan energi.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('5c9a4cf8-e4c4-46ed-887e-d591be03d6dd', '05d9b352-438a-47c7-a818-baacaf851d42', 'Sub-CPMK-10', 'Mampu mengembangkan model fuzzy untuk mengoptimalkan distribusi beban dalam sistem tenaga listrik', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('5caa0334-9ba8-4fd9-9d7e-b1aba0b8a0e3', 'a107aadf-ea8e-41e1-b0fb-dbd249306382', 'Sub-CPMK-12', 'Mampu menyusun sebuah draf kode etik pribadi yang mencakup tanggung jawab sosial dan profesional.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('5cb76657-8c4c-4502-855b-1725bd493dda', '6deef5ab-41b1-45d3-871d-ff49a4a5560e', 'Sub-CPMK-12', 'Mampu melakukan eksperimen untuk mengukur medan listrik dan medan magnet serta menganalisis pengaruhnya terhadap komponen elektronik.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('5ced66c4-8db4-4421-a2a7-2030e6fdfc57', 'c39fa27c-0391-4883-871d-dc08e47ec5ec', 'Sub-CPMK-11', 'Mampu mengidentifikasi tantangan sosial yang dihadapi dalam penerapan prinsip-prinsip AIK di komunitas tertentu', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('5d0bb9a5-d9f0-4b24-a6c0-44f4eb552978', '4363cf85-fd13-4e13-b22a-556d4ab64e23', 'Sub-CPMK-11', 'Mampu mengidentifikasi dan menganalisis kerentanan dalam sistem yang diuji menggunakan metode penetration testing.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('5d1a6af5-ed56-4327-809c-7124825270ff', 'd7838638-3f39-4029-bdc7-b7a6f284eea5', 'Sub-CPMK-7', 'Mampu menjelaskan prinsip kerja dan komponen utama dari rangkaian rectifier dalam aplikasi elektronika daya.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('5d1b2ad3-2505-4428-ac81-00459cc988ef', '1e124ba3-be05-4345-b96e-5784c2f8e632', 'Sub-CPMK-9', 'Mampu berinteraksi dan menjawab pertanyaan audiens dengan percaya diri dan tepat', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('5d1fcaa6-9add-4a75-b3f5-f8ed86d6b568', '9da0bf69-e4ba-4361-95f7-d0a05359d51f', 'Sub-CPMK-6', 'Membangun model prediktif menggunakan regresi linear untuk memecahkan masalah prediksi sederhana.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('5d2d8f7a-8666-4f7a-b879-fe24d022c236', 'ec220507-67cd-40f2-ba9e-82a274b2db12', 'Sub-CPMK-10', 'Mampu membangun dan menjalankan container menggunakan Docker CLI', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('5d3f999f-897b-4e47-9bbe-9461a98360eb', 'ff13aa98-063f-4cac-ba57-23bcf050638e', 'Sub-CPMK-13', 'Mengidentifikasi dan menjelaskan alat ukur yang digunakan dalam pengukuran topografi.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('5d666616-316a-4f33-9d38-88b77c930255', 'e2b25735-1761-435c-a820-dc4aa1924b4e', 'Sub-CPMK-14', 'Mampu mengumpulkan dan mengorganisir data hasil pengukuran fisika menggunakan tabel dan grafik.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('5d6c7ff0-24ea-44f6-a562-8cd8e32eff14', '0436e0ad-efe3-41d8-b90a-1a4b33d1ef00', 'Sub-CPMK-12', 'Mampu menerapkan konsep transformasi linear untuk memetakan ruang vektor ke ruang vektor lain.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('5da0a367-6ac6-4954-a0ed-05ad8ce1f1e8', '3a9fd73a-bc90-429d-957a-f33a35db5cd4', 'Sub-CPMK-12', 'Menganalisis kestabilan struktur rangka batang dengan metode titik simpul dan mengidentifikasi titik kritis.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('5dabdd19-efd9-42dd-b396-97292e6137a1', 'b53cae5f-e799-4f1e-a655-5433d3b2b170', 'Sub-CPMK-2', 'Dapat menulis dan mendemonstrasikan kode Java untuk menyelesaikan masalah algoritmik sederhana.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('5db3e18f-113f-4d0d-a3bf-6455b6e954ab', '3e04c818-ecb0-4e5e-9519-e45facc2d4d1', 'Sub-CPMK-9', 'Mampu membandingkan hasil analisis sinyal menggunakan DFT dan Transformasi Z dalam konteks aplikasi pemrosesan sinyal.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('5dc92642-b6b4-42f2-b87c-4f8a983ded80', '00c49185-5232-4b17-beaf-4b22122f7bf5', 'Sub-CPMK-1', 'Mahasiswa dapat menganalisis karakteristik fisik tapak, termasuk topografi, iklim, dan vegetasi yang mempengaruhi desain bangunan.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('5ddf3cda-0711-446c-92f2-92218cea2690', '8d428160-8a59-4b33-80b4-3ebe3f1d660a', 'Sub-CPMK-12', 'Mahasiswa dapat menyelesaikan soal-soal yang melibatkan kombinasi resistor dalam seri dan paralel dengan menggunakan hukum Ohm dan Kirchhoff.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('5de5a648-6782-410b-8a0c-f9cfd760c8b0', '893ccb29-8438-401c-95da-8d0d2f900a9c', 'Sub-CPMK-5', 'Mampu menganalisis 10 artikel penelitian terdahulu dan merangkum temuan utama serta relevansinya dengan penelitian yang akan dilakukan.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('5ded037e-0275-4572-8d16-105083fd56e2', '74f3f48c-cac7-4f15-84a9-aadf236e73e8', 'Sub-CPMK-14', 'Menerapkan prinsip-prinsip keamanan informasi dalam perencanaan dan pelaksanaan uji penetrasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('5ded3719-f32c-43ae-ad4f-4bc52e451b26', '29eb9c31-5ee4-4d5e-aa0f-6c657da04236', 'Sub-CPMK-1', 'Menganalisis dan menjelaskan komponen utama dalam DevSecOps serta peran masing-masing dalam pengembangan perangkat lunak yang aman.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('5df9cbd4-35a0-4c84-a4fd-271e21bed815', '8fe54903-8e3e-4698-8e91-6b4f192cd2d7', 'Sub-CPMK-9', 'Menganalisis dan mendokumentasikan kebijakan keamanan berbasis ISO untuk infrastruktur cloud.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('5dfd0ea7-990c-4299-8663-502a358f48b7', '288f96b9-20bd-4c7a-a59f-de3b7e9b82ce', 'Sub-CPMK-14', 'Mengevaluasi kebijakan keamanan data pribadi dalam penggunaan aplikasi digital.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('5e12e396-a399-4c7b-82d8-85a80896abd1', 'de35b79c-796c-4e6e-9296-153c1477357d', 'Sub-CPMK-3', 'Menganalisis peran sistem informasi manajemen dalam pengambilan keputusan di perusahaan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('5e36500a-fb5b-45ef-a92e-184992e5cde2', '56c8a674-a34a-40b9-a2da-4f3daf454128', 'Sub-CPMK-2', 'Dapat membuat halaman web sederhana menggunakan HTML dengan berbagai elemen seperti paragraf, gambar, dan tautan.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('5e542fd7-7d20-40c2-b7e1-da2c7e7d6737', '46c21b07-1e6d-41c3-af64-981caf4ab06b', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan berbagai gaya arsitektur perangkat lunak, seperti arsitektur berorientasi layanan, arsitektur mikroservis, dan arsitektur berbasis komponen.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('5e6254ac-694f-443b-9c18-363e777e30f3', '9c41a09a-b571-443b-8e4a-d081e3252d8c', 'Sub-CPMK-9', 'Mampu membandingkan performa navigasi antara berbagai konfigurasi radar dengan parameter yang berbeda.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('5e646c79-e1be-4735-b8a0-85b1c581bae1', '77aaac14-4402-4f4f-9d2b-99c91759a2cc', 'Sub-CPMK-6', 'Menggunakan teknik shading dan tekstur untuk meningkatkan kualitas visual dari proyeksi ortogonal bangunan teknik yang digambar secara manual.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('5e8546a8-1907-4da5-b271-e705c048e644', '966e975b-f461-4e85-bde6-64f3d97e9f3a', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan komponen dasar dari jaringan saraf tiruan, termasuk neuron, lapisan, dan fungsi aktivasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('5e89c5c8-e4e6-4a9e-9efa-49d39426aed9', '0076df83-3825-442f-a333-101ddba85852', 'Sub-CPMK-10', 'Mampu mengidentifikasi peran dan tanggung jawab masing-masing anggota tim dalam proyek perancangan.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('5e96661b-1757-454a-9a6c-2f855fa3bbe9', '6bbfb4b5-e7bd-4974-acde-12ad806aad3f', 'Sub-CPMK-6', 'Melakukan evaluasi model dengan menggunakan metrik seperti akurasi, precision, recall, dan RMSE untuk mengukur kinerja algoritma yang diterapkan.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('5eb9adaa-8dd6-431c-9f46-447ce029ae77', 'f6c5aace-244d-4449-bee7-7efd35e7cd4f', 'Sub-CPMK-2', 'Mahasiswa dapat menerapkan teknik pengkondisian sinyal untuk meningkatkan kualitas data dari sensor, termasuk penguatan dan filtering.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('5eba4620-5adc-48dd-8660-26264d706bf5', 'edf85530-5a0c-4515-a905-35665ee0c1a4', 'Sub-CPMK-7', 'Mampu mengidentifikasi jenis-jenis metodologi penelitian yang sesuai dengan jenis data yang akan dikumpulkan.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('5ece42d9-7c5a-46d7-970c-92a991e85d7e', '8351e9ac-632b-4449-bbe7-7865b4d5d228', 'Sub-CPMK-3', 'Mahasiswa dapat menghitung dan menganalisis pengaturan daya aktif dan reaktif dalam sistem kelistrikan.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('5ee42d96-d4df-4b81-9c81-cce25b77ba22', 'bf5707c9-3c59-446d-a098-0af7bbe6a03f', 'Sub-CPMK-1', 'Menjelaskan definisi limit fungsi pada titik dan di tak hingga.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('5ee6e32c-4b40-4546-b917-cee82cf8574c', '74af6e50-c9e8-410f-9570-61cb2169a4f2', 'Sub-CPMK-14', 'Melaksanakan review kode secara kolaboratif untuk memastikan standar keamanan diterapkan.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('5ef79231-0a50-42ef-baf8-55947f5bda79', 'da2db151-a8e2-4a26-806e-abd1aa3a578e', 'Sub-CPMK-8', 'Mampu menerapkan teknik validasi silang untuk memastikan generalisasi model yang dibangun.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('5ef79c43-f730-42eb-9088-96d8cafc3c7c', '94d547a5-4d3d-42b2-86ae-b5432530b0b2', 'Sub-CPMK-14', 'Mampu menulis program dasar dalam bahasa rakitan untuk melakukan operasi aritmatika sederhana dan menguji hasilnya menggunakan perangkat lunak simulasi.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('5f019665-4bdf-4002-9859-2fe617886bb2', '85667447-f1b5-4d09-a189-bac729a29a17', 'Sub-CPMK-14', 'Mengimplementasikan fitur microservices dengan menggunakan alat kolaborasi seperti Git dan GitHub.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('5f05debe-9d33-412e-a7fe-917aa3add1c4', '4968c34c-40cd-4c17-815f-56a3a076c5a9', 'Sub-CPMK-5', 'Mampu menyusun kuesioner dan melakukan wawancara untuk mengidentifikasi kebutuhan pengguna secara mendalam.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('5f081cf1-bfd4-425f-9da9-887456bbc00f', '60971f57-52ab-4e3b-8224-187464052733', 'Sub-CPMK-3', 'Mampu membuat pseudocode untuk algoritma yang menyelesaikan masalah tertentu.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('5f1a6380-eea1-4b28-abca-38dd13bceab2', '5962c83c-f937-48d7-a608-bcff913e9be9', 'Sub-CPMK-6', 'Menganalisis konstruksi dan komponen utama dalam mesin listrik DC dan AC.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('5f1f1cd8-24e3-47f9-bfb2-e08573b31261', '8dc7f327-dfd9-4fc1-8650-f2f97ad8a62f', 'Sub-CPMK-8', 'Mampu mengimplementasikan dan mengkonfigurasi cluster HDFS untuk penyimpanan data.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('5f2ff354-69f8-4cb3-96fe-6926963edf3d', '7f1fceca-6b26-490e-8830-d8b436276f88', 'Sub-CPMK-7', 'Mampu melakukan koneksi dan autentikasi ke REST API menggunakan token dan header yang sesuai.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('5f37faa1-1f87-48da-b902-065a82db23d3', 'e15e7947-8788-4733-9403-4100142f003e', 'Sub-CPMK-2', 'Mahasiswa mampu mengidentifikasi dan menjelaskan berbagai jenis modul dalam Riset Operasional, seperti pemrograman linier, simulasi, dan teori antrian.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('5f406ddd-2a91-4d2f-86ae-06cfbc55e372', '8ec91018-ef78-472b-8bc8-80157fcf388c', 'Sub-CPMK-14', 'Mahasiswa mampu mengevaluasi kesesuaian desain dengan regulasi bangunan yang berlaku di wilayah setempat.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('5f4b052b-b674-4575-9d7d-b596bd340fd2', 'aa8e3171-f36a-428b-b822-122b0a3de003', 'Sub-CPMK-9', 'Menganalisis dan mengidentifikasi bottleneck performa dalam aplikasi mobile menggunakan alat profiling.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('5f4e2902-2199-4d4f-b326-e3f304311671', 'd48ea8cd-ce95-449a-915c-35ade944fb9d', 'Sub-CPMK-1', 'Mampu menjelaskan konsep dasar medan listrik dan magnet serta interaksinya dalam konteks hukum Gauss dan hukum Ampere.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('5f7082ab-5eec-4ee4-b890-38586b36223b', 'ea1ef067-2302-41d7-8b2b-10a065e28d92', 'Sub-CPMK-6', 'Mampu menyusun kerangka konsep dan hipotesis penelitian yang logis', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('5f77c76b-7180-4523-a7f3-26d71fc69379', '878a89f7-abff-4552-8e02-a396c4c59c3d', 'Sub-CPMK-13', 'Mahasiswa mampu menggambar detail elemen struktural beton seperti kolom, balok, dan plat dengan akurasi dan spesifikasi yang sesuai standar.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('5f791d97-fc48-4170-88d5-04b0fc7af79f', 'd2aef54e-5961-42d1-a034-63be6a2e20a9', 'Sub-CPMK-6', 'Mampu mengkonfigurasi Intrusion Detection System (IDS) untuk mendeteksi dan merespons ancaman keamanan jaringan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('5f8597f9-321d-44ec-856f-e5024007f8f7', 'fca1a4a2-36ab-4b25-a508-0dcf7e6ef196', 'Sub-CPMK-14', 'Mampu melakukan pengujian fungsional dan karakteristik dari prototipe sistem elektronika.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('5f861a55-aed6-4370-a8e0-81b5a34705e4', 'c42c7aca-0965-48af-81b0-4f5b9afa535e', 'Sub-CPMK-10', 'Mampu menghitung dan menggambarkan respon waktu sistem kontrol pada berbagai jenis input seperti step dan impulse.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('5fbeadd1-62ce-45b2-acaf-526009abe4fe', '01478f91-8c22-4a30-8e9e-e158f53d86b1', 'Sub-CPMK-11', 'Mahasiswa mampu menganalisis beban yang bekerja pada struktur bangunan arsitektur dan menentukan reaksi pendukung.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('5fc5a185-4f75-424a-9842-b38029d65b0c', '77d9fa9b-3c3e-4232-b0b4-c4ad978d2e1d', 'Sub-CPMK-3', 'Mampu melakukan tokenisasi pada teks menggunakan metode berbasis aturan dan pembelajaran mesin', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('5fdf5083-6dd8-4e42-b2a3-f9a7fe6cbb05', '4a30cb49-924d-42f5-ab34-d32c8d2e078e', 'Sub-CPMK-8', 'Mahasiswa mampu menerapkan algoritma pencarian biner untuk menemukan elemen dalam struktur data terurut.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('5fe395ea-0b64-48c1-88a4-acf278f1e25c', 'dee36e11-4d87-4c09-845c-eb32021cd96e', 'Sub-CPMK-5', 'Merancang rangkaian dasar menggunakan komponen elektronik seperti resistor, kapasitor, dan transistor untuk aplikasi telekomunikasi', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('5fe539b0-aa58-4d20-a986-1eca01a78b76', 'c35a54e4-caab-4d02-acfc-13a010a78523', 'Sub-CPMK-9', 'Mampu mengidentifikasi dan menganalisis berbagai jenis risiko keamanan informasi dalam konteks organisasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('5fe8221c-e2b2-4f04-8b91-2fbfcf57306a', 'f6bbe62e-9acc-45a9-86d0-f9a308705cb4', 'Sub-CPMK-3', 'Mahasiswa mampu menjelaskan definisi dan karakteristik citra digital.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('5ffdc07c-3c68-40ca-ab7e-63943e283232', 'cdbba9c5-ae06-4294-bc79-f080db830f4b', 'Sub-CPMK-7', 'Mahasiswa dapat menyusun kalender hijriah sederhana dengan menggunakan metode hisab untuk satu tahun penuh.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('600185a8-b69c-4ca3-a544-339607d6c418', '5418b08e-fad3-49d2-aa40-85c6c0de803c', 'Sub-CPMK-9', 'Mahasiswa mampu melakukan simulasi penggunaan material dan sistem konstruksi dalam proyek bangunan tinggi untuk menilai efektivitas dari segi biaya dan keberlanjutan.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('6001e859-f187-489d-96d2-36248f2a474b', '3a8fd73d-a866-42dc-92a0-6c9685a003ec', 'Sub-CPMK-4', 'Mampu mengidentifikasi komponen utama dalam sistem elektronika cerdas dan fungsinya.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('600adeb4-e315-42a5-950e-c47f5ce3ed98', 'd009c4f5-b7f2-4a70-a912-e43ab8664918', 'Sub-CPMK-3', 'Mampu merancang solusi arsitektur yang responsif terhadap kebutuhan komunitas lokal dan nilai-nilai budaya yang ada.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('600c34f0-550f-471f-820a-bcc87229dee8', 'fe975734-9f4d-412f-b8f6-30a3efdf1dba', 'Sub-CPMK-3', 'Mahasiswa dapat melakukan pengukuran atenuasi dan matching pada saluran gelombang mikro menggunakan VNA, serta menyusun laporan hasil pengukuran.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('60117de1-4a70-46ec-be1a-ee3e769982de', 'ff02a8c0-7041-4fab-aee0-9da1f75e6255', 'Sub-CPMK-13', 'Mahasiswa mampu memimpin diskusi kelompok dalam proyek kewirausahaan dengan memberikan arahan yang jelas dan efektif.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('601494b6-759d-48ae-bef1-8f55271f049c', 'c355d2b8-ad9b-4c9d-a6aa-e2988fb87c60', 'Sub-CPMK-13', 'Mampu merancang dan mengembangkan prototipe alat elektronik yang inovatif berdasarkan kebutuhan pengguna.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('60222fcd-4fa7-44da-b861-b18f7169eb01', 'ff019258-ef6f-47c5-87f3-34913105970c', 'Sub-CPMK-2', 'Mahasiswa mampu merancang dan menganalisis rangkaian penguat menggunakan transistor MOSFET dan memahami prinsip biasing.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('60336b96-55c8-48fc-a980-6eef29f43388', 'ca4f069e-55d4-4c18-909e-0abdff219397', 'Sub-CPMK-12', 'Mampu menerapkan prosedur keselamatan kerja di lokasi proyek sesuai dengan regulasi K3 yang relevan.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('603ac2ad-3cca-4c5d-a741-82b0fc62f736', 'a38894f5-b0a4-45e8-85a8-71c37be48b6f', 'Sub-CPMK-7', 'Mampu menjelaskan konsep dan faktor-faktor yang mempengaruhi path loss dalam model kanal nirkabel.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('603c155b-a730-4e75-8916-c4eb68abb710', '2f672ca9-0a7c-48ba-a13c-135badedbf42', 'Sub-CPMK-1', 'Mahasiswa mampu mendefinisikan istilah-istilah kunci dalam metodologi riset arsitektur.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('6063de9a-c5bf-42c6-ba8d-d5dda5585875', 'ff13aa98-063f-4cac-ba57-23bcf050638e', 'Sub-CPMK-14', 'Melakukan pengukuran topografi secara praktis dengan menggunakan alat ukur yang sesuai.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('6064a4f9-8416-4cfa-a6f5-52f650d03fb6', '3c05ed0f-8ca4-4697-9b72-0d8482e44bf4', 'Sub-CPMK-2', 'Mahasiswa mampu menghitung beban yang diterima oleh struktur berdasarkan kondisi nyata.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('607e919d-34f6-415e-9884-c3c3ce04b3cd', 'fa18f474-a195-4514-b109-0df29d4852b7', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menjelaskan prinsip kerja masing-masing komponen dalam sistem PLC.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('607efdd1-bf08-4dce-93ae-aeaf7011ffac', '25142d89-e46d-43d4-8f78-526b9c1643ae', 'Sub-CPMK-2', 'Menganalisis pengaruh nilai-nilai Al Islam dan Kemuhammadiyahan terhadap perilaku sosial masyarakat dalam konteks modern.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('608274b7-a433-4b8a-8e0c-0b4ccda6b025', 'f13b6bd6-b0ef-4e26-b590-12ce619ca024', 'Sub-CPMK-10', 'Menganalisis risiko potensial di tempat kerja untuk merancang langkah-langkah pencegahan yang sesuai.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('608558b4-7c94-4c7d-902e-692794d48899', '1cc40105-5e5c-42eb-b413-1b4ef8412384', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan proses penyediaan air bersih dalam bangunan, termasuk sumber, pengolahan, dan distribusi.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('608ca189-c5ee-4549-86e4-132c90b76bce', '55642ef2-a629-41c5-a74b-5b38930c0e10', 'Sub-CPMK-8', 'Dapat melakukan evaluasi terhadap anomali lalu lintas jaringan dan memberikan rekomendasi perbaikan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('609a3666-d9b3-430e-8560-c37240df45fe', '604665c9-1bc4-453f-9bff-a71a80878c3e', 'Sub-CPMK-14', 'Berpartisipasi aktif dalam diskusi kelompok dan memberikan umpan balik konstruktif terhadap ide-ide rekan tim.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('609dc242-8e4f-43c0-a102-a3c8cee579dd', '6d74522d-fb4f-4f27-aaf1-3a215489fd4c', 'Sub-CPMK-14', 'Mengidentifikasi dan mengelola risiko keamanan dalam jaringan dengan pendekatan yang etis.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('60c452bd-8a75-4ea9-aac7-8f9113518f88', '5b1a21a6-0126-4fe9-8e5a-a38219fdaaac', 'Sub-CPMK-7', 'Mampu menghitung integral dan turunan fungsi sederhana untuk menyelesaikan masalah dalam fisika, seperti perhitungan area di bawah kurva dan laju perubahan.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('60e71c05-76f1-470b-9583-65d317ff978d', 'b5ad871b-2b76-4f81-8639-4e26e38aa8fe', 'Sub-CPMK-9', 'Mampu menganalisis kebutuhan basis data untuk aplikasi tertentu dan merancang skema basis data yang sesuai.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('6133d122-a3d5-4cfb-b7a9-278ad951f290', 'c1141d16-4828-4075-9be8-97f99730e5fd', 'Sub-CPMK-4', 'Mampu menjelaskan prinsip dasar penguatan sinyal dalam sistem telekomunikasi, termasuk komponen dan fungsinya.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('61346168-33b2-4b04-a07b-821460cc08cf', '71dbee86-d2a2-49f3-b475-415b613d8c78', 'Sub-CPMK-10', 'Mampu menjelaskan konsep tumbukan elastis dan tidak elastis serta perbedaannya.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('61400c34-8073-495a-bc31-0e8d24384e5b', '9bb01569-9e68-4859-9f44-639ec9d51d87', 'Sub-CPMK-8', 'Mengimplementasikan komunikasi antar layanan menggunakan protokol RESTful dan gRPC pada aplikasi microservices.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('614587e5-132f-4191-96c7-38386199c40f', 'f162c884-fd50-44e4-9468-0f6cfc68edb1', 'Sub-CPMK-4', 'Menjelaskan konsep galat (error) dalam metode numerik, termasuk jenis-jenis galat dan cara menghitungnya.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('614f8769-1511-4203-abc6-ffd1def75d32', '30041bee-55c8-4cbf-90a7-c66e2b4c2275', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi jenis-jenis data dan karakteristiknya', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('615ceaa8-2456-496e-96da-a22fc3ae2b8d', 'c5e8e72f-68f7-4c10-b81e-dc42d0357bdc', 'Sub-CPMK-7', 'Mampu menghitung dan menganalisis gain antena dalam berbagai konfigurasi dan frekuensi.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('61719b95-1f42-49fc-82f3-baddc3b19aeb', 'ff5c1ce0-ca9f-474e-87bb-d31878e1251a', 'Sub-CPMK-10', 'Mahasiswa dapat mengidentifikasi dan menerapkan filter untuk mengurangi noise dalam citra digital.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('6187450f-011a-40e9-9a46-5743c6e7b7ec', 'c4ec86cb-d894-41bf-be4a-ce6e05f7fa3d', 'Sub-CPMK-10', 'Mahasiswa dapat menganalisis data perilaku pengguna untuk mengidentifikasi kebutuhan ruang yang inklusif dalam desain arsitektur.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('61bbee57-5439-4c56-a595-5283b0e76017', '511938c4-c403-412d-8f4a-cbcba428862f', 'Sub-CPMK-13', 'Mahasiswa mampu membuat gambar kerja detail untuk elemen struktur baja, termasuk sambungan dan penulangan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('61e18eaa-2d9b-4e61-b84e-ded895aa01f0', 'e0b27377-4864-4a50-a3f8-de602e5f7ba2', 'Sub-CPMK-2', 'Mahasiswa dapat menggambarkan arsitektur sistem komunikasi satelit, termasuk elemen-elemen seperti satelit, stasiun bumi, dan pengguna.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('61e40955-177c-4b06-9fef-fe83c038c688', 'ccac29b4-8788-4827-a7f8-3b898d445d49', 'Sub-CPMK-8', 'Menghitung tekanan tanah pasif dengan mempertimbangkan sudut gesek dalam dan kondisi batas tanah', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('61f45b4b-b828-4cb9-96e4-9e21bb597af5', '94d547a5-4d3d-42b2-86ae-b5432530b0b2', 'Sub-CPMK-13', 'Mampu menjelaskan komponen dasar arsitektur komputer dan fungsinya dengan menggunakan diagram dan penjelasan lisan.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('6204c918-54f8-491b-84ce-fddc7e88d4d9', '077507ec-a961-4fa5-bfa3-2c6c626a7b78', 'Sub-CPMK-3', 'Mahasiswa dapat merancang sistem pengendalian motor listrik menggunakan komponen elektronika daya dan menjelaskan prinsip kerjanya.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('620595c1-c9d2-41ef-90fe-9c0611d7551a', '442ac345-61ed-405f-8470-591fc753ba09', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan mendokumentasikan kebutuhan pengguna melalui survei dan wawancara.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('627dd696-f5d4-4a26-a878-167393764ef1', '22357f95-1d9e-4338-9cfb-c3d187140d2d', 'Sub-CPMK-10', 'Menganalisis kebutuhan pengguna dalam sistem telekomunikasi untuk mengidentifikasi area pengembangan teknologi.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('62b96d92-f4e5-4b5f-aacf-aa3b4b442936', 'fe4ceef3-0653-4719-97f5-cc444a5b28ab', 'Sub-CPMK-8', 'Mahasiswa mampu menjelaskan tahapan-tahapan dalam software development life cycle secara rinci.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('62c99228-fb56-40aa-843e-691844319859', '03eaa8f2-8079-4964-b19d-32cea637de3e', 'Sub-CPMK-3', 'Menganalisis peran ethical hacking dalam mengidentifikasi kerentanan sistem informasi dan memberikan rekomendasi perbaikan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('62d3000d-1672-461b-9eb2-549a9874e806', '2452583b-ec61-4aed-92c1-0b9994644972', 'Sub-CPMK-4', 'Mampu menghitung turunan fungsi polinomial dan menerapkannya untuk menemukan kemiringan garis singgung.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('62d59c63-6288-40e5-9c7d-c6dddb1698cc', '7f7db5e5-a6c2-4340-b84b-58a2a2dbf90f', 'Sub-CPMK-12', 'Mahasiswa dapat menerapkan prinsip-prinsip tata hijau dalam desain ruang terbuka publik dan area hijau di kawasan permukiman.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('62d8538c-e01b-468b-8f15-b38ce45fe07d', 'e2b25735-1761-435c-a820-dc4aa1924b4e', 'Sub-CPMK-13', 'Mampu merancang dan melaksanakan percobaan sederhana untuk mengukur besaran fisika seperti kecepatan, percepatan, dan gaya.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('630a1f6e-5959-4573-9be8-0c13c3131ed3', '63a6dbae-ff7d-4766-af6e-655fd70a4a74', 'Sub-CPMK-7', 'Mahasiswa mampu mengevaluasi praktik keberlanjutan dalam pengelolaan sumber daya alam di berbagai komunitas budaya di Indonesia.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('6310afea-e4fc-41e6-90e7-e60fd31d1467', 'a0338add-0d87-4d89-a635-e19b90bacfa2', 'Sub-CPMK-9', 'Mahasiswa mampu merancang sistem rangka sederhana dengan mempertimbangkan faktor keamanan dan efisiensi material.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('6343c95b-40c3-4352-a775-e9d994ff4772', '808f3876-8193-47de-86b8-2d15d2492dd7', 'Sub-CPMK-6', 'Mahasiswa dapat menganalisis data yang diperoleh dari pengguna untuk menentukan fitur desain yang diperlukan dalam ruang publik yang inklusif.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('6361540f-8116-4caa-aaf2-fcd57ee93412', 'a76c69cb-6d01-4100-855b-6044228dc18e', 'Sub-CPMK-4', 'Mampu menjelaskan dan menggambarkan komponen utama dalam sistem komunikasi seperti pemancar, saluran, dan penerima.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('63693360-8c00-4720-8f38-3f79bf1a2b41', 'a82c137f-1492-41ed-bdfa-979a1f0f46fc', 'Sub-CPMK-12', 'Mahasiswa mampu menyusun dan mempresentasikan gambar kerja konstruksi bangunan bertingkat menengah sesuai dengan standar nasional.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('636cb0cc-eb93-4fac-a4aa-92adecb32e77', 'f0272179-692e-44e7-b68e-ab04d311907b', 'Sub-CPMK-3', 'Mahasiswa dapat melakukan manipulasi matriks dan visualisasi sinyal dasar menggunakan MATLAB dengan benar.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('6385a9e8-8763-4eee-9b4b-b313b99b70d2', '3731bb62-7410-40b9-a7dc-f5eac7287e7f', 'Sub-CPMK-9', 'Mampu mengimplementasikan dan menguji program modular untuk memastikan solusi yang dihasilkan sesuai dengan spesifikasi masalah yang telah diidentifikasi.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('639f77ba-7df6-4a47-a092-4e1a4f3fe4f4', '76d6821e-5822-46ac-9c08-175da24b9e96', 'Sub-CPMK-14', 'Mahasiswa mampu membuat sketsa awal masterplan yang mencakup zonasi dan sirkulasi dalam konteks arsitektur kota.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('63cf86c1-93ae-4ab4-bc83-3484710786b4', '6166ff58-35ca-4f18-90fa-cd918a0611a1', 'Sub-CPMK-9', 'Mampu menyusun laporan analisis data yang mencakup interpretasi hasil dan implikasi penelitian.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('63d3b8cb-a489-48d2-9784-db0f246483a8', '6143c29c-b167-4986-be35-f1031a457786', 'Sub-CPMK-8', 'Mampu mengidentifikasi dan menghitung nilai beban lebih serta dampaknya terhadap komponen sistem tenaga listrik.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('63ed6b3a-220e-4385-ad41-c6830f5f200e', 'd44f7cd6-3f62-41d8-a854-f1e54041e43c', 'Sub-CPMK-8', 'Mahasiswa mampu mendemonstrasikan cara kerja proses manajemen dalam sistem operasi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('64109aa9-537d-4231-bba2-b3d05db5517a', '5b13b71d-261b-448b-9554-798208102fac', 'Sub-CPMK-10', 'Mahasiswa mampu mengidentifikasi dan menganalisis bahan yang memenuhi kriteria keberlanjutan dalam konteks teknologi bahan.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('64184b84-ec70-47fd-af59-4a0ce11ccbb6', 'a22618d3-044a-40c0-b530-e0099933f56e', 'Sub-CPMK-6', 'Mampu menganalisis dan memprediksi respons sistem elektro terhadap input menggunakan teknik pemodelan matematis.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('64189075-c85d-4483-8bf6-ea4743973efe', 'aa4fe5a4-4018-4932-8698-8f5cb14529ad', 'Sub-CPMK-7', 'Mampu mengidentifikasi berbagai komponen perangkat keras komputer, seperti CPU, RAM, dan motherboard.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('643d4c33-3ada-4053-81c9-83ef6478ef31', 'c1851b3a-fb0a-4fc6-8f52-6b999bac23ab', 'Sub-CPMK-1', 'Mahasiswa mampu menyelesaikan persamaan diferensial biasa dan parsial yang muncul dalam aplikasi teknik elektro.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('644e8bc4-63da-4505-83ce-c20061729159', 'dcb8eb48-a440-42c9-9e1d-00862660130d', 'Sub-CPMK-13', 'Mampu melakukan perhitungan numerik menggunakan metode tertentu dan menghasilkan solusi yang akurat untuk masalah matematis sederhana.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('64669713-dc22-4ba8-9476-2b795f3ac16e', '77975670-c281-4a8c-911b-579b7ccff9b2', 'Sub-CPMK-13', 'Mampu mengidentifikasi peran dan tanggung jawab masing-masing anggota tim dalam proyek multidisiplin', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('647019a6-74a3-4d95-b751-96220d808867', '6514fbba-c96f-43fc-a729-a664b65acefb', 'Sub-CPMK-14', 'Mahasiswa mampu menyusun diagram alir sistem utilitas yang mencakup semua komponen dan hubungan antar komponen.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('647b3076-f028-4fdc-9e71-83ce5b641642', '76cc83dd-ecc7-4d23-a168-7e26e5dc5f62', 'Sub-CPMK-10', 'Menerapkan Kubeflow untuk mengatur pipeline model training dari data preprocessing hingga deployment.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('64bbb716-e420-498d-850e-765267324451', '9fdcf879-668f-4b82-8884-b94903a2f5db', 'Sub-CPMK-13', 'Mahasiswa mampu membuat gambar perencanaan permukiman yang sesuai dengan standar teknis dan estetika.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('64d67053-ddc7-47dd-b085-49d2300e6899', '5c19904f-7949-41c4-bca2-de97ee1400c3', 'Sub-CPMK-2', 'Mampu menyusun tujuan penelitian yang spesifik dan terukur berdasarkan rumusan masalah.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('64dffd36-edc0-43a1-8f1e-76bdd0042067', '6b3f1fe5-0255-4b0b-8eed-89d868255460', 'Sub-CPMK-8', 'Mampu melakukan komunikasi efektif melalui diskusi rutin dan laporan kemajuan proyek.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('651092db-6ad7-4267-9fa0-49f51d440b75', '3248e393-e98b-46a6-960a-a8801edf8e53', 'Sub-CPMK-11', 'Mampu mengidentifikasi dan memilih model pre-trained yang sesuai untuk tugas spesifik berdasarkan karakteristik dataset.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('6510b8c4-41b2-4ed8-a42d-b1ffbf51f244', '99f3d7bb-46cd-46fa-9b08-4f7c68d07515', 'Sub-CPMK-9', 'Mampu menyusun ringkasan dan sintesis dari literatur yang dianalisis, serta menghubungkannya dengan argumen dalam artikel ilmiah.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('65201ec8-4182-4c13-9fd9-a2999f2855be', '38e04fdc-0d71-4f23-beff-a2b45d8505ae', 'Sub-CPMK-4', 'Mengidentifikasi jenis persamaan diferensial orde satu dan orde dua serta metode penyelesaiannya.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('65233dcb-92e6-49ef-9fee-f72c1569fdad', '0d4f4bab-27d7-4efc-8e73-d46616b99f7a', 'Sub-CPMK-2', 'Menjelaskan komponen utama dalam arsitektur cloud dan bagaimana mereka berinteraksi.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('6542fd65-971c-458f-9dae-e23f8bfef130', '8b26e168-6a40-4eac-ab26-7c2c9e05fe7d', 'Sub-CPMK-3', 'Mengidentifikasi berbagai tipe arsitektur neural networks, seperti CNN, RNN, dan GAN.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('6548535a-0ea2-43f7-a6d5-d0d09c6ab4f1', '9da0bf69-e4ba-4361-95f7-d0a05359d51f', 'Sub-CPMK-4', 'Menerapkan algoritma pembelajaran mesin dasar untuk menganalisis dataset sederhana.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('656f356e-494c-4f30-a71a-6fdc901bcf2d', '38d2ff09-de2a-4ce3-88f6-bb6e6c49c691', 'Sub-CPMK-5', 'Menganalisis dampak dari kendali umpan balik keadaan terhadap stabilitas dan respons sistem kontrol.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('657c182e-5e4f-497c-9856-91d0fd11fefa', '5b13b71d-261b-448b-9554-798208102fac', 'Sub-CPMK-11', 'Mahasiswa dapat membandingkan dan memilih bahan yang sesuai dengan prinsip nilai Islami dalam penggunaannya sehari-hari.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('65a1466c-2c15-4801-aaa0-b4c015e64dec', '9f6bfb99-52fe-4e05-9dc9-1ce1e4330002', 'Sub-CPMK-2', 'Mahasiswa mampu mengidentifikasi dan menerapkan teknik dasar pengolahan citra seperti konversi warna, pemfilteran, dan transformasi geometris.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('65bc4c0d-878e-46a7-88df-11ef2d81369e', 'aa59e918-458c-4cde-9a6e-15c27325235d', 'Sub-CPMK-5', 'Mahasiswa dapat mengevaluasi berbagai alternatif solusi matematis untuk masalah yang dihadapi dalam disiplin teknik arsitektur dengan pendekatan kritis.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('65dc2c9d-c5e0-4eae-88a3-3d624b99d97f', 'c4142d9a-f767-4b6e-b3ac-5b042826913c', 'Sub-CPMK-13', 'Mampu menyelesaikan masalah matematis sederhana dengan menerapkan prinsip logika dan algoritma dasar.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('65e0d66b-53ad-4e7d-bd7b-71db8459d752', '930117f4-fcec-4433-adc8-56c341d0b71a', 'Sub-CPMK-3', 'Mahasiswa mampu mendefinisikan dan memberikan contoh Sistem Aljabar satu operasi dalam konteks aritmatika komputer.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('65f0c7eb-a253-442b-b9ea-4bcd43b05bdd', '0e87666e-8c23-40c1-ba10-86ac9f409eda', 'Sub-CPMK-14', 'Mampu merancang arsitektur perangkat lunak telekomunikasi yang scalable dan dapat diintegrasikan dengan sistem yang ada.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('65f25256-f0f7-4175-8312-e2476e523dd8', 'f8153dfe-030d-4a2a-8c3b-e650da34b9dc', 'Sub-CPMK-5', 'Mampu menjelaskan arsitektur dan komponen utama Apache Spark dan Kafka dalam pemrosesan data.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('6601558e-fb35-4017-81cb-c4cac351b5cd', '6215eb1d-cb54-4b31-8827-8b36af4e8096', 'Sub-CPMK-4', 'Mampu menjelaskan konsep dasar keterampilan interpersonal dalam konteks tim kerja.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('660ec836-2e0e-43f5-b2f6-d87e944f6d44', 'c1141d16-4828-4075-9be8-97f99730e5fd', 'Sub-CPMK-6', 'Mampu merancang dan menganalisis rangkaian RF sederhana, termasuk pemilihan komponen yang tepat.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('662a1923-ea70-4b08-b225-47749c7dbf50', '3f5aa153-cd2b-4950-bf50-0decce2677c9', 'Sub-CPMK-5', 'Menerapkan konsep tegangan dan resistansi dalam perhitungan rangkaian seri dan paralel.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('663f2a69-8bc8-4c43-9864-df3cf80dbf92', '61593602-45e0-45ff-8a85-32196329e82b', 'Sub-CPMK-6', 'Mahasiswa mampu mengevaluasi dampak lingkungan dari pemilihan bahan bangunan tertentu.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('6642dddf-19fc-4c4f-b01e-0e68920e4910', 'cdbba9c5-ae06-4294-bc79-f080db830f4b', 'Sub-CPMK-6', 'Mahasiswa dapat menentukan fase bulan dengan menghitung umur bulan berdasarkan data astronomis.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('665dd576-a426-4d12-8daf-ff2cf8658460', '79bbd330-f925-4ade-80e1-c90a67c66a70', 'Sub-CPMK-12', 'Mampu mengidentifikasi dan memperbaiki bug dalam kode Java menggunakan teknik debugging yang tepat.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('665ea7d5-be7a-469d-b434-36b69ee6e1a1', '1e91c9f6-3450-4879-954a-3262c073903a', 'Sub-CPMK-1', 'Mampu menjelaskan dan menggambarkan setiap lapisan dalam model OSI serta fungsinya dalam komunikasi jaringan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('66793a7e-c9f4-4d31-bebc-8191234fc454', '2f4b1b39-0d7c-4c15-b11d-ebc613c8e394', 'Sub-CPMK-1', 'Menerangkan alat-alat yang digunakan dalam pengukuran topografi dan fungsinya', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('66898cae-c312-4afd-a901-502c78a4583c', '007ab743-1d0a-4701-ad65-903ea88c798d', 'Sub-CPMK-8', 'Mahasiswa dapat mengevaluasi dan membandingkan sistem konstruksi yang berbeda berdasarkan efisiensi energi dan dampak lingkungan.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('66997d96-1a05-429e-ad2c-5a9f5aa38548', '310fc58e-a0c1-40f6-83e8-af0f19a1443b', 'Sub-CPMK-11', 'Mampu menggunakan alat debugging untuk menemukan dan memperbaiki kesalahan logika dalam kode JavaScript.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('66a47d34-b8db-42aa-82c0-18eb973858a3', '68d71bab-afeb-4796-b314-474368b1601d', 'Sub-CPMK-8', 'Mahasiswa mampu mengevaluasi material dan warna yang sesuai dengan konteks arsitektur bangunan untuk menciptakan suasana yang diinginkan.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('66e49784-4e5f-491a-9159-6cc7d6a02e04', '45fbfb68-9878-4509-bee2-01276dfcd481', 'Sub-CPMK-4', 'Mahasiswa mampu menghitung gaya reaksi pada tumpuan sederhana dalam struktur balok.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('66f57a78-5316-4b9d-aede-5103b4bfb646', 'c7f92efb-4b2c-498f-a156-2e6fd9a0f7f2', 'Sub-CPMK-6', 'Mampu menyelesaikan persoalan optimasi dengan menggunakan turunan untuk menentukan nilai maksimum dan minimum pada fungsi teknik.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('66fa659c-1fd0-467c-aed1-5e3d46be9977', 'aa5c9610-1a2a-4256-813e-6f79e17b6785', 'Sub-CPMK-14', 'Mahasiswa dapat menjelaskan struktur dasar dari bahasa Assembly, termasuk instruksi, operand, dan sintaksis.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('66ffffa5-940c-43c0-8089-b46b720618d0', 'c70b830f-d413-45ff-b006-a838033060e5', 'Sub-CPMK-7', 'Mampu mengimplementasikan algoritma sederhana dalam bahasa pemrograman tertentu.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('679355c6-5915-47c8-94ee-c20cd3fc741e', '7748f399-0e08-454f-9281-3897076405fc', 'Sub-CPMK-13', 'Mampu menjelaskan langkah-langkah dalam proses publikasi ilmiah dari pengumpulan data hingga penerimaan naskah', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('679aaee8-fd1b-45a9-b278-aa6d7adbced3', '141a3ec0-1647-490c-86a4-a5e35b2388e1', 'Sub-CPMK-1', 'Menjelaskan istilah-istilah dasar dalam bahasa Inggris yang sering digunakan dalam ilmu komputer, seperti algoritma, database, dan programming.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('67a650e0-010d-4a8d-bd20-db3333353ca6', 'acc4678a-8ae7-497b-8db9-26674b1a65df', 'Sub-CPMK-8', 'Mengidentifikasi dan menjelaskan isu-isu sosial yang muncul akibat penerapan teknologi AI dalam kehidupan sehari-hari masyarakat Muslim.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('67aacdb8-2c91-4d01-88b9-e909b10634cf', '9291a1aa-fc80-4388-abbb-2e6b63e5158f', 'Sub-CPMK-6', 'Menghitung konsentrasi pembawa muatan dalam bahan semikonduktor berdasarkan suhu dan doping.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('67b90533-8454-4e22-aa15-f1b0a7e2955e', '7d2bf3b9-d54b-43a3-a217-d0a48339c08c', 'Sub-CPMK-4', 'Mahasiswa dapat membandingkan dan mengontraskan nilai-nilai budaya dari dua atau lebih kelompok etnis yang berbeda.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('67f2deaf-3fba-42d2-95ed-36685140e657', 'a40900b4-2a36-46e2-aaaa-c859fc1684b5', 'Sub-CPMK-10', 'Mahasiswa mampu menganalisis elemen-elemen desain arsitektur yang mencerminkan nilai-nilai Islam, seperti kesederhanaan, keindahan, dan fungsi.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('67f43664-b5af-43bf-af66-5024594eed36', '406e2051-30c4-4494-ab42-5d26eaf5bb1f', 'Sub-CPMK-10', 'Menganalisis teks-teks Al Quran dan Hadis dalam konteks pemikiran kritis untuk menemukan relevansi dalam kehidupan modern.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('68093cad-35f5-4e7c-9067-99b94270658e', '246d838c-5b51-41cc-b0ae-83db15d4486c', 'Sub-CPMK-7', 'Mampu menghitung mol reaktan dan produk dalam reaksi kimia sederhana.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('68144600-7942-4a46-8900-ed1163e8b7eb', 'bc743ac0-fcef-4566-a9fe-4ea448397133', 'Sub-CPMK-13', 'Mampu menganalisis dampak lingkungan dari solusi rekayasa komputasional yang diusulkan.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('6821bdc5-cc15-497d-9d75-17b356e5c79f', 'd50c5efc-f22a-4c48-be63-d567c55ceaa0', 'Sub-CPMK-11', 'Mampu merancang filter FIR menggunakan metode windowing dan menerapkannya dalam MATLAB/Python.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('682d9fb2-482a-459c-b787-0b08c7baaeb4', 'f0addc73-37c3-4431-89eb-05672e033f42', 'Sub-CPMK-2', 'Dapat mengidentifikasi dan menganalisis berbagai framework lintas platform yang populer, seperti React Native, Flutter, dan Xamarin.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('684a1b1f-6f2b-45fc-844a-61b4e474c389', '776ceac5-7238-49cf-90c2-5265ea2ac069', 'Sub-CPMK-9', 'Mampu mengimplementasikan dan menguji fungsi interrupt pada program mikrokontroler menggunakan bahasa C.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('684b3775-e66a-4437-98c5-491ae656873f', '24b8a2c1-b619-4343-886a-fb90ed9df70e', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan lima teori kepemimpinan yang paling berpengaruh dalam arsitektur dan industri kreatif.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('6867e528-732e-4838-b70d-a6aeb20c005e', '3f5aa153-cd2b-4950-bf50-0decce2677c9', 'Sub-CPMK-6', 'Menganalisis pengaruh variasi resistansi terhadap arus dan tegangan dalam rangkaian listrik sederhana.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('686bc5f2-1c7b-4b54-a53a-6f6788e409f3', 'd048a213-ef69-4d8e-be90-8f65057ba560', 'Sub-CPMK-13', 'Mampu berkolaborasi dalam kelompok untuk merancang arsitektur aplikasi mobile yang efisien dan efektif.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('68788831-61d7-43f4-a33b-9a97e02198b4', 'fdf3913e-2fd7-4851-a1e8-a5bd811eb426', 'Sub-CPMK-8', 'Dapat menghitung energi kinetik dari objek berdasarkan massanya dan kecepatan yang diberikan.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('687dc7f6-37c0-4463-9740-1f34486bc458', '3537276f-db25-4cc3-aab0-7ed20f8d3648', 'Sub-CPMK-14', 'Mampu melakukan kalibrasi transduser menggunakan standar nasional atau internasional yang relevan.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('6898a7ad-471a-4164-a862-2dc5d49a40b0', '3aed8829-15d8-4357-9c53-f14d3ceb2792', 'Sub-CPMK-3', 'Mahasiswa mampu menyusun diagram alur yang menggambarkan hubungan fungsional antar ruang dalam bangunan multifungsi.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('6898dbf8-211d-4120-b7b5-03f3d50b1cd4', '5418b08e-fad3-49d2-aa40-85c6c0de803c', 'Sub-CPMK-8', 'Mahasiswa mampu merancang sistem struktural bangunan tinggi yang memenuhi standar estetika dan nilai Islami, serta dapat diimplementasikan dalam proyek nyata.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('68a37625-0f33-43af-85a8-e9642f57066d', '7085abb9-959a-425b-b988-1eb1e61f4587', 'Sub-CPMK-10', 'Mampu mengidentifikasi jenis topologi jaringan yang sesuai untuk skenario komunikasi tertentu.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('68ba10a3-d03f-4a8f-b161-59d33eef0a5d', 'f8ade799-dbf4-40e8-94f8-560cd1c6b086', 'Sub-CPMK-7', 'Menerapkan kebijakan IAM untuk mengelola akses pengguna pada layanan cloud', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('68dd407a-3d44-48dc-bd52-1124720d3c31', 'e11ddd3f-f442-4c5a-b7f1-6522a9b723a4', 'Sub-CPMK-7', 'Menganalisis hubungan antara fungsi bangunan dan desain arsitektural yang sesuai dengan kebutuhan pengguna.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('68eb463c-2fdd-492f-bdc7-8ee455978c50', '486aa493-e7b5-45ce-87b3-3fb1fc3091ff', 'Sub-CPMK-9', 'Mampu menyusun argumen yang logis berdasarkan hasil analisis data yang dilakukan.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('68ef7cc5-9f44-4b6e-954e-868331f15fa7', '2eee990a-fa23-44b7-90fd-307294fe82a0', 'Sub-CPMK-10', 'Mahasiswa mampu menyusun dan menyajikan presentasi PowerPoint tentang pengelolaan sumber daya air dengan menggunakan terminologi teknik yang tepat dalam bahasa Inggris.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('68f69091-e8c2-4daa-b972-a3c898ee0abc', 'df3484b1-04a7-4837-96e9-abdcf42191bd', 'Sub-CPMK-6', 'Mahasiswa mampu mengevaluasi potensi dan kendala yang ada dalam kawasan untuk perancangan arsitektur kota yang berkelanjutan.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('69069fd4-4a36-4e5c-9e91-752ac42f4c33', '84b98f97-8a3f-4f33-af01-cc3636ed7d9e', 'Sub-CPMK-14', 'Mampu menggunakan minimal dua jenis media presentasi (seperti PowerPoint dan video) untuk mendukung penyampaian informasi proyek.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('690d08df-55b6-4a64-831a-3cc6d79b91bd', '14972828-49bb-48df-98a1-6f3222d4d181', 'Sub-CPMK-7', 'Mampu menghitung arus dan tegangan pada rangkaian AC tiga fasa menggunakan hukum Kirchhoff dan analisis phasor.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('692a07e7-f812-45f1-9da6-bfe754dc65dc', '7d256f3d-cf4f-4628-9f91-72cfefe53100', 'Sub-CPMK-12', 'Mahasiswa mampu membuat maket skala kawasan yang akurat, mencerminkan proporsi dan hubungan antar elemen dalam desain.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('695ef41b-be0e-4528-9ae4-1da6844c91fe', '44267df4-0089-4e5a-8bb5-092919bd40f0', 'Sub-CPMK-9', 'Mahasiswa mampu menghitung dan merancang sistem pendingin dan pemanas yang efisien energi serta ramah lingkungan.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('6968a9d2-df07-478f-ab4d-156c40a4fd95', 'c9583f35-dcff-46e1-8796-b4b5329fa189', 'Sub-CPMK-13', 'Mampu menganalisis penggunaan memori dari algoritma dan mengidentifikasi faktor-faktor yang mempengaruhi kompleksitas ruang.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('696e0e28-e138-48aa-b825-1c27219e6587', '223800af-bae4-46fb-8242-003333c9e242', 'Sub-CPMK-3', 'Mahasiswa dapat merumuskan rencana keselamatan kerja yang efektif dalam proyek teknik serta memahami implikasi etis dari keputusan yang diambil dalam konteks keselamatan.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('6989341e-a6f5-40c7-a7b8-b4cbf9c9422c', '36266f20-0d43-46e9-9aa0-b8469a94467d', 'Sub-CPMK-11', 'Mampu melakukan pengujian mekanik pada material bangunan, termasuk uji tarik, uji tekan, dan uji lentur.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('69a35d75-355f-4126-8de5-d2a8bc9700fd', 'b0807bdc-71fd-433f-ab3d-0f69303b4daa', 'Sub-CPMK-10', 'Mampu menyusun struktur laporan akhir yang mencakup latar belakang, metodologi, hasil, dan kesimpulan dengan jelas.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('69a61d8e-56f1-487f-974f-720924f5232a', '2af73a2e-a476-4abb-aa5f-594248103db3', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menjelaskan tiga perbedaan utama antara teori yang diajarkan di kelas dan praktik yang ditemukan di lapangan.', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('69ab0c57-4231-485a-95cd-7e08d3257732', 'fc015a1a-d876-4f1f-894f-51429bbd4b02', 'Sub-CPMK-1', 'Mampu menjelaskan konsep dasar algoritma seperti struktur data, pengulangan, dan pengkondisian dalam Java.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('69df1d99-d808-4b42-a223-2e9a1d240ffb', 'b2b9370e-6ca1-4c3f-bec3-9c030fc30a73', 'Sub-CPMK-11', 'Mampu mengidentifikasi teknik pengumpulan data yang tepat berdasarkan jenis data yang diperlukan dalam penelitian.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('69ec2290-d890-4dc1-aade-b6ea38ff1174', 'e3fc73e8-a762-49e7-b981-4a76f921fb7f', 'Sub-CPMK-12', 'Mampu menjelaskan konsep pipeline dan dampaknya terhadap kinerja eksekusi instruksi serta mengidentifikasi hazard yang mungkin terjadi.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('6a0ef584-8b39-4d5f-8519-cccb22bf95d0', 'ccd0447c-e287-43e7-9e00-92f9945cdc5a', 'Sub-CPMK-12', 'Menjelaskan mekanisme autentikasi dan otorisasi yang efektif dalam sistem terdistribusi.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('6a2262b0-ca71-4057-8d41-b0d6be86aa42', '4114e103-8df9-4134-8659-17fb7b4edb4f', 'Sub-CPMK-5', 'Mengidentifikasi dan mengevaluasi teknik enkripsi yang digunakan dalam lapisan transport, termasuk SSL/TLS.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('6a5b5565-3fa9-4d06-be52-52c98b448909', 'a8ff9103-ac85-4264-81e7-8d722a22f966', 'Sub-CPMK-5', 'Mahasiswa mampu mengidentifikasi dan menjelaskan komponen utama sistem operasi dan fungsinya.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('6a67642a-1544-466c-9969-08174b81efa9', '92acd174-e2c2-43e8-943f-4c71b70396bf', 'Sub-CPMK-5', 'Mampu mendemonstrasikan prinsip kerja dari minimal tiga jenis sensor/transduser melalui percobaan praktis.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('6a8beb03-b47e-4d1d-8a2e-589f4dc6e3ef', '42c0780f-b04f-4b1f-b007-c9c45e0edf29', 'Sub-CPMK-6', 'Dapat merancang dan mengimplementasikan mekanisme caching untuk meningkatkan performa sistem.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('6aaf541e-d2d4-4683-8008-244548db5c8c', 'eaffbb94-225c-419b-bdd2-d3b2271aecc1', 'Sub-CPMK-9', 'Mampu memodelkan sistem termodinamika menggunakan hukum pertama dan kedua termodinamika.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('6acff08a-6263-4587-8705-32d9550abfa7', 'afed6b37-dea3-4e72-91b9-88d643ee0a69', 'Sub-CPMK-2', 'Mendeskripsikan arsitektur dasar neural networks seperti feedforward, convolutional, dan recurrent networks.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('6aea6d50-a40f-4b2c-841d-fdb51f1a7fa3', '778cbd7b-6e0e-4149-8f02-87a42bde4265', 'Sub-CPMK-4', 'Membandingkan berbagai jenis basis data NoSQL (document, key-value, column-family, graph) dan kegunaannya.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('6aeb80bd-29ad-47e7-a877-532577c77970', 'f44ea098-001e-4872-b705-266739e66eb7', 'Sub-CPMK-11', 'Mahasiswa mampu menghasilkan model 3D arsitektur yang sesuai dengan spesifikasi teknis dan estetika yang ditetapkan dalam proyek.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('6aec9258-e7e5-4a65-9caf-6c07d7794d09', '4bf1e50d-48be-4694-8ea5-5bd803444ef1', 'Sub-CPMK-6', 'Mampu mengidentifikasi dan mengeksploitasi kerentanan yang ditemukan pada sistem target.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('6af225fd-598c-429f-9475-25b10e8de6c8', 'c8db0a1a-346c-4dae-84e5-93866929d8e7', 'Sub-CPMK-4', 'Mahasiswa dapat menerapkan teknik analisis algoritma seperti metode rekurensi dan notasi Big O.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('6af3935a-42dc-4013-9757-a61c8ca14fa1', 'cd936bb6-16f4-4ea5-a74c-1921a041051f', 'Sub-CPMK-9', 'Menilai dampak sosial dari penggunaan AI dalam industri pekerjaan, termasuk potensi pengurangan lapangan kerja.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('6b0da01d-0732-43dc-96e3-cba43c28e460', '00d21b58-9cba-4a56-916c-d91b3aaa649c', 'Sub-CPMK-2', 'Mahasiswa mampu menganalisis hubungan antara material yang digunakan dalam konstruksi dan pengaruhnya terhadap kekuatan serta stabilitas bangunan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('6b2fbb25-02a2-438a-a736-6daf186fef46', '288f96b9-20bd-4c7a-a59f-de3b7e9b82ce', 'Sub-CPMK-13', 'Menganalisis isu etika yang muncul dari penerapan teknologi informasi dalam bisnis.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('6b301f18-1122-445a-9402-23cdc68fe1bf', 'd8904f9c-8792-412a-ae2c-91da4326dd9f', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan dan membedakan berbagai jenis alat ukur serta karakteristiknya dalam pengukuran listrik dan non-listrik.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('6b40ec87-8577-4494-b95a-a40ea1a4cc2b', '8ceeb5fb-c5d0-4cd9-a8f2-cf21a0f714c8', 'Sub-CPMK-11', 'Mampu menyusun kerangka teori yang sistematis dan mendukung perumusan hipotesis penelitian.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('6b84a759-d3b5-4b6c-87f7-af9744347a41', '56c8a674-a34a-40b9-a2da-4f3daf454128', 'Sub-CPMK-1', 'Mampu menjelaskan struktur dasar HTML dan elemen-elemen yang umum digunakan dalam halaman web.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('6bb40a14-0272-451d-a0b0-77a4bf36fc0d', 'd3cc194f-db28-4529-b49b-8d9927bc6b39', 'Sub-CPMK-8', 'Mahasiswa mampu mengidentifikasi dan menganalisis dampak lingkungan dari suatu proyek menggunakan metode yang tepat.', 7.14, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('6bbc1622-578b-4870-87a3-935d955d3dd6', '0ef72857-cbc7-4bcd-8729-63d782766c4a', 'Sub-CPMK-13', 'Mampu merancang kegiatan pembelajaran yang mengintegrasikan teknologi digital dalam pendekatan KKP-Plus.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('6bdb8701-7088-48f3-b8ca-1db760e89f4d', 'cd936bb6-16f4-4ea5-a74c-1921a041051f', 'Sub-CPMK-7', 'Menganalisis contoh konkret penerapan teknologi AI dalam sektor kesehatan dan dampaknya terhadap privasi pasien.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('6c1b3110-b3bb-4202-9607-d1482bfb0432', 'a0b927de-c76d-4ab2-8245-59868dcab2b8', 'Sub-CPMK-7', 'Menganalisis kebutuhan keamanan informasi dalam suatu organisasi dengan menggunakan kerangka kerja ISO 27001.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('6c519ea5-b07b-4477-a887-6d9e8657a9bb', '991e40f6-117b-4fb8-b200-5c7641795694', 'Sub-CPMK-14', 'Mampu menentukan suku ke-n dan jumlah n suku pertama dari barisan aritmetika dan geometri dengan benar.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('6c5d9b5f-80b0-425e-9ad9-4ff3607e57ca', 'd176d858-c230-4302-b90a-23b5b68ffa16', 'Sub-CPMK-7', 'Mahasiswa mampu menyusun konten presentasi yang jelas dan sistematis berdasarkan data perancangan arsitektur.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('6c73833d-fa49-4290-8f98-1e9b0f985d3b', '384637dc-91ae-4d0d-a9ad-8dfda8e32f90', 'Sub-CPMK-11', 'Mahasiswa mampu memberikan umpan balik yang konstruktif dan spesifik terhadap desain yang dipresentasikan oleh rekan sejawat.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('6c882078-f49d-4df8-986c-9d6f219482c2', '732dbe61-e703-4494-a408-0127a790f1e5', 'Sub-CPMK-1', 'Mampu mengidentifikasi dan menjelaskan komponen utama dari penelitian ilmiah', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('6c91fc2b-a350-4178-9806-58ad451abc3a', '1b103f8d-7535-4119-b3d5-d2db53b1c19b', 'Sub-CPMK-5', 'Dapat merancang dan mengimplementasikan proses ETL (Extract, Transform, Load) untuk mengelola data sebelum pelatihan model.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('6c9a171d-704f-4b96-b4de-15d62228a55b', 'e51b9684-d31a-4c0c-ad71-1d4ae2646266', 'Sub-CPMK-4', 'Mahasiswa dapat menganalisis efisiensi penggunaan looping dalam algoritma yang berbeda.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('6c9e5b53-661a-412e-8be0-a882b452bfbc', '65d0ab0d-5fa6-4f53-ad10-f7a355ebe609', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan mendeskripsikan karakteristik utama kanal radio seperti frekuensi, bandwidth, dan interferensi', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('6cca3dbf-14e6-4ec8-9236-293f05c85876', '5468cb38-7793-4306-9f5d-fc2dadacd8df', 'Sub-CPMK-13', 'Mampu mengidentifikasi sumber-sumber belajar yang relevan untuk pengembangan diri di bidang desain.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('6cfee288-369c-46d4-a06d-af5044a47f47', '9f64cb7a-e765-4520-bbc0-54669c2231ff', 'Sub-CPMK-9', 'Mampu menerapkan metode analisis statistik untuk mengevaluasi data pemetaan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('6d0658d1-f8ba-4c63-a565-db98e28746e1', '03cd8417-7d3e-4535-b4eb-e7e985235a8a', 'Sub-CPMK-10', 'Mampu mengimplementasikan algoritma pengurutan (seperti quicksort atau mergesort) dalam kode Java dan menganalisis kompleksitasnya.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('6d08951b-441e-4f43-86a9-0d54b8a25eb5', '23e7d70b-2a4d-4f2d-9d8e-cfd3b64209cf', 'Sub-CPMK-6', 'Mampu mengidentifikasi faktor-faktor yang mempengaruhi daya dalam sistem tenaga listrik dan bagaimana hal tersebut berkontribusi pada stabilitas sistem.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('6d188042-0357-4112-9734-e239ce7c9517', 'cbce9e7e-f220-412e-b91d-a00b9e6c86c2', 'Sub-CPMK-4', 'Menganalisis arsitektur sistem untuk menentukan ketersediaan tinggi dan strategi pemulihan bencana.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('6d195ed2-5fce-4662-9d07-dfcd80724765', '829a667b-729e-49a5-9670-705605e04875', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menganalisis kesalahan dalam pengamatan posisi benda langit berdasarkan data praktik.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('6d2de266-8f70-476f-9624-3be61abe1b59', 'f556dab1-731b-46ff-a996-159473fe451b', 'Sub-CPMK-8', 'Mampu membuat sketsa desain awal dan prototipe menggunakan perangkat lunak desain yang relevan.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('6d3215e0-d329-47f4-aa73-a9ebd68f5a5d', 'b49e551d-480b-46e6-b23e-14066b4ea9ed', 'Sub-CPMK-13', 'Mampu melakukan pengujian fungsional pada perangkat telekomunikasi untuk memastikan kinerja sesuai spesifikasi.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('6d4eeff9-d3fa-4387-ae37-33b5793aa170', '778cbd7b-6e0e-4149-8f02-87a42bde4265', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan perbedaan antara basis data relasional dan NoSQL.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('6d70043a-71f6-45f1-9b47-c165e500ce51', 'f786eb5e-0737-4688-a171-7dd00d6b9f67', 'Sub-CPMK-11', 'Mampu menggunakan metode Simpson untuk menghitung integral dan menganalisis kesalahan antara hasil numerik dan analitik.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('6d78d711-c858-4fcc-a787-ef4ba76febb4', 'd23bab5e-bfba-427b-abd4-e2f6419dd7ea', 'Sub-CPMK-12', 'Mampu melakukan profiling dan benchmarking pada kode program untuk menemukan bottleneck dan mengusulkan perbaikan.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('6d790096-a47c-4988-84db-afa100f3bb82', 'a178c857-2854-4c08-a3ea-70c518ee9b5e', 'Sub-CPMK-6', 'Menganalisis dan mengevaluasi risiko yang terkait dengan sistem yang akan diuji', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('6d7f83c2-c364-4249-914d-176b7f8d078c', '2ca7ab7d-8b63-4dcf-9541-a87ed690de7d', 'Sub-CPMK-10', 'Mampu menggambarkan dan menganalisis garis gaya medan magnet menggunakan alat ukur dan software simulasi.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('6d8324c5-36e6-49b3-971d-d5f2f7dfcdbe', '4ef0a7e7-1b31-4779-8a10-ce7378649d18', 'Sub-CPMK-6', 'Mahasiswa mampu menganalisis teknologi terbaru dalam pembuatan dan pengolahan beton, termasuk beton ramah lingkungan.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('6da41998-68a1-46de-a396-75da90c67847', '90fea71d-d82e-43e2-880b-ef9ab18ba7b6', 'Sub-CPMK-11', 'Mahasiswa dapat menjelaskan konsep dasar Function dalam Java, termasuk parameter dan return value.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('6dac0010-5898-4daf-bef0-9002463dc3e9', '2a732ae0-c0ad-4fb5-afec-136aa42e0862', 'Sub-CPMK-11', 'Mampu merancang dan menyajikan laporan analisis data yang mendukung keputusan manajerial.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('6db45af2-3a19-4f58-9e35-a0a19ce1af80', '9abe650c-5da8-482c-926c-1c416b933863', 'Sub-CPMK-12', 'Mendeteksi dan mengoreksi kesalahan proporsi dan perspektif dalam gambar teknik.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('6dd4b766-0627-4b83-9cd2-13610ccedccd', '02f3538a-c975-4482-a655-45d99aee103f', 'Sub-CPMK-11', 'Mampu melakukan analisis terhadap pengaruh suhu terhadap kekuatan dan ketahanan material pada kondisi tertentu.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('6df286cf-2b72-4503-86cd-69f4b0a8fdd5', 'af8eba7d-3ac8-47b3-a413-4d99981d07d7', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan memperbaiki kesalahan sintaksis serta kesalahan logika pada kode program.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('6e08ff78-34b9-4dd4-b7d1-63399b6b8f9b', 'bf5707c9-3c59-446d-a098-0af7bbe6a03f', 'Sub-CPMK-2', 'Mampu menghitung limit fungsi menggunakan teorema limit dasar.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('6e1b0742-78d1-40e6-b36c-328a2c8d0ba9', 'b63cbb6d-6127-46ed-9153-91a9e916109b', 'Sub-CPMK-4', 'Mahasiswa dapat menyelesaikan masalah praktis dengan menggunakan nested looping dan memahami aplikasinya dalam struktur data.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('6e2cb2d0-20e8-49b4-9781-b00c7f0e50bd', '72811a03-4258-4abc-9852-23e3e5398c2d', 'Sub-CPMK-8', 'Mampu menerapkan metode Newton-Raphson untuk mencari akar persamaan dan menganalisis konvergensinya.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('6e35b25e-5646-4883-a209-190a50f9cbec', '6143c29c-b167-4986-be35-f1031a457786', 'Sub-CPMK-9', 'Mampu menganalisis gangguan tanah dengan menentukan impedansi tanah dan arus gangguan yang dihasilkan.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('6e44f5a0-6703-48ce-aedf-bbf5b9780b0e', '79bbd330-f925-4ade-80e1-c90a67c66a70', 'Sub-CPMK-14', 'Mampu menggunakan alat profiling untuk mendiagnosis masalah performa dalam aplikasi Java.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('6e4740ff-c6f6-45cb-87fa-156eda7acd73', '00c49185-5232-4b17-beaf-4b22122f7bf5', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi dan mengevaluasi potensi aksesibilitas dan infrastruktur yang ada di sekitar tapak.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('6e475ed8-ff17-43cc-8458-bef0120ca44a', 'cc2d85f1-9469-4028-b0d6-5d5743d85ddf', 'Sub-CPMK-7', 'Mampu menghitung gaya elektrostatik antara dua muatan menggunakan hukum Coulomb dan menjelaskan aplikasinya dalam kehidupan sehari-hari.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('6e4940c7-f831-4937-a458-17580821398d', 'c4ec86cb-d894-41bf-be4a-ce6e05f7fa3d', 'Sub-CPMK-12', 'Mahasiswa dapat mengembangkan prototipe desain arsitektur yang mencerminkan prinsip keberlanjutan dan responsif terhadap perilaku pengguna.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('6e677f21-c8e9-466d-ac15-3cfb85ce85dd', 'e410da4f-1854-4c11-bf65-b69b1db8bf3d', 'Sub-CPMK-11', 'Dapat menjelaskan dan mengimplementasikan konsep variabel dan tipe data menggunakan visual programming di Alice.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('6e8f0c93-269f-45f7-9af5-0e52137834fe', 'a34c1796-eb3e-438c-85cb-8fcc9100af9c', 'Sub-CPMK-3', 'Mampu menganalisis keseimbangan gaya pada elemen-elemen bangunan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('6e958255-5e2e-40e6-9a22-57b92da6698d', 'ae50072b-2d37-4644-9bc9-4d846ae12575', 'Sub-CPMK-10', 'Menerapkan transformasi Laplace pada fungsi kontinu untuk menyelesaikan persamaan diferensial orde pertama.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('6e98fea6-be91-46e7-9a9d-bff2e3772ecf', '9d944155-ebcd-405f-a7d7-10b6427e3f89', 'Sub-CPMK-11', 'Mampu merancang blok fungsional dari sistem digital sederhana dengan menggunakan perangkat lunak desain VLSI.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('6ead8656-0ee6-4605-91d1-ef9eaaa0b972', 'd3cc194f-db28-4529-b49b-8d9927bc6b39', 'Sub-CPMK-7', 'Mahasiswa mampu menjelaskan komponen utama dalam AMDAL dan fungsi masing-masing komponen tersebut.', 7.14, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('6f22c7c6-1a63-42ef-9638-1e7977e2c5df', '4061ae35-2287-451f-a5e9-3d0e918094c8', 'Sub-CPMK-9', 'Mampu mengidentifikasi dan menjelaskan metrik yang digunakan untuk mengevaluasi kinerja model generatif.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('6f2efbc4-6d45-4648-9a12-f22521d56893', 'bf5707c9-3c59-446d-a098-0af7bbe6a03f', 'Sub-CPMK-3', 'Menganalisis kontinuitas fungsi pada interval tertentu dan menentukan titik diskontinuitas.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('6f4f5cd5-e679-49b0-80a4-6536f6a33cae', '01ddd612-7233-4e1e-9b3c-f783b2dc5ea4', 'Sub-CPMK-9', 'Mampu merancang dan menggambarkan skema rangkaian analog dan digital sesuai spesifikasi teknis yang diberikan.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('6f612b2a-0232-4dbc-aa9b-d6f4f34cd0a6', '9b5e7811-6957-4f91-aa78-6749fd73e475', 'Sub-CPMK-13', 'Mahasiswa dapat menjelaskan konsep dasar layanan jaringan seperti TCP/IP, DNS, dan HTTP.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('6f624862-a896-4797-9f3c-b11a93def996', '452834fe-cab5-4158-bee0-ec3fb5e88785', 'Sub-CPMK-5', 'Mahasiswa mampu mengidentifikasi dan menggambarkan berbagai teknik data mining yang umum digunakan.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('6f65358a-c287-41b6-9245-0745c5a6efdb', 'ae50072b-2d37-4644-9bc9-4d846ae12575', 'Sub-CPMK-11', 'Menggunakan tabel transformasi Laplace untuk menemukan solusi persamaan diferensial orde kedua dengan kondisi awal.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('6f754550-7d8a-4fe5-a141-23bfa04807f2', '33417c0d-bb2f-4ecd-bd4b-51d8f22ff98d', 'Sub-CPMK-9', 'Mampu menganalisis sifat-sifat linearitas dan waktu-invarian pada sistem LTI dan dampaknya terhadap respons sistem.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('6f864d87-0af1-4822-b02c-f7d92df82e7e', '52fff22e-a0a7-48e6-918c-224a5b7f92e8', 'Sub-CPMK-2', 'Mengidentifikasi komponen utama dalam arsitektur sistem big data, termasuk penyimpanan dan pemrosesan data', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('6fc061e5-cab6-40e9-8501-cf7099525b9c', '4c1cf232-5af9-45f2-84b4-e93f5e397359', 'Sub-CPMK-9', 'Mahasiswa mampu mengukur arah kiblat menggunakan kompas dan metode pengukuran sudut.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('6fecbb88-4f17-4585-a052-a73be1531f73', '280a4980-d506-4924-aee6-c56e7da3e51d', 'Sub-CPMK-9', 'Mampu mengevaluasi kestabilan sistem tenaga listrik dengan menggunakan metode analisis kestabilan transien.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('6fee470f-43de-41f0-9436-8a183cb2d29c', 'd556ea29-9aba-4f3d-80dd-7899d2f58d33', 'Sub-CPMK-2', 'Mahasiswa mampu mengidentifikasi berbagai arsitektur komputer dan perbandingannya dalam konteks performa.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('6ff4f75f-b1b4-41a6-906e-1bc19800ec00', '154029d0-81d8-40de-848a-885d3301d720', 'Sub-CPMK-10', 'Mahasiswa mampu menghasilkan gambar teknis arsitektur dengan menggunakan perangkat lunak desain berbasis komputer.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('6ffd5a79-84c2-47f0-9b2d-454117b2ee48', '6fc3dd56-14a7-4c79-af64-a6fd1eb9ee12', 'Sub-CPMK-11', 'Menganalisis kasus nyata yang melibatkan trade-off antara consistency, availability, dan partition tolerance dalam sistem terdistribusi.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('70087215-3a64-4a0f-b5b9-544fa87dc137', '1b103f8d-7535-4119-b3d5-d2db53b1c19b', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan mendefinisikan komponen utama dalam pipeline data untuk model machine learning.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('7010b6e7-4d14-40db-881c-3a9e85ae48de', '4c1cf232-5af9-45f2-84b4-e93f5e397359', 'Sub-CPMK-10', 'Mahasiswa mampu menentukan ketinggian matahari pada waktu tertentu menggunakan alat ukur sudut.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('70399adc-4cfe-4e2b-a01f-257e28ec586c', '12bcb1a2-2612-4f78-a5db-99b9ee319011', 'Sub-CPMK-13', 'Mampu mengidentifikasi komponen sistem proteksi yang tidak berfungsi dengan baik melalui analisis data operasional dan laporan insiden.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('703c3718-a0a4-4e48-a3e0-aac2652059f4', 'c5f381ee-c6de-4aaf-8f34-06ea3e7ebe8e', 'Sub-CPMK-4', 'Mengidentifikasi dan mengevaluasi kerentanan spesifik yang ada pada layanan cloud yang digunakan.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('7056ee6e-2987-4552-9b5a-de6c03f8cc5b', 'd4dc1cb0-4cd8-4216-9f3a-03313909bf89', 'Sub-CPMK-7', 'Mahasiswa mampu menjelaskan cara menyajikan data dalam bentuk tabel, grafik, dan diagram.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('70663975-44e2-4ca7-af8e-111138ebbfc4', '361fc802-a9c1-43fc-841a-df1b3d20a2d4', 'Sub-CPMK-1', 'Menganalisis hukum Pascal dan aplikasinya dalam sistem fluida statis.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('70825bd5-0986-4ec3-b3cb-1145f7315e32', '5c6ae3fd-4b05-45d8-83f6-3dbb6fa6114a', 'Sub-CPMK-8', 'Mahasiswa dapat merancang dan menerapkan metode pengendalian mutu dalam setiap fase proyek konstruksi.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('70a51199-fd87-48fa-b3ff-f995d63ae743', 'f54de24d-6aea-410e-a83f-549bb04a67a3', 'Sub-CPMK-14', 'Melakukan simulasi propagasi sinyal nirkabel menggunakan perangkat lunak simulasi untuk memprediksi coverage area.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('70bb5fb1-5ffa-463e-b752-b2864b824ef2', '59b991d8-d9f6-46db-94f9-0f9d5cddfa46', 'Sub-CPMK-3', 'Mahasiswa dapat mengidentifikasi dan menjelaskan fungsi dari komponen utama sistem komputer seperti CPU, RAM, dan penyimpanan', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('70c877d5-3fb7-4d6c-ab9b-015e57b70276', '465a1c56-5300-4413-8c3d-81cf62b153bb', 'Sub-CPMK-14', 'Mampu menjelaskan metodologi penelitian yang akan digunakan dalam Tugas Akhir secara detail dan sistematis.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('70e51a46-0d7b-4dda-a5c9-9bf9dce7d9c6', '498da964-e109-4dc2-b247-e2f734c2ea5e', 'Sub-CPMK-1', 'Mahasiswa mampu mendefinisikan sistem bilangan biner dan menjelaskan perbedaannya dengan sistem bilangan desimal.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('70fa6b3a-212f-45ad-87b4-ea6d047214fa', 'd093ffa1-e6ae-4330-9826-1e17e2d0fea7', 'Sub-CPMK-7', 'Menganalisis kasus nyata mengenai dampak sosial dari penggunaan AI di sektor kesehatan', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('70fd4f52-20fe-4944-8f09-1474740d5cc1', 'e083d83a-0c96-4901-ad59-f1edbebfb89e', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar kelistrikan, termasuk hukum Ohm dan hukum Kirchhoff, serta dapat menerapkannya dalam analisis rangkaian listrik sederhana.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('7106a942-b56d-41ca-95af-e90f97988b40', '8351e9ac-632b-4449-bbe7-7865b4d5d228', 'Sub-CPMK-2', 'Mahasiswa dapat merancang dan menganalisis rangkaian pengendalian daya menggunakan komponen elektronika daya.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('71268d65-e3a4-4c32-9a53-9c947839c75b', '676350f0-7b29-4b66-8755-ff9707b3a4b3', 'Sub-CPMK-2', 'Mahasiswa dapat menentukan kekontinuan fungsi pada interval tertentu dan mampu mengidentifikasi titik-titik diskontinuitas.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('712a2eff-5ca1-4402-bafe-dbab74c511c9', '602574f7-c970-4de9-be36-564ea02afae7', 'Sub-CPMK-14', 'Mahasiswa mampu menjelaskan konsep dasar pemeliharaan perangkat lunak dan jenis-jenisnya.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('71323b41-a993-4f01-a332-4349f8b17dad', 'e2ce6b37-be16-4eea-963e-f32ebaa153a2', 'Sub-CPMK-5', 'Mampu menguraikan prinsip kerja dan karakteristik dari perangkat proteksi seperti pemutus sirkuit, relay proteksi, dan fuse.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('7134a19d-0e33-4a04-ae15-c15f14d9d6cf', 'bada7176-f930-465d-b177-b5a73522bce5', 'Sub-CPMK-10', 'Mengidentifikasi dan menganalisis pasar serta pesaing untuk rencana bisnis yang berkelanjutan', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('713b1b26-3ba3-4344-8486-187dbba9d741', '9d944155-ebcd-405f-a7d7-10b6427e3f89', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menganalisis kebutuhan sistem digital sederhana yang akan dirancang menggunakan metodologi desain VLSI.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('713dbca9-cd9e-42e6-842f-cf1d182e10d2', '773a8fc5-66e6-4763-834c-0befba2db740', 'Sub-CPMK-8', 'Mampu melakukan analisis data pengamatan untuk menentukan koordinat astronomis benda langit.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('716266a2-f5d6-403e-963b-556311d49419', 'e17e6247-cad1-4edf-b4ee-c311d7f749ca', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan komponen utama dalam arsitektur Generative AI dan LLM, termasuk encoder, decoder, dan attention mechanism.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('71660484-e1e4-4c52-ac50-f515ebb4efa1', '1ad05112-e2ba-46c2-9af8-4e7c1d5da7ac', 'Sub-CPMK-5', 'Dapat menerapkan prinsip-prinsip moral dalam pengambilan keputusan terkait proyek rekayasa komputasional.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('716a1e14-8f1a-4d84-9f92-c8e591d4f00b', 'e02dfbc3-5ee3-46b5-9b39-ebc9fd3813fb', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menerapkan prinsip-prinsip etika dalam pengelolaan data di lingkungan cloud', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('716fde31-5078-448a-ab18-109b8e93a6e5', '0edc3520-ab5f-4a80-8296-9ebe3f9810a7', 'Sub-CPMK-12', 'Mahasiswa mampu menyusun laporan perancangan yang mencakup analisis kebutuhan, konsep desain, dan spesifikasi teknis.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('717540cd-50fa-4f2b-b999-771ccc5c00ac', 'f24dd30b-18c0-4c7d-b673-22097784c6a9', 'Sub-CPMK-2', 'Mengidentifikasi komponen utama dalam arsitektur situs web, seperti server, database, dan client.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('71846de5-33f6-4664-9d22-82f1a004cb98', 'd8acfdc5-4529-4da9-888c-1c3e70921d90', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi berbagai jenis model komputasi yang digunakan dalam aplikasi terkini.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('71aaff59-f6fa-4d1b-b440-ea1dcf27031d', '4215c6eb-e4da-4ceb-b61e-d6e2d01a3ad8', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan fungsi dari transduser analog dan digital dalam aplikasi teknik.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('71ab4590-05b2-4747-9cc1-348004e6693a', '273c0b64-2b1e-4834-a607-e882d21577c7', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menjelaskan fungsi dari perangkat keras jaringan seperti router, switch, dan access point.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('71c980ae-f537-4181-be74-7ed04b4137d2', '18279719-f87d-444d-96f3-4bdbad090803', 'Sub-CPMK-3', 'Mahasiswa dapat menerapkan standar internasional dalam perancangan sistem komunikasi nirkabel.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('71d9c8d6-4e00-4f15-8e21-570857b19e2d', '94c6fd18-7873-405d-8970-4c79ada1cd7c', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menganalisis kebutuhan aplikasi sistem radar atau navigasi sederhana yang akan dirancang.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('71da3860-24a2-4efa-8bd7-3fb7bf700967', '1bfc53be-9e1e-44da-81e9-7ac6b37aa8cb', 'Sub-CPMK-1', 'Mampu mengidentifikasi dan menjelaskan komponen utama perangkat keras komputer, termasuk CPU, RAM, dan penyimpanan.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('71f6da04-857c-418a-a0af-11ea56517152', 'e9feaaee-afcd-4f45-9b52-b98c5f9bffda', 'Sub-CPMK-6', 'Menerapkan standar keselamatan dalam perancangan dan pelaksanaan proyek teknik elektro.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('72002935-24b8-4dbc-bb25-566d7ea04f44', 'f6471973-5087-4cd8-bba0-b34bf6cfe362', 'Sub-CPMK-7', 'Menganalisis faktor-faktor yang mempengaruhi proses vulkanisme dan dampaknya terhadap lingkungan sekitar.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('7219e831-89fe-47e5-bfe7-7790d11d5e6d', '32c22ec8-603d-4777-a234-78fec47e98f9', 'Sub-CPMK-10', 'Mahasiswa dapat menggunakan perintah dasar untuk navigasi direktori dan mengelola file di Command Line Linux.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('7222de3f-12e8-488e-8496-a7808d1109f4', '60bb88d2-178d-4d60-b302-7a2515ff3af6', 'Sub-CPMK-7', 'Mahasiswa mampu menjelaskan berbagai model proses perangkat lunak seperti Waterfall, Agile, dan Spiral', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('722dc09d-fb19-4c39-af54-78a50bbf2291', '11278b41-2964-4364-96f2-3dfcc717863d', 'Sub-CPMK-11', 'Menilai implementasi prosedur K3 yang ada di lapangan berdasarkan standar nasional dan internasional.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('72546d94-66c0-47bf-940d-1333ae5fcac2', '42c82d6a-654c-499c-b1b2-aa88363608bb', 'Sub-CPMK-12', 'Melakukan tuning hyperparameter menggunakan metode grid search dan random search untuk meningkatkan akurasi model.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('725fe453-ae10-4c11-bb25-0fb3834a20ef', '5113ae1a-1e77-4fa3-8a7e-c261d4b236bf', 'Sub-CPMK-13', 'Mampu mengevaluasi efektivitas visualisasi data dalam menyampaikan informasi.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('726427ad-59ef-4216-bb7d-5e561699da51', '7170b75e-2dc5-4a5b-b6fe-2b3892a1c6e1', 'Sub-CPMK-6', 'Menerapkan teknik pub-sub dalam sistem basis data dengan menggunakan Kafka untuk real-time data streaming.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('729afb39-95f3-43b3-bceb-cd541a020571', '5113ae1a-1e77-4fa3-8a7e-c261d4b236bf', 'Sub-CPMK-14', 'Mampu menggunakan perangkat lunak grafika komputer untuk membuat visualisasi data yang interaktif.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('72b8ca4d-2d7f-465a-9a91-68ff3d44de50', 'a49de98c-be17-40e7-8d20-d70155f21631', 'Sub-CPMK-10', 'Menggunakan metrik BLEU untuk mengevaluasi kualitas terjemahan model NLP dengan membandingkan hasil terjemahan dengan referensi terjemahan yang sudah ada.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('72bc0b8e-effe-4926-b07b-e8af9c4a7fca', 'c6ee32e4-bb27-4369-a42d-c2ffebd2c7b1', 'Sub-CPMK-14', 'Mampu menganalisis hasil pengukuran dan menghasilkan laporan yang menjelaskan hubungan antara tegangan, arus, dan resistansi dalam rangkaian PV.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('72ca23b2-66a6-4f36-8e0a-93a2a5589a0c', '8ccca03b-c90f-4766-8a6e-de48dc5fe60a', 'Sub-CPMK-2', 'Mahasiswa mampu melakukan analisis rangkaian listrik AC sederhana dengan menggunakan metode phasor.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('72f662be-92f2-4b91-ac23-18d60776ab63', '743e148c-7322-4e67-86d0-ed3b300d3aa9', 'Sub-CPMK-13', 'Mahasiswa mampu menghasilkan minimal 3 sketsa yang menggambarkan eksplorasi bentuk estetika dari objek sehari-hari.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('72ffc510-4d98-4651-b401-5cea9c209fd4', 'ea1b62bf-c61e-47ff-b01a-59d84c7ba92b', 'Sub-CPMK-14', 'Mengidentifikasi dan memperbaiki kerentanan keamanan yang ada dalam aplikasi web.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('7302f61f-4da6-4f9a-9dcf-2023193b678a', 'ea463cec-ba24-404e-865c-8920daaea514', 'Sub-CPMK-14', 'Mampu melakukan simulasi dan analisis kinerja sistem fotovoltaik dalam konversi energi terbarukan.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('73086ac7-550e-4767-adcd-edd60b66bd10', '54762a32-500c-4067-b52e-f68a8b09ac60', 'Sub-CPMK-2', 'Mahasiswa dapat melakukan percobaan untuk mengukur indeks bias cahaya dan memahami fenomena pembiasan serta refleksi menggunakan alat optik sederhana.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('73214dc4-f635-4e20-ab39-4c6f84cef7a3', '0076df83-3825-442f-a333-101ddba85852', 'Sub-CPMK-12', 'Mampu menyusun dan mempresentasikan laporan proyek perancangan secara kolaboratif dengan menggunakan alat bantu visual.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('732dbc32-e2f5-4784-8c2a-5a124c979d24', '7f974a6c-3419-4a25-9b92-10cc9ce00cae', 'Sub-CPMK-6', 'Merancang dan menerapkan kebijakan keamanan jaringan yang efektif untuk infrastruktur cloud.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('7378adff-9b4f-4c9c-9c17-662e2d6adfc7', 'b811e280-eba9-4b52-8188-8cc6061e95f4', 'Sub-CPMK-9', 'Mahasiswa mampu menjelaskan konsep dasar dari pipeline dalam arsitektur komputer.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('7395db9a-f2bf-4168-9cff-4eda83d4e980', 'ba22bb44-0cec-4fb0-a153-a2347a36de34', 'Sub-CPMK-8', 'Mampu merancang rangkaian filter sederhana untuk menghilangkan noise pada sinyal keluaran sensor dengan spesifikasi frekuensi tertentu.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('73970523-10c5-424c-999e-d234ee78bb1f', '90ab017c-21d9-4300-a24b-eb1e46f08eeb', 'Sub-CPMK-13', 'Mampu merancang dan melaksanakan eksperimen untuk mengukur kekuatan tarik dan tekan material bangunan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('7397285b-91b2-4b08-8146-403e842ee485', '9f250be9-8e42-4186-a9ec-dff334333631', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan berbagai jenis perangkat lunak arsitektur digital yang digunakan dalam perancangan bangunan.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('73d22194-fc0f-46c4-a124-8a93e26cdb44', '1ff96c38-9346-4cd1-b8cd-31391222a184', 'Sub-CPMK-14', 'Mampu menggunakan perangkat lunak matematis untuk menyelesaikan sistem persamaan linear dan menginterpretasikan hasilnya.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('73dac9bf-bbda-4edb-8771-b3274351665f', '21cc312d-5b30-45da-9962-872864c8bc6f', 'Sub-CPMK-14', 'Merancang basis pengetahuan untuk sistem pakar menggunakan metode yang sesuai', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('74097971-233a-46f2-8780-95eb6ef86d1a', '182790e2-690d-4d5f-afbc-59bf06b34cf6', 'Sub-CPMK-3', 'Mahasiswa dapat menerapkan pointer untuk manipulasi memori dan pengolahan data dalam program yang efisien.', 7.14, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('741005f9-6938-459c-b9a0-03905e06e5f7', '76aef8de-4c40-4ac0-9534-40ce9a063a9a', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan komponen utama dari kerangka kerja etika AI yang ada.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('7418dbe5-2fda-4ba2-a463-7013904107a7', 'f1dd2b33-f129-4b95-85d0-44d79ae5ad8f', 'Sub-CPMK-8', 'Mampu merancang rangkaian pengendalian daya untuk aplikasi konversi daya dengan mempertimbangkan efisiensi dan kestabilan.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('742b8e0a-c00d-4f83-aa18-7076f5fea058', 'f1dd2b33-f129-4b95-85d0-44d79ae5ad8f', 'Sub-CPMK-9', 'Mampu menganalisis kinerja rangkaian pengendalian motor menggunakan perangkat elektronika daya dalam simulasi.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('74304d55-49f2-4659-8276-f6fad3d25c82', '18afeb2a-8eee-4533-96ec-391eda350479', 'Sub-CPMK-10', 'Menggunakan perangkat lunak hidrologi untuk mengolah data curah hujan historis dan memvisualisasikannya dalam bentuk grafik', 0.00, '2026-01-17 00:59:12', '2026-01-17 00:59:12'), +('7444bc35-f333-4861-9bfc-f2a2faaa1b48', '85f42083-81d7-4aae-9a26-3b08811ae223', 'Sub-CPMK-4', 'Mahasiswa dapat mengidentifikasi berbagai jenis sistem operasi dan contohnya.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('7444e3ac-0167-4afd-a200-de8b24eef455', '388f6088-b3ab-4673-924d-9128b30f78eb', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan jenis-jenis metodologi penelitian yang relevan dengan topik yang diteliti.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('7475ee98-c655-47a0-9b3d-3a07147ac22c', '4197cea8-2564-4458-9e68-09c5d6286542', 'Sub-CPMK-14', 'Mahasiswa dapat mengidentifikasi dan menerapkan material yang sesuai untuk sistem struktur sederhana dalam rancangan arsitektur.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('748a8ce4-7d66-4334-89fb-997fd53f4578', '6742871e-f408-44c3-be56-ba1220f92994', 'Sub-CPMK-11', 'Mampu menghitung kebutuhan energi beban harian untuk aplikasi rumah tangga atau industri kecil.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('74a03f65-a8c3-46da-9f49-d48d3cfd4248', '5a674a9b-67b4-43f6-b284-03b891d19412', 'Sub-CPMK-10', 'Mampu mengimplementasikan algoritma pengurutan bubble sort dalam kode Java.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('74a447d0-126b-4422-b2dd-c12b3a166a09', 'a89d7adf-78bd-4928-b224-e9a230777794', 'Sub-CPMK-1', 'Menganalisis dan menjelaskan berbagai jenis serangan siber serta metode mitigasinya.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('74a5e3a0-5705-4ea1-8c87-66264d59223a', 'cacda38c-c295-49f6-a838-e629913dff5c', 'Sub-CPMK-13', 'Mampu menghitung limit fungsi yang berhubungan dengan fenomena fisika dan teknik.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('74b21961-bc7e-4dfd-9499-5f253528d1f3', 'f3139063-0676-4c4d-9ab2-7ed95bd89482', 'Sub-CPMK-6', 'Dapat merancang diagram ER (Entity-Relationship) yang merepresentasikan hubungan antar entitas.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('74b44165-d7b1-431b-b95e-d433a9c44e79', '68925eaa-2057-41ae-a850-25b552a6ad95', 'Sub-CPMK-12', 'Dapat menyusun laporan teknis yang mencakup temuan kerentanan dan bukti eksploitasi.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('74e7b468-aaf1-429d-8b4e-d38775769632', '3aed8829-15d8-4357-9c53-f14d3ceb2792', 'Sub-CPMK-2', 'Mahasiswa dapat merancang skema hubungan antar ruang yang efisien berdasarkan analisis kebutuhan pengguna dan fungsi bangunan.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('74ec8d5e-92f7-416c-9b6a-099a96e7ddcc', '3aac43e3-870e-460a-9ccb-bec269279824', 'Sub-CPMK-9', 'Mampu menganalisis dan memilih metode penalaran yang tepat untuk problem yang diberikan', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('74edc815-c9d2-4ce2-8c92-2b0775f70d57', '21cc312d-5b30-45da-9962-872864c8bc6f', 'Sub-CPMK-13', 'Mampu menganalisis masalah yang dapat diselesaikan dengan sistem pakar', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('751dce1b-7c30-4c36-9ba6-4a621dca24cf', 'cf149d01-4a9b-4b95-b963-d99040e6ca86', 'Sub-CPMK-2', 'Mahasiswa mampu merancang elemen estetika pada tapak yang harmonis dengan lingkungan sekitar.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('754bc0a8-a16d-46b8-b62d-034b2b4bba7c', 'cfd5a3ce-8c35-4b4f-9b6d-c779db09f50e', 'Sub-CPMK-4', 'Mampu menjelaskan konsep dasar pemrograman berbasis objek seperti kelas, objek, dan enkapsulasi.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('7562ad9f-c60a-4349-afe6-4bf4c3faa2f8', 'a6b053fa-aec5-4e89-b78a-832438da8d00', 'Sub-CPMK-3', 'Mampu mengkonfigurasi dan mengelola perangkat keamanan jaringan seperti firewall dan IDS/IPS.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('759c962c-90f6-4d7a-a4d5-8f80a41fc121', 'd075c428-e4d1-4e5b-9b13-1501c195735d', 'Sub-CPMK-7', 'Menghitung potensial listrik di titik tertentu akibat muatan titik dengan menggunakan rumus potensial listrik.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('75b61036-d8a8-4edf-974e-ae98d6588cf9', 'd59167c8-47f0-482a-acb9-0c1ca5e65ecc', 'Sub-CPMK-11', 'Mengidentifikasi metode dan teknik yang digunakan untuk menangani ketidakpastian dalam sistem pakar, termasuk logika fuzzy dan probabilistik.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('75bc5241-67a6-4270-97bb-8a8fa72d85fb', 'f4ff0118-28ef-40d6-b180-b1a073a99e42', 'Sub-CPMK-9', 'Mahasiswa dapat mendefinisikan dan memberikan contoh notasi asimptotik seperti O, ╬⌐, dan ╬ÿ.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('75be7191-3652-45c3-8f61-984725c6d180', 'dc7fcbe3-32e5-4218-b2dc-30d3d8498529', 'Sub-CPMK-10', 'Mampu merancang dan memilih sensor yang tepat untuk aplikasi kontrol tertentu.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('7609a42c-91fe-4f89-a885-9da5fa249b91', '24e367fe-d768-43fc-98b1-6cd56cced4dd', 'Sub-CPMK-14', 'Mampu menganalisis pengaruh beban terhadap kinerja transformator satu fasa dan menyajikan analisis dalam bentuk laporan.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('7616f1c4-322b-408c-b3d1-22b333c87978', '72811a03-4258-4abc-9852-23e3e5398c2d', 'Sub-CPMK-7', 'Mampu menggunakan metode Bisection untuk mencari akar persamaan nonlinear dengan akurasi tertentu.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('7629dbaa-5812-4d9a-877b-b5e481d6fc0e', '24570248-ee41-4066-a072-abced9827e70', 'Sub-CPMK-8', 'Mahasiswa mampu merancang sistem pemanas, ventilasi, dan pendingin udara (HVAC) yang efisien dan sesuai standar.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('763111b1-dff7-4261-b72f-450bed7aaaae', '3633c9ab-c988-46a0-a1bf-fa980a979de3', 'Sub-CPMK-11', 'Mahasiswa dapat merancang dan menerapkan rencana tindakan yang mencerminkan tanggung jawab sosial dalam proyek kewirausahaan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('7634f978-3b46-421e-9c06-e6e4f11ad70b', '33417c0d-bb2f-4ecd-bd4b-51d8f22ff98d', 'Sub-CPMK-7', 'Mampu menjelaskan konsep dasar operasi konvolusi dalam sistem LTI dan aplikasinya dalam analisis sinyal.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('765b6a26-72c5-4b0c-ae26-3fc49cd9a6ae', '9b4aed82-8ee0-4391-b2d5-43a7142cf1e2', 'Sub-CPMK-11', 'Mampu merancang dan menerapkan kebijakan keamanan jaringan yang efektif dalam lingkungan simulasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('765c02e8-3a4c-4f24-8078-484676fab924', '8d13fc3b-fb6d-477c-a540-388c8c2ca37b', 'Sub-CPMK-14', 'Mampu mengidentifikasi dan memperbaiki bug dalam sistem mikrokontroler menggunakan teknik debugging yang tepat.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('765d45bc-78f2-4fe4-8fff-0baa41f06a7b', 'b4c2d312-3473-40b8-87fe-34be3f11e80e', 'Sub-CPMK-11', 'Mampu melakukan perhitungan daya pancar yang diperlukan untuk mencapai jangkauan tertentu dalam komunikasi nirkabel.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('767aa700-42e4-40eb-a2f8-41c822d73aa2', 'b18dccb7-a8ce-49b2-b293-bbb8ae2a7e93', 'Sub-CPMK-5', 'Mampu membuat Dockerfile untuk aplikasi sederhana dan membangun image Docker dari Dockerfile tersebut.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('76978fb7-6f9c-487e-b1a1-8214304f840b', 'cdbba9c5-ae06-4294-bc79-f080db830f4b', 'Sub-CPMK-8', 'Mahasiswa mampu menjelaskan perbedaan antara metode hisab dan rukyat dalam penentuan waktu salat dan kalender hijriah.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('76c3cf31-7084-4955-b5e1-fd7502770b22', '2231ca71-6025-40cb-b669-b610c8879df0', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan menjelaskan alat-alat yang umum digunakan dalam praktik DevOps serta fungsinya.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('76e2f7f1-fbe0-4a19-9540-75e917a4715c', 'f205cfb6-0287-43e0-82a1-08fbbb484ad9', 'Sub-CPMK-2', 'Mengidentifikasi sumber informasi yang relevan untuk mengumpulkan intelijen ancaman siber.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('771c529a-ecf3-4579-ac7a-9608dc4a67a4', '9fd96396-0221-40d2-ace0-eb910338190d', 'Sub-CPMK-5', 'Dapat menghitung frekuensi kejadian hujan ekstrem menggunakan metode statistik yang sesuai.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('7727a0b6-2aaa-47b2-b680-823a458b6ddb', '6556f889-39b8-4a07-9d35-ae7766c9586d', 'Sub-CPMK-10', 'Mampu menganalisis data hasil pembelajaran sebelum dan sesudah penerapan KKP-Plus', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('774ca036-e9d2-4772-9cf0-e7aeda23074a', 'fa6fe10b-a82b-4dd9-b81f-fc803608e4ab', 'Sub-CPMK-4', 'Mahasiswa mampu menjelaskan komponen visual seperti garis, bentuk, dan tekstur dalam konteks arsitektur.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('7776f8dc-4b1c-47c1-b9f1-dd67429736ba', 'fe975734-9f4d-412f-b8f6-30a3efdf1dba', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan prinsip dasar propagasi gelombang elektromagnetik dalam kabel koaksial dan saluran pasangan berpilin, serta menghitung impedansi karakteristik untuk kedua jenis media tersebut.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('7778239f-74ba-4eb8-9566-e7f688afe4fa', '6186c002-78d1-4035-9240-e60e54213d16', 'Sub-CPMK-2', 'Mahasiswa mampu menggambar dan menganalisis Diagram Venn untuk dua dan tiga himpunan, termasuk identifikasi bagian yang saling beririsan.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('777bfc9d-38fa-4941-b907-2118c1a46621', '8ce32608-5a16-433c-b9d8-79cbbb85b90d', 'Sub-CPMK-12', 'Mampu mengkonfigurasi dan mengimplementasikan load balancer untuk aplikasi cloud-native.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('77821b80-1380-466a-9664-bac018b0ca37', '57b4f301-66c6-44d5-b12f-9cd2615efcf6', 'Sub-CPMK-13', 'Mahasiswa mampu menganalisis dan menjelaskan karakteristik utama arsitektur Islam dari berbagai periode sejarah.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('77e00b30-a88a-41f6-a1a2-625992c385c3', '150fc29e-bb6b-4f31-8963-273db0a7939d', 'Sub-CPMK-7', 'Mahasiswa mampu menyusun laporan pendek yang mencakup analisis dan hasil eksperimen dalam format bahasa Inggris akademik.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('781463f8-44b9-45db-ae52-010c08bb5944', 'c1141d16-4828-4075-9be8-97f99730e5fd', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menjelaskan berbagai metode modulasi yang digunakan dalam komunikasi radio.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('78227bb2-bc08-4aca-87a9-fcff613eca72', '6b809184-3422-478a-a855-ed11d1ff3c42', 'Sub-CPMK-9', 'Mampu menggunakan perangkat lunak pemrograman untuk menyelesaikan masalah analisis data sederhana.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('782c770a-4fc5-488a-b216-29b93bb73082', '89b3623e-2650-4933-8a2a-34b590578281', 'Sub-CPMK-8', 'Mampu melakukan analisis risiko proyek dengan menggunakan metode SWOT dan matriks risiko untuk mengidentifikasi potensi masalah.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('7839b003-f67a-4cf9-9be1-42ea8eccd0fa', 'da2db151-a8e2-4a26-806e-abd1aa3a578e', 'Sub-CPMK-7', 'Mampu mengevaluasi kinerja model machine learning menggunakan metrik yang relevan dan melakukan tuning hyperparameter untuk meningkatkan akurasi.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('783a0397-e3fd-433a-80cb-f513aa8f5b5f', '592eab5a-bab9-4f58-b0c3-9285f822df6c', 'Sub-CPMK-9', 'Mampu merancang antarmuka pengguna (UI) aplikasi web yang responsif menggunakan HTML, CSS, dan JavaScript.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('784022be-9001-4ab3-adb5-dad11b36d7d9', 'f62162be-a674-459d-af35-f0816f34460c', 'Sub-CPMK-13', 'Mampu mengidentifikasi komponen-komponen utama dalam sistem komunikasi serat optik dan fungsinya.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('7857a9b0-3d0e-4712-9fb1-67f0003c727d', 'fddaeab0-a4af-4295-a3d1-37bf6df6b699', 'Sub-CPMK-8', 'Mahasiswa mampu mendemonstrasikan sifat-sifat determinan minor dan kofaktor melalui contoh konkret.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('7861cb8f-9759-49d3-a675-9337cc632f9b', '7b862d8f-d0a1-4752-a6bd-da2509c6b94f', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis dan merancang rangkaian pengendalian daya menggunakan komponen elektronika daya.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('786e63a7-4cb9-4847-b4e0-c7b38c35ee7f', '20f28b99-7c87-4931-b177-0d3f86b9a34e', 'Sub-CPMK-12', 'Mengidentifikasi dan mendokumentasikan masalah usability yang ditemukan dalam evaluasi antarmuka saat ini.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('78775c03-64fa-436c-a720-4da5ddab4abd', 'ecb846f3-9675-4e6f-b1c5-2143206c9e7a', 'Sub-CPMK-3', 'Mahasiswa mampu mengembangkan algoritma pengolahan sinyal digital menggunakan MATLAB atau Python untuk aplikasi telekomunikasi.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('78a459f5-f8b0-49bf-81fd-30b0f7dfbcd8', '6e971c97-597e-4239-af9a-ebaca27fe55d', 'Sub-CPMK-11', 'Mampu menyusun tinjauan pustaka yang komprehensif dan terstruktur berdasarkan sumber-sumber yang valid dan terkini.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('78d06fc0-8872-4d9d-92aa-09ffa86c9030', 'e9543c92-85c6-4b46-892a-97f0abe803dc', 'Sub-CPMK-1', 'Mahasiswa mampu mendefinisikan dan menjelaskan istilah-istilah dasar dalam kriptografi, seperti enkripsi, dekripsi, dan kunci.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('79029f00-3801-4a31-a2e6-461123acdf2a', '431f054a-a1c2-4689-850c-6bef3a925cf4', 'Sub-CPMK-11', 'Mampu mengidentifikasi dataset yang sesuai untuk fine-tuning model BERT dalam tugas klasifikasi teks.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('7904556d-6121-4c39-a595-d3772a5e382c', 'c9583f35-dcff-46e1-8796-b4b5329fa189', 'Sub-CPMK-14', 'Dapat membandingkan kompleksitas waktu dan ruang dari dua algoritma yang berbeda untuk menyelesaikan masalah yang sama.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('790b83a5-de35-4697-a738-6d48dd335205', '7e2906e0-991b-457b-a269-6a19f101a067', 'Sub-CPMK-4', 'Mampu menjelaskan konsep normalisasi dan melakukan normalisasi pada tabel basis data sederhana.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('792f9e73-d533-4cc6-a5c4-c8f60c7d5292', '5be0b65d-2365-49c8-b332-b534691fef6b', 'Sub-CPMK-14', 'Mahasiswa mampu merancang sketsa awal dan gambar teknis yang menggambarkan solusi desain yang berfokus pada perilaku pengguna.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('795eb644-77b3-4b01-a8fc-0c105faa6b4e', '757af86a-7027-4b3b-a94d-5bd356ba61df', 'Sub-CPMK-1', 'Mahasiswa mampu menganalisis dan menerapkan prinsip kenyamanan termal dalam desain bangunan dengan mempertimbangkan faktor iklim lokal.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('79787269-f215-4f8f-9287-180ce9fd769c', '8b62ef6b-6c37-453e-b452-42c3b0ab9d79', 'Sub-CPMK-6', 'Mahasiswa mampu mengidentifikasi berbagai tipe representasi citra, seperti citra biner, grayscale, dan warna', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('797a11dd-fa10-4572-9b50-8ef086f1bac5', '7e52569d-2470-4d76-adba-b670b873bd0e', 'Sub-CPMK-8', 'Mahasiswa mampu merancang tata ruang permukiman yang memenuhi regulasi dan standar lingkungan hidup.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('797fa876-d72d-4a93-8c3c-4b5db98fc084', '992ec3c9-1ea4-4b1d-8436-972ae5944792', 'Sub-CPMK-11', 'Mampu menghitung gaya, massa, dan percepatan menggunakan hukum kedua Newton pada sistem mekanik sederhana', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('79846c53-ed45-4c7c-b2ca-fc0428641cc3', 'd4a25d0a-ae5f-4b9e-b851-35bb3f01375c', 'Sub-CPMK-11', 'Mengidentifikasi jenis-jenis perangkat lunak, termasuk sistem operasi dan aplikasi, serta peran masing-masing dalam sistem komputer.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('79aaa3ac-c817-45bc-903a-81cb828c9694', '9bfd3742-4019-48c7-ab34-3dedcd56b53a', 'Sub-CPMK-4', 'Mampu menjelaskan konsep dasar algoritma dan fungsinya dalam pemrograman', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('79b2e907-0862-4de1-8ca3-aa0a5e1720a4', 'a73a6132-4f38-4d53-bc46-9926ded263cd', 'Sub-CPMK-4', 'Dapat menyusun dan menjalankan query dasar menggunakan SQL untuk mengakses dan memanipulasi data.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('79f2d895-08e7-41d4-8447-f6fd953ed564', 'aa8ae991-4596-4280-813a-046bda57eeb8', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menjelaskan fungsi berbagai jenis sensor yang digunakan dalam sistem robotika sederhana.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('7a377283-15c2-48c3-a490-b6e08c7be6e7', '9a7cead4-fe95-42bf-aba8-56f154999a1e', 'Sub-CPMK-13', 'Mampu mengimplementasikan algoritma pengolahan sinyal digital untuk meningkatkan kualitas komunikasi pada sistem cerdas menggunakan MATLAB/Python.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('7a3a655e-8224-49b1-85c2-93bfb0c00a09', 'eb87bd12-6653-4fe2-a6a7-d066f8accd17', 'Sub-CPMK-8', 'Mampu mengumpulkan dan menganalisis data dengan metode yang sesuai untuk mendukung hipotesis penelitian.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('7a4d473d-49d3-460f-82d5-8ad0f16c0460', '9f64cb7a-e765-4520-bbc0-54669c2231ff', 'Sub-CPMK-8', 'Mampu menggunakan perangkat lunak pemetaan untuk memvisualisasikan data yang telah dikumpulkan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('7a5685fa-4959-44e8-b6d6-aafc18287a96', '5553ec70-ad82-4a9d-a9d9-80006660b4f6', 'Sub-CPMK-3', 'Mahasiswa dapat menjelaskan faktor-faktor lingkungan yang memengaruhi kekuatan beton selama proses curing.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('7a5afcaa-46c4-44fc-b0fc-00924af4899e', '699f8752-ad68-4b2d-8574-c7624db62626', 'Sub-CPMK-13', 'Mampu menggunakan CSS untuk mendesain tampilan web sederhana dengan minimal 3 elemen berbeda.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('7a83011d-80c5-47b5-9f42-40dfa21cdd53', '2474454d-aab7-45af-a62a-3a0758b84774', 'Sub-CPMK-8', 'Mampu menyusun dan menentukan tabel kebenaran untuk gerbang NOR dan XNOR serta menjelaskan aplikasi praktisnya.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('7a8e3de7-1451-42c0-8a8c-b801ff1df4cb', 'b4c2d312-3473-40b8-87fe-34be3f11e80e', 'Sub-CPMK-10', 'Mampu menjelaskan berbagai jenis modulasi yang digunakan dalam komunikasi nirkabel dan pemilihannya berdasarkan karakteristik sinyal dan lingkungan.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('7a957cb3-5f9a-4857-ad7c-8003b552baae', 'a73a6132-4f38-4d53-bc46-9926ded263cd', 'Sub-CPMK-3', 'Mampu melakukan normalisasi data hingga bentuk normal ketiga untuk mengurangi redundansi.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('7a986a39-72df-413e-8b8b-bd549eead083', '72f9505e-a34d-4c5c-a892-136f76b706d2', 'Sub-CPMK-3', 'Mampu melaksanakan eksperimen laboratorium dengan mengikuti prosedur yang telah dirancang dan mencatat data dengan akurat.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('7aa6f0ba-039a-4488-8d63-80cd943f49e2', 'a384241b-4aeb-44c6-8f6e-20baa289666d', 'Sub-CPMK-13', 'Mampu mengidentifikasi peran masing-masing anggota tim dalam proyek penelitian dan menyusun rencana kolaborasi yang jelas.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('7aa73c71-eb56-45a9-a379-7c1d8f4581d0', '6cb82ff0-bdcd-400a-8e73-97bbb0c98c8f', 'Sub-CPMK-1', 'Mendefinisikan dan membedakan antara sistem terdistribusi dan sistem terpusat.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('7ac0bc37-4913-4d24-acfc-de6b8b166526', '56c8a674-a34a-40b9-a2da-4f3daf454128', 'Sub-CPMK-3', 'Mampu menerapkan CSS untuk mendesain tampilan halaman web, termasuk pengaturan warna, font, dan layout.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('7ac8768d-5665-4c19-b71b-fe1f6e4e04e1', '80f8bf38-5cac-4a15-859a-7f1e63b0ec29', 'Sub-CPMK-10', 'Mampu merancang dan mengimplementasikan sistem sensor suhu menggunakan komunikasi I2C.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('7afe7b9e-7979-4175-a21e-e0f750399eb8', '45fbfb68-9878-4509-bee2-01276dfcd481', 'Sub-CPMK-6', 'Mahasiswa mampu menentukan momen inersia dan gaya geser pada elemen struktur sederhana.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('7aff6a1e-6ac8-4935-9c50-6917a53daf44', '7271df3f-b259-4840-80c2-6282a4c907a9', 'Sub-CPMK-9', 'Mampu menulis query SQL dasar untuk mengambil data dari satu tabel menggunakan perintah SELECT.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('7b1d618f-c0e0-4410-8d1a-189a0cdbebb3', 'fa18f474-a195-4514-b109-0df29d4852b7', 'Sub-CPMK-6', 'Mampu melakukan instalasi dan konfigurasi awal perangkat PLC menggunakan software Zelio Soft 2.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('7b1ea91e-f618-4fe4-8e1b-8deca51e8a2c', 'ecb846f3-9675-4e6f-b1c5-2143206c9e7a', 'Sub-CPMK-1', 'Mahasiswa mampu merancang dan mengimplementasikan aplikasi perangkat lunak sederhana yang menggunakan pemrograman socket untuk komunikasi antar perangkat.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('7b1fa7ab-7af7-4f5e-81f5-9609b968f6bf', 'e95993cf-e2c5-4fa6-94fc-5cc36d41d364', 'Sub-CPMK-14', 'Mampu menyusun rencana revitalisasi yang mencakup aspek teknis, estetika, dan keberlanjutan lingkungan.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('7b2aca7e-d63e-47ae-95ac-fd9b294a3fdc', '148f5809-eeec-4399-9931-9889954953af', 'Sub-CPMK-6', 'Menganalisis peraturan PUIL yang relevan dengan instalasi listrik modern.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('7b2ad49d-1f25-4d92-ad3b-dbec22be0553', '57b50bd6-8252-4822-9ce5-bdb6898b991b', 'Sub-CPMK-7', 'Mampu menghitung dan menentukan subnet mask untuk jaringan IPv4', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('7b417b39-b631-4a6e-8023-9b24adf71cab', '86a8f4d0-b751-490f-89cb-f66b1045df4c', 'Sub-CPMK-7', 'Mahasiswa dapat mengenali dan menjelaskan fungsi resistor dalam rangkaian listrik, termasuk prinsip hukum Ohm.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('7b526776-abef-4d9c-aa96-4f579150b5fc', 'a76c69cb-6d01-4100-855b-6044228dc18e', 'Sub-CPMK-6', 'Mampu menjelaskan teknik modulasi analog seperti AM, FM, dan PM serta aplikasinya.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('7b7ae743-746e-4e8c-9c13-9d8063640999', 'a5dc1143-079d-4669-973e-52786afed253', 'Sub-CPMK-10', 'Melakukan pengujian dan analisis performa model menggunakan metrik evaluasi yang tepat seperti akurasi, presisi, dan recall', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('7b86c938-c118-4e53-b4a6-7ae78a1dce1f', '6e971c97-597e-4239-af9a-ebaca27fe55d', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan merumuskan masalah penelitian yang jelas dan relevan dalam laporan tugas akhir.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('7ba239c9-2c43-457a-b4cc-4a588d798951', 'd8fcdd0f-8d36-4d3e-9d8d-d97bf232aff4', 'Sub-CPMK-2', 'Mahasiswa dapat merumuskan spesifikasi desain yang jelas dan terukur untuk solusi teknik elektro yang diusulkan.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('7bb426cc-d23b-471d-9e93-444977130eb9', '63a6dbae-ff7d-4766-af6e-655fd70a4a74', 'Sub-CPMK-6', 'Mahasiswa mampu mengidentifikasi dan menganalisis dampak perubahan lingkungan terhadap kehidupan sosial budaya masyarakat di Indonesia.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('7bdd0fe0-3c35-47bb-b1c0-fda82f179f19', 'f613c7d9-d49d-4ae0-b150-8c43c517787d', 'Sub-CPMK-5', 'Menganalisis teknik dan metode phishing yang umum digunakan serta cara pencegahannya.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('7c3b1eac-6c9f-485e-97b3-fd009e149883', '8d4454ec-5073-4df1-8ee4-5c9d044fab74', 'Sub-CPMK-11', 'Mampu memilih dan menggunakan metode pengukuran yang sesuai untuk mengumpulkan data geospasial yang diperlukan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('7c68e4dd-f45d-4801-bdd7-7243fc3639a7', '973d11dd-4221-40de-b281-db09ecbf6a16', 'Sub-CPMK-13', 'Mampu mengidentifikasi nilai-nilai Al Islam Kemuhammadiyahan dalam konteks kehidupan sehari-hari.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('7c7d169a-471c-4d99-a6b9-cd5251db680a', '32a3b800-7a25-4b26-8a4d-b78b9c948947', 'Sub-CPMK-8', 'Mampu menggunakan GloVe untuk mendapatkan representasi vektor kata dan menganalisis kualitas representasi tersebut', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('7c7e1345-956a-4ce2-91d8-4314d270a243', 'c42c7aca-0965-48af-81b0-4f5b9afa535e', 'Sub-CPMK-11', 'Mampu menerapkan metode Nyquist untuk mengevaluasi kestabilan sistem kontrol dan menggambarkan diagram Nyquist.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('7ca28623-a725-4c67-b49e-3950c499648a', '41e99ec8-2435-4c65-8910-e8576f5944bf', 'Sub-CPMK-2', 'Mahasiswa dapat mengklasifikasikan kata-kata dalam kalimat berdasarkan part of speech-nya.', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('7ccb3ea0-9aca-4b12-835c-2070b3a74937', 'f786eb5e-0737-4688-a171-7dd00d6b9f67', 'Sub-CPMK-10', 'Mampu menerapkan metode trapezoidal untuk menghitung integral numerik dan membandingkan hasilnya dengan metode analitik.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('7ccf1558-57c7-4d98-ad65-c1a93b83fcb9', '0ed63c84-22ca-472b-b6e4-6601d6841dbe', 'Sub-CPMK-4', 'Mahasiswa dapat menjelaskan prinsip kerja transformator dan menyusun rangkaian ekuivalen untuk analisis.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('7cdeb190-cd2c-4ef2-a12d-8c32e7e10fbc', '886e578f-d576-4005-9129-6bb97702c93c', 'Sub-CPMK-7', 'Mahasiswa mampu mengidentifikasi dan menjelaskan prinsip-prinsip dasar desain arsitektur Islam dalam konteks ruang publik.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('7cff6a47-0935-4947-ab46-bec143a11a51', 'c5f381ee-c6de-4aaf-8f34-06ea3e7ebe8e', 'Sub-CPMK-3', 'Menganalisis dan mendokumentasikan jenis-jenis ancaman yang umum terjadi pada lingkungan cloud.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('7d07cdeb-9845-48ed-a43d-3ac8b40e8e39', 'b2507e08-1db3-4ace-b7b9-1a3b869765ea', 'Sub-CPMK-13', 'Mampu menjelaskan tiga contoh penggunaan aplikasi informatika dalam kehidupan sehari-hari, seperti dalam komunikasi, pendidikan, dan hiburan.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('7d0c5da8-c072-4fc0-9ff8-10c547db5fce', '2386577e-820b-4dbd-bea2-a19b9787d5ef', 'Sub-CPMK-5', 'Mampu menjelaskan berbagai jenis arsitektur jaringan, seperti arsitektur client-server dan peer-to-peer.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('7d2f26f2-3378-4fe2-a62d-eeb1c8b946ef', 'd6eb5ae6-7548-4d31-b603-b359874851f2', 'Sub-CPMK-1', 'Menjelaskan perbedaan antara pemrograman prosedural dan pemrograman berbasis objek.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('7d39c782-b28f-446b-8539-e31968efbc7b', 'db27a072-a87c-489f-bb56-fb25b1aa163b', 'Sub-CPMK-5', 'Mengembangkan konsep desain bangunan yang memanfaatkan pencahayaan alami dan ventilasi silang untuk mengurangi konsumsi energi.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('7d77bae7-a935-407a-a5d4-e4911e7b9d83', 'e1278fe0-54da-4a79-92cf-aa7089da6b9b', 'Sub-CPMK-2', 'Mahasiswa dapat menghitung energi kinetik dan energi potensial serta menganalisis konversi energi dalam sistem mekanik.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('7d9cc160-468f-44a3-a150-f466183989aa', '2414a39b-b38c-4edf-b3a6-d2993708e35c', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan definisi dan tujuan utama dari rekayasa perangkat lunak.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('7dacb57f-6aff-48bc-a9c7-1c0bdfa97d80', 'db27a072-a87c-489f-bb56-fb25b1aa163b', 'Sub-CPMK-4', 'Menganalisis faktor iklim lokal yang mempengaruhi desain bangunan ramah lingkungan di daerah tropis.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('7dc4d701-a0f6-4055-b08d-f8338c48c614', '3e2825e8-7039-4986-ba22-11ea9ff327df', 'Sub-CPMK-10', 'Mampu menjelaskan prinsip dasar operasi rangkaian adder satu bit dan merancangnya.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('7ddf1daf-488c-4798-b448-76c71d14b7fd', '5f8d7dc0-c936-4053-a745-0bd3fe0a6a9c', 'Sub-CPMK-5', 'Mengidentifikasi dan mengklasifikasikan aset informasi berdasarkan tingkat sensitivitas dan nilai bisnisnya.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('7ddfc526-a99a-4bb8-8d97-554fb27b3307', '8ea74b83-0567-49f7-a09d-6be15363fab9', 'Sub-CPMK-11', 'Mampu menerapkan teknik pencahayaan dasar dalam grafika 3D menggunakan OpenGL atau WebGL.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('7de4de84-18bd-4510-b667-ed7639f4f018', '68f3abcd-a3e4-4d1c-9c48-85fc24cd4794', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan prinsip dasar radiasi antena dan faktor-faktor yang mempengaruhi pola radiasi antena.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('7e28330d-2c33-49d5-8dbe-f7108e99154d', '01127589-4381-44e4-bbda-d5cfad44cdf7', 'Sub-CPMK-5', 'Mahasiswa mampu menganalisis gaya internal dalam elemen struktur tinggi menggunakan metode statika dan analisis numerik.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('7e313d27-a627-48b5-bb75-4092dbbe33ef', 'd3cc194f-db28-4529-b49b-8d9927bc6b39', 'Sub-CPMK-9', 'Mahasiswa mampu menyusun dokumen AMDAL sesuai dengan standar dan regulasi yang berlaku.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('7e34ebbb-5c3c-4956-b845-5967443d2747', '219bbba7-c7bd-4d09-836b-0e7b50bce267', 'Sub-CPMK-8', 'Mampu menganalisis kelebihan dan kekurangan algoritma pembelajaran tertentu dalam konteks aplikasi sistem komunikasi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('7e56f844-5212-4a68-9b28-62bbe884c978', 'be41f003-d9ac-4411-a6cb-1b59de076595', 'Sub-CPMK-14', 'Mampu melakukan pengukuran tegangan tinggi menggunakan alat ukur yang sesuai, serta menginterpretasikan hasil pengukuran dengan benar.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('7e738746-7c07-4539-ae0d-705ae1cc6e2f', '9ef47c11-2d5a-424f-a69c-281e7123a8b1', 'Sub-CPMK-4', 'Menjelaskan komponen utama arsitektur komputer seperti CPU, memori, dan perangkat input/output serta fungsinya.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('7e9ef28d-9f14-4a88-955a-2df517a9dd40', '113d9e20-7556-4cb6-bb58-47aa4312738c', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menganalisis karakteristik permasalahan yang dapat diselesaikan dengan algoritma berbasis strategi.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('7ea85b7b-6dcd-4e11-bd17-0c55d2249b6b', 'ad8a2316-255f-4a15-8863-70744d890230', 'Sub-CPMK-4', 'Mampu menjelaskan hukum Coulomb dan aplikasinya dalam medan listrik.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('7ea953cb-b8d9-4888-8468-0f824bad67ee', 'e51b9684-d31a-4c0c-ad71-1d4ae2646266', 'Sub-CPMK-3', 'Mahasiswa dapat membuat program sederhana yang menggunakan berbagai jenis looping untuk menyelesaikan masalah.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('7ec1228b-1ff1-46c0-81bf-642882aaa760', '57d259c7-45e4-49c4-96b0-e26929b8f192', 'Sub-CPMK-10', 'Mampu menggunakan klausa WHERE dan JOIN untuk melakukan query yang kompleks pada beberapa tabel.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('7ec18245-a36d-4753-b4fc-067f15ffff2f', '70b38096-13db-40d2-a7a7-07630c3d8990', 'Sub-CPMK-5', 'Mampu melakukan analisis mendalam terhadap data yang diperoleh untuk menemukan akar permasalahan', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('7ec9d93d-a586-4699-835d-90c62aa88591', 'd836f8d9-01df-4db5-9577-66e6b74ac944', 'Sub-CPMK-9', 'Mampu mengkonfigurasi API Gateway untuk routing dan pengaturan kebijakan akses layanan.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('7edb3212-10e8-4125-95b0-53e615850af1', 'f8153dfe-030d-4a2a-8c3b-e650da34b9dc', 'Sub-CPMK-6', 'Dapat mengkonfigurasi dan mengelola cluster Apache Spark untuk pemrosesan batch.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('7eea1542-d5f6-4b18-8df5-07f7346b21ef', '89b3623e-2650-4933-8a2a-34b590578281', 'Sub-CPMK-9', 'Mampu menyusun jadwal proyek menggunakan teknik PERT dan CPM untuk mengoptimalkan waktu penyelesaian.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('7ef007ab-e2e1-42f2-a27a-2e2568849269', '0c79a9eb-71e0-4f14-b7f2-cc796c20b2a2', 'Sub-CPMK-14', 'Menganalisis data eksperimen menggunakan perangkat lunak simulasi untuk memprediksi kinerja sistem optoelektronik', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('7efa5191-aac4-4a19-b3e4-9c7a5d560974', '7ff593a2-a84c-41a8-ba02-9bfef7191d89', 'Sub-CPMK-9', 'Mampu menghitung impedansi total dari rangkaian AC yang terdiri dari resistor, induktor, dan kapasitansi menggunakan bilangan kompleks.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('7f070ff6-de05-4ced-87db-a4236d9549f6', '7fc45d20-6340-48a5-89e2-e40360c93f4a', 'Sub-CPMK-3', 'Mampu menjelaskan konsep dasar vektor dan operasi dasar seperti penjumlahan, pengurangan, dan perkalian skalar.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('7f0f7bab-1b65-44c7-a982-7b8e03a6af14', '8dc7f327-dfd9-4fc1-8650-f2f97ad8a62f', 'Sub-CPMK-7', 'Mampu menjelaskan arsitektur HDFS dan cara kerjanya dalam menyimpan data besar.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('7f1473ad-abe9-4836-b6f1-0a8118e57a22', 'cfd5a3ce-8c35-4b4f-9b6d-c779db09f50e', 'Sub-CPMK-5', 'Mampu merancang dan mengimplementasikan kelas dan objek dalam aplikasi sederhana menggunakan bahasa pemrograman yang sesuai.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('7f29a05e-24b6-44ec-a253-dc0f8c6144f8', 'bd5e7ae4-f9fe-4a76-aa18-393a3bc0de40', 'Sub-CPMK-8', 'Mampu membaca dan memproses sinyal analog menggunakan mikrokontroler Arduino untuk mengendalikan perangkat I/O analog.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('7f4435ed-083f-45de-b6e6-67db5ea0844a', '46aca02a-59df-4539-aa6e-29bb23cbd971', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan berbagai teori etika yang mendasari pengambilan keputusan dalam profesi.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('7f458c57-d508-4602-b38a-131c3a4f20db', '03106913-ec92-4e12-8dff-f573c28cdcae', 'Sub-CPMK-13', 'Mampu merancang dan mensimulasikan rangkaian elektronik sederhana menggunakan dioda dan transistor.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('7f55acf2-5f10-401a-ba22-018ca2c55d8c', 'fa058e7d-1643-43ab-a163-63399cc715d1', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menjelaskan minimal tiga isu terkini dalam kajian AIK secara mendalam.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('7fe159db-af56-4dd9-8e49-a562104a017e', 'f1592fd5-dc5a-42ff-9004-27b198861c35', 'Sub-CPMK-11', 'Mampu mengidentifikasi dan menganalisis isu-isu etika yang muncul dalam proyek teknik dan penelitian.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('801f0b66-c5db-422a-9860-fef53fd17aa3', '3f883f5a-6249-4624-bb5c-0ce1cb9fad5a', 'Sub-CPMK-1', 'Mengidentifikasi bahaya dan risiko di lokasi proyek konstruksi', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('803769ac-9efc-429b-b3d4-cd3a302192ac', '49ef9317-98af-4158-bca7-8f62ab9b9a81', 'Sub-CPMK-5', 'Mampu menghitung gaya yang bekerja pada suatu benda menggunakan hukum Newton kedua.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('805aa084-db11-418a-aa1a-206683624707', '822b4743-e63d-48b7-9cb2-8326e0ee4cab', 'Sub-CPMK-2', 'Mahasiswa dapat melakukan verifikasi Hukum Ohm dan hukum Kirchhoff melalui eksperimen praktis pada rangkaian DC dan menganalisis hasil pengukuran.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('80798884-ac5f-405f-8843-7200781bdccf', '22b902e5-d280-4ad1-a52e-89a90853360a', 'Sub-CPMK-13', 'Mampu menyusun struktur presentasi yang logis dan sistematis sesuai dengan standar akademik.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('80b13992-5497-46fb-930e-78d018645fe8', 'f6c5aace-244d-4449-bee7-7efd35e7cd4f', 'Sub-CPMK-3', 'Mahasiswa mampu merancang dan mengimplementasikan sistem akuisisi data menggunakan ADC/DAC dan mikrokontroler.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('811029a6-4cea-46de-96e2-3ae4ef567efb', '4df98094-4241-4e42-be7e-57062e24e8fa', 'Sub-CPMK-1', 'Mampu menjelaskan dan menggambarkan arsitektur dasar mikroprosesor dan mikrokontroler serta perbedaannya.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('811121ef-55fa-4ce8-84a8-8826c28d8b77', '2becd8a0-441e-4378-8a95-230d3ab0a7ec', 'Sub-CPMK-1', 'Mampu mengidentifikasi dan menganalisis berbagai kode etik yang berlaku dalam profesi perencanaan wilayah dan kota.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('8131362e-8f39-44c3-9e25-62c65769f489', '4968c34c-40cd-4c17-815f-56a3a076c5a9', 'Sub-CPMK-6', 'Mampu menyusun dokumen spesifikasi sistem yang mencakup kebutuhan fungsional dan non-fungsional berdasarkan analisis kebutuhan pengguna.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('813dac6e-c551-4881-815e-b15614226acd', '776ceac5-7238-49cf-90c2-5265ea2ac069', 'Sub-CPMK-7', 'Mampu menjelaskan dan menerapkan konsep dasar I/O pada mikrokontroler dengan menggunakan bahasa C.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('814587ba-ff01-4fae-bb02-ac285a6a4c5f', 'f44ea098-001e-4872-b705-266739e66eb7', 'Sub-CPMK-12', 'Mahasiswa mampu menyusun dokumen presentasi arsitektur yang mencakup gambar kerja, model 3D, dan narasi proyek yang jelas dan informatif.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('81646a60-cad2-4f05-bccc-52c7bf4639bf', 'ce1034e7-0030-4fa2-a587-6afde98a14c2', 'Sub-CPMK-13', 'Mengidentifikasi dan menganalisis risiko terhadap data pribadi dalam sistem komunikasi yang aman.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('816961be-a61c-4a06-b036-56505912b344', '7d2bf3b9-d54b-43a3-a217-d0a48339c08c', 'Sub-CPMK-3', 'Mahasiswa mampu mengidentifikasi dan menjelaskan peran institusi sosial dalam mempertahankan keberagaman budaya.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('817cfbb7-54b7-4bbe-b274-cfbe4530426d', '6742871e-f408-44c3-be56-ba1220f92994', 'Sub-CPMK-12', 'Mampu merancang sistem pembangkit energi terbarukan, seperti panel surya atau turbin angin, dengan mempertimbangkan efisiensi dan biaya.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('818cb6c2-f425-457e-a385-cf930cf7b070', 'a9fc4071-1c4a-488c-8760-d74a70ca455c', 'Sub-CPMK-6', 'Mampu melakukan transformasi data menggunakan teknik pemrograman dan alat ETL yang sesuai.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('818e34f4-32b1-4277-9f34-9996f66d4779', 'd176d858-c230-4302-b90a-23b5b68ffa16', 'Sub-CPMK-9', 'Mahasiswa mampu menerapkan prinsip desain humanis dalam pemilihan warna, tipografi, dan tata letak presentasi.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('81909126-ab29-4504-aa98-ff9d57ff9237', '29632ab9-c81c-419b-bd16-7852f1f354cb', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan prinsip kerja dan karakteristik dari transduser suhu dan tekanan.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('81a0cf97-8266-4e4a-9c84-b0fc4dbfb32d', '5d06a236-3c19-4efa-84d5-66c76a7efbb1', 'Sub-CPMK-8', 'Mahasiswa mampu membuat direktori baru menggunakan perintah \'mkdir\' dan memahami opsi-opsi yang tersedia.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('81a0f5dc-bd56-4bfd-9735-07f8fb2878f7', 'f613c7d9-d49d-4ae0-b150-8c43c517787d', 'Sub-CPMK-4', 'Menjelaskan karakteristik dan mekanisme kerja malware serta contoh jenis-jenisnya.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('81a45459-49d3-4ea4-a4b5-21a592182e07', '30780d33-1288-4a32-928b-f37d1d3babb0', 'Sub-CPMK-5', 'Mampu mengidentifikasi entitas dan atribut dalam sebuah sistem yang akan direpresentasikan dalam basis data relasional.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('81b56434-5c77-4aa2-b70d-7ae5a443a591', '3ce87a12-95e3-49d0-acf0-2eb8c7ec96b6', 'Sub-CPMK-8', 'Mahasiswa dapat mengidentifikasi perangkat keras yang digunakan dalam jaringan komputer, seperti router, switch, dan modem.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('81e31a5e-798d-448b-b6b2-2774bd617404', '860bd365-fd58-44ce-8eaf-0e15d8d20317', 'Sub-CPMK-2', 'Menganalisis peran data dalam pengembangan model kecerdasan buatan dan dampaknya terhadap akurasi.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('81e79ce0-346c-459a-9995-a3c8b5531f12', '0ed5215b-f422-48a9-b592-89b68e70a4ae', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menganalisis data yang relevan untuk laporan KKP-Plus.', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('81f42782-da1a-406b-b3c6-788d1653b3f5', '3b2ef9c8-c5a2-4ceb-b2b2-0ccb2f918587', 'Sub-CPMK-5', 'Mampu menuliskan algoritma dalam bentuk pseudocode untuk berbagai jenis masalah sederhana.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('820aef51-020c-4b87-9ea7-451075c791ec', '3d516435-931a-4a62-9a88-f7c1c811edf6', 'Sub-CPMK-11', 'Menerapkan teknik prompt engineering untuk meningkatkan kualitas output model generatif dalam berbagai konteks aplikasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('821ff0a1-ffc0-4f5b-9f01-c06b88816d25', 'f2e382ae-ebc0-42e0-85a8-f7dc20a18266', 'Sub-CPMK-2', 'Mahasiswa mampu menganalisis perkembangan arsitektur masjid dari masa klasik hingga kontemporer.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('823310bb-8aad-4e9b-9cf5-0cf7b6e21ff3', '1993f99d-f546-4809-9b6b-14b5c5ef1c94', 'Sub-CPMK-3', 'Mahasiswa mampu menulis dan menganalisis kode program yang menggunakan percabangan dan perulangan untuk menyelesaikan masalah komputasional.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('8238c4a8-dab6-4176-bf34-ce12cab29f62', 'f1d53d8a-1730-4acd-a737-7ecb584247a7', 'Sub-CPMK-11', 'Mahasiswa dapat menganalisis dampak dan probabilitas dari setiap risiko yang diidentifikasi.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('8267a3c1-db3b-4968-b4e4-bde888d9222c', '4bbb84c4-09b6-4a8c-ba6f-f073454bfa0c', 'Sub-CPMK-14', 'Melakukan pengujian unit pada fungsi-fungsi dalam program Java untuk memastikan hasil yang diharapkan.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('826cce28-768a-4e47-9048-c5ff6eedf702', 'e329c04f-f17e-4489-8a97-f249eaf09ed4', 'Sub-CPMK-6', 'Merancang arsitektur perangkat lunak yang menerapkan prinsip-prinsip keamanan, seperti least privilege dan defense in depth.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('8270e39e-6b2c-4cac-b6b2-ea3ad00eda46', '8af89a76-f6f0-4199-8c02-654eddd283a9', 'Sub-CPMK-7', 'Mengidentifikasi dan mendokumentasikan kerentanan pada jaringan menggunakan tools pemindaian seperti Nmap dan Nessus.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('8278784c-b1f7-4691-96a2-92a3e27d90cf', 'd8f2b4a6-8048-4d98-8395-526e5b3178af', 'Sub-CPMK-4', 'Mahasiswa dapat menjelaskan elemen-elemen utama dari arsitektur masjid di Timur Tengah dan Asia Tenggara.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('829cead4-1214-4cf7-978b-612e435e91a8', '727198bf-b02c-4826-a996-dd7262e8add1', 'Sub-CPMK-9', 'Mampu mengevaluasi efisiensi sistem biomassa dengan membandingkan energi yang dihasilkan dan input bahan baku yang digunakan.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('829e016d-2fa1-41d1-ba11-c96ed6c1f8a2', 'f1731dad-4014-4a3f-9d5d-67dd1bc6d0f1', 'Sub-CPMK-3', 'Mahasiswa mampu mendefinisikan kombinasi linier dari vektor dalam ruang vektor.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('82a26ac0-947a-4b55-9fc7-eaea92a842bc', '4051ff85-d5a3-445f-bcda-9275a8efaac1', 'Sub-CPMK-14', 'Menghitung daya dukung pondasi berdasarkan metode yang sesuai dengan karakteristik tanah dan kondisi beban yang diterima.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('82aeb3fc-14ae-4086-8835-58014774a4f5', 'f91f6d20-fe55-49b0-b9d6-97fefcc8f75a', 'Sub-CPMK-11', 'Menyusun laporan yang berisi rekomendasi penggunaan AI dalam konteks sosial yang mengedepankan etika Islam.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('82d585b9-0a9a-44a4-9076-cb7cadd12d32', '9fd96396-0221-40d2-ace0-eb910338190d', 'Sub-CPMK-6', 'Mampu melakukan analisis regresi antara data hujan dan debit untuk menentukan hubungan keduanya.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('82e9e8aa-57a1-4198-8568-a11dd531f65f', '6143c29c-b167-4986-be35-f1031a457786', 'Sub-CPMK-7', 'Mampu menghitung arus dan tegangan pada kondisi hubung singkat menggunakan metode analisis simpul dan loop.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('8322f278-b992-4523-b060-b72762581155', '8e6e1581-47c9-4683-b3ff-7d292f83396a', 'Sub-CPMK-14', 'Mampu menganalisis dan membandingkan sifat mekanik dari material dasar untuk menentukan material yang paling sesuai untuk aplikasi teknik tertentu.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('83349e6c-4fa7-4e65-be30-4efb24d3662d', 'fa8f0535-0319-4d78-a5c0-7f37f2b0f4a6', 'Sub-CPMK-2', 'Mampu memahami dan menerapkan prinsip-prinsip kalkulus, termasuk diferensiasi dan integrasi, untuk mengoptimalkan fungsi dalam algoritma AI.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('835bbf43-470c-4ede-a113-fb15a8e57945', 'ab71fbae-a1af-448f-9edd-970b12af4410', 'Sub-CPMK-10', 'Mampu mengidentifikasi jenis sensor yang sesuai untuk aplikasi IoT tertentu dan menjelaskan cara kerjanya.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('837009d3-7662-470f-9d0c-7aabf284798f', '34d3da15-97a4-4837-8a98-1be4a380703d', 'Sub-CPMK-5', 'Menganalisis komponen utama dalam sistem transmisi tenaga listrik dan peranannya dalam mengurangi kehilangan daya.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('839029e3-09cb-48a9-b461-9576cbfc00d1', 'c30b1c30-49be-4989-bdf9-e327c2b191e4', 'Sub-CPMK-8', 'Dapat melakukan pre-processing data untuk mempersiapkan dataset sebelum tahap pre-training model LLM.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('839c0db2-0e03-40d3-83f7-c21ebabaf52a', 'c7f92efb-4b2c-498f-a156-2e6fd9a0f7f2', 'Sub-CPMK-4', 'Mampu menghitung turunan fungsi polinomial dan menerapkannya dalam konteks masalah teknik sederhana.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('839c5836-b2ec-46ce-a892-d2071fcc5d64', '6deef5ab-41b1-45d3-871d-ff49a4a5560e', 'Sub-CPMK-10', 'Mampu menjelaskan dan menghitung gaya Lorentz yang bekerja pada partikel bermuatan dalam medan listrik dan medan magnet.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('83bcf598-6e2a-40f8-812a-8197992f4ace', '9c29e961-cb61-4bda-851c-baf1204a602e', 'Sub-CPMK-9', 'Mahasiswa dapat menjelaskan pengaruh budaya lokal terhadap desain arsitektur pada periode tertentu.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('83bd4d19-ee1c-4d3b-9f85-e6de57bc47dc', 'd38c1659-4222-4fda-a634-00d0eaebe292', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan mendefinisikan fungsi utilitas yang diperlukan berdasarkan jenis bangunan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('83c603b0-2d4c-4faf-b47e-f3b887680450', 'd52fd749-5e78-4323-abfb-526560c7686c', 'Sub-CPMK-6', 'Mahasiswa mampu menggambar skema sederhana dari sistem struktur dan konstruksi bangunan 2-3 lantai berdasarkan kondisi tapak yang diberikan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('83c9e9f9-a288-4be2-8758-aa0297cd6269', '02b711fe-099d-48f5-967e-8592308bf338', 'Sub-CPMK-9', 'Mahasiswa mampu menciptakan konsep desain yang responsif terhadap konteks sosial, budaya, dan lingkungan setempat.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('83d0c8ef-9e37-44cd-81ae-bd4df23fdb7f', '9291a1aa-fc80-4388-abbb-2e6b63e5158f', 'Sub-CPMK-4', 'Menjelaskan struktur kristal dan ikatan atom pada bahan semikonduktor.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('83de51cb-9916-4273-9696-5b16118ba003', 'bd8c9aea-c2a8-4266-95b2-e0f5a5b9df00', 'Sub-CPMK-8', 'Mahasiswa mampu menganalisis dan menerapkan konsep keberlanjutan dalam desain bangunan yang dihasilkan.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('84240fc8-149b-4bcb-b89f-be03db0f4d6a', '3096a7c6-8348-410a-b73a-dccaacdc08a9', 'Sub-CPMK-5', 'Mahasiswa dapat menganalisis peran komunikasi dalam kepemimpinan efektif di lingkungan bisnis yang dinamis.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('842e8702-e1ca-450f-8852-6037a1a5aebc', '0f6c9bfc-e3d4-4d0e-9818-820cb9a7c33f', 'Sub-CPMK-14', 'Mampu menyelesaikan masalah teknik menggunakan bilangan kompleks dalam konteks rangkaian listrik AC.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('84302b1a-a969-41a2-a92c-2f9672cb384c', 'f91f6d20-fe55-49b0-b9d6-97fefcc8f75a', 'Sub-CPMK-12', 'Mengembangkan proposal proyek AI yang berorientasi pada kepentingan masyarakat dengan mempertimbangkan nilai-nilai Islam.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('84751ade-5c81-4c90-8b1f-7c2c2bc9546f', '8634269e-6f5e-4522-8a2f-d202488da09d', 'Sub-CPMK-9', 'Mahasiswa dapat menjelaskan perbedaan antara array dan struktur data lain seperti list dan set.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('8485124b-c4f0-41b7-8864-47c77f77e9ff', '326d7a13-d2c8-4610-bc8f-d44833ff21eb', 'Sub-CPMK-3', 'Mampu merancang dan melaksanakan rencana pengujian penetrasi sederhana terhadap sistem yang ditentukan.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('84864534-cf83-4edb-bc37-7a66dced238c', 'ca4e0688-b518-47b4-9733-5daf87ca8635', 'Sub-CPMK-13', 'Mampu menjelaskan hukum Newton dan penerapannya dalam menyelesaikan masalah gerak benda.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('848e4c5a-4132-4295-9752-bd5ddf94a3ce', '51299692-e701-4be3-9824-20d8f3f3501d', 'Sub-CPMK-12', 'Mampu merancang simulasi sederhana untuk menguji performa jaringan berdasarkan model antrian yang dipilih.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('849ae934-aab6-4ba8-a3f7-48b3f155b968', 'd38c1659-4222-4fda-a634-00d0eaebe292', 'Sub-CPMK-5', 'Mahasiswa mampu menghitung kapasitas utilitas yang dibutuhkan sesuai dengan jumlah pengguna dan aktivitas yang dilakukan di dalam bangunan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('84b468e2-23a0-45ec-a7e6-d1be0700e0db', '4a94f203-0748-40b2-8abd-73dd926d0331', 'Sub-CPMK-1', 'Mampu menjelaskan pengertian dan sifat-sifat dasar dari integral dan diferensial.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('84c62b88-8d94-45c7-9874-3a515689969e', '2923d85b-6995-4c22-b48f-b81f541b1311', 'Sub-CPMK-7', 'Mampu mengimplementasikan autentikasi pengguna menggunakan REST API dalam aplikasi mobile.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('84edb241-8327-4a52-a9ed-493a732ad6f4', '5fc24441-f36d-42b9-9298-207cbbff407c', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan dan menerapkan metode numerik untuk menemukan akar persamaan non-linear menggunakan metode biseksi dan Newton-Raphson.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('84f0029f-78ef-4577-bb3f-f2f3d572fe3f', 'd23bab5e-bfba-427b-abd4-e2f6419dd7ea', 'Sub-CPMK-11', 'Mampu menerapkan prinsip desain perangkat lunak untuk mengurangi duplikasi kode dalam program berbasis objek.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('85249273-a4f8-4c92-a433-d24cbaad6d43', 'f75a4fbd-9750-46ee-8250-16b44e453fd2', 'Sub-CPMK-3', 'Mahasiswa dapat merancang dan mengimplementasikan observer untuk sistem kontrol berbasis ruang keadaan.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('852df056-7bc7-4920-b175-91912bb8a5a9', 'e0959638-c758-477c-8abd-d9b352a72d47', 'Sub-CPMK-10', 'Menjelaskan prinsip kerja radar Continuous Wave (CW) dan aplikasinya dalam deteksi objek bergerak', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('85387a6f-f000-4843-854f-ef6853973368', 'f0c865cb-b74e-4325-8057-8a8a206ba433', 'Sub-CPMK-4', 'Mampu menjelaskan komponen dasar dalam elektronika industri, seperti resistor, kapasitor, dan transistor serta fungsinya.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('8557f781-e473-4046-8b0b-0efea4b15739', '7eb7c4a3-8752-4b59-8668-107a54eff125', 'Sub-CPMK-2', 'Menganalisis kelebihan dan kekurangan dari microservices dibandingkan dengan arsitektur monolithic.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('85582b38-2380-4caf-a719-586acee7f6bb', 'b1a9a314-a48c-4407-8f9c-2500db806644', 'Sub-CPMK-11', 'Mahasiswa mampu merancang sistem konstruksi yang mempertimbangkan aspek keberlanjutan lingkungan dan efisiensi energi dalam proses pembangunan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('8564f05d-1856-4d0e-b8b6-4618da924206', '316e038b-6473-401b-8cb3-0d7cfe49f168', 'Sub-CPMK-7', 'Mampu merancang arsitektur sistem cloud yang mendukung auto-scaling berdasarkan kebutuhan pengguna.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('8579ab2b-1c05-47a0-ae98-b743708f3951', '4ef0a7e7-1b31-4779-8a10-ce7378649d18', 'Sub-CPMK-4', 'Mahasiswa mampu menjelaskan jenis-jenis beton berdasarkan komposisi dan penggunaannya dalam konstruksi.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('85816115-2e69-4461-b555-3122011a6ea9', 'a1b168f2-e3e3-4f37-8827-101c00e21104', 'Sub-CPMK-4', 'Membuat arsitektur dasar neural network dengan satu lapisan tersembunyi menggunakan framework deep learning.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('85b6d744-386f-4866-9f53-65c77c6a1966', 'eb87bd12-6653-4fe2-a6a7-d066f8accd17', 'Sub-CPMK-9', 'Mampu menyusun bagian pendahuluan laporan ilmiah yang mencakup latar belakang, tujuan, dan manfaat penelitian.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('85b96091-6e68-473a-9449-a88c4c5a798c', '4ba5ae96-5a66-4ed3-9572-b5dbd460523c', 'Sub-CPMK-11', 'Melakukan analisis risiko terhadap layanan cloud yang digunakan dalam organisasi.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('85be90c6-89cd-420c-a85e-026559c67af9', 'da086eee-9f26-4066-9f00-c230ff4865a6', 'Sub-CPMK-6', 'Mahasiswa mampu menerapkan algoritma kecerdasan buatan untuk menyelesaikan masalah dalam studi kasus yang diberikan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('85cb6c52-2c5e-4505-83f2-c1128f5529fd', '3c60e336-2607-4001-b459-030cfbc8088d', 'Sub-CPMK-6', 'Mampu mendemonstrasikan proses siklus instruksi, termasuk pengambilan, dekode, dan eksekusi instruksi.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('85f48f2a-031c-464c-bbab-60082dd391a2', '439fc331-5842-4118-928d-5dc75d9ba022', 'Sub-CPMK-5', 'Membedakan jenis-jenis alat ukur berdasarkan prinsip kerja dan aplikasi dalam pengukuran.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('85faa952-ce2a-4f3f-9f4f-8380899ffe77', '3f67b126-eb72-4098-8d6d-9909a01b9082', 'Sub-CPMK-6', 'Mampu menulis tinjauan pustaka yang mengintegrasikan berbagai teori yang mendukung penelitian.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('8600a8a7-909e-430b-a0c4-99093fbc8fa3', '8351e9ac-632b-4449-bbe7-7865b4d5d228', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan prinsip kerja dan karakteristik komponen elektronika daya seperti dioda, transistor, thyristor, dan IGBT.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('861ab48c-40f3-4c61-80c0-fe4045d4b76d', '7f3f9007-eced-420c-a7ad-687f8ae9bd56', 'Sub-CPMK-13', 'Mahasiswa mampu menggambar denah tapak dengan proporsi yang tepat dan sesuai skala.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('863a34ee-5191-4857-ad89-f36fb916886f', 'db3d432a-57dc-443c-97f6-dbecc9472dd3', 'Sub-CPMK-9', 'Menilai karakteristik tembus listrik dari bahan isolator pada kondisi tegangan tinggi melalui pengujian laboratorium.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('86431e5d-0481-4ecd-a865-a2ee72294b63', 'd5588af2-c6ed-49aa-ab0f-00960d6e7631', 'Sub-CPMK-14', 'Mahasiswa mampu mengumpulkan dan menganalisis masukan dari berbagai pihak terkait, seperti pengguna, pemerintah, dan stakeholder lainnya.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('865603bd-7a2e-4ed7-ac35-c2298312ee65', '5101d404-637f-440f-a874-82cf2a5c79d6', 'Sub-CPMK-3', 'Mahasiswa mampu mengidentifikasi teknologi yang digunakan dalam jaringan telekomunikasi, seperti protokol dan perangkat jaringan.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('86571118-a4b0-4cdb-826c-510e4741e46c', '6d9245ea-a6df-4aae-9157-ac3ee84ec03e', 'Sub-CPMK-7', 'Mampu mengatur pengaturan dasar sistem operasi, termasuk pengaturan tampilan dan aksesibilitas.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('86674c3e-1b3c-4324-b1fe-a2dcec392210', 'bd8c9aea-c2a8-4266-95b2-e0f5a5b9df00', 'Sub-CPMK-9', 'Mahasiswa dapat mengintegrasikan nilai-nilai Islami dalam elemen desain, termasuk tata ruang dan bentuk bangunan.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('86798c8d-b3c2-4b54-bd0e-2b9bf85dc3a8', '02040b1c-aaec-48ca-b172-4cf1eb6950a2', 'Sub-CPMK-5', 'Mampu menyelesaikan sistem persamaan linear dengan metode eliminasi Gauss.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('86823204-5a66-4f54-86bc-d70a6b122e2f', 'a6fc2d1f-a33b-47dc-92ed-12b2bd5a36ae', 'Sub-CPMK-3', 'menjelaskan fungsi dan jenis-jenis sistem operasi serta cara kerjanya dalam mengelola perangkat keras', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('869c23c0-df57-4025-b364-a1e68ce222a6', '8f1b5a53-ee5a-4eb3-a1b5-17f38dbcccd6', 'Sub-CPMK-12', 'Mampu menggambarkan berbagai jenis sambungan optik dan menjelaskan prinsip kerja serta aplikasinya dalam sistem komunikasi optik.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('86a473ae-91fa-4b60-8a9b-e34f5b9160f1', '03e70597-6534-43e5-94a2-58ae691fef86', 'Sub-CPMK-5', 'Mampu melakukan analisis kebutuhan instansi mitra untuk perencanaan yang lebih efektif.', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('86adf8ec-5f39-45fb-83d9-355adb466cf1', '38c13a5a-e8fd-4b5d-877d-c0c2e9089798', 'Sub-CPMK-11', 'Dapat menjelaskan konsep algoritma dengan menggunakan visualisasi yang dibuat dalam Alice, termasuk diagram alur dari program yang dibuat.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('86c36515-dd24-4071-8a41-df0925ce03e1', '646519ec-d32f-4b3e-a708-3721147712d5', 'Sub-CPMK-12', 'Menganalisis dan membandingkan performa query pada dua skema basis data yang berbeda.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('86e63cef-d292-41c0-be4a-742889a2a8f1', '7975dd52-c47d-49d0-8846-9e2b05bf46dc', 'Sub-CPMK-9', 'Mampu menganalisis dan mengoptimalkan respons sistem kontrol digital menggunakan mikrokontroler dalam pengendalian proses.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('8708d642-3f8f-47f3-a010-62a7deb567b0', '007ab743-1d0a-4701-ad65-903ea88c798d', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis dan memilih material konstruksi berdasarkan sifat fisik dan mekanik yang sesuai untuk aplikasi struktural tertentu.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('870b1300-35b2-41a0-bd1b-bf0f644c06c8', '02b4ba65-1c28-4718-836e-4fb643e28567', 'Sub-CPMK-10', 'Mampu menjelaskan prinsip dasar pengujian tegangan tinggi dan peralatan yang digunakan', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('871d73a0-3c3f-4fe6-ac24-ed108aa57852', 'c80b4e2a-0a29-430f-b1ef-2caf7364aedc', 'Sub-CPMK-7', 'Mengidentifikasi dan mengklasifikasikan jenis-jenis risiko kerja di lingkungan industri', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('871f8b75-a28e-4911-9fa6-ac55e18d539b', 'abb9fa4b-b4cd-4df8-a6fa-62c7f77a283a', 'Sub-CPMK-6', 'Mahasiswa dapat menyusun rencana bisnis yang mencakup strategi pemasaran dan aspek keberlanjutan untuk usaha di bidang arsitektur.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('874813d8-c05d-4574-bf58-f258edfaac37', 'c42c7aca-0965-48af-81b0-4f5b9afa535e', 'Sub-CPMK-12', 'Mampu menggunakan metode Bode untuk menganalisis respon frekuensi sistem kontrol dan menentukan margin kestabilan.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('874d660e-ef83-4333-aabe-95088f72d669', 'c13c0f0b-f025-4a34-81ea-e71cc363e875', 'Sub-CPMK-4', 'Dapat menggunakan pustaka NLP untuk melakukan stemming pada dataset teks dan mengevaluasi hasilnya.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('875a984b-6a4f-46fe-ad9c-5306e2fc573c', 'bf59dffe-d6a8-4837-8156-22c5355de1a0', 'Sub-CPMK-11', 'Mampu menganalisis penyebab utama gangguan pada sistem tenaga listrik menggunakan metode analisis fault tree.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('875ed7ad-c555-4263-9d59-71d17cae40f5', 'f8ea79d0-4330-4caa-8343-3313f1f2fd97', 'Sub-CPMK-3', 'Membuat kerangka konseptual penelitian berdasarkan teori yang relevan dan literatur yang ada', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('875f7186-836d-4757-896f-9642b79979d1', '577a4584-1bdc-4c12-9f61-aade37878f2a', 'Sub-CPMK-2', 'Mampu mengumpulkan dan menganalisis data relevan untuk mendukung penilaian masalah profesional.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('875fd34a-ada1-4aa5-8f49-63540b256f14', '1ff730bc-15a6-4df1-be00-f86e3b18b4bd', 'Sub-CPMK-12', 'Mampu mengimplementasikan array multi-dimensi dalam program untuk menyimpan data matriks.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('8764ea49-38ab-43c4-83af-5663ec7ef558', '7e144f7c-b545-47cf-85b0-cba64ad897c3', 'Sub-CPMK-6', 'Dapat menggambarkan elemen-elemen pembentuk desain arsitektur, termasuk material, tekstur, dan warna, dalam konteks desain.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('876d525a-c29c-4da1-b820-527f5aa7618c', '22dfb1b2-bd84-4abf-b0f2-7710b2f5ffec', 'Sub-CPMK-3', 'Mengidentifikasi komponen sistem yang dapat mempengaruhi scalability dan membuat rekomendasi perbaikan.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('877bb9fa-3bd2-4d48-a7b8-b92cef1e1f3a', '63f542b3-f446-45ca-9e6b-f6ec91402345', 'Sub-CPMK-6', 'Dapat merancang dan mengimplementasikan solusi caching untuk meningkatkan performa sistem.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('8789c589-5576-4d18-bfbc-dcc1fbc6b0b1', 'c763237f-3dab-44ff-8304-58d879f1f2cb', 'Sub-CPMK-14', 'Mampu menganalisis dan menginterpretasikan diagram konstelasi untuk sinyal QPSK yang dihasilkan.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('87a1398c-ef73-4790-aaab-caee8a034afb', 'a246817f-14b6-4f05-a1e3-a4b7533ded6f', 'Sub-CPMK-3', 'Mampu melakukan preprocessing data, termasuk normalisasi, penghapusan nilai hilang, dan encoding variabel kategorikal.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('87ae6885-27b7-44df-adbb-106e40610f26', 'bd5e7ae4-f9fe-4a76-aa18-393a3bc0de40', 'Sub-CPMK-10', 'Mampu melakukan troubleshooting dan debugging pada program yang mengendalikan I/O diskrit dan analog di mikrokontroler Arduino.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('87cb4609-2500-45b1-985d-6e8c4b86b56c', '90b54a67-bc5b-4d90-a882-35ad06ae5599', 'Sub-CPMK-13', 'Mahasiswa dapat menganalisis dan menjelaskan istilah teknis dalam artikel berbahasa Inggris', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('87d7d099-b4aa-41a2-ba8f-b2b9f214c13b', '2f587695-4d29-4fd3-b090-74d7cedbecff', 'Sub-CPMK-8', 'Mampu menganalisis kapasitas bandwidth pada berbagai tipe modulasi.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('87fae87f-b40a-4561-ac2a-9cb384f5686a', '994d1f5f-fc55-4231-b139-94d54da06d28', 'Sub-CPMK-12', 'Mampu mengimplementasikan proses ekstraksi, transformasi, dan pemuatan (ETL) data dari sumber yang berbeda.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('880ee819-59b0-434a-b64a-1533be43bc08', '9652c56b-6711-40a8-8361-ef89c1c666bf', 'Sub-CPMK-12', 'Mahasiswa mampu menyusun rekomendasi mitigasi untuk mengurangi dampak negatif proyek arsitektur dan perkotaan berdasarkan hasil analisis AMDAL.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('8826fdf2-1a08-4ee9-8e19-deddf875a420', 'ea1ef067-2302-41d7-8b2b-10a065e28d92', 'Sub-CPMK-5', 'Mampu menentukan jenis dan desain penelitian yang sesuai dengan tujuan penelitian', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('88270489-233a-4f49-8550-5732353a54a9', 'c41ba8eb-52ff-4e2a-b691-4d8d3c2a8e7f', 'Sub-CPMK-10', 'Dapat menganalisis dan membandingkan teknologi jaringan seluler seperti GSM, CDMA, LTE, dan 5G.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('88420b4d-3f9b-4931-ab39-626e42435d3c', 'd7838638-3f39-4029-bdc7-b7a6f284eea5', 'Sub-CPMK-8', 'Mampu merancang rangkaian chopper dengan spesifikasi yang sesuai untuk pengendalian motor DC pada robot industri.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('88449d25-a6db-4364-b0aa-92741fa3f783', '06a26f2f-9fc0-41c0-98ad-a52058a115a2', 'Sub-CPMK-9', 'Mampu mengidentifikasi dan menganalisis konvergensi dan divergensi deret tak hingga dengan menggunakan tes konvergensi yang relevan.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('885690b1-ec3c-454f-ac38-f32431336bd2', 'c8570682-36f8-43ce-9f32-9a71be361b95', 'Sub-CPMK-1', 'Mengidentifikasi dan merumuskan 3-5 isu terkini yang relevan dalam bidang studi untuk dijadikan topik penelitian.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('8856c2f0-0c9e-42c3-8943-b0420d3d8162', '4a5322ed-03af-4f89-a3c6-ef26adcc591f', 'Sub-CPMK-9', 'Mengidentifikasi dan menjelaskan metrik yang digunakan untuk mengevaluasi kinerja model generatif.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('88571f0f-6d72-4a04-bf96-65ab8d965019', '5418b08e-fad3-49d2-aa40-85c6c0de803c', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis dan mengevaluasi karakteristik material konstruksi yang sesuai untuk bangunan tinggi dengan mempertimbangkan aspek teknis dan keberlanjutan.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('885f1917-ee74-4476-a702-e1dfcfa1f605', '0473a0f6-1253-45d6-aa2d-6cd98240a7ff', 'Sub-CPMK-9', 'Mampu menulis esai yang mengkritisi peran Muslim intelektual dalam pembangunan berkelanjutan dengan menggunakan sumber-sumber akademik yang relevan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('886b6195-4fa3-4a98-b3af-f56672e044d2', '8f92c19c-cfd7-4d99-a6e4-5fe1e6ade6b0', 'Sub-CPMK-10', 'Mampu melakukan simulasi dan visualisasi sinyal kontinu menggunakan MATLAB dengan memanfaatkan fungsi plot.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('8883527b-9af5-4eb1-8d45-f7fc2cd34922', '6deef5ab-41b1-45d3-871d-ff49a4a5560e', 'Sub-CPMK-11', 'Mampu menganalisis dan menggambarkan induksi elektromagnetik menggunakan hukum Faraday dan aplikasinya pada generator listrik.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('8897411b-59dc-46c7-af8b-b836fabb91f7', 'aa1e3016-f008-4110-a284-b55787ecd076', 'Sub-CPMK-3', 'Mahasiswa dapat merancang sketsa konsep bangunan yang mencerminkan prinsip kesederhanaan dalam arsitektur Islam.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('88983f57-4391-452f-832a-003a1a0763be', 'aceab0f5-663c-42ba-9c4f-2144a2152069', 'Sub-CPMK-4', 'Dapat menganalisis dan menerapkan algoritma backtracking pada masalah pencarian dan kombinatorial.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('88ad1360-4629-41fd-83ba-89810c8057cc', '24570248-ee41-4066-a072-abced9827e70', 'Sub-CPMK-9', 'Mahasiswa mampu menghitung dan merancang sistem penyediaan air bersih dan pembuangan limbah dengan mempertimbangkan aspek keberlanjutan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('88b1a815-cfc6-4647-86e3-82f4a699f77c', 'd8904f9c-8792-412a-ae2c-91da4326dd9f', 'Sub-CPMK-3', 'Mahasiswa dapat mengidentifikasi dan menganalisis sumber kesalahan dalam proses pengukuran serta memberikan solusi untuk meminimalkan kesalahan tersebut.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('88b1d04c-43a4-4f90-9e21-d2e80922785f', 'b512214e-b851-4a0a-b2ff-5a4e3ed03059', 'Sub-CPMK-9', 'Mampu merumuskan rekomendasi tindakan perbaikan untuk menghindari pelanggaran kode etik di masa depan.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('8909c8ab-4c47-43a4-9b54-1fba31e5ea3d', '8aa84918-66b0-4fd6-9953-3ddb0be4c203', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan memilih sumber literatur yang relevan dan terkini untuk topik Tugas Akhir.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('89136c63-48bc-476a-b5ab-d8e750f8a5c3', '4ef0a7e7-1b31-4779-8a10-ce7378649d18', 'Sub-CPMK-5', 'Mahasiswa dapat membedakan antara beton normal, beton bertulang, dan beton prategang serta aplikasinya.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('891c77ae-b29e-4734-9dda-344fa566c458', '5d4dca66-aa7f-4cdc-b3a4-a9354ba2cf81', 'Sub-CPMK-7', 'Mampu menghitung luas dan volume bangunan sederhana menggunakan rumus matematika yang tepat.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('89240043-a532-4651-ba63-db125b400472', '63a6dbae-ff7d-4766-af6e-655fd70a4a74', 'Sub-CPMK-8', 'Mahasiswa mampu membandingkan cara pandang berbagai budaya di Indonesia terhadap lingkungan dan sumber daya alam.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('8927b236-42ea-48de-be3b-aa668784a6c5', '810ba7e9-a9ed-419b-acd5-26476de9c49c', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan mendokumentasikan bukti digital dari komputer menggunakan perangkat lunak forensik.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('89491ede-399c-47e6-9d64-eaf187f6a216', 'fa6fe10b-a82b-4dd9-b81f-fc803608e4ab', 'Sub-CPMK-6', 'Mahasiswa mampu mengidentifikasi pengaruh budaya dan sejarah terhadap estetika bentuk arsitektur.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('897961a1-1539-40fb-8a3d-fdf1304ae520', 'e02dfbc3-5ee3-46b5-9b39-ebc9fd3813fb', 'Sub-CPMK-14', 'Dapat menganalisis dan menilai risiko keamanan dalam arsitektur cloud dan memberikan rekomendasi mitigasi', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('898e0344-1bf4-46df-be79-b40534283d63', 'abcf45f6-efd8-40ea-a98a-e0a516207c53', 'Sub-CPMK-4', 'Menganalisis dan menjelaskan komponen utama dari kode etik profesi dalam bidang tertentu.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('89916016-e680-413f-ab93-0ee6fdb35cd3', '7c8107ca-3d95-4bc3-800d-1d5edcad4c29', 'Sub-CPMK-13', 'Mampu mengidentifikasi peran dan tanggung jawab masing-masing anggota tim dalam proyek.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('89b25491-e7d6-462c-aa2e-465e46a14da6', '677df0db-e578-4ed8-86d2-093c3198e084', 'Sub-CPMK-14', 'Menunjukkan integritas dengan tidak memanipulasi data selama proses investigasi.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('89b98faa-ad41-4365-9efd-d3f2d3cdf0fe', '569fd24c-3961-496d-83b9-d9d4b64d215c', 'Sub-CPMK-9', 'Mampu menerapkan peta Karnaugh untuk menyederhanakan ekspresi logika dengan 2 variabel.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('89d1240b-9fd9-409e-8fc7-d3db6d2b72b8', '49ef9317-98af-4158-bca7-8f62ab9b9a81', 'Sub-CPMK-6', 'Mampu mendefinisikan dan menghitung energi kinetik dan energi potensial serta memahami hukum kekekalan energi.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('89d68ea3-33b1-493c-b8b9-5053d4df9048', 'c71574c3-b0ad-45dd-ab2e-5bc8df9966da', 'Sub-CPMK-9', 'Mampu mengevaluasi dan memodifikasi sistem komputasi yang ada dengan pendekatan berbasis data dan analisis kritis.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('89f5a05f-7b8a-422d-a4b8-2aa23d5be291', 'ae73607c-a81c-43da-ba7c-041347a686b7', 'Sub-CPMK-7', 'Mampu mengimplementasikan prototipe interaktif menggunakan alat desain antarmuka yang relevan', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('8a2b907e-7f8f-433f-981c-44b8034a4f77', 'a731fdca-4b23-471a-b21d-234433e67ac8', 'Sub-CPMK-7', 'Mahasiswa mampu merancang arsitektur sistem yang sesuai dengan kebutuhan proyek.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('8a3c7db3-8c9e-4c94-8d0e-9e6bb2992764', '3a9f586c-5675-43f7-addf-113a17ef9987', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan mencatat umpan balik dari peserta seminar terhadap proposal penelitian.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('8a3ffad8-e6fb-427a-a2da-e4ca3edf6c6f', '55db46c0-f156-4bc2-ac48-cd495e6bedae', 'Sub-CPMK-7', 'Mahasiswa mampu menjelaskan fungsi dan jenis-jenis BUS dalam sistem komputer.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('8a487470-aef5-40ea-bb06-289e36c5f637', '154029d0-81d8-40de-848a-885d3301d720', 'Sub-CPMK-11', 'Mahasiswa dapat membuat visualisasi 3D dari rancangan arsitektur menggunakan software rendering.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('8a65657c-2f67-45df-93dc-3601b3504363', 'cc52d7ff-e3fb-4c82-bbba-31360e4c9e59', 'Sub-CPMK-13', 'Menganalisis kasus-kasus nyata terkait kepemimpinan etis dalam proyek AI dan merumuskan solusi yang sesuai', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('8a667616-0065-4b71-a478-6cc53d0e8dce', 'f205cfb6-0287-43e0-82a1-08fbbb484ad9', 'Sub-CPMK-1', 'Menganalisis berbagai jenis ancaman siber yang umum dan dampaknya terhadap organisasi.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('8aa0de88-491a-44ea-bab5-a3e4c434103d', 'c8db0a1a-346c-4dae-84e5-93866929d8e7', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis dan membandingkan efektivitas berbagai algoritma sorting dan searching.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('8ac84bcc-1b13-4891-bda4-22242852ec0d', '54cd1218-c49b-41b9-9549-bd47bfb70b00', 'Sub-CPMK-11', 'Menganalisis algoritma kriptografi yang umum digunakan dan mengevaluasi efektivitasnya terhadap serangan kriptografi.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('8ac9650d-7f51-4043-904e-de0443239fdd', 'b41a8e07-e05a-4f72-a195-6f1090cb906b', 'Sub-CPMK-8', 'Mengkonfigurasi dan mengelola kebijakan auto-scaling pada platform cloud untuk mengoptimalkan penggunaan sumber daya.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('8ad7c048-3b96-4661-83b3-2be3d7329138', '072f0fd4-91af-45e4-954f-f0a6a71f4e7e', 'Sub-CPMK-2', 'Mampu menerapkan teknik preprocessing data untuk mempersiapkan dataset sebelum pelatihan model.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('8ae8c0be-ca3b-4a53-9a8f-453d589eb6d4', '4c175b45-d2ed-4129-97f9-df2860315dfc', 'Sub-CPMK-4', 'Mampu menjelaskan perbedaan antara standar K3 nasional dan internasional', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('8aea319e-9644-4d6a-b709-c9b79d8895ba', '7ef9ec4f-ea01-4d2e-9408-8d53e48be554', 'Sub-CPMK-6', 'Mampu mengevaluasi material dan teknologi bangunan yang ramah lingkungan untuk mendukung keberlanjutan dalam desain arsitektur.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('8af04236-b3f5-45a9-9802-b09bd94a3079', '0436e0ad-efe3-41d8-b90a-1a4b33d1ef00', 'Sub-CPMK-11', 'Mampu menyelesaikan sistem persamaan linier menggunakan metode eliminasi Gauss.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('8af8c976-fc82-4bf1-9641-8236c1579691', '785aabb8-8a0d-4281-a9b6-9b4c75a795f9', 'Sub-CPMK-9', 'Mampu merancang skenario serangan yang sesuai dengan metodologi pengujian penetrasi.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('8b006d2d-4a57-429e-9573-7939cc869cf0', '023afe75-fe00-4e6e-b439-bd9604a716ad', 'Sub-CPMK-6', 'Mahasiswa mampu membandingkan tipologi arsitektur Islam di dunia dengan yang ada di Nusantara.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('8b065d7d-6a5e-49a5-9bfd-5c07cbc94cd6', 'f42141c8-003c-43e6-9def-ab140be75693', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan dan mengidentifikasi komponen dasar dalam sistem kontrol dan fungsinya.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('8b148a4c-ca3c-419e-8a76-f46516c590ed', '4074eae8-819a-4cb2-8635-60d6e281de36', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis pasar dan mengidentifikasi segmen target untuk produk yang akan dijual.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('8b1e8f62-7bb4-49cd-ad81-f0c882d26476', '22dfb1b2-bd84-4abf-b0f2-7710b2f5ffec', 'Sub-CPMK-4', 'Menganalisis arsitektur sistem yang ada untuk menilai tingkat availability dan reliability.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('8b32cf5b-07c0-441c-92fb-1a9640de5faa', '48ac384b-92a4-4eb5-805a-31da8f95f547', 'Sub-CPMK-2', 'Mampu melakukan analisis trafik menggunakan metode statistik untuk memprediksi beban pada sistem telekomunikasi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('8b37bcfb-3974-4a6e-a17d-142f688e1dab', '072f0fd4-91af-45e4-954f-f0a6a71f4e7e', 'Sub-CPMK-3', 'Mampu memilih dan menerapkan algoritma machine learning yang tepat berdasarkan karakteristik data dan tujuan analisis.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('8b5007ec-12a9-4a1a-9db8-0f6f68ec60b1', '773a8fc5-66e6-4763-834c-0befba2db740', 'Sub-CPMK-7', 'Mampu mengumpulkan data pengamatan posisi benda langit menggunakan teleskop dan alat pengamatan lainnya.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('8b52fd88-8af7-4f66-9c52-2f976d7647b9', 'e0447d2c-389e-4d8e-84f7-26b43d1c0679', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan komponen iklim tropis seperti suhu, curah hujan, dan kelembapan.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('8b5da697-3299-4879-9929-8ca6ba7192db', 'c11407e9-3341-4d10-8225-6732aac31738', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan definisi dan karakteristik utama dari kecerdasan buatan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('8b82c029-52db-41bc-a63d-23fe59b55b27', 'ad8a2316-255f-4a15-8863-70744d890230', 'Sub-CPMK-5', 'Mampu menghitung potensial listrik pada titik tertentu akibat distribusi muatan.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('8b83bdb1-b606-450a-b0f8-c6c690205c69', 'aaf72ea3-92ac-4c64-9e36-baf0520046c6', 'Sub-CPMK-6', 'Mahasiswa mampu menghitung dan menyusun anggaran proyek berdasarkan estimasi biaya sumber daya.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('8b8dbe5c-610a-4cba-9222-08a1adb7dadc', '18279719-f87d-444d-96f3-4bdbad090803', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis berbagai teknologi komunikasi nirkabel seperti LTE, 5G, dan Wi-Fi.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('8bb30cc0-3c18-49f1-9b3b-784239356fd6', '0b4cd186-2487-4680-9e6a-241a32803190', 'Sub-CPMK-2', 'Mahasiswa dapat mengevaluasi dampak ekonomi dari proyek perancangan arsitektur kota terhadap masyarakat lokal.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('8bed44a8-d23a-403e-8be6-e26bef0a0acc', 'ae73607c-a81c-43da-ba7c-041347a686b7', 'Sub-CPMK-5', 'Mampu menganalisis kebutuhan pengguna untuk antarmuka berdasarkan teori IMK', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('8c2c32f8-43b9-4828-8fd8-21e6503780c3', 'bbded5e4-52a2-48e3-8e05-b0f28424699a', 'Sub-CPMK-12', 'Menggunakan software matematis untuk melakukan simulasi dan analisis data teknik.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('8c3c21b0-9c36-48bb-9cf6-e1df9ac35d3e', 'a6fc2d1f-a33b-47dc-92ed-12b2bd5a36ae', 'Sub-CPMK-1', 'mengidentifikasi dan menjelaskan fungsi masing-masing komponen perangkat keras dalam sistem komputer', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('8c3cd5cd-92df-4908-9c9e-fa05e24f9fe5', '7920ee9f-0c16-4dd7-b9c4-da53b9df27c5', 'Sub-CPMK-6', 'Mahasiswa mampu membuat diagram arsitektur sistem yang mencakup komponen dan interaksi antar komponen.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('8c491b97-4071-4cdd-b4e3-f20d79535246', '026c709a-2e75-433b-86cd-7cb66a81726a', 'Sub-CPMK-11', 'Mahasiswa mampu merancang elemen ruang luar yang sesuai dengan fungsi bangunan dan karakteristik lingkungan sekitarnya.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('8c76f3c1-e0ad-4574-be29-c75976a00ca6', '4df98094-4241-4e42-be7e-57062e24e8fa', 'Sub-CPMK-3', 'Mampu melakukan interfacing antara mikroprosesor dan perangkat input/output seperti sensor dan aktuator.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('8c89c96a-c676-4c8b-b82d-236aaf004cb0', '71dbee86-d2a2-49f3-b475-415b613d8c78', 'Sub-CPMK-12', 'Mampu menganalisis contoh nyata tumbukan dalam kehidupan sehari-hari dan mengaitkannya dengan hukum kekekalan momentum.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('8cf396de-d8bd-46ed-93a1-e700057ece95', '732dbe61-e703-4494-a408-0127a790f1e5', 'Sub-CPMK-3', 'Mampu menjelaskan langkah-langkah dalam proses penelitian ilmiah secara sistematis', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('8cf42214-d837-4774-abde-134fc3eea192', 'b7c361ee-91ed-498b-8fd1-f7fe8e06ea3e', 'Sub-CPMK-8', 'Mampu menerapkan pengelolaan basis data menggunakan ORM (Object Relational Mapping) dalam framework back-end yang dipilih.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('8d294ac4-73cb-4053-a026-a5313e0b8e89', 'e0959638-c758-477c-8abd-d9b352a72d47', 'Sub-CPMK-11', 'Membedakan karakteristik radar Pulse dan Doppler serta menjelaskan kelebihan dan kekurangannya', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('8d2b6629-9324-4b2a-a131-59feff87ace0', 'b398b2f8-03d9-4645-8004-9ae2d2358edd', 'Sub-CPMK-6', 'Mampu menganalisis dan menghitung reaksi pada balok dengan lebih dari dua tumpuan.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('8d457f66-b15d-457d-90fe-402100355f48', 'fa058e7d-1643-43ab-a163-63399cc715d1', 'Sub-CPMK-14', 'Mampu menyusun argumentasi yang mendukung atau menolak sebuah posisi terkait isu terkini dalam kajian AIK dengan menggunakan data dan referensi yang relevan.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('8d7c4db0-eea8-4d76-ac7b-69f19ef9e0d7', '5b1a21a6-0126-4fe9-8e5a-a38219fdaaac', 'Sub-CPMK-9', 'Mampu menggunakan teknik diferensial untuk memodelkan dan memecahkan masalah dinamika, seperti gerak benda dan perubahan suhu.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('8d990bb6-d158-4480-8734-43c50f503dc6', '578e0725-7975-4e26-89a6-ec1c8f5ec6d3', 'Sub-CPMK-13', 'Mahasiswa mampu mendefinisikan dan memberikan contoh vektor linier serta menjelaskan sifat-sifatnya.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('8dcdcb0a-ba72-43c5-82a8-c76cfa990e16', '85b72902-5fa9-4011-acc6-280c9c81fb67', 'Sub-CPMK-2', 'Mengidentifikasi komponen kunci dalam siklus hidup perangkat lunak yang dipengaruhi oleh praktik DevOps.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('8dd091ad-f4bd-463f-b198-4f29b6e7eca0', 'c92be549-3296-4d96-a7ed-cff06dc9f2b2', 'Sub-CPMK-5', 'Mahasiswa mampu menyusun elemen visual dalam presentasi 3D yang mencakup pencahayaan, material, dan perspektif sesuai dengan standar grafis arsitektur.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('8dd84da7-127e-43d1-8da3-2838f476981d', '78b0c04d-d5f2-4fa3-9bed-b9e736c2b8f5', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menjelaskan tujuan penelitian dari artikel ilmiah yang dibaca.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('8dff6d97-2dcb-46e7-809e-8c104163e3be', '699f8752-ad68-4b2d-8574-c7624db62626', 'Sub-CPMK-14', 'Mampu menambahkan interaktivitas dasar menggunakan JavaScript dalam proyek web sederhana.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('8e205baa-31b7-44b8-bc93-6dce14ceeebc', '50397f99-0f71-4756-ad38-080247d61c3f', 'Sub-CPMK-2', 'Mengidentifikasi langkah-langkah dalam metode ilmiah dan memberikan contoh penerapannya', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('8e3921d7-3b7a-4943-bfa2-971a8297d6a1', 'a7dbdc05-e805-48b1-9040-af3b767ff5b2', 'Sub-CPMK-4', 'Mahasiswa mampu melakukan wawancara dan survei untuk mengumpulkan informasi dari pemangku kepentingan terkait kebutuhan sistem.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('8e3b03be-749c-4b1e-bf87-4f26d20bd15b', '98d34800-c46e-4d87-a189-144b8557af41', 'Sub-CPMK-2', 'Mengidentifikasi dan menjelaskan standar baku mutu air sesuai regulasi pemerintah dan organisasi internasional.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('8e5204d5-0940-494b-b073-20eb94b09d74', 'cd76bd18-9173-492f-92dd-adb0c556c13a', 'Sub-CPMK-12', 'Dapat melakukan preprocessing data untuk keperluan training model deep learning.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('8ea70437-c530-47ee-886c-894416a9fc68', '907facab-7daf-424b-8a69-08e134d3479c', 'Sub-CPMK-9', 'Mampu melakukan analisis dan identifikasi kerentanan menggunakan static code analysis tools.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('8eaaad45-6382-4e9e-9a19-a42b4720757b', '104391d3-3c84-4b35-8003-dc9fac549edf', 'Sub-CPMK-2', 'Mahasiswa dapat menyusun sketsa awal perancangan ruang dalam yang mempertimbangkan aspek fungsional dan estetis.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('8ed6ef27-04ee-4cd2-a6b3-d7359b41c94d', '261c62d5-9d3d-45ad-a1ea-e22672781173', 'Sub-CPMK-12', 'Mampu melakukan simulasi performa sistem komunikasi digital dengan parameter yang berbeda menggunakan perangkat bantu pemrograman.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('8edc839d-57cd-4afe-b55f-303e5cbe0ed4', '907facab-7daf-424b-8a69-08e134d3479c', 'Sub-CPMK-10', 'Melakukan pengujian dynamic testing dengan menggunakan framework pengujian yang relevan.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('8ef12314-c89b-4c3d-96f3-5beed4107a1f', '5b13b71d-261b-448b-9554-798208102fac', 'Sub-CPMK-12', 'Mahasiswa mampu merancang proyek kecil yang menerapkan penggunaan bahan ramah lingkungan sesuai dengan prinsip keberlanjutan.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('8f00180c-1727-4a08-8423-e572506682c5', 'aa8e3171-f36a-428b-b822-122b0a3de003', 'Sub-CPMK-10', 'Melakukan pengujian unit dan integrasi pada aplikasi mobile untuk memastikan fungsionalitas yang tepat.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('8f37f7fe-ceb4-400c-b861-1a84f7e6efef', '16af6e89-c43c-4eac-baac-c61d4d1246a9', 'Sub-CPMK-1', 'Menjelaskan konsep dasar Al Islam Kemuhammadiyahan secara mendalam berdasarkan AIK I-IV', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('8f3af89f-31bb-4c0e-a23f-243624f94708', 'b1a9a314-a48c-4407-8f9c-2500db806644', 'Sub-CPMK-12', 'Mahasiswa mampu mengidentifikasi dan menerapkan prinsip-prinsip desain yang sesuai dengan nilai-nilai Islami dalam pemilihan material dan sistem konstruksi.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('8f52be1d-a16d-4328-aa10-2eec38f362f6', '4bf1e50d-48be-4694-8ea5-5bd803444ef1', 'Sub-CPMK-4', 'Mampu menjelaskan dan mendokumentasikan tahap perencanaan dalam penetration testing.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('8f544e58-cc45-4165-a69b-ca8ae6f7accb', '3ce87a12-95e3-49d0-acf0-2eb8c7ec96b6', 'Sub-CPMK-7', 'Mahasiswa dapat menjelaskan konsep dasar jaringan komputer, termasuk jenis-jenis jaringan dan topologinya.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('8f753523-fc5b-4206-9034-43211c22bab1', 'c4ecc1fa-511f-4beb-9b52-aab523b9fe2b', 'Sub-CPMK-14', 'Dapat menyusun laporan yang mencerminkan transparansi dan akuntabilitas dalam tindakan ethical hacking', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('8f7c90c5-ed53-4831-8c4b-e478393408d7', '7f1fceca-6b26-490e-8830-d8b436276f88', 'Sub-CPMK-8', 'Dapat melakukan CRUD (Create, Read, Update, Delete) data menggunakan REST API dan menampilkan hasilnya di aplikasi mobile.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('8f8b146c-a243-437a-9738-5475c0f805e2', '0ed63c84-22ca-472b-b6e4-6601d6841dbe', 'Sub-CPMK-5', 'Mahasiswa mampu melakukan analisis efisiensi transformator dan menghitung daya yang hilang dalam sistem.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('8f98677f-cd13-4817-a9f7-376aada901ed', '24b8a2c1-b619-4343-886a-fb90ed9df70e', 'Sub-CPMK-3', 'Mahasiswa dapat merancang rencana kepemimpinan untuk sebuah tim proyek arsitektur, dengan mempertimbangkan teori dan konsep kepemimpinan yang relevan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('8fab880e-9b1c-4f29-ad0d-15726cfd4caf', '696ecff5-3e6b-45c2-ac45-2fd59c9fda06', 'Sub-CPMK-6', 'Membandingkan efisiensi algoritma kriptografi klasik dan modern dalam konteks penggunaan sumber daya komputasi.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('8fbe1d57-25c4-40ee-bd2f-04dba478a372', '92b41259-8466-45dc-a779-0369361edffe', 'Sub-CPMK-7', 'Mampu mengidentifikasi jenis-jenis metode pengumpulan data yang sesuai dengan tujuan penelitian.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('8fc02178-b595-496f-8436-0758f1705b5d', '68925eaa-2057-41ae-a850-25b552a6ad95', 'Sub-CPMK-11', 'Mampu mengidentifikasi dan menganalisis kerentanan sistem menggunakan alat penetration testing.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('8fdd4135-9941-4e7b-83e7-117b73767487', 'a25c0a20-cfc5-4d34-9cf2-407d22298587', 'Sub-CPMK-5', 'Menganalisis arsitektur protokol jaringan yang umum digunakan dalam komunikasi data', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('8ffc98ef-0b87-49aa-a305-e3aff69ed42a', '727198bf-b02c-4826-a996-dd7262e8add1', 'Sub-CPMK-8', 'Mampu menganalisis kinerja turbin angin dengan menggunakan data kecepatan angin dan kapasitas terpasang untuk menentukan daya yang dihasilkan.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('9046d92e-b55a-4c3b-b0a0-4b77397c0a64', 'f556dab1-731b-46ff-a996-159473fe451b', 'Sub-CPMK-7', 'Mampu menganalisis kebutuhan pengguna untuk proyek capstone melalui metode wawancara dan survei.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('90592563-a14b-4e06-9a3e-bfca3dec9590', '05d9b352-438a-47c7-a818-baacaf851d42', 'Sub-CPMK-11', 'Mampu merancang dan melatih jaringan saraf tiruan (ANN) untuk memprediksi permintaan energi listrik', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('905b8338-cc95-4cae-a640-b7cef05b0154', '11784cf9-5756-4f4d-a8af-79eed4c51406', 'Sub-CPMK-1', 'Mampu menjelaskan prinsip dasar pembangkitan tenaga listrik dan jenis-jenis sumber energi yang digunakan.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('906161fe-be04-46a9-899e-b5291bcd208d', 'ed6f8c42-5689-4c7f-a034-1748c7768ad6', 'Sub-CPMK-6', 'Mampu menyusun laporan analisis yang mencakup metode, hasil, dan diskusi yang mendalam mengenai kesimpulan yang ditarik dari data.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('90776c0b-f65c-4313-982d-ab4abbe18086', '52bc6db2-0688-4179-a319-ecf672f52ad3', 'Sub-CPMK-11', 'Mahasiswa mampu menghasilkan model visualisasi 3D menggunakan perangkat lunak arsitektur dengan detail material dan pencahayaan yang realistis.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('908e907c-4b17-4688-8b69-925b51a88906', '5a3a7ea0-4d87-4154-8626-0a05e08a4dd7', 'Sub-CPMK-5', 'Mampu menghitung parameter sekunder saluran transmisi, termasuk impedansi karakteristik dan kecepatan gelombang.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('90a5c1c5-b73d-4d61-8448-ee622c63abc4', '6dfbfd13-a3a7-47ce-9960-555b0a5c7b51', 'Sub-CPMK-9', 'Mampu menjelaskan konsep dasar API Gateway dan perannya dalam arsitektur microservices.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('90ae5d6d-3ce3-4b72-b49b-2f62afd462fd', '7f6db93d-c337-49a7-95ab-06e02aeeb697', 'Sub-CPMK-6', 'Mengidentifikasi dan membandingkan berbagai jenis sistem kontrol seperti sistem kontrol analog dan digital serta aplikasinya.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('90c515db-668c-4054-9532-d594fc12f4b6', '113d9e20-7556-4cb6-bb58-47aa4312738c', 'Sub-CPMK-6', 'Merancang algoritma berbasis strategi yang efisien untuk permasalahan yang telah dianalisis, dengan mempertimbangkan kompleksitas waktu dan ruang.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('90dc9c29-0f8f-4779-a6a4-bb4042364c6a', '444cde92-a3f6-4b99-be0d-65b78e187bba', 'Sub-CPMK-5', 'Merancang solusi berbasis AI yang mempertimbangkan etika dan prinsip Islam dalam pengambilan keputusan.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('90f78645-da78-4b69-8044-0c1246ab7763', 'ce511e5e-d1cb-4614-aecc-2609afec52e5', 'Sub-CPMK-6', 'Mampu membuat flowchart yang menggambarkan alur logika dari algoritma yang telah dirancang.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('910cfa78-645f-45be-88f6-b59526fa2bb5', '382e1915-b844-4442-9e68-9f20626cb7eb', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan konsep muatan listrik dan interaksi antara muatan listrik.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('9134b955-dd2e-4129-a6b1-ebbb37397251', '529a00eb-5502-48ed-8752-8c6bc7467caf', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan mendokumentasikan kebutuhan fungsional dan non-fungsional dari sistem yang akan dibangun.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('913be18f-7581-40b7-8ba3-03dde394a2d1', 'b2b9370e-6ca1-4c3f-bec3-9c030fc30a73', 'Sub-CPMK-12', 'Mampu merancang instrumen pengumpulan data yang sesuai dengan metode yang dipilih.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('91445b62-ea7c-4354-b030-8bc7cb2c2f5d', '0e4d790c-90fa-4848-87b6-60e2e87d91f0', 'Sub-CPMK-12', 'Mahasiswa mampu menyelesaikan sistem persamaan linier homogen menggunakan metode eliminasi dan substitusi.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('916a9ea0-4f33-45c0-a676-a0c823f6d8dc', '28279a15-1c47-497c-8279-6a2372212c7a', 'Sub-CPMK-8', 'Mampu mengidentifikasi berbagai jenis sensor yang digunakan dalam aplikasi IoT dan cara kerjanya.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('917ccf4f-af35-4660-9130-325c1a9a779d', 'd009c4f5-b7f2-4a70-a912-e43ab8664918', 'Sub-CPMK-1', 'Mampu mengidentifikasi dan mendokumentasikan elemen-elemen sosial dan budaya yang mempengaruhi desain arsitektur di suatu lokasi.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('919f7ff9-b7bb-4285-8e4c-20e546878cac', '3731bb62-7410-40b9-a7dc-f5eac7287e7f', 'Sub-CPMK-8', 'Mampu merancang struktur modul program yang efisien untuk solusi masalah teknik elektro, termasuk input, proses, dan output yang diperlukan.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('91b3e098-f487-4ee5-85d8-00b1030e7ff4', '4b241ff8-371a-405b-90d1-fc4b24785d44', 'Sub-CPMK-10', 'Mahasiswa mampu mengimplementasikan algoritma regresi linear dalam sebuah proyek sederhana menggunakan dataset yang relevan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('91bb0d5d-118e-4c62-8253-c9ddd07688c7', 'aceab0f5-663c-42ba-9c4f-2144a2152069', 'Sub-CPMK-1', 'Mampu menjelaskan konsep dasar dan langkah-langkah dalam metode divide and conquer.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('91bbc98d-e348-4bb2-88c8-1a5dff09d410', '5fe7a9bf-cfa3-41c8-9844-f45ab5732f42', 'Sub-CPMK-1', 'Mampu menganalisis kebutuhan air untuk proyek pengairan berdasarkan data hidrologi dan iklim lokal.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('91c19613-0510-4275-90ac-4f1a5d39ddde', '48c88b4c-af96-44e1-9b37-420b35c04a2c', 'Sub-CPMK-14', 'Mahasiswa mampu menunjukkan kerapian dalam penyusunan slide presentasi dengan tata letak yang jelas dan konsisten.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('91cad97d-45bf-436c-93f8-97974a89083f', '86a8f4d0-b751-490f-89cb-f66b1045df4c', 'Sub-CPMK-8', 'Mahasiswa dapat menggambarkan simbol dan fungsi kapasitor serta menghitung nilai kapasitansi dalam rangkaian sederhana.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('91e37c66-bcb3-4098-99cb-90f7f0688366', '3aed8829-15d8-4357-9c53-f14d3ceb2792', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan mendokumentasikan kebutuhan ruang untuk berbagai fungsi dalam bangunan multifungsi skala menengah.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('91e7503b-5026-4e1d-b30c-15970748866d', '32a64cee-cde1-46b6-851d-ab17c8f7cbca', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan mendokumentasikan kebutuhan alat dan teknologi yang diperlukan untuk implementasi CI/CD pipeline.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('91e7b578-6c46-4019-a9c4-b2e35ed2e4b7', '9f6bfb99-52fe-4e05-9dc9-1ce1e4330002', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan prinsip dasar pengolahan citra, termasuk representasi citra dan model warna.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('91e8cd37-0eb4-4fb3-a74e-b16030b9feba', '31538e15-bb1d-4598-a663-7320d80c3e41', 'Sub-CPMK-13', 'Melakukan percobaan dasar mengenai hukum Ohm dengan mengukur tegangan dan arus pada rangkaian listrik sederhana.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('9200d40f-bdd7-437b-9e67-01187ba9b76d', '5109d83d-4ff3-46a5-b40c-eb949fc128be', 'Sub-CPMK-10', 'Mampu mengidentifikasi komponen elektronika dasar dan fungsinya dalam rangkaian.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('9224bde0-60ea-4a46-a338-b9946a5b346a', '41b08b33-8ef0-4752-8ad7-9378e43de17e', 'Sub-CPMK-9', 'Mampu menjelaskan sumber-sumber ketidakpastian dalam pengukuran dan cara menguranginya.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('92324401-f172-4a55-a06d-6fbcede0389d', '1bbb118a-8ecd-43ab-9531-6df990f6b28b', 'Sub-CPMK-3', 'Mengidentifikasi dan mendokumentasikan potensi risiko keamanan pada tahap requirement dengan menggunakan teknik analisis kebutuhan.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('926aae07-cea9-4c39-a9d3-2ee8cfd3696a', '6637d1f6-2209-4cff-8122-a25674243ae2', 'Sub-CPMK-8', 'Mampu merancang algoritma menggunakan langkah-langkah logis dan sistematis untuk menyelesaikan permasalahan yang telah didefinisikan.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('926e164a-d67d-459b-aab7-592fbb3b1a1c', '462afe1f-ba31-4da0-892b-61c8dbbd5422', 'Sub-CPMK-10', 'Mampu menerapkan metode Euler dalam menghitung integral numerik dan menganalisis ketelitian hasilnya.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('92816c60-4fa6-4a68-a1c6-b478855b17a6', '44423ae3-4020-4976-98c6-7cfb9c138902', 'Sub-CPMK-3', 'Mampu mengidentifikasi dan menerapkan prinsip-prinsip modularitas dalam desain arsitektur aplikasi mobile.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('92b666ec-8b5c-42e0-9d85-4fa31f28374e', '65d0ab0d-5fa6-4f53-ad10-f7a355ebe609', 'Sub-CPMK-6', 'Mampu membandingkan berbagai standar teknologi nirkabel seperti Wi-Fi, Bluetooth, dan LTE', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('92b8fa31-5242-4e7e-a684-b857824e8436', 'c9583f35-dcff-46e1-8796-b4b5329fa189', 'Sub-CPMK-12', 'Mampu menghitung kompleksitas waktu dari algoritma menggunakan notasi Big O untuk berbagai kasus input.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('92ba7f0d-4e31-42c9-bfe2-bc24c67aeb4c', '9e12aa75-8b9b-4d81-a02b-e06b75b807e1', 'Sub-CPMK-2', 'Menjelaskan prinsip-prinsip desain aplikasi cloud-native seperti microservices dan containerization.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('92c4d0f6-131b-4a98-a89f-4a95862dcc5e', 'b0807bdc-71fd-433f-ab3d-0f69303b4daa', 'Sub-CPMK-11', 'Mampu melakukan analisis data yang tepat dan menyajikan temuan dalam bentuk grafik atau tabel yang informatif.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('92d4cd7b-ee82-4b49-be24-892b2781298f', '87b2211e-ffe1-4ecf-8131-16d08c8a4bb5', 'Sub-CPMK-3', 'Mahasiswa dapat mengidentifikasi berbagai jenis pronoun dalam kalimat bahasa Inggris', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('92f25936-6b12-43f4-8a69-1d86d99f042c', 'b18dccb7-a8ce-49b2-b293-bbb8ae2a7e93', 'Sub-CPMK-6', 'Mampu menjalankan dan mengelola container Docker menggunakan perintah dasar Docker CLI.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('9304d05c-7490-48a0-98c8-b05c52811eaa', '778cbd7b-6e0e-4149-8f02-87a42bde4265', 'Sub-CPMK-3', 'Menganalisis kelebihan dan kekurangan dari penggunaan basis data terdistribusi dalam aplikasi modern.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('930873d6-a335-4941-9f36-7cf14cd463a4', '864510a6-b812-4b99-afbe-b48be460967e', 'Sub-CPMK-3', 'Mengembangkan hipotesis penelitian yang dapat diuji berdasarkan rumusan masalah yang telah dibuat.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('9323c26f-c2f3-4079-9ac5-14b4c6e84aef', '592eab5a-bab9-4f58-b0c3-9285f822df6c', 'Sub-CPMK-11', 'Mampu menghubungkan aplikasi web dengan database menggunakan SQL untuk menyimpan dan mengambil data.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('9338deab-1cb7-4eb0-8677-04a616328e5f', 'ed5b93d5-0638-43a8-9051-675c14d66d49', 'Sub-CPMK-12', 'Mampu memodelkan dan mengevaluasi solusi pemulihan sistem tenaga listrik setelah terjadinya gangguan melalui perangkat lunak simulasi.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('9339bd2a-e59e-4b4f-895d-748ae627f8ee', '99f3d7bb-46cd-46fa-9b08-4f7c68d07515', 'Sub-CPMK-8', 'Mampu melakukan analisis kritis terhadap konten dan metodologi dari sumber literatur yang dipilih, serta mengevaluasi kontribusinya terhadap pengembangan topik artikel ilmiah.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('933bcd7b-4f78-4ff0-be6e-10ccd907e958', '4efcb2e5-1eb3-4a5d-8f5e-c9e3199773f0', 'Sub-CPMK-4', 'Mahasiswa mampu menjelaskan peran sistem operasi dalam mengelola sumber daya komputer.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('934de95f-fd18-4d1f-9f89-f7c186985dfb', 'b7357d23-1e2e-4062-b2f2-6a4f5ef2bd62', 'Sub-CPMK-8', 'Mampu menjelaskan tujuan dan manfaat penelitian secara ringkas dan menarik dalam presentasi lisan.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('9354fd8d-ec8e-4bd9-8290-905d65638cbc', '59edfb6c-7090-4505-bb58-6d8f9334caed', 'Sub-CPMK-11', 'Mampu memodifikasi dan menguji algoritma pencarian untuk berbagai kasus input', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('93566912-6464-486e-9133-dc8901ba47a2', '6b8a9ca5-a89f-49c2-bb7e-1dea68b1a0a6', 'Sub-CPMK-9', 'Mahasiswa mampu membandingkan kelebihan dan keterbatasan bahan bangunan berbasis logam dan plastik.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('9361c914-ef01-4656-9e03-5a212fbc17d1', '148f5809-eeec-4399-9931-9889954953af', 'Sub-CPMK-4', 'Menjelaskan komponen utama dalam sistem instalasi listrik dan fungsinya.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('93668641-08ad-4bd8-9eb8-5bd34db72d79', '2486a6b2-f989-4089-9a1c-33a40cc27b9d', 'Sub-CPMK-13', 'Mengidentifikasi dan menganalisis isu-isu etika yang muncul dalam penggunaan LLM dalam proyek AI.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('93740d46-0a67-436e-ac11-ae1b2b375a92', '35ec9ef2-f6af-4eb5-8628-66701c195861', 'Sub-CPMK-9', 'Mampu menjelaskan dan menerapkan konsep dasar algoritma pencarian seperti pencarian biner dan pencarian linear dalam Python.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('93833c5a-49d2-42fb-92f2-73bac086144a', '78f4affe-78aa-4215-b79a-cf6b878b066a', 'Sub-CPMK-12', 'Mampu mengimplementasikan dan menguji kode program pada mikrokontroler untuk mengendalikan sensor dan aktuator.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('938e3331-40ea-412b-8615-02bd6c55929f', 'fbd4641f-d9b4-4420-8550-00e7203b2470', 'Sub-CPMK-6', 'Menggunakan metode Janbu untuk menentukan stabilitas lereng pada kondisi tanah berlapis dengan berbagai sudut geser.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('93973200-e8a9-4894-8dae-fbe6d1820ca9', 'aceab0f5-663c-42ba-9c4f-2144a2152069', 'Sub-CPMK-2', 'Dapat mengidentifikasi dan menerapkan teknik greedy pada masalah optimasi sederhana.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('939efe93-3e15-4a90-8406-7e7dc6cfc082', 'a3db81ba-e3f6-438e-b5c3-a840a70be649', 'Sub-CPMK-7', 'Menghitung peluang kejadian sederhana menggunakan rumus peluang dasar.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('93a2fbfa-9100-466f-9b94-5368734d1989', 'b1e2cd56-acec-4852-a59c-96eb4e6f8e49', 'Sub-CPMK-6', 'Mampu membuat layout sederhana menggunakan CSS, termasuk penggunaan flexbox atau grid.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('93ab56a1-5472-434d-9b92-9e7dcac5b39b', '2923d85b-6995-4c22-b48f-b81f541b1311', 'Sub-CPMK-8', 'Dapat melakukan CRUD (Create, Read, Update, Delete) data dari database lokal menggunakan SQLite.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('93c68b4d-0db8-4fc1-9bba-b0d60b2599ea', '1dcf7c74-3d04-4630-a4fb-21039376e157', 'Sub-CPMK-11', 'Mahasiswa mampu mendemonstrasikan penggunaan teknologi bangunan yang mendukung efisiensi energi dan pengelolaan air.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('93cb2067-fa4d-425c-9477-01d3d64a0175', '86a44207-97c0-4769-98a4-c2fec1204bfd', 'Sub-CPMK-3', 'Mahasiswa mampu menganalisis reaksi perletakan pada struktur sederhana menggunakan hukum keseimbangan statis.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('93cf76d3-2b2e-4166-beb3-0c87f65c89a5', '00905cc5-e8d2-4b83-a695-b451382b957b', 'Sub-CPMK-5', 'Menganalisis peran AI dalam meningkatkan efisiensi sistem komunikasi', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('93d81135-f71d-4988-9704-644c6b647508', '2452583b-ec61-4aed-92c1-0b9994644972', 'Sub-CPMK-6', 'Mampu menerapkan aturan rantai untuk menghitung turunan fungsi komposit dalam masalah optimasi.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('93dd75db-a8dc-46b0-9cd2-f070e82362d2', 'd48ea8cd-ce95-449a-915c-35ade944fb9d', 'Sub-CPMK-3', 'Mampu menghitung dan menganalisis arus dan tegangan dalam rangkaian listrik menggunakan hukum-hukum Maxwell.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('93e03ddb-a4f2-49c0-8d7d-1e2d4bbe8b1b', '6b3f1fe5-0255-4b0b-8eed-89d868255460', 'Sub-CPMK-7', 'Mampu mengidentifikasi peran dan tanggung jawab masing-masing anggota tim dalam proyek.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('94093ae0-0dee-43b5-a5d9-176216258110', 'e7397c23-eafa-4dbb-946a-075321052e06', 'Sub-CPMK-10', 'Mampu mendesain dan mengimplementasikan sharding pada sistem basis data untuk distribusi beban yang lebih baik.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('9418ae2b-f026-499b-be37-b30c0640709e', '6cb82ff0-bdcd-400a-8e73-97bbb0c98c8f', 'Sub-CPMK-3', 'Menjelaskan berbagai model arsitektur sistem terdistribusi, termasuk client-server dan peer-to-peer.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('942b9ec5-ed32-4833-a1e9-087239305bd2', 'e91b5936-3bab-4dcc-8d86-979efd67e251', 'Sub-CPMK-2', 'Mahasiswa dapat menghitung dan menggambarkan hasil konvolusi antara dua sinyal menggunakan metode analitis.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('9431c530-b24d-45bd-a7ea-5b79f3b0baa8', '303b643b-379c-41ce-ba81-1ff86f5f8e6b', 'Sub-CPMK-13', 'Mampu menerapkan prinsip etika dalam pengembangan algoritma deep learning untuk menghindari bias dan diskriminasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('944283f1-2bb8-478c-8b57-5626d9407218', '5ceae6ed-306a-44cf-951a-1d7d90b82699', 'Sub-CPMK-10', 'Mampu menghitung rugi-rugi daya yang terjadi pada mesin listrik berdasarkan data pengujian, seperti rugi-rugi tembaga dan rugi-rugi besi.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('9453cb75-deb2-4ed2-a699-ec874a3a0e38', '49df109e-45d7-4f49-9fd5-7c0bec8bbb07', 'Sub-CPMK-8', 'Mahasiswa mampu menghitung momen dan gaya geser pada elemen struktur sederhana menggunakan metode analisis yang tepat.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('946c7e9e-914d-4d05-bb5f-2ee633c7c5fd', '92acd174-e2c2-43e8-943f-4c71b70396bf', 'Sub-CPMK-6', 'Mampu menganalisis dan menjelaskan arsitektur sistem akuisisi data termasuk elemen-elemen penting di dalamnya.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('947dc925-abee-442c-9ab6-317ecded3558', 'ba22bb44-0cec-4fb0-a153-a2347a36de34', 'Sub-CPMK-9', 'Mampu menganalisis kebutuhan pengkondisian sinyal berdasarkan karakteristik sinyal keluaran sensor dan lingkungan operasional.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('94864e95-62ee-4acf-878e-ba2245bc0076', 'd18a3b76-3e39-405d-a865-d86110d4594e', 'Sub-CPMK-4', 'Menjelaskan definisi dan sifat-sifat medan listrik serta rumus-rumus yang terkait.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('9494efdc-026a-4f7d-9ba9-8554d47fe19e', '23d54b31-770b-4fcf-80f2-9232de6f0e27', 'Sub-CPMK-11', 'Mahasiswa dapat menjelaskan konsep dasar kriptografi dan berbagai jenis algoritma kriptografi yang digunakan dalam keamanan data.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('94ba58f3-d932-4ecb-b05a-b59d285ab5f2', '4226fe52-1604-4b24-8627-4e5872d518b8', 'Sub-CPMK-9', 'Mahasiswa dapat menghitung dan menginterpretasikan rata-rata, median, dan modus dari suatu dataset.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('94f20cf3-c1d4-4319-95ca-926e348aa561', 'cb6498c9-5bae-468b-a38c-dada74e7895e', 'Sub-CPMK-9', 'Mampu menyusun presentasi yang merangkum hasil pembelajaran dan pengalaman selama KKP-Plus.', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('94fbb8c0-bde4-4b06-9c92-ea3255bc7846', '34fdcbb5-5374-484e-a3e1-ea2d78dcb186', 'Sub-CPMK-11', 'Mampu merakit rangkaian penyearah setengah gelombang dengan komponen yang tepat dan sesuai spesifikasi.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('9502438c-63b0-483d-bfce-a0562d1282c0', '6c4d997e-9f98-482a-a10c-ddf2231c8bba', 'Sub-CPMK-7', 'Menganalisis elemen-elemen desain arsitektur Islam yang berpengaruh pada perancangan bangunan.', 7.14, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('9502ef4e-bd85-4a45-89a2-8082d8cca22d', '36b60b6e-6317-4cde-9e1d-77183d715fd6', 'Sub-CPMK-10', 'Mahasiswa dapat menjelaskan sifat-sifat dasar dari operasi logika pada proposisi, seperti konjungsi dan disjungsi.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('9503e243-4526-47ae-a206-7de0f33dc086', '7e8145af-328f-473a-9486-ae7c8a777a12', 'Sub-CPMK-10', 'Merancang dan mengimplementasikan sharding pada basis data untuk meningkatkan skalabilitas aplikasi.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('95046b0c-b257-48fb-88a2-00f39ad99ba3', '929eeac3-67f0-4cd1-bbf2-29bc08d58a8e', 'Sub-CPMK-2', 'Mahasiswa dapat merancang rencana pengelolaan sumber daya energi terbarukan untuk aplikasi industri.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('95188033-ab8e-48fa-99b3-96ffca31ccb8', 'bae74b4b-efc4-43a4-99cf-93068f285108', 'Sub-CPMK-14', 'Menunjukkan kemampuan untuk mengambil keputusan yang etis dalam situasi kerja yang kompleks.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('952369a0-afd7-40ec-9f06-913eef1ffa15', 'd000a2c3-4843-4fce-a960-812ad0ab02ae', 'Sub-CPMK-2', 'Menghitung integral tentu dari fungsi satu variabel dengan batas yang diberikan dan menerapkan teorema dasar kalkulus.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('953e4c9d-9923-489f-96c3-76b5fed71a53', 'e15e7947-8788-4733-9403-4100142f003e', 'Sub-CPMK-4', 'Mahasiswa mampu membandingkan kelebihan dan kekurangan dari berbagai jenis metode dalam Riset Operasional.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('954ccf48-7b4d-4181-949c-c15a80467235', '7f7db5e5-a6c2-4340-b84b-58a2a2dbf90f', 'Sub-CPMK-11', 'Mahasiswa mampu merancang sistem utilitas yang efisien dan berkelanjutan untuk kawasan permukiman, dengan mempertimbangkan dampak lingkungan.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('95798658-597c-4b40-9f68-20c05101b282', '747b76b9-b4fa-4b4e-961d-360807a79683', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis dan menerapkan metode perancangan sirkuit digital menggunakan perangkat lunak EDA.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('95799386-0823-49f7-8fac-e4096968bc02', 'f55d68ff-36e0-44e6-9028-e4a0f85096a7', 'Sub-CPMK-9', 'Mampu mengkonfigurasi dan mengelola cluster Kubernetes secara efektif', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('959e22c9-15b9-4107-8f9f-cd49655ecdc8', 'b53cae5f-e799-4f1e-a655-5433d3b2b170', 'Sub-CPMK-4', 'Dapat mengimplementasikan struktur data dasar seperti array, linked list, dan stack dalam Java.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('95a96e83-9596-4b39-a958-7d9ce7d12412', 'dffe0dc3-224a-40a6-ba65-4ff9ca49059d', 'Sub-CPMK-12', 'Mampu mendeskripsikan prinsip kerja dan aplikasi dasar dari komponen optoelektronik seperti LED dan fotodioda.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('95b05834-8b87-4c12-93d6-a24c3b1d2a9d', '508c9e7d-085b-43f2-b5d8-8c66e5b4352c', 'Sub-CPMK-14', 'Mampu melakukan perhitungan integral dan diferensial dari fungsi yang diberikan dengan langkah-langkah yang sistematis.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('95c7fdb8-cdfd-4816-85e0-9770a94f66ce', '4b6e3baa-ae53-48c8-bf6d-01691050bec6', 'Sub-CPMK-8', 'Mahasiswa mampu merancang sketsa desain ruang luar yang mengintegrasikan aspek estetika dan fungsi sesuai konteks lokal.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('95ec6bf8-06e6-4310-8f86-eb41b43d1cfe', '3c05ed0f-8ca4-4697-9b72-0d8482e44bf4', 'Sub-CPMK-1', 'Mahasiswa mampu mendefinisikan dan menggambarkan berbagai jenis gaya yang bekerja pada elemen struktur.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('95ed612e-452e-42f9-9c9c-e9ba9016727f', '1bbb118a-8ecd-43ab-9531-6df990f6b28b', 'Sub-CPMK-4', 'Menerapkan prinsip keamanan dalam desain arsitektur perangkat lunak dan menganalisis dampak dari keputusan desain terhadap keamanan sistem.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('95f4401b-1915-46e2-9cee-961da5759668', '77975670-c281-4a8c-911b-579b7ccff9b2', 'Sub-CPMK-14', 'Mampu menyusun rencana kerja kolaboratif yang mencakup jadwal, tugas, dan sumber daya yang diperlukan', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('9608d63a-67a0-4dfb-a572-faec90fc5029', '2261e391-0f22-47c3-9c11-6238c8a2a18a', 'Sub-CPMK-11', 'Mampu menggunakan aturan rantai dan aturan produk dalam menghitung turunan fungsi kompleks.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('96320f2e-79d1-4fe7-be5a-ee011d21e601', 'f070e9c7-f209-4fa7-b474-69119f976b31', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan mendeskripsikan peran masing-masing anggota tim dalam proses MLOps.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('964757e9-1dda-45fa-bc8f-7d4386bf505b', '422c5e9d-1442-414b-bd9f-fb01795b1b31', 'Sub-CPMK-1', 'Mampu menjelaskan prinsip kerja dioda, termasuk karakteristik IV dan aplikasinya dalam rangkaian rectifier.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('96755ea9-e1a4-4823-abd3-dc363193b792', 'd52fd749-5e78-4323-abfb-526560c7686c', 'Sub-CPMK-5', 'Mahasiswa mampu menganalisis fungsi dan pemilihan material yang sesuai untuk sistem struktur pada bangunan low-mid rise.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('96a0f160-f3af-45a4-b2d3-3dd8c555d1bd', 'eecfc0e7-34b7-4bc0-8013-57b669a59631', 'Sub-CPMK-14', 'Mampu merancang skematik dan diagram blok dari sistem instrumentasi elektronika yang akan dibangun.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('96b4dbc4-cffc-44cc-a8b4-40a17c76010c', '4a204e51-6959-4e0a-a6c1-9276b95332fd', 'Sub-CPMK-3', 'Menjelaskan perbedaan antara gerak lurus beraturan dan gerak lurus berubah beraturan.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('96b75ba8-5e01-4560-be4f-1d451387bd96', '303b643b-379c-41ce-ba81-1ff86f5f8e6b', 'Sub-CPMK-14', 'Menunjukkan kemampuan berkolaborasi dalam tim multidisiplin untuk merancang dan mengimplementasikan proyek deep learning.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('96cdd644-e524-4ef4-99d4-46bbef1abbe6', 'f1f4a159-f447-4c29-8a60-f9d2ec08e31d', 'Sub-CPMK-8', 'Mampu menganalisis kelebihan dan kekurangan masing-masing arsitektur dalam konteks aplikasi pengolahan citra, teks, dan suara.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('96e1ac82-43d7-475a-b485-49f82a6d4eb8', '03b8bb87-d4f6-4428-a7f3-a3015a2fb78e', 'Sub-CPMK-14', 'Mampu melakukan analisis hasil pengukuran dan membandingkannya dengan hasil simulasi menggunakan ADS.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('96f14a34-a305-4ba2-8489-c9ff8d472ab9', '326d7a13-d2c8-4610-bc8f-d44833ff21eb', 'Sub-CPMK-1', 'Mampu mendefinisikan dan menjelaskan istilah-istilah dasar dalam ethical hacking dan penetration testing.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('96fc00b6-23a7-4b9a-aa73-180f483f945f', '105e7d11-3bf8-4d0b-9dc3-c54057332c64', 'Sub-CPMK-8', 'Menganalisis dampak dari pelanggaran etika terhadap reputasi profesi dan kepercayaan publik.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('9703f0f3-e492-4498-aa84-e54822aff480', '47c888f0-6310-4b8e-8072-f929b94a59cb', 'Sub-CPMK-9', 'Mampu merakit rangkaian seri dan paralel dengan komponen yang telah ditentukan dan memverifikasi nilai total resistansi menggunakan multimeter.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('97120c8d-a588-40bb-9a48-10b0614373a3', 'c935b14e-3d69-42d3-aeae-807cad6ce728', 'Sub-CPMK-13', 'Mahasiswa mampu menganalisis dan menerapkan konsep keberlanjutan dalam pemilihan material yang ramah lingkungan untuk desain ruang dalam.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('971ea69c-e64a-4c31-a642-3cd3112506d1', '37844847-da9a-48b5-ab19-392d15a6e802', 'Sub-CPMK-10', 'Menganalisis hubungan antara tekanan, debit, dan diameter pipa dalam sistem perpipaan bertekanan.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('971f4de7-0f32-4aba-83c4-b87af9fabc4d', '4086e4ca-9ccc-40ca-ac3b-fdd84f2ec0d7', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan mengoreksi kesalahan dalam pengumpulan dan pengolahan data statistik.', 0.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('97298c97-1b45-427a-818f-b816844946a6', '4840b483-a630-4b00-8306-215c95e5148f', 'Sub-CPMK-12', 'Mampu mempresentasikan hasil proyek secara efektif kepada audiens multidisiplin dengan menggunakan alat bantu presentasi yang sesuai.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('9734de2f-fcaf-4fab-bf34-1b2197cc846d', '149e121b-f4c5-4aec-9fda-658a99d777fc', 'Sub-CPMK-14', 'Mengidentifikasi dan menerapkan praktik terbaik dalam melindungi data sensitif dari ancaman siber.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('9743c773-ce38-46e2-90eb-090e0305b281', 'c0839bf2-2165-42b5-8170-25506a5b7e0c', 'Sub-CPMK-6', 'Mahasiswa mampu melakukan analisis deformasi pada struktur bentang lebar akibat beban yang bekerja menggunakan perangkat lunak analisis struktur.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('97635267-4d2f-4043-b3f2-af53ac1fdbaa', '97327e5a-d85a-49ce-acad-bda6100115c4', 'Sub-CPMK-3', 'Mahasiswa mampu mendemonstrasikan teknik pengkodean sumber dan pengkodean saluran pada sistem komunikasi digital.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('976502e2-184e-454c-85f2-29b733c441dc', '56c85de5-8d7a-4ce4-8ef4-f40c54564fb7', 'Sub-CPMK-5', 'Mahasiswa dapat mengidentifikasi dan mengklasifikasikan jenis-jenis polusi yang mungkin timbul dari kegiatan pembangunan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('976e71ef-a5c8-43b9-b6d3-be4811185132', '5e6583e3-b794-426a-a610-63a3feb2b160', 'Sub-CPMK-8', 'Mampu menerapkan prinsip-prinsip secure coding dalam proyek pengembangan perangkat lunak dengan melakukan review kode untuk mendeteksi potensi kerentanan.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('976f7702-185a-48f3-95ee-15a81ba99e12', 'f13b6bd6-b0ef-4e26-b590-12ce619ca024', 'Sub-CPMK-11', 'Menyusun dokumen prosedur K3 yang mencakup tanggung jawab dan tindakan darurat.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('977a0594-a7d6-435c-8090-89672c484b40', '59d443e2-1139-4536-a0e7-86b4d656099b', 'Sub-CPMK-9', 'Menyusun kurva hidrograf satuan berdasarkan data hujan dan debit', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('977a6a9f-78e2-4d9e-8507-05e17c11ccef', 'bbd602d9-b6fa-48c7-b76b-43eebfb74c6b', 'Sub-CPMK-3', 'Mahasiswa mampu mengamati dan mencatat fenomena rukyat untuk menentukan awal bulan hijriah.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('9792c9e0-bf1b-48a1-a509-6a6b786030fc', 'dbb72d9a-e771-45f3-aacf-3e3e9226b456', 'Sub-CPMK-12', 'Mampu menerapkan metode analitis untuk menghitung nilai komponen pasif dalam jaringan pencocokan impedansi.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('97c34f07-9242-4778-bea4-2c4139490a1e', '19c5d402-76a5-4cb9-95d5-47fc15a6dc4b', 'Sub-CPMK-6', 'Mampu menerapkan hukum-hukum aljabar Boolean untuk menyederhanakan ekspresi logika.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('97d36d1a-48b8-452b-9983-b4f0e792b53c', 'a0e5eee7-dfc4-45ba-b127-56b98490d780', 'Sub-CPMK-1', 'Mampu menjelaskan struktur dasar HTML dan mengimplementasikannya dalam pembuatan halaman web sederhana.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('98084c46-cd73-4142-8799-8a4bce73bbd9', '8319027d-52b4-4668-b3a6-f582749f228b', 'Sub-CPMK-11', 'Menganalisis dan mendokumentasikan kebijakan keamanan informasi yang diterapkan dalam organisasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('980cae42-f43c-421c-adf6-5b118b289b5c', '164332c1-354c-4938-b9cb-d1870763a8e0', 'Sub-CPMK-7', 'Menganalisis parameter kinerja seperti bandwidth, latency, dan jitter pada sistem telekomunikasi berbasis elektronik.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('980cbb1b-53c0-4bc1-a033-0089be8868af', '30780d33-1288-4a32-928b-f37d1d3babb0', 'Sub-CPMK-6', 'Mampu menggambar diagram ER (Entity-Relationship) untuk merepresentasikan hubungan antar entitas dalam basis data.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('9813346f-d064-421c-9ba1-b71ab093e2bf', 'd2ca3d4b-e4b7-4eec-968e-452cb495b818', 'Sub-CPMK-3', 'Mahasiswa mampu menjelaskan konsep dasar dan prinsip-prinsip rekayasa perangkat lunak yang skalabel.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('981bcf69-e178-4be0-9a4d-36faec1e05bd', '9533dc57-b625-40dd-a2e0-95ecf62e2d3c', 'Sub-CPMK-8', 'Mampu menganalisis pengaruh perubahan beban terhadap aliran daya dalam sistem tenaga listrik menggunakan software simulasi.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('9821e6ab-b53f-4c8e-bbb0-c11e0cd26773', 'ec8b0771-e36a-4b67-8252-4e40e2e09372', 'Sub-CPMK-11', 'Mampu melakukan pengumpulan dan pembersihan data teks untuk persiapan fine-tuning model NLP.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('9840158d-946f-4b26-a3b5-63e57968b912', 'c39fa27c-0391-4883-871d-dc08e47ec5ec', 'Sub-CPMK-12', 'Mampu merancang program edukasi yang mengintegrasikan prinsip-prinsip AIK dengan nilai-nilai budaya setempat', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('984e854c-4266-4be5-86e8-b197408fe55d', 'e1eb0e7b-76ee-4940-9dd2-08d90ff46ef3', 'Sub-CPMK-7', 'Menjelaskan konsep dasar algoritma konsistensi dalam sistem terdistribusi', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('9870ccda-6d2c-4e53-841b-6da36626c58f', '9b838384-7e71-4a06-abf6-6edba2323acd', 'Sub-CPMK-14', 'Mampu merancang model simulasi untuk menguji efektivitas teknik automatic generation control (AGC) dalam menjaga kestabilan sistem tenaga listrik.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('987b981c-ff61-4070-8945-1d985052c916', '4377c51a-79bc-4415-a96d-61cb4b1add92', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan mengumpulkan minimal 10 sumber literatur yang relevan dengan topik penelitian yang diusulkan.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('988b586b-ab17-4031-b05e-94e4a832a104', '25d8e810-0c1c-4348-b98e-85ce34f8c46e', 'Sub-CPMK-14', 'Mampu menganalisis hasil pengujian performa mesin listrik dan menyusun laporan yang mencakup kesimpulan serta rekomendasi perbaikan.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('98bcca48-c7f0-47ce-bcae-8079561bd4f8', '7f7db5e5-a6c2-4340-b84b-58a2a2dbf90f', 'Sub-CPMK-10', 'Mahasiswa dapat menganalisis kebutuhan infrastruktur dasar dalam rancangan permukiman, termasuk penyediaan air, listrik, dan sanitasi.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('98c0e7c4-ef32-405c-865f-07ba656209e8', '3f883f5a-6249-4624-bb5c-0ce1cb9fad5a', 'Sub-CPMK-2', 'Menjelaskan prosedur evakuasi darurat yang berlaku di proyek konstruksi', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('98c21421-b567-46a8-942a-86f7fd959058', 'f20c6ccc-e853-447b-bafc-c376d6765fcf', 'Sub-CPMK-3', 'Mampu menulis skrip JavaScript dasar untuk interaksi pengguna di halaman web.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('98c8bacf-f428-4e88-a2f8-fcaea94b1550', '1bfc53be-9e1e-44da-81e9-7ac6b37aa8cb', 'Sub-CPMK-3', 'Mampu melakukan instalasi dan konfigurasi dasar perangkat lunak pada sistem operasi.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('98d36010-0fa7-40ff-8516-51680ed42392', '90420b31-a5d4-4c27-8fe7-3a9cf6dfd20a', 'Sub-CPMK-10', 'Mampu menghitung sensitivitas transduser berdasarkan parameter fisik dan karakteristik material yang digunakan.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('98d96bb0-acba-450c-8c7d-972161216045', '199d03d6-b43d-496d-832a-254e373b4be0', 'Sub-CPMK-6', 'Mahasiswa mampu menganalisis data dari studi kasus desain ruang yang telah ada dan mengidentifikasi faktor-faktor yang mempengaruhi perilaku pengguna.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('98e1953b-bd1d-4e1f-a140-6b9fd5af4c95', '6c69ced9-79a4-4c2f-bb34-5a355ab2fd8a', 'Sub-CPMK-7', 'Mengidentifikasi dan mengklasifikasikan jenis bukti digital yang relevan dalam kasus forensik.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('98e8e87e-bcc7-4cac-8fa4-6365f11574e2', '00563f17-5e22-449d-8fe5-7c030ebd70a5', 'Sub-CPMK-6', 'Mahasiswa mampu merancang sambungan dan detail struktur baja sesuai dengan standar yang berlaku.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('98f9260f-6767-4469-b266-568bdde7d7bc', '104391d3-3c84-4b35-8003-dc9fac549edf', 'Sub-CPMK-1', 'Mahasiswa mampu menganalisis kebutuhan pengguna dalam perancangan ruang dalam dengan menggunakan metode survei dan wawancara.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('98fe62e0-fba1-44d7-8f48-a9e4b3a1921e', '70b8ba91-bb5e-4995-82c7-fb886a5aa15c', 'Sub-CPMK-9', 'Menganalisis dan mengevaluasi kebijakan keamanan cloud yang sesuai dengan standar ISO 27001', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('9932d5f2-2ad9-4d95-b949-8ea9f728f9c8', '8f1b5a53-ee5a-4eb3-a1b5-17f38dbcccd6', 'Sub-CPMK-11', 'Mampu menganalisis karakteristik dan kinerja berbagai jenis detektor yang digunakan dalam sistem komunikasi optik.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('993f5181-c215-4985-a9e2-6bdc4177ab06', 'a6de4342-882c-4d24-8bd5-8cfa9f0ed087', 'Sub-CPMK-8', 'Mampu melakukan debugging dan pengujian aplikasi web yang dibangun dengan framework front-end dan back-end.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('994108c7-a408-456f-be6f-f29aea962800', '3f67b126-eb72-4098-8d6d-9909a01b9082', 'Sub-CPMK-5', 'Mampu menyusun diagram konsep yang menggambarkan hubungan antara teori dan variabel penelitian.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('9945c8ac-66e4-404e-862d-3a8ae0630f8e', '8ec91018-ef78-472b-8bc8-80157fcf388c', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan menganalisis masukan dari pengamat untuk meningkatkan desain arsitektur.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('9956a304-802a-4f72-80a9-1ec714b7ebaa', 'a5e1488c-9265-45b3-9c57-e2b2f8588b05', 'Sub-CPMK-14', 'Mampu menginstal dan mengkonfigurasi DHCP server untuk memberikan alamat IP secara otomatis kepada client dalam jaringan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('99613a20-8c74-4408-bbb1-76cb514283c4', '406e2051-30c4-4494-ab42-5d26eaf5bb1f', 'Sub-CPMK-12', 'Menyusun esai kritis yang mengeksplorasi perbedaan interpretasi dalam Al Islam dan Kemuhammadiyahan.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('99708893-a7d9-4361-bf9f-1c3e77db147c', '9f6b15f1-a234-4879-98b5-ae10d3d63097', 'Sub-CPMK-8', 'Mampu menghitung ukuran penyebaran data seperti rentang, varians, dan deviasi standar.', 0.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('99998d81-46af-4e59-9017-f504dc940642', '5b55413d-0bad-4b5b-9667-da25f4dbeb4b', 'Sub-CPMK-11', 'Mahasiswa dapat merancang elemen struktural baja yang memenuhi standar keselamatan dan estetika arsitektur.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('99a90177-d440-4721-b815-952d6e181392', '280a4980-d506-4924-aee6-c56e7da3e51d', 'Sub-CPMK-8', 'Mampu menganalisis rugi-rugi energi pada komponen sistem tenaga listrik dan menyusun laporan hasil analisis.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('99aad4d7-d825-447f-9681-f248f5d65477', 'f6c5aace-244d-4449-bee7-7efd35e7cd4f', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan dan membedakan berbagai jenis sensor dan transduser serta aplikasinya dalam sistem instrumentasi.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('99d9f197-add4-499e-b7cc-bcf3339b0b99', 'f205cfb6-0287-43e0-82a1-08fbbb484ad9', 'Sub-CPMK-3', 'Menerapkan teknik analisis data untuk menyusun laporan intelijen ancaman yang akurat.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('99df4a1a-d7d3-4228-8330-9fec6bdfb17a', '829a667b-729e-49a5-9670-705605e04875', 'Sub-CPMK-11', 'Mampu merumuskan rekomendasi perbaikan metode pengamatan yang lebih efektif untuk mengurangi kesalahan dalam pengamatan.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('99f38888-3b29-48fe-80f0-b9615d41de3f', 'd4a25d0a-ae5f-4b9e-b851-35bb3f01375c', 'Sub-CPMK-10', 'Menjelaskan fungsi dan komponen dasar perangkat keras komputer seperti CPU, RAM, dan penyimpanan.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('99f57320-911b-4f51-bcc8-6bcee7da5d20', '16af6e89-c43c-4eac-baac-c61d4d1246a9', 'Sub-CPMK-3', 'Mengembangkan pemikiran kritis tentang penerapan ajaran Al Islam Kemuhammadiyahan dalam kehidupan sehari-hari', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('99f7568e-ad27-4e2b-bb34-e5bcf70d1c8f', 'a1b168f2-e3e3-4f37-8827-101c00e21104', 'Sub-CPMK-5', 'Melatih model neural network sederhana dengan dataset yang sudah disediakan dan mengevaluasi performanya menggunakan metrik akurasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('9a243cbf-1e05-4661-9a0a-a220c5685658', 'a73a6132-4f38-4d53-bc46-9926ded263cd', 'Sub-CPMK-2', 'Dapat mengidentifikasi dan menjelaskan hubungan antar tabel dalam basis data relasional.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('9a5da9e3-6b64-4296-ad49-8ff8c63b54db', 'fbd4641f-d9b4-4420-8550-00e7203b2470', 'Sub-CPMK-5', 'Menerapkan metode Bishop untuk menganalisis stabilitas lereng dengan mempertimbangkan variasi muka air tanah.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('9a667e4f-4c32-4f72-8a25-41ddba64e7e0', 'e7102a6b-a61e-4f3a-88a4-374eb2addd9a', 'Sub-CPMK-10', 'Mampu menganalisis komponen optoelektronik yang digunakan dalam sistem komunikasi optik dan menentukan efisiensinya.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('9a782dc8-ed6e-4738-a061-a4a8631bc88e', '1bf65a1c-e594-4b67-a449-3a1d216bac0e', 'Sub-CPMK-6', 'Dapat mengintegrasikan API eksternal ke dalam aplikasi mobile yang dikembangkan.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('9a9842d0-ec74-41af-9be2-2e53404665a8', '7f4201da-b26b-4c3b-a43d-97e93b317a00', 'Sub-CPMK-12', 'Dapat mengkonfigurasi notifikasi otomatis menggunakan Slack atau email untuk setiap tahap dalam pipeline.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('9aa82b41-0e9c-44ea-afa1-7f8144e20cb2', '06888844-ab3e-42ce-ad0b-1a9861e60bff', 'Sub-CPMK-7', 'Mampu menghitung kebutuhan daya listrik berdasarkan peralatan yang digunakan dalam rumah tangga.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('9ac7f56c-8a30-4b78-9d81-298f270c0295', '4f47825e-7a0f-40b1-be6e-f782dd03dcc8', 'Sub-CPMK-12', 'Mahasiswa mampu menyusun maket fisik yang akurat dan proporsional sesuai dengan gambar 2D yang telah dibuat.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('9ad41402-06f9-46f3-9903-caa921a3b2a4', 'c935b14e-3d69-42d3-aeae-807cad6ce728', 'Sub-CPMK-14', 'Mahasiswa dapat merancang elemen ruang dalam yang mencerminkan nilai-nilai Islami, seperti penggunaan motif dan warna yang sesuai.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('9ad5c17a-3af4-453f-848c-d1f110c6d38e', '7e2906e0-991b-457b-a269-6a19f101a067', 'Sub-CPMK-3', 'Mampu membuat dan memahami diagram Entity-Relationship (ER) untuk merepresentasikan relasi antar entitas.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('9b4b50e5-80b6-4cfd-b3ff-f0b34b3eac16', 'd1947f6a-0c7e-492e-ab1a-9add63d08872', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menganalisis kesalahan dalam proses pemetaan menggunakan data yang relevan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('9b6c37e4-587d-4216-81d7-df72d9de2d59', '7de29081-3a85-4eed-8ed2-6599e817926e', 'Sub-CPMK-6', 'Mampu menganalisis isu-isu privasi yang muncul dari penggunaan data dalam sistem AI dan merancang solusi untuk melindungi data pribadi.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('9b8a87a2-c7db-432d-b385-cc2561e35a3d', '5b55413d-0bad-4b5b-9667-da25f4dbeb4b', 'Sub-CPMK-10', 'Mahasiswa mampu menganalisis sifat mekanis material baja dalam konteks aplikasi arsitektur.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('9bb536e9-540a-4906-8b91-d31693fb67e3', 'abcf45f6-efd8-40ea-a98a-e0a516207c53', 'Sub-CPMK-5', 'Menerapkan kode etik profesi dalam situasi kasus nyata yang relevan.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('9c0ad872-f6d5-4d85-a2cd-9d15c5812a29', 'ae32dfd5-3fee-43d7-8464-9ea764b88a2b', 'Sub-CPMK-5', 'Mampu merumuskan tujuan penelitian yang spesifik dan dapat diukur berdasarkan isu yang diidentifikasi', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('9c1298e7-6f56-4fa9-a784-360813b12c16', '6b8a9ca5-a89f-49c2-bb7e-1dea68b1a0a6', 'Sub-CPMK-8', 'Mahasiswa mampu menganalisis karakteristik dan aplikasi bahan bangunan berbasis kayu dalam konstruksi.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('9c520ccc-7f67-4282-b8a8-b9d9a349bc2f', '7920ee9f-0c16-4dd7-b9c4-da53b9df27c5', 'Sub-CPMK-5', 'Mahasiswa mampu mengidentifikasi kebutuhan pengguna untuk merancang arsitektur sistem yang sesuai.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('9c5deca1-4cf7-4bac-bb9d-470fc6834ade', '4c175b45-d2ed-4129-97f9-df2860315dfc', 'Sub-CPMK-6', 'Mengidentifikasi dan mengevaluasi penerapan standar K3 di berbagai industri', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('9c7593f2-070f-4ca9-9317-72598bb46cf2', '8173ead0-d313-44ce-b0fc-4e6e3055c319', 'Sub-CPMK-8', 'Menyusun rencana aksi keselamatan kerja berdasarkan analisis risiko', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('9c794179-d748-423f-b7bc-7b4aed16a483', '511ee6cb-c7a1-456a-89b6-491b5e8828aa', 'Sub-CPMK-14', 'Mampu merancang elemen bangunan yang mendukung keberlanjutan lingkungan dengan menggunakan material ramah lingkungan.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('9c84509a-a8af-422a-bbbb-a68e53a1da5b', '141a3ec0-1647-490c-86a4-a5e35b2388e1', 'Sub-CPMK-3', 'Mampu menggunakan bahasa Inggris untuk mendiskusikan konsep-konsep pemrograman dasar, termasuk struktur data dan kontrol alur.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('9c93a857-3660-484a-998c-8e33dcaee351', '6d9245ea-a6df-4aae-9157-ac3ee84ec03e', 'Sub-CPMK-6', 'Dapat melakukan manajemen file dengan efektif, termasuk membuat, menghapus, dan memindahkan file dan folder.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('9ccf6a73-7a3b-463a-882b-4a5fd7db5758', 'a8d6cdbd-ce48-4bc1-976e-d74b73bb6291', 'Sub-CPMK-6', 'Mahasiswa mampu membuat flowchart sederhana untuk menggambarkan algoritma dasar.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('9cd6847b-5d5d-48f9-8e06-8837d7db8643', '70ac8fb6-9aec-4106-a700-829757c6d47e', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menggambarkan simbol serta fungsi dari dioda dalam rangkaian elektronika daya.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('9cddbdaa-2fb0-44bc-8245-a9a0173155b8', 'a1d43f23-ed3f-4ec1-bf03-07c07fb7d8ba', 'Sub-CPMK-4', 'Mampu merancang diagram dekomposisi layanan yang jelas berdasarkan domain yang telah diidentifikasi.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('9ced6084-e71f-4c85-aac8-1d8a39aebec2', '422c5e9d-1442-414b-bd9f-fb01795b1b31', 'Sub-CPMK-3', 'Mampu membandingkan karakteristik FET dan MOSFET serta menentukan aplikasi yang tepat untuk masing-masing dalam sistem elektronika.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('9d081733-cb34-4285-8ddd-db5e2443ccc4', '754df693-3c53-4b80-b0fa-ff4157443968', 'Sub-CPMK-2', 'Menganalisis perbedaan antara sistem pakar berbasis aturan dan sistem pakar berbasis frame.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('9d133869-4229-47c1-ba1f-34c628144eb5', 'be41f003-d9ac-4411-a6cb-1b59de076595', 'Sub-CPMK-13', 'Mampu mengoperasikan perangkat simulasi tegangan tinggi untuk analisis sistem kelistrikan dengan akurasi yang tepat.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('9d36784d-7329-44ba-bb4a-641038068d74', 'b6ce517b-f9f5-49fa-a170-6f36ae6e5154', 'Sub-CPMK-8', 'Mampu menggunakan perangkat lunak analisis aliran daya untuk memodelkan sistem distribusi listrik', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('9d50bb2d-7b05-4f3d-90e4-12a1136aacfc', 'abcd38cb-975d-4059-a17d-db4b9e7c9a55', 'Sub-CPMK-3', 'Mahasiswa dapat merancang sistem konversi energi dari sumber energi terbarukan menjadi energi listrik, termasuk perhitungan kapasitas dan efisiensi sistem.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('9d6912b1-9c73-42b8-948a-c870b9698bc4', '6a9ae72a-ff12-4faf-a7b7-291175891074', 'Sub-CPMK-11', 'Mampu melakukan pengukuran parameter listrik seperti tegangan, arus, dan daya pada motor listrik.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('9d748d3c-12c9-44e6-b582-da52b2e8b1b5', 'acb7fbee-ca02-4822-8fa2-0c95313a5b5f', 'Sub-CPMK-1', 'Mahasiswa mampu melakukan analisis struktural terhadap beban yang bekerja pada bangunan high-rise menggunakan perangkat lunak analisis struktural.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('9d8b3f54-925a-4aff-8133-9659a2a3a328', 'a30c36d4-275c-4717-ae9c-816c8aca9303', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan berbagai jenis material yang digunakan dalam struktur bangunan bentang lebar.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('9d8f1065-fed5-4e16-847b-46c7e34aa348', '05558f48-aba5-4e96-a12f-daf72a2dfb8a', 'Sub-CPMK-14', 'Mampu menggunakan alat bantu visual (seperti slide PowerPoint) yang efektif untuk mendukung presentasi.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('9d962101-f0ec-44af-a286-75857e145b4a', 'e3fc1518-9fcc-4fc4-9f3a-2a02d46103fc', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan fungsi dioda dalam rangkaian elektronik, termasuk karakteristik arus-voltage (I-V) dan aplikasinya.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('9dae48c3-e8f4-4fd8-abdf-78aa79880336', '49df109e-45d7-4f49-9fd5-7c0bec8bbb07', 'Sub-CPMK-7', 'Mahasiswa mampu menentukan jenis dan besarnya beban yang bekerja pada elemen struktur sederhana.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('9dbd6318-3696-4144-8144-5128092ca5f7', '0a797183-fe5e-4e6f-8b88-87de8adae2cb', 'Sub-CPMK-6', 'Menghitung daya listrik yang digunakan dalam rangkaian listrik dengan berbagai komponen.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('9de5d0f8-c989-4879-9025-7d335ad7b8f4', 'd2450e9c-6d58-4f63-ba5e-715ea3ad8253', 'Sub-CPMK-14', 'Mampu menganalisis data hasil pengukuran antena menggunakan software untuk mengevaluasi performa antena dalam berbagai frekuensi.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('9df4e1d0-beb3-4e38-8462-d6ba3f6cc798', 'a17f25f3-0d27-432b-ad2b-fc0907a7b493', 'Sub-CPMK-12', 'Mengevaluasi efektivitas model regresi linier dalam memprediksi data berbasis pada prinsip-prinsip kalkulus.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('9e0abda4-3f1c-4e9e-9d10-fbd8da05f154', 'e92c0f81-6434-454c-915c-cf659ba9c552', 'Sub-CPMK-11', 'Mampu mengidentifikasi sumber data yang relevan dan metode pengumpulan yang tepat untuk penelitian.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('9e1b1391-c15a-41ce-9ce2-cd3e8cb4761d', '7de29081-3a85-4eed-8ed2-6599e817926e', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan contoh bias dalam algoritma AI serta dampaknya terhadap pengambilan keputusan.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('9e708557-ae1e-43b2-8cd6-4d88c7b44945', '90d55e61-77e1-4b83-a79f-a2504f9d5df0', 'Sub-CPMK-6', 'Mampu mengidentifikasi kelebihan dan kekurangan metode KKP-Plus dalam penerapannya di kelas dibandingkan dengan pendekatan pembelajaran lainnya.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('9e97eaf9-abcd-4c78-b915-b6234ddc7867', '481d9bd3-c276-4315-82ca-4d0811e255fe', 'Sub-CPMK-11', 'Mampu menulis kode pemrograman untuk membaca data dari sensor menggunakan mikrokontroler.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('9e9b2119-9552-4dd5-aa37-63488ae4a809', 'ccbdad7c-5a60-45bc-bd40-8fd707b5764d', 'Sub-CPMK-6', 'Mampu menganalisis alur kerja organisasi untuk menentukan kebutuhan sistem informasi yang tepat', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('9ea1bfab-25e2-4caa-9fd6-d50de69dd2bf', 'b41eb0ea-7fae-4a74-888f-705ade3a10a5', 'Sub-CPMK-1', 'Mampu menjelaskan definisi dan tujuan dari Security Governance dalam konteks GRC.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('9ea759ce-ce2e-4d69-8925-2ada57373c67', 'b4c2d312-3473-40b8-87fe-34be3f11e80e', 'Sub-CPMK-12', 'Mampu menghitung jangkauan maksimum dari sistem komunikasi nirkabel berdasarkan parameter lingkungan dan spesifikasi teknis.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('9eba7110-5d96-4759-af7a-862e72b8c7a2', 'afed6b37-dea3-4e72-91b9-88d643ee0a69', 'Sub-CPMK-1', 'Menerangkan komponen utama dari neural networks, termasuk neuron, lapisan, dan fungsi aktivasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('9ec3d314-04d8-4120-91b0-2fc6edc64ed6', '55ad58e8-fb03-47b6-af06-084746f73fee', 'Sub-CPMK-8', 'Mampu mengimplementasikan algoritma enkripsi asimetris seperti RSA menggunakan bahasa pemrograman pilihan', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('9ef05174-095b-4697-9efc-0ae857ef3aa8', '4377c51a-79bc-4415-a96d-61cb4b1add92', 'Sub-CPMK-12', 'Mampu mengevaluasi kualitas dan kredibilitas sumber literatur yang digunakan, termasuk penilaian terhadap metodologi dan hasil penelitian sebelumnya.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('9efada3d-83f4-4968-9132-a607107ddd13', 'de5858dc-d09c-4bc6-8727-b9f3f837ab44', 'Sub-CPMK-2', 'Mahasiswa mampu mengidentifikasi potensi dan kendala lingkungan sekitar tapak, seperti penggunaan lahan dan infrastruktur yang ada.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('9f1ba3c2-5d59-48da-a2d5-6d153a20398d', '5a3a7ea0-4d87-4154-8626-0a05e08a4dd7', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan parameter-parameter primer dalam saluran transmisi, seperti resistansi, induktansi, dan kapasitansi.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('9f1d44a3-b143-4680-b979-c0397e3806da', 'ba9ebd90-ae7d-4a98-a6a8-f3a39aa93269', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan memilih metode pengukuran yang tepat untuk berbagai parameter dalam instrumentasi.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('9f2647a9-37e1-44f6-8dc0-40d84cfee2fe', '0b53463d-921b-4f9b-9bbb-75ac84f167cb', 'Sub-CPMK-9', 'Mampu merancang pengendali untuk sistem linear berdasarkan analisis kestabilan dan kendali dalam ruang keadaan.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('9f307c4c-a305-4608-9fc6-aa143019d139', '9bfd3742-4019-48c7-ab34-3dedcd56b53a', 'Sub-CPMK-5', 'Dapat menyusun pseudocode untuk menyelesaikan masalah sederhana', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('9f3637db-7b59-4f52-ab9f-b89b1196e37e', 'b4aaa1d8-1575-43f8-9f0a-34a899f1300f', 'Sub-CPMK-8', 'Mampu melakukan analisis perbandingan antara beberapa algoritma berbasis strategi dalam menyelesaikan permasalahan yang sama.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('9f397475-3096-4c49-ab9e-f65c5b9917d7', '7ec0578c-c674-469d-be94-bbb65c0b7fac', 'Sub-CPMK-7', 'Mampu menghitung gaya-gaya yang bekerja pada elemen struktur bangunan menggunakan hukum Newton.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('9f407fc6-afee-4915-8a8a-b0ead33cd6e6', 'f37fc2bf-9f8a-44e2-99d4-321d1b901658', 'Sub-CPMK-12', 'Menghitung kapasitas saluran dan menerapkan teorema Shannon dalam konteks pengkodean kanal.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('9f540346-7221-4472-b1de-4cbde1d3102c', 'c10902b3-cde0-4532-a76f-f422f31920f3', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi dan membandingkan sifat-sifat unsur berdasarkan posisi mereka dalam sistem periodik.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('9f5878e2-bacb-4b27-876c-de6306bb4816', 'cc52d7ff-e3fb-4c82-bbba-31360e4c9e59', 'Sub-CPMK-14', 'Mengembangkan rencana kolaborasi lintas disiplin yang mencakup peran dan tanggung jawab setiap anggota tim dalam proyek AI', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('9f73063f-ce63-4f7c-8bfe-6c02171239ea', '74f3f48c-cac7-4f15-84a9-aadf236e73e8', 'Sub-CPMK-13', 'Mengidentifikasi dan menganalisis dampak etis dari berbagai teknik hacking yang digunakan dalam pengujian keamanan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('9f831a9f-1d43-4d2d-95d1-73565f86e3bb', 'd18a3b76-3e39-405d-a865-d86110d4594e', 'Sub-CPMK-5', 'Menghitung medan listrik pada titik tertentu akibat distribusi muatan menggunakan hukum Coulomb dan prinsip superposisi.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('9f8b0567-7f9c-493d-8cf2-cb187329e1f9', 'f30f9eb0-f70d-49a7-a806-5d31c0b74934', 'Sub-CPMK-8', 'Mahasiswa mampu merancang elemen ruang yang mendukung interaksi sosial antar pengguna.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('9fa5e142-5f09-4a7d-81db-e4535eaf29fe', '52833d75-3eae-4404-a8e7-0b32f14af086', 'Sub-CPMK-4', 'Mengidentifikasi dan menjelaskan komponen dari bilangan kompleks dalam bentuk kartesius.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('9fb132e9-7016-4ec9-86b8-1cd53dc5a4c4', 'f9c03765-57b8-497e-a515-369b78f0f1b3', 'Sub-CPMK-12', 'Mahasiswa dapat menggunakan 30 kosakata teknik dalam kalimat yang tepat dan sesuai konteks.', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('9fb6843b-4735-4442-b313-fa5d11195eb0', '24677655-d8fa-4b48-9826-5d04add13f66', 'Sub-CPMK-4', 'Mengidentifikasi dan merumuskan masalah dinamika yang melibatkan gaya dan percepatan pada benda bergerak.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('9fbf7324-bacc-4a4f-b5de-9415b4caf635', 'd38c1659-4222-4fda-a634-00d0eaebe292', 'Sub-CPMK-6', 'Mahasiswa mampu menganalisis karakteristik tapak untuk menentukan jenis utilitas yang paling sesuai dan efisien.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('9fc8bebc-962a-43a9-8887-5e9e5c69c88f', '30780d33-1288-4a32-928b-f37d1d3babb0', 'Sub-CPMK-8', 'Mampu menulis skrip SQL untuk membuat tabel dan mendefinisikan relasi antar tabel sesuai dengan skema yang dirancang.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('9fce7ca0-3511-41a4-8f7d-8cefec931d6b', 'cb80cc4e-f73f-46cc-a82d-c18aa5b21602', 'Sub-CPMK-6', 'Mampu menggunakan hukum sinus dan hukum cosinus dalam menyelesaikan masalah terkait segitiga dalam bentuk ruang.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('9fe27837-9555-4ff0-b132-88b01a7ca69c', '37844847-da9a-48b5-ab19-392d15a6e802', 'Sub-CPMK-11', 'Menghitung kehilangan tekanan pada sistem perpipaan menggunakan rumus Darcy-Weisbach.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('9fe3ee32-b98c-48b5-87bd-455addfaa4bf', '59bd3500-a97e-4876-be73-1a5dc0a97689', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan mengumpulkan dataset teks yang relevan untuk pengembangan model NLP.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('a0182b51-c024-4bd7-880e-dd2c29a1c9c7', '1ec3ccd2-2d60-43cb-85be-a420dd5f798d', 'Sub-CPMK-3', 'Mengidentifikasi tantangan kepemimpinan yang umum dihadapi dalam tim teknik dan merumuskan strategi untuk mengatasinya.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('a02c5890-ecb5-48e3-aed9-9d569df9e394', '60971f57-52ab-4e3b-8224-187464052733', 'Sub-CPMK-1', 'Mampu menjelaskan konsep dasar Computational Thinking dan langkah-langkah dalam pemecahan masalah secara sistematis.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('a03de3c7-3b50-4512-abbb-a4a5d6f87d5f', 'a5e1488c-9265-45b3-9c57-e2b2f8588b05', 'Sub-CPMK-12', 'Mampu mengkonfigurasi VLAN pada switch dan menjelaskan fungsi serta manfaatnya dalam jaringan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('a048408f-fa42-4442-8885-911195ea5db3', '28ffcabe-6b14-4290-949a-0e66844f2442', 'Sub-CPMK-12', 'Dapat membuat dan mengelola skrip otomatisasi untuk build dan test aplikasi cloud-native.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('a052e160-d18d-425a-9fe9-b761326d493d', 'f490c641-d399-4a37-aa9a-a390ed6c5c52', 'Sub-CPMK-13', 'Mampu berkontribusi dalam perencanaan dan desain arsitektur aplikasi cloud-native secara tim.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('a061dde7-5f86-41a6-8791-4c9a5103f4fe', 'd4dc1cb0-4cd8-4216-9f3a-03313909bf89', 'Sub-CPMK-8', 'Mahasiswa mampu menerapkan teknik analisis dasar terhadap data yang telah dikumpulkan.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a06305fa-770c-449f-b3c4-ccae2dcdacc7', '149e121b-f4c5-4aec-9fda-658a99d777fc', 'Sub-CPMK-13', 'Menganalisis dan mengevaluasi kebijakan privasi serta etika dalam pengelolaan data sensitif di lingkungan TI.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('a06c56f1-eedf-4cb3-8e2a-7a63469fd491', 'eeeada73-8522-408f-97aa-1cb8f8e65134', 'Sub-CPMK-2', 'Melakukan analisis literatur untuk menemukan minimal lima referensi yang mendukung pemilihan masalah yang diidentifikasi.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('a06f7ccc-63ca-4c16-a9f1-c978c8c3aa27', '11278b41-2964-4364-96f2-3dfcc717863d', 'Sub-CPMK-12', 'Menyusun laporan evaluasi yang mencakup rekomendasi perbaikan terhadap penerapan K3 di lokasi studi kasus.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('a073d361-8b47-4ac2-98d6-fdaeba5cb093', '923a28c6-4495-4915-bdb5-616ccea2716e', 'Sub-CPMK-10', 'Mampu menyusun dan menyampaikan presentasi proyek komputer dengan menggunakan istilah teknis yang tepat dalam bahasa Inggris.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('a07ea027-4f02-40f4-aa1c-3aa98c23fa84', 'b8488742-c1b9-4573-8141-2f9764e2d6a3', 'Sub-CPMK-2', 'Mampu menganalisis berbagai jenis topologi jaringan dan dampaknya terhadap performa jaringan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('a084dc26-28d6-499e-b55a-85635d1a0c05', '3df15e13-7186-4334-845a-5dc034ba8727', 'Sub-CPMK-8', 'Mampu menganalisis koefisien refleksi pada sambungan dua saluran dengan menggunakan parameter gelombang.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('a0979d71-e668-4bfc-9478-fefbfbb48806', 'cb6498c9-5bae-468b-a38c-dada74e7895e', 'Sub-CPMK-7', 'Mampu menyusun laporan harian yang mencakup kegiatan dan hasil pembelajaran setiap hari selama KKP-Plus.', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('a09e2a61-977c-4876-8a87-62d81b90cca5', '03cd8417-7d3e-4535-b4eb-e7e985235a8a', 'Sub-CPMK-9', 'Mampu menerapkan algoritma pencarian (seperti binary search) dalam kode Java dengan efisiensi waktu yang optimal.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('a0b4f5ae-4d36-40fa-81c1-a9b7a492266c', 'e2053134-64f2-47ce-93a9-b56351ec4595', 'Sub-CPMK-4', 'Menjelaskan prinsip dasar komunikasi data, termasuk pengertian dan komponen utama yang terlibat dalam proses komunikasi.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('a0c0d0f5-2885-48ef-be5e-381e815c9262', 'f4ff0118-28ef-40d6-b180-b1a073a99e42', 'Sub-CPMK-10', 'Mahasiswa dapat menerapkan teorema asimptotik untuk membuktikan kompleksitas waktu algoritma.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('a0c9e16b-b71b-4f4e-84aa-d39ee4349318', 'a38894f5-b0a4-45e8-85a8-71c37be48b6f', 'Sub-CPMK-9', 'Mampu mendemonstrasikan berbagai teknik untuk mengatasi fading pada sistem komunikasi nirkabel.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('a0d7e6ff-ae55-43c1-893f-b67fb470a51f', 'ce1034e7-0030-4fa2-a587-6afde98a14c2', 'Sub-CPMK-14', 'Menerapkan prinsip-prinsip etika dalam pengelolaan data dan informasi sensitif sesuai dengan regulasi yang berlaku.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('a0eed4dd-4b6c-4667-a6c7-ee027252d441', 'bbbea09e-77ec-407b-812a-bf2853222b3d', 'Sub-CPMK-12', 'Mahasiswa mampu menganalisis kebutuhan pengguna untuk merancang perangkat lunak yang skalabel.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('a100ca48-8e14-49cc-b50a-435cc841309c', '032b1d1c-baa0-48e4-b563-feb9a157f3c4', 'Sub-CPMK-9', 'Mengevaluasi pengaruh ajaran Al Islam dan Kemuhammadiyahan terhadap gerakan sosial di era digital.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('a10ac491-1ebd-484d-b02b-cf546fb8b2c0', 'dd5a082a-3679-4db6-9bb7-4119c5ea6664', 'Sub-CPMK-5', 'Mampu menjelaskan dan menerapkan sifat-sifat limit, seperti limit dari jumlah, selisih, dan hasil kali fungsi.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('a1329923-5b80-402d-8a9e-b60d11de9109', '9cc4023b-c73c-46b7-9876-bb552d019ede', 'Sub-CPMK-11', 'Dapat merumuskan alternatif keputusan berdasarkan prinsip etika yang relevan dalam konteks profesi.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('a16d44ec-fa42-4b80-ac0a-d19d107eb0ce', 'a2bae750-4303-43be-b3de-c43b324ade49', 'Sub-CPMK-2', 'Mahasiswa mampu menggunakan command line untuk melakukan navigasi dasar dalam sistem file Linux, termasuk perintah \'cd\', \'ls\', dan \'pwd\'.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('a171a65f-2a77-42c5-8759-c9f4c0d747bd', '9177fd0f-6fb0-4e5e-bc4d-8a6ca2098fed', 'Sub-CPMK-14', 'Berpartisipasi aktif dalam diskusi kelompok untuk merumuskan solusi atas masalah yang dihadapi dalam eksperimen data.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('a1766bc8-322c-4410-8301-ac5cb75a7524', 'de5858dc-d09c-4bc6-8727-b9f3f837ab44', 'Sub-CPMK-3', 'Mahasiswa mampu mengevaluasi faktor iklim yang mempengaruhi desain bangunan pada tapak sederhana, termasuk arah angin dan sinar matahari.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('a1783401-2bc4-4675-9c57-17af1ba42f0b', 'de35b79c-796c-4e6e-9296-153c1477357d', 'Sub-CPMK-4', 'Mampu menggambarkan siklus hidup sistem informasi manajemen dari perencanaan hingga pemeliharaan.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('a17c7838-c2b6-4612-b2ed-3cf0f740ad65', '14eb4288-fdf1-45df-bcaa-836a296ca9c4', 'Sub-CPMK-13', 'Mahasiswa mampu melakukan analisis perhitungan falak dengan menggunakan rumus yang tepat dan menyajikannya dalam bentuk tabel.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('a194c913-eb30-412a-a675-3fd53a06ed56', 'b3836cfc-c57d-4e0f-97b2-516473cefe71', 'Sub-CPMK-11', 'Mampu mengidentifikasi dan mendokumentasikan jenis-jenis kerentanan yang ditemukan selama penetration testing.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('a19bef6d-f646-4711-af37-378fddea02a7', 'a742bbbd-8ab4-44bc-937f-1933ed3b0c8a', 'Sub-CPMK-3', 'Mahasiswa dapat menggunakan bilangan eksponensial kompleks untuk menyelesaikan masalah terkait dengan sinyal periodik dan analisis fasor.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('a1b0d888-75cb-4ec8-87f3-89be6e6fa3bb', '026c709a-2e75-433b-86cd-7cb66a81726a', 'Sub-CPMK-10', 'Mahasiswa mampu menganalisis karakteristik fisik dan sosial lingkungan sekitar dalam konteks perancangan ruang luar.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('a1d79dc1-8d24-432f-b8ed-7d61bf393389', '65cf8064-fe6d-43f8-b9d7-fc989f5f30e5', 'Sub-CPMK-7', 'Mengidentifikasi dan mendokumentasikan kerentanan pada sistem jaringan menggunakan tools pemindai seperti Nmap dan Nessus.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('a1e4083d-5ce9-46c1-be7a-0185ba8e4b16', '452834fe-cab5-4158-bee0-ec3fb5e88785', 'Sub-CPMK-6', 'Mahasiswa dapat menjelaskan tujuan utama dari data mining dalam konteks pengambilan keputusan.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('a1e90ec1-6239-469e-a5fe-1a81cdb63e4c', '6e971c97-597e-4239-af9a-ebaca27fe55d', 'Sub-CPMK-12', 'Mampu merancang metodologi penelitian yang tepat dan dapat dipertanggungjawabkan untuk mencapai tujuan penelitian.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('a1fb79a6-618d-4621-8f40-66d423e35b74', 'abd9160a-5a35-470a-8f21-8e0cd1384e77', 'Sub-CPMK-5', 'Mengidentifikasi dan menjelaskan perbedaan antara variabel acak diskrit dan kontinu serta contohnya.', 0.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('a21c8135-5803-4a23-a196-fc151b030096', '11784cf9-5756-4f4d-a8af-79eed4c51406', 'Sub-CPMK-3', 'Mampu melakukan perhitungan daya dan analisis efisiensi dalam sistem distribusi tenaga listrik.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('a22ff0ee-719e-4326-9457-136ab094f347', '8b22fc5a-6979-4930-ab5f-1771ba072cdb', 'Sub-CPMK-5', 'Mampu menggambarkan struktur dasar dari sistem VLSI, termasuk komponen utama dan interkoneksi antar komponen.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('a230dfa7-e34a-400b-87db-a9d636810489', 'd60fe165-13f4-420d-9602-5e77eae33e94', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan dan menerapkan teknik dasar pengolahan citra, seperti konversi warna, pengaturan kontras, dan penajaman citra.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('a24d0d62-b72a-468a-8090-a46cc76f7704', 'd8587f9c-ad11-4a68-a43d-2b31cab801a8', 'Sub-CPMK-4', 'Dapat mendemonstrasikan teknik reusability pada komponen aplikasi dengan menggunakan framework yang sesuai', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('a24d9997-7c3b-4d47-a0b5-b073d13190f4', '7ac19353-6e59-4626-a588-3aac5e1b872b', 'Sub-CPMK-14', 'Menganalisis dampak risiko geologi seperti longsor dan penurunan tanah terhadap struktur pengairan', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('a24e3855-683f-4345-9570-85b3113d21d5', 'ce3cdff0-ea58-4875-b42e-971e5ef6c578', 'Sub-CPMK-10', 'Mampu menganalisis karakteristik dan kinerja komponen utama pada inverter dan rectifier.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('a2610d3f-1736-4bc6-9b40-438a6840236e', 'b70ff447-dc2b-4f12-bdcb-4033b2a4beee', 'Sub-CPMK-12', 'Melakukan pengujian robustness pada model AI dengan menggunakan dataset yang beragam untuk mengidentifikasi potensi kelemahan.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('a26240fd-a46d-443a-b90f-dae3f94974a4', '5ac34d5e-75db-4973-ab8c-91e2710bff84', 'Sub-CPMK-3', 'Mampu mengimplementasikan dan menguji sistem kontrol berbasis mikrocontroller untuk aplikasi nyata.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('a267b776-9dbf-4bd5-8057-e4862b9a0506', 'b58c9b63-013d-4cac-91fe-59524d686ab4', 'Sub-CPMK-14', 'Menghitung reaksi dukungan pada struktur sederhana menggunakan metode analisis statis.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('a26f168e-a8d6-464d-ac27-342f950e7d40', '3c11660a-6eeb-49fa-8180-1f7ab9231f16', 'Sub-CPMK-3', 'Mengidentifikasi perhitungan kalender hijriyah dan hubungannya dengan penjadwalan kegiatan keagamaan.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('a26fd883-f645-476d-a833-3ee8bd8f7997', '606d3574-b780-48be-80f5-c55526aaff58', 'Sub-CPMK-12', 'Mahasiswa dapat memberikan setidaknya dua contoh bentuk dari relasi rekursi yang berbeda, lengkap dengan penjelasan masing-masing.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a281b03b-ebba-4a37-9faf-7fab7928eaa0', 'c82692a4-4ec9-46bf-a5a3-cd95b7830df9', 'Sub-CPMK-3', 'Mahasiswa mampu mengevaluasi integrasi tata ruang antar berbagai fungsi dalam kawasan, serta dampaknya terhadap mobilitas dan interaksi sosial.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('a29cbec6-c2ba-4da4-b40a-7e12154f5c55', 'f1d53d8a-1730-4acd-a737-7ecb584247a7', 'Sub-CPMK-10', 'Mahasiswa mampu mengidentifikasi jenis-jenis risiko yang umum terjadi dalam proyek.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('a29cc47a-78d3-45c6-92c0-4f4b23e21c8a', '860bd365-fd58-44ce-8eaf-0e15d8d20317', 'Sub-CPMK-3', 'Menerapkan prinsip etika dalam penggunaan kecerdasan buatan dan membahas implikasinya terhadap masyarakat.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('a2a1ab99-58dd-4f80-90d7-b23a7d9d9d8e', '9b10fe83-3823-47d1-a420-89323f274529', 'Sub-CPMK-11', 'Mampu mengidentifikasi berbagai jenis serangan jaringan menggunakan alat deteksi seperti IDS/IPS', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('a2c3bfb1-7463-41ac-839c-aa2ae4b841df', '86a44207-97c0-4769-98a4-c2fec1204bfd', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan berbagai jenis gaya yang bekerja pada struktur bangunan, termasuk gaya geser, gaya tekan, dan gaya tarik.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('a2e05233-1388-418e-b97f-41d1ae6450d4', '323b2f57-e9bb-4102-a4f5-38a7a042de15', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menganalisis kerentanan pada sistem jaringan menggunakan tool Nmap.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('a2f1c68d-e73f-4800-920a-c7ac7856dbaa', '2474454d-aab7-45af-a62a-3a0758b84774', 'Sub-CPMK-6', 'Mampu merangkai dan menggambarkan tabel kebenaran untuk gerbang logika AND dan OR dengan benar.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('a2fd1341-49ae-4a7f-93b7-2969ac54a9f8', 'f7b368cc-7fde-4714-9004-d7e1814f8242', 'Sub-CPMK-10', 'Mahasiswa mampu berpartisipasi dalam diskusi kelompok dengan menunjukkan sikap empatik terhadap pandangan orang lain.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('a2fffbe4-4ea8-4e99-a26e-524b61f39961', '8321a2c4-1f49-492e-9012-f43158fa3936', 'Sub-CPMK-14', 'Menunjukkan disiplin dalam mengikuti jadwal dan prosedur pengujian keamanan jaringan selama praktikum.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('a31bf029-c4a4-4637-a6a5-091d12158547', '94816923-e740-44c5-b121-6c4526f5ede1', 'Sub-CPMK-1', 'Mahasiswa dapat mengidentifikasi dan menjelaskan komponen struktural utama dalam bangunan high-rise.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('a33a2efa-3b9c-44f7-bde4-6b2d7b0ab8f1', '0076df83-3825-442f-a333-101ddba85852', 'Sub-CPMK-11', 'Mampu melakukan diskusi dan mediasi untuk mencapai kesepakatan dalam pengambilan keputusan desain.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('a34bfc74-5d96-46fa-8ad6-927011ef791d', '678bcfec-cc5d-4189-83ad-18db9d0c9ebe', 'Sub-CPMK-1', 'Menerapkan prinsip desain sistem berskala besar dalam proyek nyata', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('a34c7af4-9bff-4fcc-bc69-5d1964c9be17', '2eee990a-fa23-44b7-90fd-307294fe82a0', 'Sub-CPMK-9', 'Mahasiswa mampu mengidentifikasi dan menjelaskan konsep dasar sumber daya air dalam bahasa Inggris dengan akurasi minimal 80%.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('a34f0326-4d70-435d-b9bb-d754c82c2f06', 'f24dd30b-18c0-4c7d-b673-22097784c6a9', 'Sub-CPMK-3', 'Mendeskripsikan proses request-response dalam komunikasi antara client dan server.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a351a6bc-d5f9-41b3-94b0-b7da75095bff', 'd3038dfe-510c-4cd3-a9a0-2818387c3058', 'Sub-CPMK-9', 'Mampu menjelaskan konsep dasar mesin Turing dan komponen-komponennya.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('a3786e92-a15d-44e5-8420-7ac7c832ead6', '7d271dd3-3243-47e6-b1cd-53bb9b0d3f9b', 'Sub-CPMK-7', 'Menganalisis data sosial untuk mengidentifikasi perubahan dalam kualitas hidup masyarakat sekitar setelah revitalisasi.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('a37cbc47-1c24-4c33-8c08-51b66b115f86', 'ba22bb44-0cec-4fb0-a153-a2347a36de34', 'Sub-CPMK-7', 'Mampu menjelaskan prinsip kerja penguat sinyal dan menentukan jenis penguat yang sesuai untuk sinyal keluaran sensor tertentu.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('a388d569-8a00-4556-a909-1e76d0bfdb94', 'fe78ffef-ab3d-44c1-aacd-7c9b0a6a10f2', 'Sub-CPMK-14', 'Melakukan eksperimen untuk mengukur waktu eksekusi algoritma dalam berbagai skenario input dan mencatat hasilnya.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a3d0e08a-9ff1-4ad7-baab-daaa6417bd95', 'a89d7adf-78bd-4928-b224-e9a230777794', 'Sub-CPMK-2', 'Mengimplementasikan protokol keamanan jaringan seperti IPSec dan SSL/TLS dalam simulasi jaringan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('a3d4a92e-8eb6-4590-b4c0-0e0bb353e7a2', '03278f4a-6f27-49bb-afd2-d0226bc9532a', 'Sub-CPMK-10', 'Mampu menghitung debit aliran menggunakan rumus kontinuitas pada saluran terbuka.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('a3dbbdab-1743-48b3-b6ee-1a4bd6641476', 'f62162be-a674-459d-af35-f0816f34460c', 'Sub-CPMK-14', 'Mampu menghitung kebutuhan bandwidth dan daya yang diperlukan untuk sistem komunikasi serat optik sederhana.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('a40ad9ca-6aac-45db-91df-8d95cc7a39ac', 'c4674ba5-1402-41cf-875c-6a31332bd4c1', 'Sub-CPMK-13', 'Mahasiswa mampu menjelaskan fungsi dan struktur dasar instruksi mesin pada arsitektur komputer tertentu', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('a41856d8-fe00-489a-a963-28ea6dfeadf6', 'c730a092-3619-47c7-8390-153ee9edde45', 'Sub-CPMK-6', 'Dapat menggunakan alat forensik digital untuk mengekstrak bukti dari perangkat penyimpanan eksternal, seperti hard drive dan flash drive.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('a437d64d-e682-4363-88c3-83d1b8bdd406', '29898743-320d-4c76-82d8-ba67f970ae02', 'Sub-CPMK-7', 'Menghitung turunan pertama dari fungsi polinomial dan menentukan interval kenaikan dan penurunan fungsi.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('a44d50e3-b7b7-47e6-85c9-3b4f6509338f', 'ef7f81e6-1175-4a8b-9d79-d0aeb02d7cc2', 'Sub-CPMK-5', 'Mengimplementasikan event handling dasar menggunakan JavaScript untuk interaksi pengguna.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a44dd1f1-6f71-485f-b14c-c59af313aa24', '70b8ba91-bb5e-4995-82c7-fb886a5aa15c', 'Sub-CPMK-10', 'Mengimplementasikan kontrol keamanan berbasis NIST SP 800-53 dalam arsitektur cloud', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('a4605027-8889-4bd4-a093-b9ecd991e4ae', '486aa493-e7b5-45ce-87b3-3fb1fc3091ff', 'Sub-CPMK-8', 'Mampu menerapkan teknik analisis statistik yang tepat untuk data yang dikumpulkan dalam penelitian.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('a465e044-fdf5-4008-9032-f27d3b143460', 'ef7f81e6-1175-4a8b-9d79-d0aeb02d7cc2', 'Sub-CPMK-7', 'Menerapkan DOM manipulation untuk mengubah elemen halaman web secara dinamis menggunakan JavaScript.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a47d8000-8db7-4cc8-9854-cdd9317c14a5', '01f27b3d-03ba-433e-b35f-9c61be953e1f', 'Sub-CPMK-5', 'Mahasiswa dapat menjelaskan tahapan-tahapan dalam manajemen proyek perangkat lunak secara rinci.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a53b207b-2a4b-49cb-bc86-76ed5a09e7f4', 'f008db96-9edb-4cbb-9181-05e746ee510e', 'Sub-CPMK-9', 'Mampu merancang dan melaksanakan pengujian performa menggunakan alat uji seperti JMeter atau LoadRunner.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('a53e65ae-113d-49ad-919f-940b44bb361a', '6b809184-3422-478a-a855-ed11d1ff3c42', 'Sub-CPMK-10', 'Dapat menerapkan aplikasi spreadsheet untuk mengorganisir dan menganalisis data dalam konteks studi kasus.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a55ac1aa-cf8c-4af2-ba86-2c4bd3884800', '3c7ba4d4-0c23-4db6-a4a6-375c44d855f9', 'Sub-CPMK-10', 'Mahasiswa dapat membedakan antara restrictive dan non-restrictive adjective clauses dalam kalimat', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('a5695527-44df-4abe-871c-fc714e37c426', '02b4ba65-1c28-4718-836e-4fb643e28567', 'Sub-CPMK-11', 'Mampu menyusun rencana pengujian tegangan tinggi sesuai dengan standar keselamatan yang berlaku', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('a569b9a9-8c38-4ee3-8bdb-eb76dbb28f00', 'ea6ae67a-676b-42ef-8063-a351de34a0b3', 'Sub-CPMK-14', 'Menunjukkan kemampuan untuk mengambil peran kepemimpinan dalam tim untuk menyelesaikan tugas tertentu dalam proyek NLP.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('a57b44ea-0e48-4723-946e-8093324cdf7e', '4197cea8-2564-4458-9e68-09c5d6286542', 'Sub-CPMK-13', 'Mahasiswa mampu menggambar sketsa sistem struktur sederhana menggunakan perangkat lunak desain grafis sesuai standar teknis.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('a57c24b9-eb18-4f11-890f-301a36e6541b', 'e17e6247-cad1-4edf-b4ee-c311d7f749ca', 'Sub-CPMK-2', 'Menganalisis perbedaan antara berbagai model Generative AI, seperti GPT, BERT, dan lainnya, serta aplikasinya dalam berbagai domain.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('a592d171-7bb5-45f1-933c-1fa6989ff996', '622da634-54cb-49d6-84f2-68067ee74338', 'Sub-CPMK-10', 'Melakukan eksploitasi terhadap kerentanan yang ditemukan dan mendemonstrasikan akses ke sistem.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('a598e5a0-fb60-4554-8cab-62f3f7976566', '3b15941c-ed59-4973-8ea0-3b368df0bd84', 'Sub-CPMK-7', 'Mampu merumuskan dan menjelaskan tujuan penelitian yang jelas dan spesifik.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('a5ddf3e4-1f64-4318-a9ec-a1defe8d8a6a', 'e2053134-64f2-47ce-93a9-b56351ec4595', 'Sub-CPMK-6', 'Mengidentifikasi dan menjelaskan berbagai arsitektur jaringan komputer, termasuk arsitektur client-server dan peer-to-peer.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('a5ead434-96a5-438e-a23c-a8e5d5317c9b', 'da2db151-a8e2-4a26-806e-abd1aa3a578e', 'Sub-CPMK-6', 'Mampu melakukan praproses data yang tepat, termasuk pembersihan, transformasi, dan pengurangan dimensi sebelum penerapan model.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('a5f057a9-12cf-45ff-b7e9-437f93eb2252', '23f5bed9-b2d2-40a4-99e3-af6c480f36c6', 'Sub-CPMK-14', 'Melakukan benchmark terhadap sistem basis data modern dengan menggunakan alat pengujian performa untuk mengidentifikasi bottlenecks.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('a5f18b07-817a-4f7e-bc84-0a9d68e96dfd', 'f3139063-0676-4c4d-9ab2-7ed95bd89482', 'Sub-CPMK-8', 'Dapat melakukan normalisasi skema basis data hingga bentuk normal ketiga untuk mengurangi redundansi.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a5f79f5a-c60b-4bb3-b0ec-c21c236f01d2', '706a9ac1-64e0-4f42-b4b0-262879c321aa', 'Sub-CPMK-3', 'Mahasiswa mampu menjelaskan teknik dan alat yang digunakan dalam perencanaan dan pengendalian proyek konstruksi.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('a60f6b73-f1ee-4b37-a070-616f2397d255', 'f952aea8-727f-4ae1-b254-55079d5e87c1', 'Sub-CPMK-1', 'Mendeskripsikan elemen-elemen penting dalam arsitektur hijau dan bagaimana elemen tersebut berkontribusi terhadap efisiensi energi.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('a616128c-b1aa-489c-b711-dcefeac2232d', '10801dbd-2d9f-4c07-b9ac-56aa2ca2ceb3', 'Sub-CPMK-5', 'Mahasiswa dapat menggunakan perintah \'cd\' untuk berpindah antar direktori dengan benar.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('a636d736-4f61-49a9-acc9-8f5168ac1c55', '0da5f355-047a-46f5-b5e9-04433b74db1d', 'Sub-CPMK-4', 'Menjelaskan definisi dan sejarah perkembangan informatika sebagai disiplin ilmu.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('a63704af-419e-4846-bcfc-9f5767e2c782', '6cd335ea-ed89-4149-ac8f-0c61ce080f77', 'Sub-CPMK-10', 'Mahasiswa dapat menerapkan metode Regula Falsi dalam menyelesaikan persamaan non linear dengan contoh konkret.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a64a35ce-1ed5-46fa-8ce6-3eb22ed03f50', 'd2e5d19d-9e05-4482-958d-0abfb22bd7ef', 'Sub-CPMK-7', 'Mahasiswa dapat mendemonstrasikan cara mendeklarasikan dan menginisialisasi array dalam bahasa pemrograman yang dipelajari.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a6672e21-45bc-4345-8dd4-e1ff45a59cee', '604665c9-1bc4-453f-9bff-a71a80878c3e', 'Sub-CPMK-13', 'Mampu merencanakan dan mendokumentasikan peran serta tanggung jawab masing-masing anggota tim dalam proyek scalable system.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('a67608b0-c36a-46b6-9485-d7d13766ad29', 'eb87bd12-6653-4fe2-a6a7-d066f8accd17', 'Sub-CPMK-7', 'Mampu merumuskan pertanyaan penelitian yang jelas dan terfokus berdasarkan fenomena yang diamati.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('a6847603-1fac-4ec5-83f5-9184520aef2b', '7ff593a2-a84c-41a8-ba02-9bfef7191d89', 'Sub-CPMK-8', 'Mampu menggambar dan menganalisis diagram fasor untuk rangkaian AC sederhana.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('a699e364-1b81-49ab-a11d-160ee1e2d897', 'd90b3a95-4ae5-4927-934d-d4d0f6f5ef9e', 'Sub-CPMK-10', 'Mampu menghitung nilai komponen pasif yang diperlukan untuk merancang filter seri dengan spesifikasi frekuensi cut-off tertentu.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('a6aadcc2-6065-4252-92b4-1307794a1805', 'a49de98c-be17-40e7-8d20-d70155f21631', 'Sub-CPMK-9', 'Menghitung dan menganalisis nilai F1-score dari model NLP pada dataset tertentu untuk menilai keseimbangan antara precision dan recall.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('a6b24163-6a8a-4da3-bef4-180ec0a4cfce', '6ed6e579-c28a-457e-9079-77b04ac2726c', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan struktur atom dan ikatan kimia serta pengaruhnya terhadap sifat mekanik bahan teknik.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('a6cbbe36-6f96-4a26-8da0-582faca13aa6', 'b60612e8-b4e2-4436-a712-c56ede9ba804', 'Sub-CPMK-13', 'Mampu menggunakan alat ukur seperti oscilloscope dan multimeter untuk menganalisis sinyal pada rangkaian telekomunikasi.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('a6f5b9f7-be42-4f46-a8ab-3e40312ba6cd', 'a8ff9103-ac85-4264-81e7-8d722a22f966', 'Sub-CPMK-6', 'Mahasiswa dapat membandingkan berbagai jenis sistem operasi dan memberikan contoh penggunaannya dalam konteks yang berbeda.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('a72c31a3-a46e-49c7-99dc-32bb20242dfd', '0d19c18d-63cf-4572-b6a2-c99217470237', 'Sub-CPMK-8', 'Mampu menyebutkan dan menjelaskan contoh aplikasi teknologi informasi dalam industri kreatif.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('a732ffe2-9200-4bd4-a9d4-21d417852cc2', '11784cf9-5756-4f4d-a8af-79eed4c51406', 'Sub-CPMK-2', 'Dapat menganalisis komponen utama dalam sistem transmisi tenaga listrik, termasuk transformator dan saluran transmisi.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('a76d9f90-fdbd-45d9-a684-d4315a352237', '02040b1c-aaec-48ca-b172-4cf1eb6950a2', 'Sub-CPMK-4', 'Mampu mendefinisikan matriks dan vektor serta menjelaskan operasinya seperti penjumlahan dan perkalian.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('a7709f24-1ccc-49b9-b18c-49afa0dbc989', '11df5fa9-eb4c-48fd-ad1b-827f95b04180', 'Sub-CPMK-14', 'Mahasiswa mampu memberikan umpan balik konstruktif yang spesifik terhadap rancangan rekan sejawat berdasarkan prinsip-prinsip desain arsitektur.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('a7c576fd-cbbf-498c-98f4-2e57ea95511d', '5122fe5e-66e4-4459-95c9-3dbb76050d78', 'Sub-CPMK-9', 'Menghitung momen lentur pada elemen struktur menggunakan diagram bebas', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('a7c8b9f8-0ac2-45c8-bd7e-b18e9f4d7ee9', '199d03d6-b43d-496d-832a-254e373b4be0', 'Sub-CPMK-5', 'Mahasiswa mampu merancang dan melaksanakan survei untuk mengumpulkan data tentang preferensi pengguna terhadap desain ruang tertentu.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('a7f7195b-a7a0-4b9f-865e-64a2124e3d84', '37a8a6d5-93db-4f05-9ce4-3dbc4f9daf42', 'Sub-CPMK-14', 'Menerapkan teknik optimasi, seperti pengurangan kompleksitas algoritma, untuk meningkatkan performa program Java yang telah dibuat setidaknya 20%.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('a80f2b45-fb96-4a4d-b57d-fa6d5d240b1d', '22cc5a5b-04ba-4ab2-ab73-8a2a3b38f512', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan konsep medan listrik dan potensial listrik serta menghitung nilai kapasitansi pada berbagai konfigurasi kapasitor.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('a837f860-9e3d-4718-b5fc-2d193b516b7c', 'f9ba2df8-0936-4bd1-ae0a-22f7bed7cbf9', 'Sub-CPMK-14', 'Mampu menjelaskan dengan jelas tujuan, visi, dan misi dari rencana bisnis kepada audiens.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('a841c636-e36f-42d7-8e98-82b1d91aceda', 'f20c6ccc-e853-447b-bafc-c376d6765fcf', 'Sub-CPMK-4', 'Mampu mengintegrasikan HTML, CSS, dan JavaScript dalam sebuah proyek web sederhana.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('a84800e5-6733-4e92-b35d-1eee32359c45', '9da22b4e-8552-4db4-8c09-cb21128fd633', 'Sub-CPMK-12', 'Mampu mengukur daya listrik pada beban resistif menggunakan wattmeter dan menghitung efisiensi energi.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('a864c2f1-998b-4b46-b25a-1fda99889755', '3875fde2-36ad-4dd0-8e8f-59882827644d', 'Sub-CPMK-9', 'Mampu merancang rencana distribusi tenaga listrik yang mengintegrasikan sumber energi terbarukan untuk meningkatkan efisiensi energi.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('a86f79d9-8373-46d4-931e-cc605c34fad7', '1600039b-232b-4f9d-88ca-d731e23fdd7a', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menganalisis masalah teknik elektro yang relevan dengan kebutuhan masyarakat dan lingkungan.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('a879061e-414c-4dfc-8a26-35eef26b86b1', '364ad7e9-abeb-4e73-8252-8413cb3c2e44', 'Sub-CPMK-2', 'Mahasiswa mampu melakukan analisis dan desain filter digital menggunakan metode desain yang sesuai, serta mengimplementasikannya pada perangkat lunak pemrosesan sinyal.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('a88e4820-be55-4b84-abda-4eeb05222fea', '813a949f-595d-4ba1-9858-f5af80b60f7d', 'Sub-CPMK-14', 'Membangun persamaan matematika yang merepresentasikan hubungan antara variabel dalam model yang telah ditentukan.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('a89723ba-d94b-4d02-8590-42c6ffa2cc23', '44bb8eac-dc4b-44a1-9de9-4e75b7b3a449', 'Sub-CPMK-8', 'Menerapkan teknik pre-processing pada dataset untuk meningkatkan kualitas data sebelum pre-training model.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('a8aaf998-6ef1-4ce9-aa2f-607a8dec8a9b', '9de6fee7-8eab-4446-a76f-29bb6c93954c', 'Sub-CPMK-5', 'Mampu merancang antarmuka pengguna (UI) aplikasi mobile menggunakan Flutter atau React Native dengan mengikuti prinsip desain yang baik.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('a8ca7a68-1887-4b06-8dd7-a52ea2676b9d', 'c618def2-b658-454e-8692-abae13d33565', 'Sub-CPMK-9', 'Mampu merancang langkah-langkah mitigasi yang efektif berdasarkan hasil analisis dampak, termasuk pemilihan perangkat perlindungan dan strategi pengendalian.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('a8e710e0-1b1c-4887-8b24-5597c967d578', '03278f4a-6f27-49bb-afd2-d0226bc9532a', 'Sub-CPMK-12', 'Mampu menganalisis faktor-faktor yang mempengaruhi debit aliran pada saluran terbuka.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('a8f915b9-9bec-41d6-b05c-d13c506d8948', 'f1ea00c2-98c9-45b6-9ec9-8e023add1e7f', 'Sub-CPMK-3', 'Mengidentifikasi peran dan tanggung jawab mahasiswa selama pelaksanaan KKP-Plus', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('a9100372-9def-499f-9538-26af4bc33e52', '73248b59-225e-4acc-ace7-2ecb04acaeee', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan mengorganisir sumber-sumber literatur yang relevan dengan topik penelitian', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('a91db712-7494-433a-b8c9-2568a005185a', '4625daf4-6ca4-4a42-ac24-7aa68fcf4b01', 'Sub-CPMK-9', 'Mahasiswa mampu menerapkan teknik pengelolaan air hujan dalam desain bangunan untuk meningkatkan keberlanjutan dan efisiensi energi.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('a9218285-129e-452e-a7fc-2360143c909c', '1f90aab6-762c-4aa9-accc-67cf7c8a676b', 'Sub-CPMK-4', 'Mampu menjelaskan dan menerapkan konsep modularisasi dalam pembuatan program dengan menggunakan fungsi dan modul.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('a942ae3e-2cc5-415b-b3bd-c1b043ee64aa', '73a6b205-6014-4608-b65b-f4e490bf13ec', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan berbagai jenis material konstruksi yang sesuai untuk bangunan mid-rise.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('a9579189-f1af-410d-9341-30445d76c6b9', '02f3538a-c975-4482-a655-45d99aee103f', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menjelaskan sifat-sifat fisik dan mekanik material yang relevan untuk aplikasi teknik sederhana.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('a98af2ff-6ba2-4476-9b7c-4e432ca019d2', 'bddbeb22-271a-4795-9c0b-15ae639567f7', 'Sub-CPMK-14', 'Menyusun rencana keselamatan kerja berdasarkan hasil analisis risiko yang telah dilakukan', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('a99fd3ae-5ca3-453d-919f-236f71153b81', 'add2f3c2-845f-4102-9b23-f90a7bb2009a', 'Sub-CPMK-14', 'Mahasiswa dapat mendemonstrasikan langkah-langkah implementasi algoritma divide and conquer dengan contoh kasus nyata.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('a9a37133-3e3f-4c20-9acd-19d93421693e', '44921d4e-e8a8-4a57-a586-b57b4a7251d5', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan menganalisis elemen-elemen desain yang dipengaruhi oleh masukan dari disiplin ilmu lain seperti teknik, lingkungan, dan sosial.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('a9bb9cf3-b81e-474c-a38f-551331e8e7a8', '169adb2e-d7df-4153-92c1-0c64758ca6bd', 'Sub-CPMK-2', 'Menerapkan transformasi geometrik dasar seperti translasi, rotasi, dan skala pada objek 2D.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('a9bd33f6-a583-4ea0-976d-6b1214534a00', 'f7a1a532-09d1-434c-96e8-bd2f85984848', 'Sub-CPMK-3', 'Mampu menganalisis manfaat KKP-Plus dalam meningkatkan efektivitas pembelajaran di kelas.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('a9df91c3-6a06-447b-bd3c-aba1f9894e6f', '579c84d3-381e-4089-93af-c9292f4c2a00', 'Sub-CPMK-5', 'Menganalisis perbedaan antara standar K3 nasional dan internasional', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('aa094fa9-272c-459e-b850-c95c7506a95c', 'a384241b-4aeb-44c6-8f6e-20baa289666d', 'Sub-CPMK-14', 'Mampu berkomunikasi secara efektif dengan anggota tim dan memberikan umpan balik konstruktif selama proses penelitian.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('aa0e9edd-c26f-43a3-92fb-d528de405858', '7e52569d-2470-4d76-adba-b670b873bd0e', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis kebutuhan sosial dan budaya masyarakat dalam perancangan permukiman yang humanis.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('aa175c5d-9569-4fc3-9f97-b99cd8e1fa0a', 'e9feaaee-afcd-4f45-9b52-b98c5f9bffda', 'Sub-CPMK-4', 'Menjelaskan dan menganalisis prinsip-prinsip etika profesi dalam teknik elektro melalui studi kasus nyata.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('aa1ff265-e6ba-4aef-9130-85eb2f5d9162', 'f55edd99-fade-4ab5-bea6-f4b77bbb8bf2', 'Sub-CPMK-3', 'Menjelaskan metodologi pengumpulan bukti digital dan teknik yang digunakan dalam proses forensik.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('aa54c14a-5ae4-4415-b7c0-9ea8ca0fd05c', 'e727d1a7-a5df-4bbf-a5bd-2d2d82500815', 'Sub-CPMK-12', 'mengidentifikasi jenis-jenis energi terbarukan dan potensi pemanfaatannya di daerah rawan bencana', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('aa697993-ffb4-4332-8a40-6cae3a663a1c', '5fc24441-f36d-42b9-9298-207cbbff407c', 'Sub-CPMK-2', 'Mahasiswa dapat melakukan interpolasi data menggunakan metode polinomial Lagrange dan spline, serta menganalisis ketelitian hasil interpolasi.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('aa7ca213-cc6e-449d-9555-6c806a9c3378', '9da0bf69-e4ba-4361-95f7-d0a05359d51f', 'Sub-CPMK-5', 'Mengimplementasikan teknik pemrosesan bahasa alami untuk menyelesaikan masalah klasifikasi teks.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('aa7d935e-c75d-473b-9ae9-7af66be6b7c4', 'b1e2cd56-acec-4852-a59c-96eb4e6f8e49', 'Sub-CPMK-4', 'Mampu menulis struktur dasar HTML untuk halaman web, termasuk elemen-elemen seperti judul, paragraf, dan tautan.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('aa859a6f-327c-468f-8866-334d0eca8952', '5ef31e34-35e7-43b7-abef-71e18a5fba75', 'Sub-CPMK-10', 'Mengidentifikasi dan menjelaskan karakteristik tanah serta parameter mekanika tanah yang mempengaruhi daya dukung pondasi dangkal dan dalam.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('aaabe382-b409-4db8-9f52-36566bcb4a69', '1fd926f4-9977-4ca8-8b77-b0c9b0bf40de', 'Sub-CPMK-2', 'Dapat mengimplementasikan teknik pengendalian proyek untuk memastikan jadwal dan anggaran proyek tetap sesuai rencana.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('ab0e6e80-9620-48ea-833c-049c7ff585d4', '0852a634-ab24-43ad-b0e0-a61c04ff7437', 'Sub-CPMK-13', 'Mampu merumuskan tujuan, latar belakang, dan rumusan masalah dalam laporan skripsi secara jelas dan terstruktur.', 0.00, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('ab1c7520-3fc3-4952-a2ff-753ab06493fd', '199fc380-0577-4c62-8ec0-9fbf6cb65358', 'Sub-CPMK-4', 'Mahasiswa mampu menjelaskan hukum Ohm dan hukum Kirchhoff serta aplikasinya dalam analisis rangkaian listrik sederhana.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('ab34136f-bc27-4dc6-958c-fdbbe72acef9', '21d69f18-f95a-43c8-af45-fa9fd55ad2dc', 'Sub-CPMK-9', 'Mampu melakukan presentasi hasil studi kasus menggunakan prinsip KKP-Plus secara efektif', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('ab38b0d3-767a-4d70-8cc2-c54a055c7df3', '4489a969-2fc9-4a6b-9b42-dbf86ec24e94', 'Sub-CPMK-11', 'Dapat menyusun rencana aksi yang melibatkan masyarakat dalam proses revitalisasi, termasuk dalam pengambilan keputusan.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('ab3a35aa-12fd-4917-a020-d11997186d0b', 'a8742661-f821-491e-806f-02af76eb8fb7', 'Sub-CPMK-6', 'Mampu menerapkan teknik pengendalian proyek untuk memantau kemajuan dan biaya secara efektif.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('ab56ae19-4d3d-4670-a949-a47bed7bbe53', '6514d1d2-84d1-4dbc-8b01-ff16992363ab', 'Sub-CPMK-4', 'Mampu menyusun struktur proposal penelitian yang jelas dengan tujuan, metode, dan manfaat yang terdefinisi dengan baik.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('ab67d81d-17cf-49c7-bb7e-0e362bf30b9a', '49d55227-c19a-4851-888f-73d697be375b', 'Sub-CPMK-4', 'Dapat mengidentifikasi aplikasi praktis mesin listrik dalam industri dan sistem tenaga listrik', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('ab6aaec7-edfc-468d-bbd4-6ff902318cee', '2b1c8253-21db-40cf-bcc0-d8c65ce5990b', 'Sub-CPMK-4', 'Mahasiswa mampu menyusun laporan teknis sederhana menggunakan kosakata sumber daya air dalam bahasa Inggris.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('ab924db4-db0a-48fe-8f4f-9b72780aad3b', 'e47136ae-b37c-48e7-8875-bd36c6b159d8', 'Sub-CPMK-12', 'Mahasiswa mampu memilih algoritma AI yang tepat untuk aplikasi yang dirancang berdasarkan karakteristik data dan tujuan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('ab991b6f-6b8e-4536-960e-808414c33eaa', 'a2e7d988-802c-4682-a9b0-05395e4fa2eb', 'Sub-CPMK-5', 'Menganalisis prinsip kerja sistem tertanam dalam konteks aplikasi nyata.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('ab9c6b4d-3f01-4a8d-89ec-7c3bec37544e', '727198bf-b02c-4826-a996-dd7262e8add1', 'Sub-CPMK-7', 'Mampu menghitung efisiensi konversi energi dari sistem fotovoltaik berdasarkan data irradiance dan output daya.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('aba2d61f-afb7-4a6d-b644-79d023a03799', 'd2e5d19d-9e05-4482-958d-0abfb22bd7ef', 'Sub-CPMK-6', 'Mahasiswa dapat menjelaskan definisi dan karakteristik tipe data array.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('abf25db2-277d-4066-9091-1c62460ed2c3', '8b22fc5a-6979-4930-ab5f-1771ba072cdb', 'Sub-CPMK-4', 'Mampu mendefinisikan dan menjelaskan istilah-istilah dasar dalam VLSI seperti transistor, gerbang logika, dan layout.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('ac06b031-2d09-4296-aeaf-e22ee731301b', '8d428160-8a59-4b33-80b4-3ebe3f1d660a', 'Sub-CPMK-10', 'Mahasiswa dapat menjelaskan dan menerapkan hukum Ohm untuk menghitung arus, tegangan, dan resistansi dalam rangkaian sederhana.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('ac0c704d-a4aa-408d-bd73-c3ef63a71dec', '1e15dfc5-6fef-4678-88ef-1a3344b7bf56', 'Sub-CPMK-14', 'Mampu menjawab pertanyaan dari panel penguji dengan argumen yang didukung oleh data dan literatur relevan.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('ac24df3e-8c67-4a8f-86d6-fa115e1f2e10', '794a74b1-260f-455d-ae77-8e37dc737eb9', 'Sub-CPMK-9', 'Mengidentifikasi dan memilih tools CI/CD yang sesuai untuk kebutuhan proyek.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('ac352519-a522-427b-87ab-bd4f637d967a', '2bc3404b-5869-4dd1-8075-edd481fae767', 'Sub-CPMK-14', 'Mahasiswa mampu mengidentifikasi dan menganalisis risiko proyek serta menyusun rencana mitigasi yang sesuai.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('ac366ef3-df7d-4c4b-92c6-0b449bf6c3e5', 'a3fbb79c-96e5-48dd-b4b8-1bf87e00ac9b', 'Sub-CPMK-7', 'Mampu menghitung redaman sinyal pada frekuensi tertentu dalam sistem komunikasi satelit.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('ac4dbd69-14f0-467a-a7d2-48197979aa7b', '6a1a7f11-6443-49a6-8d1f-044296125bb9', 'Sub-CPMK-7', 'Mampu menjelaskan prinsip kerja berbagai jenis transduser dan bagaimana mereka mengubah besaran fisik menjadi sinyal listrik.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('ac593595-c658-4c02-9ac4-0732d7369f7b', '6409e65a-4ec1-43cf-a3df-081695247922', 'Sub-CPMK-13', 'Mahasiswa dapat mengidentifikasi dan menjelaskan peran serta tanggung jawab seorang manajer proyek dalam konteks proyek yang berbeda.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('ac6d929c-83b5-4952-816c-10eb475757d7', '260884dd-6c10-40d1-86c6-becdae2de880', 'Sub-CPMK-9', 'Menghitung dan menganalisis nilai F1-score untuk model klasifikasi teks.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('ac9c7c5a-41cd-4430-b1d9-8cf661e6ffa9', 'ed5b93d5-0638-43a8-9051-675c14d66d49', 'Sub-CPMK-11', 'Mampu menganalisis stabilitas sistem tenaga listrik menggunakan perangkat lunak simulasi dalam kondisi gangguan seperti gangguan hubung singkat.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('acc198f0-ff06-412a-ac0d-aea2003def2e', 'ae50072b-2d37-4644-9bc9-4d846ae12575', 'Sub-CPMK-12', 'Menganalisis efek dari transformasi Laplace terhadap fungsi eksponensial dan sinusoidal dalam konteks persamaan diferensial.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('acc45a7e-c3b9-4269-844e-63b5bb3c8415', '550e4cdf-f23e-4f12-8d05-fb039dc2d017', 'Sub-CPMK-5', 'Mampu menjelaskan konsep dasar REST API dan implementasinya dalam komunikasi antar layanan.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('acc663bc-d5bf-4913-858f-0fa8566e2bb5', '706a9ac1-64e0-4f42-b4b0-262879c321aa', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis peran manajer proyek dalam pengelolaan sumber daya, waktu, dan biaya di proyek arsitektur.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('acce47e5-4fd2-4880-9bf5-f0320b482a47', '7fb1aa11-a563-47ef-adf1-52525d5c8d64', 'Sub-CPMK-12', 'Menganalisis kinerja query pada basis data relasional menggunakan alat monitoring', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('ace13fb3-9b02-47fa-98c8-ad964ab278ca', '9533dc57-b625-40dd-a2e0-95ecf62e2d3c', 'Sub-CPMK-7', 'Mampu menghitung aliran daya aktif dan reaktif pada sistem tenaga listrik dalam kondisi normal menggunakan metode perhitungan berbasis hukum Kirchhoff.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('ad027dea-92e0-4310-978d-40eabef7491f', '3df15e13-7186-4334-845a-5dc034ba8727', 'Sub-CPMK-9', 'Mampu mengukur dan menghitung VSWR (Voltage Standing Wave Ratio) dari saluran transmisi dengan data yang diberikan.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('ad039c38-62ce-4d81-9b51-9302494ad218', '09b5dc6a-68db-4450-9c08-ad135e178bcc', 'Sub-CPMK-9', 'Mahasiswa mampu mengidentifikasi dan menjelaskan versi-versi utama dari sistem operasi Windows beserta fitur-fitur utamanya.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('ad116c53-b2ec-452b-bd76-e701b542134b', '406e2051-30c4-4494-ab42-5d26eaf5bb1f', 'Sub-CPMK-11', 'Mendiskusikan kontribusi pemikiran tokoh-tokoh Muhammadiyah dalam pengembangan argumen sosial dan keagamaan.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('ad13bb3c-91d8-484b-978c-35c0925af61a', '31b7426d-bd7f-4237-83e0-8b0f27555c67', 'Sub-CPMK-5', 'Menganalisis dampak hukum dari desain yang diusulkan terhadap regulasi yang berlaku.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('ad1ca2ed-b49c-4e04-bd66-5ddd3fcd4316', 'b9dc2251-f256-45f5-9463-fe1a124c6b54', 'Sub-CPMK-10', 'Mahasiswa mampu mengidentifikasi dan merumuskan masalah penelitian yang relevan dan aktual dalam bidang studi yang dipilih.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('ad1ee587-b606-416d-a858-9077316551f5', '62223e1d-afcb-48a3-8d02-9d6e0269f8d1', 'Sub-CPMK-10', 'Mampu menjelaskan berbagai teknik modulasi yang digunakan dalam sistem komunikasi satelit, termasuk QPSK, 16-QAM, dan 64-QAM.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('ad2bb83c-37e9-4f0e-94d3-b223f422e80e', '9ebd14e7-d39f-4ffe-a38c-204a2bc88ae8', 'Sub-CPMK-9', 'Mengimplementasikan logging menggunakan framework yang sesuai dalam aplikasi cloud-native untuk mencatat peristiwa penting.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('ad5ab865-19c8-41e3-a59d-61bb0cdde0b2', 'aa8ae991-4596-4280-813a-046bda57eeb8', 'Sub-CPMK-14', 'Mampu merancang rangkaian elektronik sederhana yang mengintegrasikan sensor dan aktuator menggunakan mikrokontroler.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('ad6ba5f5-61da-42e3-bd61-9166172d4d45', '28279a15-1c47-497c-8279-6a2372212c7a', 'Sub-CPMK-7', 'Mampu menjelaskan fungsi dan karakteristik mikrokontroler yang umum digunakan dalam sistem IoT.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('ad79567c-4cde-45d5-837a-c432b9c66f64', '5899585b-6750-43a6-a422-81b3753c5101', 'Sub-CPMK-13', 'Mampu bekerja dalam tim untuk merancang dan mengimplementasikan pipeline CI/CD yang efektif dengan menggunakan alat DevOps yang relevan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('ad826a11-a372-42e4-a159-31f9de877de3', '797c9785-bf35-4fdd-bdbc-dea7692be696', 'Sub-CPMK-9', 'Mampu mengimplementasikan algoritma pencarian (seperti Linear Search) dalam program Java dengan memanfaatkan struktur kontrol yang tepat.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('ad9147e5-f7be-454d-ae59-02fe9e6dd172', 'e3fc1518-9fcc-4fc4-9f3a-2a02d46103fc', 'Sub-CPMK-5', 'Mampu menganalisis karakteristik dan aplikasi transistor dalam penguatan sinyal serta menentukan parameter penting seperti beta dan frekuensi respon.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('ad942bc3-09c3-42a7-88cd-384209ab0e8b', '08522c5f-e17f-4702-b736-e4f6ffccdff8', 'Sub-CPMK-10', 'Mampu menjelaskan prinsip-prinsip dasar arsitektur hijau dan bagaimana penerapannya dalam desain bangunan sesuai standar teknis.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('add417ab-4a7f-4a40-975f-202244b9cfa2', '6b793a21-74b6-45a4-8a76-b270efbc6aec', 'Sub-CPMK-5', 'Mendeskripsikan arsitektur sistem IoT secara komprehensif, termasuk lapisan-lapisan yang terlibat', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('adde3bb8-849f-4095-9dc0-044a49695d92', '778cbd7b-6e0e-4149-8f02-87a42bde4265', 'Sub-CPMK-2', 'Menerapkan prinsip dasar desain skema pada basis data NoSQL.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('ae0d687a-fc39-4e31-8be1-432e4f6323df', 'dbb72d9a-e771-45f3-aacf-3e3e9226b456', 'Sub-CPMK-10', 'Mampu menggunakan Smith Chart untuk menganalisis dan merancang pencocokan impedansi dalam saluran transmisi RF.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('ae18496e-a0f2-4edd-8928-4a284c0bca94', '488e7227-ea48-427f-953e-21f06cffc9e7', 'Sub-CPMK-10', 'Mampu menghitung probabilitas kejadian dalam sistem teknik elektro menggunakan rumus dasar probabilitas.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('ae1a395c-eb5c-4f7f-9ff7-729c1044234e', 'aa59e918-458c-4cde-9a6e-15c27325235d', 'Sub-CPMK-2', 'Mahasiswa mampu menerapkan konsep fungsi dan grafik untuk menganalisis hubungan antar variabel dalam konteks teknik arsitektur.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('ae2671bd-0699-4035-8e86-775ae9b03710', 'aa4fe5a4-4018-4932-8698-8f5cb14529ad', 'Sub-CPMK-8', 'Dapat menjelaskan fungsi dan peran masing-masing perangkat lunak sistem dan aplikasi dalam operasional komputer.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('ae2c85d3-68ba-4ee6-ae41-cbb59381b794', '2c813fbc-3040-4c76-9418-9d8817ce7d94', 'Sub-CPMK-10', 'Menganalisis jenis tanah dan batuan yang sesuai untuk mendukung pembangunan infrastruktur SDA', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('ae4a7cc1-27e5-4d98-80a1-1bdb4ba9ca38', '7ef9ec4f-ea01-4d2e-9408-8d53e48be554', 'Sub-CPMK-5', 'Mampu menciptakan sketsa dan model konseptual yang menggambarkan ide desain inovatif dengan mempertimbangkan prinsip estetika.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('ae56cdd8-38e0-480c-b615-f5b5a18a0cb9', 'b7c361ee-91ed-498b-8fd1-f7fe8e06ea3e', 'Sub-CPMK-6', 'Mampu menggunakan framework back-end seperti Node.js atau Django untuk membangun API yang dapat diakses oleh aplikasi front-end.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('ae86fd27-e3d2-467e-aa51-04ae839ac112', 'ba9ebd90-ae7d-4a98-a6a8-f3a39aa93269', 'Sub-CPMK-14', 'Mampu mengumpulkan data pengukuran dengan ketelitian tinggi menggunakan instrumen yang sesuai.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('ae9ddbb0-2293-4121-811d-1c48c44d41ef', '923a28c6-4495-4915-bdb5-616ccea2716e', 'Sub-CPMK-11', 'Mampu menjawab pertanyaan audiens tentang proyek komputer yang dipresentasikan dengan jelas dan tepat dalam bahasa Inggris.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('ae9e8d54-01d6-492b-bcec-37653e261ad8', '0da5f355-047a-46f5-b5e9-04433b74db1d', 'Sub-CPMK-5', 'Mengidentifikasi berbagai cabang dan aplikasi informatika dalam kehidupan sehari-hari.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('aea5d60c-34bd-41de-bee0-d3677c8294f6', '8173ead0-d313-44ce-b0fc-4e6e3055c319', 'Sub-CPMK-9', 'Mengembangkan prosedur keselamatan kerja untuk setiap tahap proyek konstruksi', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('aeac8fe0-cb53-488a-bc31-da01771bb73a', '59d443e2-1139-4536-a0e7-86b4d656099b', 'Sub-CPMK-7', 'Mengumpulkan dan menganalisis data hujan harian untuk area studi', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('aeb9931d-311c-4af6-8e6c-6dda76e5dfc4', 'd09d9f87-95a0-484e-90f3-d4d2a374258d', 'Sub-CPMK-11', 'Mahasiswa mampu mengidentifikasi dan merumuskan tujuan proyek dalam laporan akhir.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('aebbdec5-070c-456d-ab7b-49861f073574', '15db3ec8-8ae4-4cea-be07-3b4e14c5e59c', 'Sub-CPMK-10', 'Mahasiswa mampu menjelaskan tahapan persiapan sebelum pelaksanaan pekerjaan beton, termasuk pemilihan material dan pengujian kualitas.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('aeccd47d-fa0f-4753-99ec-0262e6938279', '08522c5f-e17f-4702-b736-e4f6ffccdff8', 'Sub-CPMK-12', 'Mampu memilih material bangunan yang ramah lingkungan dan sesuai dengan nilai-nilai Islami.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('aed2505b-f4e5-45ba-9f69-4cff97c741bd', '511938c4-c403-412d-8f4a-cbcba428862f', 'Sub-CPMK-14', 'Mahasiswa mampu menghitung dan menganalisis beban yang bekerja pada struktur baja dan menerapkannya dalam desain.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('aeddf940-a5a6-466e-86d8-c8e1608f6c98', '6b809184-3422-478a-a855-ed11d1ff3c42', 'Sub-CPMK-11', 'Mampu menggunakan alat kolaborasi online untuk menyelesaikan proyek kelompok dengan efektif.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('aee02576-72f2-4ee4-b910-2324b68248a1', '369f6bc9-d8e9-4ba4-9d0f-34878051be68', 'Sub-CPMK-8', 'Mampu memberikan tanggapan yang relevan dan logis terhadap pertanyaan yang diajukan oleh penyimak dengan menggunakan data yang valid.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('aef62a1c-cd4f-41d7-8175-a1a9b3fd6bbf', '51299692-e701-4be3-9824-20d8f3f3501d', 'Sub-CPMK-10', 'Mampu menghitung parameter dasar dalam teori antrian seperti waktu tunggu rata-rata dan jumlah pelanggan dalam sistem.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('af05d8bc-95fd-44bd-83c9-80799fc3aa1d', '85667447-f1b5-4d09-a189-bac729a29a17', 'Sub-CPMK-13', 'Mampu berkontribusi dalam diskusi kelompok untuk merancang arsitektur microservices yang efektif.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('af1c8d76-3d70-42bd-9457-258c3a6f6eeb', '1e91c9f6-3450-4879-954a-3262c073903a', 'Sub-CPMK-2', 'Dapat melakukan konfigurasi dasar jaringan menggunakan protokol TCP/IP dan memahami peran setiap lapisan dalam komunikasi data.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('af20ac4c-1589-47b0-8949-040e24e14b5e', 'b2b9370e-6ca1-4c3f-bec3-9c030fc30a73', 'Sub-CPMK-10', 'Mampu menjelaskan perbedaan antara metode kualitatif dan kuantitatif dalam konteks pengumpulan data.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('af2937fe-fe37-4a97-bc56-32a15c0dfe4a', '99b290be-bf6e-45d6-8f67-51d403cf8bab', 'Sub-CPMK-6', 'Mampu menggambarkan berbagai jenis struktur kristal (seperti kubik, heksagonal, dan ortorombik) serta sifat-sifatnya.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('af2e4807-2f4d-4273-8455-4f433ed155fe', '382e1915-b844-4442-9e68-9f20626cb7eb', 'Sub-CPMK-2', 'Menghitung gaya elektrostatik antara dua muatan menggunakan hukum Coulomb.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('af56bc28-8860-497d-a68f-f1262bdb36ba', 'e3664070-9c30-44fb-8f15-95bd390a1b3b', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis karakteristik material yang sesuai untuk konstruksi bentang lebar berdasarkan kekuatan, bobot, dan daya tahan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('af800dd7-b9b9-483c-9f88-85cecf65517b', '6166ff58-35ca-4f18-90fa-cd918a0611a1', 'Sub-CPMK-8', 'Mampu menggunakan software statistik untuk menganalisis data yang telah dikumpulkan.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('afb10e40-00d2-4490-a51b-720395d65472', 'd90b3a95-4ae5-4927-934d-d4d0f6f5ef9e', 'Sub-CPMK-12', 'Mampu menganalisis respons frekuensi dari rangkaian filter yang dirancang dan membandingkannya dengan spesifikasi yang ditetapkan.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('afca832b-2817-4354-bbd8-793da207ef8c', '396ee68b-a6cc-4787-9937-efd00619cbdd', 'Sub-CPMK-9', 'Mahasiswa dapat merancang instrumen pengumpulan data yang relevan dan valid untuk penelitian yang dilakukan.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('afdb1420-2fd1-4b51-8783-648f0baff1e0', '26ff63e1-d2a4-4557-875c-4b7418c49d17', 'Sub-CPMK-12', 'Mampu mendemonstrasikan kemampuan komunikasi lisan dalam presentasi hasil proyek machine learning kepada tim dan pemangku kepentingan.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('afe095b2-5db2-4c73-bef0-b141a83b0522', 'dda64fa2-2a1b-4693-948a-df58465e38ca', 'Sub-CPMK-4', 'Mampu menjelaskan definisi dan komponen dasar trafik telekomunikasi, termasuk bandwidth, delay, dan jitter.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('afea5cf2-5d8a-4817-bc87-812dd9cad2ec', 'db27a072-a87c-489f-bb56-fb25b1aa163b', 'Sub-CPMK-6', 'Menerapkan prinsip-prinsip penggunaan material ramah lingkungan yang tersedia secara lokal untuk proyek desain arsitektur.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('b0008076-3539-41f4-ba2a-222c1b96fd69', '395a3da5-3b43-4bfa-90ef-e363fe3af6f0', 'Sub-CPMK-12', 'Mampu melakukan analisis statistik yang tepat untuk data yang dikumpulkan.', 0.00, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('b00dc4ee-f40d-4826-a9c2-7ed47df8f4a3', '546ab82b-0344-4a5b-91ce-fe91559eca30', 'Sub-CPMK-2', 'Menganalisis proses internal Bumi, seperti tektonik lempeng dan vulkanisme, serta dampaknya terhadap permukaan Bumi', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('b0158314-4ede-47cb-8dc4-fd376c3b2a4f', 'a2f92ef2-9afb-4dee-ba83-48545efc4790', 'Sub-CPMK-2', 'Menganalisis karakteristik komponen elektronika seperti resistor, kapasitor, dan induktor dalam konteks rangkaian.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('b016e3c0-26cb-4337-9a57-0d1a3f4708f1', '9b4aed82-8ee0-4391-b2d5-43a7142cf1e2', 'Sub-CPMK-12', 'Mampu melakukan konfigurasi firewall dan sistem deteksi intrusi dalam simulasi jaringan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('b02a2772-3eed-40b8-9f6f-335c9d71a93d', '8634269e-6f5e-4522-8a2f-d202488da09d', 'Sub-CPMK-8', 'Mahasiswa dapat melakukan operasi dasar pada array, seperti penambahan, pengurangan, dan pencarian data.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('b0320bd4-50a4-472d-aa88-5a7ff4dee7ae', 'a246817f-14b6-4f05-a1e3-a4b7533ded6f', 'Sub-CPMK-1', 'Mampu menjelaskan dan mengidentifikasi langkah-langkah dalam proses pengembangan model machine learning, mulai dari pengumpulan data hingga evaluasi model.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('b05f2677-b0ae-46d0-ace3-3710c4ab3efe', '0725da33-b075-482f-abe7-7adc352c2072', 'Sub-CPMK-3', 'Menerapkan hukum kesetimbangan pada sistem gaya dengan menggunakan metode analisis statis.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('b07b541b-44a7-43ec-b59a-c170c998fa75', '732dbe61-e703-4494-a408-0127a790f1e5', 'Sub-CPMK-2', 'Mampu membedakan antara berbagai jenis penelitian, seperti penelitian kuantitatif, kualitatif, dan campuran', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('b081f821-99ab-4c9b-b9c4-8656a2c5deeb', '71dbee86-d2a2-49f3-b475-415b613d8c78', 'Sub-CPMK-11', 'Dapat menghitung perubahan momentum dalam tumbukan dua benda menggunakan hukum kekekalan momentum.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('b08424f0-7308-49e4-8c2a-fc31e654ef3f', '8fe54903-8e3e-4698-8e91-6b4f192cd2d7', 'Sub-CPMK-10', 'Mengimplementasikan kontrol akses berdasarkan NIST dalam lingkungan cloud.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('b0941368-95a1-49ff-8a77-6ed2a6b46384', '52c04a2d-5351-4ea9-8c97-1e7e5cf2374a', 'Sub-CPMK-3', 'Menilai signifikansi dan relevansi masalah penelitian terhadap perkembangan ilmu dan praktik di bidang studi yang dipilih.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('b0a89bce-94e5-40df-9f7b-97415f14dfac', 'be64e081-f985-4fba-9feb-3cd574ea603e', 'Sub-CPMK-10', 'Mengidentifikasi dan menjelaskan elemen-elemen desain dalam karya arsitektur tertentu.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('b0a8ce8f-f3af-4e2f-873d-1679bbb692c9', '0852a634-ab24-43ad-b0e0-a61c04ff7437', 'Sub-CPMK-14', 'Mampu menyusun metodologi penelitian yang sistematis dan mudah dipahami, termasuk pengumpulan dan analisis data.', 0.00, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('b0e3ddd1-130a-4ed2-8ac4-7fdd3901da39', '4bf1e50d-48be-4694-8ea5-5bd803444ef1', 'Sub-CPMK-5', 'Dapat melakukan pengumpulan informasi dan analisis terhadap target yang akan diuji.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('b1042ae8-e524-4429-9552-4b393ed93662', '5b815aff-8ec2-4c70-a044-fbe194488679', 'Sub-CPMK-6', 'Mampu menjelaskan proses pengolahan sinyal dalam sistem radar untuk deteksi objek.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('b105fb54-f219-45a8-b60d-136093910b20', '51299692-e701-4be3-9824-20d8f3f3501d', 'Sub-CPMK-11', 'Mampu menganalisis berbagai model antrian (M/M/1, M/M/c, dll.) dan menentukan model yang paling sesuai untuk skenario tertentu.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('b116ba64-35e3-4400-bf6f-9e16c174479d', '82c27418-c596-423e-b53c-1b5af7a67c4a', 'Sub-CPMK-13', 'Mengidentifikasi dan memperbaiki kesalahan sintaksis dalam kode Java.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('b1199135-60ec-4812-b187-ca6d5d39c2c0', 'c4ecc1fa-511f-4beb-9b52-aab523b9fe2b', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menganalisis peraturan hukum yang berlaku terkait ethical hacking', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('b17f7a8a-cbb6-45b7-b520-76c4f3e7474b', '26ff63e1-d2a4-4557-875c-4b7418c49d17', 'Sub-CPMK-14', 'Mampu berkolaborasi dalam tim lintas disiplin dengan memanfaatkan alat manajemen proyek dan platform komunikasi digital.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('b199d321-0010-41c5-b0e7-82059c09548b', '992ec3c9-1ea4-4b1d-8436-972ae5944792', 'Sub-CPMK-10', 'Mampu menjelaskan dan menerapkan hukum Newton dalam analisis gerak benda di satu dan dua dimensi', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('b1c36ce8-9dd9-4d27-b85d-8ec1935fa8c5', '9652c56b-6711-40a8-8361-ef89c1c666bf', 'Sub-CPMK-10', 'Mahasiswa mampu mengidentifikasi komponen utama dalam dokumen AMDAL untuk proyek arsitektur dan perkotaan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('b1da7836-0075-4329-b158-1d2aed99f77c', 'b779feec-0343-4138-b24c-8cf469be16bf', 'Sub-CPMK-9', 'Mampu mengevaluasi kinerja model AI yang diterapkan dalam permasalahan sistem tenaga listrik menggunakan metrik yang sesuai.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('b1e17ae3-30a6-4732-b43b-90a4c686c9b7', '0761e6ba-7f7f-43e7-8f82-ba20ca5c62ba', 'Sub-CPMK-11', 'Mengidentifikasi dan mendokumentasikan setiap langkah dalam proses pengambilan bukti digital untuk memastikan keaslian data.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('b1e45e7f-1abf-4444-89f9-29088f07e645', '90fea71d-d82e-43e2-880b-ef9ab18ba7b6', 'Sub-CPMK-13', 'Mahasiswa dapat menjelaskan konsep Class dan Object dalam Java serta perbedaan antara keduanya.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('b1f92958-408b-4887-b76f-86620a1dcbd4', 'b1a9a314-a48c-4407-8f9c-2500db806644', 'Sub-CPMK-10', 'Mahasiswa mampu menganalisis dan mengevaluasi berbagai jenis material konstruksi berdasarkan karakteristik teknis dan estetika yang sesuai dengan desain bangunan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('b1fb7263-0653-4a6a-8a06-46e99304ce15', '3a9c43c3-a6ec-4265-a018-fc1b810c01d9', 'Sub-CPMK-7', 'Mampu mengidentifikasi istilah teknis dalam teks-teks komputer dan menjelaskan maknanya.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('b20cb5e6-06db-4171-afdb-6f5810fa103c', '0b02ed7a-78db-4217-8d43-5402a04cd107', 'Sub-CPMK-12', 'Mampu mengimplementasikan algoritma pencarian dan pengurutan dasar dalam bahasa pemrograman.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('b20ccd90-26b3-4002-89b4-cc7a2dbacb8a', '0a1b8bd5-67b7-4acd-bf38-003343903213', 'Sub-CPMK-12', 'Mampu menggunakan perangkat lunak simulasi untuk menganalisis kinerja rangkaian berbasis komponen semikonduktor.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('b221e47c-7ad0-4fce-957e-9862bf43c004', '5b1a21a6-0126-4fe9-8e5a-a38219fdaaac', 'Sub-CPMK-8', 'Mampu menerapkan metode integral numerik untuk menghitung luas dan volume dalam konteks teknik, seperti analisis struktur dan desain produk.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('b223aab7-b625-4deb-9e77-1fd92c3f8768', '006ec39e-45f8-4d8e-92f4-05c815347cfe', 'Sub-CPMK-9', 'Mampu merancang dan membuat prototipe perangkat keras yang sesuai dengan spesifikasi desain yang telah ditentukan.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('b2266f71-9dfa-4387-bf04-d2ca78cb1808', '1e91c9f6-3450-4879-954a-3262c073903a', 'Sub-CPMK-4', 'Dapat menghitung dan membandingkan data rate dan bandwidth dari berbagai media transmisi yang digunakan dalam jaringan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('b23ad215-f6bb-4fc3-b655-f0d7018c9a0d', '0ed63c84-22ca-472b-b6e4-6601d6841dbe', 'Sub-CPMK-2', 'Mahasiswa dapat merancang dan membangun rangkaian logika menggunakan IC gerbang logika serta memverifikasi tabel kebenaran.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('b23f63b4-1941-4bc0-bca7-a3ec2089f33b', '982e415b-5609-44de-9441-e5e976aae27e', 'Sub-CPMK-9', 'Mampu menghitung dan memilih material pipa yang sesuai berdasarkan tekanan dan aliran air.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('b24a05fe-b86e-4e43-af2a-57e78f1243e7', '4597821e-40e3-47ae-bc1a-2bd8d9b43666', 'Sub-CPMK-12', 'Mahasiswa dapat menjelaskan definisi dan fungsi dasar dari IPX, NetBIOS, dan Protokol Apple Talk', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('b2620141-4673-4e10-9917-19365ec8a89c', 'd9891dc7-11d4-4979-9071-99223c3399f4', 'Sub-CPMK-14', 'Mampu melakukan simulasi fungsional pada desain VLSI menggunakan simulator yang relevan', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('b27dce60-0707-44e5-8e78-697d85e8aecf', '75ce4b6a-9743-425c-b93e-4605be3abac4', 'Sub-CPMK-8', 'Mampu mengidentifikasi dan menjelaskan berbagai teknik modulasi yang digunakan dalam komunikasi, seperti AM, FM, dan digital modulation.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('b2c97c79-cf0d-45be-b461-7bec7bc5fc02', '3a8fd73d-a866-42dc-92a0-6c9685a003ec', 'Sub-CPMK-6', 'Mampu mendemonstrasikan penerapan algoritma kecerdasan buatan pada perangkat embedded sederhana.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('b2cbc8d9-c274-47eb-b9c9-db39dd52742c', '150fc29e-bb6b-4f31-8963-273db0a7939d', 'Sub-CPMK-8', 'Mahasiswa mampu memberikan kritik konstruktif terhadap tulisan teknis lain dengan menggunakan bahasa Inggris akademik yang sesuai.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('b2e72769-e8aa-4c40-8d9e-82d0c6fd14eb', 'd48ea8cd-ce95-449a-915c-35ade944fb9d', 'Sub-CPMK-2', 'Mampu menerapkan hukum Faraday untuk menganalisis perubahan medan magnet dan induksi elektromagnetik pada sistem teknik.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('b2eab0f8-6245-4768-81bd-0fdcfb7d724d', '670270c3-b42d-4aa1-b0fb-e633f0dfecc7', 'Sub-CPMK-6', 'Mampu mengelola konflik merge dan melakukan penyelesaian masalah dalam kolaborasi tim.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('b30e0833-0f93-4dc8-a7fa-51ea785a45db', '1600039b-232b-4f9d-88ca-d731e23fdd7a', 'Sub-CPMK-8', 'Mampu merancang prototipe solusi teknik elektro yang memenuhi standar keselamatan dan etika profesional.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('b35a9fd7-0639-4023-9edd-7049e799a35d', '4c5835be-f9f8-4170-aa0c-58f713857292', 'Sub-CPMK-3', 'Mahasiswa dapat mengevaluasi kestabilan sistem tenaga listrik dan mengidentifikasi faktor-faktor yang mempengaruhi kestabilan tersebut.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('b3949034-fb0d-4107-afca-5c9005e725f4', '9821e46e-bde7-48ce-bbec-238aeff8a6f0', 'Sub-CPMK-6', 'Mahasiswa mampu merancang sistem pengkondisian yang sesuai berdasarkan karakter ruang dan penggunaannya.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('b3982191-cae8-444d-a4cd-90993aa1d991', '929eeac3-67f0-4cd1-bbf2-29bc08d58a8e', 'Sub-CPMK-3', 'Mahasiswa mampu mengidentifikasi dan merumuskan kebijakan energi yang mendukung keberlanjutan di masyarakat.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('b3a96bb1-77a4-4746-8dc8-f978f8a8e06e', '59629182-e898-41bd-85a1-cd6ec36b9120', 'Sub-CPMK-11', 'Menganalisis dan menjelaskan setiap karakteristik kualitas perangkat lunak yang terdapat dalam standar ISO/IEC 25010.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('b3b030b9-d632-4b08-8b90-3588bb3a4010', 'cef751a2-377d-4f57-8324-fe85b76bb8db', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan struktur piksel dalam citra digital, termasuk warna, intensitas, dan format penyimpanan.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('b3bb292b-0031-4d6d-891f-84c66aef9016', '0056032d-190c-4099-940e-8e611d6c16f2', 'Sub-CPMK-11', 'Mampu menganalisis dan memvisualisasikan spektrum frekuensi dari sinyal menggunakan perangkat lunak yang dipilih.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('b3c31098-7bff-4dca-914d-c717dbdcd50c', '3acef674-8cf1-43c3-89c6-6d040821ff0a', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi elemen-elemen desain yang mendukung arsitektur inklusif dalam berbagai proyek arsitektur.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('b3c4969d-8c68-4990-81c1-64327e761a86', 'f0addc73-37c3-4431-89eb-05672e033f42', 'Sub-CPMK-1', 'Mampu menjelaskan perbedaan antara aplikasi native dan aplikasi lintas platform dalam pengembangan aplikasi mobile.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('b3cc64eb-0ef8-4c7b-8a73-7f35064c238a', 'e4dc0ed4-ec23-4ef4-8ca2-3135f686fe42', 'Sub-CPMK-13', 'Mampu mengidentifikasi elemen-elemen desain arsitektur yang berhasil dan kurang berhasil dalam karya sendiri dan karya orang lain.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('b3f373f9-7e95-431a-b54f-3755d8234b7f', '86a44207-97c0-4769-98a4-c2fec1204bfd', 'Sub-CPMK-2', 'Mahasiswa mampu menghitung beban mati dan beban hidup yang bekerja pada elemen struktur bangunan.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('b40a4d60-faab-431d-91e0-80429179e445', '2e2aa36f-5f5f-43ae-ad82-ba418214ebaa', 'Sub-CPMK-2', 'Mengembangkan rencana pengujian yang komprehensif dengan mempertimbangkan strategi pengujian otomatisasi dan pengujian manual.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('b42c68c8-0638-4ddc-b362-ee779d7f758f', 'e92c0f81-6434-454c-915c-cf659ba9c552', 'Sub-CPMK-12', 'Mampu membuat jadwal pelaksanaan penelitian yang mencakup waktu untuk setiap tahap pengumpulan data.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('b42fd245-35e2-48d7-ad31-fc3fdb6d46b2', '24e367fe-d768-43fc-98b1-6cd56cced4dd', 'Sub-CPMK-11', 'Mampu melakukan pengukuran parameter listrik pada transformator satu fasa saat berbeban dan menganalisis hasil pengukuran tersebut.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('b43ed3c3-9ee1-4f97-b343-537bd00a5197', 'f3139063-0676-4c4d-9ab2-7ed95bd89482', 'Sub-CPMK-7', 'Mampu menentukan kunci utama dan kunci asing untuk menjaga integritas data dalam basis data relasional.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('b4445ce5-398b-44c2-9452-a339572e47ee', '735a6ae4-6db9-44ba-b136-11764ea29ab6', 'Sub-CPMK-9', 'Mampu menerapkan transformasi Z untuk analisis sistem diskrit dalam rangkaian listrik digital.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('b4469351-706c-4935-b023-c3396c610625', 'a2e7d988-802c-4682-a9b0-05395e4fa2eb', 'Sub-CPMK-6', 'Mengidentifikasi komponen utama dalam sistem tertanam dan menjelaskan fungsinya.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('b452cfb5-f25f-4b4e-8134-5d8fedc31e58', '1ce94d41-edde-4717-9077-c38e43efd578', 'Sub-CPMK-8', 'Mampu menganalisis berbagai tipe memori (RAM, ROM, Cache) dan menjelaskan peran serta karakteristik masing-masing dalam sistem komputer.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('b460c817-a892-4e96-8e8d-bfa516544a71', 'd9dd8093-6611-4299-b4a4-03bd9675940f', 'Sub-CPMK-14', 'Mahasiswa mampu melakukan perhitungan beban dan menentukan metode analisis yang tepat untuk struktur bentang lebar.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('b479c42f-37a2-4e41-bbb0-8a8a1b90dc11', 'f015983b-976f-4622-9efd-f32fb627eb65', 'Sub-CPMK-7', 'Mampu menjelaskan konsep redaman dalam komunikasi serat optik dan faktor-faktor yang mempengaruhinya.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('b47c24cc-e057-4e26-9d7f-c1e84743f29e', '369f6bc9-d8e9-4ba4-9d0f-34878051be68', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan merangkum kritik serta saran yang diberikan oleh penguji dalam seminar proposal.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('b4d5b4b0-e96f-4016-9c1e-51ba983e6058', '42c0780f-b04f-4b1f-b007-c9c45e0edf29', 'Sub-CPMK-5', 'Mampu menjelaskan konsep dasar load balancing dan implementasinya dalam arsitektur sistem yang scalable.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('b4f179a1-4984-4675-af4e-06a086169703', 'a82c137f-1492-41ed-bdfa-979a1f0f46fc', 'Sub-CPMK-10', 'Mahasiswa mampu menggambar denah konstruksi bangunan bertingkat menengah dengan skala yang tepat menggunakan software desain.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('b4f238a8-d4a6-41d6-9a54-548eb5f943f3', '45163f68-6dd7-43ff-9806-b6c4c5fbdc09', 'Sub-CPMK-1', 'Mampu menjelaskan prinsip dasar penguatan sinyal dalam sistem telekomunikasi dan menghitung parameter-parameter yang diperlukan.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('b4f49634-b7e4-4993-8272-beca05497d3e', '5c6ae3fd-4b05-45d8-83f6-3dbb6fa6114a', 'Sub-CPMK-9', 'Mahasiswa mampu menyusun jadwal proyek yang realistis dengan mempertimbangkan pengendalian waktu dan biaya yang efektif.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('b5260d8e-037a-40f2-b81d-f89f9c0fb107', '4489a969-2fc9-4a6b-9b42-dbf86ec24e94', 'Sub-CPMK-12', 'Mampu merancang solusi revitalisasi yang menerapkan prinsip keberlanjutan lingkungan, ekonomi, dan sosial.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('b543dc7e-3a7e-4f62-8695-2689173b83ca', '0056032d-190c-4099-940e-8e611d6c16f2', 'Sub-CPMK-10', 'Mampu mengimplementasikan modulasi dasar seperti AM dan FM menggunakan MATLAB atau GNU Radio.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('b552a875-7298-4c2d-a9de-5981c411abaf', '37a8a6d5-93db-4f05-9ce4-3dbc4f9daf42', 'Sub-CPMK-13', 'Menggunakan alat debugging seperti Eclipse atau IntelliJ untuk menelusuri eksekusi program dan mengidentifikasi titik kesalahan secara efisien.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('b566ca14-baf9-45ed-9e00-1b03c8e6a012', 'f9ba2df8-0936-4bd1-ae0a-22f7bed7cbf9', 'Sub-CPMK-13', 'Mampu menyusun dan mengorganisasi slide presentasi yang menarik dan informatif untuk rencana bisnis.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('b568c02a-e43c-4b29-8b32-35fa90d7685f', '3df15e13-7186-4334-845a-5dc034ba8727', 'Sub-CPMK-7', 'Mampu menghitung impedansi karakteristik dari saluran transmisi menggunakan rumus matematis yang tepat.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('b5759b01-6f6d-4d3c-9249-3633892a425c', 'add2f3c2-845f-4102-9b23-f90a7bb2009a', 'Sub-CPMK-13', 'Mahasiswa dapat mengidentifikasi kelebihan dan kelemahan dari metode brute force dalam menyelesaikan masalah algoritmik.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('b583bd28-9103-40a4-b720-fbc34dcc62a4', '246d838c-5b51-41cc-b0ae-83db15d4486c', 'Sub-CPMK-8', 'Mampu menginterpretasikan koefisien dalam persamaan reaksi untuk menentukan perbandingan mol.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('b5a312de-62a5-437e-aa25-70f779e15bba', '2e2aa36f-5f5f-43ae-ad82-ba418214ebaa', 'Sub-CPMK-1', 'Menganalisis dan membandingkan berbagai metode pengujian perangkat lunak tingkat lanjut seperti pengujian berbasis risiko dan pengujian berbasis model.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('b5afdccb-5535-4b39-8cab-1b71e0cd5e68', '67ca2b05-d6bf-449c-a966-d16885d03e3b', 'Sub-CPMK-8', 'Mampu melakukan simulasi rangkaian penguat menggunakan perangkat lunak elektronika untuk menentukan gain dan respon frekuensi.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('b5b60c4c-3de3-4542-b908-636ea4df647d', '7ec0578c-c674-469d-be94-bbb65c0b7fac', 'Sub-CPMK-8', 'Mampu menganalisis beban statis dan dinamis yang mempengaruhi struktur bangunan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('b5c3b48c-6f8c-4cbd-acf1-e089433ec8c0', 'f1569b78-e6c0-453d-a8d5-280617349954', 'Sub-CPMK-13', 'Mampu menggunakan alat analisis arsitektur untuk menilai performa sistem perangkat lunak.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('b5c8700f-d79f-4145-abad-77a268097f7a', '74ee11fe-46f1-4125-ada7-77c22c11fe71', 'Sub-CPMK-6', 'Menerapkan hukum kontinuitas untuk menentukan perubahan luas penampang pada sistem aliran fluida.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('b5caa42c-ef29-47f5-a2e1-1adc461df80f', '9e12aa75-8b9b-4d81-a02b-e06b75b807e1', 'Sub-CPMK-1', 'Membandingkan arsitektur aplikasi cloud-native dan aplikasi tradisional dalam hal skalabilitas dan efisiensi sumber daya.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('b5de140d-54d5-4f96-82dc-235b5d924b1d', '38d2ff09-de2a-4ce3-88f6-bb6e6c49c691', 'Sub-CPMK-6', 'Mengimplementasikan sistem pengamat untuk memperkirakan keadaan sistem dalam aplikasi nyata.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('b619982a-73d6-4fb8-86c0-7c6373c2f62e', '6ed6e579-c28a-457e-9079-77b04ac2726c', 'Sub-CPMK-3', 'Mahasiswa dapat melakukan perhitungan dan interpretasi diagram fasa serta menjelaskan perilaku material terhadap perubahan suhu dan beban.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('b61dd498-d74a-4b5b-8a3f-802a42b0e0a8', '3354dc09-1d2b-4f41-9c43-d4a22fba29a9', 'Sub-CPMK-13', 'Mahasiswa dapat menjelaskan prinsip-prinsip etika dalam penggunaan kriptografi untuk melindungi data pribadi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('b62c9931-c616-42f8-a568-1a4204eeb13c', 'b512214e-b851-4a0a-b2ff-5a4e3ed03059', 'Sub-CPMK-8', 'Mampu menganalisis dampak dari pelanggaran kode etik terhadap reputasi profesional dan masyarakat.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('b6367111-ea52-4a78-aa51-a273fdb69cc6', 'e91b5936-3bab-4dcc-8d86-979efd67e251', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan perbedaan antara sinyal kontinu dan diskrit serta memberikan contoh masing-masing.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('b64251e7-e01f-4fc7-a3a5-7e13b608313a', '026c709a-2e75-433b-86cd-7cb66a81726a', 'Sub-CPMK-12', 'Mahasiswa mampu mengevaluasi dampak lingkungan dari desain ruang luar yang diusulkan terhadap ekosistem setempat.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('b6540407-e270-45f6-aa53-106a28cb91b2', '35931ec8-a297-45f3-ad2f-c15b29cf16c0', 'Sub-CPMK-12', 'Mampu mengkonfigurasi VLAN pada switch untuk memisahkan traffic jaringan sesuai kebutuhan organisasi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('b660fa45-3453-46bf-933e-8e283b8ae7d7', 'd176d858-c230-4302-b90a-23b5b68ffa16', 'Sub-CPMK-8', 'Mahasiswa dapat menggunakan perangkat lunak desain grafis untuk menciptakan elemen visual yang menarik dan informatif dalam presentasi.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('b6650c8b-f1d3-46f4-b885-c99033a0f677', '1ee8d08a-5486-4c6c-a0d8-244df22b2e81', 'Sub-CPMK-11', 'Mampu menggunakan alat bantu visual (seperti slide atau poster) yang efektif untuk mendukung presentasi.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('b6a219be-ed06-4b49-a082-c798fe44da47', '365b1820-6aa3-45c6-a3c5-b83ad53222cd', 'Sub-CPMK-4', 'Menerapkan teknik evaluasi usability untuk menilai efektivitas antarmuka pengguna.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('b6a77d74-26c9-4802-afed-53e69eff4829', '6bc813cf-c128-465a-9082-46019d09eb5a', 'Sub-CPMK-7', 'Mengidentifikasi jenis-jenis deret tak hingga dan karakteristik konvergensinya', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('b6b631c9-079f-4343-992b-4a0d1899b6a5', '4f07a584-3272-4011-8c4c-c180179ca697', 'Sub-CPMK-3', 'Menjelaskan langkah-langkah dalam melakukan analisis risiko dan rekomendasi mitigasi dalam konteks penetration testing.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('b6be9d43-4ee0-4d34-bab1-a1954617493f', '94c6fd18-7873-405d-8970-4c79ada1cd7c', 'Sub-CPMK-14', 'Mampu merancang skema dasar sistem radar atau navigasi sederhana termasuk komponen utama dan fungsinya.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('b6cbf541-fc14-4171-9497-e808f0666539', 'f79800c1-a9b6-4390-a84b-bb357833f4fd', 'Sub-CPMK-9', 'Menerapkan teknik pemecahan masalah untuk menciptakan solusi inovatif dalam konteks kewirausahaan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('b6cc865e-5963-483c-a52d-193a9610c9bb', '3aac43e3-870e-460a-9ccb-bec269279824', 'Sub-CPMK-7', 'Mampu menjelaskan konsep dasar mesin inferensi dalam sistem pakar', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('b6d2f3f2-de2c-4905-9577-b45806dc73b7', '0525a029-eb3e-4e5a-88c6-ab1d5680dc5f', 'Sub-CPMK-12', 'Mengintegrasikan analisis kerentanan ke dalam pipeline CI/CD dan mengevaluasi hasilnya.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('b6e5c663-17ff-4f8f-9af0-6c104f1729de', 'e083d83a-0c96-4901-ad59-f1edbebfb89e', 'Sub-CPMK-3', 'Mahasiswa mampu mendeskripsikan prinsip dasar elektromagnetik dan aplikasinya dalam teknologi, seperti motor listrik dan transformator.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('b7058f9a-3e4a-4f6f-9669-8e10d70a9916', '9f6b15f1-a234-4879-98b5-ae10d3d63097', 'Sub-CPMK-7', 'Mampu menghitung ukuran pemusatan data seperti mean, median, dan modus dari suatu dataset.', 0.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('b74a7e75-6717-480c-9b55-fd7497921d77', '2f28cff3-dfd2-448a-a0e4-095afbb3eff9', 'Sub-CPMK-3', 'Menganalisis kebutuhan fungsional dan non-fungsional untuk merancang arsitektur microservices yang efisien', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('b75a8b03-6749-473a-ad38-4742b4b767c2', '474f080b-2496-4631-81f0-c365ddf9dbf1', 'Sub-CPMK-12', 'Mahasiswa dapat menjelaskan konsep dasar metode numerik seperti interpolasi, ekstrapolasi, dan integrasi numerik.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('b76c15e3-5e73-4a1b-a042-88d9b3f56e52', '22b902e5-d280-4ad1-a52e-89a90853360a', 'Sub-CPMK-14', 'Mampu menggunakan media visual dan alat bantu presentasi yang tepat untuk mendukung penyampaian informasi.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('b7a0feeb-d9b3-4c43-88f7-94894158a6a2', '78e23f02-c95b-46bd-a35c-e5c11ba72476', 'Sub-CPMK-8', 'Mahasiswa dapat menerapkan teknik pengukuran dan analisis untuk menilai kompleksitas algoritma dalam kasus terbaik, terburuk, dan rata-rata.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('b7a50d1e-b7c3-4f65-8a9f-70ede609c8fc', '396ee68b-a6cc-4787-9937-efd00619cbdd', 'Sub-CPMK-7', 'Mahasiswa dapat menganalisis jenis-jenis masalah riset dan mengidentifikasi pendekatan penelitian yang paling tepat.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('b7ac5c89-e61d-4d13-82a7-9c1d5af86b71', 'd59167c8-47f0-482a-acb9-0c1ca5e65ecc', 'Sub-CPMK-10', 'Menganalisis berbagai jenis ketidakpastian yang dapat muncul dalam sistem pakar dan dampaknya terhadap keputusan yang diambil.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('b7afc876-8dda-47d4-bc3b-1c85c46b8246', 'c9418530-c37f-44c6-a1c4-82735ceb56d0', 'Sub-CPMK-14', 'Dapat mengimplementasikan protokol komunikasi antara client dan server dalam sistem terdistribusi.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('b7ba0d96-452c-41ac-871e-98c65c058f69', 'aaf72ea3-92ac-4c64-9e36-baf0520046c6', 'Sub-CPMK-5', 'Mahasiswa mampu menyusun jadwal proyek menggunakan teknik diagram Gantt.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('b804db29-502e-4846-a45a-975fa50f6c18', 'f55edd99-fade-4ab5-bea6-f4b77bbb8bf2', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan istilah-istilah kunci dalam digital forensics.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('b8239d4f-a8cf-4d6c-aab4-a176e2a308ff', '23f5bed9-b2d2-40a4-99e3-af6c480f36c6', 'Sub-CPMK-13', 'Membandingkan efisiensi antara berbagai jenis sistem basis data (relasional, NoSQL, dan NewSQL) berdasarkan skenario penggunaan tertentu.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('b845176e-f46b-47c4-bbdd-9930d123a346', '5d34104c-dbee-4dd7-9c86-a49a5017eb8f', 'Sub-CPMK-12', 'Mampu melakukan simulasi untuk menguji kinerja sistem tenaga listrik yang dirancang dalam berbagai kondisi operasi.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('b8494797-0706-459b-b102-ff457acc6ebf', 'caf75408-41dc-46b3-a688-c070d5911d5d', 'Sub-CPMK-13', 'Mampu merancang arsitektur sistem tertanam yang memenuhi spesifikasi teknis dan kebutuhan pengguna.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('b85422e8-11af-454e-92cc-47e969c9d1a7', '2f672ca9-0a7c-48ba-a13c-135badedbf42', 'Sub-CPMK-2', 'Mahasiswa dapat menjelaskan tujuan utama dari penelitian dalam konteks pengembangan desain arsitektur.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('b85a9fb3-5129-482a-ab4d-7a09ab9a8717', '66a38fad-d7dc-4638-bda1-da53faf3affd', 'Sub-CPMK-12', 'Menganalisis kinerja aplikasi web menggunakan alat pengukuran performa dan memberikan rekomendasi perbaikan.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('b86ab927-0402-4164-9017-ee091243f442', 'd749e7fd-5556-4c60-bbbf-99973eb8f140', 'Sub-CPMK-13', 'Bekerja sama dalam kelompok untuk merancang dan mengembangkan fitur aplikasi mobile dalam waktu yang ditentukan.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('b872ccec-abf1-4733-ae4f-0091491bd9cf', '54762a32-500c-4067-b52e-f68a8b09ac60', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan dan menganalisis sifat-sifat gelombang, termasuk interferensi, difraksi, dan resonansi, serta aplikasinya dalam teknologi elektro.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('b87a662d-1d57-44cb-81b7-7c1d43b82526', '6c206662-4de3-410c-88f7-b5d01439b609', 'Sub-CPMK-13', 'Mahasiswa mampu menggambarkan struktur hirarki direktori pada sistem operasi Linux dan Windows, serta menjelaskan fungsi dari masing-masing direktori.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('b8a21ea3-1c84-4f8f-af7d-3211e0c7222e', 'c470d13b-21a3-41eb-bd15-2a206dc298f3', 'Sub-CPMK-2', 'Dapat mengimplementasikan algoritma greedy untuk menyelesaikan masalah penjadwalan dan knapsack.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('b8a46f46-03f8-4010-84c4-9ee942af9e7d', '34fdcbb5-5374-484e-a3e1-ea2d78dcb186', 'Sub-CPMK-12', 'Mampu melakukan pengukuran tegangan dan arus pada rangkaian penyearah setengah gelombang menggunakan Multimeter.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('b8ae668a-b63d-4c51-b7e8-d1cb36a91aff', 'eb40bea3-7438-432a-8cec-0b60b0694625', 'Sub-CPMK-3', 'Mahasiswa mampu melakukan analisis statistika deskriptif terhadap dataset teknik elektro dan menyajikannya dalam bentuk yang jelas', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('b8e0abbf-f6ee-45ab-a52e-f7429e3b9c73', '40f842ac-8ee4-40cc-8d0d-9f52cdf9b4ef', 'Sub-CPMK-5', 'Melaksanakan pengujian integrasi dengan menggunakan alat otomasi untuk memastikan interaksi antar modul berjalan sesuai spesifikasi.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('b8f93ac1-e724-4780-81a9-e5c7eb9a49c3', '8b62ef6b-6c37-453e-b452-42c3b0ab9d79', 'Sub-CPMK-5', 'Mahasiswa mampu menjelaskan konsep dasar representasi citra dalam format digital dan analog', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('b9012286-6b89-40c3-b09e-9855b791c909', '35ec9ef2-f6af-4eb5-8628-66701c195861', 'Sub-CPMK-10', 'Dapat mengimplementasikan algoritma optimasi dasar seperti algoritma gradient descent dalam menyelesaikan masalah fungsi matematis dengan Python.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('b928e932-7627-44d8-aa31-6828bd6538ab', '44267df4-0089-4e5a-8bb5-092919bd40f0', 'Sub-CPMK-8', 'Mahasiswa mampu merancang sistem ventilasi alami yang mengoptimalkan sirkulasi udara dan kualitas udara dalam ruangan.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('b92a2ca9-9473-4d72-bcc5-b942a262f375', '3c53f806-7263-442c-82b1-077aabd28a8a', 'Sub-CPMK-10', 'Mampu melakukan analisis kebutuhan proteksi pada sistem distribusi berdasarkan karakteristik beban dan arus gangguan.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('b92abbe1-86e7-42a3-88bf-343ef487201b', 'c1851b3a-fb0a-4fc6-8f52-6b999bac23ab', 'Sub-CPMK-3', 'Mahasiswa mampu menggunakan transformasi Fourier untuk analisis sinyal dan pemrosesan sinyal digital.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('b932d53c-2265-41d2-ab32-038f208177f6', '743e148c-7322-4e67-86d0-ed3b300d3aa9', 'Sub-CPMK-14', 'Mahasiswa dapat membuat model tiga dimensi dari hasil eksplorasi bentuk estetika dengan menggunakan bahan yang berbeda.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('b93b2ea6-b22f-4c58-8426-68e5303f054b', 'ef12fc9c-9eb0-451c-b411-d468a849202a', 'Sub-CPMK-13', 'Mampu melakukan perhitungan matematis dengan menggunakan metode yang tepat dan akurat.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('b948f4d3-7d57-4f32-b2a3-6c12f953f6af', 'fe655fbf-ae67-4187-8cb2-ea40b895dc08', 'Sub-CPMK-11', 'Mengidentifikasi masalah-masalah usability yang ada dalam antarmuka dan memberikan rekomendasi perbaikan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('b956d5db-5abc-45f6-9b72-18accc4c6f2e', '82988788-6730-4639-9c4a-20d6bb646e77', 'Sub-CPMK-11', 'Mampu menganalisis data kinerja sistem tenaga listrik menggunakan perangkat lunak simulasi untuk mengidentifikasi masalah kestabilan.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('b9637d6b-b149-4c2f-a4b5-07ef63babbc0', 'dd9093d6-59de-4711-8c7b-a3d1c79b5c33', 'Sub-CPMK-11', 'Mampu merumuskan pertanyaan penelitian yang jelas dan relevan.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('b99be80f-0982-4f2b-a70d-0fe73b756d4a', '22cc5a5b-04ba-4ab2-ab73-8a2a3b38f512', 'Sub-CPMK-2', 'Mahasiswa mampu menganalisis rangkaian arus searah sederhana menggunakan hukum Ohm dan hukum Kirchhoff serta melakukan pengukuran arus dan tegangan.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('b9bcbc80-9ae7-46ea-b80e-abbb9b09fd13', '2f4b1b39-0d7c-4c15-b11d-ebc613c8e394', 'Sub-CPMK-3', 'Menggambar peta topografi sederhana berdasarkan data pengukuran yang diperoleh', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('b9c435f2-4d7e-44de-ad72-d2a3f3330d0a', '9aed813e-341d-4662-b1cb-ef0524bbed54', 'Sub-CPMK-6', 'Melakukan pengukuran elevasi menggunakan alat ukur level manual dan digital.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('b9c5d544-4d46-4341-b918-1ca442914bad', '667df8d6-c569-44ab-b8f3-ef58da5f1c59', 'Sub-CPMK-1', 'Mampu menghitung dan menganalisis kuat geser tanah menggunakan metode Mohr-Coulomb dalam berbagai kondisi pembebanan.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('b9e41743-917b-4a86-b1a9-29bf68d42945', 'e8d5cadb-b87d-465d-a8ee-4033df637cf3', 'Sub-CPMK-11', 'Mahasiswa mampu menggunakan perangkat lunak CAD untuk menggambar detail elemen beton bertulang dengan mengikuti prosedur standar.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('ba131738-990f-4efb-896f-99d1305c586e', 'e9f5fd77-c1af-4027-92f9-60302e014909', 'Sub-CPMK-7', 'Mampu menghitung integral tak tentu dari fungsi polinomial sederhana.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('ba438380-6392-44ea-ba65-f153bcaac5ea', '52fff22e-a0a7-48e6-918c-224a5b7f92e8', 'Sub-CPMK-1', 'Menjelaskan perbedaan antara data engineering dan data science dalam konteks big data', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('ba529bbb-d8da-4bfc-ab86-e4ac9ec03447', '29632ab9-c81c-419b-bd16-7852f1f354cb', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis dan membandingkan berbagai jenis sensor untuk aplikasi pengukuran kelembapan.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('ba565d4b-44f6-441f-8a32-9387db3c9a39', 'acb7fbee-ca02-4822-8fa2-0c95313a5b5f', 'Sub-CPMK-3', 'Mahasiswa mampu membuat model 3D dari sistem struktur bangunan high-rise menggunakan software arsitektur dan presentasi yang tepat.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('ba94867b-6480-4c8a-9b4d-522f94c84c43', 'f966bb04-c624-4d07-99af-efd53db9a46b', 'Sub-CPMK-13', 'Mampu menjelaskan komponen utama dalam sistem komunikasi satelit dan fungsinya masing-masing.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('badd3007-f216-4516-9963-df747b16785d', 'afecea24-1d6f-42fe-93f9-7efab3feb7bd', 'Sub-CPMK-3', 'Menjelaskan proses pelatihan dan inferensi dalam Generative AI dan LLM', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('bae79d85-4d86-4083-95e5-4d0a71169e99', '4114e103-8df9-4134-8659-17fb7b4edb4f', 'Sub-CPMK-6', 'Menganalisis keamanan pada lapisan jaringan dengan fokus pada protokol seperti IPsec dan IPv6.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('baed3b7e-b396-45f3-8a85-0be2d1b5a829', '439fc331-5842-4118-928d-5dc75d9ba022', 'Sub-CPMK-6', 'Menghitung nilai akurasi dan presisi dari suatu alat ukur berdasarkan data pengukuran yang diperoleh.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('baf43abc-bc43-4d0e-8063-0777db6f3172', 'c1805052-d064-45a3-8fb5-3fa4141c233e', 'Sub-CPMK-11', 'Mampu merancang dan menguji algoritma klasifikasi berbasis K-Nearest Neighbors (KNN) pada perangkat embedded dengan dataset kecil.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('bafca308-b715-4934-b886-e8675158e002', 'c4beb9d0-dbde-4acb-9622-64302debd616', 'Sub-CPMK-8', 'Menerapkan docker-compose untuk mengelola multi-container aplikasi.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('bb08d203-1c42-4027-8672-d9b2e3658916', '80f8bf38-5cac-4a15-859a-7f1e63b0ec29', 'Sub-CPMK-12', 'Mampu melakukan pengujian dan debugging pada sistem yang menggabungkan sensor dan aktuator dengan komunikasi SPI.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('bb12e656-cc70-4640-b390-b9da87eb45f9', '02b4ba65-1c28-4718-836e-4fb643e28567', 'Sub-CPMK-12', 'Mampu melakukan pengukuran tegangan tinggi menggunakan alat ukur yang tepat dan akurat', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('bb298da6-9a58-4c16-a91f-11de71c360d2', 'c5e6b400-aad8-4c78-a844-b102526a2cd4', 'Sub-CPMK-11', 'Mahasiswa mampu menjelaskan konsep dasar dan prinsip kerja perangkat lunak analisis dalam konteks skalabilitas.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('bb3a571b-6f84-4f9f-81b0-4dda92c790ca', '034305b9-6328-44ce-96b6-b70a1220ab25', 'Sub-CPMK-7', 'Mengkonfigurasi alat CI/CD untuk proyek sederhana menggunakan GitHub Actions', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('bb3ff2d9-8027-45a0-9386-e190af54fe03', '886e578f-d576-4005-9129-6bb97702c93c', 'Sub-CPMK-8', 'Mahasiswa dapat menganalisis elemen-elemen desain yang mencerminkan nilai-nilai Islam dalam lingkungan binaan, seperti masjid dan ruang komunitas.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('bb428313-6021-4397-9ced-f656db9a9c76', '2a63516e-6797-4fac-8786-09e401971586', 'Sub-CPMK-2', 'Mahasiswa mampu merancang dan mengimplementasikan model sistem elektronika yang menggunakan algoritma cerdas untuk pengambilan keputusan.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('bb4dc08e-10f5-4531-bb43-c3612a10357d', '9874f2fa-ebcd-4e73-864f-fe4a80deda44', 'Sub-CPMK-12', 'Mampu menyusun laporan evaluasi hasil kerja yang mencakup analisis dan rekomendasi perbaikan.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('bb631898-6811-42f1-a65d-b1a60d1c2105', '3c60e336-2607-4001-b459-030cfbc8088d', 'Sub-CPMK-5', 'Mampu menggambarkan diagram blok arsitektur dasar mikroprosesor/mikrokontroler dan menjelaskan fungsi masing-masing komponen.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('bb848fc4-6153-452f-974d-262336a8acc0', '30041bee-55c8-4cbf-90a7-c66e2b4c2275', 'Sub-CPMK-2', 'Mahasiswa mampu menghitung ukuran pemusatan data seperti mean, median, dan modus', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('bbb4dc77-8cfe-4697-ae1f-cd9ed29abde0', 'd8f2b4a6-8048-4d98-8395-526e5b3178af', 'Sub-CPMK-6', 'Mahasiswa mampu mengidentifikasi simbolisme dan makna di balik elemen arsitektur Islam seperti kubah, menara, dan dekorasi geometris.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('bbb9f60e-ec9d-433a-93ed-f60c122a555b', 'a30c36d4-275c-4717-ae9c-816c8aca9303', 'Sub-CPMK-3', 'Mahasiswa mampu merancang sistem struktur yang sesuai untuk bangunan bentang lebar dengan mempertimbangkan faktor keamanan dan efisiensi biaya.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('bbc63a85-76b8-4cac-abfc-4ec577f53771', 'b851161f-451f-4553-bc76-9d90275f902f', 'Sub-CPMK-14', 'Mampu merancang sistem pemantauan suhu dan kelembapan berbasis IoT yang dapat mengirimkan data secara real-time.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('bbcbccb6-1d06-4806-a987-5ce8ac66d015', '2a732ae0-c0ad-4fb5-afec-136aa42e0862', 'Sub-CPMK-10', 'Dapat menganalisis data menggunakan perangkat lunak sistem informasi untuk mendukung keputusan strategis.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('bbe57f19-d946-46d4-846c-9b90c74e08e5', '379e4cba-8e38-4afe-9f19-7be8d7851d8b', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menjelaskan konsep dasar hidrolika yang relevan untuk analisis hidrolika.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('bc080d79-bac8-4f84-8d5b-0f58909751e7', '1cc40105-5e5c-42eb-b413-1b4ef8412384', 'Sub-CPMK-2', 'Mahasiswa mampu mengidentifikasi dan menjelaskan sistem pembuangan air kotor, termasuk komponen dan teknik pengelolaannya.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('bc35ae55-d9e3-41a1-be9c-e8278ea847ca', 'd075c428-e4d1-4e5b-9b13-1501c195735d', 'Sub-CPMK-9', 'Menentukan hubungan antara potensial listrik dan medan listrik pada berbagai konfigurasi muatan.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('bc562772-e807-4952-8050-6906460b47df', '6fcb42b2-d5a1-4a01-ac14-0d96ff8c7ac4', 'Sub-CPMK-9', 'Mampu menggambar diagram blok dari sistem kontrol sederhana dan menjelaskan hubungan antar komponen.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('bc567027-e01b-46dd-9664-7842dd60ca2b', '8bd5652f-eee1-4022-8551-9eb268622cb5', 'Sub-CPMK-13', 'Berkolaborasi dalam tim untuk merancang dan mengimplementasikan model NLP yang memenuhi kebutuhan proyek.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('bc5a98f1-1b70-4044-bf0a-c98e0ecfa3a2', '53120ee8-73ad-473b-a8a8-11afb11301bf', 'Sub-CPMK-14', 'Mahasiswa dapat membuat fungsi pembangkit untuk fungsi numerik sederhana seperti deret aritmatika dan deret geometri.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('bc5f82b8-db44-4a0d-a6e4-c210a98869b5', 'bebbd2ef-e9a7-46f2-8726-e01fdee281ed', 'Sub-CPMK-6', 'Mahasiswa dapat menggambarkan dan menganalisis solusi optimal menggunakan Metode Grafik.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('bc69b679-a319-4d5a-ba60-c15ef1604beb', 'd44f7cd6-3f62-41d8-a854-f1e54041e43c', 'Sub-CPMK-5', 'Mahasiswa mampu mengidentifikasi komponen utama dalam sistem operasi dan fungsinya.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('bc723670-9f2f-4ff4-b76c-4c2ac788299c', 'a7dbdc05-e805-48b1-9040-af3b767ff5b2', 'Sub-CPMK-3', 'Mahasiswa mampu mengidentifikasi dan mendokumentasikan kebutuhan fungsional dan non-fungsional dari sistem yang akan dikembangkan.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('bc87517c-d8a7-4390-ab05-1b942756d8a4', '7d8bb9e8-98d6-4c57-9ca8-eaa0d8be686f', 'Sub-CPMK-10', 'Mampu menerapkan gaya visual pada halaman web menggunakan CSS, termasuk penggunaan flexbox dan grid.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('bcb0658f-4978-42c2-b2d5-1b82d9ed54eb', '5fe7a9bf-cfa3-41c8-9844-f45ab5732f42', 'Sub-CPMK-2', 'Merancang sistem irigasi yang efisien dengan menggunakan perangkat lunak desain teknik.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('bcb28165-ced1-4182-80e2-5212941df493', '77aaac14-4402-4f4f-9d2b-99c91759a2cc', 'Sub-CPMK-4', 'Mengidentifikasi dan menggambar proyeksi ortogonal dari objek bangunan teknik sederhana menggunakan alat gambar manual.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('bcb37713-013e-4e6b-934a-3f863c1ce458', 'd533054c-1180-446e-b08c-91c24560eb90', 'Sub-CPMK-6', 'Mahasiswa dapat mengaplikasikan metode iterasi untuk menyelesaikan persamaan non-linear dan menganalisis konvergensinya.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('bcb98ad1-a105-4844-a641-a1573be958e1', 'b5e19fb1-fd55-49fb-a06d-160023e220cd', 'Sub-CPMK-6', 'Mampu menuliskan rumusan tujuan penelitian dalam format yang sesuai dengan standar artikel ilmiah.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('bcd2d6e8-e0be-4554-aab0-ee22b5e5463e', '918d1daf-8f4d-405d-83be-0b6ef2f91755', 'Sub-CPMK-10', 'Mahasiswa mampu mengidentifikasi dan menganalisis kebutuhan pasar untuk produk atau layanan yang akan diusulkan.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('bcddd211-3039-4e96-b8ef-8aeb6557022a', 'eeeada73-8522-408f-97aa-1cb8f8e65134', 'Sub-CPMK-3', 'Menyusun kerangka konseptual yang jelas untuk masalah yang dipilih berdasarkan hasil analisis literatur dan kebutuhan industri.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('bd003cac-f469-41df-8154-e76de3bb1f6c', 'c82692a4-4ec9-46bf-a5a3-cd95b7830df9', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menganalisis kebutuhan ruang pada kawasan dengan fungsi campuran berdasarkan data demografis dan sosial ekonomi.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('bd09c24b-b843-4e96-bcbd-07d04240416c', '7a3a6d19-f216-4d46-83cf-6e355781b6fc', 'Sub-CPMK-4', 'Mampu menjelaskan konsep dasar hukum Ohm dan hukum Kirchhoff dalam analisis rangkaian listrik.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('bd0e5714-5c2e-4bc1-a1e9-b420caf948e1', '0525a029-eb3e-4e5a-88c6-ab1d5680dc5f', 'Sub-CPMK-11', 'Menerapkan praktik pengujian keamanan otomatis dalam fase pengembangan perangkat lunak menggunakan alat DevSecOps.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('bd1e4885-adfb-435f-9bb9-87bbc1b5b6d8', '4c94fc6c-6ea4-448d-a582-81aff5b8a06e', 'Sub-CPMK-10', 'Mampu menerapkan teknik interpretabilitas model seperti SHAP dan LIME untuk menjelaskan prediksi model.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('bd4537e6-ee3b-4056-9d54-c2709a1b0026', '20f28b99-7c87-4931-b177-0d3f86b9a34e', 'Sub-CPMK-13', 'Menganalisis data kuantitatif dari evaluasi pengguna untuk menentukan area perbaikan yang paling kritis.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('bd475daf-f9ab-4cf0-ac67-e840094d94fa', 'd64bd181-d5cc-4b7d-8b60-33f93dab6a2d', 'Sub-CPMK-8', 'Melakukan pemindaian menggunakan scanner untuk menemukan kerentanan pada sistem yang ditentukan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('bd4ad9bf-b8cc-4fe9-a1eb-a7804010a45d', '794a74b1-260f-455d-ae77-8e37dc737eb9', 'Sub-CPMK-11', 'Menerapkan pengujian otomatis dalam pipeline untuk memastikan kualitas kode.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('bd4ba166-5847-4d54-bc72-8c0936639b2c', 'a5699b91-1eff-4673-b50d-371fac818395', 'Sub-CPMK-12', 'Mahasiswa mampu mengidentifikasi dan menjelaskan istilah teknis dalam sumber daya air berbahasa Inggris.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('bd60f702-90e1-4062-b8d7-1f32f77ce7c6', '37247098-7558-4e3e-ad7a-15f067d43641', 'Sub-CPMK-12', 'Mahasiswa mampu menyusun dan menyajikan presentasi yang jelas dan terstruktur mengenai perkembangan arsitektur dari periode tertentu.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('bd679c79-1740-48ba-8b31-c795f95ef8ce', 'ea6cd7e0-d3b1-4e7d-a98d-e6251a81d8bc', 'Sub-CPMK-6', 'Mahasiswa dapat membuat 10 kalimat menggunakan Simple Present dengan konteks sehari-hari.', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('bd6cc6d9-2adc-4f7e-a623-6fd746afe5e2', 'c263a528-80c4-4b26-9941-df356b4449f7', 'Sub-CPMK-8', 'Dapat melakukan optimasi performa penyimpanan dan pengambilan data dalam sistem terdistribusi.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('bd705680-d62f-407f-8c5f-758971df4ffa', '5fb2def0-dc56-4494-b3a6-a661829805f2', 'Sub-CPMK-5', 'Dapat mengidentifikasi 10 jenis mineral berdasarkan sifat fisik dan kimianya', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('bd7a6d46-a390-47d5-84f0-62f6a4efd237', '2ef7098e-fc16-4907-aa55-040bddb44944', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan definisi dan elemen dasar dari kecerdasan buatan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('bd8074e8-3b06-431c-b694-bee8dd20f0cf', '5a94d529-8f61-473e-a6f4-63bad503b7b3', 'Sub-CPMK-14', 'Mampu mengevaluasi metodologi yang digunakan dalam proposal penelitian, termasuk desain, sampel, dan teknik analisis.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('bd8c99bf-0338-4aa9-a118-ee41e288d649', 'e11ddd3f-f442-4c5a-b7f1-6522a9b723a4', 'Sub-CPMK-9', 'Menilai dampak struktur bangunan terhadap keamanan dan ketahanan lingkungan sekitarnya.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('bd94f74d-42a2-4bee-8280-f7952168f4d5', 'f30f9eb0-f70d-49a7-a806-5d31c0b74934', 'Sub-CPMK-9', 'Mahasiswa mampu mengevaluasi dampak psikologis dari desain ruang terhadap pengguna, termasuk aspek kenyamanan dan keamanan.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('bd9505b0-4132-4a42-baae-e6871b36de66', '308a5f32-1751-4986-9071-7fced3a9cfd3', 'Sub-CPMK-2', 'Mampu menganalisis dampak gangguan pada sistem tenaga listrik dan mengidentifikasi metode pemulihan yang tepat untuk mempertahankan kestabilan sistem.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('bd989267-7d27-4c32-a8e1-43edd60bb434', '3d516435-931a-4a62-9a88-f7c1c811edf6', 'Sub-CPMK-12', 'Melaksanakan transfer learning pada model bahasa besar untuk meningkatkan akurasi dalam tugas spesifik dengan dataset kecil.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('bdb75347-a71e-4055-97bc-796762385115', '0f8593bd-7fe8-4c3f-9daa-9642a7b837cf', 'Sub-CPMK-8', 'Mampu menjelaskan prinsip kerja dan aplikasi dari fotodioda dalam sistem optoelektronik.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('bdba5446-99ab-41ab-b1cc-2564d1c7cec8', '667df8d6-c569-44ab-b8f3-ef58da5f1c59', 'Sub-CPMK-2', 'Mengukur dan menjelaskan proses pemadatan tanah serta faktor-faktor yang mempengaruhi efisiensi pemadatan.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('bdd73349-35c2-419d-a0d9-d168f600acc5', 'e3acfd27-089d-448e-8193-6e81e8492b9d', 'Sub-CPMK-8', 'Mahasiswa dapat memberikan contoh fungsi dalam kehidupan sehari-hari dan dalam aplikasi komputer.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('bdea805a-ebab-4400-818a-e9c9a15cb752', 'e9f5fd77-c1af-4027-92f9-60302e014909', 'Sub-CPMK-8', 'Mampu menghitung integral tertentu dari fungsi eksponensial dalam interval yang ditentukan.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('bdeebcdc-8ee9-4fd1-84d0-1dd5ce1168dd', '24e367fe-d768-43fc-98b1-6cd56cced4dd', 'Sub-CPMK-13', 'Mampu menghitung efisiensi transformator satu fasa dengan menggunakan rumus yang tepat berdasarkan data pengukuran.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('be02b4ea-43ef-484f-a73f-e1fe6b35f9ce', '26d9c571-d140-4399-b26b-109bd39f1797', 'Sub-CPMK-2', 'Mampu menyusun rumusan masalah yang spesifik dan dapat dijawab melalui penelitian.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('be1d25e0-1729-43d0-bd9a-71868d18df62', '86a36031-c1c2-4757-80c9-81b9b19cfd11', 'Sub-CPMK-6', 'Mahasiswa mampu menerapkan algoritma kriptografi simetris untuk mengenkripsi dan mendekripsi pesan menggunakan bahasa pemrograman tertentu.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('be24f766-e4ff-4518-a1bd-008e01aeaae6', '62223e1d-afcb-48a3-8d02-9d6e0269f8d1', 'Sub-CPMK-12', 'Mampu merancang dan mensimulasikan sistem komunikasi satelit dengan menggunakan teknik modulasi dan akses jamak yang sesuai.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('be3da62d-c7a7-4e27-a5a8-3e96fe3cbc36', '981d8b11-892a-406e-a966-93193fdb24da', 'Sub-CPMK-12', 'Mampu merancang dan mensimulasikan filter frekuensi, termasuk low-pass, high-pass, band-pass, dan band-stop sesuai dengan spesifikasi teknis yang diberikan.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('be64e1f5-3fca-4c70-9ae0-2a7c3fe6a196', '93c3b670-5245-4d96-8fac-41700beadeb7', 'Sub-CPMK-1', 'Mahasiswa mampu menganalisis kebutuhan ruang dalam perancangan kawasan permukiman yang fungsional dan inklusif.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('be733b9f-60ac-43ac-a1c4-8a12796536b7', '62223e1d-afcb-48a3-8d02-9d6e0269f8d1', 'Sub-CPMK-11', 'Mampu melakukan analisis performa teknik akses jamak seperti TDMA, FDMA, dan CDMA dalam konteks komunikasi satelit.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('bea250e6-808e-4229-aa11-94f40de90903', '7fb1aa11-a563-47ef-adf1-52525d5c8d64', 'Sub-CPMK-14', 'Menilai konsistensi data dengan menggunakan teknik normalisasi dan denormalisasi', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('bea4e326-3ca2-4164-a2c9-966fbf1ddfd7', '7085abb9-959a-425b-b988-1eb1e61f4587', 'Sub-CPMK-11', 'Mampu menghitung kebutuhan bandwidth berdasarkan jumlah pengguna dan jenis data yang dikomunikasikan.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('bec20ba3-8e01-4989-a0a6-6f0bdbea2f47', '24570248-ee41-4066-a072-abced9827e70', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis kebutuhan utilitas bangunan berdasarkan fungsi dan tipe bangunan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('becb0265-f591-4fb7-bf65-4f236930ca24', '24cfb355-d58e-4192-8fa1-48d001d5381b', 'Sub-CPMK-14', 'Membuat dan menerapkan feedback loop dari hasil monitoring untuk meningkatkan kinerja pipeline.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('bee18bf9-c4d4-4228-b140-86d6bab3b0d6', '09ced95d-b810-44d1-9945-9daef0e4aecf', 'Sub-CPMK-12', 'Mahasiswa mampu mendefinisikan dan menjelaskan karakteristik dasar dari struktur latice dalam konteks aljabar.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('bee92ae0-edf2-4899-a979-5124f43e0865', '219bbba7-c7bd-4d09-836b-0e7b50bce267', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menjelaskan berbagai model pembelajaran yang digunakan dalam sistem komunikasi modern.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('bef612c6-ffe5-4821-bb30-43490178485e', 'a731fdca-4b23-471a-b21d-234433e67ac8', 'Sub-CPMK-8', 'Mahasiswa mampu mengembangkan prototipe fungsional dengan menggunakan bahasa pemrograman yang relevan.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('bf0b8a52-15d5-4a4b-b153-844cf04880fb', 'c1aa08de-f254-41ec-812b-42f16296e718', 'Sub-CPMK-12', 'Menganalisis perubahan efisiensi operasional yang dihasilkan dari penerapan sistem informasi di organisasi.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('bf0f270e-1049-45be-b53a-27ccbad78f8e', '886f3fd1-0644-4f60-a491-b46a93602d79', 'Sub-CPMK-5', 'Menganalisis risiko keamanan data di lingkungan cloud dan merancang solusi mitigasi yang sesuai.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('bf1466be-42d3-46c3-bd69-8e89c2c90d50', '37844847-da9a-48b5-ab19-392d15a6e802', 'Sub-CPMK-12', 'Mendesain sistem perpipaan bertekanan dengan mempertimbangkan faktor-faktor seperti material pipa dan jenis fluida.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('bf1f9ed0-2e23-4906-8c9a-ce385fe4506a', '0df33fa3-3a0a-48ac-893d-7d90b1aef3cc', 'Sub-CPMK-14', 'Dapat mengidentifikasi dan mengevaluasi dampak lingkungan dari penerapan teknologi manajemen energi yang dipilih.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('bf25f708-5330-463a-8edc-35aff1128340', '486c9666-0a14-4b5e-aee5-7649d9d739ec', 'Sub-CPMK-8', 'Mampu mengembangkan skrip otomatisasi pengujian UI menggunakan Selenium.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('bf2e91ab-a2a1-4ac7-a774-5eb354eea7fd', '6cd335ea-ed89-4149-ac8f-0c61ce080f77', 'Sub-CPMK-11', 'Mahasiswa dapat mendemonstrasikan penggunaan metode Newton Raphson untuk mencari akar persamaan non linear dengan analisis error.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('bf40045f-7328-4df4-be46-23621dbb1e95', '5295dd0c-52e9-4046-80d7-0622bc7fa255', 'Sub-CPMK-7', 'Mampu menjelaskan konsep dasar Docker dan Kubernetes serta perbedaan keduanya dalam konteks deployment model.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('bf48f1ef-7be1-484b-aa6e-4c27b3343e9f', 'b92863af-4a2d-466c-a23b-95780242ae69', 'Sub-CPMK-1', 'Mampu mengidentifikasi dan merumuskan topik penelitian yang relevan dengan bidang studi.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('bf5e71a2-0680-4d11-a765-e7743b4aeded', '79bdc719-8415-4f17-90d0-4299b46f82c7', 'Sub-CPMK-8', 'Dapat menulis skrip untuk melakukan unit testing secara otomatis dalam pipeline CI/CD.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('bf8228fc-6f9f-46d8-8433-aae44341c232', '0edc3520-ab5f-4a80-8296-9ebe3f9810a7', 'Sub-CPMK-11', 'Mahasiswa mampu menghasilkan model 3D sederhana dengan menggunakan software model 3D dan mempresentasikannya di depan kelas.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('bfa18827-dc50-4901-8c77-b2292e49a19d', '1d5f913d-de97-412c-a4a9-eb7a6078c2e6', 'Sub-CPMK-13', 'Mampu menjelaskan prinsip-prinsip etika dalam penggunaan dan pengelolaan layanan cloud.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('bfa8c8bc-2b7a-49f1-bd45-cb8c7018260a', '23e7d70b-2a4d-4f2d-9d8e-cfd3b64209cf', 'Sub-CPMK-4', 'Mampu menjelaskan konsep dasar fluktuasi tegangan dalam sistem tenaga listrik dan dampaknya terhadap kestabilan sistem.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('bfb7e046-c094-42a8-8736-da47fcf8f993', 'c730a092-3619-47c7-8390-153ee9edde45', 'Sub-CPMK-5', 'Mampu menganalisis dan mendokumentasikan data yang dapat diperoleh dari jaringan lokal dan jaringan internet sebagai sumber bukti digital.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('bfd12b55-5393-476e-bfbe-4a40262e05e9', '5f2bb564-c3b1-44f2-b2cf-a6753668e741', 'Sub-CPMK-7', 'Mampu menjelaskan konsep dasar struktur kontrol seperti percabangan dan perulangan dalam Java.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('bfe3681f-f9d5-43b5-bdfd-08d0795ce458', 'c39fa27c-0391-4883-871d-dc08e47ec5ec', 'Sub-CPMK-10', 'Mampu menganalisis pengaruh budaya lokal terhadap penerapan prinsip-prinsip AIK dalam masyarakat', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('bfe93e64-f2a9-4522-a7ad-2ed37b39c880', '09ced95d-b810-44d1-9945-9daef0e4aecf', 'Sub-CPMK-14', 'Mahasiswa mampu menguraikan hubungan antara latice dan konsep aljabar lainnya seperti grup dan ring.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('bff33dc9-bcb7-41c8-9999-1a278b3fd42f', '98296288-90f1-48c3-be80-bc6f88e59437', 'Sub-CPMK-14', 'Mampu merancang rangkaian logika sederhana menggunakan software simulasi', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('c00a1dd4-4703-4e25-8694-c526d20d0b35', '01127589-4381-44e4-bbda-d5cfad44cdf7', 'Sub-CPMK-6', 'Mahasiswa mampu menghitung deformasi struktur tinggi akibat beban yang diterima menggunakan teori elastisitas.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('c01122e0-eb3e-4ec9-b178-187c40cfc10b', '03b8bb87-d4f6-4428-a7f3-a3015a2fb78e', 'Sub-CPMK-13', 'Mampu mengoperasikan alat VNA untuk mengukur parameter S-parameter pada saluran transmisi dengan tepat.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('c02f9b07-6962-4af8-a634-b6a6be040320', '37247098-7558-4e3e-ad7a-15f067d43641', 'Sub-CPMK-13', 'Mahasiswa dapat menganalisis dan membandingkan dua atau lebih gaya arsitektur dalam laporan tertulis dengan memberikan contoh konkret.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('c0435cff-4541-4177-9741-e88d1ea256c1', '94499e5b-87bf-444d-b796-35ac2a6845ff', 'Sub-CPMK-4', 'Mahasiswa dapat mengevaluasi dampak lingkungan terhadap desain arsitektur dari masa prasejarah hingga abad pertengahan.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('c0784bea-5db2-492c-8ca4-2da9f2b4da4a', 'e5cb12aa-6ddd-4243-9611-aae69048c322', 'Sub-CPMK-11', 'Mampu melakukan konfigurasi dasar protokol jaringan seperti TCP/IP dan routing pada perangkat jaringan.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('c09c4572-4edd-4bdd-b665-1dd23f2f5285', '41b08b33-8ef0-4752-8ad7-9378e43de17e', 'Sub-CPMK-7', 'Mampu menghitung ketidakpastian pengukuran menggunakan metode statistik dan analisis varians.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('c0bc4c34-eda7-460f-80f1-26d86289e219', '38e856da-db76-40ad-8037-add1ca7f293e', 'Sub-CPMK-9', 'Mampu mengidentifikasi dan menganalisis masalah performa pada aplikasi mobile menggunakan alat profiling.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('c0f12a55-a4c8-4150-bd2c-b6a524b04dd4', 'ff019258-ef6f-47c5-87f3-34913105970c', 'Sub-CPMK-3', 'Mahasiswa dapat melakukan analisis frekuensi pada rangkaian penguat multi-tahap dan menghitung respon frekuensi.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('c0f79e58-61e0-4988-85ed-eeb67d77ed43', '09ced95d-b810-44d1-9945-9daef0e4aecf', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan memberikan contoh nyata dari aplikasi latice dalam pemrograman dan algoritma.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('c0feac37-2a75-4def-b57a-15f45152d6ee', 'ce5e2dd1-926c-4b4b-91b8-f929c8daf926', 'Sub-CPMK-8', 'Mahasiswa mampu menghitung permutasi dan kombinasi dari n objek yang berbeda, serta menerapkan rumusnya dalam masalah nyata.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('c10437f3-0a98-44f7-8eba-99d802aaba49', 'b5ad871b-2b76-4f81-8639-4e26e38aa8fe', 'Sub-CPMK-10', 'Mampu mengimplementasikan basis data menggunakan sistem manajemen basis data modern seperti PostgreSQL atau MongoDB.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('c12e1f98-e174-48dd-b6d4-4716ba90d314', '7d74a9c8-cabd-43be-ad2d-448f3a3361bc', 'Sub-CPMK-14', 'Mampu memberikan umpan balik tertulis tentang fungsionalitas halaman web berdasarkan kriteria usability dan aksesibilitas.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('c13530ef-05cb-4bce-b4aa-9dcf17e6137f', 'cfe49560-262b-42ad-b843-32838e9dd7ec', 'Sub-CPMK-12', 'Mampu membandingkan hasil analisis sinyal menggunakan transformasi Laplace dan Fourier dalam konteks sistem linier.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('c1563ed0-124b-43d3-89e6-9d4689394677', '20f28b99-7c87-4931-b177-0d3f86b9a34e', 'Sub-CPMK-14', 'Menyusun rekomendasi desain berdasarkan temuan evaluasi untuk meningkatkan pengalaman pengguna.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('c15822a9-a893-44f9-a583-53b5bc9eb922', 'b60612e8-b4e2-4436-a712-c56ede9ba804', 'Sub-CPMK-14', 'Mampu melakukan simulasi rangkaian telekomunikasi menggunakan perangkat lunak simulasi seperti MATLAB atau LTspice dan menganalisis hasilnya.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('c163a1c4-291c-4b1a-b000-9a286464925f', '79f37bd0-b0b0-46ad-ab34-d365efdbe398', 'Sub-CPMK-9', 'Mampu mengimplementasikan dan menguji fungsionalitas dasar perangkat lunak menggunakan salah satu protokol jaringan.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('c19297c2-8eb2-4f81-905b-484edee993e3', '10d3dadc-b19b-4611-8ead-af7297d20ed8', 'Sub-CPMK-10', 'Menyusun pedoman internal yang mencakup prinsip-prinsip etika dalam penggunaan AI.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('c1965de0-418b-48a5-ae41-78f1e5081579', 'f0cf0d24-e829-46a4-a551-8ea806a358ff', 'Sub-CPMK-10', 'Mahasiswa mampu menganalisis kebutuhan sistem utilitas berdasarkan fungsi dan estetika bangunan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('c19b749c-06d7-4034-8367-3bdbeddcd533', 'ab71fbae-a1af-448f-9edd-970b12af4410', 'Sub-CPMK-11', 'Mampu merancang skematik rangkaian elektronik menggunakan Arduino atau ESP32 untuk membaca data dari sensor.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('c19e079c-381d-4c71-b5ea-64eeac6ff6c9', 'dc7fcbe3-32e5-4218-b2dc-30d3d8498529', 'Sub-CPMK-12', 'Mampu merancang dan mengimplementasikan algoritma pengendali untuk sistem kontrol.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('c1b43d4d-b921-4ef7-a552-51e3605f1e15', '3096a7c6-8348-410a-b73a-dccaacdc08a9', 'Sub-CPMK-6', 'Mahasiswa dapat mengevaluasi dampak gaya kepemimpinan terhadap kinerja tim di perusahaan teknologi.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('c1b8598c-d384-4302-a0aa-d854c7952cf6', 'e11ddd3f-f442-4c5a-b7f1-6522a9b723a4', 'Sub-CPMK-8', 'Mengidentifikasi elemen estetika dalam arsitektur yang mempengaruhi persepsi ruang dan pengalaman pengguna.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('c1c94712-cffb-4394-a35c-be0b6e8ec5b9', '65db6d0f-5f66-43ab-b448-f5e5ab710da0', 'Sub-CPMK-4', 'Mahasiswa mampu membuat model 3D dari sebuah bangunan menggunakan perangkat lunak CAD.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('c1ed87cd-b33c-4395-8e3a-35ead9888db2', '1b4bb38f-5071-47ae-a412-8773a81f8aca', 'Sub-CPMK-1', 'Menganalisis elemen-elemen desain arsitektur Islam seperti masjid, madrasah, dan rumah tinggal dalam konteks sejarah perkembangan Islam.', 7.14, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('c1f3ee5c-067d-4493-82ff-ccec68663fb2', '8efeee66-1bb4-47e5-99d2-08f4f3bc121b', 'Sub-CPMK-10', 'Mampu membuat dan mendefinisikan DAG (Directed Acyclic Graph) untuk pipeline data menggunakan Apache Airflow.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('c1f9254c-2d7d-4895-be22-436fec90cfd0', '9291a1aa-fc80-4388-abbb-2e6b63e5158f', 'Sub-CPMK-5', 'Menganalisis perbedaan antara semikonduktor tipe n dan tipe p serta aplikasinya.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('c2100542-f983-4f1f-8411-f81b2e005b6e', '36266f20-0d43-46e9-9aa0-b8469a94467d', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menjelaskan sifat fisik material bangunan seperti densitas, porositas, dan konduktivitas termal.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('c257948d-0b8d-4ba0-8f2a-87ed7a56a18d', '5f2bb564-c3b1-44f2-b2cf-a6753668e741', 'Sub-CPMK-8', 'Mampu mengimplementasikan algoritma percabangan menggunakan if-else dan switch-case dalam program Java.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('c25bac74-493c-4c1a-bf61-6e759c6e5fd8', '5ac34d5e-75db-4973-ab8c-91e2710bff84', 'Sub-CPMK-2', 'Mampu merancang dan menggambar skema rangkaian elektronik untuk sistem kontrol menggunakan perangkat analog.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('c2919ec3-0cfc-400f-aeda-c1fb92f6908f', '992ec3c9-1ea4-4b1d-8436-972ae5944792', 'Sub-CPMK-12', 'Mampu menganalisis dan menghitung energi kinetik dan energi potensial dalam sistem mekanik', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('c29c50ec-bff1-4197-ae7d-31df20eff250', '10801dbd-2d9f-4c07-b9ac-56aa2ca2ceb3', 'Sub-CPMK-4', 'Mahasiswa dapat menjelaskan fungsi dan sintaksis dasar perintah \'ls\' untuk menampilkan daftar file dan direktori.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('c2da3ccf-de44-40ff-8551-25ad32dd45ec', '99174b62-4376-4e70-8e6d-1780abbea00a', 'Sub-CPMK-11', 'Mampu menyusun tinjauan pustaka yang relevan dan mendukung argumen dalam proposal.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('c2eca178-f72f-493c-99d5-cc2de949deb4', 'c1f4790e-92ab-465e-92ee-288c8ce536b5', 'Sub-CPMK-13', 'Mengidentifikasi dan merumuskan hipotesis nol dan hipotesis alternatif dari suatu permasalahan penelitian.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('c30aa87c-cf6f-4066-883c-3992cc5e36c9', '532c443c-ea5c-486c-ab19-582bf4a5f3de', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menerapkan standar dokumentasi arsitektur perangkat lunak yang diakui secara internasional.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('c3112711-7d74-4ead-8c7e-e3d1c7162a8e', 'b63cbb6d-6127-46ed-9153-91a9e916109b', 'Sub-CPMK-2', 'Mahasiswa dapat menerapkan looping sederhana menggunakan struktur kontrol seperti for dan while dalam program.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('c332bdd3-b4a1-4476-bff2-530fb1534f77', 'fc5d531d-8b1e-4ad1-bf59-d93a8c0bd847', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menerapkan design pattern yang sesuai untuk berbagai kebutuhan arsitektur perangkat lunak.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('c342fd43-9af3-4c3a-a633-0fec5367d4de', 'ff02a8c0-7041-4fab-aee0-9da1f75e6255', 'Sub-CPMK-14', 'Mahasiswa dapat berkontribusi dalam tim dengan membagikan ide-ide inovatif dan memberikan umpan balik konstruktif.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('c3450e1a-dbc1-4447-bb98-81da9cbd095a', '8634269e-6f5e-4522-8a2f-d202488da09d', 'Sub-CPMK-10', 'Mahasiswa dapat mengimplementasikan array dalam program sederhana menggunakan bahasa pemrograman yang dipelajari.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('c34c8146-605b-43f4-81d2-f79606933be9', '1e124ba3-be05-4345-b96e-5784c2f8e632', 'Sub-CPMK-8', 'Mampu menggunakan teknik visualisasi data yang tepat untuk mendukung penyampaian informasi', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('c371f92a-f075-48aa-8ae0-d4070319e14f', 'd2aef54e-5961-42d1-a034-63be6a2e20a9', 'Sub-CPMK-5', 'Dapat mengimplementasikan Virtual Private Network (VPN) untuk mengamankan komunikasi data antara dua lokasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('c373c317-1ee6-480d-96e2-06c124833e9c', '34ac779c-fd89-477f-9da0-a9b5a8a4f8cb', 'Sub-CPMK-6', 'Mampu merancang metodologi penelitian yang tepat dan sesuai dengan jenis penelitian yang diusulkan', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('c389d7d8-889e-4700-afad-a91005db5165', '29898743-320d-4c76-82d8-ba67f970ae02', 'Sub-CPMK-8', 'Menghitung turunan kedua dari fungsi dan menganalisis titik belok serta sifat concavity.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('c3a2b8e2-b47e-410c-91c9-d5729a8ac0fa', '34ac779c-fd89-477f-9da0-a9b5a8a4f8cb', 'Sub-CPMK-5', 'Mampu menyusun kerangka teori yang sistematis dan mendukung proposisi penelitian', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('c3a30819-d2c4-4e70-8e04-9bea65e7b75b', '508c9e7d-085b-43f2-b5d8-8c66e5b4352c', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan mendefinisikan fungsi yang akan dianalisis menggunakan integral dan diferensial.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('c3ad64bb-aa6f-4511-a671-8cd9a9d9cc96', '52833d75-3eae-4404-a8e7-0b32f14af086', 'Sub-CPMK-6', 'Melakukan operasi penjumlahan dan pengurangan bilangan kompleks dalam bentuk kartesius.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('c3da7ac3-319f-4515-b50a-c21ced0809df', 'de72c009-5303-4534-9206-cef44cc23e9b', 'Sub-CPMK-3', 'Menganalisis kebutuhan pengguna dan spesifikasi teknis dalam pengembangan desain detail.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('c3f48837-9df2-4419-b784-0b36dd646f7c', '0cc48ed0-2de2-4d7d-aa0f-a01a0c42a395', 'Sub-CPMK-10', 'Mampu menghitung parameter dasar antena seperti gain, bandwidth, dan pola radiasi untuk antena sederhana.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('c3f9b801-cb3e-4919-82de-60848bbd390a', '8c7fa818-2011-42c2-ba6d-45483ce994ae', 'Sub-CPMK-5', 'Mampu mengidentifikasi jenis-jenis orbit satelit dan aplikasinya dalam komunikasi.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('c3fc6c0b-c703-45f1-8a07-83ee6d4352a0', 'ad9de6f8-4153-469d-b9c7-3ef901de01d8', 'Sub-CPMK-14', 'Mampu melakukan simulasi sistem kontrol menggunakan Simulink dan menganalisis hasil simulasi secara kritis.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('c4176bae-1fc9-4f87-b534-ad39671115d0', '03e70597-6534-43e5-94a2-58ae691fef86', 'Sub-CPMK-4', 'Mampu menyusun rencana kerja yang jelas dan terukur sesuai dengan standar yang ditetapkan oleh instansi mitra.', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('c439212e-302a-49c2-8b81-43a612a1a02e', '864510a6-b812-4b99-afbe-b48be460967e', 'Sub-CPMK-2', 'Menyusun pertanyaan penelitian yang jelas dan terfokus berdasarkan isu yang telah diidentifikasi.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('c4450741-da17-4a6c-bc0c-a1da0ebfb779', '52833d75-3eae-4404-a8e7-0b32f14af086', 'Sub-CPMK-5', 'Mengkonversi bilangan kompleks dari bentuk kartesius ke bentuk polar dan sebaliknya.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('c4810987-8e0d-4f2c-b40f-1603728006f0', '3537276f-db25-4cc3-aab0-7ed20f8d3648', 'Sub-CPMK-13', 'Mampu mengidentifikasi jenis transduser dan prinsip kerja masing-masing untuk aplikasi pengukuran yang tepat.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('c49904c9-13bb-43c3-a24d-b8e98b971ac3', '4bbb84c4-09b6-4a8c-ba6f-f073454bfa0c', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan memperbaiki kesalahan sintaksis dalam program Java.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('c49a440e-ff6c-4355-b56e-a394bf0ba0ed', '9da22b4e-8552-4db4-8c09-cb21128fd633', 'Sub-CPMK-11', 'Mampu menggunakan oscilloscope untuk menganalisis bentuk gelombang sinyal listrik pada rangkaian.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('c4c5229e-30b0-48ea-9b21-93f9530a7619', 'cbce9e7e-f220-412e-b91d-a00b9e6c86c2', 'Sub-CPMK-3', 'Mengidentifikasi dan mendokumentasikan faktor-faktor yang mempengaruhi scalability dalam sistem aplikasi.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('c4dd0651-f94e-41d9-924b-a749bef2112c', 'f0901b05-282d-4d16-a9d0-306c27a21b31', 'Sub-CPMK-2', 'Mahasiswa mampu menyusun tujuan dan manfaat dari proyek akhir yang dirancang.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('c4e9f14e-a85c-4b64-bc0f-d3bfb62c04b1', '9b596f56-b511-40d8-b192-7c7ac43a6a5b', 'Sub-CPMK-14', 'Mahasiswa mampu menganalisis momen dan gaya geser pada elemen struktur menggunakan diagram free body.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('c4f1529d-317a-4bd3-bf71-702f7fd697d3', '26ff63e1-d2a4-4557-875c-4b7418c49d17', 'Sub-CPMK-13', 'Mampu menyusun dan mendokumentasikan laporan proyek machine learning yang jelas dan terstruktur untuk dibagikan kepada anggota tim.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('c4f45c95-f657-4046-a030-a91af34c6cc7', '44289c34-ec0b-4038-b48b-824f580e8f19', 'Sub-CPMK-14', 'Berpartisipasi aktif dalam diskusi kelompok dengan memberikan masukan konstruktif dan mendengarkan pendapat anggota tim lainnya.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('c4f9942e-e0ff-406f-87d7-affb894d1466', '9c41a09a-b571-443b-8e4a-d081e3252d8c', 'Sub-CPMK-8', 'Mampu menganalisis pengaruh gain antena terhadap peningkatan SNR dalam sistem radar.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('c506d480-f7f4-42ab-b452-c6801f0d7c40', '9f250be9-8e42-4186-a9ec-dff334333631', 'Sub-CPMK-3', 'Mahasiswa mampu mendemonstrasikan penggunaan teknologi BIM (Building Information Modeling) dalam proyek arsitektur.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('c508f771-30ce-49a5-b69a-432442d33b36', 'afecea24-1d6f-42fe-93f9-7efab3feb7bd', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan komponen utama dalam arsitektur Generative AI dan LLM', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('c50e6246-b764-48ae-9eb2-4b6ef18b025d', '834235e4-7ffa-4e7c-b257-dcb8d1096867', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menjelaskan kebijakan energi nasional yang berdampak pada sektor tenaga listrik.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('c50e9e76-0dd4-44e5-96f7-4cb5038a4c8f', '56883ff3-5a01-486d-a18d-f43513155b06', 'Sub-CPMK-13', 'Menganalisis elemen-elemen arsitektur tradisional Islam yang relevan dengan konteks lokal dalam desain proposal.', 7.14, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('c51b6fac-0080-47f5-b54f-4f73e52fad80', '3e04c818-ecb0-4e5e-9519-e45facc2d4d1', 'Sub-CPMK-7', 'Mampu menghitung Transformasi Fourier Diskrit (DFT) dari sinyal diskrit menggunakan rumus dasar DFT.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('c529f042-9520-47d9-b114-bdbd2d727c36', '9cd71a0f-2760-4d72-aee5-6f876b4120e0', 'Sub-CPMK-2', 'Mampu mendemonstrasikan teknik dasar pemetaan menggunakan perangkat lunak GIS.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('c53ae562-7e68-47e6-b7ea-4af87aa34114', 'cc2d85f1-9469-4028-b0d6-5d5743d85ddf', 'Sub-CPMK-9', 'Mampu menerapkan hukum Ohm untuk menganalisis hubungan antara tegangan, arus, dan resistansi dalam rangkaian listrik sederhana.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('c55d9dfb-c27e-47fe-bd39-a7271c53da4d', '1ad569da-6480-410e-9a9e-241f6a3603c0', 'Sub-CPMK-3', 'Mahasiswa mampu menjelaskan fungsi-fungsi kepemimpinan dalam tim dan bagaimana fungsi tersebut berkontribusi terhadap keberhasilan suatu usaha.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('c57804fd-af13-43f6-adcf-cd8d804a25e1', 'a54b9238-8b66-47e8-96a1-aec7ebd1cfb9', 'Sub-CPMK-4', 'Mengidentifikasi dan menjelaskan fungsi komponen utama dalam sistem tenaga listrik, seperti generator, transformator, dan saluran transmisi.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('c5acc9d2-cf59-4680-886d-508b118eddc2', 'fa8f0535-0319-4d78-a5c0-7f37f2b0f4a6', 'Sub-CPMK-1', 'Mampu menjelaskan dan menerapkan konsep dasar aljabar linear, termasuk vektor, matriks, dan transformasi linier dalam konteks AI.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('c5b0d10e-4836-44d3-97da-32a3b38435f2', '3a9f586c-5675-43f7-addf-113a17ef9987', 'Sub-CPMK-12', 'Mampu melakukan revisi pada bagian-bagian kritis proposal penelitian seperti latar belakang, rumusan masalah, dan metodologi.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('c5b85478-30ae-4d6b-8ea9-3b2a2665d85c', '0a797183-fe5e-4e6f-8b88-87de8adae2cb', 'Sub-CPMK-4', 'Menjelaskan dan menerapkan Hukum Ohm dalam analisis rangkaian listrik sederhana.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('c5b946ec-b684-4302-b38a-dd6121b2262d', '45163f68-6dd7-43ff-9806-b6c4c5fbdc09', 'Sub-CPMK-2', 'Mampu melakukan analisis dan perancangan modulasi sinyal digital serta mengimplementasikannya dalam rangkaian praktis.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('c5c2fcb0-e893-4719-8b8d-02e26c770b59', 'bfb2b93b-7ae2-4efb-9935-ac62f47577c0', 'Sub-CPMK-9', 'Mahasiswa mampu merancang sistem utilitas yang mendukung keberlanjutan lingkungan dalam konteks perancangan kawasan.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('c5c3dc4e-10bf-499c-8e86-15a841efc8be', '81d5c677-89f4-4ec4-9c10-2353548d83d9', 'Sub-CPMK-13', 'Mahasiswa dapat menyusun dan mengorganisir materi presentasi proyek dengan jelas dan sistematis.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('c5d107f4-d66f-4168-9c1e-c13cecd723ba', '4377c51a-79bc-4415-a96d-61cb4b1add92', 'Sub-CPMK-11', 'Mampu menganalisis dan merangkum temuan dari masing-masing sumber literatur untuk digunakan dalam kerangka teori penelitian.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('c5d49484-29be-497c-8fb5-a9aeed9c8d3e', 'bbded5e4-52a2-48e3-8e05-b0f28424699a', 'Sub-CPMK-10', 'Mampu menyusun model matematis untuk menyelesaikan masalah teknik secara sistematis.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('c5ed5dd6-c4db-4a45-95c0-ca335a406ea3', 'e410da4f-1854-4c11-bf65-b69b1db8bf3d', 'Sub-CPMK-10', 'Mampu membuat program sederhana menggunakan Alice untuk menyelesaikan permasalahan algoritma dasar seperti pengulangan dan percabangan.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('c606f62d-70e5-4b18-9b99-c1717c8fc7dc', 'ea463cec-ba24-404e-865c-8920daaea514', 'Sub-CPMK-13', 'Mampu menganalisis dan merancang rangkaian konverter daya untuk aplikasi kendaraan listrik dengan efisiensi tinggi.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('c61aa15c-37df-409d-8475-7cbde8e65f93', '497d18c4-e17a-410f-b79a-8581fed9ba04', 'Sub-CPMK-2', 'Mampu menganalisis karakteristik optik dari material semikonduktor yang digunakan dalam perangkat optoelektronik.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('c61be906-8848-45be-97ca-77159dacdd92', 'ded74592-751c-42b7-bd26-ad290ebbbf0b', 'Sub-CPMK-9', 'Mampu menggunakan perangkat lunak pemetaan untuk menggambar dan memodifikasi peta topografi berdasarkan data yang telah dikumpulkan.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('c61f9d51-050b-45bd-9633-f3d217bce6c1', '94499e5b-87bf-444d-b796-35ac2a6845ff', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan ciri-ciri arsitektur prasejarah dan pengaruhnya terhadap perkembangan arsitektur selanjutnya.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('c644d656-242d-418c-ae14-4dcbf1df39d8', '8b26e168-6a40-4eac-ab26-7c2c9e05fe7d', 'Sub-CPMK-1', 'Menjelaskan komponen utama dari neural networks, termasuk neuron, layer, dan fungsi aktivasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('c64d173d-281a-4b71-9af4-e21cdd6a0ba6', '78e23f02-c95b-46bd-a35c-e5c11ba72476', 'Sub-CPMK-6', 'Mahasiswa dapat menganalisis kompleksitas algoritma sederhana dengan menggunakan notasi Big O.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('c653d65f-9973-4cef-9e99-e51f669ed3fb', 'd048a213-ef69-4d8e-be90-8f65057ba560', 'Sub-CPMK-14', 'Menunjukkan komunikasi yang jelas dan konstruktif dalam diskusi proyek dengan anggota tim dan mentor.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('c65c2888-e2ea-4882-ad1d-7c0551abb53f', '2043fb35-fca9-4b2c-a926-ed6eb3b2bb89', 'Sub-CPMK-9', 'Mampu membuat dokumen teks dengan format yang benar menggunakan aplikasi pengolah kata, termasuk pengaturan margin, spasi, dan pemformatan paragraf.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('c668c326-e03a-4ec0-a6b7-a661a88f69cb', '5006cfb9-5976-4bd9-950a-0290c1e3e091', 'Sub-CPMK-8', 'Mampu menentukan teknik pengumpulan data yang tepat untuk mendukung metodologi penelitian.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('c66a9cf2-2a8a-4169-8637-6a60c1be1192', '78e23f02-c95b-46bd-a35c-e5c11ba72476', 'Sub-CPMK-5', 'Mahasiswa dapat mengidentifikasi dan menjelaskan kategori kompleksitas algoritma, seperti kompleksitas waktu dan ruang.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('c67520fa-027b-40e4-b7ea-b7f85f9223b0', '2af73a2e-a476-4abb-aa5f-594248103db3', 'Sub-CPMK-12', 'Mampu memberikan rekomendasi perbaikan untuk mengatasi kesenjangan antara teori dan praktik berdasarkan hasil analisis.', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('c67cac98-8906-4785-a51f-c54c8a5aec61', 'a89d7adf-78bd-4928-b224-e9a230777794', 'Sub-CPMK-3', 'Mendesain arsitektur jaringan aman dengan penggunaan firewall dan sistem deteksi intrusi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('c6846684-2eb8-47af-91a9-3c9864366485', 'a9fc4071-1c4a-488c-8760-d74a70ca455c', 'Sub-CPMK-4', 'Mampu menjelaskan konsep dasar ekstraksi, transformasi, dan loading (ETL) dalam pengolahan data.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('c68bc977-e9a5-4f4c-84d8-06c34ffcc3cf', '14eb4288-fdf1-45df-bcaa-836a296ca9c4', 'Sub-CPMK-14', 'Mahasiswa mampu menyusun laporan praktikum yang mencakup latar belakang, metodologi, hasil, dan kesimpulan dengan format yang sesuai kaidah ilmiah.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('c69fd0b0-bc98-4a52-917a-8175a35f374c', '023afe75-fe00-4e6e-b439-bd9604a716ad', 'Sub-CPMK-4', 'Mahasiswa mampu menyebutkan dan menjelaskan ciri-ciri arsitektur masjid di berbagai negara Muslim.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('c6ab258a-fc8b-4171-80da-a750da09e0f4', '5c19904f-7949-41c4-bca2-de97ee1400c3', 'Sub-CPMK-3', 'Mampu merancang 3-5 pertanyaan penelitian yang mendukung tujuan penelitian secara jelas.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('c6b496f5-e55a-4646-a2ae-3b6d603a7a2d', 'e95993cf-e2c5-4fa6-94fc-5cc36d41d364', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menganalisis elemen-elemen kunci dalam bangunan yang perlu direvitalisasi berdasarkan data yang dikumpulkan.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('c6bf1860-c43f-46e3-8329-2e80b013940a', 'fc015a1a-d876-4f1f-894f-51429bbd4b02', 'Sub-CPMK-2', 'Dapat membuat dan menganalisis kompleksitas waktu dan ruang dari algoritma sederhana menggunakan Java.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('c6c9761f-c990-451c-9921-fb77ea0e5712', 'bf096086-bd1a-479e-9ab3-4cf0024ab183', 'Sub-CPMK-1', 'Menjelaskan prinsip dasar proteksi terhadap gangguan hubung singkat pada instalasi tenaga listrik.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('c6da19e8-9861-4535-a30d-0af72c3ea19e', '670270c3-b42d-4aa1-b0fb-e633f0dfecc7', 'Sub-CPMK-5', 'Mampu melakukan commit perubahan dan memahami penggunaan branching dalam pengembangan fitur.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('c6e9abfd-ec6c-414a-8071-9981313ef5f9', '0d1d62a6-313b-4aa6-b936-36526f99d090', 'Sub-CPMK-1', 'Mengidentifikasi tahap-tahap dalam siklus hidup pengembangan machine learning dan bagaimana MLOps berperan di setiap tahap.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('c6fa8a61-5229-4078-851a-c43d60d6aa45', '6409e65a-4ec1-43cf-a3df-081695247922', 'Sub-CPMK-12', 'Mahasiswa mampu mendeskripsikan konsep dasar proyek manajemen dan fase-fase yang terlibat dalam sebuah proyek.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('c6fccab1-9119-46c4-97d7-d53a505fd4b2', '3e2825e8-7039-4986-ba22-11ea9ff327df', 'Sub-CPMK-12', 'Mampu merancang dan menganalisis rangkaian multiplexer 4 ke 1 dan menjelaskan fungsinya.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('c702e3ce-dd30-4116-a453-4ca3ab1a3411', '90d55e61-77e1-4b83-a79f-a2504f9d5df0', 'Sub-CPMK-5', 'Mampu melakukan analisis komparatif antara KKP-Plus dan satu metode pembelajaran alternatif, seperti pembelajaran berbasis proyek, dalam konteks hasil belajar siswa.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('c7102667-954c-4d6b-9549-86ec10fcf1b1', '5683f025-833e-40b6-bb60-502f731456b1', 'Sub-CPMK-14', 'Mahasiswa mampu merumuskan rekomendasi tindakan profesional yang mempertimbangkan aspek sosial budaya dalam konteks organisasi.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('c71aee97-9e4e-4310-9133-4e90d3b4030d', '384637dc-91ae-4d0d-a9ad-8dfda8e32f90', 'Sub-CPMK-10', 'Mahasiswa mampu menyusun dan menyampaikan argumen yang jelas dan logis dalam diskusi desain menggunakan media manual.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('c727cb1b-f347-46ba-8a95-cb4d1419daa6', 'f37fc2bf-9f8a-44e2-99d4-321d1b901658', 'Sub-CPMK-10', 'Menjelaskan konsep dasar pengkodean sumber dan peranannya dalam pengurangan redundansi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('c740d1b8-be61-46b2-aa67-9a092dbfb81d', '7170b75e-2dc5-4a5b-b6fe-2b3892a1c6e1', 'Sub-CPMK-8', 'Menganalisis kinerja dan skenario penggunaan In-Memory DB dalam aplikasi yang membutuhkan latensi rendah.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('c74a8ad9-7024-4eca-8940-63fd69b5a6a5', '39272fa9-3ed9-4fe3-a4a9-e1851b481f7d', 'Sub-CPMK-1', 'Mampu menjelaskan konsep dasar bahasa formal dan jenis-jenisnya.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('c761a2c2-5d02-45fa-a317-d22a4e204002', 'f1ea00c2-98c9-45b6-9ec9-8e023add1e7f', 'Sub-CPMK-1', 'Menjelaskan berbagai tujuan KKP-Plus dalam pengembangan kompetensi mahasiswa', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('c76d7ea3-6b85-4b60-9eef-cb98d75d1c76', 'e65aa885-5e24-467a-acea-451ea940fa28', 'Sub-CPMK-3', 'Mahasiswa mampu menerapkan konsep estetika dalam proyek desain arsitektur sederhana.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('c780d7a0-1e2e-4ead-bf6e-a29602244f4e', '11df5fa9-eb4c-48fd-ad1b-827f95b04180', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi elemen-elemen desain yang kuat dan lemah dalam rancangan dasar selama diskusi studio.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('c79a90dc-455f-4766-9cb1-71da9b0fe30e', '9ef3a9c6-53a9-4542-b814-ee1e6ab22364', 'Sub-CPMK-13', 'Mampu berkolaborasi dalam tim untuk merancang arsitektur aplikasi cloud-native dengan menggunakan alat dan praktik DevOps.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('c7aa2d79-5154-4e5b-9c78-7bd51090ba39', '51deb58c-e3f6-41a7-b80d-3b3184e5035f', 'Sub-CPMK-6', 'Mampu menggunakan aturan rantai untuk menghitung turunan fungsi komposisi.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('c7b00424-c704-4b2c-9ec0-e8cfb29f1297', 'd4dc1cb0-4cd8-4216-9f3a-03313909bf89', 'Sub-CPMK-5', 'Mahasiswa mampu mengidentifikasi berbagai metode pengumpulan data, seperti survei, wawancara, dan observasi.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('c7c1ad7c-bdf1-44f6-9abd-928348cd2ddf', '2231ca71-6025-40cb-b669-b610c8879df0', 'Sub-CPMK-3', 'Mahasiswa mampu menjelaskan peran kolaborasi tim dalam DevOps dan bagaimana kolaborasi ini mempengaruhi produktivitas.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('c7c38f97-9064-4adc-9720-b036db6080de', '2746e5a7-6c03-4c17-b9af-818e154b0a26', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis komponen visual dalam karya seni 2D dan 3D, seperti garis, bentuk, warna, dan tekstur.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('c7c80f37-4251-4c26-a52f-3ae2ff3cda6d', '91067cbb-242c-4cf6-9af3-3c2a48f9025a', 'Sub-CPMK-13', 'Mampu menganalisis berbagai jenis metodologi penelitian yang relevan dengan topik yang dipilih', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('c7e82f18-a5ff-4f16-85e2-4f5e9d55bc63', '0f02feea-8775-4acd-bd90-af87d25ee8c2', 'Sub-CPMK-9', 'Mampu menerapkan prinsip-prinsip pemrograman berorientasi objek dalam perancangan struktur kelas, termasuk enkapsulasi, pewarisan, dan polimorfisme.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('c7ef2a06-9b3a-48a2-a18d-f976110cba10', '126c4840-e15b-4be8-81a1-f2e394209ebe', 'Sub-CPMK-3', 'Mampu merancang dan menganalisis rangkaian filter untuk aplikasi tertentu dalam sistem listrik.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('c80884a2-e5f6-459c-a058-75add979933e', '4a5322ed-03af-4f89-a3c6-ef26adcc591f', 'Sub-CPMK-10', 'Melakukan analisis terhadap hasil keluaran model generatif menggunakan setidaknya tiga metrik evaluasi yang berbeda.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('c811580f-37c8-47ac-898d-7a2aa5572aca', 'caf75408-41dc-46b3-a688-c070d5911d5d', 'Sub-CPMK-14', 'Mampu melakukan pengujian fungsional dan non-fungsional pada sistem tertanam untuk memastikan kinerja dan keandalannya.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('c82b3191-f6da-438e-96cd-8ff9f70dfac0', 'cf1abe8d-1c2f-4b69-9d13-4dba0aab0fd5', 'Sub-CPMK-13', 'Mahasiswa mampu menganalisis dampak lingkungan dari berbagai jenis material bangunan yang ramah lingkungan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('c842f86b-c4e1-4967-9e17-339adf36ad44', 'e8506a22-8c3f-4236-bbb4-46d721d7938a', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan berbagai model layanan cloud (IaaS, PaaS, SaaS) serta penerapannya dalam konteks keamanan.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('c85eb9a9-42ba-4e4f-be4b-7bfd811b1a2c', 'f4ff0118-28ef-40d6-b180-b1a073a99e42', 'Sub-CPMK-11', 'Mahasiswa dapat mengidentifikasi dan membandingkan kelas-kelas efisiensi dasar dari berbagai algoritma.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('c87a7f1c-1970-455d-94d1-4936c96f5904', '5f8d7dc0-c936-4053-a745-0bd3fe0a6a9c', 'Sub-CPMK-6', 'Menggunakan metode penilaian risiko untuk mengevaluasi kemungkinan dan dampak dari risiko keamanan informasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('c87f98c4-288d-44e1-b4e0-f1f9888dc380', '1ce94d41-edde-4717-9077-c38e43efd578', 'Sub-CPMK-7', 'Mampu menjelaskan prinsip dasar arsitektur CPU termasuk ALU, CU, dan register serta fungsinya dalam pemrosesan data.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('c8977908-c65e-4417-839a-3c355038abc8', '7d2bf3b9-d54b-43a3-a217-d0a48339c08c', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis dampak interaksi antarbudaya dalam masyarakat multikultural melalui studi kasus.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('c8a3744f-f915-4153-9bac-38e3086966ce', '80f8bf38-5cac-4a15-859a-7f1e63b0ec29', 'Sub-CPMK-11', 'Mampu mengintegrasikan aktuator motor DC dengan kontrol PWM menggunakan protokol UART.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('c8ab9b89-7b72-4d7a-9e7c-f55f9e110577', '4215c6eb-e4da-4ceb-b61e-d6e2d01a3ad8', 'Sub-CPMK-6', 'Mampu menganalisis prinsip kerja transduser tertentu, seperti piezoelektrik dan thermocouple, dan menjelaskan aplikasinya.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('c8cec3f0-8a3f-46f5-9e24-62916e065e7e', '0f6c9bfc-e3d4-4d0e-9818-820cb9a7c33f', 'Sub-CPMK-13', 'Mampu menjelaskan konsep dasar bilangan kompleks dan operasinya secara matematis dan grafis.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('c8dfed2b-55da-4783-9827-fc953910bf60', 'e51b9684-d31a-4c0c-ad71-1d4ae2646266', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi dan membedakan jenis-jenis looping seperti for, while, dan do-while.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('c8eedea7-6fe5-44fb-b1cd-6a807c5ddde3', '5683f025-833e-40b6-bb60-502f731456b1', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan mengevaluasi dampak keputusan profesional terhadap masyarakat lokal dan budaya setempat.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('c8ef3954-a9f0-4c25-9a76-e774ff55377f', 'b8488742-c1b9-4573-8141-2f9764e2d6a3', 'Sub-CPMK-4', 'Mampu menerapkan teknik pengkodean dan metode pendeteksian serta koreksi kesalahan dalam transmisi data.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('c8f51b6f-e43d-439d-9fe0-c312fd2dffad', '930117f4-fcec-4433-adc8-56c341d0b71a', 'Sub-CPMK-4', 'Mahasiswa dapat menjelaskan sifat-sifat Semi group dan Monoid serta aplikasinya dalam pemrograman komputer.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('c8ffc211-f7be-4c0a-b013-6979d07600e3', 'b77c6d41-2860-4e7b-8a1a-92057b671612', 'Sub-CPMK-1', 'Mendeskripsikan komponen utama dalam arsitektur sistem data modern seperti data lake, data warehouse, dan ETL.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('c90084bb-30f6-4a92-8aaa-105257b78c71', '7511fc1d-fb29-4e40-9782-828eaa40ed48', 'Sub-CPMK-4', 'Mampu melakukan survei dan pengumpulan data konsumsi energi listrik pada sektor industri dan rumah tangga', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('c9120edf-a1df-4bd7-9d12-c8c10b0847fa', '8c795c6c-e8bd-487e-b449-4beda3205a93', 'Sub-CPMK-3', 'Mampu merancang sistem isolasi untuk peralatan tenaga listrik dengan mempertimbangkan standar keselamatan dan efisiensi.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('c91903d9-14ad-41db-9f37-3995a76d412a', 'b3836cfc-c57d-4e0f-97b2-516473cefe71', 'Sub-CPMK-12', 'Mampu menyusun analisis risiko berdasarkan kerentanan yang teridentifikasi dan dampaknya terhadap sistem.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('c92ee28d-54b1-4748-857a-3af09ed11004', '9c27cbfb-13eb-47ae-ae08-41b6bcba38ca', 'Sub-CPMK-4', 'Mengidentifikasi dan menjelaskan prinsip dasar teori informasi, termasuk definisi informasi dan pengukuran informasi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('c93e83cf-6eec-4516-870e-1e1bf15dc998', 'a431d484-813b-4c00-b257-c99e5050b785', 'Sub-CPMK-10', 'Mampu membandingkan teknologi jaringan seluler generasi 2G, 3G, 4G, dan 5G dalam hal kecepatan, kapasitas, dan latensi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('c9410fb6-8261-4fdf-9217-4d29d75cd4d5', '7ef9ec4f-ea01-4d2e-9408-8d53e48be554', 'Sub-CPMK-4', 'Mampu menganalisis kebutuhan pengguna dan konteks lokasi untuk menghasilkan desain arsitektur yang fungsional dan sesuai dengan lingkungan.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('c959d4c6-a405-4476-807f-31af01531e3a', '3e0804e3-d684-4d5f-9075-d60199879048', 'Sub-CPMK-11', 'Mampu mengidentifikasi jenis exploit yang digunakan dalam skenario penetrasi tertentu', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('c966c00c-af6e-40b1-80f7-9a5a58adfca8', '74e37281-5069-4200-b498-c6865c2f40fc', 'Sub-CPMK-6', 'Mampu menerapkan prinsip-prinsip optik dalam perhitungan refleksi dan refraksi cahaya.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('c96e05e6-cbb0-4d3c-b989-6a1adc9f0935', 'eecfc0e7-34b7-4bc0-8013-57b669a59631', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menganalisis kebutuhan sistem instrumentasi elektronika berdasarkan masalah terapan yang diberikan.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('c98d25a6-bd40-4dc0-af42-de73682ab7a3', '9f397977-5161-479b-93ce-ee17f7992f62', 'Sub-CPMK-13', 'Mampu membuat dokumentasi kode yang jelas dan terstruktur menggunakan standar penulisan yang berlaku.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('c99e1a91-200f-4536-a223-225061b4d2da', '4b241ff8-371a-405b-90d1-fc4b24785d44', 'Sub-CPMK-9', 'Mahasiswa mampu menjelaskan konsep dasar algoritma supervised learning dan memberikan contoh penerapannya.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('c9aaeee7-7309-4ef7-87fb-81349c0607f6', 'cc84ed57-82f6-4d35-9d88-7ac6c3b70209', 'Sub-CPMK-2', 'Mampu menggambarkan dan menganalisis arsitektur jaringan komputer serta peran masing-masing komponen dalam proses komunikasi data.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('c9bc29e6-a889-4c57-a9b8-3b5a190ceab1', '0398ffb4-770b-4def-b600-8971c04b83b3', 'Sub-CPMK-6', 'Dapat mengembangkan layanan menggunakan gRPC untuk komunikasi antar microservices dan melakukan pengujian terhadap performanya.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('c9dcdb80-d68e-433f-893b-83057e3e34a4', '82593f35-d68e-4ad5-abc2-d88064e37d01', 'Sub-CPMK-3', 'Menyusun rencana implementasi K3 yang sesuai dengan kebutuhan spesifik suatu organisasi', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('ca1d0bbc-43db-451d-8039-27340285885d', 'a47fb9be-3114-438f-8c71-2bfe7fd1d33d', 'Sub-CPMK-8', 'Dapat menggunakan distribusi statistik untuk analisis data dan pengambilan keputusan dalam model AI.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('ca280b17-d724-4eb2-adae-0a49717fa068', 'bae74b4b-efc4-43a4-99cf-93068f285108', 'Sub-CPMK-13', 'Mengidentifikasi dan menganalisis situasi etis dalam konteks profesional.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('ca2dac0e-81b5-4de6-89bb-4d7be219a176', '8c795c6c-e8bd-487e-b449-4beda3205a93', 'Sub-CPMK-1', 'Mampu menjelaskan dan menganalisis fenomena tembus listrik pada gas dan cairan, serta faktor-faktor yang mempengaruhinya.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('ca2dbe61-28f9-4b31-894a-ece2fbb4a16a', '45fbfb68-9878-4509-bee2-01276dfcd481', 'Sub-CPMK-5', 'Mahasiswa mampu menganalisis dan menghitung gaya dalam elemen struktur truss menggunakan metode analisis grafik.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('ca38a05d-ed19-40f6-99c4-d3aceae66a50', '3875fde2-36ad-4dd0-8e8f-59882827644d', 'Sub-CPMK-7', 'Mampu menghitung dan menganalisis kebutuhan energi dalam suatu sistem distribusi tenaga listrik.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('ca399596-3109-4fb2-9c67-e47665b164ee', 'fea5e4c5-b671-4a16-9a51-5eabe3729e14', 'Sub-CPMK-8', 'Mampu melakukan analisis kritis terhadap argumen dan data yang terdapat dalam sumber informasi mengenai AIK.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('ca755d26-498f-4238-9168-f06111c395cc', '48415114-91c6-48a5-89b4-7f13b2813c02', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menjelaskan nilai-nilai etis yang terlibat dalam pengambilan keputusan perencanaan ruang.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('ca8d68e4-f9ed-49f9-a6a5-7f6cb177724e', '53120ee8-73ad-473b-a8a8-11afb11301bf', 'Sub-CPMK-13', 'Mahasiswa dapat menjelaskan definisi fungsi pembangkit secara lisan dan tertulis.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('ca940076-916a-4857-a426-d73ee66339a4', '077507ec-a961-4fa5-bfa3-2c6c626a7b78', 'Sub-CPMK-2', 'Mahasiswa mampu merancang dan menganalisis rangkaian konverter seperti rectifier, chopper, dan inverter untuk aplikasi industri.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('caa1b6f6-0d34-4adc-a4d4-15787e873e8d', 'f490c641-d399-4a37-aa9a-a390ed6c5c52', 'Sub-CPMK-14', 'Dapat mengidentifikasi dan menyelesaikan masalah yang muncul dalam pengembangan proyek cloud-native secara kolaboratif.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('caa5ea85-33d3-49f8-bd9d-cb6a08400ca5', '971a74b1-ad8c-4d0e-8c47-3ba0fda6ba3e', 'Sub-CPMK-9', 'Mahasiswa mampu menganalisis dan memilih teknik rendering yang sesuai berdasarkan jenis proyek arsitektur yang dikerjakan.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('cab3dc8c-35c5-4d98-b6af-77d34f6f94ed', '61bf99bd-babf-4c4a-967e-af710fa1ae29', 'Sub-CPMK-6', 'Mahasiswa mampu menyusun pertanyaan penelitian yang jelas dan fokus berdasarkan isu yang diidentifikasi.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('cabda584-77a8-43af-b966-975bd29980c5', '7f25c798-4ba0-4830-a2f8-160f135aaed7', 'Sub-CPMK-9', 'Mampu mengidentifikasi dan merumuskan masalah penelitian yang relevan dan terkini.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('cac7c8e0-b241-4728-9195-c72ba1ac09ce', '7a3a6d19-f216-4d46-83cf-6e355781b6fc', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menjelaskan fungsi komponen utama dalam sistem tenaga listrik, seperti generator, transformator, dan trafo.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('cacb59b5-262d-4176-b89c-cf173a4d07ee', '38c13a5a-e8fd-4b5d-877d-c0c2e9089798', 'Sub-CPMK-12', 'Mampu mengidentifikasi dan memperbaiki kesalahan (debugging) dalam program yang dibuat di Alice, serta menjelaskan langkah-langkah perbaikannya.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('cad5b5e5-8ee1-489b-a29c-05a60d527a3f', '9175b8d6-051e-4ac8-806f-1563bc8a9165', 'Sub-CPMK-14', 'Mengidentifikasi nilai-nilai etika dan moral dalam Al Islam dan Kemuhammadiyahan serta membandingkannya dengan nilai-nilai yang terdapat dalam ajaran Buddha.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('cadd5c60-2bf1-4ac0-b107-ae14f53605c8', '6ade6298-7a94-4119-b966-d7b8409c70f4', 'Sub-CPMK-14', 'Mampu memberikan dan menerima kritik secara konstruktif dalam diskusi akademik.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('cae227db-4171-4efc-aae4-abfafcd96c79', '113d9e20-7556-4cb6-bb58-47aa4312738c', 'Sub-CPMK-7', 'Mengimplementasikan algoritma yang dirancang dalam bahasa pemrograman yang sesuai dan melakukan pengujian untuk memastikan keakuratannya.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('cae9651c-d4a3-4914-996a-300351b84c8e', '2746e5a7-6c03-4c17-b9af-818e154b0a26', 'Sub-CPMK-8', 'Mahasiswa dapat menerapkan teori warna dalam pemilihan palet untuk karya seni 2D dan 3D.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('caeb030b-46e0-462b-9c72-a3e91f79087b', '2474454d-aab7-45af-a62a-3a0758b84774', 'Sub-CPMK-7', 'Mampu menganalisis dan menjelaskan fungsi logika dari gerbang NOT dan NAND berdasarkan tabel kebenaran yang telah dibuat.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('caf5d4db-b229-44e4-be03-66b7d6dcaf62', '177fd39b-7228-4821-b119-3295567637a2', 'Sub-CPMK-4', 'Menjelaskan tahapan-tahapan dalam proses pengolahan air bersih mulai dari pengambilan sumber air hingga distribusi ke jaringan perpipaan.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('cb44c689-724e-4514-98c2-2c39af7128d5', '35931ec8-a297-45f3-ad2f-c15b29cf16c0', 'Sub-CPMK-14', 'Mampu menginstal dan mengkonfigurasi DHCP server untuk memberikan IP address secara otomatis kepada client.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('cb47533e-990a-4d54-80ec-bd54e7b06223', '3ea1f766-b193-4fdc-b4aa-d4e5ea1dc41b', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan sifat mekanik baja, termasuk kekuatan tarik, kekuatan luluh, dan ketahanan korosi.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('cb559164-da61-46f1-9210-02b7c64436d3', 'fa2688f9-f668-4ff0-8d67-7203e2fae65c', 'Sub-CPMK-11', 'Mampu menganalisis umpan balik yang diterima untuk menentukan area perbaikan dalam desain.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('cb7ade47-5127-401c-b03f-831584cc7ca0', '886f3fd1-0644-4f60-a491-b46a93602d79', 'Sub-CPMK-6', 'Merancang arsitektur jaringan yang aman untuk aplikasi cloud dengan mempertimbangkan segmentasi dan kontrol akses.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('cba8cd45-61de-4867-92fe-583b1cdecb1f', '735a6ae4-6db9-44ba-b136-11764ea29ab6', 'Sub-CPMK-7', 'Mampu menerapkan transformasi Laplace untuk menyelesaikan persamaan diferensial linear dalam analisis sistem dinamik.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('cbb62057-9707-4738-88be-b8e7b3cba514', 'a8742661-f821-491e-806f-02af76eb8fb7', 'Sub-CPMK-5', 'Mampu membuat diagram Gantt untuk penjadwalan aktivitas dalam proyek.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('cbc75e3c-5c5a-4062-a85b-5122de685bf5', '1a8aa973-3b78-4c6b-b378-a81b7f21a19d', 'Sub-CPMK-6', 'Mampu menjelaskan dan menggambarkan diagram blok sistem kontrol elektronik beserta fungsinya.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('cbd468fa-a488-4828-b154-4ed7e8e368fc', '7085abb9-959a-425b-b988-1eb1e61f4587', 'Sub-CPMK-12', 'Mampu menganalisis dampak dari latensi dan jitter terhadap kinerja jaringan dalam skenario komunikasi tertentu.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('cbe636aa-97a1-4450-8399-03a849296afb', '12080fea-ba45-40e6-9bc3-7def3f1cc18c', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis faktor-faktor eksternal yang mempengaruhi peluang usaha, seperti sosial, ekonomi, dan teknologi.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('cbe98079-a7c0-4136-b61b-6eacd7c52297', '25b6d226-72ba-428e-88a6-fbda2d69e864', 'Sub-CPMK-13', 'Mampu menjelaskan prinsip dasar pengkodean dan jenis-jenis kode untuk deteksi kesalahan.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('cbff0042-4ef9-45c0-8e73-fb3a62a2abe2', '288f96b9-20bd-4c7a-a59f-de3b7e9b82ce', 'Sub-CPMK-12', 'Menjelaskan konsekuensi sosial dari penggunaan teknologi informasi di masyarakat.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('cc117f05-c170-495a-aff9-b15dffdbbf13', '39272fa9-3ed9-4fe3-a4a9-e1851b481f7d', 'Sub-CPMK-2', 'Mampu mengidentifikasi dan mendeskripsikan komponen tata bahasa dalam bahasa formal.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('cc273bfc-4cb2-496a-ae35-e25e58222b50', '52c04a2d-5351-4ea9-8c97-1e7e5cf2374a', 'Sub-CPMK-2', 'Merumuskan pertanyaan penelitian yang jelas dan terfokus berdasarkan analisis literatur yang relevan.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('cc43eaf0-9df4-4634-be5d-499733239763', 'a107aadf-ea8e-41e1-b0fb-dbd249306382', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menjelaskan prinsip-prinsip etika dalam perencanaan wilayah dan kota.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('cc658576-4144-4c8f-90e7-4b01c1dd9aa6', 'ea1ef067-2302-41d7-8b2b-10a065e28d92', 'Sub-CPMK-4', 'Mampu merumuskan pertanyaan penelitian yang jelas dan spesifik', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('cc67f996-12f8-4860-9b15-01efe72d2966', 'c3275098-a04e-4311-9308-721decb5522f', 'Sub-CPMK-10', 'Mahasiswa mampu menganalisis dan memilih material yang ramah lingkungan dan berkelanjutan untuk digunakan dalam desain arsitektur inklusif.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('ccb955cd-49b2-4f4f-901b-a672ddae9648', 'c9a39126-5d32-462d-8f64-d9e659376a2b', 'Sub-CPMK-6', 'Mengidentifikasi karakteristik material serat optik seperti indeks bias dan kehilangan sinyal.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('ccd2e767-d317-45d8-ad7b-4542f878b962', 'b41a8e07-e05a-4f72-a195-6f1090cb906b', 'Sub-CPMK-7', 'Mendesain arsitektur sistem yang mendukung auto-scaling berdasarkan beban pengguna menggunakan layanan cloud yang relevan.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('ccd61be4-adae-4b29-b652-e5824160d2aa', '0c9de959-44ae-4c0b-8265-8c17630df9af', 'Sub-CPMK-3', 'Mampu menyusun kerangka artikel ilmiah berdasarkan komponen yang telah dipelajari dan mengintegrasikannya dalam sebuah draft awal.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('ccdbd162-7f22-44e5-b0c0-f827cacc4496', '5d4dca66-aa7f-4cdc-b3a4-a9354ba2cf81', 'Sub-CPMK-9', 'Menggunakan kalkulus untuk menganalisis dan mengoptimalkan struktur bangunan terhadap beban yang diterima.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('cd0c3cbd-3686-4fa6-b3e5-8814cb7a3e71', '1ad569da-6480-410e-9a9e-241f6a3603c0', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan secara rinci berbagai teori kepemimpinan yang ada dan memberikan contoh penerapannya dalam konteks kewirausahaan.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('cd0c8e0d-61bc-4f87-828e-083b0cfd8631', '929eeac3-67f0-4cd1-bbf2-29bc08d58a8e', 'Sub-CPMK-1', 'Mahasiswa mampu menganalisis dan mengevaluasi efisiensi energi dalam sistem tenaga listrik industri.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('cd19fe64-64ba-47ec-8512-1ac21e268593', '3d77bf9d-3c19-470c-b01d-96404429a100', 'Sub-CPMK-8', 'Mampu menerapkan algoritma dasar untuk pengolahan data sensor pada sistem tertanam menggunakan bahasa C atau Python.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('cd49f918-a0f7-4a81-b8ea-2d9611bffc1f', 'f8f1252d-2700-49c2-b8b4-902edeb37c14', 'Sub-CPMK-5', 'Membuat rekomendasi keputusan etis yang sesuai dengan nilai-nilai Al Islam dan Kemuhammadiyahan.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('cd5544e1-348a-4675-b37c-2b3a6be84361', '8d13fc3b-fb6d-477c-a540-388c8c2ca37b', 'Sub-CPMK-13', 'Mampu merancang dan melaksanakan pengujian unit untuk kode program mikrokontroler.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('cd5d965e-920a-44c0-83f7-e09fafe73031', '8d912d32-3cce-453b-961e-3887096e06cd', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menjelaskan pentingnya kode etik dalam investigasi forensik.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('cd693c61-c653-400a-8adc-7ebc99469c2d', '8de06e06-8381-4a18-bb0a-1135c4208acd', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis kinerja sistem komunikasi dengan mempertimbangkan pengaruh derau dan faktor lainnya.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('cd71f075-cc3f-42f3-9030-14a173fd5dd5', 'ecb846f3-9675-4e6f-b1c5-2143206c9e7a', 'Sub-CPMK-2', 'Mahasiswa mampu melakukan simulasi jaringan menggunakan perangkat lunak simulasi, serta menganalisis performa jaringan berdasarkan hasil simulasi tersebut.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('cdc29a91-4038-4416-8eb0-10b4fc542fad', '3c11660a-6eeb-49fa-8180-1f7ab9231f16', 'Sub-CPMK-1', 'Menjelaskan fenomena gerhana matahari dan bulan serta dampaknya terhadap penentuan waktu ibadah.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('cdc543a5-5229-45d9-835d-cc8e2ec9d9fc', '47c888f0-6310-4b8e-8072-f929b94a59cb', 'Sub-CPMK-6', 'Mampu mengukur arus DC menggunakan multimeter dengan akurasi ┬▒5% dan mencatat hasil pengukuran.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('cdd471b3-f19a-46c3-92a0-718bc1f936e8', 'e1278fe0-54da-4a79-92cf-aa7089da6b9b', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan dan menerapkan hukum Newton untuk menganalisis gerakan benda dalam konteks keteknikan elektro.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('cde5f8c7-cee5-4ea3-8a8e-4fbcaa5674cf', 'd009c4f5-b7f2-4a70-a912-e43ab8664918', 'Sub-CPMK-2', 'Mampu menganalisis dampak lingkungan dari pilihan material dan metode konstruksi dalam proyek perancangan arsitektur.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('cdec4fed-3d25-4440-8667-158bacefec5b', 'c70b830f-d413-45ff-b006-a838033060e5', 'Sub-CPMK-6', 'Mampu menyusun pseudocode untuk algoritma sederhana berdasarkan spesifikasi masalah yang diberikan.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('cdee3e2a-5c70-4068-8e9a-bef76d1c3730', '971a74b1-ad8c-4d0e-8c47-3ba0fda6ba3e', 'Sub-CPMK-7', 'Mahasiswa mampu menggunakan perangkat lunak rendering untuk menciptakan model 3D yang realistis dari desain arsitektur.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('ce11e6c9-6946-4c46-827a-d389ad1873ff', '3f883f5a-6249-4624-bb5c-0ce1cb9fad5a', 'Sub-CPMK-3', 'Menerapkan penggunaan alat pelindung diri (APD) yang sesuai di lingkungan kerja konstruksi', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('ce1e0d3b-b7f0-46b1-ae30-2fdc516c2715', '242b793a-2f3a-41fe-b19d-f59e5034a3ad', 'Sub-CPMK-9', 'Mampu merancang dan mengimplementasikan sistem kontrol sederhana menggunakan sensor dan aktuator', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('ce2232f9-3353-4dd5-a7c4-d3782a219962', '4968c34c-40cd-4c17-815f-56a3a076c5a9', 'Sub-CPMK-4', 'Mampu mengumpulkan dan menganalisis data terkait permasalahan nyata yang dihadapi oleh pengguna dalam konteks teknik elektro.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('ce3fc917-8d71-4f7d-a19f-c723092bae18', 'ef3a0ccd-f3eb-4f5f-a72b-d4a0fb77c52d', 'Sub-CPMK-4', 'Mahasiswa mampu mendemonstrasikan proses enkripsi dan dekripsi menggunakan algoritma Caesar Cipher.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('ce4e6428-c49f-42d7-a9dd-fad53266ee47', '1dcf7c74-3d04-4630-a4fb-21039376e157', 'Sub-CPMK-10', 'Mahasiswa dapat mengidentifikasi dan menganalisis karakteristik material lokal yang sesuai untuk iklim tropis.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('ce5a1181-4d13-4ccf-b169-cf554e30251b', 'd7fabfab-842f-4eab-9dd6-5617f7ab28cf', 'Sub-CPMK-7', 'Menerapkan kebijakan IAM untuk mengelola akses pengguna dan grup dalam lingkungan cloud.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('ce5bc899-31bd-4efb-a326-9bc82db01e46', 'd8904f9c-8792-412a-ae2c-91da4326dd9f', 'Sub-CPMK-2', 'Mahasiswa dapat menerapkan teknik pengukuran analog dan digital untuk melakukan pengukuran pada berbagai besaran dengan benar.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('ce6b5e94-ac4d-404c-bb3c-c3f5828af7b2', '105e7d11-3bf8-4d0b-9dc3-c54057332c64', 'Sub-CPMK-7', 'Mengidentifikasi dan menjelaskan contoh-contoh isu etika yang umum terjadi dalam praktik profesi di bidang tertentu.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('ce79bf60-984d-468a-9d47-88f325ad6ee2', 'a54b9238-8b66-47e8-96a1-aec7ebd1cfb9', 'Sub-CPMK-5', 'Menganalisis prinsip kerja generator listrik dan bagaimana energi mekanik diubah menjadi energi listrik.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('ce9e6bc0-fd61-4806-a216-25dbddff7ec4', 'd3038dfe-510c-4cd3-a9a0-2818387c3058', 'Sub-CPMK-11', 'Mampu mengimplementasikan mesin Turing sederhana menggunakan bahasa pemrograman tertentu.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('ce9ff357-02b1-4be4-88a5-4f06d0b8af7a', '6113ebe1-d601-4d2d-bb22-6c12fb03ed60', 'Sub-CPMK-10', 'Mampu menjelaskan dan menerapkan teknik segmentasi citra menggunakan metode thresholding dan clustering.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('cebaa788-4706-4134-8af8-c22b55473105', '0b53463d-921b-4f9b-9bbb-75ac84f167cb', 'Sub-CPMK-7', 'Mampu menjelaskan konsep kestabilan sistem linear dan kondisi-kondisi yang mempengaruhi kestabilan.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('cec031b2-23b1-4a60-9cfe-4c2fc4c0609d', '72811a03-4258-4abc-9852-23e3e5398c2d', 'Sub-CPMK-9', 'Mampu melakukan interpolasi data menggunakan metode Lagrange dan membandingkan hasilnya dengan metode interpolasi lainnya.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('cee17d9b-ef30-4650-b538-40d0a569f304', 'e3fc1518-9fcc-4fc4-9f3a-2a02d46103fc', 'Sub-CPMK-6', 'Mampu menjelaskan prinsip kerja MOSFET dan membandingkannya dengan transistor bipolar, termasuk karakteristik transfer dan penggunaan dalam rangkaian switching.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('ceed5794-195a-4b18-92e8-0ebd52a5685e', 'c70b830f-d413-45ff-b006-a838033060e5', 'Sub-CPMK-8', 'Mampu melakukan analisis kompleksitas waktu dan ruang pada algoritma sederhana yang dibuat.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('cf51ed3b-7abb-49aa-bf48-c35d384213a4', '56c8a674-a34a-40b9-a2da-4f3daf454128', 'Sub-CPMK-4', 'Dapat menggunakan alat developer di browser untuk menganalisis dan mengedit HTML serta CSS secara langsung.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('cf626ff5-a89c-48fa-9162-581fc4765317', 'a2f92ef2-9afb-4dee-ba83-48545efc4790', 'Sub-CPMK-3', 'Menerapkan teori gelombang elektromagnetik dalam sistem telekomunikasi untuk memahami transmisi sinyal.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('cf66748d-5dc9-4253-90f4-c2901d430ee6', 'c0839bf2-2165-42b5-8170-25506a5b7e0c', 'Sub-CPMK-4', 'Mahasiswa mampu menghitung momen dan gaya geser pada elemen struktur bentang lebar menggunakan metode analisis statis.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('cf697022-05ba-4881-8562-0e6d0d27b2be', '2b1c8253-21db-40cf-bcc0-d8c65ce5990b', 'Sub-CPMK-3', 'Mahasiswa mampu menerjemahkan teks teknis mengenai sumber daya air dari bahasa Inggris ke bahasa Indonesia dan sebaliknya.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('cf848e32-bc2f-4558-8e98-fecd0bfa6287', 'add2f3c2-845f-4102-9b23-f90a7bb2009a', 'Sub-CPMK-12', 'Mahasiswa dapat menjelaskan karakteristik dan aplikasi dari algoritma greedy dalam pemecahan masalah tertentu.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('cf8a1a77-d398-4d31-bebd-6c57f0df3542', 'a6de4342-882c-4d24-8bd5-8cfa9f0ed087', 'Sub-CPMK-7', 'Mampu mengintegrasikan API menggunakan framework front-end dan back-end untuk menghubungkan data antara klien dan server.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('cf935c8a-9227-4a2a-9bf4-0eee35a3a533', 'c470d13b-21a3-41eb-bd15-2a206dc298f3', 'Sub-CPMK-1', 'Mampu menjelaskan dan memberikan contoh konkret dari strategi algoritma divide and conquer pada masalah sorting dan searching.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('cf94704d-1319-4a65-bdff-dc4285abc948', 'bb9c7529-4455-41d5-a416-ffaa0cb2626c', 'Sub-CPMK-6', 'Mampu menggunakan notasi matematis untuk merepresentasikan sinyal dan sistem diskrit, termasuk operasi dasar seperti penjumlahan dan perkalian.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('cf958615-7b35-4e13-bcba-f78acbbde364', 'e34981b8-d0df-463b-abe9-97835d2e3180', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan elemen-elemen dasar arsitektur dan fungsinya dalam desain bangunan.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('cfb750a6-13f4-4fec-af47-b7ba3d30f6df', '6c206662-4de3-410c-88f7-b5d01439b609', 'Sub-CPMK-12', 'Mahasiswa mampu menjelaskan perbedaan mendasar antara sistem operasi open source dan close source, termasuk kelebihan dan kekurangan masing-masing.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('cfcfd953-f3b4-42dc-bead-659d959e9c4f', '182790e2-690d-4d5f-afbc-59bf06b34cf6', 'Sub-CPMK-1', 'Mahasiswa dapat mengimplementasikan fungsi modular dalam program terstruktur untuk menyelesaikan masalah pemrograman sederhana.', 7.14, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('cfe36a85-eda0-4cf7-b82d-f65a42a88e26', '29d83d95-7e4b-43ce-96b8-f29fe33e8d71', 'Sub-CPMK-3', 'Menjelaskan konsep kunci kriptografi, termasuk manajemen kunci dan teknik distribusi kunci.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('cfe8d8e6-d1fb-4ce8-8f16-19af7027638e', '8e57c57b-cfbe-4ea4-a0fd-66241b7bd5cd', 'Sub-CPMK-2', 'Mampu menerapkan algoritma pembelajaran mesin untuk memprediksi beban dan permintaan energi dalam sistem tenaga listrik.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('cfefa8b2-667d-4e5d-807a-03def16dc764', 'e4dc0ed4-ec23-4ef4-8ca2-3135f686fe42', 'Sub-CPMK-14', 'Mampu menyusun laporan evaluasi yang mencakup analisis kritis terhadap aspek estetika, fungsional, dan kontekstual dari desain arsitektur.', 0.00, '2026-01-16 22:56:58', '2026-01-16 22:56:58'), +('d0007804-ce3d-43cb-ac34-e878ab16d869', 'ef58dd56-bcf5-4de3-8119-7f9dbb4d338e', 'Sub-CPMK-12', 'Berpartisipasi aktif dalam diskusi kelompok dengan menunjukkan penghargaan terhadap pendapat orang lain', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('d002af3f-f552-4ae9-956b-4a5ef4511dbb', '5899585b-6750-43a6-a422-81b3753c5101', 'Sub-CPMK-14', 'Menunjukkan kemampuan untuk mendokumentasikan setiap tahap proses pengembangan dan penerapan perangkat lunak dengan jelas dan terstruktur.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d00d947a-4855-4789-b026-68e3b4dc8284', 'c9a39126-5d32-462d-8f64-d9e659376a2b', 'Sub-CPMK-4', 'Menjelaskan hukum Snellius dan aplikasinya dalam propagasi cahaya di serat optik.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('d0489429-7571-4e09-af70-15585c5ca826', 'f952aea8-727f-4ae1-b254-55079d5e87c1', 'Sub-CPMK-3', 'Menilai penerapan prinsip-prinsip arsitektur hijau dalam proyek pembangunan yang nyata dan memberikan rekomendasi perbaikan.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('d07007bc-49bd-43b9-9ba0-ed69b2b5565d', '7d7c867a-2bc6-44a8-8195-42ac08ba6b8f', 'Sub-CPMK-13', 'Menerapkan algoritma dasar untuk menentukan kelayakan string pada berbagai jenis bahasa formal.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('d07277bc-fa9a-4cd5-a08e-d082286489bc', '6186c002-78d1-4035-9240-e60e54213d16', 'Sub-CPMK-4', 'Mahasiswa mampu menyelesaikan masalah menggunakan aljabar himpunan dan menerapkan hukum-hukum aljabar himpunan dalam konteks praktis.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('d08c65be-34db-4af9-bf40-077b663eae70', '5f8d7dc0-c936-4053-a745-0bd3fe0a6a9c', 'Sub-CPMK-4', 'Menganalisis jenis-jenis risiko keamanan informasi yang umum terjadi di organisasi dan dampaknya terhadap aset informasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d096ef7e-b9ef-451d-b7da-defc985ab2ec', '63f542b3-f446-45ca-9e6b-f6ec91402345', 'Sub-CPMK-5', 'Mampu menjelaskan konsep dasar dan prinsip kerja load balancer dalam arsitektur sistem yang scalable.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('d0a3c1f1-9930-41d5-b7e2-5a2db9aad981', '33417c0d-bb2f-4ecd-bd4b-51d8f22ff98d', 'Sub-CPMK-8', 'Mampu menghitung respons sistem LTI terhadap sinyal input tertentu menggunakan metode konvolusi.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('d0a89a2f-b67d-42b3-84fb-bbd92424e6aa', 'f015983b-976f-4622-9efd-f32fb627eb65', 'Sub-CPMK-8', 'Mampu menghitung nilai redaman pada serat optik menggunakan data eksperimen.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('d0d5f57c-a25c-411f-ad60-b04e85f0cf7d', '667b7d4f-c9bb-444b-8087-7735b1efdade', 'Sub-CPMK-10', 'Mampu merancang sistem proteksi untuk berbagai jenis gangguan dalam sistem tenaga listrik.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('d0ecd197-eb01-403a-98e6-32d149f1616f', '5ceae6ed-306a-44cf-951a-1d7d90b82699', 'Sub-CPMK-11', 'Mampu menganalisis dan membandingkan efisiensi berbagai jenis mesin listrik menggunakan data simulasi dan pengujian nyata.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('d10701a2-ec21-40f2-acdf-5d7beeae2d7d', 'b49e551d-480b-46e6-b23e-14066b4ea9ed', 'Sub-CPMK-14', 'Mampu mengidentifikasi dan mendiagnosis masalah pada perangkat telekomunikasi menggunakan alat pengukur yang tepat.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('d10e6d84-865b-4d10-af9d-696ff52d01a1', 'be64e081-f985-4fba-9feb-3cd574ea603e', 'Sub-CPMK-12', 'Membandingkan dua karya arsitektur dengan prinsip desain yang berbeda dan menjelaskan perbedaan tersebut.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('d113ee05-a280-42c4-bad9-260d16ae566e', 'afecea24-1d6f-42fe-93f9-7efab3feb7bd', 'Sub-CPMK-2', 'Menganalisis perbedaan antara berbagai jenis model Generative AI dan LLM', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d117758f-7e2c-4aa8-ae12-410ceebd29c1', '7af9ae01-fce6-4b67-9444-f3795eb76b15', 'Sub-CPMK-4', 'Mampu menjelaskan konsep dasar model generatif dan framework yang digunakan dalam pengembangannya.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d11d1942-e66d-4c24-b8ac-88e963d02caa', '89b3623e-2650-4933-8a2a-34b590578281', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan mendokumentasikan sumber daya yang diperlukan untuk proyek, termasuk tenaga kerja, material, dan peralatan.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('d1328c9d-1332-4c32-9c51-cac6cafad63e', '1dcf7c74-3d04-4630-a4fb-21039376e157', 'Sub-CPMK-12', 'Mahasiswa dapat merancang solusi bangunan yang memanfaatkan ventilasi alami dan pencahayaan alami sesuai prinsip keberlanjutan.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('d136e8c8-558c-462d-b129-3177117a65ea', 'ffd93474-1075-449c-8875-dc463ed66981', 'Sub-CPMK-8', 'Mampu menghitung nilai entropi dan mutual information dari suatu distribusi probabilitas.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('d138ccee-1c4c-4dfd-8e08-9270e3666e7f', '3acef674-8cf1-43c3-89c6-6d040821ff0a', 'Sub-CPMK-3', 'Mahasiswa mampu merancang ruang yang memenuhi prinsip arsitektur inklusif dengan mempertimbangkan kebutuhan pengguna yang beragam.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('d145d323-4356-405c-8327-f389d8420d73', '66b50a9c-0e71-4e2d-9e01-3fda5dc1c0ec', 'Sub-CPMK-11', 'Mampu menggunakan perangkat lunak rekayasa untuk merancang rangkaian elektronika sederhana dengan minimal tiga komponen.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('d14b4194-e042-47f8-a7fd-98392633f778', 'ae32dfd5-3fee-43d7-8464-9ea764b88a2b', 'Sub-CPMK-6', 'Mampu menyusun pertanyaan penelitian yang jelas dan terfokus untuk mengeksplorasi masalah yang telah dirumuskan', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('d16cb5dd-cb05-42de-afe9-a0ce6b748059', 'e34981b8-d0df-463b-abe9-97835d2e3180', 'Sub-CPMK-2', 'Menganalisis berbagai jenis arsitektur di berbagai budaya dan era serta pengaruhnya terhadap kehidupan manusia.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('d1805462-fe40-407c-97e8-07e2d47c2a2c', 'd50c5efc-f22a-4c48-be63-d567c55ceaa0', 'Sub-CPMK-12', 'Mampu menganalisis respons frekuensi dari filter yang dirancang dan membandingkannya dengan spesifikasi yang diinginkan.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('d1945306-1cd5-4ac7-94db-3864e9b0062c', '326d7a13-d2c8-4610-bc8f-d44833ff21eb', 'Sub-CPMK-2', 'Dapat mengidentifikasi berbagai jenis serangan yang umum digunakan dalam penetration testing.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('d1b6a9b4-1558-4ec3-abad-4516760b4283', '5d06a236-3c19-4efa-84d5-66c76a7efbb1', 'Sub-CPMK-9', 'Mahasiswa mampu memindahkan dan menyalin file menggunakan perintah \'mv\' dan \'cp\' serta menjelaskan perbedaan antara keduanya.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('d1bd93a9-a789-41a2-aefc-fc2c6e8f91bd', 'c10902b3-cde0-4532-a76f-f422f31920f3', 'Sub-CPMK-3', 'Mahasiswa dapat menghitung stoikiometri reaksi kimia sederhana dan kompleks dalam konteks aplikasi teknik.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('d1fef0f8-caab-4a3f-aac0-9785e7f4d99e', '9cc4023b-c73c-46b7-9876-bb552d019ede', 'Sub-CPMK-12', 'Mampu mengevaluasi dampak sosial dan moral dari keputusan yang diambil dalam konteks profesional.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('d2078000-e424-495b-8e34-d72dd138fa10', 'ef3a0ccd-f3eb-4f5f-a72b-d4a0fb77c52d', 'Sub-CPMK-3', 'Mahasiswa mampu menjelaskan konsep dasar algoritma kriptografi klasik seperti Caesar Cipher dan Vigen├¿re Cipher.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('d2085b48-1f22-4207-b5a1-646b3583a4f3', 'c4ec86cb-d894-41bf-be4a-ce6e05f7fa3d', 'Sub-CPMK-11', 'Mahasiswa dapat merancang elemen arsitektur yang mempertimbangkan aksesibilitas bagi berbagai kelompok pengguna.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('d2192ed8-6a42-4332-afce-57ca9378db32', '273c0b64-2b1e-4834-a607-e882d21577c7', 'Sub-CPMK-14', 'Mampu melakukan konfigurasi dasar pada router dan switch menggunakan perangkat lunak simulasi.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('d25969d2-9dbf-4662-8f2f-c1a1a9577bcd', 'd961dfa8-ce8a-4d30-b5d9-6ca9877a9d16', 'Sub-CPMK-8', 'Mampu menganalisis perubahan energi kinetik dan potensial dalam sistem mekanik sederhana.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('d25ce29f-ff24-41dd-b30c-5e4c0571a68c', '48ac384b-92a4-4eb5-805a-31da8f95f547', 'Sub-CPMK-3', 'Mampu merancang model simulasi trafik untuk mengevaluasi performa sistem telekomunikasi dalam berbagai kondisi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('d269f2cd-bfcb-4f48-bf5b-06f535213d6b', 'abcd38cb-975d-4059-a17d-db4b9e7c9a55', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan prinsip kerja dan karakteristik dasar dari sumber energi terbarukan seperti energi surya, angin, biomassa, air, dan panas bumi.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('d2809d7d-bf81-41f8-b08a-8292bfe73c01', '59f12ccc-52f5-45cb-a19a-c6b449191c6c', 'Sub-CPMK-8', 'Melakukan proses preservasi bukti digital dengan membuat salinan bitwise dan memastikan integritas data menggunakan hashing.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('d28b8c24-8b21-4b51-ad82-315a628d4ee2', '3f67b126-eb72-4098-8d6d-9909a01b9082', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan mengkaji teori-teori yang relevan dengan topik penelitian yang dipilih.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('d29c0a35-fc3b-4192-ac38-4b62456143e9', '4faa3cc6-7e16-44ce-bed3-8974f702b33b', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan komponen utama dalam Natural Language Processing seperti tokenisasi, stemming, dan lemmatization.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('d2af1c71-8c93-4a28-9c0e-bbdb64f1ece4', 'be1a575e-a86b-4f97-9619-5ee8f961e9b9', 'Sub-CPMK-13', 'Mahasiswa mampu menganalisis beban struktur pada bangunan bertingkat menengah dengan menggunakan metode perhitungan yang tepat.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('d2cd836b-a6d6-47b2-8dbe-8fbe26ba8117', '5a3a7ea0-4d87-4154-8626-0a05e08a4dd7', 'Sub-CPMK-6', 'Mampu menganalisis perilaku gelombang berjalan dan pantul pada saluran transmisi dengan menggunakan diagram tegangan dan arus.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('d2e4681f-beb0-478e-a9ed-b177995c5e93', 'cc84ed57-82f6-4d35-9d88-7ac6c3b70209', 'Sub-CPMK-3', 'Mampu mengidentifikasi dan menerapkan media transmisi yang sesuai untuk berbagai jenis komunikasi data dalam konteks aplikasi teknik elektro.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('d2f6a203-a779-4600-af38-e5f56506a95a', '47ae0067-cb5e-4c9c-80c8-f96e07748242', 'Sub-CPMK-11', 'Menganalisis throughput sistem data dengan menggunakan alat pengukuran kinerja dan membandingkan hasilnya dengan standar industri.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('d3289550-16f3-40b4-a7f9-7eded8f43d0b', '5c6ae3fd-4b05-45d8-83f6-3dbb6fa6114a', 'Sub-CPMK-7', 'Mahasiswa mampu mengidentifikasi dan menganalisis risiko yang mempengaruhi kualitas, waktu, dan biaya pada proyek konstruksi.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('d3356143-cdd9-4c39-9e05-26217bf643a9', 'de35b79c-796c-4e6e-9296-153c1477357d', 'Sub-CPMK-1', 'Mampu menjelaskan definisi dan tujuan sistem informasi manajemen dalam konteks organisasi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('d33d5d4f-ee21-4799-b5e7-4397c2466119', '10cafd63-d008-43d9-9306-e6ccb93bc53a', 'Sub-CPMK-9', 'Mengimplementasikan arsitektur RNN untuk memproses dataset sekuensial sederhana dan menganalisis hasilnya.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d345652b-4ccf-4d24-aebc-dcb7e01000cc', '81d5c677-89f4-4ec4-9c10-2353548d83d9', 'Sub-CPMK-14', 'Mahasiswa dapat menggunakan alat bantu presentasi (seperti slide, video, atau demo) secara efektif untuk mendukung penyampaian informasi.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('d38acd4f-a194-439c-bc5a-838c20df26bc', 'acc4678a-8ae7-497b-8db9-26674b1a65df', 'Sub-CPMK-7', 'Menganalisis studi kasus tentang penggunaan teknologi AI dalam konteks masyarakat Muslim dan dampak etis yang ditimbulkan.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('d38f08f3-8e6a-4345-a79b-15e7f721b73b', '1ec3ccd2-2d60-43cb-85be-a420dd5f798d', 'Sub-CPMK-1', 'Menganalisis berbagai gaya kepemimpinan yang efektif dalam konteks industri teknik.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('d3a513c4-42e6-4632-8000-f891abc96735', '0ea1deaa-eb7d-4973-b267-76967255a50f', 'Sub-CPMK-14', 'Dapat melakukan simulasi sistem tenaga listrik menggunakan perangkat lunak untuk memprediksi dampak dari perubahan beban.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('d3c1c656-262e-4cd8-a972-504184bb5a60', '9aed813e-341d-4662-b1cb-ef0524bbed54', 'Sub-CPMK-4', 'Mengukur jarak horizontal menggunakan alat ukur manual seperti pita ukur dan alat ukur digital seperti total station.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('d3c46384-3a88-476e-a676-c8ece0cd7c76', '84c5ca35-9704-42cf-b485-0914fbfaf556', 'Sub-CPMK-6', 'Mahasiswa mampu menghitung deformasi pada struktur tinggi akibat beban yang diterapkan dan menentukan faktor keselamatan.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('d3c6725d-dba2-4690-a91b-76bf1627043a', 'fea5e4c5-b671-4a16-9a51-5eabe3729e14', 'Sub-CPMK-9', 'Mampu membandingkan dan mengevaluasi berbagai sumber informasi yang berbeda terkait topik AIK untuk menarik kesimpulan yang objektif.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('d3d608c4-3cb8-4a4e-960d-ad1d42ad8c76', 'b811e280-eba9-4b52-8188-8cc6061e95f4', 'Sub-CPMK-10', 'Mahasiswa mampu mengidentifikasi dan mendeskripsikan tahap-tahap dalam proses pipeline.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('d3dcba81-1183-47ea-85c5-4bbd9a886917', '486c9666-0a14-4b5e-aee5-7649d9d739ec', 'Sub-CPMK-7', 'Mampu menulis dan menjalankan test case menggunakan JUnit untuk pengujian unit.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('d3e40f44-7656-4063-a207-a31bf9bcd665', '489cc4d4-2989-4423-b293-31bcf97eb519', 'Sub-CPMK-14', 'Mahasiswa mampu menyusun rencana bisnis yang komprehensif, mencakup aspek pemasaran, operasional, dan keuangan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('d3e48688-c51c-4aa3-a6e7-92a0305a1a2f', 'af8eba7d-3ac8-47b3-a413-4d99981d07d7', 'Sub-CPMK-14', 'Mampu menggunakan alat debugging untuk menganalisis dan memperbaiki kesalahan dalam program.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('d40d8f3b-6338-4c42-bf90-c00f4bf94c5d', '910e2d61-39f7-4546-ab38-a5c99976670b', 'Sub-CPMK-14', 'Mampu menguji kinerja algoritma pengolahan citra dengan menggunakan metrik evaluasi seperti PSNR, SSIM, dan waktu komputasi.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('d42370df-47f9-4c0c-887d-7c58ef7e7121', '8693d333-7032-4309-8fff-8b1b06cd98a9', 'Sub-CPMK-13', 'Mahasiswa dapat menjelaskan konsep Class dan Object dalam Java serta perbedaan antara keduanya.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('d44cc221-153d-4242-88ea-f3e45af3a605', 'c1aa08de-f254-41ec-812b-42f16296e718', 'Sub-CPMK-13', 'Menilai dampak penerapan sistem informasi terhadap kepuasan pelanggan dan pengalaman pengguna.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('d4532f3d-3aca-4118-94d3-f9e6a70062f2', 'c6ee32e4-bb27-4369-a42d-c2ffebd2c7b1', 'Sub-CPMK-11', 'Mampu mengimplementasikan fungsi map pada Arduino untuk mengonversi nilai ADC menjadi nilai tegangan dalam milivolt secara akurat.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('d454f137-2c30-42d5-9f1a-a6b35950e80d', 'f1d53d8a-1730-4acd-a737-7ecb584247a7', 'Sub-CPMK-12', 'Mahasiswa mampu merumuskan rencana mitigasi untuk risiko dengan prioritas tinggi berdasarkan analisis yang dilakukan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('d4594016-2adf-43cc-8213-dc6d494952b5', '22cd9b30-e649-48a3-a757-63f5724d8676', 'Sub-CPMK-14', 'Mahasiswa mampu mengevaluasi kesesuaian desain dengan standar teknis yang berlaku, seperti kode bangunan dan regulasi lokal.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('d465e86c-24af-4a71-a913-51ef46dd53ca', '36a3b727-f37d-4bf1-89a0-fa2fb4d97cd5', 'Sub-CPMK-13', 'Menganalisis kebutuhan masyarakat dalam konteks ajaran Islam untuk menentukan area inovasi yang dapat ditingkatkan dengan AI.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('d4867d24-13df-4928-b53d-0c4ec70ec974', '8f1b5a53-ee5a-4eb3-a1b5-17f38dbcccd6', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menjelaskan fungsi berbagai jenis sumber cahaya yang digunakan dalam sistem komunikasi optik.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('d499ecd2-562f-4ab6-b056-78656c9a1885', 'e9f5fd77-c1af-4027-92f9-60302e014909', 'Sub-CPMK-9', 'Mampu menggunakan metode substitusi untuk menghitung integral fungsi trigonometri.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('d4a23b4d-3672-4c8b-8669-3a6e23c6b1ed', 'ea6ae67a-676b-42ef-8063-a351de34a0b3', 'Sub-CPMK-13', 'Mampu berkontribusi secara aktif dalam diskusi kelompok mengenai permasalahan yang dihadapi dalam proyek NLP.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('d4a98eed-252c-40a0-93ce-f221d7d8024c', 'd60fe165-13f4-420d-9602-5e77eae33e94', 'Sub-CPMK-2', 'Mahasiswa dapat menggunakan algoritma segmentasi citra, seperti thresholding dan region growing, untuk mengidentifikasi objek dalam citra.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('d4bc592d-8ee9-4b2b-8f00-e9644553bf9d', '43e466ff-b98e-4a34-9f01-d1769e02a9c1', 'Sub-CPMK-10', 'Mampu menghitung nilai impedansi total dalam rangkaian AC seri dan paralel.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('d4d05059-8699-4d72-9c2b-66a2ed8ce731', '150fc29e-bb6b-4f31-8963-273db0a7939d', 'Sub-CPMK-5', 'Mahasiswa mampu menulis paragraf teknis yang jelas dan terstruktur mengenai topik teknik yang relevan.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('d4d0c772-4c2c-4317-bb9c-640991b5b20d', '06a26f2f-9fc0-41c0-98ad-a52058a115a2', 'Sub-CPMK-7', 'Mampu menghitung suku ke-n dari barisan aritmetika dan geometri serta menjelaskan sifat-sifatnya.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('d4ea5367-6b99-4624-91ad-bf1c62f88549', '926fa27b-1a5d-4363-8122-6312abec76b4', 'Sub-CPMK-9', 'Mampu merancang antarmuka pengguna (UI) yang responsif menggunakan HTML, CSS, dan JavaScript.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('d4f2ff6f-0134-4904-888e-82d9ff930172', '50cdca73-683f-4ff5-a6a4-7063ff88914b', 'Sub-CPMK-12', 'Membangun mekanisme logging untuk mencatat prediksi model dan data input untuk analisis lebih lanjut.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('d4fc146f-4a94-4805-8945-62fdb9fc7daf', '9ebd14e7-d39f-4ffe-a38c-204a2bc88ae8', 'Sub-CPMK-10', 'Menerapkan distributed tracing untuk melacak alur permintaan dalam arsitektur microservices.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('d4fd8999-a7e2-4961-8c72-6604b88ceed3', '921388bc-9c19-45c7-a3c6-3e9cd524fcd5', 'Sub-CPMK-4', 'Mampu mengenali dan menjelaskan minimal 50 kosakata teknis yang umum digunakan dalam bahasa Inggris di bidang komputer.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('d51122fd-bea8-4703-b670-516e2127e59d', 'cba6a320-1375-4485-baf8-0295e39d36b7', 'Sub-CPMK-10', 'Melakukan simulasi serangan berbasis skenario pada aplikasi web dan menganalisis hasilnya', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d5133ec1-9733-4ced-829a-5e846622321f', '4c9bd28c-0f5b-403e-9cfe-b95fc4405729', 'Sub-CPMK-11', 'Mahasiswa mampu mengidentifikasi dan menganalisis masalah yang dapat diselesaikan dengan aplikasi AI sederhana.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('d51af242-c5d3-4365-962b-a149929caac0', '7511fc1d-fb29-4e40-9782-828eaa40ed48', 'Sub-CPMK-6', 'Mampu merancang sistem pengelolaan energi listrik berbasis teknologi terbarukan untuk sektor publik', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('d520438b-2448-433a-8fe8-858000e9fb82', 'c3275098-a04e-4311-9308-721decb5522f', 'Sub-CPMK-12', 'Mahasiswa mampu mengembangkan detail konstruksi yang memastikan keamanan pengguna, termasuk penggunaan elemen desain yang mendukung keselamatan.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('d53193f4-fd9e-4db9-9e84-3048eb56d2d7', 'c70b830f-d413-45ff-b006-a838033060e5', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan merumuskan masalah yang dapat diselesaikan dengan algoritma sederhana.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('d54e7409-70d6-4ea5-abb9-2c6cd1f120cf', '3e81f954-f9c7-43df-a72d-13c3e243a899', 'Sub-CPMK-8', 'Mahasiswa mampu menerapkan algoritma pencarian biner pada struktur data terurut untuk meningkatkan efisiensi pencarian.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('d54f6f89-9598-4b24-9ac9-554d29aadd54', '0761e6ba-7f7f-43e7-8f82-ba20ca5c62ba', 'Sub-CPMK-12', 'Menyusun dan menyimpan dokumen rantai bukti yang mencakup informasi tentang siapa yang mengakses bukti, kapan, dan untuk tujuan apa.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('d55b2292-f49e-4a4f-8f29-7bf0d8355327', 'e1eb0e7b-76ee-4940-9dd2-08d90ff46ef3', 'Sub-CPMK-8', 'Mengidentifikasi dan membandingkan berbagai metode replikasi data pada sistem terdistribusi', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('d56fac60-caa2-490d-bc27-0f384dedafe4', '5b815aff-8ec2-4c70-a044-fbe194488679', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menjelaskan fungsi komponen utama dalam sistem radar, seperti pemancar, penerima, dan antena.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('d572ed4e-c9fb-4d31-83b6-90989bfa428e', 'cde7e1ad-1565-4026-95e2-062a23a66ff0', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan komponen utama perangkat keras komputer, termasuk CPU, memori, dan perangkat input/output.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('d582aac3-b1f8-43c9-9638-290e4ba640eb', '2becd8a0-441e-4378-8a95-230d3ab0a7ec', 'Sub-CPMK-2', 'Mampu menjelaskan dampak keputusan perencanaan terhadap masyarakat dan lingkungan berdasarkan prinsip etika.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('d5989fec-53d7-4847-857c-9d3a9301a60e', '15ab01bd-3e7e-4264-9b13-b966c09451d7', 'Sub-CPMK-8', 'Mampu menganalisis dampak sosial dan lingkungan dari keputusan teknis yang diambil dalam konteks etika', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('d5a48219-a0ee-4321-b110-91a012749e59', 'c4142d9a-f767-4b6e-b3ac-5b042826913c', 'Sub-CPMK-14', 'Bisa berkolaborasi dalam kelompok untuk menganalisis data matematis dan menyusun solusi berbasis bukti.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('d5b42573-413c-48d3-81ae-2b9b00083a91', '59bd3500-a97e-4876-be73-1a5dc0a97689', 'Sub-CPMK-6', 'Dapat menerapkan teknik preprocessing data teks, seperti tokenisasi, stemming, dan stopword removal.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('d5ce1ffc-d409-4a28-b7a6-cb087dc70f8c', 'bf4c8f7c-435a-4969-bb85-272927503d0d', 'Sub-CPMK-9', 'Mampu merancang dan mensimulasikan sirkuit CMOS sederhana menggunakan perangkat lunak desain.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('d5d0cfba-4f9e-4ae2-88b4-7df680c81655', '14eb4288-fdf1-45df-bcaa-836a296ca9c4', 'Sub-CPMK-12', 'Mahasiswa mampu mengumpulkan data observasi falak secara sistematis dan mencatatnya dengan akurat.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('d5d2376e-1316-45af-a90a-a58d290a2239', 'a0e5eee7-dfc4-45ba-b127-56b98490d780', 'Sub-CPMK-2', 'Mampu menggunakan CSS untuk menambahkan gaya dan tata letak pada halaman web yang dibangun dengan HTML.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('d5d33c13-7e9b-4b72-926d-7e5199a5fa37', 'f8ade799-dbf4-40e8-94f8-560cd1c6b086', 'Sub-CPMK-8', 'Mengonfigurasi dan mengelola grup pengguna dan peran dalam sistem IAM', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('d5d350ea-824a-4abb-9172-5504e47edc22', '81db8364-918d-45c9-a1dc-6f5d279b3193', 'Sub-CPMK-10', 'Mengidentifikasi dan menganalisis berbagai pandangan dalam konteks keagamaan dan budaya dengan pendekatan yang objektif.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('d5ddecf4-5235-48a3-81a4-d873805fc1b2', '4c94fc6c-6ea4-448d-a582-81aff5b8a06e', 'Sub-CPMK-9', 'Mampu melakukan evaluasi kinerja model menggunakan metrik yang tepat seperti akurasi, presisi, recall, dan F1-score.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('d5eab3d5-215b-4837-a3c4-56d053147856', '00d21b58-9cba-4a56-916c-d91b3aaa649c', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan berbagai jenis elemen struktur bangunan, seperti kolom, balok, dan pelat, serta fungsinya masing-masing.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('d5ed63dc-424e-44d2-92fe-936c24198aea', '25142d89-e46d-43d4-8f78-526b9c1643ae', 'Sub-CPMK-3', 'Membuat studi kasus mengenai penerapan konsep-konsep dasar Al Islam dan Kemuhammadiyahan dalam aktivitas sehari-hari di komunitas lokal.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('d5ffd5de-d67c-47f0-a6a4-4ceadb230393', '8319027d-52b4-4668-b3a6-f582749f228b', 'Sub-CPMK-12', 'Melakukan audit terhadap implementasi kontrol keamanan untuk menilai kepatuhan terhadap regulasi yang relevan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d60814ef-c6ff-4edc-94ec-5ff977bb58a4', 'ec220507-67cd-40f2-ba9e-82a274b2db12', 'Sub-CPMK-9', 'Mampu membuat dan mengkonfigurasi Dockerfile untuk aplikasi sederhana', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('d62e08f4-f7b9-4aa1-8f03-7ab0bba20569', '84de0de2-b897-4580-a085-c36ba7c07290', 'Sub-CPMK-7', 'Mampu mengkonfigurasi Docker untuk membuat dan mengelola container aplikasi microservices.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('d62e9ce4-bc2b-4593-abda-2e38eab77131', '32739f1d-7b44-42ed-9565-41413f6564b3', 'Sub-CPMK-9', 'Menggunakan model Engset untuk menghitung kapasitas dan blocking pada jaringan dengan jumlah pengguna tetap.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('d63d104c-9f87-4dc3-84cc-7426b7421a6a', '364ad7e9-abeb-4e73-8252-8413cb3c2e44', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan dan menerapkan konsep dasar pemrosesan sinyal digital, termasuk representasi sinyal dalam domain waktu dan frekuensi.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('d64e31d0-30cc-4f15-9e00-046583ad1591', '09887031-db21-4534-ae50-7874535c733d', 'Sub-CPMK-3', 'Mahasiswa mampu menganalisis karakteristik bahan bangunan dalam konteks keberlanjutan dan dampak lingkungan.', 0.00, '2026-01-16 22:56:43', '2026-01-16 22:56:43'), +('d65217a4-4f69-4015-a609-3e78f3b4d255', '145166ff-2723-4cd3-a1bc-9312776ce3fe', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan mendefinisikan komponen dasar sistem kontrol sederhana menggunakan MATLAB/Simulink.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('d658266c-4696-4952-aa20-8f58c7450b0b', 'a6de4342-882c-4d24-8bd5-8cfa9f0ed087', 'Sub-CPMK-6', 'Mampu menggunakan framework back-end seperti Node.js atau Django untuk mengelola logika server dan database.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('d692e55d-d1da-45c2-a091-ea39313a34cc', '2043fb35-fca9-4b2c-a926-ed6eb3b2bb89', 'Sub-CPMK-10', 'Dapat membuat dan mengelola tabel data sederhana di spreadsheet, termasuk penginputan data, penggunaan formula dasar, dan pengaturan format sel.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('d6b5b527-4346-43f6-8aee-b039454f7b04', '90fea71d-d82e-43e2-880b-ef9ab18ba7b6', 'Sub-CPMK-12', 'Mahasiswa dapat membuat dan mengimplementasikan Function sederhana dalam program Java.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('d6c47e8c-0a3e-4f18-b0fe-586b7b89ec60', '73fb2871-818a-46f3-be9d-f49be1edef5e', 'Sub-CPMK-6', 'Mahasiswa mampu mengevaluasi kinerja algoritma yang diterapkan dalam pemecahan masalah dan memberikan rekomendasi perbaikan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('d6ca3ef3-f18a-46d8-95ed-48e646a118b6', '01f27b3d-03ba-433e-b35f-9c61be953e1f', 'Sub-CPMK-6', 'Mahasiswa dapat menganalisis risiko yang mungkin terjadi dalam proyek perangkat lunak dan merancang strategi mitigasi.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('d6d14a42-8e77-4166-86e4-59bb4a278dab', 'abd9160a-5a35-470a-8f21-8e0cd1384e77', 'Sub-CPMK-6', 'Menganalisis berbagai jenis distribusi statistik, seperti distribusi normal dan binomial, serta karakteristiknya.', 0.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('d6e4ac8b-42b1-4e5e-80a2-befcf7584db0', 'c3b8773c-9f28-4786-89f4-5dbf33616146', 'Sub-CPMK-10', 'Mahasiswa mampu menggunakan perangkat lunak desain untuk membuat gambar detail konstruksi high-rise.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('d70590d9-b112-41b7-ae49-8b3e3f234c2e', '4074eae8-819a-4cb2-8635-60d6e281de36', 'Sub-CPMK-9', 'Mahasiswa mampu merancang strategi pemasaran yang efektif untuk menarik pelanggan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('d71e22af-1669-48a5-a18b-4786fa1cb13b', 'dda64fa2-2a1b-4693-948a-df58465e38ca', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menghitung parameter trafik seperti call arrival rate dan traffic intensity dalam sistem telekomunikasi.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('d735a722-2d4f-43b1-923e-3208f9f59be9', '903b199a-dfef-4550-a1ed-64079f242e58', 'Sub-CPMK-5', 'Mahasiswa mampu menganalisis interaksi sosial antar penduduk di kawasan permukiman, termasuk hubungan komunitas dan partisipasi masyarakat.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('d768ed1f-1cd1-44c9-9af5-a112d5042026', '73a6b205-6014-4608-b65b-f4e490bf13ec', 'Sub-CPMK-2', 'Mahasiswa mampu menganalisis beban struktural yang bekerja pada bangunan mid-rise dan menentukan sistem struktur yang tepat.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('d788bcdc-8266-4a4e-97be-54818bdb7f2f', '57567ee3-19f5-4d1a-990d-eaa691d75a9f', 'Sub-CPMK-12', 'Merumuskan langkah-langkah strategis untuk mengatasi tantangan implementasi AI berdasarkan analisis yang dilakukan.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('d78e7d19-fc93-4bf5-b6c7-7bdd78fd4039', '0d884892-42c2-4c7b-836f-df3028764bdd', 'Sub-CPMK-12', 'Mampu melakukan revisi dan editing terhadap artikel ilmiah berdasarkan umpan balik yang diterima.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('d79e034f-c7bc-4a3d-b5cc-597872c9a875', '06a26f2f-9fc0-41c0-98ad-a52058a115a2', 'Sub-CPMK-8', 'Mampu menentukan jumlah n suku pertama dari deret aritmetika dan geometri.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('d7a4dbf1-186f-4728-a3b1-32f78373f83c', '072f0fd4-91af-45e4-954f-f0a6a71f4e7e', 'Sub-CPMK-4', 'Mampu mengevaluasi kinerja model machine learning menggunakan metrik statistik yang sesuai.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('d7b0da83-dd18-4069-86d4-46366e9d7024', '74e37281-5069-4200-b498-c6865c2f40fc', 'Sub-CPMK-4', 'Mampu menjelaskan hukum gelombang dan aplikasinya dalam fenomena fisika sehari-hari.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('d7b64cec-76d0-460d-97b2-528fb850eca4', '2577dc4f-74f2-4d3f-9688-47e31be92279', 'Sub-CPMK-5', 'Mahasiswa dapat menganalisis dampak pencahayaan alami dan buatan terhadap suasana ruang.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('d7bfe55b-18bc-4fb3-a1ea-5f3df55f2262', 'fc5d531d-8b1e-4ad1-bf59-d93a8c0bd847', 'Sub-CPMK-8', 'Mampu merancang diagram arsitektur yang mengintegrasikan design pattern dalam konteks proyek perangkat lunak nyata.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d7eca1dd-51ac-4430-b013-1f0be2486b28', '148f5809-eeec-4399-9931-9889954953af', 'Sub-CPMK-5', 'Mengidentifikasi dan menerapkan standar keselamatan dalam instalasi listrik sesuai PUIL.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('d7f59046-c836-4231-ad79-6f946c5f5b88', '486aa493-e7b5-45ce-87b3-3fb1fc3091ff', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan memilih sumber data yang relevan dan kredibel untuk penelitian skripsi.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('d7fd921e-e089-4ce1-9197-2ccaa3cad6ca', '4d32b792-dfe1-4e6c-8b05-46e0833d918a', 'Sub-CPMK-13', 'Mampu menganalisis kebutuhan daya dan merencanakan pengoperasian sistem tenaga listrik berdasarkan data historis dan proyeksi permintaan energi.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('d820a6d9-2cf4-48f1-9735-e4341ec96586', '2f19e9e9-a222-4ace-aae1-05d9388d3bde', 'Sub-CPMK-8', 'Menjelaskan mekanisme dan jenis-jenis vulkanisme serta dampaknya terhadap permukaan bumi', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('d834e899-a712-4e69-be2d-a26ac2401d95', 'd90b3a95-4ae5-4927-934d-d4d0f6f5ef9e', 'Sub-CPMK-11', 'Mampu menggambar diagram rangkaian filter paralel dan menentukan karakteristik impedansinya.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('d845f856-0f58-43aa-88b5-f3d10dea5d9a', '776ceac5-7238-49cf-90c2-5265ea2ac069', 'Sub-CPMK-8', 'Mampu menulis program sederhana untuk mengkonfigurasi dan menggunakan timer pada mikrokontroler.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('d84b0687-a2e9-4039-8416-ce9000ef9a9c', '29898743-320d-4c76-82d8-ba67f970ae02', 'Sub-CPMK-9', 'Membuat dan menganalisis grafik fungsi berdasarkan informasi dari turunan pertama dan kedua.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('d86c9082-fe0a-4d57-b8d2-439697c97f54', '01478f91-8c22-4a30-8e9e-e158f53d86b1', 'Sub-CPMK-10', 'Mahasiswa mampu menghitung gaya dan momen pada struktur sederhana menggunakan hukum Newton dan prinsip keseimbangan.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('d87fafdc-8121-4e3f-a8c7-b159be72e24f', '76cc83dd-ecc7-4d23-a168-7e26e5dc5f62', 'Sub-CPMK-9', 'Mengimplementasikan MLflow untuk menyimpan dan melacak eksperimen model machine learning secara otomatis.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('d87fc926-effe-4975-a9ca-43a43831e94f', 'fa18f474-a195-4514-b109-0df29d4852b7', 'Sub-CPMK-4', 'Mampu menjelaskan komponen utama dan fungsinya dalam arsitektur PLC.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('d8840ee6-d243-45ce-af58-0366507affb4', '5101d404-637f-440f-a874-82cf2a5c79d6', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis arsitektur jaringan telekomunikasi modern, termasuk perbandingan antara jaringan kabel dan nirkabel.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('d887806e-e141-4d51-8a83-9bb49901491f', '6c4d997e-9f98-482a-a10c-ddf2231c8bba', 'Sub-CPMK-8', 'Mengidentifikasi dan memilih material yang sesuai dengan prinsip arsitektur Islam dalam perancangan.', 7.14, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('d8a046d6-db07-4a55-9af9-03e76435516b', '757af86a-7027-4b3b-a94d-5bd356ba61df', 'Sub-CPMK-3', 'Mahasiswa mampu merancang sistem penghawaan yang efisien dan sesuai dengan kondisi iklim lokal untuk meningkatkan kualitas udara dalam bangunan.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('d8a11cf0-a78e-438d-af17-be86a26afdc5', 'a3db81ba-e3f6-438e-b5c3-a840a70be649', 'Sub-CPMK-8', 'Menerapkan aturan penjumlahan untuk menghitung peluang dari dua atau lebih kejadian yang saling eksklusif.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('d8a9a471-8c3f-401a-9d77-a4ed3e2ac71d', '3b2ef9c8-c5a2-4ceb-b2b2-0ccb2f918587', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan mendefinisikan langkah-langkah dalam suatu masalah untuk disusun menjadi algoritma.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('d8bf9636-3a7c-4deb-8aa8-71c7b5df95cd', '9b838384-7e71-4a06-abf6-6edba2323acd', 'Sub-CPMK-13', 'Mampu menganalisis dan mengevaluasi faktor-faktor yang mempengaruhi kestabilan sistem tenaga listrik dalam kondisi normal dan tidak normal.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('d8c06f70-e7a7-40a1-9033-93c50a6215ac', 'ee22cc57-951b-4a9c-9701-69ab19ef6614', 'Sub-CPMK-6', 'Mahasiswa mampu mengintegrasikan infrastruktur yang berkelanjutan dalam rencana desain kawasan.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('d8dcf745-bbce-4beb-8ddb-41b6c7dc258f', '03eaa8f2-8079-4964-b19d-32cea637de3e', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan berbagai jenis serangan siber yang dapat diatasi melalui ethical hacking.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d9055aca-bc67-4beb-bba4-04f302d47b1c', 'e2053134-64f2-47ce-93a9-b56351ec4595', 'Sub-CPMK-5', 'Menganalisis berbagai jenis protokol komunikasi data, seperti TCP/IP, HTTP, dan FTP, serta fungsinya dalam jaringan.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('d905e3f0-69d0-455d-bd11-295ebeeed66f', 'e51950bf-81ec-4811-8f4e-d81184a5dd48', 'Sub-CPMK-7', 'Mampu mengukur dan mengevaluasi kualitas citra menggunakan metrik objektif seperti PSNR dan SSIM.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('d90c6d71-590c-4483-b18b-c099a5f69213', '3e0804e3-d684-4d5f-9075-d60199879048', 'Sub-CPMK-12', 'Mampu menganalisis dan menjelaskan dampak dari exploit terhadap sistem yang diuji', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d92ccfc7-e475-4a8f-bad9-96d546db70f2', '4a204e51-6959-4e0a-a6c1-9276b95332fd', 'Sub-CPMK-2', 'Menganalisis grafik posisi, kecepatan, dan percepatan pada gerak lurus.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('d940e3af-b5ad-4e3c-a950-424709bc07a2', '25b6d226-72ba-428e-88a6-fbda2d69e864', 'Sub-CPMK-14', 'Mampu menerapkan metode pengkodean Hamming untuk mendeteksi dan memperbaiki kesalahan dalam data yang dikirim.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('d94c2148-55c6-4441-b94c-187fb923c6cf', '61bf99bd-babf-4c4a-967e-af710fa1ae29', 'Sub-CPMK-4', 'Mahasiswa mampu menganalisis dan memilih topik penelitian yang relevan dengan bidang studi yang dipilih.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('d959c548-d208-4aab-96dd-f6b04b7219de', '8d912d32-3cce-453b-961e-3887096e06cd', 'Sub-CPMK-14', 'Menunjukkan kemampuan untuk berkomunikasi secara jujur dan transparan tentang temuan selama proses investigasi.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('d972ec2b-4eba-4ff6-b09f-2cff2655138e', '7af9ae01-fce6-4b67-9444-f3795eb76b15', 'Sub-CPMK-6', 'Mampu melakukan evaluasi terhadap hasil keluaran model generatif dan memberikan analisis perbaikan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d98632d2-826a-4ec9-84d2-f62bddb33786', '39272fa9-3ed9-4fe3-a4a9-e1851b481f7d', 'Sub-CPMK-4', 'Mampu menerapkan teori bahasa formal untuk menyelesaikan masalah yang berkaitan dengan automata.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('d991bf1e-a358-40af-87ec-6f92e5d70c9e', '56603f04-65c0-4cb3-bb9f-6a66e73dbc58', 'Sub-CPMK-2', 'Menjelaskan metode representasi teks, seperti bag-of-words dan word embeddings.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('d9c073da-6ee9-4b97-b92b-eed666ce9768', '1c5c1d9e-9f69-4ef7-a10e-ef5621a3c0c9', 'Sub-CPMK-8', 'Merancang arsitektur jaringan yang aman dengan mempertimbangkan kebijakan keamanan yang relevan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('d9c5e05f-3bdd-4d50-a753-f8796737ad04', '65330350-ec71-4e61-a5bd-3532f5523a87', 'Sub-CPMK-14', 'Menerapkan protokol keamanan data saat mengembangkan aplikasi berbasis LLM untuk melindungi privasi pengguna.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('d9fca624-32c5-4a09-9170-5ecc346dff4b', '5d34104c-dbee-4dd7-9c86-a49a5017eb8f', 'Sub-CPMK-11', 'Mampu merancang skema distribusi tenaga listrik yang efisien dengan memperhatikan faktor keamanan dan keandalan.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('da00aa92-e4ce-430b-895a-6c894b249774', '6c4d997e-9f98-482a-a10c-ddf2231c8bba', 'Sub-CPMK-9', 'Menerapkan teknik perancangan yang mencerminkan nilai-nilai estetika dan fungsionalitas dalam arsitektur Islam.', 7.14, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('da092683-7500-4fee-a96c-24fc86fd16bd', 'ccbdad7c-5a60-45bc-bd40-8fd707b5764d', 'Sub-CPMK-7', 'Mampu mengevaluasi dan merekomendasikan teknologi informasi yang sesuai untuk mendukung kebutuhan organisasi', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('da158712-dc04-4591-a07d-8542b732a431', '69d947c9-2c7b-4442-b2b5-9f653e85b337', 'Sub-CPMK-10', 'Mampu menghitung nilai fungsi trigonometri dasar (sinus, cosinus, dan tangen) untuk sudut-sudut khusus.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('da36b9db-9bf0-4e22-8403-288f6cb9584c', '57b50bd6-8252-4822-9ce5-bdb6898b991b', 'Sub-CPMK-5', 'Mampu menjelaskan komponen dasar dalam desain jaringan dan fungsinya', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('da62a496-1057-4359-93a6-3360f5eabead', '87900009-df01-4883-a1c9-8a1f147eca28', 'Sub-CPMK-14', 'Membuat rekomendasi perbaikan prosedur K3 berdasarkan hasil evaluasi studi kasus yang dipilih.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('da648116-12ed-4f37-9d9b-7cf0e1f39588', 'bf59dffe-d6a8-4837-8156-22c5355de1a0', 'Sub-CPMK-10', 'Mampu mengidentifikasi jenis-jenis gangguan yang umum terjadi pada sistem tenaga listrik dan dampaknya terhadap kestabilan sistem.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('da7451ce-47b1-487b-ae09-8eccb7404baa', 'a40900b4-2a36-46e2-aaaa-c859fc1684b5', 'Sub-CPMK-12', 'Mahasiswa mampu mengevaluasi proyek arsitektur kontemporer dengan perspektif nilai-nilai Islam dan dampaknya terhadap masyarakat.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('da9ac707-05a3-4f4e-9621-64876d048cfd', 'cd5fe35d-2c67-49b7-a048-8dfd9e62d3be', 'Sub-CPMK-2', 'Menunjukkan sikap saling menghormati dan toleransi dalam bekerja dalam tim yang beragam latar belakang agama', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('daa0fc14-b580-4d39-bad7-ff5e9933d39a', '2386577e-820b-4dbd-bea2-a19b9787d5ef', 'Sub-CPMK-6', 'Mampu mengidentifikasi dan membandingkan protokol komunikasi yang umum digunakan dalam jaringan telekomunikasi, seperti TCP/IP dan UDP.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('daa5b1f2-8944-4c97-b69f-3e3276d2865e', 'ad8a2316-255f-4a15-8863-70744d890230', 'Sub-CPMK-6', 'Mampu mendeskripsikan konsep kapasitansi dan menghitung kapasitansi dari kapasitor dalam rangkaian.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('dacaf9d1-82a7-4eb7-ba9c-2bb016dd8252', 'f30f9eb0-f70d-49a7-a806-5d31c0b74934', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis kebutuhan fisik pengguna ruang berdasarkan aspek ergonomi dan aksesibilitas.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('dacbaf23-846a-485e-9eff-17a9a0e4c689', 'ec820756-bda1-42cc-8e12-8030aa0aacab', 'Sub-CPMK-7', 'Mengidentifikasi dan mengevaluasi sumber data OSINT yang relevan untuk analisis ancaman siber.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('dacf4e0f-241d-4dfe-8810-83e3ec7d1a74', 'ded74592-751c-42b7-bd26-ad290ebbbf0b', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan mengumpulkan data pengukuran topografi menggunakan alat ukur yang tepat.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('dad9a699-c43b-435e-a1a0-ed6699d997d1', '2c888a63-c4f6-47cd-83f9-b566adbaaef1', 'Sub-CPMK-2', 'Mampu mengidentifikasi dan menjelaskan karakteristik fisik serat optik, termasuk jenis-jenis serat dan aplikasinya.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('dae3c1d5-3654-4ad2-9487-3e209746001d', 'c41ba8eb-52ff-4e2a-b691-4d8d3c2a8e7f', 'Sub-CPMK-11', 'Mampu mengidentifikasi dan menjelaskan komponen utama dalam jaringan seluler, termasuk base station, core network, dan mobile devices.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('daf4e047-191b-42fd-b936-76406f10a0c4', 'fddaeab0-a4af-4295-a3d1-37bf6df6b699', 'Sub-CPMK-7', 'Mahasiswa mampu menghitung determinan matriks orde dua dan tiga dengan menggunakan metode ekspansi kofaktor.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('db010a17-ee26-43cd-b9ab-c4751aab2c29', '3b15941c-ed59-4973-8ea0-3b368df0bd84', 'Sub-CPMK-8', 'Mampu memilih dan menjelaskan metode penelitian yang sesuai dengan topik Tugas Akhir.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('db08d50f-d5fa-4b1b-8919-183ea21943a5', 'ca4e0688-b518-47b4-9733-5daf87ca8635', 'Sub-CPMK-14', 'Mampu menganalisis gaya yang bekerja pada sistem sederhana dan menghitung percepatan serta posisi benda.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('db192981-e4dc-4334-8fe4-9ff1539bc449', '382e1915-b844-4442-9e68-9f20626cb7eb', 'Sub-CPMK-3', 'Menjelaskan konsep medan listrik dan menggambarkan garis gaya medan listrik.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('db5c9cd0-6ed6-4d83-a234-f437c9adbbe0', 'a2e7d988-802c-4682-a9b0-05395e4fa2eb', 'Sub-CPMK-4', 'Menjelaskan berbagai jenis arsitektur mikrokontroler dan perbedaan fungsionalitasnya.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('db6fc326-afd1-4e42-b605-ced9c9671d46', '24919d64-fb19-49da-a7a0-8a4a89222faa', 'Sub-CPMK-9', 'Mampu menginstal dan mengkonfigurasi MISP untuk pengumpulan data ancaman siber.', 0.00, '2026-01-16 23:21:13', '2026-01-16 23:21:13'), +('db949d4f-200f-4ac0-b556-a88f1862353a', 'f1ea00c2-98c9-45b6-9ec9-8e023add1e7f', 'Sub-CPMK-2', 'Mendeskripsikan langkah-langkah mekanisme pelaksanaan KKP-Plus di institusi', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('dba2ba62-4d3b-4ff3-9ce8-e8cbad3294fb', '2f4b1b39-0d7c-4c15-b11d-ebc613c8e394', 'Sub-CPMK-2', 'Menghitung dan menganalisis data pengukuran elevasi menggunakan metode leveling', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('dbca9830-35b7-475b-9c1e-3137115b4ab2', 'a73a6132-4f38-4d53-bc46-9926ded263cd', 'Sub-CPMK-1', 'Mampu menjelaskan komponen utama dari sistem basis data relasional, termasuk tabel, baris, dan kolom.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('dbde83bc-62db-4921-a3c5-057929ccfc68', '74eb0e5d-adb4-420c-b97c-56ad96a8bb71', 'Sub-CPMK-13', 'Mampu menghitung respon transien rangkaian RL terhadap input step dengan menggunakan persamaan diferensial.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('dc019f93-e701-43ce-83a0-cfedd89ac396', '2e2aa36f-5f5f-43ae-ad82-ba418214ebaa', 'Sub-CPMK-3', 'Menerapkan teknik pengujian non-fungsional seperti pengujian kinerja dan pengujian keamanan dalam proyek perangkat lunak.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('dc1c3b47-dbbe-423a-83eb-cd536a2337dc', '9f250be9-8e42-4186-a9ec-dff334333631', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis dampak teknologi digital terhadap efisiensi dan keberlanjutan dalam proses desain arsitektur.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('dc42c70a-38ba-424a-866f-c23cfbafbd0f', '830ad604-ac34-41d4-81ae-d2154afb6069', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menganalisis penyebab penurunan kualitas daya pada sistem tenaga listrik.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('dc580b55-53a9-4b7c-be85-a07f6bdddc7e', 'f786eb5e-0737-4688-a171-7dd00d6b9f67', 'Sub-CPMK-12', 'Mampu menghitung turunan fungsi menggunakan pendekatan numerik dan membandingkan hasilnya dengan turunan analitik.', 0.00, '2026-01-17 00:58:37', '2026-01-17 00:58:37'), +('dc5e1c85-e0dd-41df-8a1b-8ad1064b4e67', '3d77bf9d-3c19-470c-b01d-96404429a100', 'Sub-CPMK-9', 'Mampu mengoptimalkan penggunaan memori dan kecepatan eksekusi dalam program yang ditulis untuk sistem tertanam.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('dc648446-feee-4eb4-8071-07b3173fe8a0', '74ee11fe-46f1-4125-ada7-77c22c11fe71', 'Sub-CPMK-5', 'Menghitung kecepatan dan debit aliran fluida ideal pada titik-titik berbeda menggunakan hukum Bernoulli.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('dc6aab22-7645-495a-b3c2-670cc857d06f', 'b53cae5f-e799-4f1e-a655-5433d3b2b170', 'Sub-CPMK-1', 'Mampu menjelaskan konsep dasar algoritma seperti pengurutan dan pencarian serta implementasinya dalam Java.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('dc77ff88-442d-4248-ae9b-dc263a0e21f6', 'c8db0a1a-346c-4dae-84e5-93866929d8e7', 'Sub-CPMK-3', 'Mahasiswa dapat merancang algoritma pemrograman dinamis untuk menyelesaikan masalah tertentu.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('dca00be6-5c52-4c14-864b-446e7168cb0d', 'b738321d-b285-4fcf-b287-376c40329511', 'Sub-CPMK-12', 'Mengimplementasikan model simulasi untuk menunjukkan dampak dari trade-off CAP Theorem pada kinerja sistem.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('dcaf6171-a235-4ae5-bd90-20cbb964ae4a', '90420b31-a5d4-4c27-8fe7-3a9cf6dfd20a', 'Sub-CPMK-12', 'Mampu melakukan analisis kompatibilitas antara transduser dan sistem pengukuran yang digunakan.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('dcbd9637-bc14-460b-8c5e-d656c02fdc25', '903b199a-dfef-4550-a1ed-64079f242e58', 'Sub-CPMK-6', 'Mahasiswa mampu menilai kondisi ekonomi kawasan permukiman, termasuk pendapatan masyarakat, lapangan kerja, dan akses terhadap fasilitas ekonomi.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('dccbc882-af58-49c7-abf9-42a3663dbe1d', 'bc52d1c8-45e7-4d4a-9d6e-428fee4d5513', 'Sub-CPMK-11', 'Mampu mendesain wireframe aplikasi lintas platform yang mencerminkan prinsip UI/UX yang baik.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('dcef22f8-2e63-4420-b014-8d64f5f25415', '1b4bb38f-5071-47ae-a412-8773a81f8aca', 'Sub-CPMK-3', 'Membandingkan prinsip-prinsip desain arsitektur Islam dengan desain arsitektur dari tradisi lain dalam konteks global.', 7.14, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('dd11ed8a-5354-4acf-b79f-049142a8da70', 'b7613e9d-8134-4e6d-a127-d189cb1ee50d', 'Sub-CPMK-14', 'Mengimplementasikan praktik terbaik dalam pengembangan dan pengujian microservices secara kolaboratif.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('dd16ec92-a59d-4374-a34d-c0ef8e7fa255', '2b12bd53-9ab3-4b7f-b744-709be31704cb', 'Sub-CPMK-14', 'Mahasiswa dapat mengidentifikasi dan mendiskusikan isu-isu etis yang muncul dalam pengembangan teknologi AI.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('dd232309-2535-4d1a-8979-adb930438998', '579c84d3-381e-4089-93af-c9292f4c2a00', 'Sub-CPMK-4', 'Mengidentifikasi dan menjelaskan peraturan K3 nasional yang berlaku di Indonesia', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('dd35193f-dfc6-44ae-b6e5-5ceb56497239', '5e6583e3-b794-426a-a610-63a3feb2b160', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menjelaskan jenis-jenis kerentanan umum dalam pengembangan perangkat lunak, seperti SQL injection dan Cross-Site Scripting (XSS).', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('dd3666d9-fc96-4993-999c-97ddf4490fc0', '25d8e810-0c1c-4348-b98e-85ce34f8c46e', 'Sub-CPMK-13', 'Melakukan pengukuran parameter performa mesin listrik seperti tegangan, arus, dan daya dengan menggunakan alat ukur yang tepat.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('dd4ef03e-cc07-42c6-93aa-9fd72b89f593', 'd7838638-3f39-4029-bdc7-b7a6f284eea5', 'Sub-CPMK-9', 'Mampu menganalisis efisiensi dan performa inverter dalam konversi energi untuk aplikasi robotika.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('dd7171ef-60ba-4561-9e3a-e13fb447ca09', '12080fea-ba45-40e6-9bc3-7def3f1cc18c', 'Sub-CPMK-9', 'Mahasiswa mampu mengevaluasi tren pasar dan kebutuhan konsumen untuk menemukan celah peluang usaha yang potensial.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('dd82ed5f-68fc-4821-a93f-417359348f5e', 'b20c4b36-a280-48cd-b91f-f0019889786f', 'Sub-CPMK-8', 'Mampu menganalisis penggunaan simbolisme dalam desain arsitektur Islam pada bangunan kontemporer', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('dd8bd81a-e023-4bea-b160-ab812e5a8a40', 'd18a3b76-3e39-405d-a865-d86110d4594e', 'Sub-CPMK-6', 'Menjelaskan konsep medan magnet dan perbedaannya dengan medan listrik, serta menerapkan hukum Ampere.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('dd934226-824b-40f5-bcbe-8a916f69e1ad', '910cd8d9-0a0c-4474-b354-5e722927c1f0', 'Sub-CPMK-5', 'Mahasiswa mampu menjelaskan prinsip dasar arsitektur Yunani dan Romawi serta pengaruhnya terhadap perkembangan arsitektur selanjutnya.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('dd9f025f-8b64-4a63-a976-869ae9517939', '18afeb2a-8eee-4533-96ec-391eda350479', 'Sub-CPMK-11', 'Melakukan simulasi debit aliran menggunakan perangkat lunak hidrologi berdasarkan data curah hujan yang telah dianalisis', 0.00, '2026-01-17 00:59:12', '2026-01-17 00:59:12'), +('ddab4f14-d20b-4fe1-9311-e2686d32b12a', '8ceeb5fb-c5d0-4cd9-a8f2-cf21a0f714c8', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan merumuskan masalah penelitian yang jelas dan relevan dalam konteks penelitian skripsi.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('ddc51cf5-9de6-4b51-9c90-b8f84d4faa79', 'aa614c07-c3d0-46c9-88ef-4ce87ed722f6', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menjelaskan langkah-langkah yang diperlukan dalam melakukan pengamatan astronomi.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('dde0a5fd-ff92-4e8c-a2d0-12c903a320a0', '44267df4-0089-4e5a-8bb5-092919bd40f0', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis kebutuhan pengkondisian bangunan berdasarkan karakteristik iklim lokal dan penggunaan ruang.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('ddf00a1f-f29d-43ce-ae14-ae7f766af852', '47ae0067-cb5e-4c9c-80c8-f96e07748242', 'Sub-CPMK-12', 'Mengukur latency pada sistem data dengan berbagai ukuran dataset dan merancang strategi optimasi untuk mengurangi waktu respons.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('ddfaf78e-7e33-4e6c-8794-5d6ef3ed6700', 'aa59e918-458c-4cde-9a6e-15c27325235d', 'Sub-CPMK-1', 'Mahasiswa dapat menyelesaikan persamaan linear dan sistem persamaan linear dengan menggunakan metode grafis dan aljabar.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('de012fb9-99a9-4212-885e-50a35b0c0360', 'a0ecb9c3-0918-4adb-83d2-00b32328ba14', 'Sub-CPMK-4', 'Mengklasifikasikan jenis batuan berdasarkan sifat fisik seperti warna, tekstur, dan kepadatan', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('de1aa25e-783f-43d9-929c-1b5574da0838', '9cd71a0f-2760-4d72-aee5-6f876b4120e0', 'Sub-CPMK-1', 'Mampu menjelaskan berbagai jenis alat pengukur yang digunakan dalam pengukuran geospasial.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('de31d101-fbb2-4ce3-a08d-3e51abc79fca', '70ac8fb6-9aec-4106-a700-829757c6d47e', 'Sub-CPMK-6', 'Mampu mendemonstrasikan cara kerja thyristor dalam pengendalian daya dengan contoh rangkaian praktis.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('de8978c1-a7ea-4ae0-9931-c8a77749051e', 'e70387ce-b7b6-405a-ad19-aa6a36fa7fc8', 'Sub-CPMK-5', 'Mampu merancang prototipe awal dari solusi teknis yang inovatif dan melakukan pengujian awal untuk validasi.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('de8aa3fb-d617-48ed-a5dc-b03aa1f2e633', '498da964-e109-4dc2-b247-e2f734c2ea5e', 'Sub-CPMK-2', 'Mahasiswa mampu mengidentifikasi dan menjelaskan berbagai operasi biner, seperti penjumlahan, pengurangan, perkalian, dan pembagian dalam sistem biner.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('de9a6459-604b-4066-9833-ac4e3325ce48', 'f91f6d20-fe55-49b0-b9d6-97fefcc8f75a', 'Sub-CPMK-10', 'Menganalisis berbagai aplikasi AI yang ada dan menilai kesesuaiannya dengan prinsip-prinsip Islam.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('dea8a5e0-357b-4a65-b265-8706fbc497f1', '822b4743-e63d-48b7-9cb2-8326e0ee4cab', 'Sub-CPMK-5', 'Mahasiswa dapat menguji dan menganalisis komponen aktif seperti dioda dan rangkaian penyearah setengah gelombang dalam aplikasi praktis.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('dee512f1-99ed-4b68-8ff2-abe6f6721493', '2928e8c0-4ee1-4a97-93a4-8ee55546e883', 'Sub-CPMK-10', 'Menjelaskan prinsip dasar kemagnetan dan hukum-hukum yang mengaturnya.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('deef9059-58a4-4c41-9f9c-70fe6472e56d', '9874f2fa-ebcd-4e73-864f-fe4a80deda44', 'Sub-CPMK-11', 'Mampu memberikan umpan balik yang spesifik dan berbasis data terhadap proses kerja yang dilakukan oleh rekan sejawat.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('df1a78a6-5119-4bc5-be63-03bf520d849a', '9fd96396-0221-40d2-ace0-eb910338190d', 'Sub-CPMK-4', 'Mampu mengumpulkan dan mengorganisir data hujan dan debit dari berbagai sumber untuk analisis frekuensi.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('df233b50-ee59-4dff-a3e8-2f4986ef2cc6', '35a6d684-8e39-4827-9bee-60dee5774fb2', 'Sub-CPMK-13', 'Menggunakan terminologi teknik yang tepat dalam presentasi gambar teknik.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('df2dd3bc-d9af-498e-b78f-dd65a137d38c', '973d11dd-4221-40de-b281-db09ecbf6a16', 'Sub-CPMK-14', 'Mampu menyusun rencana tindakan pribadi yang mencakup minimal tiga aspek nilai Al Islam Kemuhammadiyahan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('df3997c2-872d-46ff-aa87-0ed48fd830d5', '56603f04-65c0-4cb3-bb9f-6a66e73dbc58', 'Sub-CPMK-1', 'Mengidentifikasi berbagai teknik tokenisasi dalam pengolahan bahasa alami.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('df487f82-73f0-4831-be27-8d9b7b591885', 'e51950bf-81ec-4811-8f4e-d81184a5dd48', 'Sub-CPMK-8', 'Mampu mengidentifikasi dan mengklasifikasikan berbagai jenis noise dalam citra, seperti Gaussian, Salt-and-Pepper, dan Poisson.', 0.00, '2026-01-17 00:58:28', '2026-01-17 00:58:28'), +('df4c1f6e-193a-4b7e-b43f-41de64076c7e', '822b4743-e63d-48b7-9cb2-8326e0ee4cab', 'Sub-CPMK-3', 'Mahasiswa dapat menggunakan osiloskop untuk menganalisis gelombang AC dan mengukur parameter gelombang seperti frekuensi dan amplitudo.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('df63fdba-2e82-4bc3-87a2-d27ff27b8df9', '94499e5b-87bf-444d-b796-35ac2a6845ff', 'Sub-CPMK-3', 'Mahasiswa dapat mengidentifikasi dan mendeskripsikan teknologi konstruksi yang digunakan dalam arsitektur klasik dan abad pertengahan.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('df6b2a84-b5d2-43e0-9082-94274e4068e1', '5295dd0c-52e9-4046-80d7-0622bc7fa255', 'Sub-CPMK-8', 'Dapat membuat Dockerfile untuk membangun image aplikasi machine learning yang siap untuk dideploy.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('df73abba-e904-4243-8c2f-6f93a05a383e', '56883ff3-5a01-486d-a18d-f43513155b06', 'Sub-CPMK-14', 'Menyusun sketsa dan model awal desain arsitektur yang mengintegrasikan prinsip-prinsip desain inovatif dan nilai-nilai Islam.', 7.14, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('dfa06402-dbcb-45d1-ac6d-abae57194e37', 'a6b053fa-aec5-4e89-b78a-832438da8d00', 'Sub-CPMK-1', 'Mampu menjelaskan dan menganalisis berbagai jenis serangan siber yang dapat mempengaruhi keamanan jaringan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('dfa9fd66-c22c-453d-910f-8e93198efb47', '8f8635d9-b0ff-4f82-96e8-49948434db07', 'Sub-CPMK-11', 'Mahasiswa mampu membuat model 3D ruang dalam menggunakan perangkat lunak desain interior yang relevan.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('dfbbd31a-ad72-468a-a8ac-42263b9e9d19', '81fd647b-fcfc-483d-8974-31eca3ebcf84', 'Sub-CPMK-10', 'Membuat simulasi visual dari algoritma pengurutan untuk memperlihatkan langkah-langkahnya', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('dfbbf44a-593b-435b-8e2b-4834941ee84a', 'a1d43f23-ed3f-4ec1-bf03-07c07fb7d8ba', 'Sub-CPMK-3', 'Mampu mengidentifikasi dan mendefinisikan batas konteks untuk setiap layanan dalam arsitektur microservices.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('dfc265d8-67ee-4ace-9488-22e6e214d21d', '59edfb6c-7090-4505-bb58-6d8f9334caed', 'Sub-CPMK-9', 'Mampu mengimplementasikan algoritma sorting menggunakan bahasa pemrograman yang dipilih', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('e013b9db-5090-4372-9cc5-07e3d620fd12', 'd8acfdc5-4529-4da9-888c-1c3e70921d90', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan konsep dasar komputasi dan peranannya dalam teknologi modern.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('e026fb85-b66d-41b4-98a8-7df42927eb01', '03106913-ec92-4e12-8dff-f573c28cdcae', 'Sub-CPMK-14', 'Mampu menjelaskan prinsip kerja dan karakteristik berbagai jenis dioda dalam aplikasi pengaturan arus.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('e045ccc1-b10f-42b5-b20c-6c75c7c046c1', 'ef58dd56-bcf5-4de3-8119-7f9dbb4d338e', 'Sub-CPMK-11', 'Mengidentifikasi dan menerapkan prinsip etika dalam setiap tahap perancangan proyek', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('e076759c-2614-4fcb-b7c1-c6517e67721d', '56c85de5-8d7a-4ce4-8ef4-f40c54564fb7', 'Sub-CPMK-6', 'Mahasiswa mampu mengevaluasi kebijakan lingkungan yang ada dan relevansinya terhadap proyek pembangunan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('e0944b7e-3927-41af-9f1d-fc67055fd2c1', 'ccac29b4-8788-4827-a7f8-3b898d445d49', 'Sub-CPMK-7', 'Menghitung tekanan tanah aktif menggunakan rumus Rankine dan Coulomb untuk kondisi tanah yang berbeda', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('e0b9475c-5f8c-4e0a-8a1e-b4e83ff87452', '3c53f806-7263-442c-82b1-077aabd28a8a', 'Sub-CPMK-11', 'Mampu merancang dan mensimulasikan skema proteksi menggunakan perangkat lunak untuk sistem transmisi dan distribusi.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('e0c1ff7e-f7c3-4ee6-871b-30f05c28b844', '79bdc719-8415-4f17-90d0-4299b46f82c7', 'Sub-CPMK-7', 'Mampu mengkonfigurasi alat CI/CD seperti Jenkins atau GitHub Actions untuk otomatisasi build aplikasi.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('e0d58fa3-8c82-428a-bf46-f38d79d6db6d', '5006cfb9-5976-4bd9-950a-0290c1e3e091', 'Sub-CPMK-7', 'Mampu mengidentifikasi jenis penelitian yang sesuai dengan pertanyaan penelitian yang dirumuskan.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('e0da3ce6-cb2d-4db5-9f15-f28ab7ba4b44', 'd533054c-1180-446e-b08c-91c24560eb90', 'Sub-CPMK-5', 'Mahasiswa dapat menjelaskan konsep dan jenis-jenis persamaan non-linear serta aplikasinya dalam pemodelan matematis.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('e10ce256-d7a0-4764-92af-c636c2551b05', 'dffe0dc3-224a-40a6-ba65-4ff9ca49059d', 'Sub-CPMK-10', 'Mampu menganalisis dan menghitung propagasi sinyal dalam medium tertentu menggunakan rumus gelombang.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('e10d6762-b2db-4eb6-9ef8-1da377bd159d', '07c66d9f-a26e-4136-a15e-1e4976886a8c', 'Sub-CPMK-5', 'Mahasiswa mampu mendefinisikan dan memberikan contoh metode pembuktian dalam konteks matematika.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('e11534b3-55c9-4399-8aee-a6ccd0e34bc5', '31538e15-bb1d-4598-a663-7320d80c3e41', 'Sub-CPMK-14', 'Menganalisis data hasil pengukuran resistansi dan arus listrik untuk menentukan nilai resistansi menggunakan grafik.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('e1249930-2aae-4e16-a12f-4cb30d119111', 'bfb66b43-a536-4091-bc9c-4b217f73b45a', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menjelaskan berbagai metode rasterisasi yang digunakan dalam grafik komputer.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('e176660e-1753-444b-84af-74b004565d62', '4b7f39e2-9360-4618-8090-64a4f8aa3fc6', 'Sub-CPMK-1', 'Menjelaskan komponen utama dari Computational Thinking, termasuk dekomposisi, pengenalan pola, dan abstraksi.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('e1870a63-e3c8-4a37-9625-a5902c3afb1a', '3acef674-8cf1-43c3-89c6-6d040821ff0a', 'Sub-CPMK-2', 'Mahasiswa dapat menganalisis studi kasus terkait penerapan desain universal dalam arsitektur publik.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('e1b89d14-f30e-4bd0-85ee-cc23f82100cd', '44bb8eac-dc4b-44a1-9de9-4e75b7b3a449', 'Sub-CPMK-7', 'Mengidentifikasi dan memilih dataset yang relevan untuk pre-training model LLM pada domain spesifik.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('e1c28592-81c8-476b-b287-274cc15c95eb', '396ee68b-a6cc-4787-9937-efd00619cbdd', 'Sub-CPMK-8', 'Mahasiswa dapat memilih metode penelitian yang sesuai berdasarkan karakteristik data yang diperlukan.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('e1cb5ee3-3928-4168-8221-15dbc39c45c7', '29d83d95-7e4b-43ce-96b8-f29fe33e8d71', 'Sub-CPMK-2', 'Menganalisis model ancaman yang umum dalam komunikasi digital dan dampaknya terhadap keamanan data.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('e1e0d70b-a23e-43ea-ad6f-217872fd3bb6', 'f966bb04-c624-4d07-99af-efd53db9a46b', 'Sub-CPMK-14', 'Mampu merancang skema pengiriman sinyal dalam sistem komunikasi satelit dengan mempertimbangkan parameter teknis seperti frekuensi dan bandwidth.', 7.14, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('e1fe067e-c97c-435d-a41e-89266dd9e871', 'edb17d18-3b30-4a0d-bee9-1e5ba83f1137', 'Sub-CPMK-14', 'Mahasiswa mampu membuat sketsa awal dan diagram yang menggambarkan konsep desain arsitektur tropis.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('e201e726-86be-427f-99ad-a31bc2a337d5', 'a246817f-14b6-4f05-a1e3-a4b7533ded6f', 'Sub-CPMK-2', 'Dapat menganalisis dan membandingkan berbagai algoritma machine learning serta memilih algoritma yang sesuai untuk kasus tertentu.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('e2422c24-6da2-41f8-98d1-4f475f1e8359', 'd533054c-1180-446e-b08c-91c24560eb90', 'Sub-CPMK-8', 'Mahasiswa dapat membandingkan berbagai metode penyelesaian numerik untuk persamaan non-linear dan memilih metode yang paling sesuai berdasarkan kriteria tertentu.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('e24dccae-aebc-4470-998d-453e5f39109e', '3c05ed0f-8ca4-4697-9b72-0d8482e44bf4', 'Sub-CPMK-3', 'Mahasiswa mampu menjelaskan konsep momen dan bagaimana momen mempengaruhi keseimbangan elemen struktur.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('e25beb82-026a-4e29-811f-391520c793fc', '2386577e-820b-4dbd-bea2-a19b9787d5ef', 'Sub-CPMK-4', 'Mampu mendeskripsikan komponen dasar jaringan telekomunikasi, termasuk perangkat keras dan perangkat lunak yang terlibat.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('e25d06fa-6205-48e2-aa46-f33ad05db0a4', '9abe650c-5da8-482c-926c-1c416b933863', 'Sub-CPMK-10', 'Mengidentifikasi elemen dasar dalam gambar teknik seperti garis, simbol, dan anotasi.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('e29f3cbc-2048-4b8b-a83f-18b874207e3d', '810ba7e9-a9ed-419b-acd5-26476de9c49c', 'Sub-CPMK-5', 'Mampu mengekstrak bukti digital dari perangkat mobile dan menjelaskan prosesnya.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('e2a1ae07-aa19-4b8e-94d0-7a0fbe5389d2', '667b7d4f-c9bb-444b-8087-7735b1efdade', 'Sub-CPMK-9', 'Mampu menganalisis risiko gangguan pada sistem tenaga listrik dan menentukan kebutuhan proteksi yang tepat.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('e2a7526e-fb00-4bc1-a3d8-d36b3f7df283', '4114e103-8df9-4134-8659-17fb7b4edb4f', 'Sub-CPMK-4', 'Menganalisis dan menjelaskan kerentanan pada lapisan aplikasi dalam protokol jaringan seperti HTTP dan HTTPS.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('e2af5335-c73c-4f76-9337-8dae0ba1909f', 'c17b07a1-b3cc-4634-b03e-94a7de93bd74', 'Sub-CPMK-13', 'Menganalisis sifat fisik dan mekanik tanah untuk menentukan kesesuaian lahan dalam perencanaan teknik sipil', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('e2f4a9fb-a695-4f5c-8c0c-5c96fe2daead', '67ca2b05-d6bf-449c-a966-d16885d03e3b', 'Sub-CPMK-9', 'Mampu menganalisis dan membandingkan performa rangkaian berbasis transistor dan op-amp dalam aplikasi penguat sinyal.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('e2f7569a-c0a8-41f5-8f4a-ee46f8747652', 'edf85530-5a0c-4515-a905-35665ee0c1a4', 'Sub-CPMK-8', 'Mampu merancang instrumen penelitian yang valid dan reliabel untuk pengumpulan data.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('e306bdab-9960-439a-a5b4-0ca7a12c846f', 'b4ceef90-e44b-4671-bf53-0b55e5aad65a', 'Sub-CPMK-12', 'Mampu menentukan parameter distribusi normal (mean dan standar deviasi) dari data yang diberikan.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('e30c1adf-4164-4d01-96cd-d0f40b29572f', '361fc802-a9c1-43fc-841a-df1b3d20a2d4', 'Sub-CPMK-3', 'Menjelaskan konsep berat jenis dan pengaruhnya terhadap tekanan fluida.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('e318a5d9-82e8-4ce2-867c-8729d4ca4228', '1ff730bc-15a6-4df1-be00-f86e3b18b4bd', 'Sub-CPMK-11', 'Mampu menggunakan pointer untuk mengakses dan memodifikasi elemen array secara dinamis.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('e3404b70-11e0-4362-be57-faa88d06b085', '3b2ef9c8-c5a2-4ceb-b2b2-0ccb2f918587', 'Sub-CPMK-6', 'Mampu menggambarkan algoritma yang telah dibuat dalam bentuk flowchart yang jelas dan sistematis.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('e35ec4c4-3858-452e-ab63-c38e5cbc554d', '7f3f9007-eced-420c-a7ad-687f8ae9bd56', 'Sub-CPMK-14', 'Mahasiswa mampu menyusun layout ruang luar yang fungsional dengan mempertimbangkan aspek estetika dan lingkungan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('e38699fd-e5c5-47d5-8a06-8c00b038b697', '28ffcabe-6b14-4290-949a-0e66844f2442', 'Sub-CPMK-11', 'Mampu mengkonfigurasi alat CI/CD seperti Jenkins atau GitHub Actions untuk proyek cloud-native.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('e3a351a1-ef9b-429f-87a8-e18a1f961462', 'b0e76ffb-3394-4db7-a4ad-5f8a130ea816', 'Sub-CPMK-4', 'Mengidentifikasi dan menjelaskan berbagai model komunikasi dalam sistem terdistribusi, termasuk model client-server dan peer-to-peer.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('e3ac71f4-572a-4ed7-a8da-497ce6ab88db', '77aaac14-4402-4f4f-9d2b-99c91759a2cc', 'Sub-CPMK-5', 'Membuat tampak potongan bangunan teknik dengan detail ukuran dan skala yang tepat secara manual.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('e3ac86e6-2016-4e76-b8df-1390474771a5', 'b665d3b3-5ed5-4d75-911c-be2c31dd8a0b', 'Sub-CPMK-14', 'Mampu menggunakan HOMER untuk melakukan analisis biaya dan manfaat dari sistem energi terbarukan yang terintegrasi, termasuk evaluasi keberlanjutan.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('e3b92244-0f03-4407-8f08-17bcab835099', 'bf87734b-648b-469b-84db-f231f4063cc0', 'Sub-CPMK-14', 'Mampu membuat visualisasi grafik dari sinyal yang dimodelkan menggunakan perangkat bantu dan menjelaskan karakteristik sinyal tersebut.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('e3c3727b-4607-4051-8d05-79cbfcdf1b8f', '6b8aa0c1-94cb-4bef-86ff-b4a93e2193c6', 'Sub-CPMK-6', 'Menggunakan integral untuk menghitung area di bawah kurva yang merepresentasikan akurasi model AI.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('e409fe77-444c-4094-9c61-10b73c6fd67a', '982e415b-5609-44de-9441-e5e976aae27e', 'Sub-CPMK-7', 'Mampu melakukan analisis kebutuhan dan karakteristik air untuk perancangan jaringan perpipaan.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('e416961d-39d7-4a75-811e-413f01e56a4f', 'c71574c3-b0ad-45dd-ab2e-5bc8df9966da', 'Sub-CPMK-7', 'Mampu menganalisis dan merancang algoritma pemecahan masalah dengan pendekatan logis dan sistematis.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('e41ff702-8890-4708-9bdb-7ab29e2a3c09', '072f0fd4-91af-45e4-954f-f0a6a71f4e7e', 'Sub-CPMK-1', 'Mampu mengidentifikasi dan menganalisis dataset yang relevan untuk pengembangan model machine learning.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('e42134c5-3b8f-4420-87c3-dd5c8769ef85', '5c19904f-7949-41c4-bca2-de97ee1400c3', 'Sub-CPMK-1', 'Mampu mengidentifikasi dan merumuskan masalah penelitian yang relevan dengan topik Tugas Akhir.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('e43b903d-70c8-46f9-8488-a8e5092bb49f', 'e8d5cadb-b87d-465d-a8ee-4033df637cf3', 'Sub-CPMK-12', 'Mahasiswa mampu menghasilkan gambar kerja detail konstruksi yang mencakup rencana pemotongan dan penyambungan material sesuai spesifikasi teknis.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('e4558f33-2292-4e13-895d-025726accdbf', 'f008db96-9edb-4cbb-9181-05e746ee510e', 'Sub-CPMK-10', 'Mampu melakukan analisis kerentanan keamanan perangkat lunak menggunakan teknik pengujian penetrasi.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('e47c71d5-0450-4891-88ea-6d6ec7f702c7', '126c4840-e15b-4be8-81a1-f2e394209ebe', 'Sub-CPMK-2', 'Dapat menjelaskan dan menerapkan konsep rangkaian resonansi pada sistem AC.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('e4a549ba-89b7-4325-9bdf-c254a6042a69', '145166ff-2723-4cd3-a1bc-9312776ce3fe', 'Sub-CPMK-14', 'Mampu merancang model sistem kontrol sederhana dan melakukan simulasi awal menggunakan MATLAB/Simulink.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('e4be9da2-6962-4856-8bce-2f12eafd42f3', '362fc8d8-e5f8-493f-b20c-101683736f2e', 'Sub-CPMK-8', 'Mengidentifikasi elemen-elemen desain yang mendukung keberlanjutan dalam kawasan yang menerapkan arsitektur hijau.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('e4c4c2ca-f118-4cab-a1d0-dedc12675442', 'b92863af-4a2d-466c-a23b-95780242ae69', 'Sub-CPMK-2', 'Mampu menyusun pertanyaan penelitian yang spesifik dan dapat diuji.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('e4e14a51-7a99-45ca-8f4f-c430fed72dce', '4f47825e-7a0f-40b1-be6e-f782dd03dcc8', 'Sub-CPMK-10', 'Mahasiswa mampu membuat gambar 2D yang memenuhi standar teknis dan estetika perancangan arsitektur.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('e4fd6854-64f8-420f-b37d-aafef598334a', '2ca7ab7d-8b63-4dcf-9541-a87ed690de7d', 'Sub-CPMK-12', 'Mampu melakukan percobaan untuk mengukur induksi elektromagnetik dan menjelaskan hasilnya berdasarkan hukum Faraday.', 0.00, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('e507de27-ce4e-4f2e-83d9-490188c7d85a', 'e07e9197-c4fd-4749-96d3-aed37fdcc4e8', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi dan membandingkan berbagai protokol komunikasi yang digunakan dalam IoT.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('e5094c1d-5af9-4f15-8f9c-b773b307dd97', 'b1143494-cc23-4fb2-8433-27a15b764e1e', 'Sub-CPMK-6', 'Mampu menerapkan metode desain yang sesuai untuk perancangan sistem elektronik, termasuk skema rangkaian.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('e50d9180-6834-46c8-b463-ba728cfa89b7', '12080fea-ba45-40e6-9bc3-7def3f1cc18c', 'Sub-CPMK-8', 'Mahasiswa dapat melakukan analisis SWOT untuk mengidentifikasi kekuatan, kelemahan, peluang, dan ancaman dalam konteks usaha.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('e527e6d3-9838-402d-84fe-f8dbb08f2e8a', '9f397977-5161-479b-93ce-ee17f7992f62', 'Sub-CPMK-14', 'Mampu menyajikan hasil program dalam bentuk presentasi yang efektif dan menarik.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('e5402bfa-7018-4f7d-bf59-70106be0bc3c', 'cd5fe35d-2c67-49b7-a048-8dfd9e62d3be', 'Sub-CPMK-1', 'Mampu mengidentifikasi dan menerapkan prinsip-prinsip etika dalam pengembangan perangkat lunak sesuai dengan nilai-nilai religius', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('e544b937-5e90-4ae9-b797-8ff9c3f9136f', '78f4affe-78aa-4215-b79a-cf6b878b066a', 'Sub-CPMK-11', 'Mampu merancang rangkaian sensor dan aktuator yang sesuai untuk mendukung fungsionalitas sistem tertanam.', 0.00, '2026-01-17 00:58:22', '2026-01-17 00:58:22'), +('e557db8f-ac3d-428b-9d79-7fbddc8b7f50', '164332c1-354c-4938-b9cb-d1870763a8e0', 'Sub-CPMK-9', 'Mengevaluasi efektivitas protokol komunikasi yang digunakan dalam sistem telekomunikasi berbasis elektronik.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('e56d53f3-456d-446e-8265-235c2940a54d', '7b862d8f-d0a1-4752-a6bd-da2509c6b94f', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan prinsip kerja dan karakteristik dioda, transistor, thyristor, dan IGBT dalam aplikasi sistem daya.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('e58ff83b-4035-4f14-a304-35f1cb889494', '5f60965c-0788-4288-a433-5de4df19a1f3', 'Sub-CPMK-10', 'Mampu menganalisis kinerja sistem kontrol menggunakan metode LQR dan menentukan parameter optimalnya.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('e5911f6b-37c8-41c3-9627-bddbfb21970a', 'ce84e49d-e79f-40f8-ab53-78a15e2d6250', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menerapkan standar keselamatan kerja dalam instalasi listrik, termasuk penggunaan alat pelindung diri dan prosedur kerja aman.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('e591fd50-5aeb-4d2c-9bbb-15bd27ae7531', 'bf096086-bd1a-479e-9ab3-4cf0024ab183', 'Sub-CPMK-3', 'Mengidentifikasi dan menganalisis gangguan tanah serta memberikan solusi proteksi yang tepat.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('e59d7be2-050d-49d3-a6b4-5873cb02d53f', '5fc24441-f36d-42b9-9298-207cbbff407c', 'Sub-CPMK-3', 'Mahasiswa mampu menghitung turunan dan integral numerik menggunakan metode trapezoidal dan Simpson, serta membandingkan ketelitian masing-masing metode.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('e5cca246-e12f-499b-86b6-40dca041da06', '74ee11fe-46f1-4125-ada7-77c22c11fe71', 'Sub-CPMK-4', 'Menganalisis aliran fluida ideal menggunakan persamaan kontinuitas untuk berbagai geometri saluran.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('e5dfa414-0758-4a79-8af3-cd1c098418eb', '5bf2ba15-3b73-41d3-9023-08466d31fd30', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan perbedaan antara metode analitik dan metode numerik dalam pemodelan matematika.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('e5e7a995-9a91-4232-94cd-6ffb226dc045', '4036b07d-48cb-455c-92ec-fe7ecc7d9efe', 'Sub-CPMK-9', 'Mampu menyusun struktur presentasi yang logis dan jelas untuk menyampaikan hasil proyek.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('e60c4761-8dc1-436e-9d9c-3d875b315870', '6c206662-4de3-410c-88f7-b5d01439b609', 'Sub-CPMK-14', 'Mahasiswa mampu melakukan navigasi dasar dalam sistem file pada Linux dan Windows menggunakan command line interface.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('e621715a-9e65-4fe7-9cdc-07fc2b5ad3a0', 'f79800c1-a9b6-4390-a84b-bb357833f4fd', 'Sub-CPMK-8', 'Menganalisis berbagai model bisnis yang mengintegrasikan prinsip kewirausahaan dan inovasi.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('e623dbe3-a81b-4c11-9e92-9d06ba483310', '646519ec-d32f-4b3e-a708-3721147712d5', 'Sub-CPMK-14', 'Menerapkan teknik optimasi indeks untuk meningkatkan kecepatan akses data.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('e62fc9b8-bb81-4c1a-a1ad-159b8c922b0a', '164332c1-354c-4938-b9cb-d1870763a8e0', 'Sub-CPMK-8', 'Melakukan pengujian dan pengukuran sinyal pada berbagai komponen sistem telekomunikasi untuk menilai kualitas sinyal.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('e645ba4a-282f-406e-969d-7c13d256f21f', 'b4f46ee8-7d4b-4293-8fb8-4aed4f12f08a', 'Sub-CPMK-6', 'Mahasiswa mampu menghitung dimensi dan penulangan untuk balok dan kolom sesuai dengan standar yang berlaku.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('e66daeb5-142d-48b1-8420-6a5d192fba8e', '022ab92a-ea4e-4d57-a1e5-728611754fca', 'Sub-CPMK-1', 'Mampu menerapkan konsep aljabar dalam menyelesaikan masalah arsitektur sederhana.', 0.00, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('e6a04dcd-1631-4618-801f-59af27d873fc', '23a59c25-7d53-4073-8224-a955efde51b2', 'Sub-CPMK-12', 'Mahasiswa dapat mengintegrasikan elemen arsitektur dengan sistem transportasi dan aksesibilitas kota untuk meningkatkan mobilitas masyarakat.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('e6b5917b-5cfa-446e-b887-d6ef7fcfad9c', 'cdbba9c5-ae06-4294-bc79-f080db830f4b', 'Sub-CPMK-5', 'Mahasiswa mampu menghitung waktu salat harian berdasarkan posisi matahari menggunakan metode hisab Muhammadiyah.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('e6b634a0-d33e-4792-9819-d74dac806a73', '3f5aa153-cd2b-4950-bf50-0decce2677c9', 'Sub-CPMK-4', 'Menghitung arus listrik menggunakan hukum Ohm pada rangkaian listrik sederhana.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('e6be1674-cf89-415c-beff-baaae4a7f2bf', '6bbfb4b5-e7bd-4974-acde-12ad806aad3f', 'Sub-CPMK-4', 'Mengimplementasikan algoritma klasifikasi seperti Decision Tree dan Random Forest pada dataset nyata untuk menyelesaikan masalah klasifikasi.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('e6e26247-935c-4e2f-8e6a-d2e45924a1eb', 'b7c361ee-91ed-498b-8fd1-f7fe8e06ea3e', 'Sub-CPMK-7', 'Mampu melakukan integrasi antara front-end dan back-end menggunakan teknik komunikasi seperti RESTful atau GraphQL.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('e6e90010-cc35-4b14-a421-3b88af80fc21', 'f556dab1-731b-46ff-a996-159473fe451b', 'Sub-CPMK-9', 'Mampu mengevaluasi dan merevisi desain berdasarkan umpan balik dari penguji dan pengguna selama proses presentasi.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('e6f82200-7d1f-434c-8954-4a318409ae39', '77f020c6-97c6-47fe-968d-e2f2c664c68c', 'Sub-CPMK-11', 'Mampu mengidentifikasi dan mengklasifikasikan jenis bukti digital yang relevan dalam sebuah kasus investigasi.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('e7222b3c-bd9b-4ebb-9a78-b15404f03fa3', 'f8f1252d-2700-49c2-b8b4-902edeb37c14', 'Sub-CPMK-6', 'Mengidentifikasi dan menjelaskan konflik antara prinsip etis Al Islam dan Kemuhammadiyahan dengan praktik bisnis modern.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('e734f5f7-d9f0-4fcf-892b-31bd83a1e365', '70ac8fb6-9aec-4106-a700-829757c6d47e', 'Sub-CPMK-5', 'Mampu menjelaskan karakteristik arus-voltage dari transistor dan aplikasinya dalam penguat sinyal.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('e7406967-edd1-499e-a65c-23f9902f57d2', 'dbb72d9a-e771-45f3-aacf-3e3e9226b456', 'Sub-CPMK-11', 'Mampu melakukan simulasi pencocokan impedansi menggunakan perangkat lunak simulasi seperti ADS atau HFSS.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('e75cf41b-eaf6-41c0-9552-9b34f10a04a3', 'a85d9ee0-14cc-4c77-a112-41361e22d7ef', 'Sub-CPMK-6', 'Mampu menerapkan metode analisis dinamis untuk menentukan respons struktur terhadap beban gempa.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('e7609889-f581-4527-b74a-f9a698c8e319', 'd788fb94-5979-4818-84d5-78b6c676317b', 'Sub-CPMK-14', 'Menganalisis eksperimen kunci yang mendukung teori kuantum, seperti eksperimen celah ganda.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('e76567f3-7abd-4dd2-b98a-1d67846c5178', 'd961dfa8-ce8a-4d30-b5d9-6ca9877a9d16', 'Sub-CPMK-9', 'Mampu menerapkan hukum kekekalan momentum dalam perhitungan tabrakan antara dua benda.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('e767803c-da65-4e3b-bc2a-761fd553a32d', '1993f99d-f546-4809-9b6b-14b5c5ef1c94', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi dan menggunakan berbagai tipe data yang tersedia dalam bahasa pemrograman untuk menyimpan dan memanipulasi data.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('e776e062-ff0c-4972-b38a-bf0ec9eacdc1', '755ad49c-d112-4791-9850-ccbd6ca758de', 'Sub-CPMK-12', 'Mahasiswa dapat menjelaskan konsep dasar pemprosesan parallelisme dan perbedaannya dengan pemprosesan serial.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('e7845d09-b239-446d-a102-4a19cb6f2381', '32a64cee-cde1-46b6-851d-ab17c8f7cbca', 'Sub-CPMK-7', 'Mampu mengevaluasi dan merekomendasikan praktik terbaik untuk integrasi dan pengiriman berkelanjutan sesuai dengan kebutuhan organisasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('e784ceb7-049d-43eb-b16b-999769058b3e', '50fb33cd-e7ab-4949-a93b-4e6d3fe1577e', 'Sub-CPMK-3', 'Menjelaskan proses pembentukan dan perubahan struktur bumi melalui aktivitas geologis', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('e7ce97ce-85ae-48f8-b01f-79ffacd7bab9', '5ef31e34-35e7-43b7-abef-71e18a5fba75', 'Sub-CPMK-11', 'Menghitung daya dukung pondasi dangkal menggunakan teori Terzaghi dan membandingkan hasilnya dengan metode Meyerhof.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('e7d054b8-a4a4-485a-af89-c70d4b2b6622', '0c9de959-44ae-4c0b-8265-8c17630df9af', 'Sub-CPMK-2', 'Mampu menganalisis struktur artikel ilmiah dari berbagai jurnal untuk mengidentifikasi kelebihan dan kekurangan dalam penyampaian informasi.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('e7ee1b51-28ac-43fb-b6d4-dcc04f751f0f', 'e727d1a7-a5df-4bbf-a5bd-2d2d82500815', 'Sub-CPMK-10', 'menganalisis siklus hidrologi dan pengaruhnya terhadap ketersediaan sumber daya air', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('e80f681b-492e-437e-8e85-a76c4d7eb712', '4061ae35-2287-451f-a5e9-3d0e918094c8', 'Sub-CPMK-10', 'Dapat menerapkan metrik evaluasi untuk menilai kinerja model generatif dalam berbagai konteks aplikasi.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('e83af6b3-d37c-4e17-8cc7-f6ebb5d12027', '98d34800-c46e-4d87-a189-144b8557af41', 'Sub-CPMK-1', 'Menganalisis parameter fisik, kimia, dan biologis air yang mempengaruhi kualitas air dalam jaringan perpipaan.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('e88da52a-e472-4060-b986-d74c73dad556', '45ace441-3d99-49fe-a715-85a81d051e8e', 'Sub-CPMK-2', 'Mahasiswa dapat menulis dan mengimplementasikan program sederhana menggunakan bahasa pemrograman C/C++ untuk kendali LED dan seven segment.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('e8a29db9-cc3d-46b2-af25-71f2f01d37b3', '50fb33cd-e7ab-4949-a93b-4e6d3fe1577e', 'Sub-CPMK-1', 'Mengidentifikasi dan menjelaskan lapisan-lapisan bumi beserta karakteristiknya', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('e8a2a0c5-5b85-48a1-834a-22bc3ae5cd6a', 'd203aabe-5e96-4d1f-8f21-aa58a106fbae', 'Sub-CPMK-10', 'Mampu melakukan analisis kebutuhan daya listrik berdasarkan jenis penggunaan dan karakteristik bangunan', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('e8b4b398-5608-4bcd-abc1-e4936d35589e', 'eaffbb94-225c-419b-bdd2-d3b2271aecc1', 'Sub-CPMK-7', 'Mampu menerapkan hukum Newton untuk menganalisis gerak benda dalam berbagai kondisi.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('e8d17cb0-c5ce-4f11-b1fd-c9e6e4b4796b', 'f37fc2bf-9f8a-44e2-99d4-321d1b901658', 'Sub-CPMK-11', 'Mampu menganalisis dan membandingkan berbagai algoritma pengkodean sumber seperti Huffman dan Lempel-Ziv.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('e8f0983a-6526-48f4-82fd-a2b0cc59f9d4', '57567ee3-19f5-4d1a-990d-eaa691d75a9f', 'Sub-CPMK-10', 'Menganalisis data kasus nyata yang menunjukkan tantangan dalam implementasi AI di industri.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('e8f5ecee-989f-4c71-9eff-03c0c822a027', 'c9aba430-1a31-41e9-88ca-336d024440ca', 'Sub-CPMK-4', 'Menjelaskan definisi dan komponen utama kecerdasan buatan serta perannya dalam sistem tenaga listrik.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('e94c0e42-ce84-4594-9557-579ba17a741d', 'd533054c-1180-446e-b08c-91c24560eb90', 'Sub-CPMK-7', 'Mahasiswa dapat menghitung dan menginterpretasikan nilai error dalam metode numerik yang digunakan untuk menyelesaikan persamaan non-linear.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('e95eef00-3dbd-4621-bc6d-16b410918c0c', 'd8f2b4a6-8048-4d98-8395-526e5b3178af', 'Sub-CPMK-5', 'Mahasiswa dapat membandingkan dan menganalisis pengaruh budaya lokal terhadap desain arsitektur Islam di berbagai negara.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('e988f1c7-0bed-422b-b376-ba208bb94248', '4c175b45-d2ed-4129-97f9-df2860315dfc', 'Sub-CPMK-5', 'Menganalisis dokumen regulasi K3 yang berlaku di Indonesia dan membandingkannya dengan regulasi internasional', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('e98adae9-b290-42c7-99a1-b91386103cdb', 'e07e9197-c4fd-4749-96d3-aed37fdcc4e8', 'Sub-CPMK-3', 'Mahasiswa dapat merancang dan mengimplementasikan proyek sederhana IoT menggunakan perangkat keras dan perangkat lunak yang sesuai.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('e98b8b65-9568-485d-9331-3f84ac4c496e', '834235e4-7ffa-4e7c-b257-dcb8d1096867', 'Sub-CPMK-12', 'Mampu melakukan studi kasus untuk mengevaluasi dampak kebijakan energi terhadap produksi dan distribusi listrik di Indonesia.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('e98bc760-07b2-4a4a-8a87-a3abb947b950', '1b103f8d-7535-4119-b3d5-d2db53b1c19b', 'Sub-CPMK-6', 'Menyusun strategi evaluasi model yang meliputi metrik dan metode validasi yang tepat.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('e992670f-6f51-422c-8fff-ca72497b6c53', '0da5f355-047a-46f5-b5e9-04433b74db1d', 'Sub-CPMK-6', 'Menganalisis peran informatika dalam pengolahan data dan informasi.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('e9a30f48-5e1f-47b8-9f94-3ceb5eea2aad', '573141f4-5fca-4e5b-8c7f-0639d8b92117', 'Sub-CPMK-6', 'Mampu membedakan jenis-jenis ikatan kimia, termasuk ikatan ionik, kovalen, dan logam serta memberikan contoh masing-masing.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('e9a4afef-5aec-4725-915c-28c8f9f761c0', '5109d83d-4ff3-46a5-b40c-eb949fc128be', 'Sub-CPMK-12', 'Mampu melakukan simulasi rangkaian menggunakan perangkat lunak simulasi dan menganalisis hasilnya.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('e9b21a46-3be6-4780-b2c0-4318c5995e03', '063f4a98-2d2e-4e6f-bb62-99ff9085402e', 'Sub-CPMK-5', 'Mahasiswa mampu menganalisis data iklim lokal termasuk suhu, curah hujan, dan angin untuk menentukan dampaknya terhadap desain tapak.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('e9b80290-842c-4c06-ae24-1524e13eebae', 'a38894f5-b0a4-45e8-85a8-71c37be48b6f', 'Sub-CPMK-8', 'Mampu menganalisis dampak multipath terhadap kualitas sinyal dalam komunikasi nirkabel.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('e9baa14d-c3e7-4251-a9e3-75ad35b6df58', 'a8742661-f821-491e-806f-02af76eb8fb7', 'Sub-CPMK-4', 'Mampu menyusun rencana proyek yang mencakup tujuan, ruang lingkup, dan sumber daya yang diperlukan.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('e9e0e0bc-411d-4e2c-8f93-36521876720b', '4c9bd28c-0f5b-403e-9cfe-b95fc4405729', 'Sub-CPMK-12', 'Mahasiswa mampu merancang algoritma dasar untuk aplikasi AI sederhana, termasuk pemilihan model dan metode pembelajaran yang sesuai.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('e9f57e97-754b-4959-b75c-cfabfcd88969', '73a6b205-6014-4608-b65b-f4e490bf13ec', 'Sub-CPMK-3', 'Mahasiswa mampu merancang skema struktur bangunan mid-rise berdasarkan fungsi dan kondisi tapak yang ditentukan.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('e9ff90ab-de28-4479-8391-3975cfd0a8c1', '032b1d1c-baa0-48e4-b563-feb9a157f3c4', 'Sub-CPMK-8', 'Mengidentifikasi nilai-nilai Al Islam dan Kemuhammadiyahan yang dapat diterapkan untuk menyelesaikan konflik sosial yang terjadi di masyarakat.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('ea08b848-6373-4a50-8b96-bd84831095b8', 'e57586d1-5c3e-4b06-adcc-5077a7f97c9d', 'Sub-CPMK-7', 'Mahasiswa dapat merancang denah bangunan yang memperhatikan sirkulasi, pencahayaan, dan ventilasi yang optimal.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('ea0d409e-53d0-45a1-81f2-da598c348e33', 'fe78ffef-ab3d-44c1-aacd-7c9b0a6a10f2', 'Sub-CPMK-12', 'Menganalisis kompleksitas waktu dari algoritma menggunakan notasi Big O dan memberikan contoh aplikasinya.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('ea10349e-27c7-4263-9cc7-301f7f52ca2e', 'f162c884-fd50-44e4-9468-0f6cfc68edb1', 'Sub-CPMK-5', 'Menganalisis konvergensi metode numerik tertentu dan menentukan kondisi yang diperlukan untuk konvergensi.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('ea19183e-676c-4aec-b471-4971e363c1e9', '4c94fc6c-6ea4-448d-a582-81aff5b8a06e', 'Sub-CPMK-11', 'Mampu mengidentifikasi dan menganalisis potensi bias dalam data dan model serta menyusun strategi mitigasi.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('ea1cbe7b-b5e5-4d13-991d-03bffa718f04', '5b815aff-8ec2-4c70-a044-fbe194488679', 'Sub-CPMK-4', 'Mampu menjelaskan prinsip dasar gelombang elektromagnetik yang digunakan dalam sistem radar.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('ea2c93ad-e602-4bb7-a0c5-c4c4b6e27c59', '3aba9c16-1a7c-4b8d-b28b-8df16ee1c28f', 'Sub-CPMK-13', 'Mampu mengidentifikasi dan menjelaskan pentingnya etika dalam perencanaan publik dan dampaknya terhadap masyarakat.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('ea306682-47c5-44b8-8c14-27754aecb631', '9821e46e-bde7-48ce-bbec-238aeff8a6f0', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi berbagai jenis fungsi bangunan dan pengaruhnya terhadap kebutuhan pengkondisian.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('ea45b36c-9e95-4284-bec0-31d67c2be6d2', '316e038b-6473-401b-8cb3-0d7cfe49f168', 'Sub-CPMK-8', 'Mengimplementasikan algoritma auto-scaling yang efisien untuk menangani fluktuasi beban di aplikasi berbasis cloud.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('ea4726e9-636c-4068-993f-2fa92302eed0', 'f8201506-e9d4-47cf-bbf2-b084b0d90cb8', 'Sub-CPMK-11', 'Menghitung pH dari larutan asam dan basa serta menjelaskan faktor-faktor yang mempengaruhi pH.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('ea47f34b-b7a3-4f6a-aa4d-73c1ee15115a', 'c8570682-36f8-43ce-9f32-9a71be361b95', 'Sub-CPMK-3', 'Menyusun proposal penelitian yang mencakup latar belakang, rumusan masalah, dan tujuan penelitian berdasarkan topik yang relevan.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('ea4eb34a-9b6a-40f4-84d6-018687a07c76', 'bddbeb22-271a-4795-9c0b-15ae639567f7', 'Sub-CPMK-13', 'Mengidentifikasi dan menganalisis risiko K3 yang terkait dengan proyek konstruksi', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('ea570eae-060e-4ae7-9b92-644ef157ac7e', 'bf3132a4-795a-46d6-b477-1c45412b50ee', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis kebutuhan ruang berdasarkan fungsi dan kegiatan pengguna dalam perancangan arsitektur sederhana.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('ea679390-5771-4492-8aeb-0a2e1191b77c', '532c443c-ea5c-486c-ab19-582bf4a5f3de', 'Sub-CPMK-11', 'Mampu membuat diagram arsitektur perangkat lunak menggunakan notasi UML dan menyusun deskripsi teknis yang sesuai dengan standar industri.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('ea8f3e46-3419-4f3b-b38c-4fb4fe85b93c', 'b4aaa1d8-1575-43f8-9f0a-34a899f1300f', 'Sub-CPMK-6', 'Merancang algoritma berbasis strategi yang efisien untuk menyelesaikan permasalahan tertentu dengan mempertimbangkan kompleksitas waktu dan ruang.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('ea95c902-c600-43bd-b282-bbdc351016d3', '05d9b352-438a-47c7-a818-baacaf851d42', 'Sub-CPMK-12', 'Mampu menerapkan algoritma optimasi dalam pengelolaan sumber daya energi terbarukan', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('ea9de7c4-eb03-4e4b-b20a-fa8efa5aa584', 'bfb2b93b-7ae2-4efb-9935-ac62f47577c0', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis dan mengintegrasikan elemen-elemen arsitektur dalam perancangan kawasan yang berkelanjutan.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('eaa08914-5e41-4784-802a-a68db04aa40b', 'dca67261-1fd3-4330-a93a-7f4563ab7d4c', 'Sub-CPMK-12', 'Mampu menggunakan metode dan alat analisis yang tepat untuk menyelesaikan masalah rekayasa komputasional.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('eaa0a082-5248-4191-8383-443753adbcb0', '5bf2ba15-3b73-41d3-9023-08466d31fd30', 'Sub-CPMK-4', 'Mahasiswa dapat memberikan contoh aplikasi metode chaotic dalam sistem dinamis.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('eaa344a0-e864-4474-a6ee-0aefb0a466ea', '488e7227-ea48-427f-953e-21f06cffc9e7', 'Sub-CPMK-12', 'Mampu menggunakan perangkat lunak statistik untuk melakukan analisis data dan menghasilkan laporan interpretasi.', 0.00, '2026-01-17 00:58:16', '2026-01-17 00:58:16'), +('eab0870e-f4e5-47de-9836-97a737f763ce', '903b199a-dfef-4550-a1ed-64079f242e58', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan mengevaluasi elemen fisik dalam kawasan permukiman, seperti infrastruktur, tata ruang, dan kualitas bangunan.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('eab0dd43-b1cc-4e28-9df0-1eb725a3dc80', 'd79ecb53-0635-4ae1-a9b8-72cd0ae5d746', 'Sub-CPMK-5', 'Mampu melakukan pengukuran koordinat menggunakan alat GPS dan mencatat data dengan akurasi yang tepat.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('eab9259f-947e-4b5e-8630-0d0e5c8024d1', 'edf85530-5a0c-4515-a905-35665ee0c1a4', 'Sub-CPMK-9', 'Mampu menyusun rencana analisis data yang sesuai dengan metodologi yang dipilih.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('eacb01cf-4def-437f-ab5e-b0f42d915493', 'dca67261-1fd3-4330-a93a-7f4563ab7d4c', 'Sub-CPMK-11', 'Mampu mengumpulkan, menganalisis, dan mengevaluasi data untuk mendukung pengambilan keputusan dalam proyek rekayasa komputasional.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('eacf4871-8623-4504-ba4b-14dffca95a13', 'f7b368cc-7fde-4714-9004-d7e1814f8242', 'Sub-CPMK-9', 'Mahasiswa mampu mengidentifikasi dan menganalisis berbagai nilai dan norma dalam masyarakat yang beragam.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('ead2cf1b-640c-4f9b-ac7c-1f7e3dedf12c', '2f672ca9-0a7c-48ba-a13c-135badedbf42', 'Sub-CPMK-3', 'Mahasiswa mampu mengidentifikasi dan menjelaskan peran berbagai metode penelitian dalam proses desain arsitektur.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('ead99338-b067-4bd2-ab8f-7c603256d13b', 'eb40bea3-7438-432a-8cec-0b60b0694625', 'Sub-CPMK-2', 'Mahasiswa mampu menghitung dan menganalisis variabel acak serta distribusi probabilitas yang relevan dengan data teknik elektro', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('eaea06ee-c328-4cd3-bcec-56aa362e5993', '8321a2c4-1f49-492e-9012-f43158fa3936', 'Sub-CPMK-13', 'Menerapkan prosedur etis dalam pengujian keamanan jaringan dengan menghindari tindakan yang dapat merugikan pihak lain.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('eb11513d-7a76-4002-9d84-a9c46e13f3fc', 'b4ceef90-e44b-4671-bf53-0b55e5aad65a', 'Sub-CPMK-11', 'Mampu menerapkan rumus distribusi Poisson untuk menghitung probabilitas kejadian dalam interval waktu tertentu.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('eb41d191-2b45-441f-ab0b-c679b611bea0', '2129e84f-e922-4a7f-9895-143b7c7a5361', 'Sub-CPMK-2', 'Menganalisis prinsip-prinsip utama dalam kajian AIK dan bagaimana prinsip tersebut diterapkan dalam praktik.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('eb4a0689-4190-4087-ac4d-902a1a39b48d', 'd7fabfab-842f-4eab-9dd6-5617f7ab28cf', 'Sub-CPMK-8', 'Melakukan konfigurasi enkripsi data at rest dan in transit menggunakan layanan cloud.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('eb4b40ad-126a-474f-be52-3e323d641d6d', 'db3d432a-57dc-443c-97f6-dbecc9472dd3', 'Sub-CPMK-8', 'Menghitung nilai medan listrik pada berbagai jarak dari konduktor tegangan tinggi dan memetakan hasilnya.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('eb54ff9f-5903-4b41-897c-dab51d9d0f1f', 'ba87d93f-db7b-49b6-93bf-b1cc7dbb94ef', 'Sub-CPMK-3', 'Mampu menerapkan prinsip-prinsip DevOps dalam pengembangan aplikasi cloud-native melalui penggunaan alat seperti CI/CD.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('eb8c34a3-a470-45ff-a555-3813ab3af9f4', 'cba6a320-1375-4485-baf8-0295e39d36b7', 'Sub-CPMK-9', 'Mengidentifikasi dan mengevaluasi kerentanan sistem menggunakan alat pengujian penetrasi', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('ebbd9fd0-34b2-472a-82ab-4b8c8fccafa6', '6ed6e579-c28a-457e-9079-77b04ac2726c', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi dan menganalisis berbagai jenis struktur kristal serta cacat kristal pada logam dan non-logam.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('ebcb12d1-f8b8-49b4-a249-25caef8ea61a', '60e5b76b-62f2-4b54-9b4e-208e18794563', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan memilih framework yang tepat untuk implementasi model generatif berdasarkan kebutuhan proyek', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('ebdf3a64-5540-402e-834e-c8b58468e3ab', 'b1143494-cc23-4fb2-8433-27a15b764e1e', 'Sub-CPMK-4', 'Mampu melakukan analisis kebutuhan sistem elektronik berdasarkan spesifikasi yang diberikan.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('ebfa1933-07e4-4bb8-847a-3398dffb300a', '21d69f18-f95a-43c8-af45-fa9fd55ad2dc', 'Sub-CPMK-7', 'Mampu menganalisis data kasus nyata menggunakan metode KKP-Plus', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('ebfb3a00-f1ed-4259-a23f-b70d4e55c118', '7d8bb9e8-98d6-4c57-9ca8-eaa0d8be686f', 'Sub-CPMK-11', 'Mampu menambahkan interaktivitas pada halaman web dengan JavaScript, termasuk penggunaan DOM dan event handling.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('ec02ffab-c4a5-449c-bd86-393a57e659d3', '74eb0e5d-adb4-420c-b97c-56ad96a8bb71', 'Sub-CPMK-14', 'Mampu menganalisis respon transien rangkaian RC dengan menggunakan metode transformasi Laplace.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('ec074cc5-61e5-4f1f-9182-f2a78cc1089b', 'ce112d8d-37b1-4b5b-b694-568496ccbc2c', 'Sub-CPMK-10', 'Mampu menghitung integral tak tentu dari fungsi polinomial derajat satu dan dua.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('ec0b4c67-a370-4f2b-b285-fa034c0e7f87', '9b596f56-b511-40d8-b192-7c7ac43a6a5b', 'Sub-CPMK-13', 'Mahasiswa mampu menghitung gaya-gaya yang bekerja pada struktur bangunan menggunakan metode statika.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('ec270a3b-71e1-44fe-8054-9a6d08d35ecf', '7fb1aa11-a563-47ef-adf1-52525d5c8d64', 'Sub-CPMK-13', 'Mengidentifikasi dan memperbaiki indeks yang tidak efisien dalam basis data relasional', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('ec2a659e-ca6a-4025-95b4-4eba4804f7d8', '0b53463d-921b-4f9b-9bbb-75ac84f167cb', 'Sub-CPMK-8', 'Mampu menerapkan metode analisis ruang keadaan untuk menentukan kestabilan sistem linear.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('ec41bb9c-44a3-47b5-a0f2-ae8fd5393ba7', '6acf5fe7-e632-4343-a58e-9529c8866ae9', 'Sub-CPMK-3', 'Mampu mengidentifikasi dan mendokumentasikan jenis ancaman yang umum terjadi dalam lingkungan cloud, seperti serangan DDoS dan phising.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('ec4965cd-a9be-4da5-9902-1d65001ca9bb', '308a5f32-1751-4986-9071-7fced3a9cfd3', 'Sub-CPMK-3', 'Mampu menggunakan perangkat lunak simulasi untuk memodelkan dan menganalisis dinamika sistem tenaga listrik dalam berbagai skenario operasional.', 0.00, '2026-01-17 00:58:30', '2026-01-17 00:58:30'), +('ec700641-dc1d-402b-a8f9-8264ff1f8340', '19c5d402-76a5-4cb9-95d5-47fc15a6dc4b', 'Sub-CPMK-5', 'Mampu mendemonstrasikan penggunaan gerbang logika dasar (AND, OR, NOT) dalam rangkaian logika sederhana.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('eccb2568-567b-4756-b784-852b22eeff9d', '8f385e28-2219-4faf-99bd-d4c49bae4ea7', 'Sub-CPMK-14', 'Mahasiswa mampu merancang dan menghitung beban struktur untuk proyek high-rise dan mixed-use sesuai dengan standar yang berlaku.', 0.00, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('ecf14aeb-0e64-468a-a04d-9b0d3b8db603', '6556f889-39b8-4a07-9d35-ae7766c9586d', 'Sub-CPMK-11', 'Mampu mengidentifikasi faktor-faktor yang mempengaruhi efektivitas KKP-Plus dalam konteks pembelajaran', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('ed09818a-26b1-46e5-931b-528a4bb22889', '36b60b6e-6317-4cde-9e1d-77183d715fd6', 'Sub-CPMK-9', 'Mahasiswa mampu mendefinisikan proposisi dan memberikan contoh proposisi sederhana.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('ed0a3d6e-186a-477b-a183-a693c09ffc51', '8693d333-7032-4309-8fff-8b1b06cd98a9', 'Sub-CPMK-14', 'Mahasiswa dapat membuat Class dengan atribut dan method, serta menginstansiasi Object dari Class tersebut.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('ed0a621f-7ab3-4c5e-8ddf-aade5750165c', '982e415b-5609-44de-9441-e5e976aae27e', 'Sub-CPMK-8', 'Mampu merancang layout sistem perpipaan dengan mempertimbangkan faktor geografi dan kebutuhan pengguna.', 0.00, '2026-01-17 00:59:13', '2026-01-17 00:59:13'), +('ed2be667-afe2-456b-9fab-7a1717d93a4d', '7271df3f-b259-4840-80c2-6282a4c907a9', 'Sub-CPMK-10', 'Mampu melakukan operasi manipulasi data menggunakan perintah INSERT, UPDATE, dan DELETE.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('ed440aa6-3afc-424c-842b-6c6eeee0773c', 'a82c137f-1492-41ed-bdfa-979a1f0f46fc', 'Sub-CPMK-11', 'Mahasiswa mampu membuat detail sambungan struktur bangunan bertingkat menengah secara manual dengan menggunakan alat gambar.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('ed46cbfe-a704-4868-8ace-ebb397368ff6', '2928e8c0-4ee1-4a97-93a4-8ee55546e883', 'Sub-CPMK-12', 'Menganalisis fenomena induksi elektromagnetik berdasarkan hukum Faraday dan Lenz.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('ed5aadc8-df68-4511-a12d-d97e79407267', '7ab2fe72-72c5-407b-9b05-2636eaac7202', 'Sub-CPMK-7', 'Mampu mengidentifikasi dan menerapkan fungsi logika dasar dalam Ladder Diagram untuk menyelesaikan masalah kontrol sederhana.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('ed64b628-8553-4fa9-8b61-6047a3a9ea31', '795b89ad-4997-42ae-bf3c-fc51d5debfb7', 'Sub-CPMK-12', 'Mampu melakukan visualisasi data dan hasil simulasi menggunakan grafik dan diagram di MATLAB/Python untuk memperjelas analisis sistem.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('ed704c44-c6e2-4bb9-9934-90baf03a0a7e', '7e144f7c-b545-47cf-85b0-cba64ad897c3', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menganalisis prinsip desain arsitektur seperti keseimbangan, proporsi, dan ritme dalam karya arsitektur.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('edad6a92-f273-462c-bdeb-d999aab553bc', '3aba9c16-1a7c-4b8d-b28b-8df16ee1c28f', 'Sub-CPMK-14', 'Mampu menerapkan prinsip-prinsip kejujuran dan tanggung jawab dalam penyusunan laporan tugas akademik.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('edccb46e-1985-47cf-9b94-68980c0ca685', 'ff5c1ce0-ca9f-474e-87bb-d31878e1251a', 'Sub-CPMK-9', 'Mahasiswa mampu mendemonstrasikan teknik peningkatan kontras dalam citra digital menggunakan histogram equalization.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('edea7dcb-423e-4274-ac44-1fe2cc7f7dd9', '81d1b39d-3864-4cc2-8021-b708ca19d003', 'Sub-CPMK-10', 'Menerapkan teknik transformasi data seperti normalisasi dan encoding untuk meningkatkan kualitas dataset.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('ee05f2f0-fc3c-48c0-82b9-3aee48c90495', 'bf4c8f7c-435a-4969-bb85-272927503d0d', 'Sub-CPMK-8', 'Mampu menganalisis karakteristik I-V dari transistor MOSFET dan bagaimana pengaruhnya terhadap performa sirkuit.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('ee11333a-2c7d-4c5e-a879-0791a6de1ad2', 'e7356a84-8e62-402b-ae78-a6be0f506d12', 'Sub-CPMK-8', 'Mampu menganalisis hubungan antara ukuran butir dan sifat termal material melalui eksperimen.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('ee11bbe0-15ed-4ad5-87ef-c0c7f5bf9b3b', '7170b75e-2dc5-4a5b-b6fe-2b3892a1c6e1', 'Sub-CPMK-7', 'Mengimplementasikan pencarian dan analisis data menggunakan Elasticsearch dalam aplikasi berbasis web.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('ee38020b-3656-482d-83a4-6a542737856a', '8efeee66-1bb4-47e5-99d2-08f4f3bc121b', 'Sub-CPMK-9', 'Mampu menginstal dan mengkonfigurasi Apache Airflow untuk proyek data engineering.', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('ee3d86e9-839b-4a44-91b4-f2bdad5ef487', '5109d83d-4ff3-46a5-b40c-eb949fc128be', 'Sub-CPMK-11', 'Mampu menggunakan perangkat lunak desain untuk merancang rangkaian elektronika sederhana.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('ee3e554e-2393-4298-b09e-6bda94299c46', 'c355d2b8-ad9b-4c9d-a6aa-e2988fb87c60', 'Sub-CPMK-14', 'Mampu menganalisis dan mengevaluasi solusi teknik elektro yang ada untuk meningkatkan efisiensi dan efektivitas.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('ee4119b5-b680-47b7-b1d9-7f76f09beb05', 'f75a4fbd-9750-46ee-8250-16b44e453fd2', 'Sub-CPMK-2', 'Mahasiswa mampu menganalisis dan merancang sistem kontrol optimal menggunakan metode LQR.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('ee4240ec-4bc0-4587-813c-1503f232f98d', '52bc6db2-0688-4179-a319-ecf672f52ad3', 'Sub-CPMK-10', 'Mahasiswa mampu membuat gambar teknis lengkap yang mencakup denah, tampak, dan potongan dalam skala yang tepat.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('ee4d439a-3fc0-4640-a7f0-2df5ade6e0a8', 'b4ceef90-e44b-4671-bf53-0b55e5aad65a', 'Sub-CPMK-10', 'Mampu menghitung probabilitas menggunakan distribusi binomial untuk n percobaan dan p sebagai probabilitas sukses.', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('ee53ed97-6aab-4fbb-a3d1-c2c4b6ab7777', 'b529fbfa-4e9f-412b-ba93-a528b3bc0091', 'Sub-CPMK-1', 'Mampu mengumpulkan dan mengorganisir data dalam tabel sederhana', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('ee6370bc-6ad4-4b6e-81dc-3206f25ce181', '6d74522d-fb4f-4f27-aaf1-3a215489fd4c', 'Sub-CPMK-13', 'Mampu menganalisis dan mengevaluasi kebijakan keamanan jaringan yang ada di organisasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('ee8f4326-a7e2-4a76-850c-d1f52de9bbd5', '85837a42-f015-4c99-8010-8248b2a6e469', 'Sub-CPMK-1', 'Mampu menjelaskan prinsip dasar gelombang elektromagnetik dan bagaimana gelombang tersebut digunakan dalam sistem radar.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('eea0babb-02ca-487c-8954-355429ac7c84', 'b529fbfa-4e9f-412b-ba93-a528b3bc0091', 'Sub-CPMK-2', 'Mampu membuat grafik batang untuk menyajikan data kategorikal', 0.00, '2026-01-17 00:59:11', '2026-01-17 00:59:11'), +('eeb1b033-e82f-492d-9657-206d7cbcbfac', 'dda64fa2-2a1b-4693-948a-df58465e38ca', 'Sub-CPMK-6', 'Mampu menganalisis karakteristik lalu lintas data dan suara dengan menggunakan model matematis seperti model Poisson dan Erlang.', 0.00, '2026-01-17 00:58:35', '2026-01-17 00:58:35'), +('eed7b540-726f-4ed8-b34b-1bd0e31eec84', '442ac345-61ed-405f-8470-591fc753ba09', 'Sub-CPMK-5', 'Mahasiswa dapat menggambarkan hubungan fungsi antar ruang dalam rancangan arsitektur menggunakan diagram fungsional.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('eed9f2c8-f842-4dba-ae20-65f2788e80ca', 'bc52d1c8-45e7-4d4a-9d6e-428fee4d5513', 'Sub-CPMK-12', 'Mampu melakukan evaluasi usability terhadap aplikasi yang dirancang dan memberikan rekomendasi perbaikan.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('eee04cba-f5b0-4e41-890d-e19eece415c7', '24cfb355-d58e-4192-8fa1-48d001d5381b', 'Sub-CPMK-13', 'Menganalisis log dari setiap tahap pipeline untuk mengidentifikasi dan memperbaiki bottleneck.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('ef1082ac-29cb-4b60-8080-15f7795b9aae', 'cb6498c9-5bae-468b-a38c-dada74e7895e', 'Sub-CPMK-8', 'Mampu membuat dokumentasi foto dan video yang mendukung laporan kegiatan selama KKP-Plus.', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('ef21eccb-3eec-4425-a97f-37f1b7d395d2', '577a4584-1bdc-4c12-9f61-aade37878f2a', 'Sub-CPMK-3', 'Mampu mengembangkan alternatif solusi berdasarkan analisis masalah yang telah dilakukan.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('ef2adf95-1244-4b51-91ad-58dad27d8f96', '9b10fe83-3823-47d1-a420-89323f274529', 'Sub-CPMK-12', 'Dapat melakukan analisis log jaringan untuk menemukan pola serangan yang mencurigakan', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('ef2f29dc-850f-4551-9734-ee3245ac557c', '6a1a7f11-6443-49a6-8d1f-044296125bb9', 'Sub-CPMK-8', 'Mampu melakukan analisis matematis untuk menentukan hubungan antara perubahan besaran fisik dan variasi sinyal listrik yang dihasilkan oleh transduser.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('ef34d7b1-b2be-40c7-840a-2ff0570f8276', '795b89ad-4997-42ae-bf3c-fc51d5debfb7', 'Sub-CPMK-11', 'Mampu menggunakan MATLAB/Python untuk membuat model matematis sistem fisik sederhana dan menganalisis respon sistem terhadap berbagai input.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('ef3ca212-695d-4202-8268-f044528f4711', 'f42141c8-003c-43e6-9def-ab140be75693', 'Sub-CPMK-3', 'Mahasiswa dapat menganalisis respon waktu sistem kontrol menggunakan metode step response dan impulse response.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('ef52209a-e287-43c3-a405-1f137e701815', '3633c9ab-c988-46a0-a1bf-fa980a979de3', 'Sub-CPMK-10', 'Mahasiswa mampu mengidentifikasi dan menganalisis situasi etis dalam konteks kepemimpinan dan kewirausahaan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('ef806372-dfa4-4295-a545-1d2868cc4ede', '3633c9ab-c988-46a0-a1bf-fa980a979de3', 'Sub-CPMK-12', 'Mahasiswa mampu mengevaluasi keputusan kepemimpinan berdasarkan prinsip-prinsip etika dan profesionalisme.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('ef985c6a-49eb-44e4-815b-5e993bf99f75', '7d256f3d-cf4f-4628-9f91-72cfefe53100', 'Sub-CPMK-10', 'Mahasiswa mampu membuat gambar teknis lengkap yang mencakup denah, tampak, dan potongan dengan standar teknik yang sesuai.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('efa0d96f-37c2-42f4-81af-c59422d13c44', 'bebbd2ef-e9a7-46f2-8726-e01fdee281ed', 'Sub-CPMK-8', 'Mahasiswa dapat membandingkan kelebihan dan kekurangan antara Metode Grafik dan Metode Simpleks dalam menyelesaikan masalah Linear Programming.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('efe53614-3fdd-46ac-81e6-d2e90c06933a', '03278f4a-6f27-49bb-afd2-d0226bc9532a', 'Sub-CPMK-11', 'Dapat menghitung debit aliran pada pipa bertekanan menggunakan persamaan Bernoulli.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('effe2926-6d51-4135-b5bd-24a151e40d86', '4b7f39e2-9360-4618-8090-64a4f8aa3fc6', 'Sub-CPMK-2', 'Membuat diagram alir untuk merepresentasikan algoritma sederhana.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('f03c0a28-a6cb-41e3-abb6-d08befdc027a', 'fa2688f9-f668-4ff0-8d67-7203e2fae65c', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan mendokumentasikan umpan balik dari pengguna dan pemangku kepentingan terkait desain yang telah dibuat.', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('f04e90d5-b548-4a4d-89be-27531c83ae79', 'fe655fbf-ae67-4187-8cb2-ea40b895dc08', 'Sub-CPMK-9', 'Mampu merancang dan menerapkan metode evaluasi usability pada antarmuka aplikasi berbasis web.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('f052dc2c-b1a5-4b71-85ca-bc53d407583a', '3ea1f766-b193-4fdc-b4aa-d4e5ea1dc41b', 'Sub-CPMK-2', 'Mahasiswa mampu membedakan berbagai jenis baja konstruksi seperti baja karbon, baja paduan, dan baja tahan karat serta aplikasinya.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('f05d40d3-062c-4591-b3b2-3fef06412e25', '3a9fd73a-bc90-429d-957a-f33a35db5cd4', 'Sub-CPMK-10', 'Menghitung gaya internal pada setiap elemen rangka batang menggunakan metode titik simpul.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('f06b18e0-172a-4041-a3d8-68a57d76b486', '92b41259-8466-45dc-a779-0369361edffe', 'Sub-CPMK-8', 'Mampu merancang instrumen pengumpulan data yang valid dan reliabel untuk penelitian.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('f06fe435-6da9-4f44-8284-c82dc373d101', 'bebbd2ef-e9a7-46f2-8726-e01fdee281ed', 'Sub-CPMK-7', 'Mahasiswa mampu menerapkan Metode Simpleks untuk menyelesaikan masalah Linear Programming dengan lebih dari dua variabel.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('f091e2b6-35ac-4e11-9544-60c3ed4b7407', '3aac43e3-870e-460a-9ccb-bec269279824', 'Sub-CPMK-8', 'Mampu mengimplementasikan mesin inferensi berbasis aturan dalam suatu kasus nyata', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('f0931bae-a955-4d2b-a8a8-6e4862f5530e', '797c9785-bf35-4fdd-bdbc-dea7692be696', 'Sub-CPMK-7', 'Mampu mengimplementasikan algoritma pengurutan sederhana (seperti Bubble Sort) ke dalam program Java menggunakan struktur kontrol berulang.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('f0b21de8-1d92-4a2a-abb4-d0f9475c47c2', '1dff0a86-93ee-46da-a014-392daae30d7f', 'Sub-CPMK-5', 'Mampu menganalisis karakteristik foton dan elektron dalam bahan semikonduktor yang mempengaruhi kinerja perangkat optoelektronik.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('f0c065f2-7039-4bd5-8bd3-931e6e66b0e2', 'c9aba430-1a31-41e9-88ca-336d024440ca', 'Sub-CPMK-6', 'Mengidentifikasi tantangan dan peluang yang dihadapi dalam penerapan kecerdasan buatan pada sistem tenaga listrik.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('f0e5298c-c74b-42ef-8ba3-742814d00683', '489cc4d4-2989-4423-b293-31bcf97eb519', 'Sub-CPMK-13', 'Mahasiswa mampu merumuskan ide usaha dengan analisis pasar yang mendalam dan relevan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('f0fc70bd-7811-41d1-82d1-af9d9e6535bd', '41b08b33-8ef0-4752-8ad7-9378e43de17e', 'Sub-CPMK-8', 'Mampu menganalisis data pengukuran dengan menggunakan perangkat lunak statistik untuk menentukan tingkat kesalahan.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('f10c39f5-a14d-4efb-a000-faac0b6f9b1e', 'b398b2f8-03d9-4645-8004-9ae2d2358edd', 'Sub-CPMK-5', 'Mampu menghitung reaksi tumpuan pada balok yang mendukung beban terdistribusi uniform.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('f110a22f-e14d-4382-a14d-f89ca92aa6a4', '56c85de5-8d7a-4ce4-8ef4-f40c54564fb7', 'Sub-CPMK-4', 'Mahasiswa mampu menganalisis dampak lingkungan dari proyek pembangunan yang diusulkan.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('f143522d-2a88-4657-a2a0-9a52ed3f431b', '2043fb35-fca9-4b2c-a926-ed6eb3b2bb89', 'Sub-CPMK-11', 'Mampu membuat grafik sederhana di spreadsheet berdasarkan data yang telah diolah, serta mampu menambahkan label dan legend yang sesuai.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('f14e8d78-e373-4f73-b514-26cfc335615d', '4363cf85-fd13-4e13-b22a-556d4ab64e23', 'Sub-CPMK-12', 'Mampu menyusun dokumentasi hasil temuan penetration testing dengan detail, termasuk langkah-langkah yang diambil selama pengujian.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('f1541875-bef3-4b66-86c1-645729fb8aa1', 'bca47154-e707-4676-b573-056202220e6f', 'Sub-CPMK-9', 'Mahasiswa mampu merancang sambungan las dan baut pada struktur baja dengan mempertimbangkan kekuatan dan keamanan.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('f17ce5e9-7949-4ab3-b445-15e2acdf4100', '7fd89e89-4039-4fc2-9a15-f0c11138afad', 'Sub-CPMK-5', 'Mahasiswa mampu merancang hubungan antar fungsi ruang dengan mempertimbangkan sirkulasi yang efisien dan nyaman.', 0.00, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('f1b0d6c5-c119-4f4f-aa83-2b0435717aa9', 'c3275098-a04e-4311-9308-721decb5522f', 'Sub-CPMK-11', 'Mahasiswa mampu merancang solusi teknologi bangunan yang meningkatkan aksesibilitas bagi penyandang disabilitas.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('f1b3b8b3-290e-44db-93be-c522f62d6ef2', '68276de6-6eeb-4331-8d65-f967fc7863ac', 'Sub-CPMK-2', 'Mengidentifikasi dan mengevaluasi kebijakan dan regulasi yang terkait dengan revitalisasi bangunan dan kawasan.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('f1b51430-a0dc-4b1d-85c3-bfa89eccf109', '3c11660a-6eeb-49fa-8180-1f7ab9231f16', 'Sub-CPMK-2', 'Menerapkan metode pengukuran arah kiblat menggunakan alat sederhana dalam kehidupan sehari-hari.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('f1b85d90-25f4-4605-9507-a3f5bb9bea56', 'bbd602d9-b6fa-48c7-b76b-43eebfb74c6b', 'Sub-CPMK-4', 'Mahasiswa mampu menjelaskan konsep gerak benda langit dan pengaruhnya terhadap penentuan waktu sholat.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('f1c44a60-c30d-40da-a4b5-0d0d069f8c2f', '696ecff5-3e6b-45c2-ac45-2fd59c9fda06', 'Sub-CPMK-4', 'Mendefinisikan dan menjelaskan prinsip dasar dari algoritma kriptografi klasik seperti Caesar Cipher dan Vigen├¿re Cipher.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('f1cc7d94-e9f9-4a47-8c99-8b5a715955a8', '546ab82b-0344-4a5b-91ce-fe91559eca30', 'Sub-CPMK-3', 'Menjelaskan proses eksternal Bumi, seperti erosi dan sedimentasi, serta peranannya dalam membentuk lanskap', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('f1e89fb8-691b-4f98-916a-4c4f69112277', '81fd647b-fcfc-483d-8974-31eca3ebcf84', 'Sub-CPMK-11', 'Menganalisis kompleksitas waktu dan ruang dari algoritma yang disimulasikan', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('f2266a88-cfba-4616-997b-149c842063e3', 'f41d52ee-0430-4393-a073-15d646a5c563', 'Sub-CPMK-2', 'Membandingkan berbagai pendekatan desain untuk sistem berskala besar berdasarkan kinerja dan biaya', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('f22eb4c1-d4d6-4d3c-a6dc-691c06e5d2f0', '73248b59-225e-4acc-ace7-2ecb04acaeee', 'Sub-CPMK-8', 'Mampu menyusun ringkasan kritis dari masing-masing sumber yang digunakan dalam tinjauan pustaka', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('f2352b70-bd49-41ca-a57b-949fc740c793', 'b738321d-b285-4fcf-b287-376c40329511', 'Sub-CPMK-11', 'Menganalisis skenario sistem terdistribusi untuk menentukan prioritas antara consistency, availability, dan partition tolerance.', 0.00, '2026-01-16 23:21:10', '2026-01-16 23:21:10'), +('f24cd0f7-3798-48f6-85b2-8ca80a92c36c', '0b4cd186-2487-4680-9e6a-241a32803190', 'Sub-CPMK-3', 'Mahasiswa mampu merancang solusi perancangan yang mempertimbangkan keberlanjutan lingkungan dalam konteks arsitektur kota.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('f25f6754-2292-4eac-aff9-8a3effca2901', '0ea1deaa-eb7d-4973-b267-76967255a50f', 'Sub-CPMK-13', 'Mampu menganalisis data pengukuran arus dan tegangan pada sistem tenaga listrik untuk mengidentifikasi gangguan.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('f2603d70-88da-4577-9cef-899ada314cce', '1760d169-6b54-4437-96a4-7b8cc93a3575', 'Sub-CPMK-1', 'Mahasiswa dapat menjelaskan komponen-komponen utama ekosistem dan interaksi antar komponen tersebut dalam konteks arsitektur.', 7.14, '2026-01-16 22:56:44', '2026-01-16 22:56:44'), +('f2660376-b0e6-466d-bca9-8fb71171b608', 'b2286630-81af-418f-a69d-adfb9034305c', 'Sub-CPMK-14', 'Mengukur tegangan, arus, dan resistansi menggunakan multimeter pada rangkaian elektronika yang telah dirakit.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('f26b43ad-c835-4021-be58-bc76a8bccb7c', 'bad67e77-850a-40b6-9a29-a01530bf97c7', 'Sub-CPMK-5', 'Mampu mengkonfigurasi dan menjalankan aplikasi sederhana menggunakan Docker', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('f273f6bc-2fae-452f-a1ff-94e9e602cd70', 'd2450e9c-6d58-4f63-ba5e-715ea3ad8253', 'Sub-CPMK-13', 'Mampu menggunakan alat ukur antena untuk menentukan parameter radiasi seperti gain dan pola radiasi.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('f2869139-d08d-4ed8-acc6-03725ca03051', '9cc4023b-c73c-46b7-9876-bb552d019ede', 'Sub-CPMK-10', 'Mampu mengidentifikasi dan menganalisis dilema etika yang muncul dalam pengambilan keputusan profesional.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('f28cd76f-b807-470f-8629-943f61d4d5ef', '395a3da5-3b43-4bfa-90ef-e363fe3af6f0', 'Sub-CPMK-10', 'Mampu merumuskan pertanyaan penelitian yang jelas dan terukur berdasarkan tinjauan pustaka.', 0.00, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('f2a0360e-b4e6-4ec9-8aff-a3e55ea22b95', 'b1e2cd56-acec-4852-a59c-96eb4e6f8e49', 'Sub-CPMK-5', 'Mampu menerapkan CSS untuk memberikan style dasar pada elemen HTML, termasuk pengaturan warna, font, dan margin.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('f2b48523-1fa6-485d-b6c4-c21ae226122e', '84c5ca35-9704-42cf-b485-0914fbfaf556', 'Sub-CPMK-4', 'Mahasiswa mampu menghitung beban mati dan beban hidup pada struktur tinggi secara akurat.', 7.14, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('f2b61c39-9313-4c53-b51c-58fc77dfb4e3', '8ea74b83-0567-49f7-a09d-6be15363fab9', 'Sub-CPMK-9', 'Mampu menginstal dan mengkonfigurasi lingkungan pengembangan untuk OpenGL atau WebGL.', 0.00, '2026-01-16 23:21:04', '2026-01-16 23:21:04'), +('f2c12b62-c095-44a5-9ae9-937040d506cb', 'f1f1837d-9896-4c19-8859-4abe68a6febc', 'Sub-CPMK-13', 'Mampu menjelaskan dan menerapkan prinsip-prinsip etika dalam hacking dan keamanan siber sesuai dengan kode etik profesi.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('f303ea31-3994-406e-98e5-ebcf308a7b54', '5526a558-916a-40c4-9aec-3aef7789d291', 'Sub-CPMK-5', 'Mampu mengimplementasikan preprocessing teks pada dataset NLP menggunakan teknik tokenisasi, stemming, dan lemmatization.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('f30b10b9-4787-4709-82eb-a2b22226ee47', '74e37281-5069-4200-b498-c6865c2f40fc', 'Sub-CPMK-5', 'Mampu menganalisis berbagai jenis gelombang, termasuk gelombang mekanik dan gelombang elektromagnetik, serta perbedaannya.', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('f30dff10-7181-4032-aa63-2b2753ccde87', 'dd9093d6-59de-4711-8c7b-a3d1c79b5c33', 'Sub-CPMK-12', 'Mampu menyusun kerangka teori yang mendukung penelitian.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('f3136a7d-0cc4-4f74-baf9-4829a9058764', '532c443c-ea5c-486c-ab19-582bf4a5f3de', 'Sub-CPMK-12', 'Mampu mengevaluasi dan merevisi dokumentasi arsitektur perangkat lunak berdasarkan umpan balik dari pemangku kepentingan.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('f33ff114-e223-4b65-957e-7d920ca1c874', '2414a39b-b38c-4edf-b3a6-d2993708e35c', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi dan mendeskripsikan berbagai model pengembangan perangkat lunak.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('f35c1362-b49b-4935-8aeb-815368282bfa', 'aa59e918-458c-4cde-9a6e-15c27325235d', 'Sub-CPMK-3', 'Mahasiswa dapat menghitung dan menganalisis integral dasar untuk menghitung luas dan volume dalam proyek teknik arsitektur.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('f368f35a-c6d0-485b-8f44-c9059733ac30', '2cdab46b-5392-4d80-af30-37e92fbc69a3', 'Sub-CPMK-9', 'Mampu menggunakan alat pengukuran dan anotasi dalam perangkat lunak CAD.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('f377ad86-e243-4978-997b-e5d50bdec69c', '735a6ae4-6db9-44ba-b136-11764ea29ab6', 'Sub-CPMK-8', 'Mampu menggunakan transformasi Fourier untuk menganalisis spektrum frekuensi dari sinyal periodik dan non-periodik.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'); +INSERT INTO `sub_cpmk` (`id`, `id_cpmk`, `kode_sub_cpmk`, `deskripsi`, `bobot`, `created_at`, `updated_at`) VALUES +('f37adef7-bb50-4960-80b9-078c257405c5', '5a674a9b-67b4-43f6-b284-03b891d19412', 'Sub-CPMK-9', 'Mampu mengimplementasikan algoritma pencarian linear dalam kode Java.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('f3b38bfc-6a79-450a-8c84-c7d045b79ab7', '0d4f4bab-27d7-4efc-8e73-d46616b99f7a', 'Sub-CPMK-1', 'Mengidentifikasi berbagai model layanan cloud (IaaS, PaaS, SaaS) dan karakteristik masing-masing.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('f3b73172-5bab-4e7c-a7ac-8765362205a0', '45ace441-3d99-49fe-a715-85a81d051e8e', 'Sub-CPMK-3', 'Mahasiswa mampu menjelaskan prinsip kerja ADC dan melakukan pemrograman untuk membaca data dari sensor analog.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('f3b88fd9-9566-4d10-8e8e-611ae97bcbdd', '66b50a9c-0e71-4e2d-9e01-3fda5dc1c0ec', 'Sub-CPMK-10', 'Mampu mengidentifikasi komponen dasar dalam rangkaian elektronika dan fungsinya.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('f3c75134-1f35-4daa-baec-a67eb5ab2c75', '063f4a98-2d2e-4e6f-bb62-99ff9085402e', 'Sub-CPMK-4', 'Mahasiswa mampu mengidentifikasi dan menjelaskan karakteristik fisik tapak seperti topografi, geologi, dan jenis tanah.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('f3fad053-8e2b-40af-9b14-28388b65a850', '73248b59-225e-4acc-ace7-2ecb04acaeee', 'Sub-CPMK-9', 'Mampu mengembangkan kerangka teori yang mendasari penelitian berdasarkan tinjauan pustaka yang telah disusun', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('f435725b-2cf2-44c2-97fb-932db439e3fe', 'e3acfd27-089d-448e-8193-6e81e8492b9d', 'Sub-CPMK-5', 'Mahasiswa mampu mendefinisikan relasi dalam konteks matematika dan memberikan contoh-contoh relasi.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('f4442a3b-d1f2-4522-8ef6-df8037cfdd8f', 'd000a2c3-4843-4fce-a960-812ad0ab02ae', 'Sub-CPMK-3', 'Menghitung integral ganda dari fungsi dua variabel dengan menggunakan metode area dan perubahan urutan integrasi.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('f44b488f-c6f3-4823-9f0a-1713facd3a63', '9d3156b9-708a-466d-b619-061f8d2c6b9e', 'Sub-CPMK-10', 'Mahasiswa dapat menerapkan Metode NWCR untuk menentukan solusi awal dalam masalah transportasi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('f475a136-f172-4ac8-89fd-b6e2d06c8ed9', 'ba386529-1e91-4028-b6c6-52861f0d14be', 'Sub-CPMK-14', 'Mahasiswa mampu melakukan perhitungan mekanika teknik menggunakan metode analisis yang sesuai dan mencatat langkah-langkahnya secara sistematis.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('f482de74-d917-48dc-8969-4399ccc3b360', '4074eae8-819a-4cb2-8635-60d6e281de36', 'Sub-CPMK-8', 'Mahasiswa mampu menyusun proyeksi keuangan sederhana yang mencakup estimasi biaya, pendapatan, dan keuntungan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('f491f388-a2e8-4a4e-8db4-e0de24eac5d7', '886e578f-d576-4005-9129-6bb97702c93c', 'Sub-CPMK-9', 'Mahasiswa mampu merancang konsep ruang yang mencerminkan prinsip-prinsip Islam dengan mempertimbangkan aspek keberlanjutan dan keindahan.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('f4947a6f-be79-4d47-9091-42bab4a8384a', '0056032d-190c-4099-940e-8e611d6c16f2', 'Sub-CPMK-12', 'Mampu mensimulasikan pengaruh noise pada sistem komunikasi dan mengukur parameter kinerja seperti BER (Bit Error Rate).', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('f4adc349-6716-42bb-936a-8165ad3b5205', 'f7a1a532-09d1-434c-96e8-bd2f85984848', 'Sub-CPMK-2', 'Mampu mengidentifikasi komponen utama dalam KKP-Plus dan memberikan contoh penerapannya dalam pembelajaran.', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('f4c987df-ae2e-40be-a7fe-fb278c1c7271', '0f02feea-8775-4acd-bd90-af87d25ee8c2', 'Sub-CPMK-8', 'Mampu merancang diagram kelas yang mencakup atribut dan metode untuk setiap kelas berdasarkan kebutuhan aplikasi yang telah dianalisis.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('f4d4e15b-4d6f-4ec9-b16b-f7749394e77a', '8aa84918-66b0-4fd6-9953-3ddb0be4c203', 'Sub-CPMK-5', 'Mampu menganalisis dan merangkum informasi dari sumber literatur yang telah dipilih.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('f4e06939-5acf-4c36-84b5-f3429eba27b2', '182790e2-690d-4d5f-afbc-59bf06b34cf6', 'Sub-CPMK-2', 'Mahasiswa dapat menggunakan array untuk menyimpan dan mengelola data dalam konteks aplikasi teknik elektro, seperti pengolahan sinyal.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('f4e328eb-1486-4c5d-9824-9b3cfa8e4748', '86a36031-c1c2-4757-80c9-81b9b19cfd11', 'Sub-CPMK-5', 'Mahasiswa mampu menjelaskan prinsip dasar dan konsep kriptografi simetris, termasuk kunci dan algoritma yang umum digunakan.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('f4e89abd-f2df-4e3c-9d26-ac3b35a1262d', 'b1143494-cc23-4fb2-8433-27a15b764e1e', 'Sub-CPMK-5', 'Mampu memilih komponen elektronik yang tepat berdasarkan analisis kebutuhan dan karakteristik komponen.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('f518a655-0785-4864-964e-1f1f53e0c2fd', 'a0ecb9c3-0918-4adb-83d2-00b32328ba14', 'Sub-CPMK-6', 'Menganalisis sampel tanah berdasarkan komposisi dan struktur lapisan tanah', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('f52e931a-b1bd-4405-9fb6-e7345f4bafe5', '8634269e-6f5e-4522-8a2f-d202488da09d', 'Sub-CPMK-7', 'Mahasiswa dapat mengidentifikasi berbagai jenis array (satu dimensi, dua dimensi, dan lebih) dan memberikan contoh penggunaannya.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('f53eb3e9-dd78-44a5-a1bf-2eaa611956b5', '893ccb29-8438-401c-95da-8d0d2f900a9c', 'Sub-CPMK-6', 'Mampu menyusun kerangka teori berdasarkan analisis literatur yang dilakukan dan menghubungkannya dengan hipotesis penelitian.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('f55de71a-84e4-484f-85b4-ee55ae6451fd', '4a204e51-6959-4e0a-a6c1-9276b95332fd', 'Sub-CPMK-1', 'Menghitung kecepatan rata-rata dan kecepatan sesaat dalam gerak lurus.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('f561630e-a4f7-484e-86ad-041e54a8e72d', '0a797183-fe5e-4e6f-8b88-87de8adae2cb', 'Sub-CPMK-5', 'Menggunakan Hukum Kirchhoff untuk menyelesaikan masalah arus dan tegangan dalam rangkaian listrik seri dan paralel.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('f568e7cc-ddfd-496e-996e-9f949a275022', '52bc6db2-0688-4179-a319-ecf672f52ad3', 'Sub-CPMK-12', 'Mahasiswa mampu menyusun maket fisik yang menunjukkan detail arsitektural dan proporsi yang tepat dari desain yang telah dirancang.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('f573c414-e6fa-4fa8-8f3d-6fe92bd315ec', '3a8fd73d-a866-42dc-92a0-6c9685a003ec', 'Sub-CPMK-5', 'Mampu menjelaskan prinsip kerja sensor dan aktuator dalam sistem embedded.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('f5846556-124b-4c8e-9798-cd58af9d4ea8', 'f952aea8-727f-4ae1-b254-55079d5e87c1', 'Sub-CPMK-2', 'Menganalisis dampak penggunaan material ramah lingkungan dalam desain bangunan terhadap lingkungan dan kesehatan penghuninya.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('f5b264fc-ca14-462d-8cd1-6683211061af', '1bfc53be-9e1e-44da-81e9-7ac6b37aa8cb', 'Sub-CPMK-4', 'Mampu menjelaskan perbedaan antara perangkat keras dan perangkat lunak serta interaksi di antara keduanya.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('f5b6f0fc-6ff0-4a34-9561-2156b58df1d2', 'd9fa2bc6-748e-428b-baac-3c45a1f2eb21', 'Sub-CPMK-7', 'Mampu menghitung fluks listrik melalui permukaan tertutup menggunakan hukum Gauss.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('f5c5dd3c-d273-44d7-8467-85bcf75d6e4a', 'd2e5d19d-9e05-4482-958d-0abfb22bd7ef', 'Sub-CPMK-8', 'Mahasiswa dapat menjelaskan perbedaan antara array satu dimensi dan array multi dimensi.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('f5e1dde9-c2f7-44d6-94c2-127754b44c61', 'bf4c8f7c-435a-4969-bb85-272927503d0d', 'Sub-CPMK-7', 'Mampu menjelaskan struktur dan fungsi dasar transistor MOSFET dalam konteks sirkuit digital.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('f5e4c42f-00b2-43b0-9e80-cfae59569eb6', 'd2dca31a-6e13-43fc-9236-d428f56cc54b', 'Sub-CPMK-7', 'Mampu menulis kode JavaScript dasar untuk memanipulasi elemen HTML menggunakan DOM.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('f60afeb9-61ce-4c75-bcd4-1ee67d99616a', '81db8364-918d-45c9-a1dc-6f5d279b3193', 'Sub-CPMK-11', 'Mendemonstrasikan sikap saling menghargai melalui diskusi kelompok tentang perbedaan pandangan keagamaan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('f60ea6e6-eb48-4f29-bcf1-ef5b4621cccb', 'bf3132a4-795a-46d6-b477-1c45412b50ee', 'Sub-CPMK-8', 'Mahasiswa mampu menghasilkan sketsa konsep desain yang mencerminkan estetika dan kenyamanan pengguna.', 0.00, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('f631ee54-a432-4d05-a2e7-f3b475016ab1', '2f28cff3-dfd2-448a-a0e4-095afbb3eff9', 'Sub-CPMK-4', 'Membuat diagram arsitektur yang menggambarkan interaksi antar microservices dalam aplikasi cloud-native', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('f65b2610-f4cb-451d-ac04-30a005b6e073', '4840b483-a630-4b00-8306-215c95e5148f', 'Sub-CPMK-11', 'Mampu menyusun dokumentasi teknis yang mencakup spesifikasi, rencana kerja, dan laporan hasil proyek dengan standar profesional dan etika Islami.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('f65c1a36-632f-4e56-9752-ffa9b08f7f3e', '1ad05112-e2ba-46c2-9af8-4e7c1d5da7ac', 'Sub-CPMK-6', 'Mengembangkan solusi teknologi yang mempertimbangkan dampak sosial dan lingkungan, serta menghormati hak asasi manusia.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('f6686ed2-e2f2-4259-bfa8-5facdff2238c', 'edb17d18-3b30-4a0d-bee9-1e5ba83f1137', 'Sub-CPMK-13', 'Mahasiswa mampu mengidentifikasi dan menganalisis elemen desain arsitektur tropis yang sesuai dengan konteks lingkungan lokal.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('f675f4f5-423e-4081-ac1b-9c56c8310fab', '910cd8d9-0a0c-4474-b354-5e722927c1f0', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis elemen pembentuk arsitektur Islam dan membandingkannya dengan elemen arsitektur Eropa pada abad pertengahan.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('f692953b-79bb-4531-aa2d-c9f35fb9f873', 'ee72a156-f43f-47ea-bc85-18d37c90e768', 'Sub-CPMK-9', 'Mahasiswa mampu merancang dimensi elemen struktur beton sederhana berdasarkan hasil analisis beban.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('f6c127a1-d6b6-41bb-95f8-bdbab49d0779', '5a6ca62d-b174-44ad-8753-3a3d8493804a', 'Sub-CPMK-14', 'Mengimplementasikan kebijakan dan prosedur keamanan informasi yang sesuai dengan hukum dan standar etika dalam praktik ethical hacking.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('f6c49db1-c4be-4687-96e4-ae44a33e5616', '19b9f4de-1c12-429b-8721-3502c5aedeef', 'Sub-CPMK-7', 'Mampu menerapkan metode eliminasi Gauss untuk menyelesaikan sistem persamaan linear dengan dua variabel.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('f6c4bc03-a481-4564-9d2b-b45d98c0a914', 'b7c361ee-91ed-498b-8fd1-f7fe8e06ea3e', 'Sub-CPMK-5', 'Mampu mengimplementasikan framework front-end seperti React atau Angular dalam pengembangan antarmuka pengguna.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('f6cd55be-7340-4117-b9c0-18796c0172cd', 'd44f7cd6-3f62-41d8-a854-f1e54041e43c', 'Sub-CPMK-6', 'Mahasiswa mampu menjelaskan perbedaan antara berbagai jenis sistem operasi (misalnya, Windows, Linux, macOS).', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('f6cdc365-aec7-4bcf-93db-64cde9ed04e4', 'b53cae5f-e799-4f1e-a655-5433d3b2b170', 'Sub-CPMK-3', 'Mampu menganalisis kompleksitas algoritma yang diterapkan dalam program Java menggunakan notasi Big O.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('f6ce0142-9ada-42ac-847a-fc4f599e1948', 'f79800c1-a9b6-4390-a84b-bb357833f4fd', 'Sub-CPMK-7', 'Mengidentifikasi dan menjelaskan karakteristik pengusaha sukses dan peran inovasi dalam kewirausahaan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('f6dce2c3-c0d0-40ea-939d-b2c3d19a52b9', '023afe75-fe00-4e6e-b439-bd9604a716ad', 'Sub-CPMK-5', 'Mahasiswa mampu mengidentifikasi elemen arsitektural seperti kubah, menara, dan mihrab dalam bangunan Islam.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('f6e10c2b-75f0-4f1f-9e21-ac7fb9f13dd6', 'dee36e11-4d87-4c09-845c-eb32021cd96e', 'Sub-CPMK-4', 'Menganalisis karakteristik komponen elektronika yang digunakan dalam rangkaian telekomunikasi', 0.00, '2026-01-17 00:58:39', '2026-01-17 00:58:39'), +('f73244b7-a2cd-47dd-ad1c-d95fe4a3d282', '46c21b07-1e6d-41c3-af64-981caf4ab06b', 'Sub-CPMK-3', 'Mahasiswa mampu merancang diagram arsitektur perangkat lunak untuk sistem sederhana menggunakan prinsip-prinsip arsitektur yang telah dipelajari.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('f737e882-2ca9-480f-b924-68fa23fd2304', 'e083d83a-0c96-4901-ad59-f1edbebfb89e', 'Sub-CPMK-2', 'Mahasiswa dapat mengidentifikasi dan menjelaskan fungsi komponen elektronik dasar seperti resistor, kapasitor, dan transistor, serta peranannya dalam rangkaian elektronik.', 7.14, '2026-01-17 00:58:13', '2026-01-17 00:58:13'), +('f74501f8-4a53-4bf2-b03a-ecc0eaf31c93', '1ff730bc-15a6-4df1-be00-f86e3b18b4bd', 'Sub-CPMK-10', 'Mampu mendemonstrasikan penggunaan array satu dimensi dalam menyimpan dan mengolah data numerik.', 7.14, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('f74b54f6-4528-4d6b-af71-ff7a86012d66', '38c13a5a-e8fd-4b5d-877d-c0c2e9089798', 'Sub-CPMK-10', 'Mampu membuat program sederhana menggunakan Alice untuk menyelesaikan masalah algoritma dasar seperti pengulangan dan percabangan.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('f7528562-29f3-4797-8965-18ba330bebba', '7ec0578c-c674-469d-be94-bbb65c0b7fac', 'Sub-CPMK-9', 'Mampu merancang elemen struktur menggunakan metode analisis tegangan dan regangan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('f757c17e-30cd-42d4-9831-278120af4fcc', '63a6dbae-ff7d-4766-af6e-655fd70a4a74', 'Sub-CPMK-5', 'Mahasiswa mampu menjelaskan konsep dasar hubungan manusia dan lingkungan dalam konteks sosial budaya di Indonesia.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('f75b15f2-aadc-4c5f-9f8e-8223a8afe5ff', '6a9ae72a-ff12-4faf-a7b7-291175891074', 'Sub-CPMK-10', 'Mampu merancang rangkaian kontrol untuk motor listrik menggunakan komponen elektronika daya.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('f768f407-a5b2-42f9-9861-5e5d04636c71', '785aabb8-8a0d-4281-a9b6-9b4c75a795f9', 'Sub-CPMK-10', 'Melaksanakan simulasi serangan dengan menggunakan alat dan teknik yang tepat serta sesuai dengan etika hacking.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('f781756a-fb2b-4be5-b9c9-11b6bc2f67b4', '829a667b-729e-49a5-9670-705605e04875', 'Sub-CPMK-12', 'Mampu menyusun laporan evaluasi hasil pengamatan yang mencakup analisis data dan solusi terhadap permasalahan yang ditemukan.', 0.00, '2026-01-16 22:56:36', '2026-01-16 22:56:36'), +('f783d386-ab95-4227-a5e1-988c1e196b0b', 'ce511e5e-d1cb-4614-aecc-2609afec52e5', 'Sub-CPMK-4', 'Mampu mendefinisikan dan mengidentifikasi berbagai jenis algoritma dasar, termasuk algoritma linier dan algoritma bercabang.', 0.00, '2026-01-17 00:58:14', '2026-01-17 00:58:14'), +('f79a40eb-9f3c-4e66-89bc-7ce30ddee155', 'ce5e2dd1-926c-4b4b-91b8-f929c8daf926', 'Sub-CPMK-7', 'Mahasiswa mampu menjelaskan dan memberikan contoh tentang Prinsip Rumah Merpati dalam konteks penghitungan kombinasi.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('f7a8b9c3-af38-4ad6-89da-9d80e2f948e0', 'b58c9b63-013d-4cac-91fe-59524d686ab4', 'Sub-CPMK-13', 'Mengidentifikasi dan menjelaskan jenis-jenis gaya yang bekerja pada struktur sederhana.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('f7bfe40a-b8cf-4545-818e-67cd6be93e9b', '395c0636-f886-4a26-80d9-b1dd4c9e7254', 'Sub-CPMK-1', 'Menganalisis dan menjelaskan kelebihan serta kekurangan dari arsitektur microservices dibandingkan dengan monolithic architecture.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('f7c81ef5-b422-4b47-a184-2d70025e3dc9', '2486a6b2-f989-4089-9a1c-33a40cc27b9d', 'Sub-CPMK-14', 'Menerapkan prinsip-prinsip keamanan dalam pengembangan sistem berbasis LLM untuk melindungi data pengguna.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('f7de0547-4bcf-47ec-ab44-c1fbb0897aeb', 'ca4f069e-55d4-4c18-909e-0abdff219397', 'Sub-CPMK-11', 'Mampu merancang rencana mitigasi risiko K3 yang sesuai dengan standar dan peraturan yang berlaku.', 0.00, '2026-01-17 00:58:29', '2026-01-17 00:58:29'), +('f7f0791a-b604-4b29-8cfb-e1187e5ae8da', '59f12ccc-52f5-45cb-a19a-c6b449191c6c', 'Sub-CPMK-7', 'Menerapkan teknik akuisisi bukti digital menggunakan perangkat lunak forensik yang tepat dan sesuai dengan standar industri.', 7.14, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('f7f1e29c-495a-4def-b6f8-acd80da7391f', '808f3876-8193-47de-86b8-2d15d2492dd7', 'Sub-CPMK-4', 'Mahasiswa dapat melakukan survei untuk mengidentifikasi kebutuhan pengguna dari berbagai kelompok usia dalam konteks arsitektur inklusif.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('f803f018-02ae-4ccf-a1c8-2a76504ecd77', '3df68873-ca27-41ad-a65b-87a3affc1f77', 'Sub-CPMK-13', 'Menjelaskan jenis-jenis getaran dan karakteristiknya, termasuk getaran bebas dan terpaksa.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('f838098d-f381-4e06-b2d1-f204b76b6223', 'd2e5d19d-9e05-4482-958d-0abfb22bd7ef', 'Sub-CPMK-10', 'Mahasiswa dapat memecahkan masalah sederhana menggunakan array, seperti mencari nilai maksimum dan minimum.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('f839af70-fec3-4c24-8738-a42496f0f910', '92acd174-e2c2-43e8-943f-4c71b70396bf', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan berbagai jenis sensor dan transduser yang umum digunakan dalam sistem instrumentasi.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('f8889893-9e8c-4a75-b746-5a0db91b328a', '5526a558-916a-40c4-9aec-3aef7789d291', 'Sub-CPMK-6', 'Mampu membangun model klasifikasi teks sederhana menggunakan algoritma machine learning seperti Naive Bayes dan Support Vector Machine.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('f89bdb4b-da6d-49d9-bdc0-261f43618f80', '2af73a2e-a476-4abb-aa5f-594248103db3', 'Sub-CPMK-11', 'Mampu menyusun laporan analisis yang membandingkan minimal dua teori akademis dengan praktik yang diamati di lapangan.', 7.14, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('f89dca5b-e848-48e2-bafd-81902f891ac3', '32a64cee-cde1-46b6-851d-ab17c8f7cbca', 'Sub-CPMK-8', 'Mampu mengidentifikasi risiko dan tantangan yang mungkin muncul dalam penerapan CI/CD pipeline dan merumuskan strategi mitigasi.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('f8d6b414-2d71-464d-8532-4507384cfb86', '2cbd2d22-521a-439a-875e-e10b77c93d76', 'Sub-CPMK-3', 'Mahasiswa mampu melakukan studi kasus tentang bagaimana perubahan lingkungan binaan mempengaruhi perilaku komunitas.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('f90796c3-944b-4535-b92c-a6339bf1b234', 'bebbd2ef-e9a7-46f2-8726-e01fdee281ed', 'Sub-CPMK-5', 'Mahasiswa mampu menjelaskan konsep dasar dan terminologi dalam Modul Linear Programming.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('f91a73b1-24be-4923-98f9-10ba9908f96f', 'ef973446-7ff5-45f8-94c6-0075aa98c7f0', 'Sub-CPMK-13', 'Mahasiswa mampu menjelaskan konsep dasar pengkodean citra dan aplikasi teknik pengkodean yang umum digunakan.', 0.00, '2026-01-16 23:21:03', '2026-01-16 23:21:03'), +('f9280b45-fd70-4409-a946-65bd7d8af349', '822eafb8-3bcb-4010-8d43-a583b929641a', 'Sub-CPMK-5', 'Mampu menganalisis penyebab dan dampak dari satu kasus aktual di masyarakat menggunakan perspektif Islam dan Kemuhammadiyahan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('f92cd201-0d54-4369-bd73-e4282761f412', 'bf36d397-1b0c-446e-b913-9d62bc3b0b32', 'Sub-CPMK-5', 'Mampu merumuskan pertanyaan penelitian yang jelas dan terukur berdasarkan kerangka teoritis yang dipilih.', 0.00, '2026-01-16 22:56:38', '2026-01-16 22:56:38'), +('f93a6238-1820-438b-a9a9-c580850c7c70', '365b1820-6aa3-45c6-a3c5-b83ad53222cd', 'Sub-CPMK-2', 'Mengidentifikasi elemen-elemen antarmuka pengguna dalam berbagai jenis aplikasi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('f9404968-de50-4353-8cb9-63fbb8943ce0', 'd203aabe-5e96-4d1f-8f21-aa58a106fbae', 'Sub-CPMK-12', 'Mampu merancang sistem pengendalian dan perlindungan instalasi listrik sesuai dengan peraturan yang berlaku', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('f9881eaf-acd7-4152-9b52-fcdfc02e777f', 'f0272179-692e-44e7-b68e-ab04d311907b', 'Sub-CPMK-2', 'Mahasiswa dapat membuat dan mendebug program menggunakan bahasa pemrograman Ladder Diagram (LD) untuk kendali beban sederhana.', 0.00, '2026-01-17 00:58:36', '2026-01-17 00:58:36'), +('f99bdcaa-c78b-43d9-a3f0-d3b0722e23c4', 'e92c0f81-6434-454c-915c-cf659ba9c552', 'Sub-CPMK-10', 'Mampu menyusun dan mendokumentasikan kerangka waktu pengumpulan data secara rinci.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('f9b98370-75b3-4ba5-98c1-3394774f5874', 'fb8b530c-6c46-4539-a24c-7c9f51d6eebf', 'Sub-CPMK-14', 'Mahasiswa mampu menggunakan alat bantu presentasi (seperti PowerPoint) dengan efektif untuk mendukung penyampaian informasi.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('f9c1643b-274c-4d60-aa25-a956fd85b254', '0f8593bd-7fe8-4c3f-9daa-9642a7b837cf', 'Sub-CPMK-9', 'Mampu menghitung efisiensi kuantum dari LED dan laser diode berdasarkan data eksperimen.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('f9ca1c0a-9bd3-4770-8696-1435c3f45ccd', 'a6395b0d-4eed-45d4-b214-67d79bd4a17f', 'Sub-CPMK-11', 'Mampu mengimplementasikan alat monitoring untuk microservices dengan menggunakan Grafana dan Prometheus.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('f9e3472d-3ed9-4140-80ff-6340797fcb31', '3b15941c-ed59-4973-8ea0-3b368df0bd84', 'Sub-CPMK-9', 'Mampu menyusun rancangan pengumpulan data yang sistematis dan dapat dipertanggungjawabkan.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('fa1bcd41-7bdb-4776-add6-bef89f2e9c16', '926fa27b-1a5d-4363-8122-6312abec76b4', 'Sub-CPMK-11', 'Mampu mengembangkan backend sederhana menggunakan Node.js dan Express untuk menangani permintaan dari client.', 0.00, '2026-01-16 23:21:02', '2026-01-16 23:21:02'), +('fa3afe62-999b-4f32-9294-b0a4b50a4cff', '323b2f57-e9bb-4102-a4f5-38a7a042de15', 'Sub-CPMK-8', 'Dapat melakukan pengujian penetrasi pada aplikasi web dengan menggunakan OWASP ZAP.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('fa4bda32-b4d1-4648-a3ef-ae5237e0ab55', 'e47136ae-b37c-48e7-8875-bd36c6b159d8', 'Sub-CPMK-11', 'Mahasiswa mampu mengidentifikasi dan mendefinisikan masalah yang dapat diselesaikan dengan aplikasi AI.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('fa695de8-5ba6-4e81-b8db-c25ff11ed3c1', 'c92be549-3296-4d96-a7ed-cff06dc9f2b2', 'Sub-CPMK-4', 'Mahasiswa mampu membuat presentasi manual 2D dengan menggunakan perangkat lunak desain grafis yang sesuai standar arsitektur.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('fa6a11ef-0535-43b7-abb8-7599cfcf58af', 'ce3cdff0-ea58-4875-b42e-971e5ef6c578', 'Sub-CPMK-11', 'Mampu merancang rangkaian inverter sederhana untuk aplikasi daya rendah.', 0.00, '2026-01-17 00:58:23', '2026-01-17 00:58:23'), +('fa81888d-dc57-4212-addb-075bea792d0d', '918d1daf-8f4d-405d-83be-0b6ef2f91755', 'Sub-CPMK-11', 'Mahasiswa mampu menyusun komponen utama model bisnis menggunakan kerangka Business Model Canvas.', 0.00, '2026-01-16 22:56:37', '2026-01-16 22:56:37'), +('fa8636f3-2dfd-4400-a72f-c68bf402d1c2', '38e04fdc-0d71-4f23-beff-a2b45d8505ae', 'Sub-CPMK-5', 'Menerapkan metode pemisahan variabel untuk menyelesaikan persamaan diferensial orde satu.', 0.00, '2026-01-17 00:59:09', '2026-01-17 00:59:09'), +('fa93d7af-5fdb-4587-ada1-e6967d9fbc4a', '1e91c9f6-3450-4879-954a-3262c073903a', 'Sub-CPMK-3', 'Mampu menganalisis berbagai topologi jaringan dan memilih topologi yang tepat sesuai kebutuhan komunikasi.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('fa983d08-54cb-494e-adf2-80ff2aff4f4a', '5f60965c-0788-4288-a433-5de4df19a1f3', 'Sub-CPMK-12', 'Mampu mengimplementasikan Kalman Filter untuk estimasi keadaan dalam sistem kontrol dan melakukan analisis sensitivitas.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('fab169c5-e1c2-49b9-97f0-b40a74f2333d', 'f04b783f-ede0-474c-a6c7-9313730e9f26', 'Sub-CPMK-9', 'Mampu menganalisis dan membandingkan bandwidth dari berbagai media transmisi dan perangkat jaringan serta dampaknya terhadap kinerja jaringan.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('fab1c1cf-1b09-4151-a4b8-3186456780ca', '6215eb1d-cb54-4b31-8827-8b36af4e8096', 'Sub-CPMK-6', 'Mampu melakukan simulasi komunikasi dalam tim untuk meningkatkan kerja sama dan kolaborasi.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('fab6676e-3402-4e1a-aefc-69725f3f38b1', '6048cc1b-d0f5-4738-bdab-a6834996dcab', 'Sub-CPMK-3', 'Mahasiswa mampu menerapkan metode proteksi instalasi listrik untuk mencegah risiko kebakaran dan kecelakaan kerja.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('facf3985-a7f4-4c4e-bbff-4c3ddbcb0e52', 'e410da4f-1854-4c11-bf65-b69b1db8bf3d', 'Sub-CPMK-12', 'Mampu mendemonstrasikan penggunaan fungsi dan prosedur dalam pembuatan proyek di Alice untuk memecahkan masalah algoritma.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('fae2b071-a6f2-4f52-8b22-214c516d905d', 'a5e1488c-9265-45b3-9c57-e2b2f8588b05', 'Sub-CPMK-13', 'Dapat melakukan pengaturan routing dasar pada router, termasuk pengaturan static routing dan dynamic routing dengan protokol RIP.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('faeeb1cb-98ce-45dc-9849-52484ca934c8', '47c888f0-6310-4b8e-8072-f929b94a59cb', 'Sub-CPMK-7', 'Mampu mengukur tegangan DC pada berbagai titik dalam rangkaian dan membandingkan dengan nilai teoritis yang diharapkan.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('faef9243-fc5d-4a0e-b366-de6ba75135a9', 'eb40bea3-7438-432a-8cec-0b60b0694625', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan dan menerapkan konsep dasar probabilitas dalam konteks teknik elektro', 0.00, '2026-01-17 00:58:15', '2026-01-17 00:58:15'), +('fafbe1a6-6d5c-43a1-aaa9-aa8e75b61b7b', '6c69ced9-79a4-4c2f-bb34-5a355ab2fd8a', 'Sub-CPMK-8', 'Melakukan proses akuisisi bukti digital menggunakan alat dan teknik yang sesuai untuk menjaga integritas data.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('fb10a4f7-0a3b-4ab0-aba4-77f502a42e9b', 'f162c884-fd50-44e4-9468-0f6cfc68edb1', 'Sub-CPMK-6', 'Mengidentifikasi dan menjelaskan stabilitas metode numerik serta dampaknya terhadap hasil perhitungan.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('fb13ee61-084a-4f93-8106-118afdd41507', '99b290be-bf6e-45d6-8f67-51d403cf8bab', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan komponen dasar dari struktur atom, termasuk proton, neutron, dan elektron, serta konfigurasi elektron.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('fb3d2db8-f15d-4284-b5a7-74a662054fba', 'cfd5a3ce-8c35-4b4f-9b6d-c779db09f50e', 'Sub-CPMK-6', 'Mampu menerapkan pewarisan dan polimorfisme dalam pengembangan aplikasi berbasis objek.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('fb4e80c0-802e-4615-bfcc-53d40bf09255', '0d884892-42c2-4c7b-836f-df3028764bdd', 'Sub-CPMK-10', 'Mampu menyusun kerangka artikel ilmiah yang sistematis dan logis.', 0.00, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('fb51687c-fb7f-42a1-a41e-629fac2009b7', '6556f889-39b8-4a07-9d35-ae7766c9586d', 'Sub-CPMK-12', 'Mampu menyusun laporan evaluasi yang mencakup rekomendasi untuk perbaikan KKP-Plus berdasarkan hasil analisis', 0.00, '2026-01-16 22:56:54', '2026-01-16 22:56:54'), +('fb5a44ea-2438-4c5e-8424-6ba8a7e98890', '01478f91-8c22-4a30-8e9e-e158f53d86b1', 'Sub-CPMK-12', 'Mahasiswa mampu menerapkan metode analisis struktural sederhana untuk menentukan deformasi pada elemen struktur.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('fb696690-a2d3-4184-8cfd-0050a7c14ca5', '100a1d78-22da-4196-9325-6bb9a477326d', 'Sub-CPMK-8', 'Mampu memilih dan menerapkan metode pengumpulan data yang sesuai untuk mendapatkan informasi yang diperlukan dalam evaluasi solusi.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('fb6981f9-dbc8-4671-98fb-45b6e7760de6', 'f13b6bd6-b0ef-4e26-b590-12ce619ca024', 'Sub-CPMK-12', 'Mengembangkan sistem pelatihan K3 untuk meningkatkan kesadaran dan kompetensi karyawan.', 0.00, '2026-01-16 23:21:05', '2026-01-16 23:21:05'), +('fb85f627-90e2-4ad3-89f0-c8dfe0673d36', 'bf096086-bd1a-479e-9ab3-4cf0024ab183', 'Sub-CPMK-2', 'Mendesain sistem proteksi beban lebih dengan menggunakan perangkat proteksi yang sesuai.', 0.00, '2026-01-17 00:58:31', '2026-01-17 00:58:31'), +('fba2104c-320e-4692-b790-046131c46777', '1c5c1d9e-9f69-4ef7-a10e-ef5621a3c0c9', 'Sub-CPMK-7', 'Menganalisis risiko keamanan jaringan dengan metode penilaian yang sesuai.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('fba32c87-5600-44ff-8365-97cae16b4b7a', 'a34c1796-eb3e-438c-85cb-8fcc9100af9c', 'Sub-CPMK-1', 'Mampu menjelaskan hukum Newton pertama, kedua, dan ketiga serta aplikasinya dalam struktur bangunan.', 0.00, '2026-01-16 22:56:56', '2026-01-16 22:56:56'), +('fba356ba-7aaf-41f2-b955-8786fb5fa4a6', 'c470d13b-21a3-41eb-bd15-2a206dc298f3', 'Sub-CPMK-3', 'Mampu menerapkan teknik dynamic programming untuk memecahkan masalah optimasi seperti longest common subsequence dan coin change.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('fba5177d-bc5c-4548-aa84-d288c1174d29', 'bb9c7529-4455-41d5-a416-ffaa0cb2626c', 'Sub-CPMK-4', 'Mampu mendefinisikan sinyal diskrit dan sistem diskrit dengan contoh yang relevan.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('fbb2a595-45d0-4c88-9e88-9ae61333611a', '699f8752-ad68-4b2d-8574-c7624db62626', 'Sub-CPMK-12', 'Mampu menjelaskan dan mengimplementasikan struktur dasar HTML dalam proyek web sederhana.', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('fbbb7c1b-2f0d-49aa-966b-330a316e6d0e', '1a8aa973-3b78-4c6b-b378-a81b7f21a19d', 'Sub-CPMK-5', 'Mampu menganalisis prinsip kerja dari sensor dan aktuator yang digunakan dalam sistem kontrol elektronik.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('fbfa73b4-71e3-48bc-b034-ffce587d1871', '2f587695-4d29-4fd3-b090-74d7cedbecff', 'Sub-CPMK-9', 'Mampu mengevaluasi rasio sinyal terhadap derau (SNR) dalam konteks komunikasi nirkabel.', 0.00, '2026-01-17 00:58:18', '2026-01-17 00:58:18'), +('fbff00d8-86d8-45f4-ab61-2c37a3215dd5', '7230093a-f6b1-40d8-82f8-911264cd2a68', 'Sub-CPMK-9', 'Mampu menginstall dan mengkonfigurasi perangkat forensik Autopsy untuk analisis digital.', 0.00, '2026-01-16 23:21:11', '2026-01-16 23:21:11'), +('fc099b03-3fe4-4641-958a-ed87caec195c', 'd9fa2bc6-748e-428b-baac-3c45a1f2eb21', 'Sub-CPMK-9', 'Mampu menerapkan hukum Ampere untuk menghitung medan magnet di sekitar konduktor berarus.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('fc0ed5ad-5125-404b-a7a8-0ada9059b5fe', '747b76b9-b4fa-4b4e-961d-360807a79683', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan prinsip dasar sirkuit terpadu dan tingkat integrasi yang berbeda dalam desain VLSI.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('fc0f2b77-a9e7-44f9-a591-94affef34707', '822eafb8-3bcb-4010-8d43-a583b929641a', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan minimal tiga kasus aktual di masyarakat yang relevan dengan nilai-nilai Islam dan Kemuhammadiyahan.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('fc17e964-2287-44aa-81d8-553933ecc039', '8d428160-8a59-4b33-80b4-3ebe3f1d660a', 'Sub-CPMK-11', 'Mahasiswa dapat menggunakan hukum Kirchhoff untuk menganalisis arus dan tegangan dalam rangkaian listrik yang memiliki beberapa loop dan simpul.', 7.14, '2026-01-17 00:58:12', '2026-01-17 00:58:12'), +('fc1a0d6f-a575-46b0-9f92-01410f648055', 'cce1c8e9-9d93-4b17-ba64-4d2d6057a32f', 'Sub-CPMK-6', 'Mampu melakukan exploitasi terhadap kerentanan yang ditemukan dalam tahap exploitation.', 0.00, '2026-01-16 23:21:12', '2026-01-16 23:21:12'), +('fc1d50f8-215c-498c-8685-55ecf8c45701', '34fdcbb5-5374-484e-a3e1-ea2d78dcb186', 'Sub-CPMK-14', 'Mampu menganalisis dan menjelaskan karakteristik dioda berdasarkan hasil pengukuran dan pengamatan yang dilakukan.', 0.00, '2026-01-17 00:58:19', '2026-01-17 00:58:19'), +('fc4ffaa6-55bf-4b9a-aeab-0254f3257846', 'a0338add-0d87-4d89-a635-e19b90bacfa2', 'Sub-CPMK-7', 'Mahasiswa mampu menghitung momen inersia dan kekuatan maksimum balok berdasarkan bentuk penampang dan material yang digunakan.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('fc525111-16f2-434b-ae69-44656c6a20c7', 'df7bf392-4dac-4ea3-9d79-bba26cc574c6', 'Sub-CPMK-9', 'Mahasiswa dapat menghitung invers matriks 2x2 menggunakan matriks adjoin.', 0.00, '2026-01-16 23:20:59', '2026-01-16 23:20:59'), +('fc61033b-a1f1-4484-b63a-6830e2b400f2', '034305b9-6328-44ce-96b6-b70a1220ab25', 'Sub-CPMK-8', 'Membuat skrip otomatisasi untuk build aplikasi menggunakan Jenkins', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('fc774286-77d2-4dc7-89a6-74115d8617a7', 'e70387ce-b7b6-405a-ad19-aa6a36fa7fc8', 'Sub-CPMK-4', 'Mampu melakukan analisis kebutuhan untuk menentukan solusi teknis yang tepat berdasarkan masalah yang diidentifikasi.', 0.00, '2026-01-16 23:21:14', '2026-01-16 23:21:14'), +('fc7ea460-ecbc-4783-b057-c8ebc29c8ac1', 'c8570682-36f8-43ce-9f32-9a71be361b95', 'Sub-CPMK-2', 'Menganalisis literatur terbaru untuk menemukan celah penelitian yang dapat diisi dengan topik yang diusulkan.', 0.00, '2026-01-16 22:56:39', '2026-01-16 22:56:39'), +('fc82991b-f655-4b75-8921-e7b3ac9da04e', 'a6395b0d-4eed-45d4-b214-67d79bd4a17f', 'Sub-CPMK-12', 'Dapat melakukan logging pada microservices menggunakan ELK Stack (Elasticsearch, Logstash, Kibana) dan menganalisis log yang dihasilkan.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('fc84d336-b73b-4a5b-b783-b49648c391ef', '497d18c4-e17a-410f-b79a-8581fed9ba04', 'Sub-CPMK-3', 'Mampu merancang dan menguji rangkaian dasar yang memanfaatkan komponen optoelektronik seperti LED dan fotodioda.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('fc978fd5-99bd-4150-941b-717d5f9ffbbd', '30041bee-55c8-4cbf-90a7-c66e2b4c2275', 'Sub-CPMK-3', 'Mahasiswa mampu menghitung ukuran penyebaran data seperti varians dan standar deviasi', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('fc9a3023-b4c5-4adc-96a3-2379873a04e5', 'e57586d1-5c3e-4b06-adcc-5077a7f97c9d', 'Sub-CPMK-8', 'Mahasiswa mampu memilih material bangunan yang ramah lingkungan dan sesuai dengan prinsip keberlanjutan.', 0.00, '2026-01-16 22:56:49', '2026-01-16 22:56:49'), +('fc9daeb5-2857-4ed9-83e4-23b3d9454310', '45163f68-6dd7-43ff-9806-b6c4c5fbdc09', 'Sub-CPMK-3', 'Mampu merancang dan menganalisis rangkaian RF untuk aplikasi telekomunikasi, termasuk pemilihan komponen yang tepat.', 0.00, '2026-01-17 00:58:25', '2026-01-17 00:58:25'), +('fcb0b2d5-c3c7-4539-9db0-f7f4c704c0e5', '3e96c35c-708c-4642-93b2-0f2c188b80f5', 'Sub-CPMK-6', 'Mampu menyusun proposal desain ruang yang memadukan keindahan visual dan kebutuhan pengguna berdasarkan nilai-nilai arsitektur Islam.', 7.14, '2026-01-16 22:56:57', '2026-01-16 22:56:57'), +('fcba03a6-6770-4b4f-b3ab-991cd646fc9a', 'cd936bb6-16f4-4ea5-a74c-1921a041051f', 'Sub-CPMK-8', 'Mengidentifikasi dan mendiskusikan isu-isu etika yang muncul dari penggunaan AI dalam pengambilan keputusan di bidang pendidikan.', 0.00, '2026-01-16 22:56:52', '2026-01-16 22:56:52'), +('fcc33b07-2912-4944-ae00-b8df76002380', 'fb8b530c-6c46-4539-a24c-7c9f51d6eebf', 'Sub-CPMK-13', 'Mahasiswa mampu menyusun kerangka proposal penelitian yang jelas dan terstruktur.', 7.14, '2026-01-16 22:56:50', '2026-01-16 22:56:50'), +('fcebe67a-0b16-4504-ad09-244b469487d4', '2231ca71-6025-40cb-b669-b610c8879df0', 'Sub-CPMK-2', 'Mahasiswa mampu membandingkan dan menganalisis perbedaan antara pendekatan tradisional dan DevOps dalam siklus hidup pengembangan perangkat lunak.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('fcffd458-2d5c-44e6-9c0a-32d32c856db4', '61af494f-9973-4906-b30f-748f5b6e2dad', 'Sub-CPMK-8', 'Mampu menghitung dan mengevaluasi delay pada jaringan telekomunikasi berdasarkan model jaringan yang digunakan.', 0.00, '2026-01-17 00:58:27', '2026-01-17 00:58:27'), +('fd065e1a-c2a4-481e-af0e-21c60dfd9e57', 'd850164a-166c-4f0d-8e6b-c1b4bca0b5ed', 'Sub-CPMK-4', 'Dapat merancang arsitektur ETL yang efisien dengan mempertimbangkan volume dan variasi data.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('fd0e4696-ed37-4e01-9df9-6bd8f7b132f6', 'dac147d0-e763-4c4b-8a75-caaab7e8bcd5', 'Sub-CPMK-1', 'Mahasiswa dapat melakukan analisis kebutuhan sistem elektronika dengan menggunakan teknik pengumpulan data yang tepat.', 0.00, '2026-01-17 00:58:26', '2026-01-17 00:58:26'), +('fd42e972-225f-4f46-8961-da966ed0527c', 'f04b783f-ede0-474c-a6c7-9313730e9f26', 'Sub-CPMK-8', 'Mampu menjelaskan fungsi dan karakteristik perangkat jaringan seperti router, switch, dan access point serta perannya dalam jaringan.', 0.00, '2026-01-17 00:58:21', '2026-01-17 00:58:21'), +('fd7789c7-5a22-4298-a902-a7a8195c62d4', '362fc8d8-e5f8-493f-b20c-101683736f2e', 'Sub-CPMK-7', 'Menganalisis dampak lingkungan dari penerapan arsitektur hijau pada bangunan tertentu.', 7.14, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('fd99963a-41be-45e0-b315-2716a340ae6a', '8ba3cec8-5c7c-4a16-bc21-6f0b58a50dc9', 'Sub-CPMK-9', 'Mahasiswa mampu mengevaluasi kestabilan bangunan berdasarkan bentuk dan material yang digunakan.', 7.14, '2026-01-16 22:56:42', '2026-01-16 22:56:42'), +('fdb5d618-0f85-4a26-91c5-7d074f3a7da0', '1dff0a86-93ee-46da-a014-392daae30d7f', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan jenis-jenis interaksi cahaya dengan bahan semikonduktor, seperti absorpsi, refleksi, dan transmisi.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('fdc826da-1432-4dc9-a0b0-c9dfd21f3026', 'a2bae750-4303-43be-b3de-c43b324ade49', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menjelaskan fungsi utama dari komponen sistem operasi Linux, seperti kernel, shell, dan sistem file.', 0.00, '2026-01-16 23:20:58', '2026-01-16 23:20:58'), +('fdd73012-3e30-4b69-a7d0-1a9096d0be1d', '00563f17-5e22-449d-8fe5-7c030ebd70a5', 'Sub-CPMK-5', 'Mahasiswa mampu menganalisis pengaruh beban lateral terhadap stabilitas struktur baja.', 0.00, '2026-01-16 22:56:47', '2026-01-16 22:56:47'), +('fdd85794-525e-4dc6-b249-848511065044', '9fdcf879-668f-4b82-8884-b94903a2f5db', 'Sub-CPMK-14', 'Mahasiswa mampu menyusun laporan perencanaan yang mencakup analisis kebutuhan dan rekomendasi desain.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('fddcea20-b5a7-47ba-85c3-f1387c67676d', 'b77c6d41-2860-4e7b-8a1a-92057b671612', 'Sub-CPMK-2', 'Menjelaskan perbedaan antara data terstruktur, semi-terstruktur, dan tidak terstruktur serta implikasinya dalam big data.', 0.00, '2026-01-16 23:21:06', '2026-01-16 23:21:06'), +('fdeb8c47-2ef2-4c0f-af6c-2336b3d15a0e', '757af86a-7027-4b3b-a94d-5bd356ba61df', 'Sub-CPMK-2', 'Mahasiswa mampu menghitung kebutuhan pencahayaan alami dan buatan dalam ruang bangunan sesuai standar yang berlaku.', 0.00, '2026-01-16 22:56:46', '2026-01-16 22:56:46'), +('fdedd297-e1ec-46a1-b805-56df52b89ab8', 'f9c03765-57b8-497e-a515-369b78f0f1b3', 'Sub-CPMK-11', 'Mahasiswa dapat mengidentifikasi dan mendefinisikan 50 istilah teknis dalam bahasa Inggris yang umum digunakan di bidang teknik.', 0.00, '2026-01-16 22:56:35', '2026-01-16 22:56:35'), +('fe13244f-01ac-4082-a4ec-e6f7f7a504a9', '6215eb1d-cb54-4b31-8827-8b36af4e8096', 'Sub-CPMK-5', 'Mampu mengidentifikasi dan menganalisis peran masing-masing anggota tim dalam komunikasi efektif.', 0.00, '2026-01-16 22:56:51', '2026-01-16 22:56:51'), +('fe1a87cb-d890-4fb8-8ad3-e2268ec38256', 'd44f7cd6-3f62-41d8-a854-f1e54041e43c', 'Sub-CPMK-7', 'Mahasiswa mampu menganalisis struktur sistem komputer, termasuk perangkat keras dan perangkat lunak yang terkait.', 0.00, '2026-01-16 23:21:01', '2026-01-16 23:21:01'), +('fe4cc7ab-6c32-4b58-a8cd-98b687790cb9', '34d3da15-97a4-4837-8a98-1be4a380703d', 'Sub-CPMK-4', 'Menjelaskan proses pembangkitan tenaga listrik menggunakan berbagai sumber energi, termasuk energi fosil, nuklir, dan terbarukan.', 0.00, '2026-01-17 00:58:24', '2026-01-17 00:58:24'), +('fe533147-1386-4342-b5df-47a8ca14a222', '0d1d62a6-313b-4aa6-b936-36526f99d090', 'Sub-CPMK-2', 'Menjelaskan perbedaan antara MLOps dan DevOps serta implikasinya terhadap pengembangan dan deployment model machine learning.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('fe7c6d13-743b-4b8e-9c70-60dd24a6f26f', '9cd71a0f-2760-4d72-aee5-6f876b4120e0', 'Sub-CPMK-3', 'Mampu menganalisis data pengukuran untuk menentukan akurasi dan presisi hasil pemetaan.', 0.00, '2026-01-16 22:56:55', '2026-01-16 22:56:55'), +('fe849af4-0ed3-44e0-971e-074fbfa47ac9', 'c10902b3-cde0-4532-a76f-f422f31920f3', 'Sub-CPMK-1', 'Mahasiswa mampu menjelaskan struktur atom dan komponen penyusunnya serta perannya dalam pembentukan ikatan kimia.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'), +('fe88dfc8-cc50-4a15-8afd-56fd376c79c6', '6514d1d2-84d1-4dbc-8b01-ff16992363ab', 'Sub-CPMK-5', 'Mampu menggunakan media presentasi yang tepat dan menarik untuk mendukung penyampaian proposal penelitian.', 0.00, '2026-01-16 22:56:53', '2026-01-16 22:56:53'), +('fe8e1980-4110-4ed8-bba5-9f18bb743544', 'f55d68ff-36e0-44e6-9028-e4a0f85096a7', 'Sub-CPMK-10', 'Dapat menerapkan dan mengelola aplikasi containerized menggunakan Helm charts', 0.00, '2026-01-16 23:21:07', '2026-01-16 23:21:07'), +('feab50ce-fa6d-46c5-9411-3e637a7c7efe', '8b26e168-6a40-4eac-ab26-7c2c9e05fe7d', 'Sub-CPMK-2', 'Mendeskripsikan perbedaan antara neural networks dan deep learning, serta aplikasi masing-masing.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('febdc1c7-3c38-4fee-82fa-4fc7ad8b0716', 'c1805052-d064-45a3-8fb5-3fa4141c233e', 'Sub-CPMK-10', 'Mampu mengimplementasikan algoritma regresi linear sederhana pada mikrokontroler untuk memprediksi nilai keluaran berdasarkan input tertentu.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('fed043a0-612b-4cf4-ac0b-f8c289acb841', '15db3ec8-8ae4-4cea-be07-3b4e14c5e59c', 'Sub-CPMK-11', 'Mahasiswa mampu mendemonstrasikan teknik pencampuran beton yang sesuai dengan standar, termasuk perhitungan proporsi material.', 0.00, '2026-01-16 22:56:45', '2026-01-16 22:56:45'), +('feeb3d53-5241-4c5c-b80d-b701c774967d', '2ef69b14-e0f6-41c7-9091-5ab8842250d1', 'Sub-CPMK-6', 'Mahasiswa mampu menghitung momen pada titik tertentu dari elemen struktur sederhana dengan menggunakan diagram bebas.', 7.14, '2026-01-16 22:56:41', '2026-01-16 22:56:41'), +('ff02d7c4-1004-46ae-8ca5-434d510ca1d1', '552ffbce-c842-41d2-b275-3059b2ecb4b6', 'Sub-CPMK-14', 'Mahasiswa mampu membuat sketsa awal dan diagram alur yang menggambarkan konsep arsitektur inklusif.', 0.00, '2026-01-16 22:56:48', '2026-01-16 22:56:48'), +('ff07c81b-9c1e-4bfa-89b0-033229491ae4', 'c9a39126-5d32-462d-8f64-d9e659376a2b', 'Sub-CPMK-5', 'Menganalisis perbedaan antara serat optik single-mode dan multi-mode serta aplikasinya.', 0.00, '2026-01-17 00:58:34', '2026-01-17 00:58:34'), +('ff10c8db-bc51-4484-85f0-f8f21f92f906', '5468cb38-7793-4306-9f5d-fc2dadacd8df', 'Sub-CPMK-14', 'Dapat merencanakan dan mengikuti kegiatan pembelajaran tambahan, seperti workshop atau seminar, yang mendukung penguasaan desain.', 0.00, '2026-01-17 00:59:14', '2026-01-17 00:59:14'), +('ff1fc063-ec0a-44c1-8faa-e55002505e25', '4b7f39e2-9360-4618-8090-64a4f8aa3fc6', 'Sub-CPMK-3', 'Mengimplementasikan algoritma dasar menggunakan bahasa pemrograman yang dipilih, seperti Python atau Java.', 0.00, '2026-01-16 23:20:57', '2026-01-16 23:20:57'), +('ff2f64f5-bb2e-4cc0-8505-f29b156e4274', '7975dd52-c47d-49d0-8846-9e2b05bf46dc', 'Sub-CPMK-7', 'Mampu menjelaskan prinsip kerja dan karakteristik komponen op-amp dalam aplikasi sistem kontrol.', 0.00, '2026-01-17 00:58:33', '2026-01-17 00:58:33'), +('ff613c52-7f3f-4641-9bbf-0e6261db321d', 'b8f36c96-842f-4278-ab7b-97bbfbefa29d', 'Sub-CPMK-9', 'Menerapkan hukum Bernoulli untuk menentukan kehilangan energi dalam aliran fluida pada berbagai kondisi.', 0.00, '2026-01-17 00:59:10', '2026-01-17 00:59:10'), +('ff8845cb-e99a-4b08-a6f1-94a77cd3284c', '0d1d62a6-313b-4aa6-b936-36526f99d090', 'Sub-CPMK-3', 'Menganalisis alat dan teknik yang digunakan dalam MLOps untuk otomatisasi dan manajemen pipeline machine learning.', 0.00, '2026-01-16 23:21:09', '2026-01-16 23:21:09'), +('ff902e02-dce1-443d-abde-9752bfbaa740', '8ccca03b-c90f-4766-8a6e-de48dc5fe60a', 'Sub-CPMK-3', 'Mahasiswa dapat menyusun model matematis untuk rangkaian listrik sederhana dan melakukan simulasi menggunakan perangkat lunak analisis rangkaian.', 0.00, '2026-01-17 00:58:17', '2026-01-17 00:58:17'), +('ff9c9d40-6665-4e89-9fbb-777f82ddb6fe', '12bcb1a2-2612-4f78-a5db-99b9ee319011', 'Sub-CPMK-14', 'Mampu melakukan audit sistem proteksi eksisting berdasarkan standar keselamatan nasional dan internasional, serta mengidentifikasi celah yang memerlukan perbaikan.', 0.00, '2026-01-17 00:58:32', '2026-01-17 00:58:32'), +('ffcb81b8-2bd7-408c-9873-554744112e4b', '9a5105b7-b641-433e-8f3c-841e815a9c8a', 'Sub-CPMK-1', 'Mahasiswa mampu mengidentifikasi dan menerapkan elemen dasar komunikasi visual dalam presentasi perancangan arsitektur.', 7.14, '2026-01-16 22:56:40', '2026-01-16 22:56:40'), +('ffd5ffd9-5ff1-4f91-8ac3-330d02b76205', 'b0ba34fc-a8eb-4100-b4a1-66497a43aca3', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menggunakan alat reconnaissance dasar seperti Nmap dan Whois untuk mengumpulkan informasi tentang target sistem.', 0.00, '2026-01-16 23:21:08', '2026-01-16 23:21:08'), +('ffd60c47-ad11-47d4-bcb3-4fc26e413881', '81fd647b-fcfc-483d-8974-31eca3ebcf84', 'Sub-CPMK-9', 'Mengimplementasikan algoritma pencarian menggunakan bahasa pemrograman yang dipilih', 0.00, '2026-01-16 23:21:00', '2026-01-16 23:21:00'), +('fff01e2d-31d1-412f-9c42-d2a3a10d4306', '573141f4-5fca-4e5b-8c7f-0639d8b92117', 'Sub-CPMK-4', 'Mampu mengidentifikasi dan menjelaskan komponen dasar dari struktur atom, termasuk proton, neutron, dan elektron.', 0.00, '2026-01-17 00:58:20', '2026-01-17 00:58:20'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `users` +-- + +CREATE TABLE `users` ( + `id_user` bigint(20) UNSIGNED NOT NULL, + `id_prodi` bigint(20) UNSIGNED NOT NULL, + `nama` varchar(100) NOT NULL, + `email` varchar(100) NOT NULL, + `password` varchar(255) NOT NULL, + `role` varchar(20) NOT NULL DEFAULT 'kaprodi', + `created_at` datetime DEFAULT NULL, + `updated_at` datetime DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Dumping data for table `users` +-- + +INSERT INTO `users` (`id_user`, `id_prodi`, `nama`, `email`, `password`, `role`, `created_at`, `updated_at`) VALUES +(1, 5, 'Kaprodi Informatika', 'kaprodi.informatika@unismuh.ac.id', '$2a$10$lfRTIPOEqxSuJBruDakX/OGV5x1tFHekePh4zkdtCxvMwVKW5GFGC', 'kaprodi', '2025-12-16 06:00:35', '2025-12-16 06:00:35'), +(2, 3, 'Kaprodi Arsitektur', 'kaprodi.arsitektur@unismuh.ac.id', '$2a$10$lfRTIPOEqxSuJBruDakX/OGV5x1tFHekePh4zkdtCxvMwVKW5GFGC', 'kaprodi', '2025-12-16 06:00:35', '2025-12-16 06:00:35'), +(3, 4, 'Kaprodi PWK', 'kaprodi.pwk@unismuh.ac.id', '$2a$10$lfRTIPOEqxSuJBruDakX/OGV5x1tFHekePh4zkdtCxvMwVKW5GFGC', 'kaprodi', '2025-12-16 06:00:35', '2025-12-16 06:00:35'), +(4, 2, 'Kaprodi Pengairan', 'kaprodi.pengairan@unismuh.ac.id', '$2a$10$lfRTIPOEqxSuJBruDakX/OGV5x1tFHekePh4zkdtCxvMwVKW5GFGC', 'kaprodi', '2025-12-16 06:00:35', '2025-12-16 06:00:35'), +(5, 1, 'Kaprodi Elektro', 'kaprodi.elektro@unismuh.ac.id', '$2a$10$lfRTIPOEqxSuJBruDakX/OGV5x1tFHekePh4zkdtCxvMwVKW5GFGC', 'kaprodi', '2025-12-16 06:00:35', '2025-12-16 06:00:35'); + +-- +-- Indexes for dumped tables +-- + +-- +-- Indexes for table `cpl` +-- +ALTER TABLE `cpl` + ADD PRIMARY KEY (`id_cpl`), + ADD UNIQUE KEY `uk_cpl_prodi_kode` (`id_prodi`,`kode_cpl`); + +-- +-- Indexes for table `cpl_mk` +-- +ALTER TABLE `cpl_mk` + ADD PRIMARY KEY (`id_cpl_mk`), + ADD UNIQUE KEY `idx_unik_cpl_mk` (`id_cpl`,`id_mk`), + ADD KEY `idx_cpl_mk_mk` (`id_mk`); + +-- +-- Indexes for table `cpmk` +-- +ALTER TABLE `cpmk` + ADD PRIMARY KEY (`id`), + ADD KEY `idx_cpmk_mk` (`id_mk`); + +-- +-- Indexes for table `konsentrasi` +-- +ALTER TABLE `konsentrasi` + ADD PRIMARY KEY (`id_konsentrasi`), + ADD KEY `fk_konsentrasi_prodi` (`id_prodi`); + +-- +-- Indexes for table `mahasiswa` +-- +ALTER TABLE `mahasiswa` + ADD PRIMARY KEY (`id_mhs`), + ADD UNIQUE KEY `uk_mhs_nim` (`nim`), + ADD KEY `fk_mhs_prodi` (`id_prodi`), + ADD KEY `fk_mhs_konsentrasi` (`id_konsentrasi`); + +-- +-- Indexes for table `mk` +-- +ALTER TABLE `mk` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `idx_kode_mk` (`kode_mk`); + +-- +-- Indexes for table `nilai_cpl` +-- +ALTER TABLE `nilai_cpl` + ADD PRIMARY KEY (`id_nilai_cpl`), + ADD UNIQUE KEY `uk_nilai_cpl` (`id_mhs`,`id_cpl`,`semester_eval`), + ADD UNIQUE KEY `uq_nilai_cpl_mhs_cpl_sem` (`id_mhs`,`id_cpl`,`semester_eval`), + ADD KEY `fk_nilai_cpl_cpl` (`id_cpl`); + +-- +-- Indexes for table `nilai_cpmk` +-- +ALTER TABLE `nilai_cpmk` + ADD PRIMARY KEY (`id_mhs`,`id_cpmk`); + +-- +-- Indexes for table `nilai_mk` +-- +ALTER TABLE `nilai_mk` + ADD PRIMARY KEY (`id_nilai_mk`), + ADD KEY `idx_nilai_mk` (`id_mk`); + +-- +-- Indexes for table `nilai_sub_cpmk` +-- +ALTER TABLE `nilai_sub_cpmk` + ADD PRIMARY KEY (`id_mhs`,`id_sub_cpmk`); + +-- +-- Indexes for table `prodi` +-- +ALTER TABLE `prodi` + ADD PRIMARY KEY (`id_prodi`), + ADD UNIQUE KEY `uk_prodi_kode` (`kode_prodi`); + +-- +-- Indexes for table `sub_cpmk` +-- +ALTER TABLE `sub_cpmk` + ADD PRIMARY KEY (`id`), + ADD KEY `idx_sub_cpmk_cpmk` (`id_cpmk`); + +-- +-- Indexes for table `users` +-- +ALTER TABLE `users` + ADD PRIMARY KEY (`id_user`), + ADD UNIQUE KEY `uk_users_email` (`email`), + ADD UNIQUE KEY `uk_users_prodi` (`id_prodi`); + +-- +-- AUTO_INCREMENT for dumped tables +-- + +-- +-- AUTO_INCREMENT for table `cpl` +-- +ALTER TABLE `cpl` + MODIFY `id_cpl` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=39; + +-- +-- AUTO_INCREMENT for table `cpl_mk` +-- +ALTER TABLE `cpl_mk` + MODIFY `id_cpl_mk` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=509; + +-- +-- AUTO_INCREMENT for table `konsentrasi` +-- +ALTER TABLE `konsentrasi` + MODIFY `id_konsentrasi` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `mahasiswa` +-- +ALTER TABLE `mahasiswa` + MODIFY `id_mhs` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10001; + +-- +-- AUTO_INCREMENT for table `nilai_cpl` +-- +ALTER TABLE `nilai_cpl` + MODIFY `id_nilai_cpl` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1756; + +-- +-- AUTO_INCREMENT for table `nilai_mk` +-- +ALTER TABLE `nilai_mk` + MODIFY `id_nilai_mk` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=609; + +-- +-- AUTO_INCREMENT for table `prodi` +-- +ALTER TABLE `prodi` + MODIFY `id_prodi` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; + +-- +-- AUTO_INCREMENT for table `users` +-- +ALTER TABLE `users` + MODIFY `id_user` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; + +-- +-- Constraints for dumped tables +-- + +-- +-- Constraints for table `cpl` +-- +ALTER TABLE `cpl` + ADD CONSTRAINT `fk_cpl_prodi` FOREIGN KEY (`id_prodi`) REFERENCES `prodi` (`id_prodi`) ON UPDATE CASCADE; + +-- +-- Constraints for table `cpl_mk` +-- +ALTER TABLE `cpl_mk` + ADD CONSTRAINT `fk_cpl_mk_mk` FOREIGN KEY (`id_mk`) REFERENCES `mk` (`id`) ON DELETE CASCADE; + +-- +-- Constraints for table `cpmk` +-- +ALTER TABLE `cpmk` + ADD CONSTRAINT `fk_cpmk_mk` FOREIGN KEY (`id_mk`) REFERENCES `mk` (`id`) ON DELETE CASCADE; + +-- +-- Constraints for table `konsentrasi` +-- +ALTER TABLE `konsentrasi` + ADD CONSTRAINT `fk_konsentrasi_prodi` FOREIGN KEY (`id_prodi`) REFERENCES `prodi` (`id_prodi`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Constraints for table `mahasiswa` +-- +ALTER TABLE `mahasiswa` + ADD CONSTRAINT `fk_mhs_konsentrasi` FOREIGN KEY (`id_konsentrasi`) REFERENCES `konsentrasi` (`id_konsentrasi`) ON DELETE SET NULL ON UPDATE CASCADE, + ADD CONSTRAINT `fk_mhs_prodi` FOREIGN KEY (`id_prodi`) REFERENCES `prodi` (`id_prodi`) ON UPDATE CASCADE; + +-- +-- Constraints for table `nilai_cpl` +-- +ALTER TABLE `nilai_cpl` + ADD CONSTRAINT `fk_nilai_cpl_cpl` FOREIGN KEY (`id_cpl`) REFERENCES `cpl` (`id_cpl`) ON UPDATE CASCADE, + ADD CONSTRAINT `fk_nilai_cpl_mhs` FOREIGN KEY (`id_mhs`) REFERENCES `mahasiswa` (`id_mhs`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Constraints for table `nilai_mk` +-- +ALTER TABLE `nilai_mk` + ADD CONSTRAINT `fk_nilai_mk_mk` FOREIGN KEY (`id_mk`) REFERENCES `mk` (`id`) ON DELETE CASCADE; + +-- +-- Constraints for table `sub_cpmk` +-- +ALTER TABLE `sub_cpmk` + ADD CONSTRAINT `fk_sub_cpmk_cpmk` FOREIGN KEY (`id_cpmk`) REFERENCES `cpmk` (`id`) ON DELETE CASCADE; + +-- +-- Constraints for table `users` +-- +ALTER TABLE `users` + ADD CONSTRAINT `fk_users_prodi` FOREIGN KEY (`id_prodi`) REFERENCES `prodi` (`id_prodi`) ON DELETE CASCADE ON UPDATE CASCADE; +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; From f2f3ff3eb3f4a6dee2138200f450e4f0cf26afee Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Sat, 24 Jan 2026 02:03:23 +0800 Subject: [PATCH 31/36] add migration --- SIM-CPL | 2 +- cmd/api/main.go | 33 ++++++++++++++++++++++++++++----- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/SIM-CPL b/SIM-CPL index 21468a4..a8d5a67 160000 --- a/SIM-CPL +++ b/SIM-CPL @@ -1 +1 @@ -Subproject commit 21468a4e91fea200dba27eef9f2f2fb6af771261 +Subproject commit a8d5a67f77848b9943937b2a9db7e60b290686d9 diff --git a/cmd/api/main.go b/cmd/api/main.go index 3afde36..fe974b1 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -18,10 +18,36 @@ func main() { cfg := config.Load() + // 1. Connect Database db.MustConnect(ctx, cfg.DBDSN) + // 2. JALANKAN AUTO MIGRATION DISINI + // Ini akan membuat tabel jika belum ada, atau mengupdate kolom jika ada perubahan di struct + log.Println("Memulai migrasi database otomatis...") + err := db.DB.AutoMigrate( + &model.Prodi{}, // Master Prodi + &model.User{}, // User / Kaprodi + &model.MataKuliah{}, // Master MK + &model.Mahasiswa{}, // Master Mahasiswa + &model.CPL{}, // Master CPL + &model.CPMK{}, // Master CPMK + &model.SubCPMK{}, // Master Sub-CPMK + &model.CPLMK{}, // Mapping CPL <-> MK + &model.NilaiMK{}, // Transaksi Nilai MK + &model.NilaiCPL{}, // Transaksi Nilai CPL (Hasil Hitung) + ) + + if err != nil { + log.Fatalf("Gagal melakukan migrasi database: %v", err) + } + log.Println("Migrasi database selesai.") + + // 3. Setup Router & Server r := httphandler.NewRouter(db.DB, cfg) + + // 4. Seeder User Awal (Opsional, tetap dijalankan jika tabel user kosong/user belum ada) SeedUsers(db.DB) + log.Printf("listening on :%s ...", cfg.Port) if err := r.Run(":" + cfg.Port); err != nil { log.Fatalf("server error: %v", err) @@ -36,11 +62,8 @@ func SeedUsers(gdb *gorm.DB) { passDefault, _ := utils.HashPassword("kaprodi123") users := []model.User{ - {IDProdi: 5, Nama: "Kaprodi Informatika", Email: "kaprodi.informatika@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, - {IDProdi: 3, Nama: "Kaprodi Arsitektur", Email: "kaprodi.arsitektur@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, - {IDProdi: 4, Nama: "Kaprodi PWK", Email: "kaprodi.pwk@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, - {IDProdi: 2, Nama: "Kaprodi Pengairan", Email: "kaprodi.pengairan@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, // Asumsi ID sesuai DB Anda - {IDProdi: 1, Nama: "Kaprodi Elektro", Email: "kaprodi.elektro@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, + + {IDProdi: 1, Nama: "Kaprodi", Email: "kaprodi.elektro@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, } for _, u := range users { From a22a9e4f3595f48751dd08591c43d3c13a76be8c Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Sat, 24 Jan 2026 03:47:54 +0800 Subject: [PATCH 32/36] migration --- cmd/api/main.go | 89 +++++++++++++++++++++++++-------------- internal/config/config.go | 2 +- internal/db/db.go | 52 ++++++++++++++--------- internal/model/user.go | 18 +++++--- internal/utils/token.go | 8 ++-- 5 files changed, 109 insertions(+), 60 deletions(-) diff --git a/cmd/api/main.go b/cmd/api/main.go index fe974b1..a0711e7 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -15,59 +15,86 @@ import ( func main() { ctx := context.Background() - cfg := config.Load() - // 1. Connect Database + // 1. Connect Database (Pastikan db.MustConnect sudah menggunakan Retry Logic untuk Docker) db.MustConnect(ctx, cfg.DBDSN) - // 2. JALANKAN AUTO MIGRATION DISINI - // Ini akan membuat tabel jika belum ada, atau mengupdate kolom jika ada perubahan di struct - log.Println("Memulai migrasi database otomatis...") + // 2. Auto Migration + log.Println(" Memulai migrasi database...") err := db.DB.AutoMigrate( - &model.Prodi{}, // Master Prodi - &model.User{}, // User / Kaprodi - &model.MataKuliah{}, // Master MK - &model.Mahasiswa{}, // Master Mahasiswa - &model.CPL{}, // Master CPL - &model.CPMK{}, // Master CPMK - &model.SubCPMK{}, // Master Sub-CPMK - &model.CPLMK{}, // Mapping CPL <-> MK - &model.NilaiMK{}, // Transaksi Nilai MK - &model.NilaiCPL{}, // Transaksi Nilai CPL (Hasil Hitung) + &model.Prodi{}, // Master Prodi (Harus duluan) + &model.User{}, // User (Foreign Key ke Prodi) + &model.MataKuliah{}, + &model.Mahasiswa{}, + &model.CPL{}, + &model.CPMK{}, + &model.SubCPMK{}, + &model.CPLMK{}, + &model.NilaiMK{}, + &model.NilaiCPL{}, ) - if err != nil { - log.Fatalf("Gagal melakukan migrasi database: %v", err) + log.Fatalf(" Migrasi database gagal: %v", err) } - log.Println("Migrasi database selesai.") - - // 3. Setup Router & Server - r := httphandler.NewRouter(db.DB, cfg) + log.Println(" Migrasi database selesai.") - // 4. Seeder User Awal (Opsional, tetap dijalankan jika tabel user kosong/user belum ada) + // 3. SEEDING DATA (PERBAIKAN PRE-LOAD) + // Penting: Seed Prodi DULUAN, baru User bisa dibuat tanpa error Foreign Key. + SeedProdi(db.DB) SeedUsers(db.DB) - log.Printf("listening on :%s ...", cfg.Port) + // 4. Setup Router + r := httphandler.NewRouter(db.DB, cfg) + + log.Printf(" Server berjalan di port :%s", cfg.Port) if err := r.Run(":" + cfg.Port); err != nil { - log.Fatalf("server error: %v", err) + log.Fatalf("Server error: %v", err) } } -//SEKALI JALANIN SAJA UNTUK INSERT USER AWAL +// === SEEDER PRODI (WAJIB ADA SEBELUM USER) === +func SeedProdi(gdb *gorm.DB) { + // Data Prodi sesuai ID yang digunakan di User + prodis := []model.Prodi{ + {IDProdi: 1, KodeProdi: "TE", NamaProdi: "Teknik Elektro", Jenjang: "S1"}, + {IDProdi: 2, KodeProdi: "TP", NamaProdi: "Teknik Pengairan", Jenjang: "S1"}, + {IDProdi: 3, KodeProdi: "TA", NamaProdi: "Arsitektur", Jenjang: "S1"}, + {IDProdi: 4, KodeProdi: "PWK", NamaProdi: "Perencanaan Wilayah dan Kota", Jenjang: "S1"}, + {IDProdi: 5, KodeProdi: "TF", NamaProdi: "Informatika", Jenjang: "S1"}, + } -// Potongan kode untuk insert user awal (Seeder) + for _, p := range prodis { + var count int64 + // Cek apakah prodi sudah ada (untuk menghindari duplikasi saat restart docker) + if err := gdb.Model(&model.Prodi{}).Where("id_prodi = ?", p.IDProdi).Count(&count).Error; err == nil && count == 0 { + if errCreate := gdb.Create(&p).Error; errCreate != nil { + log.Printf("Gagal seeding prodi %s: %v", p.NamaProdi, errCreate) + } else { + log.Printf("buildings Prodi %s created", p.NamaProdi) + } + } + } +} + +// === SEEDER USER === func SeedUsers(gdb *gorm.DB) { - // Password default dari screenshot - passDefault, _ := utils.HashPassword("kaprodi123") + passDefault, _ := utils.HashPassword("kaprodi123") // Password contoh + // Buat user Admin tanpa ID Prodi (nil) users := []model.User{ - - {IDProdi: 1, Nama: "Kaprodi", Email: "kaprodi.elektro@unismuh.ac.id", Password: passDefault, Role: "kaprodi"}, + { + IDProdi: nil, // PENTING: nil artinya tidak terikat prodi manapun (Admin Global) + Nama: "kaprodi", + Email: "admin@unismuh.ac.id", + Password: passDefault, + Role: "admin", // Set role sebagai admin + }, + // Anda tetap bisa menambahkan user kaprodi spesifik jika mau + // {IDProdi: &idProdiElektro, Nama: "Kaprodi Elektro", ...}, } for _, u := range users { - // Cek jika email sudah ada biar gak duplikat var count int64 gdb.Model(&model.User{}).Where("email = ?", u.Email).Count(&count) if count == 0 { diff --git a/internal/config/config.go b/internal/config/config.go index 184b0c9..5b5e612 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -16,7 +16,7 @@ func Load() *Config { DBDSN: env("DB_DSN", "root:@tcp(127.0.0.1:3306)/cpl_unismuh?parseTime=true&loc=Local"), Port: env("PORT", "8001"), // Default ke localhost jika belum diset di .env - SmartRpsURL: env("SMART_RPS_URL", "http://localhost:8080"), + SmartRpsURL: env("SMART_RPS_URL", "http://103.151.145.166:8080"), SyncSecretKey: env("SYNC_SECRET_KEY", "rahasia_dapur_fti_2025_jangan_disebar"), } } diff --git a/internal/db/db.go b/internal/db/db.go index d3c2ce6..211ce78 100644 --- a/internal/db/db.go +++ b/internal/db/db.go @@ -7,31 +7,45 @@ import ( "gorm.io/driver/mysql" "gorm.io/gorm" + "gorm.io/gorm/logger" ) var DB *gorm.DB -// MustConnect membuka koneksi DB dan panic/log.Fatalf jika gagal. -// ctx dipakai hanya untuk handshake awal. -func MustConnect(ctx context.Context, dsn string) *gorm.DB { - // batas waktu koneksi awal, misal 10 detik - ctx, cancel := context.WithTimeout(ctx, 10*time.Second) - defer cancel() +// MustConnect mencoba koneksi ke database dengan mekanisme Retry (Penting untuk Docker) +func MustConnect(ctx context.Context, dsn string) { + var err error - gdb, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) - if err != nil { - log.Fatalf("failed to open DB: %v", err) - } + // Konfigurasi Retry: Coba 30 kali, jeda 2 detik (Total tunggu 1 menit) + maxRetries := 30 + retryInterval := 2 * time.Second - // Ping untuk memastikan koneksi hidup - sqlDB, err := gdb.DB() - if err != nil { - log.Fatalf("failed to get sql.DB: %v", err) - } - if err := sqlDB.PingContext(ctx); err != nil { - log.Fatalf("failed to ping DB: %v", err) + for i := 0; i < maxRetries; i++ { + // Konfigurasi GORM + config := &gorm.Config{ + Logger: logger.Default.LogMode(logger.Info), + } + + DB, err = gorm.Open(mysql.Open(dsn), config) + if err == nil { + // Cek ping ke database fisik untuk memastikan koneksi benar-benar hidup + sqlDB, errPing := DB.DB() + if errPing == nil && sqlDB.Ping() == nil { + log.Println("Berhasil terhubung ke database!") + + // Setup Connection Pool (Opsional tapi disarankan) + sqlDB.SetMaxIdleConns(10) + sqlDB.SetMaxOpenConns(100) + sqlDB.SetConnMaxLifetime(time.Hour) + + return + } + } + + log.Printf("⏳ Database belum siap (Percobaan %d/%d). Menunggu %v... Error: %v", i+1, maxRetries, retryInterval, err) + time.Sleep(retryInterval) } - DB = gdb - return gdb + // Jika sudah 30x mencoba masih gagal, baru Panic + log.Fatalf("Gagal terhubung ke database setelah %d percobaan. Pastikan service database berjalan dan DSN benar. Error: %v", maxRetries, err) } diff --git a/internal/model/user.go b/internal/model/user.go index a774fba..1a3ad32 100644 --- a/internal/model/user.go +++ b/internal/model/user.go @@ -3,17 +3,25 @@ package model import "time" type User struct { - ID uint64 `gorm:"column:id_user;primaryKey;autoIncrement" json:"id_user"` - IDProdi uint64 `gorm:"column:id_prodi;unique;not null" json:"id_prodi" // 1 Prodi = 1 Akun Kaprodi` + ID uint64 `gorm:"column:id_user;primaryKey;autoIncrement" json:"id_user"` + + // UBAH DISINI: + // 1. Gunakan *uint64 (Pointer) agar bisa NULL + // 2. Hapus 'unique' untuk sementara agar GORM yakin ini relasi 'Belongs To' (banyak user bisa ke 1 prodi, atau 1 user 1 prodi tapi logic validasi di level aplikasi saja) + // 3. Hapus comment yang mengganggu + IDProdi *uint64 `gorm:"column:id_prodi" json:"id_prodi"` + Nama string `gorm:"column:nama;size:100;not null" json:"nama"` Email string `gorm:"column:email;size:100;unique;not null" json:"email"` - Password string `gorm:"column:password;size:255;not null" json:"-" // JSON "-" agar password tidak ikut terkirim di API response` + Password string `gorm:"column:password;size:255;not null" json:"-"` Role string `gorm:"column:role;size:20;default:'kaprodi'" json:"role"` CreatedAt time.Time `gorm:"column:created_at"` UpdatedAt time.Time `gorm:"column:updated_at"` - // Relasi (Optional, agar bisa preload data prodi) - Prodi Prodi `gorm:"foreignKey:IDProdi;references:IDProdi" ` + // PERBAIKAN RELASI: + // Cukup 'foreignKey:IDProdi'. GORM akan otomatis mencari IDProdi di tabel Prodi. + // Hapus 'references' yang berlebihan. + Prodi Prodi `gorm:"foreignKey:IDProdi;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"` } func (User) TableName() string { return "users" } diff --git a/internal/utils/token.go b/internal/utils/token.go index 71c9e08..b0d2408 100644 --- a/internal/utils/token.go +++ b/internal/utils/token.go @@ -12,9 +12,9 @@ import ( var SecretKey = []byte("RAHASIA_DAPUR_SIMCPL_2025") type JWTClaim struct { - IDUser uint64 `json:"id_user"` - IDProdi uint64 `json:"id_prodi"` - Role string `json:"role"` + IDUser uint64 `json:"id_user"` + IDProdi *uint64 `json:"id_prodi"` + Role string `json:"role"` jwt.RegisteredClaims } @@ -28,7 +28,7 @@ func CheckPasswordHash(password, hash string) bool { return err == nil } -func GenerateToken(idUser, idProdi uint64, role string) (string, error) { +func GenerateToken(idUser uint64, idProdi *uint64, role string) (string, error) { claims := &JWTClaim{ IDUser: idUser, IDProdi: idProdi, From 8ac33f290ee0cc2110116038e3907bce6187acb0 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Sat, 24 Jan 2026 04:25:09 +0800 Subject: [PATCH 33/36] resolve dzikri --- cmd/api/main.go | 5 +-- internal/db/db.go | 71 +++++++++++++++++++++++++++++++---- internal/http/handler_auth.go | 4 +- internal/model/user.go | 15 +++----- internal/utils/token.go | 4 +- 5 files changed, 74 insertions(+), 25 deletions(-) diff --git a/cmd/api/main.go b/cmd/api/main.go index a0711e7..8f9dd6c 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -39,12 +39,9 @@ func main() { } log.Println(" Migrasi database selesai.") - // 3. SEEDING DATA (PERBAIKAN PRE-LOAD) - // Penting: Seed Prodi DULUAN, baru User bisa dibuat tanpa error Foreign Key. SeedProdi(db.DB) SeedUsers(db.DB) - // 4. Setup Router r := httphandler.NewRouter(db.DB, cfg) log.Printf(" Server berjalan di port :%s", cfg.Port) @@ -84,7 +81,7 @@ func SeedUsers(gdb *gorm.DB) { // Buat user Admin tanpa ID Prodi (nil) users := []model.User{ { - IDProdi: nil, // PENTING: nil artinya tidak terikat prodi manapun (Admin Global) + ProdiID: nil, // PENTING: nil artinya tidak terikat prodi manapun (Admin Global) Nama: "kaprodi", Email: "admin@unismuh.ac.id", Password: passDefault, diff --git a/internal/db/db.go b/internal/db/db.go index 211ce78..1ab9cde 100644 --- a/internal/db/db.go +++ b/internal/db/db.go @@ -2,7 +2,9 @@ package db import ( "context" + "database/sql" "log" + "strings" "time" "gorm.io/driver/mysql" @@ -12,40 +14,93 @@ import ( var DB *gorm.DB -// MustConnect mencoba koneksi ke database dengan mekanisme Retry (Penting untuk Docker) func MustConnect(ctx context.Context, dsn string) { var err error - // Konfigurasi Retry: Coba 30 kali, jeda 2 detik (Total tunggu 1 menit) maxRetries := 30 retryInterval := 2 * time.Second for i := 0; i < maxRetries; i++ { - // Konfigurasi GORM + // 1. Konfigurasi GORM config := &gorm.Config{ Logger: logger.Default.LogMode(logger.Info), } + // 2. Coba Koneksi ke Database DB, err = gorm.Open(mysql.Open(dsn), config) if err == nil { - // Cek ping ke database fisik untuk memastikan koneksi benar-benar hidup + // Cek ping fisik untuk memastikan koneksi benar-benar hidup sqlDB, errPing := DB.DB() if errPing == nil && sqlDB.Ping() == nil { log.Println("Berhasil terhubung ke database!") - // Setup Connection Pool (Opsional tapi disarankan) + // Setup Connection Pool sqlDB.SetMaxIdleConns(10) sqlDB.SetMaxOpenConns(100) sqlDB.SetConnMaxLifetime(time.Hour) return } + err = errPing // Simpan error ping jika ada } - log.Printf("⏳ Database belum siap (Percobaan %d/%d). Menunggu %v... Error: %v", i+1, maxRetries, retryInterval, err) + // 3. DETEKSI ERROR: Apakah database belum ada? + // Error code 1049 adalah "Unknown database" + if err != nil && (strings.Contains(err.Error(), "Unknown database") || strings.Contains(err.Error(), "1049")) { + log.Printf("Database tujuan belum ditemukan. Mencoba membuat database otomatis...") + + if errCreate := createDatabase(dsn); errCreate != nil { + log.Printf("Gagal membuat database otomatis: %v", errCreate) + } else { + log.Println("Database berhasil dibuat! Mencoba connect ulang di putaran berikutnya...") + time.Sleep(1 * time.Second) + continue // Langsung coba connect ulang (skip sleep panjang) + } + } + + log.Printf("Database belum siap (Percobaan %d/%d). Error: %v. Menunggu %v...", i+1, maxRetries, err, retryInterval) time.Sleep(retryInterval) } - // Jika sudah 30x mencoba masih gagal, baru Panic - log.Fatalf("Gagal terhubung ke database setelah %d percobaan. Pastikan service database berjalan dan DSN benar. Error: %v", maxRetries, err) + log.Fatalf("Gagal terhubung ke database setelah %d percobaan. Error: %v", maxRetries, err) +} + +// createDatabase memparsing DSN untuk mengambil nama DB, lalu melakukan CREATE DATABASE +func createDatabase(fullDSN string) error { + // Logika Parsing DSN (Data Source Name) + // Format DSN biasanya: user:pass@tcp(host:port)/dbname?param=val + + // 1. Pisahkan parameter query (?) + parts := strings.Split(fullDSN, "?") + baseDSN := parts[0] + params := "" + if len(parts) > 1 { + params = "?" + parts[1] + } + + // 2. Ambil nama database (bagian setelah slash terakhir) + lastSlashIndex := strings.LastIndex(baseDSN, "/") + if lastSlashIndex == -1 { + return nil // Format tidak valid, tidak bisa auto-create + } + + dbName := baseDSN[lastSlashIndex+1:] + if dbName == "" { + return nil + } + + // 3. Buat DSN Root (tanpa nama database) untuk koneksi awal + // Contoh: root:pass@tcp(localhost:3306)/ + dsnRoot := baseDSN[:lastSlashIndex+1] + params + + // 4. Koneksi menggunakan driver database/sql standar (bukan GORM) + db, err := sql.Open("mysql", dsnRoot) + if err != nil { + return err + } + defer db.Close() + + // 5. Eksekusi perintah CREATE DATABASE + _, err = db.Exec("CREATE DATABASE IF NOT EXISTS " + dbName) + return err } diff --git a/internal/http/handler_auth.go b/internal/http/handler_auth.go index 357b0d9..66f28b6 100644 --- a/internal/http/handler_auth.go +++ b/internal/http/handler_auth.go @@ -36,7 +36,7 @@ func loginHandler(c *gin.Context) { } // 3. Buat Token JWT - token, err := utils.GenerateToken(user.ID, user.IDProdi, user.Role) + token, err := utils.GenerateToken(user.ID, user.ProdiID, user.Role) if err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": "Gagal membuat token"}) return @@ -49,7 +49,7 @@ func loginHandler(c *gin.Context) { "id_user": user.ID, "nama": user.Nama, "email": user.Email, - "id_prodi": user.IDProdi, + "id_prodi": user.ProdiID, "role": user.Role, }, }) diff --git a/internal/model/user.go b/internal/model/user.go index 1a3ad32..a2da783 100644 --- a/internal/model/user.go +++ b/internal/model/user.go @@ -5,11 +5,9 @@ import "time" type User struct { ID uint64 `gorm:"column:id_user;primaryKey;autoIncrement" json:"id_user"` - // UBAH DISINI: - // 1. Gunakan *uint64 (Pointer) agar bisa NULL - // 2. Hapus 'unique' untuk sementara agar GORM yakin ini relasi 'Belongs To' (banyak user bisa ke 1 prodi, atau 1 user 1 prodi tapi logic validasi di level aplikasi saja) - // 3. Hapus comment yang mengganggu - IDProdi *uint64 `gorm:"column:id_prodi" json:"id_prodi"` + // UBAH NAMA FIELD: Dari IDProdi menjadi ProdiID + // Tapi tetap gunakan column:id_prodi agar di database namanya tetap 'id_prodi' + ProdiID *uint64 `gorm:"column:id_prodi" json:"id_prodi"` Nama string `gorm:"column:nama;size:100;not null" json:"nama"` Email string `gorm:"column:email;size:100;unique;not null" json:"email"` @@ -18,10 +16,9 @@ type User struct { CreatedAt time.Time `gorm:"column:created_at"` UpdatedAt time.Time `gorm:"column:updated_at"` - // PERBAIKAN RELASI: - // Cukup 'foreignKey:IDProdi'. GORM akan otomatis mencari IDProdi di tabel Prodi. - // Hapus 'references' yang berlebihan. - Prodi Prodi `gorm:"foreignKey:IDProdi;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"` + // Update foreignKey ke nama field baru (ProdiID) + // References ke nama field target di Prodi (IDProdi) + Prodi Prodi `gorm:"foreignKey:ProdiID;references:IDProdi;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"` } func (User) TableName() string { return "users" } diff --git a/internal/utils/token.go b/internal/utils/token.go index b0d2408..675d61d 100644 --- a/internal/utils/token.go +++ b/internal/utils/token.go @@ -28,10 +28,10 @@ func CheckPasswordHash(password, hash string) bool { return err == nil } -func GenerateToken(idUser uint64, idProdi *uint64, role string) (string, error) { +func GenerateToken(idUser uint64, prodiID *uint64, role string) (string, error) { claims := &JWTClaim{ IDUser: idUser, - IDProdi: idProdi, + IDProdi: prodiID, Role: role, RegisteredClaims: jwt.RegisteredClaims{ ExpiresAt: jwt.NewNumericDate(time.Now().Add(24 * time.Hour)), // Token berlaku 24 jam From 9ede4a0d9a3a8caf34426547f3c4584fe54faae6 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Sat, 24 Jan 2026 05:02:04 +0800 Subject: [PATCH 34/36] wth --- cmd/api/main.go | 10 +++++----- internal/config/config.go | 2 +- internal/service/sync_service.go | 15 +++++---------- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/cmd/api/main.go b/cmd/api/main.go index 8f9dd6c..7dfb067 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -54,11 +54,11 @@ func main() { func SeedProdi(gdb *gorm.DB) { // Data Prodi sesuai ID yang digunakan di User prodis := []model.Prodi{ - {IDProdi: 1, KodeProdi: "TE", NamaProdi: "Teknik Elektro", Jenjang: "S1"}, - {IDProdi: 2, KodeProdi: "TP", NamaProdi: "Teknik Pengairan", Jenjang: "S1"}, - {IDProdi: 3, KodeProdi: "TA", NamaProdi: "Arsitektur", Jenjang: "S1"}, - {IDProdi: 4, KodeProdi: "PWK", NamaProdi: "Perencanaan Wilayah dan Kota", Jenjang: "S1"}, - {IDProdi: 5, KodeProdi: "TF", NamaProdi: "Informatika", Jenjang: "S1"}, + {IDProdi: 1, KodeProdi: "20201", NamaProdi: "Teknik Elektro", Jenjang: "S1"}, + {IDProdi: 2, KodeProdi: "22202", NamaProdi: "Teknik Pengairan", Jenjang: "S1"}, + {IDProdi: 3, KodeProdi: "23201", NamaProdi: "Arsitektur", Jenjang: "S1"}, + {IDProdi: 4, KodeProdi: "35201", NamaProdi: "Perencanaan Wilayah dan Kota", Jenjang: "S1"}, + {IDProdi: 5, KodeProdi: "55202", NamaProdi: "Informatika", Jenjang: "S1"}, } for _, p := range prodis { diff --git a/internal/config/config.go b/internal/config/config.go index 5b5e612..184b0c9 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -16,7 +16,7 @@ func Load() *Config { DBDSN: env("DB_DSN", "root:@tcp(127.0.0.1:3306)/cpl_unismuh?parseTime=true&loc=Local"), Port: env("PORT", "8001"), // Default ke localhost jika belum diset di .env - SmartRpsURL: env("SMART_RPS_URL", "http://103.151.145.166:8080"), + SmartRpsURL: env("SMART_RPS_URL", "http://localhost:8080"), SyncSecretKey: env("SYNC_SECRET_KEY", "rahasia_dapur_fti_2025_jangan_disebar"), } } diff --git a/internal/service/sync_service.go b/internal/service/sync_service.go index 97e43a3..8714c6b 100644 --- a/internal/service/sync_service.go +++ b/internal/service/sync_service.go @@ -22,7 +22,6 @@ func NewSyncService(db *gorm.DB, cfg *config.Config) *SyncService { return &SyncService{DB: db, Config: cfg} } -// Helper untuk variasi kode prodi func mapKodeProdiToPrefix(kodeAngka string) []string { kode := strings.TrimSpace(kodeAngka) switch kode { @@ -116,9 +115,11 @@ func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { // processSingleMK menangani penyimpanan 1 MK + CPMK + SubCPMK + Mapping dalam satu transaksi kecil func (s *SyncService) processSingleMK(targetProdiID uint64, extMK dto.SmartRpsCourse) error { return s.DB.Transaction(func(tx *gorm.DB) error { - // A. Simpan Mata Kuliah + + // === FIX PENTING: CARI MK BERDASARKAN KODE + PRODI === + // Agar Prodi 2 tidak "mencuri" MK milik Prodi 1 var mk model.MataKuliah - err := tx.Where("kode_mk = ?", extMK.Code).First(&mk).Error + err := tx.Where("kode_mk = ? AND id_prodi = ?", extMK.Code, targetProdiID).First(&mk).Error mk.IDProdi = &targetProdiID mk.KodeMK = extMK.Code @@ -159,12 +160,8 @@ func (s *SyncService) processSingleMK(targetProdiID uint64, extMK dto.SmartRpsCo cpmk.MatchedCPL = extCPMK.MatchedCPL } - // === FIX 1: Assignment Pointer yang Benar === - // Karena di Model CPMK, Bobot adalah *float64, dan extCPMK.Bobot juga *float64 - // Kita tinggal copy pointernya saja. + // Assignment Pointer yang Benar (Aman) cpmk.Bobot = extCPMK.Bobot - - // Jika nil, kita paksa jadi 0.0 (buat pointer baru) if cpmk.Bobot == nil { var zero float64 = 0 cpmk.Bobot = &zero @@ -191,9 +188,7 @@ func (s *SyncService) processSingleMK(targetProdiID uint64, extMK dto.SmartRpsCo subCpmk.KodeSubCPMK = kodeSub subCpmk.Deskripsi = extSub.Description - // === FIX 2: Assignment Pointer SubCPMK === subCpmk.Bobot = extSub.Bobot - if subCpmk.Bobot == nil { var zero float64 = 0 subCpmk.Bobot = &zero From 88bcd1d88f977070ee1b533c6638f97681616575 Mon Sep 17 00:00:00 2001 From: Nur-Hidayat-FTI22E Date: Sat, 24 Jan 2026 05:17:22 +0800 Subject: [PATCH 35/36] resolve --- internal/model/mk.go | 23 ++++++++----- internal/service/sync_service.go | 58 +++++++++++++------------------- 2 files changed, 38 insertions(+), 43 deletions(-) diff --git a/internal/model/mk.go b/internal/model/mk.go index 56bf128..3a215af 100644 --- a/internal/model/mk.go +++ b/internal/model/mk.go @@ -1,14 +1,19 @@ package model type MataKuliah struct { - ID string `json:"id" gorm:"primaryKey;type:char(36)"` // Ubah ke String/UUID - IDProdi *uint64 `json:"id_prodi" gorm:"column:id_prodi"` // Tetap uint jika tabel prodi tidak diubah - KodeMK string `json:"kode_mk" gorm:"column:kode_mk;unique;not null"` - NamaMK string `json:"nama_mk" gorm:"column:nama_mk;not null"` - SKS uint8 `json:"sks" gorm:"column:sks"` - Semester uint8 `json:"semester" gorm:"column:semester"` - Deskripsi string `json:"deskripsi" gorm:"column:deskripsi"` - IsActive bool `json:"is_active" gorm:"column:is_active;default:true"` + ID string `gorm:"type:char(36);primaryKey" json:"id_mk"` // UUID + IDProdi *uint64 `gorm:"type:bigint unsigned;index" json:"id_prodi"` // Tambah index biasa + KodeMK string `gorm:"type:varchar(191);index" json:"kode_mk"` // <--- HAPUS 'uniqueIndex', ganti jadi 'index' + NamaMK string `gorm:"type:longtext" json:"nama_mk"` + SKS uint8 `gorm:"type:tinyint unsigned" json:"sks"` + Semester uint8 `gorm:"type:tinyint unsigned" json:"semester"` + IsActive bool `gorm:"type:boolean;default:true" json:"is_active"` + + // Relations + CPMKs []CPMK `gorm:"foreignKey:IDMK;constraint:OnUpdate:CASCADE,OnDelete:CASCADE;" json:"cpmk,omitempty"` } -func (MataKuliah) TableName() string { return "mk" } +// TableName overrides the table name used by User to `mk` +func (MataKuliah) TableName() string { + return "mk" +} diff --git a/internal/service/sync_service.go b/internal/service/sync_service.go index 8714c6b..90cd1ce 100644 --- a/internal/service/sync_service.go +++ b/internal/service/sync_service.go @@ -116,8 +116,9 @@ func (s *SyncService) SyncCurriculum(targetProdiID uint64) error { func (s *SyncService) processSingleMK(targetProdiID uint64, extMK dto.SmartRpsCourse) error { return s.DB.Transaction(func(tx *gorm.DB) error { - // === FIX PENTING: CARI MK BERDASARKAN KODE + PRODI === - // Agar Prodi 2 tidak "mencuri" MK milik Prodi 1 + // === PERBAIKAN UTAMA DISINI === + // Cari MK berdasarkan KODE + ID_PRODI + // Agar MK "Agama" milik Elektro TIDAK menimpa MK "Agama" milik Informatika var mk model.MataKuliah err := tx.Where("kode_mk = ? AND id_prodi = ?", extMK.Code, targetProdiID).First(&mk).Error @@ -125,7 +126,6 @@ func (s *SyncService) processSingleMK(targetProdiID uint64, extMK dto.SmartRpsCo mk.KodeMK = extMK.Code mk.NamaMK = extMK.Title - // Handling pointer SKS/Semester if extMK.Credits != nil { mk.SKS = uint8(*extMK.Credits) } @@ -145,7 +145,7 @@ func (s *SyncService) processSingleMK(targetProdiID uint64, extMK dto.SmartRpsCo } } - // B. Simpan CPMK + // Sync CPMK for _, extCPMK := range extMK.CPMKs { var cpmk model.CPMK kodeCPMK := fmt.Sprintf("CPMK-%d", extCPMK.CPMKNumber) @@ -154,17 +154,16 @@ func (s *SyncService) processSingleMK(targetProdiID uint64, extMK dto.SmartRpsCo cpmk.IDMK = mk.ID cpmk.KodeCPMK = kodeCPMK cpmk.Deskripsi = extCPMK.Description - - // Simpan MatchedCPL if extCPMK.MatchedCPL != "" { cpmk.MatchedCPL = extCPMK.MatchedCPL } - // Assignment Pointer yang Benar (Aman) - cpmk.Bobot = extCPMK.Bobot - if cpmk.Bobot == nil { - var zero float64 = 0 - cpmk.Bobot = &zero + // Fix Pointer + if extCPMK.Bobot != nil { + cpmk.Bobot = extCPMK.Bobot + } else { + z := 0.0 + cpmk.Bobot = &z } if err == gorm.ErrRecordNotFound { @@ -178,7 +177,7 @@ func (s *SyncService) processSingleMK(targetProdiID uint64, extMK dto.SmartRpsCo } } - // C. Simpan Sub-CPMK + // Sync Sub-CPMK for _, extSub := range extCPMK.SubCPMKs { var subCpmk model.SubCPMK kodeSub := fmt.Sprintf("Sub-CPMK-%d", extSub.SubCPMKNumber) @@ -188,10 +187,12 @@ func (s *SyncService) processSingleMK(targetProdiID uint64, extMK dto.SmartRpsCo subCpmk.KodeSubCPMK = kodeSub subCpmk.Deskripsi = extSub.Description - subCpmk.Bobot = extSub.Bobot - if subCpmk.Bobot == nil { - var zero float64 = 0 - subCpmk.Bobot = &zero + // Fix Pointer + if extSub.Bobot != nil { + subCpmk.Bobot = extSub.Bobot + } else { + z := 0.0 + subCpmk.Bobot = &z } if err == gorm.ErrRecordNotFound { @@ -206,30 +207,19 @@ func (s *SyncService) processSingleMK(targetProdiID uint64, extMK dto.SmartRpsCo } } - // D. Mapping CPL (Relasi Table cpl_mk) + // Auto Mapping CPL (Optional, jika kode CPL cocok) if extCPMK.MatchedCPL != "" { - cplCodes := strings.Split(extCPMK.MatchedCPL, ",") - for _, codeRaw := range cplCodes { + codes := strings.Split(extCPMK.MatchedCPL, ",") + for _, codeRaw := range codes { code := strings.TrimSpace(codeRaw) - if code == "" { - continue - } - // Normalisasi: Hapus strip agar CPL-01 match dengan CPL01 - codeClean := strings.ReplaceAll(code, "-", "") + codeClean := strings.ReplaceAll(code, "-", "") // CPL01 vs CPL-01 var cpl model.CPL - // Cari CPL dengan toleransi format + // Cari CPL hanya di prodi yang sama if err := tx.Where("(kode_cpl = ? OR kode_cpl = ?) AND id_prodi = ?", code, codeClean, targetProdiID).First(&cpl).Error; err == nil { var mapping model.CPLMK - errMap := tx.Where("id_cpl = ? AND id_mk = ?", cpl.IDCPL, mk.ID).First(&mapping).Error - if errMap == gorm.ErrRecordNotFound { - mapping = model.CPLMK{ - IDCPL: cpl.IDCPL, - IDMK: mk.ID, - Sumber: "sync", - BobotFraction: 0, - } - tx.Create(&mapping) + if err := tx.Where("id_cpl = ? AND id_mk = ?", cpl.IDCPL, mk.ID).First(&mapping).Error; err == gorm.ErrRecordNotFound { + tx.Create(&model.CPLMK{IDCPL: cpl.IDCPL, IDMK: mk.ID, Sumber: "sync", BobotFraction: 0}) } } } From 937787751f7ba8392c19dce0429397d032f7de35 Mon Sep 17 00:00:00 2001 From: Simcpl2025 Date: Sun, 25 Jan 2026 18:10:13 +0000 Subject: [PATCH 36/36] update from server --- .dockerignore | 8 ++++++++ Dockerfile | 39 ++++++++++++++++++++++++++++++++++++ cmd/api/main.go | 3 ++- docker-compose.yml | 41 ++++++++++++++++++++++++++++++++++++++ internal/config/config.go | 15 +++++++++----- simcpl-api | Bin 0 -> 33363281 bytes 6 files changed, 100 insertions(+), 6 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100755 simcpl-api diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..4bbb4b3 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +.git +.gitignore +node_modules +Backup +note +SIM-CPL +*.log +.env diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5b309f1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,39 @@ +# ========================= +# STAGE 1: Build +# ========================= +FROM golang:1.24-alpine AS builder + +WORKDIR /app + +# Install git (kadang dibutuhkan go mod) +RUN apk add --no-cache git + +# Copy go mod & sum dulu (biar cache efisien) +COPY go.mod go.sum ./ +RUN go mod download + +# Copy source code +COPY . . + +# Build binary +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \ + go build -o simcpl-api ./cmd/api + +# ========================= +# STAGE 2: Runtime +# ========================= +FROM alpine:3.20 + +WORKDIR /app + +# Install ca-certificates (penting untuk HTTPS call) +RUN apk add --no-cache ca-certificates + +# Copy binary dari builder +COPY --from=builder /app/simcpl-api . + +# Expose port aplikasi +EXPOSE 8001 + +# Run +CMD ["./simcpl-api"] diff --git a/cmd/api/main.go b/cmd/api/main.go index 7dfb067..b1a3e24 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -20,11 +20,12 @@ func main() { // 1. Connect Database (Pastikan db.MustConnect sudah menggunakan Retry Logic untuk Docker) db.MustConnect(ctx, cfg.DBDSN) + db.DB.DisableForeignKeyConstraintWhenMigrating = true + // 2. Auto Migration log.Println(" Memulai migrasi database...") err := db.DB.AutoMigrate( &model.Prodi{}, // Master Prodi (Harus duluan) - &model.User{}, // User (Foreign Key ke Prodi) &model.MataKuliah{}, &model.Mahasiswa{}, &model.CPL{}, diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d4ba9e4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,41 @@ +version: "3.9" + +services: + simcpl-db: + image: mariadb:10.4 + container_name: simcpl-db + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: rootpassword + MYSQL_DATABASE: cpl_unismuh + MYSQL_USER: simcpl + MYSQL_PASSWORD: simcplpass + ports: + - "3306:3306" # optional, boleh dihapus kalau mau internal-only + volumes: + - db_data:/var/lib/mysql + networks: + - simcpl-net + + simcpl-api: + build: . + container_name: simcpl-api + restart: unless-stopped + depends_on: + - simcpl-db + environment: + DB_DSN: simcpl:simcplpass@tcp(simcpl-db:3306)/cpl_unismuh?parseTime=true&loc=Local + PORT: "8001" + SMART_RPS_URL: "http://localhost:8080" + SYNC_SECRET_KEY: "ganti_dengan_secret_yang_kuat" + ports: + - "8001:8001" + networks: + - simcpl-net + +volumes: + db_data: + +networks: + simcpl-net: + driver: bridge diff --git a/internal/config/config.go b/internal/config/config.go index 184b0c9..07430c9 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,21 +1,26 @@ package config import ( + "log" "os" ) type Config struct { DBDSN string Port string - SmartRpsURL string // URL Backend Smart RPS - SyncSecretKey string // Key yang sama dengan yang ada di Smart RPS + SmartRpsURL string + SyncSecretKey string } func Load() *Config { + dbDsn := os.Getenv("DB_DSN") + if dbDsn == "" { + log.Fatal("DB_DSN environment variable is required") + } + return &Config{ - DBDSN: env("DB_DSN", "root:@tcp(127.0.0.1:3306)/cpl_unismuh?parseTime=true&loc=Local"), - Port: env("PORT", "8001"), - // Default ke localhost jika belum diset di .env + DBDSN: dbDsn, + Port: env("PORT", "8001"), SmartRpsURL: env("SMART_RPS_URL", "http://localhost:8080"), SyncSecretKey: env("SYNC_SECRET_KEY", "rahasia_dapur_fti_2025_jangan_disebar"), } diff --git a/simcpl-api b/simcpl-api new file mode 100755 index 0000000000000000000000000000000000000000..eeaf7d4a8198eb384ae0f7fa4a4472e187ac3109 GIT binary patch literal 33363281 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

KMO>l zOkP6O@uGhvs$)e(RnZ%YLeHEzbVqCQ)* zC*|v*?^Z%1-rt-GVirps;wR~gB2zV$QQ9kgtL|)we3#eqnZ{=tQHg$Lb!jL62q zw5WNT%J-x^n^Es}!en&)qIS@gVF%Q42HqCaKsl{$wWV+~YbC6G-KNwkzNXlo+*K9b zY=+}ElR4khOhXy{knoH;q8|AlK8nblvZ%0Laqe!?adPqaEkVLxG8UqZmM=q;qK3FA|8v~RSpJ?;-I_4B!}ZXaw>)(KK2Jep}@Sl zq9SC&BPEKoe8kS&*T{n{AZa!m2zD>%Zuzk&V#{hXnMV+v)}h>ld}7Of^B}2)Sm~hAQk1UUDvZ$yk>Oh6!gB8hp#-U=5^!Ggy z3HHTBAo6n|AADQ~K0u=E2Sp-m8?B?}GH$J_<|gDy)E3SipuP0v+6#ygd@?Z&QE!zEt7J*=rz_}JCdPZ0qw$7H*!7zBN+PFl1X{q z&h?ZXHq^&_o;-9c=EtF*AF@C09U~f;+;0G!v^%GhD%&3RMEUHqunWtq@d2juU2DVQ z?!dtnk{blXMu5O`J(mCO4NQ+Hx0Ytk?=fl6QKV#A3E}@lt1Q%!&n_S;M|otkPqlqS zwS6TaRG^6WPl$H=`&Camg%g)d?mi4wA!p<-sBHQ0$jTne5qCmWJ=Q>;>xE(DbLXnC z-pNNB<&T0^u$JEg?87_y>$Lw~7?{sQJL|}_{S)~C3YmO*sh3mNeO$DrOVrB=%+Jey zZ(I}$T-G@DdArmf!ujAlqVy-`fCYbbg1Oq>nBAA#75d6wrDcKfEct=?M8+5WJ&LV^ z^?Q05saBX6DS-e=^UoJeCEe`6`eS;JvN@Ohjg|gbsLJ*4sJVMB_jWBj@w3h&56%vL zKdS4$t_?}A@9KZ)+R4Z7)8Rq3!|LX;>;rc5FxSl=%YDd-JlI-XH_iO3Eabm9Ki$W1 z5?a(p_Gd^lebv9gu7Xb$

    h|IUl<-@l7L-LHQHN7;w7I6i}g7!&h#n1VO6_rT_G za6G#@wSQyFhXBlBHbU2`skwjC-{3Z~%4vC7V5Ufd@d?cR6AygiUXtJ0oWJ2O)p&(` zT$!+E@I0ORz%?xpTuI85Jgk|`+|Y8`QsTFFnR?6i3bF^sjbN9F*Y5&{4h??5@87qV zb9&J3eq2Y<(b&mrIW$t6!hk=%m`cB>?{~)$f#BbO>kIqZ^Nu`zmr+k4+rQyrfXQkN zm#~K&3>OY=UP4{g(`8Ag)WMn5y?L+R-1rLz>G3DxQD8PYy03o_`Y15#*SsQ^6tetD zJ}H*W1INGysRa-DXt+0HdhlQ5s=orU3B6_qcl9j|hxmd`*<5w9W3pto1zWwP7X_8( z#m@Dj)6oacNF8ZP$i+tO6mnS`vNf2{48ETi1-&v=KPgDlt*Bpo&^${lS)kA69l4$m z_WMeoc1+Ify~xIz^@1OFCL3$kOCiz>ouR4nCm+B!L*_{y2b z&@8JfKq4~7+WK{TXK8r|_z0qzmJn&)qE-B9YHoUcF{?iG@wZ?6^g$i#Hy|Nf`UGON zTCPLKmVb)5d=MR48ZJ~@>JypR(APFTFZ{8T!6^+Dk4+3hL(^~aVneIA*T&u&x2H0) z>%u_fj}&L!%^en-)+IEo>$EOKr5^-lYj?tne0yPisU=JEF*BocV_=NnN`9+E%9N0Z z0YW}yG_L#A-?Nu*MD|=bi4<&~ALZ&Y#3+EoN-76!tB6(|8H(MO6RkV4D8X?+Y){0q#~CS4cR?9xvoox*zyO1E$BOqPPDF!|dwRl524 zck0T}p9~p)PW<(~#SsiDs(?>>GR^8PY)6U2niIyjKcnjbP%>`Q{wUE!?fXwqho8&# zrN1U(#)mQDibcf+e04t8DHlLsecCZlKwrQcboQ$md*oRZi2Mv-qVKOx1?FwsC;rWz zIV1%l?<+%HQ6Fq3*Mhrl*w3>jg1laNUOc*~OLo@kEs+ni+n37%+~n+kKv*1gtMzJ*gjpJU`Hao{d%K5d>a5#KE&hv0m_*n`!uoloi%VfVfwCmkD;ru3`6AhA#j7H}sbK*`8WHRlp8o zxhXvlB00&aZ+0J95OY7^o7)OEb)FSLmL^yrj!`E+s&OJnvFUfIO?qt((uv$GOq-t+ z693y%ZBw5LQqTs+eAZ8O{sU&COMm=3l(zoYb4jOhCY$67vvH&?-$VOnIumGaCf$q> zI1%gd?f%Adi`US?amwK}f^rTY$`NOVBtr)ys(CA(LYj~M3qkibcUcrQ$*+WU=rjEr5=wwl^CG$>ABF69Yc;%+3h z^TR6>$xVBR{@&-Yzy14-L^1m8`-0G(ZRU=c(V&5~iv9DuK!X`cZ1p79Wjbcy`p5QP zx_?7O5I74Q%dL^{U+3FaA`VuP>TB}ZEyt(AU2@(wG;_)MYdoSo5CoM6^TU_EZEwwe zfk#9T?fk?CT-Tco{9C!~R++kw#z!nZppgs{m0-*^X(Hm}smIJGJX<-^ zY&-$eb94O{$&*02UAjygAZ2?~{+3N|+tv;9eA}?!GcxQTgXn6~o;xv4cDT2w{ z)3nk7RmYQ~pHors((9{yA%`lOOS?S6{%rVe%Z$ym)yOH$W8yW;gaHrn72b8Y zvsJE-6%5{4%N;tYZn1(Bd1B=$3_O6zg^-bq4ohKWNqaPpF-v=OY9UN$)8mzYGPq~% z2EB-a6B0yhYTTV&cSNkF7WfNG*Vb)}PwHB_z3%NK%Lgo#GH@63YcQ_?DTeQ}oq%Y^ zgey^6G11zW&?Ux)VB|-@J#9k42RpQNbyBnkY-T(?$xH@|_K6QIz4T39i!UMv5U(j2` zV28}3!z_RO-=S%0=y?gN1`Y?@h1|^gb)IAV58j;Szgu9))Kz2#x|FS#r8)O1ml87F zNilaTh%DF&qOAumr-FJ1 zW`4k%mgV)ZjI+*SSXetX6wqB!d?KUAipj9_BT2*Jh;LP_;N^c<;_DGBc$O!-tb-ki zKO(|D^%F%GLGxqnuRt?}*k5Jnb4v%~(sm}JcDnUgqFidYB{9WsnM&)OGyabrEPWHBQ0Gyzw&m5rw@D$Y|4g#f5`3W$!jL8^Z81$ zHN#YNKhPLRjr)P{qv?TR!Qyeo=Y^nD@fjlvHK(#b<-!aqxeN7-z|7?==GY49X?ITx zApIB;|C*VJoJ&~gJGkRFoE2_t=k#|EvR0sHRFn>@4b0rbKFplQib|+goG~m@c2Q$l z==(55PTe-6-3>G!y(C{vQe_@g&=edyTNt;%JXbPpKayOhomdYykX8DPjS5-!0c)3* z_4M`ys_6ln+Hq8|XZy;iJ(0^vMZ2_U*1lv<;M#My@#&mYw0)0!dteWL0hflR1IXAN zp{n@YMj)w*7d*ASHk%!nmUF$>LVZ$9zK8kc4unzHS1`Q^4SNj{7%}Zv0sneG%O-wP zz0sf2)sx@my{AY?gqjL8{euVi50UNzO}}N4tc;cC(OX>?{52(sB)X(3_JhKz*iBw} z(+Hfexkq{n7go%>u7La1KkHr<-JJJqP4ixi8I{W0f(vfF0{KQpV9$i-1 zlI%*P(endUvFnLNno~qD(xP7FJKruJ_%DIE=JOFvAJ+|0KyD8~2L3vg$!6zKnwB!8 zDka@ZQx+6hi5!!B71uHvKf{Z(04S|#{V8Tnw&R>kB=D+iZuqcHi*1u`s)~(-xU#Eb zy|_eg-tn)E9-Td6=Ers2zpf6vvP|1CSXZD7^KRq6(P5lFt&rYzjyAvR)>o)3= za8;;klQ<;Ifb;0yDWgI4gEVEtoAT-5!`3(koLSK0Q0Z_Ft2>k>b<4 z>hT{uMz_zNRNFZ9M!UWRnpzljV&PeKXs>7fi}VM|Pf+{gxOsSlmfItpBp--8q~v%n z^oGqGqa8B#E9nir1|x;mS``^x!K%k*#uAYeSAdC?%X46Oh>Z?hMaCin>B#KUzTL`1A;Z_782uT zwohge%ycgqquTJCx}u|6hu@%PuO;TL+0iB(R23cN1zuls9R`d1(# z=eSPgpLgZ)NUqG=d(>96Q2uesOMCfV9;Fx)y=zRK(Jx0xw#f3(WUtWD5V>TA=(NA> zGenlJW=NpZIMhS=b#{Dq)Q8igB_`Af$h?Dg@&thFH2Q$_0Ef-Y>4*WAQEF`FOc2VL zRYUFDc#FW?Ta@oJ^4Up*hi3k>4YE6Iu)`TCn>tpKtkoyO7)~e9VJgA2hXVf8-mUh-_ntrwwgKAP_z;+fFyjJ_BFE{mQF%{2 z$4c8>6s`7fJ|G`oDE{Menw4ziQui+_e34rG-A}j0|KQSpeIMyTij#gV=^!Iy?kCOU zm-46BH8Qgc5T2-3&jBEIwX2Gb4$RMh6_~#?4VIXsnE4bFKidLOlWqX~T_E_BHrO@Z z|5zG_Zeed=#%#3de)kS_S+3bcmI4RgBGLnF)*WrOooDO*c;H^;AN9-IVOU8PQ#q7B zH#k6c{}e$tq&`gg30P)JVE!GfT}!(o0(2F9c%{1ok&~tS+0~h)lRK+MvUFw>PPYd8mhK8fhFcNei2$r)_t@JN z1M@DVmB37fg1+9tX_HrN!HKA@P86_NB@Fmko2(CGY$RUCe{A!*j^vX2E?2U$1)9F3 zvl@#rRxxZW+j0e;>$?wb*ToHIo8LbzVOQ$tUb1ti)zyX^wF~Q*v`AoOst2i9a$lSM zZLY&H~AX=F60({4QL9!OUh}bm4`h@r(b73RQYJeuc7-G3 z{fWbT2EyOVMVo+1Bkv?=ysB48a$bFrzM@oErl}=qJSoD6@;*!%OM>>63&PiHm9rJ; z^unsI+uNb*ylOn{?n^G_ZLj1PJCXyDCwT$A*9WU&;|ni|UzeX%-uSQVy8is_g6yyL z)dD6*7+>~(=|4k$goPZAdthL#^q>3@g1`Ck4p0}EXE}>zbZl4$?;CuEo&VilWB!Zx zIsWnJx#BNr{^vN?FE1nu;)?j&R6o6uSMvv#{%Zy6PV+y~9seWE<|3(z`t}D5QJit1D5Ewk zPY;FW-QRSTq3A;MB@g;kB12lSUB4cE(xx4!`kA!ye`i({+WYZ3zL^Kerq@tYmNAbx zXKq@+F2uDtJF#NhMDydvNs1`KzvjC7;N6?vu+Pk|GgF_IMep z9(@CIdBZ`G?C`r8;m3z@LV8g(<)=H!Zlp5Ii%fQ8rNI0!!~rRoW0f4wtNC`a-~kA&n=kJG#~=MNN5H9a!vBmH!zUz({d{oyMJ6M`C)Wlkd9 zU}hx+}9c^s_+ z5DXkTSJ$KIy}*MlSTc{nr(&Ra=TwV@n4-9|!e^NZk{iS?1>|KasB{Uw=FX$BgAkrBwvatp|!4$%*lc_&+ux z|Laos6erXO_?DNWGHlFjoe@C|t`Y+MO;Zq;f{y)y%1iq^3>i^D# z1OgIoP(q`iB#JdS2CJ5+Xo67A#d`sVYAhX62TJWk$p979K*DgjUcFlX*4C%3&r>_u zL2a#~Set+{IsmbNU>&g4bGbf>_&g$F&HMeWeeS@Z?ep@{+;h%8XYaMwUVH7e)?RDv z5Mio#+H|+}3nzXm&>{MIu|=};#CqhdY5SKsJZ53xdr)is$K~+Quv>E(dBfC7ht591OK;;#jSzpL zqWbINBWJDSR>>9R+Rh1Udn{&SqH+&^OwuD#5nC!G0=65wG#3s>xB$d39TEIK{u6_%hqA8VYP@sf71&HQU&-GHs_4t}Z#5 zr=S`$$wLu`VRG=14`ud`K_2-~zNkT{@oNHH*5q+{SaMu%e7-P?xzscyX<+lsTx#1m z$*CaoHbdt7q1Gd_2@6vN84Dc-X@ONyT=&(#1e9V-IK4^aa?n3*(BC{fx3yR1tuDFt zZ>|@aX0TuOv#)`DLJLZ;2*@&1aR$Zw9&;SO-l!g|dR00^l|Q&zuA-YasgkN}C8q_W zpv0L3<)1{fw=z`^F6pE1<7Mx@sOpj>uknlbBQBZy{S$w0JJWbOJuCO01`g3-xff^o zsYm}QM*1G&m$A^<$6jKzy}{{?<~*iGnnwZFDozFZT)EPIR&T_hTh0kCg zxE8%X{A-b@f(z_qAj8kxSF)_bQN{W{7gEK)=|86UonU?SR85ok!v(?=7{SwNQ|oEY zYRN2{VK4X>iigo(UXZO%m#kL$R3=H1{E^L35zx`lr1I#f=kWiI?AeMlZKV6vzLDeZibQ-}3^_Rn+hSHLRGN zEItB1=gMdu$L&SelIg$YR^w_i;MT}YHX<5V-YrFh__cwDg*DwIL{L%)1ZoxKf{q(m7a0qi!GIh* z104PToH~Q?h2fi^Y@<3D`CmJ3)WU4Aaa5Y!)=5YeOaPjM(_#y+ES9Y4K7OM=CyY;|4!!{4%9 z_WNi1i2QvnXgRoBxhJlFkL3FY*rlRg%YjNP!1sWh9I0#kO~KGqX4Fsrcmo;iY23Wk z8WFm{Xm!lti$Ol}wvA+E=5T*c_S(JM084VapvYyU^aB~VT~%Cs278`x^*-3$q&%rQ z5`T8JRKWi#ny+$JHz*k1>WrGCX@!KkKB-oL-De~bAb7{6@)zN-%zddA5{ zhXfStJ>6(Ay(eb-22T>mHW!U$Ztzbo?8|iQTL!3+S3@cJzZyjF%JgvDS6%+EdyVAv zwEzy_z4p;8y#JPd^p8UR(lPe;wXB{k15(J}>2Fg6t*{NbP!m3v=>Zp+E%w?}QzV|` z+W!v6!?H4Uac#^_`U%T!70~`x<)_yO>8y=B_ze#v-`|a&qt&oLZ#;9m^rLwslW4t; zm%dEn!XtK6(K1){x`GQ~46f!#&HXH!?!$2BeZXl|o~|ml-6Eh|qi5^EsBDYnx|>Fe zwk3PGUXWzN)iWaiY;hP2s^|NdoeI9X(B0`R`)dbrM=!*(=}-j=#=*_+RF)Xv^luCQKQdo`-M_3qcm5DVP%?>HKW=PJqbxf%jLb&zy9Hyz*0RRN_T5}}jRCu; z<#(>nf|YF4ApP=B;B=w&(eamdK+cVksLdarUluS2;H%ZW6DQtn-bM}z;q09&c{UaL zz@5KFGd3WJ zie{C^>0@GmUi)u8X>y-PEv)#a6|<9GraE~r&AksBF7xcNY&1U^qJYZk-5a|1;uS}` z(qa7IjXzeu={fWX!uj?4D1PuN+28hEt`Vtth-p*4KkF|TA9X7`KB&31)|UrQ#wXC9 zw)7)X-R(LT3vVk2Wsm(Yo))zZwKs0%+TWH8auH~;O_qE^XaUu1DpC=ZF|;CQG1 z;Q)?DEs2tgsl^6|ug9v!CDdqRB(DAcf_0vnO8v)&y}n=Co=Ibojy$1O^Z(ctQ3_6|_DM~HRQ zLTz&N7=apBf5TBskOA$FTG|Oj=)^H`>SMWR{Sjj?179`0{WtA<$^7~?rjv#rXvBBh z@!z@!rt13ULBUeu3H+(-0=Dh%`i{}3iY_aFgvbnKkmh!o{&?Xj-Rd~f7Vg2XGH2Mb zJ*MNQW`FaSzYek~trD_3cTsFD0<(qXNac*33%!trS@@e@yPfTb$p zQBmGdbhnb)lP3HV%xl`}0U8Ak)=KuR@)C>OM?X;yy$-96ZH-&(Y20q3@kJ_x3wFQO zmkr1l$Q0sVCNK>!q8u5gsa|4%Go%_EWP+@ z=_UmdpqhEx$(;l`JbhReq1FS^szHqzlfSziNmS z0|`SV8}#Bb)@o$~xe<|_{3 zOZ}67ACPPMtD;mlK0^?Jg7KNj&?Hhzm|zi?F$Z%KhrowBY^OBX=aw&nnv{cKs&|3R zMs^l7;$vg`*iU^{OF(}*^Ij@*lK;X|nf55jS7_!y!qz%Rwo^+k36nJO`Fem0;#B2B ziLdwfrJP}KYTlUjuMC6Z37trdkDD{`$C?JSO$SG{TW@k57V|LNqNhg_DUWM&YV#7y z8twT!P6v69^HnSx4_b3Ho`JQ87nOmDC`sBuAD(?}XGiL`$Ko$W!xQ=WM{LxKq;-hK zeI3(skKSnr-|-~gL4S|L{}vs!J+|=g(eQ*!=KfT}@**s*yQ1OlyEGD15g`^oTK7T_ zY6y$3#X``^;V9Q&3?{$g0+ytLIG&x@jkw}`SU{t`j0LN=tH_xlh{L(e{C@8P5Dv(KbkNPdFBf3CyZKg zssESfi_8p^O~>Zny>CA@|74I7B$~WtWS4Wkt%E_?B%1%`G9%*uFqc)A4`f3sQPJ5S zf8{MXH}abCq&JJiSLpPfV`fmcYXYG@ve(J__H<%w(HeY~H)RGS#=f_@(cZ+)B6sDH ztz@0xFtjMsaaTc8Uf_cYL1K9yi3C3XNr8eDEWX;zR>?E>#YR09i~HdbofOCywJW^n zaV}h*gfbS!@S^Faqo4V%=!5uf7AyQOc@|47-72c>1eksE-;f(-B>tgXH6n>KVMD#z zvj{Ji5vsFal#CM~DHeamY-azwAX@!)EdEpkZ_Q}(yz^uDX0nZso96j)(=3L{>$+!i zzB`Vn-z2G`Sb(T|Mig($Ujd+Ucht-E@*cav(uc=HDh+tRPVlFMGl^m&S*?%mhnP5j zoic|n#VX>?0+OXXw#Y2y;m%*%XWFd=hj;0Q31GN{ND1THh?s(}DQQ+EgUUVThz>W! z+{?i}?@WLD&7$6$t&Tjg{wo%h{8#zMgI1BxZ&b5d2D4)saoceMR?}}ztZq&CmSN1g zi;~4ynw(qN(!hUBg^Nf`k0s&ZA$1LVHjS?)!)eQM^DvzNl?;w5EQStjwfaDPq~n9q z<{yy(sX?23IL-c}q4TMhty7YxJRJ!=6Pf?dqAEtYBTS(X)R=YXLjoT$DKY#l$@5kI z@z1b)GGydzY2{$@o1L>8`&{=>r$i<8;`l(0$db;}B1a3-$U6V&JWO}^Vs->l^Falb zb0)K2yioxZh-;2*WnX#b24TxJwv=w|*W8&$?%7<8bokK7b~U!}y=>$1&(H!uioiW$ zbd6e(Ht0coi)2$6DSK;?_&Rw)G>M^dIHRLV4mFY3IWQ6a})v{qqMP;$3F zjZ1SmVQToNt<%je*k^r_|5Yp5zf z&*@qF4rQp+`rh`fU~L~G>sBfKa#}#S=>nC3Mv$zSX+5@W2Ga&i4KlD$bl5no74m@( zO>N=52WV;{Q7nN{Z1P>c72t6FyNe% z`mlp!!H+G+t9oWFz$yF12>+bm*k#lZ;{ZHkr?k^pnCWCP=Sbgr5STN!<|Jcx0e&jm zviXY@zh5@G*Pp15J1mJ(vgE!MxY?ZtYWxio_Zuknj{TQxUL_O%t$UgK@{I&ND=)~L zMDh&supEu`aXigr`Rh_z=ww2-I}QtDeL?wmV63~8=4Wt2XVFFR^EO12m*cFzDu&BZ zU3c4r7@qhIB)WkU$Jiw~i6Z!XSuC_B650T(JsSJIh^@IAsl?UXcS@poW#)lM{9UVO zD|S1xMacGVbh#GClPr;PJ{xz3$P1F~p_3m!1o&)E;VDN)Ms1IBGB)tzHWiL(7nI4c zaeRCS3QpV1g499D^Nuxde=Q!i&ivb5q7fAD0(fafFR;w&mEZaWt7iC;vSc(-N!B_znY2o$6}i`A`c`v*mI7zyjapQ>Vu z6ACZ1eb&Se^dwrhZT55QztwGPLme(T>^o2aqBQ#71fj?IkWI&b1UHuhXRp7C9OQ0B zK$B3kXnvE#?SuY_{=$o%pyB|3Rh>?hE;t_&bJb&AGM~1NFpg^bAgBX#yb`HUeq$-D zw!>|9EYOSE@5sj2%-`3}m(9vCy28rhKe8Y9J{j6n?EmRWbxI~*S7nK+1Z-f}rggk? z-5S-al?VQ-6oKUZx?dp23sP(c=x=d!7?0Vs^n(fwV zF?GN03w)7XRpR67*$MIp9gtlgiCG}{XA`BFdj;Mvc)aAedd7GA=efjG9V-NgP21C= ziKRlM&W%4VMmojF{14jsEZorxr=Og-d7Vn5@!R#2>5HtQHwTVho5p*sh+Fn%IiW2J zLgol%xnHZPUYflU>nE;=1pMNMO`X{3{<}?pD%${+ksM#hZW8AilNJNX)`l4rY&fSo zt!3(uzj2)FNin3uHv#surOj+Bvs9D4KU-w{$scyTneXO5sWEfReX8CNYI9Y$xvH@b z8QWFT3>fqn5k-^8iZ2jUw2xb!t=;cqi5W>TK}o(*|2N-rJ)EjFcTT>4m`N%pav;k1 zr4?^}hBy_hAN?nA2H~bmbt;;uIK?C0B(yCS?}?1s#M}+vzQVXbQH(>$D8HkYavkt? zxj4}HXySxT)D}&gx}Bd`=*>vz=~&&4=3`@{o{!eO8VOH)I#Rbj8XosTG@u;VYvzQ) z8$z>On1V_UE4ayb-Nr85iEJxvFuX|YX~|_HPglTLqvQYn_RR;Zq~O0eIE@oQCS_>8 ztyUo~-8;t$TQf1a9B(N|nPa^pNI@DTy(=neiVWDrsi2GJ+xx)~GdV;K5J@AJfxeY% zF_F$2dAc9^8HyS^gWp}A4JGj>9|(+>7{sv&uFc~#lJy!t1FA%AxWj+180WYJg<5eD zo|6@yIX&?5w;{B_jK9u(K=hjIlU(D;1 zTOSeqqzo~GEI+*J!avlMMN7=Tm4g-~cV9SAh|sHyJNyT!-k*Y~i1GvWv16>7cn#-E zWlHQuW_u5o@@a4N#2R`*Jle!FH1M;pPBko}^`h~MNTW@4#=hmG7+La_t2SixtPv_! zo@m%7BFF3*`ZiRwdg2#VQChymghi2Davxz){|PT(7A_%&y)o`o%D|KIOVMgh)O?_wFJ=vh)~yIH z`jHU`v&2g-Ddq8BxF=XLXt9zfFYZMAEey8q7chUd!kM&|= zk-;)*wbDTsBcrs6^)_i1B1+BEeB1|xEv|=2E>%K)^0&`+`$yYZER6pO`8aVQ6L(qt$mtN@7=Pli?wcmfU0A=tXtRC`u-U80A;`i8CY14=DslTKRN&Ng zLWq;+o#Q2Ma)*h1kcNrUT*+G(=*6;^_2c{+8hN@#w_v@>|2D({gb!}d?~iUDph3U} z;1BL^g)f}NW;QaN+kf+y2jx{p-PG!*``LRHI_O~l@A-G}ir-AtL8guw5~FrwowJV7 zaBUXBT*Kd758)}JOgciA+NB-vWZ8)T>Ywzq;rF#xhu^vI7vXnm4!>(D@y8q5h2LQ9 zM?FRk^WPjEyspMk=!=JDGl>{frtPD$_{Db?(scUspFqEe_Vg{MzX+4HCIi9i>)Xc; z9AQh>FTq6n*bk3&);OJGe5|d%%V+gv{WX@udd{AJp+mwWi#=r4BK3p*<3HTv|NaQA zX=o(Dg2wrX@3s9Omb6b;%`i8ZbVJLEY(>}(*57Y{?i^6|l0T8YIEz!Qzwg_W2g+0y zduI3OV_Teh1QD~_EgkULgLFVQ|1Uvo4)j0fldUKiny6+5a4fylcH9>JOc+$y@xsBp z9)9G~Cd*+v9j$2LC>Thhxv}m6G2igQqq!wP8S%m zMq=!7e}K*6(sSk>4vw&_1KCWv$sue&-R{`z+hyb+AaQcTGVzs$o>v<7Y#^|{Pi6=^ zlHrAOc{;sgZWFM4#j2e~QU`Y)L=6*c`gxFO=w^BWT4o?G5lCmYSOtkvem3Q7{)qo> zPXJZ2op99{i$s8$xi(syTSF32^ zHZ?IQDI{nFY~D!IN?crpqX|m5TMFytQ!-(UC_wrb>(`=z%2|R>!3Izv#SF)d`BM9A z{c7jo4M#Um(W`LGJGz}FZ7(2y;D)Q#5=)k$%6lg-kw%~L;_f!F!*DZA~E zUu#yr+K1-`z)yP}mWAUN@gHZ|gXY|Wqx2wabbOQ7$uFceeN3WV)Z*rA;zFjGSl~CX zk|I?hbdGH0sQLLu*aRh9tgn@jRgaLRhlE4dPt_Yx*43h&MWyVLyZKL8 zZFc^{r!T_me@$z|`cJk|{M{0VdGS(?p-EiC^^x-HCG9BgHoA{{r5Ut`zS$evI@eo$ zp@Ud5ju~Xfn8a+NoFx(fHOONZ@;N45zYW_eLsNbf_&XI4{eMUv09Td%Fx#XlIp(fx zEO29@8in%@xUMIs{Zw*0c!jcM(>Z6 zvu-KGO1d8czoT{6{}1!@2cbw^pbt}7e;VZzgtzja{)W^kxltRvdIPU5Z;tR(E8dst zwIC8>gFLJ8Pk7i_1Uy@=0GyV=k=36of9V71Oi_BZHe;fMF8T*gTDV{d$&?rlph4S%*=iBb z>>tYC19jX?`)}zcSu*rkNbne-gueEjwjZUK=+gh@LTYiMOV6PtKu15nIFNn_y9LQc zI@fOxNas5N>7c8966x&xV*%-u=SU~O+M9T-a4F050pv2ZkX*3NPAt{>lqZ?6Bbn_+ zF@Mc4{tW)nkW4SmRlU+;SmJF}Eo%Lixy~2R1P)oE33*E!HJCn8kc|lUzMa2<82Tz1 z5yXIPsT2G{C6<(^`71^b(8K}su%~BNRgNMa2xh_|DdLd+44Q{F-Y&d7{JVm&?xUMz z$s>~)>nb4e2cMc9X-22qKW=F-$TDVde)pmIq#NIKethdS`x#qV6PeOYLfj0A=`%r3 zvgG-4gs6#4kan`9GR*aI4i(fVI2gb&NfAFkpl`C1tx8IkoHs`0tS7LN}-I!o!sLU-ly_Y8*+j;`=Jqm&fVLv#tu9bg56HRjOW;Yk*bkUH|RH0m-OmAYY|m zzDna!liqkJ4k7w!%bx#PX1OBz8a;aJ>Hz0m|I6#y;@COUflgqXZa^UxI;J?PL z@B~l-|9O=P{Hyh48(e{jPzmtvueuP(2U(au>HN>XGm63bf8ctSxxhvTL{@C*y&Qy+ ziMAMD#pE#$a{K6~`SLGe{8i8``GyDpE>^ET6|8yHlics-8 zz5D)G4Ey-{`_C+7kNr0VVzlEQKRJ+p`1cxl*K2Dnyzpz>Sao+Ys{Q~qoh%v0HS5#d z40k#H(W)1gsJ&!K!>1l)M{K#d2r(^6zLzu-a<^K448HhNn_)<8=rI523B~Wr8 zp{Y6`hJ!HTyI=Fhtqee9K{UGc=8El5d!6ro(6Wfe6c{={8Yzp8e!z^QkJ; zfLz9f|23OPFgx&fu1JN+CSOHOZud7?GU9t#VL){P@8> zOg_}wF8%!O9-GYJ&gaz-W#!rBz2*>-VU>T_Z-pNAI^1LqBts5s0Od7)*%xxldq=um zuP|Z?jA%It9bD)Bv<@ISOCRD)ID_K|^7p->+qP|-Cx95oYQEN7r6JW?@L_dcdC){l zxtS*U;A8zmMK4a2LK&WzT|=KaA&09S3$nP{dg!IoW`V=sJa7}tF<7aQA{1)__Ok&D z*w8DDqGy+Ky_5`fdZ*HgJ5~Gxn~dZNS#@DKByAf|7l9Zmf`aQXs3Yz61KcVGI9YPd zoq&4+O=^6GixA!h!HEw*?^l-Aa=sr|_ZKZ_WjbjLtYhUQ=ZW ztE}v|R#{oALCknqWo0+oPkua9sxM#S!hc6Z>DxX|eh4qxkf*;f^mO(S^fcLcfexJ1`bWO>Gf1=k5~j>uy$I;xAFRrhIG5!3%Zd__ z7c%<#OK^wL{K#5}ZdSYx|DLh>qD?*#pYqsSv)gdTWi;p|2f@oC#Mg4%O|c#z2|)%d z!`A6n5f~Z&&l{orog1+!NQSr)$$cC~hPt5I!#`Ld+YJwch=~?#2-ITnA7`3)!HOiH zh<_~J_AwwmBAT@06atVg;Q{_f0xVH>&3^5hX@AJ>{oChZLHmT=jNXL(@%*6uEkXOa zuiE-q`LUc5nXRYe1cPD7Kyuj!=R<)0@IvhZYmH$Xz*w#Z`py1owoRe;F*NL*2e&S`5-Q8#1-57o_VJ9n2)cxXtR`X$8`=1sQ z=m_G&IrxQ@m%z3EAx^QB%1YhmX(aDd=D++G<|0#GRv=Rrh<|~7Q+wdK^)E5@e!i4Z zr&==#J>m-Fvx*<_@X?|w0$sY^^?swptvqwSfiy=V{`Z+@*kELAJm%#YJUH$F@lTN* zjw#vYGNxD8Tr8CE2+0*GE?5<3p315?LZelBEa>--18n#&dRk5xE(AQd4%TnzJ`aDz z>SNfwAJI--7;`_U2ru5KD>SAta!2qw5hPc#ZWpx-K|cMV1W_h@stSW$fh=lUUQ6`Q zD@mzeERKg?OFdfFrIX`+QcwP(k$O~i^LsJI(Ikf@I-j~@>{r!7s+FA@_;IGvzl4VD z+7#snDy=ni<#l{Q5C7 z=Ou%;V2Wls>0WA?4FKLmu$-evSZl{$DzkhSvY0%d*?6~W?NSxkh0FyBR|o%&k;01e zwn0I#VP&{x2sXqAs_-9NDvSrOIHY@tKeW>_RE`?m=+3Cb5W-3kgxIv>IhGu9l+Fv| zh}DnUSi~OF7n(RzBOJb}I1n#dcl#0^Hj@x^_AZ=O^LFLXM3`=dpSh5wYI(x{n_A94Uv397{|S8d&vaL3&OJN^;g!DVs|u7V&s z9_AUs%=>c)TWP%|XPKz?5_bvXkX3n+Kj61af7rs@EV6_1>RT;Dys7=MT3#(`8HCw~ zx97q}GKZzy&0E|Ec}>|*wN6*TUUtucqbo#)`}*`?>C{>0JZ!?|TY*^i9Q87H6gY&( z*rTitl>qGDbrgguk74@Ye}if2cz>Rr{X5$ZBIWcrTMnRK_Sa)n9Ppn;F}oSY7w@^9 zD3|R~2QoXw?aQoZt&OYNbs@!l9(E=Dt+l`4$uS&A+6%Z&l40~OXY0zUjH$|+sj8BV zSub&$QBC5(yENv*?3I)BN{L?Sc(PFnC7Dz>&zjT7NFQX_l7^i)CwmevBNke%+?Mi& zBq;yw8|m7lYb&(QtmGlbh(4k2!e#_t_@4@K$e#d>cOT;O<=gC_isMPT8M!+Bo6 z#pF0btyhK@D2gnan9>v(wILGUhFflg zBxCa0B!7}e{v@w@#iV5MzzFAzmZz<(?|2Mjh}qJvY3_?epx6wb%IOnT6`bvz7_=f5Umxj7$Kp>$di-ee z)U`t87P2B6iPM-QakJ-=R^{K?^g*gjEW=1v$*)Td0nZF*!y_sO8y^)?* zqls^hY>XwZB~ay>k#izFe0^^s)pFwUs(mmV#=^Im=sqMJ*-#E{MEOk;$TnyV*+ zwMboe%i)va#VbrsF{7vU$xcjvgm{48q~HDhAV}*~zwHiPzDgQ%|75%D@>g0Z`({-z z?T6i~{_pwCIln7PpQ-1jUGrq{xy5FdA3njzCS>-pxuXScFtyt0sMgY>azq=~Y;weu z-VDcQnejcfqAfc$eJ(dJmOe%GMMb4WljDQB7}7}HhIu=UzSG}gAi$O1V;{kGR`^TY z_g3!jyWP3tT4itPhC#gtI3n@lr=uJhA=+%`Uj6FQZyZG45sbeJ^VWzj{=AJi`P0&6 z5tlupxlZFXg9)>Sj=Lx%rYXm66c6+}YF)osL@q;qBCjzqB8VOv{jVEDYpi?d&)glj z9-4fo>}l2LPvkZ?{w&FWwE(_vQl8}1YRT_xjUGa7&ps0W-sSlB>r6UZMCZS$xhVcE zA{UFi$9``%2G?o)90iqA9|!S&q_^;Fl9#hW8dGgX9%sd);HbNkN_gh0@bqdJh z_;elW#{uj7gXxq>P;0Ucu{0Ti8mSoy*Yj$zq(G_Y1o9QF0^Jb%k6>ZX(j#sVHMe@Z<6 zgwZBpwBBzu_Le0C{O0Yk{T9Ou~e1K1ff5MdvtR-7R2$b@3`qHPY>nT&Hy2+v#ueiW{AyD9;VmAZ`w1 zC;n%@aS#tlzs4pcOv34h^BM0zzAo?N`$7$`eVJ6^qE<%rtbTElh@y*)lska&SFwLs zb2DbVL7QcO86Z1xhvoY+wcda1a%9BqW}at<40q%1*HPu&8(F`M%ai*-?Jv5n5a9F` z^gPSZ4*1piUyT$y7I!8dRsoBvGHU4zPU-rOkz=^;gbdC)N6jb3o~s{n+22Fg6;-e4 zKx&m!s6mh2Q6kymhelTNImYKr-f9~MoF-1tBtk84QGr22!NLJu=ja8mQwYk2FT#F<+rCq|lqA$HW- zSoQj7^}0#PK}SdGo(V5Ff1vzV$R8bEd@`5OAdD~)-xwXWQ&|U0boc<#fv|1UYa_@L zf1#V~QAqsWOEZ5yY;uTr*eyhiAYw&A9Kj|jr7Kq5O>^+SSY4(SgRYAxk0u*>$r~zn zJNE!dHA;?s!vgbhMl}9gJF-ABy7qFjV!Q-1vNf!*2*2&=S$%|L9B_BSYyzqMLVNa* zt1EFCLVBP5^=Ni_!k9&rA~@W6Bb_i_C8t_|vEf3FFi1GJh;Wpl(PVMXi~xaz)(Dz4 z`Y`kos{@Ic-XPfrd5&@2zr$+iMcdCZNH?JPKPV9!Ib~pJ_U-&9MOh-`I~;8#Cb3v_ zx|UI2I$A{%iAhaN2-y8Pt%8JcpxxQOc5h)1*HwzOU+;w<+rjC}r|^Y)h6$}oOGHh$ zL+E1~@*;e#(tjQk8%p)Q^Rgz_3%4Ogqv;g+S8lbUR0t13kjVJ}6lFp3&vm79j|-eu z{ee~r^L6skxm)b(4~w#2??i9X%2DOYhq>|>bLH!Ta+m+m-?!Pm@0V-+KFa-tfE#@8 z03RL&a5jsvf7$n)HX)~DALM)g>>mDH?A|O^+VOJUbl*=K04wO;d6Hxb!ZDOxMaG-% zOobw$!K`qYUcqC3*AiaM%8h;F$c;#f1j;c|?bL^498P`{423&(_bV#8C^6(o*-tkS z(6K4=yoe*kTORbhi(k#BF8ehf=*NvfVj*Ae*-{#R$EL2=^V*ceASTe-NY5({NLAsh zs*aB^48G@8ziYnVW+r?uQoSqdh2Gl>8DiiMh;K{qoaw1WQ9yVL_eeZdWetyt7-HcG z-Aa1VgtAYRxI7o~!pT6~jNMo4ND$NkPTNFt%s4z!-<0 zMtXL{s)49<;}MB~XC%j--e3MfxIDrw(ibqK7bVXFvO`u9 zD4ic)*^YiznRK}>q0%bdDHTIKR$siMNbB>s8}*(yyy`7rMZ{vShsSR@xMgv%k8g1% zEuzOpAWvRur_t%DXx;koqMt%^)Qyt`7ufV1=5kT1?U9AM-0()i6ZV4a*Dq)u&|n-P zl{tY#1qg{1Fhhnh5`OHp3kZda#$S^7%t+h6c8R=5%otId`#)hrL=4$mC%KO#DtZ3x z&(LL3UeH#luh$7pe4sbrU*|eN!q?FhT!r}0p!|JTzFfV!oW}g`1})J7cq|)N41L-f z5geSEEPK1J9u>1}bXxiqgKxc|;m7aNzU?1O3hLkL>YwYl=8LVASE&7yg7OWnd>ZBc zW+C()YC_x*o(KN+t+W0ecXpO6uMLz@t;{cgqPLIyd_g9(kyQA@EW2|J*g<6!7JVxg8`c(5ko9^k~XhW?GsorMLYAwHk40A#LQm}l~{1%K8-I$#2;vq{+5CDSL=J8RawA;S=#F{F0v!*M_tu7 z<*HsDd|&C0c2z(BSE@!J5BTHVL3z19Sgb9o`oHEXS#S^VRcdtFiuNCbeqSmag!B&> z%|fIXT)X{|8(3EY{Ez7b^aHoCl4lNf`OStBB&)5m@FMvfs!N{eXsWZ-$UGBG&X>i7 z!vc){N$DS6{2S3+qJBoCZdZ6w32kxH6iXD7AMdeOE@&=ww46B%BS=NV{8zM4@!jm% zk@#NicjUIO{%mc^j;~=t=hcQ81~m*fugV01I5f~dX#{*VYo5lKD{=oR0LY8`vZrn9;m0qa%-br>Pn&M>rQ-9jKX_8$ zCBYGTY-R#mVCXQ+ylWNskGx5J_F>`=wm<|;0#xWDXSE>Wwr)=w8;}d!3W9zB3vrbf zwBrw2#Yf4Kwj&t&u!epvROd+ZLC5LqUxj`SqsZ}}X+il^|2E3~L6DArqAH<&&r1Xg z7Hyqid$#72k8tn*44l!>3*Vt3TNjQ9Dys24*U-jViUtdYJrWHBum3I9DF0W4fcq=m z_ia_YWE^DEKZ!lf?&AIY2C)&ukZ%7+Toy8rf%oo5yVDNk)sZJ)N563_e*yi@6#b?Q ziEuXlwL@;n;$xZd#C2-}*fwCr3Ml~yXQI_Qm9l%nR|ro_p2;@0wz4r_;^P?Z{5-U0 zSpa?ZqA>dZUu~C-HaY56g*)%087EsGkN%L|npKhn@nxhiq%AR{`u&ZU*v$&I*|W5t zGg?CXN6YH>o1tzjX5_4sjS^jJ{N3MnMA#GaV>%1uvDn6q7)QGP)E2Y01OTU&} zby*V168m+dp51_+j7rFyV*^?lI7)fL-*%nfgTeT<0SOke2iouCTW(z z1;)(<&DgLq*J%<$KxT+!6vxxkV0&epI8l9IjjW*{j5oQ9X3s1qh zaua#%o4vj1m68XtsX$7!)Yef&h%5^GJ2d8EErC8b_&a*R8f?$}kh-&;h(RkXcTYuw4QQ6?akG*<9^AM+NIRUJ}AkB2Red`J(RKohe z&Vp7o)+zU6#t6+1vrU>2w2D(p@)~@mdcS_LUR6W~tO)e6?$=N925gqMM~7lIv_5qE zXUqZjdBzxAIr-{H5E5XzNtm9Ams_9rWx#~2IFIb3J+V-DFhUI1dai3CeKLo!U$)A5 z7|@n1kq?SO8P*!c@oAjHx;GF#ZurCiNfg&e9lV8q%pML8m4@8wRezvX@aG&(3WjOi zzdO3ipFq}oN1r&FOgGWUBe$Z283tdk^G%h|K9eYV@h^DzP1<8EpR{`XD$UHIN%6~8 zm3NH&;cJbGJGz7k;NQ~Bk)-j%nE&JkyR;PgOrOJZ(9~o;CHK$3H|hkw^~ZB2jHA>g zY>WAyzbv3p7tFOPConnuom!H^-wdr7?Np%^!+6M^m0CH&3kkF;^7eGQo4a)brsu#L zoE`g!3)~Z2&e^n1dhmx=;Qxlzk66C~tnSaCupgdB5&ee!le-#(urDxgb7|g{BbFS* z0$1@F9Nc1w;p^BWG3rQ5C#ED*77^kJLRKUhseedUI(sam=Zl z4km-KDl3h}|Hc=w1&^I2`nz@a(oma|Rd#C9qe|{A-MbR!0)& z(QP~i-j4h^H`bv{q$h(@!)x!V&)<9sp(34Ucza&7K6@;X3`<9^W@x0E|Mt0_|97nV zud(>f$ezE&s^5-uztJ~FPPpowc7pAcg=zGD|I*2YZ2cergit zHbxYL{QMjt6MR|CZoXMZ4fuer#kD_b*%|M<@yFfH9Q~!8QdD|uP%8QTb&Lz&nii))-i8n$y6;}(F?vm~j!;*a9j%(Z*9J`dy0l@GS^9e$i&|4BNFc)w>zRy_aA3f1hm zkN=A%Xh$Td%@dPgCj6ce0$dz(MbSCm$>W{HHt* z9DjWr(ht_BkLRyv^HPq#Dq%~(Hlxc4t1X*>D3L>>39k~)GPMfUbo&;urVN>}UxX`7 zNfuXe;v7W06^>W^F0L7|@WgJ&xMg6hZd-E+JR;MNKQYv~jya`hx(`Vp5i8d=pL7IK zTa!&fiFh>?2t-t;-i~swWdBR8g%@g=fZl3hlJkj|@2!<;(QPTgr|3vAw zl=X7QAQJ>`*6dAbwi%byJ{6f^*$5OZFaAQM9Ab584gz&AG#|-B5T@?%T+@t>7v5^Z z01jQv^gW=n5{q)PVi^7}{^o~;%aQ@onoSv&=TuU5Kl zMy@<785QfIiZT{IGb#llQn{*SsHU(oT!BQinAHN`c{jdu*$R)uKjS6Bk@!Wt@L8Ba zM>eZTse~U9O{IV7MFF%X0a*hkpH5?CIY_F^KQQ>O4&Vn6GL$iuCX%c#)Ot28KEPoqOK$syQk3@l8+YF)G1kEClu8jzDd7aZ^376Zcjgh!gDDMUpca%#9w; ztM}lpS(4hw5x^sgCLsUzf7c5y>&f9=msxE!++d~ZQvzr14u{CJkawcw+O?B16IwNP4Ds@llFlJu@rIW+Cd0> z=R$r5!uK-~Mrhrn#Jrw4MMGIh*mH zwAw>(Z2mgKan3{)Q~diwfbCKvocbc2Ri2&s>LjW-|Ju01+uY+HIKEu&=*Ss|M-+tx};$N*UiLtJy613yd$dt2TJsHlFo zd?#AopQEd(sK0q%bEb}SQ3DrV-sbN5KAO?fK-;P~l`WH@@E2$QK9_pQY)bd~(Si5r zz|lNmBV{P*FY9d;Ws@i(qj<+FU9yx%P<0@GZ%ShL%7~(B!K0m!F(k652iFI@2*6w{ zzBLm6C!fNmv-aa7(JR!#?}Y#Wu9A>cD^5`_NvS3_VEj`>k?IYgELJ`KDITr~h}Af! zzwSBZ>ZzFdwDCt469Q+Dn?}DUF1cG$fDFx@@4^;cy2BaH_~%3ijvpIf89^{+V6H5B zr9U{yqhBx8x*2XGu-|Yv@*ns$XYkWp(EKD!0MX(1%DQHv!@xK4c5KSGQ=XeT&+6r@ znXKDx%*OpNmnq}H{>iwisSBm)S7igst(=IPipDkSdWxnyoqPsw3~?5&Heix%^mq@< zgsrfbT51COUdKn^da>bpqqlm6^gvl+1`OHi;b)o3jL)q{S$oVLFF8BA77aKv>ui@8 z#75$8HUcFVZpB?)yuqr&ah0Rrc6GdQflNU;V~^Fh-9riPT}OM8x@?`^7qmG)7+w)LRig#flGRA`%M$x~Unf5M zzYe@1p(B+tmgOIhnmyYlRS)R`HC10)`H3T;)!YVy7d;z{KjsEQk0iRk{)k6D zf)sIv5fRSe4PmWbSVN9M8;&N5S&TMDdVFT|PwY4*q@7rJSy$#{K?rWU{72vZP!s+p ziUlD88ea;xq$cXpRKaY$GTkA7th)6kNBP*W4kAS?jF)0z+(31;R0scqe+(GCR;*)9 zhVw0H%B9s}L~4aq9TH-*uK5TEO!fEp9k0m0)QSW0eeWtz*t?R&R>V;0)xFz%A@<*` z(K8xbSgl3wnHKo@~L!NuQI<2$i~<=eqfS=%wqbom;6ev zcl_{OR(}Bh`b;^~$xl$ZRYN~eHgk{$vo0z~gIQ<#$+iKIB5qE`Vby zWJ`Y!P0OUU(i=P>>%28iJ_dg)>ob2(MZ=G;j)dSIAM{4T<2hhu6()4T)&Kmmw|cd4 zlJNMKdAFOul+2&9{EIUME`^G`@VIxOqw|{;=YDZ+eYfnY2bjjI3T^#N%nFR*frmu* zYgopK&fK-q(^+lxiuqU>NlpSydrNQloP%0$HrSejrN7(!XfYhV9ZgOQMHjAa* z{K51eEn{p^WggR?Kk3f{|NmiveaD~0Je!$@Rh9Xy)4#CZ4frsUY#AAfEc~C=(##KJ zaE*V+adVM9&qu@!Wm=d8ux z5@KMj-&@*DIL?qY9!!?muoIQ8pR^+{v@z4)Ta7&&*rb&lq>4E9wC%iuX>ocENfhXkno{08@d)g*?S#>b;Wz*?0Lrm5C$W*;ObY>5T7j@Rpx*`((^R7HO@9{cT zLC!CwuLfca;Qb<_*dU^_JuAJ{U9Rg~nu-}kt7K>%(9rxeg6PN4RDXcwsrBW|5`D{b zK3rcGj*t4E^BND@B^gF?s(qI;Vn4sx5r$#LD0r|rt44L9>Au$2jSu;UI*dyE_>22loctfw z6#|^TE;n}srNNgyznyA5qHc&jE9OXqGP3H`V$r4v$!*D!I(7?|e@ab!I@g4MZnpN! zL-}6kudM#h1pP19@$IDBQ!}W#YfyC&CxY7FxPaQ(VaES&d$t3TpT`8ye?tBBx%v|x zZS3u%Xb^HxAG)F2vkeLV{)rczs_|)@P`-uF0Y?@qK8I}Vbk~}&K&L`&&(86 z%}AlqUEgF$<67sSN)n~s-AI0^!!7Gp*;lM+ZEMZ4_usF80FU|h2@LF`gxZ)+dKRtl zO~n|!h7hp0k18Ew^_-%5-X1IxQ1j5}3{h*7t*!%jX5r64}G=ZSJ!5gdVaK|+$z7p*!vART(Log|`^ASxP zfqgx3gskY-#_A@Ox9*PA&8lpDb9yRL_l2s~znkKRONIX}gba0VCR^w&rv=@#y%Xyz z_3qzcX_<|(xzuESs?N_C{a*V2u>cY0+;XBJ?%ltDxS?f2oNew9Y*JWNW9Be3czTkm zkI({jiC1?$0D1->@+2XI5}W6qQpKQDb8TNVv=L=|B%2&Asx3VPo`h)nmAyKMrAyg_ZbYNWapPI z4{;=$=w7!O-4ZHVvW*M9S??vVP!j82$pKxZh&i${r(1wlI3{^| z&JS<;&qf(yp9b5bMsDn1O}hg8BujR`4)+)#?y+=BmV4xxwq_{f*Fv@iau?V7i_R=$ ziRzKj6&Tek3S+KK_mTP?=%0V0;(*6grBaEKZ$I7`Vi?Qg-5qOLwkp2N{jTtX1H*T8 z6JY)l^_AoKQ8ep28`F>d=Dz#x;~Wm99)eM% zZ}SA0{W&X93zBluW<_HBgL3~8VBj;YQ~vAFvsH0|s@N*(c59XWeH1=YP;PSVv7&P1H2);Fv;hAYFv=c-(-z==drFiy z_utKb^mABN0RK!c@xU6GXx6^5@V#(nlSJx7YAcVUSC>46-k8&WbQaA5nY+D@aaded z0&WnJlv%^P=eu6LgXqt_VpioLRWVsg+W<43KF z)^&v!|2MC8tmp$LBo^})fvDZ*6i+!<9=*q%RIvwe{KI9!`9Yg@A!exRnS`Kivw%jKq&v_cIF48 zc866gewcOHXPlcvTPE+#@RBNv4;ty8bov1Y!ZCC+VRrTx+ni0Fl1pI_I>K^=e?6BV z&!5FFTysBRkoM25J&2X0Pt00R0{LoKFt(8S7x;f%sXyU&Ajl*i|9arbY%QFVh1ZV0 z@1b`=9kt?WUMf+xljE91%l;1$U+L$NkEM963C)%axC*q(e-*Tgcp# zQ~p~e4()J5@psT}n;f18&LxL1{c8NL4={4a{()uIu(jpl{ZQkdNSE|3GarjmTIXLC z_Nnk%`_s4FroqDz{FVh=Sd#n1Z8HgW@t!#Snm^CE=9sp75hZ+N4( z*fCtBJwdnPc7r?`cZ`U}(p2^mw`+c4Jd^lNN{BnR^(jhglhaH5$j#h8xYr-E*QJoY<6k_Cm0~L|1x(2=vQLB0nIsrD@#caR#X9sn$#U(bcrv z_2F)-aN%0SC@MhWB=mW!#G5#(_9|aH8P2ys=py~}ZT5cMhS^_=B;u|n8xXwSEXBzT zk?vG~2aYW!bB#|dRUF|2+9z@N?YeG|&~=Ec;Y?|^&4R!2Zu!5QJEgeD=!p2@?{KXx z>u&$&_`4W>{b_g740+vm;9L*}SN=K-)q|VnCH#)oSyF7_4kN%OjB6St@+r}hOE!46 z^Sf?3LPd+_P)RfnFX>&8*nt`fveYUy(|BNwXXTC4e3$)nn=T8%4>8a4Z6%WVtay8)LW{WH)}g=YJ*NFc%@i}!S@}%q<@`OeWgvgU z;f3r$S^g~M*Nr8S-Ze<>b=z(n+*TcB3ndyK^aAE&vk!38>aC|(=d|t81a*nHH~Lpc z+!w*WG+(&tWkN{*S~etp=ra!-t;?%A`nL(r{?JcYAX8+M_6&%PN}xQ zl#^i~9Io^RPHOQ=-6_65I*@z6Tgbi1@zQ0Mn=Rg+*Sz>o9nX&}?z!f}E%qglSpEj_*YT;Q(3*GtkLt|WiBNP5|*oT8IS^ODq zd46dCudEKnH&Aa!uW)Ve_2PfDzF-3z;omyp6B@2$c<`j~@4H-DJmBMAT#tWUO@QT%t9hhXzk^Zw;(Iu)_GOoP8Y#*7#WQ(GCsVpe-5wBiv?cXeWg<+Tm=|X`xg@A zYBuv7K}I0RKr+Cpx`zeiCyqM*{ci(NB==o3VV4&Xc^Fxihqa3~VPF_Lvu#G%Y^F^l zb^Cz$!&&_zp-HtkyoSC|yK*JnqJJ?I|494`H7mVPqy4G`=3}+G4{WVBQLz?njp;^;lFi!mRZ~zFbn0^+TfDUXk*)u zJpavKaY-C3K+Ix;c@pfx<-ODF=bp9i=8^Z1f+P;Y3~q$o;^8dqk@-skoc<8bsYw<@v< zo4@RSsz97m4hKO+vUb9>)d$Xp&B{iX3Jd2g(BaYK%dysfJ!V5KGsq z>gz($t1Iqb)=08t+kuSMZM*^VXCoQ(i=uTeggf4$DS3?%|FE8e!dtgz`r^Th|8EUX zS^5XhsewSj=rRBJ4J#Xo>2o;3bu_&Aw|p<6Kww8ak&}77Nh`P!mtwV)6Ks5QgC!kg z!@_r?12NG)3(<{dL52^(_C#Q{qIpHwL5O1{V?bz7A+}RB@sX>UaI_@R!-;X2IGWZtSx=Jh+b+npB$c3ckW#&^jXf+5WGF?_Y1PAGMo! zq;0czfFf{6O(AN+A)0gJ1Xhv2TK)lGb+|LTvTRIUWNst-nN83nMSoURA!}2O%xS$M zo1n>v=3aNe3YSV0eIox&Ew22;ax|0pR%bfwI@F8Czb_2Nh7&&|zudk-;FpPp*yc)wrEa1Awt(IUby4|1CU^RU#In`Vue?}k*0uN3ORH+{mLqAB|xpPXNF z9ZP&p^R`{oYu9vrbXS9IrtcabesHOM8op!21kMR>(3mhf8~lBIno2!p^MjEXv-nQE zr{RGqjoLgdXvH;<9-wy}wgJ{HkOxrKbo5t}p&P~ps;wFYWQBcjZf+_b zKv{+3qb>*IL$9;@Pom(NYH=^qJ z+*pSVZ8=vy>I4G}$K*2&Ob?QxryYvIzYxo0^IK`Z$9lse4gU8n0(N#mevj&W4A1@R z&|C#6s{{58|L&XlGc?Yh(Rj)6=Iag2n@{tmD?j%y*~z1cQJx=QzhU^HNA{rn=xvwe zcxz%DBv5wKmxcE3HVmm+zsI41PO5QvEh?r_7A4;+u~H<13tR+N`q~(!w_{-LUq4?f z<%QrC`AhOakUx1wmPoSslY^8g=nEfb7)b=kKc#2ill zmu~$%#q0eYulB{-Ty_PIrH~uXNw}|KGSjT`Sk6^flsfORx*i&-r7tIpWCac{FJmmL z7tX$g=P`~h4JH%G#|rUVLWlo*PTR06r8IOYBo&2jwWG3&p#AH9$vZS@GL7VR9ccX5 zEx#}FYk^pwSqYlH^*Tx3w{l4O;5Fi{qM1ZZAV$1VQ1gP z`*;cdb9tTF|5{1PK_VCZO$aE6Ee`;LlQpS#KZ3}wCFb7lS08<7`p7RRX1`0z6!k`EZoUdXS7YICqc-FB6j?N6>1lO(Y4%X&E-sBLC{gi;83{ z`zRuXiT%f55W$mu6d)k{u&Z6NOFiE~M%!CUX)8?(3{`7wWX6wCmur_?Hj-S$ci4Ct z3-RplRQuaxe`oUd@saKNHhGr0YEp$KOxn`YB=&*Ku}i-*1eC^HH?SDuf7Ds`vG@%g zT4FVsu!5*Q`BMil8|A%T#w&2fhXq`AEgxgHz!oeF=Ht)S$R7VTFe1iK&nOGQ2aU2j z7GYB5LBr~fMc`D7gU#G-eN}$OfCs?cphk5%lK3)<`K%ftktK$-rttGx*g?H8I+c9_ z@r6>XO=Cdp>8m=9qm~dS)a?Q|{foqJd7qz-u@C=3eDX;D{?_n#7puqWJ4cuK$Mz*}uoUb~?syT&nrb>=(*a&*Rw~F5+2-q^_SAFI#g;4a^@$8Ty}F0 z-T3_n73E;aM-3#;9EgV#XXWmibxafo3;6aqF_y6so|s<&?8yLXChg6jb0|KN;@Riv zhRia;Pqc1b+YuPo+kg%}_s;m{F!*Nx_mQ-4m9S1}ly+5Q7(Dc^}z{~r; zqiR|3${Jat(Xu4=j(R60%j1pH7=`mA8-49lF8V%g#7H-a8Fq4FNS}xd07XUZJS0>( zIdT{YL;94)>Ykr9h!X-*q;r^kxbA)%Nq#p(LZQshBFP4M&EoS!P!{X-M>m}A)vap& zj6A}-UsquH&`2%TaEIz#S;kybeoG4C3>K z7KAD3vwjN1sdN0XaDE-BefW;m87!{6Z;y~u_$-<@TzD7}?sysd5Jos6VTivUGT1_32n%jNZOQN&+AiAy zC@|qpZI{zND`mLzMGcp7x8BX?f+1JMHG{Fq0nha+0GL?(nmR^hGPdJRKKlPiI~VvU zi>v=9kcEiET`tkcr3MWe(Ar?7O$w=r1bqTQgQ7;EElQ>6s}>;v1jN9G%etFK?%3DwG`&nWvB0xFy^q2&1q;j@WQ@>K1>%BFX-INxSkOVvd|lWi-!`1uh_u(r*L z0KDXB)?Z!>0&0v)loYEy$gh@aa%gbs8??0c1TI@Zu?;V~N#)_139%`eoj+T`A|&rxjeGlKV3z40&sO zVo)#ohn>Y2aXk$;l&WCUZgx7hn)SY4GKh5|T}z(D*a}CTRzxwXw)kNvYJSU$(F(g= z&4K2#80TA^M7=HIBerD3|Fbo#95U?pi!0` z7WtLKP!K7FG5iI5fU`V%5N5NN`7HimmEo#ZF%xl>h`GTQ)E`)@NmNm{wlJj0*{BR4#y$PL65`Mx$*q%d4PLQ-^}8HQsG3v{#FzJF|X z`ssaa`c@U`VIOULgLUMZZ|Tnn{rMw*YB^i%E;`g53{lF2XY*LmWN z(3_ty=i05;;fvK7Ry~4$%*yL*{-ECl@f~~l`JUx3v%uv~O6Px2&sWbls25zqT5}k^ zVg5q2lw`Y>VyAJ3UykS*s4JE&S~j-d$>8MY?SM$n;c*WAmduV^J6hm^*?f$f&EsWo z-xy9SNuZCS+eob)ELs?|yP2w3WQzg{xj* zU~u`ZKPVoMH?W=G&FMJCbZC+3+o>TfW86gG@Sh8Vr{%vB zNPONx1bD_(Qbd8tY9hKf$^7L#Ss!f*nKWjQRd1QUo((T=fjpFny#2ZEwzq}YYS4dg@`_Yh95Fsg4Mioeyb$~fq49jg+Mj*|$PS8?G}rwxF`tO)@8_4tc2pgDU%}-Ze#FxOgwo`vpB6&6Ybv;iRqFc1kLw#8a?#)P9;wGJh}s zjy(ppC){*yq-{Nidm(OJf#@9}-`#3EV)OFxOfI3n-wO3(JH$$4OL(>Gs%By@pFAz^ zx3BaZ{|;*BUomDU`h=I?2=&CaifaJ9#tA`fZuQ<`@n=O{`z?kW2Ho@daTwN?sADj% zcfqhq7{33CV|Hb4h6(cBPXui9S+yoYA3lLx86mDW3;u{vBoR8|ucVwxin&|~&X|Y2 z&+M9QZieu1U! zIBIh8@4z1d!Db?I^?*sUTRO+jn)Bm;w;D3oz`?i_kI1||+%ndF)X%rNi&EdwmcC<* z67hxPqj=+a8&QW3kPI>m=0St_;QN%7aC8Q145)TK#fqs#r+_vYIJyFou9#&>_U!YJOlv2zcfL3jWYX`A~ZX9ncTfPskT7>S8-( z`Ni=s>u8Ir{987oI+ZkC*Po|raUAbI9)s|8ew(H<|6OexQ~et-&JjApgT}c2ojlj( zzxW&GKNQal)635e=;Y;0n4Q2M&fyf3s?)ZRxqc_9@}F5B`Uz` zX7BI5w2kfUJF5u0_g3hl=_4<>29c6M`xdKxZH)xN&6piY^-s6Vy!BTaW;u@*_c#4q zrGLIJ=qCcjI>gp$aGol}&UR%!*q`nJ#_yNork=nUG=!m-^QQ-79ggSvza#a_Ehm5G zCzZ{`C7)t>Y-1UIiWY1*Yi91J^vE0U;H#>5j()vNJp9&F?v>FfC_fg2Lhd-RX57e3nvTHPs+6?Li%5;K)`cE?OSbXf>%d`Cj*$ zVnsk2#*9<#9XuMmgl76|?&r*iKw3PMI+yY3kKfW6MbS0AMf633345!KfYyl>^?mi( zikbR}T5pI%=(Hu9NXy~?B=Oz5bul@*QUMn;KM)_~N6a~XO~r!xkcAp|P=^t?w57XF zT~R8$yokSIVowT6p|`PKRqJ1UX?IX_t%7GB!j>jY0gYk3 zRR)}PQL<&>D_%%YjJ@5$?jlgc@~>8Ri62Nmi2un#(cx7nHH$;CRwKj<4w;KRp1tI6 z+{Dy@E#k-y&~1HaCi$s9GAnxx92(q29Et8{gje_O5#8O>#g;4I{#Ftb!`Ox`wHyZZ zHJd_*tUhibh-h1KPenGM$LF=j_J*U50NQ{g!MM1_E2E4fM%};`o_aOECbPUjx63q@ zH?Sz@d}2#P0W^_9XNFhbmYtEsmOIg2g@lzB!*Xl8s zlz-ZoS<68eP^*g9*FdbQ?qgGZM`ItU7 z|0uAbC(MuBFGi>`?3=u}?1y+ldD7hWZV&>gWx=7m`U38J?z!-4uQ;|Px;e{>uDM5C z7OrZJHAlCg9yoS)bp+A*FJTErw7Vf`sL+2Bc5l`q6d)~IuNJIL>b6x*EYYxR%X!`rF~vSiuY zAj{sK)KdNc=-hnSKiIRcWdVwB=GJyt`GRHTmjI&k;c=o{c5;Pu#DarT8|()t(6K!& z1HVMYL#4F4kV5frfC8>>GQC&+-Q_yh)zqsqPqmL8|9nT_pONn+#_KrPk06)CCkr9; zLA#dMt|qVSQQiMp_bwaaPHPvdxPCN>gf4!t{g}GDV|`tpE&mPmdzodqJ6~dTRHvUz zz8PGsnqVTpO})?=g1+zMUnSisQJo(>FjvP2s|%%&?}3(9A7N{8PgQtTH^|@Q>}O*e zHiwr!PkR}^ehYSqG~pbQa1Sc8|zQ5n7Y1THdV^ca^z${LQ5QAr;;%78&;loU$uX#Ruxs zlYhadiO>(blb{`W^y7gfF&yYEjX`c}?QaU{VcUNihT2l=-*S8Vit$kN&!Sy^9~KE# znHa$XShe;XC(V|D~Y`(0}fYiFx^GaT*JDmY93^Q=1 zIVCOIZ;U}@>xSEK9Zx71_fUkP(Plo`=cb>smOkWYa5|w>Xs&t5${No5Si_4h2A!y7 z*EfSHB7EZppw!R%jzkKk?=`#uTGNLGeP;kVb&)m+Dmd2Yq@nbufr2iPN7vQ%#F6EG zdoq?nPCxNeZzGjb{dw(;=+3z>YDcCvYAj+~f#^BO!`gpy?JyZxW1B|o(!jo`Ffb#$ zY-Nu^h#Y~G=udok$stbsP}T}ediSh0dbfZ!So_ym#^mln%r``rN_Ss_5*=c(_HHm~mU zxyeccv6H=^_2`x+&FpskpP3&25Vug@7a@h3wmk}GmTavGK`ygLLEYkda z?+cEzi)=*1xW)%|M0DL*>j3)l`PB)U@OO~B5}X8vh7d*rct1W>f}BKyT++;H*)!i=YUWei8H z$1N(Au?5*JQyJ!PwmoKSdB_YUe7Y5ZE&sv(et6kZkoM^}b z=Q?2c2Xk<*zk?pc>ewM5u0x>rLVII);h5CMs zD|Fp-3fZ~s9KKJQEB@6zqvc2Kvy~m+m-&5DZHWlPG!aGAP<}?eD5o6*76=Ny)HB07 zjPrN$&73y)=&PV?KvC}?iVipdiemHgz2yT5WZwE`$8q1H3oJTMo%YS*H~vfUqx!q9 zbRF9TgKo6K@6$Vv?}~xBG^qSP^AC9dU_K6oOmT_a^A^@*+Hh{HiB3TmViqQD4YQm$ zPyxlPlWshexEAh7umE;3@%~Qi0)ivf_K&uHR{N&-H`@9yP5`;$_Ak<9kU9SQmdS1| z#;98eL~}c=1&KsM z+YGjwoD14g^eo%X#UIY=A$cMS(JSQF~_SoHhSveUyE zF4MMs1W`BZH{7=<;p*4vi6bfPt=VQ|P$F>s8xx5aDP-#3MHYkDkW%Uz@7$2No7 z7^o+C_!N#F(YUsemVDy7`?WhV#tsu^jprZ z-w_2Gy}N3MxBK@;4`hXxdT>Jp^gD@gyNlL!f+%T@+%2dEzW(V5p|HW`wJX)Ft%+^$ z8}FuN-n5S}ozznz9Q{!5iBspq7yhXN&i@lZFTUk*>F;Q@;_-qCe(+}0TN0;C)a=rw z3$UX-i~uOcSqJB1gf${#m?)JiV*1MPjzaN>vM*7mHDOdq% zS=s%mKqsuCk6U_Vhi^m6+{5V%v;H5zqCFzK+%Z)OL{BxtxP6OG5S6&3v@8A)t{B7} zn)nY~WKr_L1Z+a3ReWykcNdA+p=j_P#!aK1hIIadsib{6g+F~J+miRB7<9#y z3|s%@3E|AUg(>}%iRT20d5vM$logi^3j642f6D_3mtaZgiMolu?5!eroddg zU76HtKkcDP7gH(mI~;4hUv=h;54w8_*R4QZ6x)vVHDu64p z>%j)$+}nC&MkJO<$S{$Uy6_2dr%YP^dT-5h=UlY%o^PzF(3XrHpo6^2_S?}pY#(}~ zH5H1BVyAYh!5(hW#1@hC%TqP!>h9&FawoQQ)pc%ykH065t_kp8446aUU)>cTyivHc zaiPSmoW&D4XYrx1DUuoqIE^>0wpg4O3AoAmTbIT8njRQKH)iOsgVGs2r~d}~SNYzw z(<8z(g7YTwix!&&HMXN)dWw$jL-po^sp@F59REz#Ya-NlI{Eg%)fPYB-+$YM{5Er7 z0&}wgi3#rwJ)a00&INhp5 z*%>xp3uZboVs1EyhPeGN-L|l=H*Jed)RdlkrVc8m`nW|h7krWib+LKkBh{1e@LBn( zuPxo?Y!DUAY{>;>VsAv>%gp?EYpP*a-6yH%9}_h5Y8b1f`R9k|9g6gJ2>OPXU7MMn zU#E(!Grc%8bay6}iL*2bW+Z7Bf?VW$W(HFL1=*t`({_pY&x*s?(5`%!2#urymGaax zWqPXC(@Z_p2!?0+UY41`TS0p*K4gyl(c?lOUB&TTs{mF3rU`N4RA@D=QGk)Tp(}1; zTjRt~oqk+uk?}Y|OdDn_LeQKHSo5gna6lB9=aC6y)vtnER3-Ak&nq^oT;6L-eNPm} zUkk)P=L1nFL|YH9?aTL{PvZN-?Dvyz?9Tq}c^2$-eQ}yCRgGi$%9n3^n&OHqXlc$) z1+wPSKtr_p*AM+s%CLg}<$)NFh{wVqh{}m=ea*Pg0TSX=83{~ej)T98!^EAW0C;N9 zW-~`cwYEp4vA<^G2Qd9jhvbjhbbBD_6gQ$98z9p-9CYd@I`#0e-nOyniAo9)SzBa) z%}#&(@hR#HVZWN+)KUJ72>w<|i-lI4s@-JY8|b{iFitwTL#6>{-z~dH9yhPqvvVK ziPbn%#Jfqcg)PV6MCf9GPZb3QZSmFk^L^sG149$WUhO7!Zua+( z20n5Prr*YazuT+Ep+;iNlK7(blq~!JPJbuT2jFwKDqh9Mz z{IMSDuWwexLw(4c5F_G8Y-A4}IXZ&=)KUslI&UC?XJz&Anp>fnwJq&|Iq)CQK+$=j zo#r7Pla?XdZA|9Cd%jGu<}FbmuVrH(T>}5$&pl5>#xGclyQG6UMflR(z{HLd)mp8 zmV#FP9xK|IkBGDt3mv!;+mifi7+OzW#q+BtcV~Jww*n#6oc=C&aQyikO-{>jT3H5R zuPKDE$?&pYlc)ajM4&Qgd?6W~X?y`^(K<;D4K3&YNVDfm5nIEa1+m^lnouM{O$tEM z`Mi|}eLIbbT6Glyq(G!DKBx#e^gXjf(!bm4Jfw;nrQ>-zh{^7F=U^sN^a0;~S>(4p z+vKdz#JeeISIGa8$TT`PnN~&gfC$PMl+=?u^qt84hECry z4HjY{81s{Qws73B6Rt8 ztyp4TSbZ4O553%BEC1}K?2HU0;*+Vkb~|v88E7xG){gSxE%YiQnRIoPR?C8YL?_rC z;1>eFSW#QDpu!YMy+Eb6D%G5>g8^}ypHX`%u#2Ou`L!oTTZhyhA8jqG9fFu{oEo@K zz~3u5wAYz;qOy&sZvC_TJ;`sSV+$)l&6oj);5lSwndMUiF=Q7PMNG*-C4B*vmfmyU z>c}3cxU1U!)%m+dr&ME`af4*>hijmo4KwB+v5PI1HS+qKPYT%$ml_VHZK6ngaUlsH zfrPPn`0MRjHejPoCO-pmn*B$2X$Y8SBcPV{puV^Rq*IL#QC@58jno9UxvR$P!##qu zevMXRvF$%4Ue2`bv8U{-R%=Ai`9ds2#Pd#zxD-|v4tD?5YdUb6hZEFgue#;jU+uZH zbchwNdsHj$E}=^liKKGxn~IgP9$y{#f989MS()v1=suObf46lseL)2udzXEz3Mz-` zt|OejZxvVtrx5xw1N@HPDhQgi?~mJ)e;P)-s=*5tq=~;}_OE}Y(0gnkxePQru285e z#hGO&pHiFBt522zcm-RgH9Ei7iQ%kjz}Q>-w7T_sPeFg_LR2ld013{TieE_8T$y2x z>k5X?@=)=`^Z7x4#cWS|iN#_Je_MGO&PaYu=?7Q@)(z_MPc`y>r|O59>h;U}J^H2a zJiUlsdYNgC8pl&2wBvIY45LXk%g!MIIhv1rt+sj7|BS|O*PoXwkIz?75c#{n<-Z(b z)u8s8aejWi%b)D>_sL_ixAKSEd~k63^C*{pNBa9-e*R3CKhWjx{Zml?2NUgDq|llw zIiGztFz*=8pH-C>)0{<=#8b~-f2>>FT_flubBfDuc$Y?&2$6dopaNMu{|po;u=P~F z%~ocE%RI>$MDI`~BUDM1gYva>b0!1d#TUK$4X4AkWOp#6Sjn^a!yUks3*z;+e4U=u zCT9c&tAcB{l7nAd|JhPK*^DJ3MTBSFkXysE()B!p=RE&;9?yg9bI{Xvxv3+t%#KsF zyEa40-%R-!&C|){dMYs=g^}cNw?7dhhKsHL1p9j>4p1G(lw6R^aKqVJ!|;8z_-B(v z(ppg5nQi4vRgPF*FEjM=kpD7MFP6Q8fL`vgIX)xuF2;2IyYfs+`T9HIA4r4$r#c+| zQl0SEs0lXzrAz3U!*Q{CqW$?-#iIJLdSSYBQXC6H=@FK_vP( z0=Ey~Mm~1*S#XBMKl|Y{|6_y_#moHh;ox7iEEs=V{QP2PUwRe!y{Xk)Z}ZdiU+41o%PL^U_vL=RP^5h;UH;wY^1Zb`jU(R-by!!7#2`>1 zsHc9-HQ2Gc3lyfIFk-WnXFDh(wc=^_&_01W{W4CrKZi%e!pzLU`NmO?GWW_fLM)TU zR8HK>!gY@D17nWjII{eI4rDJ3duwOaT~&M8m6x9Em1NiARQD0~Oe`6MnAF2z(Y1T1 z0oO>>Gxxn% z?Hq%tERz59LDid{ohva%b%LMzLpymo+Ycd&RBRCQ)P!Q5R2~X`6W%oqj__ z!7!LdJC;%jc`alaJ4qq|P0r;eLNmVcL((ABmAnm;y3EQ!>=Zd-!^8QL*Unie!_3XdmZREFpb~UB%43hb)nx% z)K)Q5wq0NUfA{a269W33a%lXz@EMGtpVtw;U3UfejSzlU)OMlYx?wtfT{JQX;@XPLq-^!l`^!w;-@H?q1egpqI{EE}~J&YIGSJN*G z{APeiyZpN|z;B}PyJ1!r`Yrg&e?`AL3j+G}{g3b?Tz+WNTOIJ5oW^ez$>zhWyWqEL z`+tRB>u~{ovk1QQ)%5EDeuW+JTlbTIetm>rRag8*{df4)r19H^`Rc3j(~TA@c6XrP zz%+hWlWhJtvkU!JZu_t3cSPpKjJ4m@{CmoOgdZ!-ka@EMehcmh=+{iL>D?8-1I=HJ zUs>AzfgsOEE7zL0)?Z$S&z1 z_?O-e{D|P+YcbE6-v$0GAO2fcS@^rQekJ_yvh~0VXe7H#RqW$*eA$~D$qX+|@K@?p zp;V=a$zu7|fNZly^NEGg(pf*yE&zVCD5j~en|J=v9kVw&UQND2j#cW=bo|0Xp7U%G z9`ZRb%w>JEfyi;DSUJBnWLiT5UjA4dNb$1GHGez1MJMchu`L^y}7cb;nR} zOqYVA{DPAy2&(6gVA(xfs165J-4MbV+IY_3E??#PUk$b3SvgQLtL{lkcJEU1z^e|C z16KqC*6ew~Z+Xk{);6mqy7j|j?d|h*WMX$(otHj<_Ohm#G4-tXOMEPpGO+#ZzG!Oj> zQ3s~gEk74(@v~-F`$X+`z4)T3*fL&hjg}rhMf*wwPN{ma)$VT)i&g%o7}j2FwJjpz zNc{YniaRioh$Ax;1)?z?7dkfj>8*O=fXSi4?@xf~!(emf)Bl%Yx;^_jaaJ0M=7+Jd zk)Ei*ZvOzo8ot@l>cuC{^qN1wziQ%)aN;?OZ|?G$Y-?$EP2)*%`J$zhCkx+!rq-g_ zopWcGP)LrlinGgaq>BAceYf%SeBoaeFP{km%}~(dc=^=Ik{z?p6sHn^tI7Hw6ZdT6 z#ed8&m)t5I!eYen|C!O!k1tY15tCw{E zzhujE#G+zHt3GHMOoqDT;UAx$IUW1Quhl8)D=bRYEz?=0ndQ&2o79b`V0_(&vB>ZL z8E}1JLwEXF^(1S16XZY7jHH$c?AmS|ljj;a2HKovQO+|pE|X}ug^n=eeZrJ+d~uAW zO8uw|ooL6z)in&LVx5&uh_4WnDOSqV3G~badZjLmo5|*uf09n;&G_C^(b5+#6pfew zLzk}qKi|Hxve~t-M#i!-MK)5Pxl#OI5YeCf%6R3>%J@V&WPK$a!s+JOXW{rA^u?&D z^u^0JyS{+b>Wk^Np8l3UC%4%CVBk&l16hfc3(6E^9J4x~KdA6&^O-|`DL%Do1bF1eFPik6NPJU4k( zrwYuEe1zf`=G%Ck5UH96q}Rv-$~y^(bc_wojZ#Y4vh@mKvo4KK1GSw;^3 z1Nv9|yQzqUU=9ob=cpVfwBs^lKPULlVHCVfSg)P6!z%HHnSi_c+p2v4OgMVxrZl^yIFT~Gf3fk1R&19ETWg_R^#RLjP zE)_9ovf=;pEmxZ1Z0Os_Z?htr7MYzHBP2K5=t&~mdCXhFw!qW>!lfMBN8XZa8o>zMQth6LA2Y%<#|ep24z6Z7il zUrdY;JO0-dQ791_{rPU+K0Tbx2NN2h3C^l|o9gFL_-b>DE7+|EQ?51CW>OIQw35M3 zRnnhm6;##(4-uPKKW{1m&7AMP{bLQ^S|jc=#ew~JC0XWM`g8Ru{JB9Tosm<2{rD~B z&(8!@IGlELpaG~~e>twBm~Rgms5-sT+TojykB)!K+xeIIu2#k*?MO@SO<;J8mYzDv z_1xFl7q@EjOjKocesy8}yi1s_enb7y(j3274_l0YzSa0ool7yVNDu*gSCWEa`B~A@ zzn&|gcn&?RM6>E`!TzSVafx2_&x`k?1`p08tiYCN>4Wxzi21E8DVc`Yu~<~w(+Qc) z(bDVvGErMbC?LNr3N=1m9U`-6)%R`LLi37WGr@s$-o-5j=I8Uw`*?bGUK!7fCeAp= zPDid0lYkfnPQQV4K41wi&4I9htj?KF`+cTKgt13jOQI_eJNi#=r$6RrLeq$-bw?rp zDof7D4=+8He6dn^X^yI6B94~cdk)l7eA}P0yKSQ;Mp!sZGiB8xeyYZ{?*NYtjdg2VR`8JM{VgtF4*%a~ zqN%loANite1%bY*YkgMIfl<3z4eI3BBl$u?Efe}_ngap*;0f^4%6H7iZkkR>~rA6h`5|Z zrRsPF&_|X5oFHNbv3`6AXNcj&@CaA|s-1SI!(2!ihIDqB0#;^2Q#*d0$9u=It7pxB z{{0ab1xys&A2ACZ_N>CH_&Ir1{x&>QMQsl*?#hfEo+l^-0EYh?YtgqW+ zJHKW$Qn=}Ma#`O!5LBYht7a^M2)mxq(%a5<@+t9Ge`Xnn z;2Fp!lR)N8_W>{bp9L8C=C}u2f2w;mhG4@$6mF~S6J5|7 z3jC5HHoCKaWi5U@=xIc+=!I&VnmbS)YXlO zTI**OmPg;bu3S-AKPun;rkA+7=UCh^qhF|^7a>c#{=of}H>?q%kUOk_)N}knM%o~1 zEZj9D9GD7<^p6izc)p?giQR!9&X1qd+sh=HiHvKSWR^LXXTt+er+*V(42L=FBPhOkd*CSGx2`O8*Aw6n*LuWQ>b&#QxjV zK&rHhelY&nM7r+KV5T5#L&@u+rUo$nMF4v3q(YfB74dqi& z1&s~H}Sttpr!0DPXXr~T5ZM^@nK&|wI}1w@tVBn)lem<+8{Zbn)7_6?j<|I~|LLx}Kl2E((dqmt!ok^Y2T%551_leuTC zz0{%7#vkPVo616~AMBfbgm|ZR8=vJfrcqz^5nwvDFIu{2oCb}(TCJa%#U`~K2J`Zz z0$`2#d;)(p5SD&IuMDg5QW-{*0NsS{tLIP<^1Vd zx86V+PXzM_Ka9i+8Ho6$5eY9ovBqxY+aOMnXz6>E!pjck>QtWD!4|b$4rnnNzgajq zO=htk(E+Ta(4sL<>;H&mF_b^}hrwQ1vU%1SRV7~btg@<@N1XaH4vdsdFlgGgnhw-J!{W=LC5Hax+ZPo+ntoPSRZQza&V~nA=E5 zst>Zw?>RCcTv#3xpO@{|j_ZN0gCNjctX6Mb8d2!WqHAS#!Ji_w*xFwbp-H?7Jbh!9`JIFui1Am*9U9Ib8Gkqy63njaNB3*l=%>9kEhbPzcpepm;jhPuf40BOe01ip> z7OnW|`)2ty7#3VaohK>@#6#Fz{9RHXLd<`Gct#?@UYSHBR2 zGL7~(KpVEJKBa^I?BuSWbR;%R+mYCZcy{!!Z>N7*Kz|17>Cj(DVhPm)v^>2~5A=vT z-bOf*$$ScB$y38HTpXFSLJ1G%Nv9!{kV$6l9;fRADcvK#vc1IRIxD)l(PgftC5QA+ z2rC3Zz#r(Utbe>{Y4a#jlXU~l(Lx=_aNU_U}lxT3EWYa85@k`e&)5 zv7PbGgy3fQ4WG9~ORpObb*?)My;cv4dacn{=BjSEx3`QZoWEY7J3!4fe}?Y2bzOM+ zyyE!7w9ijd#Q-xU=;!HRc0F+7$#?iG;*A1qbbtA*o=#8A8N zwRklI`BL3{AS9nrtqw^?Lp60? zJa^wo6EbzvW&8=rUE~|axa@MSJkug|BsbB=&OC-@8TIy4fH{ z;W2w5Q<1+uL;b$-RX|~*U@5)4k;n4z?M-73YpNi`%s1Ho=vg;8`bD>EbD~eG%5LE$ z34YAegKe`<(CRp%gl`J%BS1STyywXvT2DGLI#9%Ca(~FI30lWNcT{pbwRMw7YApU` z05YrT6Voh^DquGL(7%J^5MWL`7)*U>{5vplT`s|`7vjjKTD!i?y5Zti%?PhV|h@7`ISH_j7esd9cDxVLNkFJZowg(IA|k&DKtm< zIquLD$sI~q*{G5X=j`?+mig5~2Y1_#54M#An3+dzaJA>u&nxr;fdMsueu$aVB{}){ z3XSn0RSOY>zhBo?VQ>DiMCrl$Ivne0$o zJ)2iTXgkwsH?(6(WsV1yMM4(D%)Dsn7>j5G{}1~S=L6YA(%HZwZN4W$S%*JNWjX)% zJFS{a-z&rdce9O=F5;l?%rL)XPO&oB+U?9YnL!&G!wt(+g%Hx^C0tOTD^2ZQYB%nY zoc$fCRbH@n_k%0B^=rT!b+q+?9mm??ekMeW#^zVg`;F=4%sAb2g>1Amu53<6q8XH> z@}?u7C}-d7+J~KCx3s8Yi#QtGD%+8-#y@y4Uvcy0m+9D!KklJX0jH_Wd7NK2_mcSK zJTbDEktyyQBPY{ z%tf-NE%ut0J;-0SW3R;sKa&{LAI;jB`hl0Ip`Gtaw^RIY)J3zC-D*1)Sh-@5!$0!2 z|K_ z9ox^sQkTx?IBt0L#G|5b9m5^(wW0d`1M04FOT;E(+~{9D?Is*@(+2~R9%0=x$}(mt z^c;>eBL{7{Ad}O#@%}GM01!B-rPt!!t!*My?_M?_olLRy*IeqH+C|hvD16u>jHbca z{jfDXRY^x-{vNfVTgF;ej=XFn{1pN#F}Qi)h77Z0gX~*o@=%r2*Uj0Fuz#e_h>yTC z1t07Sq-#j>iE-5*g5J;aiQ#jtT?iB^P7hUPA0W;!g8DL40k>mtfx4IMXT1|^^5Qe6 za3qZQ!Ebm?seG^bZ31l{8-1G)csuRD-TpoSqLbI-qQj2Q3g%hGx$C2_cmzwFQqZSi zd-(Q7x(nSjP<+>DvT#XVByorP@qQjCsf#~!b^&L#T@l=VXK}CEZ*i|17+&q}7bJdV zgYK}Qs*cybVY~29aJgHv>kuWa+WdN(LM`7=aF6gp_~dyfy2WaKeB2a$=0O{z9Qu2` zjs0quv9fyD1(2+nkVyQ`&DUp(&%N-Y<)?6rK4~r+jsr)1>F#32K(h90V$(9w7Zz@+ zR#(ym&*Zs|A_EhuBD5?&gS?Lf-)lhDIofl&uLJpE{hdyil+8BtC3~i?2b4 zTLH_=7{`1?taQ_#HL7|hvO;RCmUYKM0`~Ww=rUlsyju7{{8+l1&3a9^K3K^Qb#PRt zYRuN(V9GpX{MaEB@^LJKoF3bVn`_bpqJ3R>WpQUWYpvGn<&Vh|O*TbChMwp28g%IrJe*4!Z~+`K_nyEY}47@l#(= z40N=-*@aAei9uiU5-T%U7e(J>W@xg(^0vRXr!4!MUK@5NYdvRGV51h9J2pbJ*rv6b zLQRYpM@&&EV%Fa0Q&fExX}Q0XCBxBob~}CPf2f)as7jC+-4zpV7%D!G>n@A~5Oh%_ zR69WSQ(nVMq`lW|SK^%KTRsz+SO6Utf$9M~WOgalTBhPi>;ag{RRi{^nbx7F zgFdj{>I3k;E#T_~;plowJMuLRb<`W&+648wlL+;=;HFf>3rA%uMZzcg^Zyo0z}-Eq z3cda9z1#QXt2+{*2Zn2PTY)SZIA496GnxeN#GDX6&@SiedX48CVSlWllJI@GZNtdb z=U0(#7GL{$+aV@kvQN1bQybnW(k})g*jy)l^o%-btLvn9cJXhO`1G?W4$WO#M!jW)~BVknld&1 zuR;m~8c_m-4f3#70)=}$Jg$;@A_+wYG)}1xqM*M}B-UW0y z8ytm4M}N_7svVb-SA{J%keM`bHe)&&_q}))(nzwATVy8C=S?t8`cvXxK72Q*1rd^u zlN9q{6C2D<{PTot!`3X9t}d~71)CbFueF0=@TYJDN|z8qw#T*WlW#ki?k1c8w^BnW z=QXOQE`zb1Eu>({Iv7X2&u*0#%MZnZMvEna_*6q;CdWW+ApyG#f( zv>vdM4x^)e)mA_?b}oC??IXK4}N}`-#+rq%TULBq?#aF^_Svfu5!q1j{3;J z|GQMbzA_UXCJSEoF>&x^eN}$3`6$O?^78-_m%q}_FEh>Ln<`=QBUjD*X@T)}P8rgd zgI#|KG}KE;aN^lK_MR`9TV^7`x~PY~exm)}K)(}Zt8sU&wj_pUk4eVww1&n53L{l} zc;eR2WpLb|Irp2fo!oT6i>W(Rf@M;{F{~_5C1?&on*qxHW)ZD&YMlM6KEaw3$aguPH(nz z%?YXkB#XWri~HCs09f1N0E>P;oFWr*9P`MofTLQK0JwZ}vO{54fP(tp&nz^3RR0Zh zo%yW;zA-3fR&#vCb(dBT(7ca%YNg+8b_Jm^(x>I@PO6XXO25~f*Jk+!dr~N~y#5I{ zgAr#av@H+Y-0eR_weQW_lp}dt&YKX<-cT>sabN%M${P0F=~s7C$gfG8{=da0XfBzn z^@lmI+lEc-Px4G`3T8aX<~cqnz`1Z%(FC5Atr4l`G~lFPIwu0vI>e;1TOI&=G7>~U2e!ocJ3 z|BT7k#~;nVx~P5r_ez#D3f9txDS{n#D=$`Gypwl-Gcmk0ZeRA0N6AGh8MW6%5|-R4u}6hnKu>pXRy8|3tDOT z*nJo53%lMzg>L;K-0%s*Nz+?#{rnR%p&;`<*Se<)an}R)Z{UAQ zxQFd#(o1Y@E7n6_@3Hn+4-ws~+)X#Qu(ndWJ>*AED>zaoIr>Ep^to0>wZWLP{zMRr zwTR~o^Xv0IV^-lKELJeG$HtNW*$LFr{>827FJ>R~Mcoki&&O%)tV^d~ap|<$lZihe zjgA{50NJ6_phiJ--+|gQqD@(-jB`&`?M3q6*%fZ62PI1{;`q&-!!_1;-1VP(rL!Pd zE37(KN`_YOKR8N0xeP{{>(fn)~-;U<Wc7$DvT%XTcY2K zlMf7e6r(fqXtHr?F`O%bO+wE^bf|8 zaD)0A*=_WrwfSl+G^DlQ}L}~FQ7E=5!3zrKDOE%3K=EbhJua=RM5=_M!TV>{s zev*E6>%{$ytvB5sJp>y(Zx0PJGq;b)mYx5O18n~s6ZAhqVC4tFL6(c9Ww=hA1K8AG z(w*Aj;h^si-yD2Dr2YGE{rm5WgZgn4!Y3s3`Dj$5EGW(Vv5Q$d)rZ8JCXmPr{vVpi zEn?WDv(3(1II7H|G&}Wh2gLkG;TK*;te`Z1Ob?&j7+xya&tWe5Ki0`3;;ZPqiA<} zz*s%tL_w>|pZ~RwiSsqOWp~EM;qP->*2!Dvgp~dD5sh{!J*S_2Q=xCrC)30Kz)Tj7 zuzF_Ui^J&%$bl}z{jX5UXO6Z;!Qzvg4~;%KxoLKayM@|l-GxfdecmN+otql5S?@oi zdKDn^`_0TcJr{lgA+`#`StJWwb2zev`I7*B;gdMfHmiv3fZl_`7c`PEeErAaDVyx) zkTz1RGfH|*ua`2uo+_5lXi$xV@FHxLWPk}Ubu$BMp|ZEj0;2l)t( zEt@+U+bw@j3HZ|%&gU=Y4AaDNh>qCue!%cWbccnJZUJWpEXfjnXz^n z#j*eQ@HkM7#>PFr9Ka=#f122_?cUzEFh+LAMt_Uf{GMV#4*SGQ%yt~$<~J|e)@%0T zbomeGLgNeX)|uD6uiBWALloq;H#Qf-YVS1X+6Lf%AC%!oCjUbwCm8p1ZVV+O+R9Z^$NSnKj7UYwua@Nhle2 znA8%|%*B_*JzdF@PtEmmiqRsiCGX#`kmc`wK7F%|y`UrNE^Fjd_^oC7s9Jx}HBf&fHVf&M40i5iy+t=9W0FjJ%B2Wt_K>AL>qBAl zp-y`_bAfu_YDnhM8+=mOS+P_6RyRK+(_R0e1#4BEh!80fgknwMWoD}ak|aXApYaF0 zv%f)HkvY#ybOU|M`gAt>h0(>5%8!^4F8}`a&y~+!d7F9JhB~1(bA<{;-66ODf2Tlv z9Pii&t8U9aHtOGWE^@-PFSmXEo2pjLRIBC%{+VX)zieooV<33wwA>mS?b~jjSq&uG zh&DmANiGcIXaQ!+%97UbGO6tX1#NUA*6%TIWUy1sDzA_EE%3}+^aTBXK+kvZM?|PL zH^`iar^3)c8Xlm*=4C%0bw?Gkim0|V>9|%sfVHK?;)1ncYg;pu{xRXzo46rT^Cd_l z+K;hbO`3 z`P4UZT6Qk2;qFK)Fo zg|E!UX;#Oc>W@-21!iZ_VG^-}n5>1v83&pD(lby8`S}U+S}^~(L+tbDpA+mc9Fc6Q zF6G!*Uu?0aPdA3n4Nb_jL4`Mls`Yr=$hjLrjS;*zY5K<@=f!S*y1a|wSWQf})h~pp z^~ib2q;B8_u3jr+%K}^YRNMk4_a*iQ8^cS#t!ejfja^`QadszSq3`u&`KNA|r6*dN zU?q}Kn_C&b@g8wsENAe5n#>KMBlxRrvAHruK`**9ceZ_o&+H}>&1ChO)nwjD@f|(x zY4aH_p{Vw+OSUfD1yPPy19wxE=rThLe7v3*VtVDtQqJ11*8PLNN`!8UKFB?GCh^H< z_~pHKq|oDdZyEQC|Hk)Y%Ng;|dBGhM$MaZUIxz#9*5YAUdVAtr#RNG*HAYK+?B4#N z5gaXD<=(csw?DYIRqkzqd%Hz%@!T1_+4a)Z_Ptx%R>t?_3Car-sj{n_+ zOw`JFeVJ-RCO~7mm|0<~fpiSdK>L6p>_}&bOZfnxleST=fy$R z&6x4r-Fz;2BFl)qR?TjN*^MldGo1O81F4s;|E!Ho4S-~r3pv5oY2#u`nsF3`VOL*cg-?(Xh++zgdZ2n>+>=k+oUgGW9Hv9IPd#mdv;Sze8H!%4Ln51q$ zMD1?=oHH=ckATx1IA%HqZD#3g&X1dm^zn{EeoUg9fByzGeHew&(i7BkG*DIb=fBgB}(S99%L!s9{=bP60;G2$Lx=Q`;iCQ&>Ib)d&ReJQ| zPizHQFZ$#|Z0Kav4bjFZgBHa@6k0|NCi6mP->Po;lZwWdt0*JBP1DJ;1Zh?A<-a3s zLcFT6HCkHTN9>t1AwH?G)fC)o!{$_OtZ0;>htGeqMxVQ|RW}J#W%L@ZoEZ_nQApX? zRd?t~v8(z8%}v&3S8hDR?&Vk6J1}dQv$+lI9mec%z;b@Ifc=tB846mw=^mA4GsC{w zAXYcqN}E3*ZkVbJC#;Ptp8LSi^PT^PmFL@STTajB{#Pbng|qtgJvN>b;jE&R^ut+Y z`{Ar+lEnFTcA`Xr#kPw0Pc3yM!xoDsifdIZ;odQ>)sF`eOX+$KToKCTUawE1rAOIH z`K2Av`F{P}s5#S9Ofhb>ubxRG?DoI65$yK?M@eN2zwqlItaZ_Z)cSj8Ky z&cqmdvE}Lx3YpK}Qwb`ON2_))-`3ANm8bu+bN#$*9`ALJY_lv~>K@B@yv#jT^T?4J zxbX?Cf_OVw8MJlgSB2stR+lB$1jk%;hsoupMY|7EseN0pE zW!0+?QQuX(`u`PZ%j(Db{6;6_ntb?3OuJW7ywv zmHo9tM;^qIRId$zy)T&L_}7KpY9=XKy1qA5;QS0)7}2!|y7e(`Ha7H*4_L{5(5+wa z1*Ze@2uVnVgOj`pcD-P)yg;y_ucf!PCTdy+OC5>r^kN@lA7Ic@_V<57BArOn%1C0g*xJYVK7Lvu+{N^Ug1wfe!lq{d5%<+wT|r2jAy+s6Vw+2U`Z;_x5h5 zKaCn7EJg~-_CsLdf61!@ zW&R2GV*G9CRqLHu#%f(wk{<85Nqr*Z93uMGF`rxQ)1(MnVcvV+y%u4AcVR4=qRjso z^qK$tqNt~`U#xTaqmF0(w|j@f$u}WYpdDo|erC~zdL2jP(y}vo{Q>x#J(cr-mtd4& z{jlI&im#?V)65ecc+@FCk~P7>-!)kDtDBFG8G-$~(jcI`_;tZ&d^t!sPTy~7rubJ~ zKj`uv(4Q5g{L&J+pZt=usIgD?c&F<$lmdku5#{sgRPw(hbCe08|ztoO> z(ErXSCGZc_NtEC;D~|erUeX;4z|d-q>YTHl0^|7L)AXaMJM?uuagJ(KAffMmWmSfG zrHt_z%gHA*T6$Tw#A`ou2_A)3{myM&AE>LLzww9!`8z+ve^f~cAbjdjaYyiheYR4l zRwt=Ax@LoIMoZW6MaG;TfXw{@Q8IY;z2{}t4#$&vUr*JCBc`^E6QRkZ!=E}!Y7=tC zk>D+7D?DeOzD(r)z8h=#<-KfUZ|B+UIEThYb;T<^%td{kTw@ZUZ)}EL>`G|vKzK|e zBir17yMhKncFQlV;%eo?0-v_|D&r26js~#PkI%A{{AZIIZnwa5_tH!L)~9#RD?~X z-n6}c+j__mi8Yrrg%fu%B0wA8(%ifB`QQqD-urN(hRG9%^I{@ro*8?eum8ztbAuEY zq0R*6p97eCHHP%;h5fv>XP#X#_Vn}4EcHryDR>fBr=^odd^+95Cvo%ZR`U(1rZ}0* zI^Ii+Z}ov;evj@Zeq2+EpiH>cNXOppC}Phc$mqCQ4pGeHA#>70xby!=e~#r(68ks) zIV~@L=_06u{cLn77{pK4b1huxZ->=nYUQryA-!rc?ds}}=K%W5@t?DSU0W~@yV=oP z&Uk_?)CgxFKyx-jGHw%z#fIP9k*c9hhVoMcCoY304KSR|zflEi`rS(r<$q z9bVIJyzg`GV=?0;diU}Y1oduf!~kESP|XWprx;{bF+%C*E-j!~W^;Rq;}*VUR=~aH zZIsmHhEVqB7jPE)TYW!k3$G5nj*hb;^zvsHWb*Qoec9q(8tuyyyqNp3oSCItL7R_hvTcfarN zIl|aU;HE#vU{x-^N0{^G+bfunzq-oq3B;<-KP zY562bP1MXX&(m_1&Yl@v-&2Lc9GI%Fq~R#{88U5DdXK?R|~#@z?ukP1teQ@~aqQT5xa zGzpY$zZOeq-3Um&fv27niI)BZVd-w5eULPB8Nq%yfvZ(XE1fm<|I;LJscvIGhpBZC%Gt$&PU1 zXTT&RbtPVKXT__!Wsi&Z?^YSz*Bb}6ZK;vs;u<+)&%nWRjP@H7gCEYqqYb~%472@Y z4KXsLr_VsB^HVcDi9g(}$l{;bDmI0q&6K6erM!>ZSkWyzVw-V$hA7Z`LcDjxT+S9W z0k^9XIhTL?>5Q{ty}Ma|x|T|YAcrBB_R{7>Jm*|NL}x%*DDSYM`{Rimx&Cc2EsW(9 zQ6ySgVqy0)rvTToU`{saZb26M{4tl3vOg>X zSt4iax1Oeg-rewzTA+Oq`KKh!)|rUfKd{f-LC16Y(NbFJ&ymcxp`-f4YbS>C`HAN& z+IKxhZRVK+ z$+Q}9A(^K8E}J^-3{v~3gZlOpjwcC6h0FDEwDb2F?YQME=m&0zi7-U-b?lvMK91#1 zC((@HEA?u`VkR?C-fnX*GU}l~WSMvmtxe&>k43^FKWiiAXg26AV~l4#D#0}EyFK=Hluyvl`1op_9YV6>Drttej=WGhFJ%l5&gxivtM(B{MMF+TEZSvpK5ce6E+FL8b#+zWwvJfjHV zF8mjq>f~>sZ~o~l-(Ry6Qa|(34L%JImhY?4_uJ)rKF~J}?;zg?`tb7u_?_hYLLYuz z0KcnzhZl=FZX=rUR|;S0xAe69S2`H0I&r3ZvHX9w<<0ouxsO70^mzM|d$E3EcNRe{ zw)cwpA^ruEgXXh$*$lVKh=&T(bWQ3JQ50yZO;`Asr0zOI#eR~le}w8s#aW}eqNU4i zB^)POA&BNeTNkr*yJ9S8Y|WWITB%fEK@{(+^#2)6xBS zROi^X;O~p9XI95JU0-_IzgQ!25#F{DZK;UqRtdM_ZR0|8PnE4TUk2=A>p5p-w)kft z8j!joU$IqYsAq~bfTwD8F8}P67l`R`3y(jH)Xsn*=k#iOA!c7v;iTObU@_eEa5lN| zhqJ*ev50^XHcr;`B-e%?D!z=*^-HXgo!X~rYMN=TV&lxTgdInhb%pk2u%dElmcEP0 ztK*3a#6bN$P*D^uG^e~|1@3}sWMW@Z&AqQXc{$Y_r6)Gi??;``ly8>#S%uh#oM>&J%UU;laPyiVh2KfW8BLaQFwjW;56Q z-p9h%uapYZLNmf)@j4E;0#ROw$aA@}J$0L%8Ii{ce8L^vK*>mAKUgN7~zyNBWIZ={MTV~wV0r~UrQ_5x*&f62$`+(gJXb(-KhLbv&^k$&oaw4Lc{InEPo)}jK0ceKd8_?C_Z44}_wo0?FEgul z*!*{2?9@L4$)|etPtuX%`St?z&jG$7U;Q&vr1%3}V>VEg`ls-#`)8EHs$qQ4Klcj_ zAeK4&20E<9{yONN>-~Jcf7Us%*>F+NKbQOYe*df_-yA8VMyMtL7k+vFJous|!C?V1 z^pCAyUzwX-^Vi+yW8&~Tpj7hlk8_y35n$r-clr5wrjIbWfvz#Xb=7>ghW`1s`e${| zK>kVmS(W{%ANt}?Y6ufv|CTzf+flH@4z)fgljJvBznXeZTN6gL zDl%4>4`4&`PxA98tJQZvdb7$wdS@6t1v0*Ud|i)&n!agT*QOuYzToIW0l(EX63H`Y z`b?T$8-DEV-m?zZN#^9NEE+wUVI%J@6)K`oF@;Fu#fvc^v|ijrJgYxvK=WE?KNEH3 z(-a}8rJl6eWobGK-6ggI!FiJer#)@ParULJ^J29b(Fgk1Rm7L8fTC03qO5o}iBRv? z<<3Fn3%XXWdTnj0TuLnx4OIv89Os<>cGp3uo?757-k{UQ0$pgHJ-7s&Wsf;?IEgcD zG-M_YOVd#4q+d<$I@Ouj!4Pa6Pb0Kj{;93A=#wj$3^Hm@ry-MpBf6GJchl@$4RI%l zxTMg&l~cQ59MILa3jXX?cVc~MqD5d7C>i6f?h847`SF(QpQNAU`tis6I#dMQpPxjC7 zPF%c+&se%+HObxG>-iuTC!In!q`sRpGrkf~=3;3ihx(owv~~fJ7HY>i z|8s?8Sb9B$!>gAI_0hSt*`trF%^H1F-CSa5AYa*a_!6vR7QNKjj#6mBzp%9u2PMRU zZ~akjsZ020iw(dtQpY9D{a*!;!7ncj_m>Whps1+3O>+K0sF3UXeQ8j@uHv)&;c-)_tp} z6j`iIP+2Xqv~F0pwmR`zi`pWJn*aBA=6RB^xb%Jd=cBpv%zEa`nKNh3oH-*8J_*qv z>*pgV)$DlDJw42~J`ud>QG+}=_~*y&rbPygRm# zODta;dd)G|-@l7RX>4J)?r6YzWa{fh9J(o!<2uT;))+L?Z`~uTAwv{Bk%rhkE#gkHQS#EcW0m18Gd{X(Ew07L_>dS+iLA+>HYa!Sw6zTNDdmEXTaNDzHv;L$fu+D1-mAA*&*&R7_BT+U#>vabY zO$l@*bGE9O+1X7~kj8$ZAE>)n7s{#tr9_;V4GWyO>zEy;uTC`n$yrOP&ztrWean8z z-que-o~Qg}<5#CLgmzW!u=B8r(^a*m(0`td&k;f2^I{8!{BIrWi*DoOUKv!Cb; z`zf30Yvy`|8wWJm#$BBM+g%CyI=tT89_rpixn}7UbS(1ntVCJaU|n9&>hMS+gB%;nZJWV zFtgvNADR@xSLl8S>>~PT&;avagjc-*TbxEJnoSbdyBveSIijqJu+f+!iMNR3eQ6ZT!=^M7hn$3yD%9<1V`EhWk z%H#s`;b$7zam+jW~RJ7YWnv~s;reGn-=s(DuX>o|Yk*}GZT*bW% zI}RG_X+VD8Op{i3Wc~%(s7j4nfT?!PPh4*v$NV z9?;qTY$>M`J7BH1$?3>x(xqYs*RN52F*Ozz(APM>Mf)wI7M4d-QX~X$%r7PLmE@#9Fqa&hO3_c&( zPo@F*VvzsEGDv(GCZnP=QTlF!mma2Uv0-Z}(+6yM{{;o#7|A|uiEKoEzqpuG&Nx54 zK zdCQSb?5J$^XV_(kmj?QUUxiEZdU#%2(aFMIKKU_AarVMy+m^hlB4Cge8MvQj%><`sHC4;Lq@fD3Q3C{1)RcGg^es<%lYWmpz zYz(I>JIpV*5(XyBOvp?oQ`FFJqwbUUYMEb}PIq^}Ox5+`JlZ@H{kAikwkThLs z<<1fJ+TniP8Y46fbgPY7%YDim&#*R3>YN_ZoSYVLEYp5#xteAi>-)LLcHN*VO|0_o ztMVl;jzn#zn2s#Jls(S@V9tH`@6Zz{B$nSQ?s(6a|yCqtWOr?IYNYR*Y;dxB=#5jL#&46f7x=hd4Oc!OlM^j`4@A)Pote9rAKnWX% zl3@F2%AYYDZezAvuGgmws2fnl{x#okd0IP9$mG)&|0uO(zgj7ipdQ?IdxeRP{dSk- zk$VW{x`|Oap>}J!nmouBAmCr8BD8*&f0T)>{HxIRN$G;2uNi;9%pg|xHY3GoGSldo z(ZBoqAuLYt4>#rTT)(wiF*r^?jmYV|ci}rgX6o@&uB$m7FH>cwya~)Y0f(IM*`Xih zbUm)p)_@aK|1zk1;4Tq)I&$qNu%0^)@JmuY3*7In<+juA@$~GmqMcM%(I>W0fB+#Z zt9g&ThEft`e`oE(#vlH-iSuSV3EtbA%XiJ#!ZoYDw^b3{L>q~+1(tt5_fN}>H9&?v zD&@|=$bKk57AznepU{21Qn32@EiuN8*MAI@x3Ihf<8E&;vMyc3u!v9Wl|fXj2gBmy zhj#JGuTJh=C|zV9KngsW=*q> z*bcyBG-46Sz<>58E?RBRKYdo@kD&n(y4yEnE_XWcxW}+}wKl)ptl=-`eAq+OO)&gC z9i+ZVs=FJ@wt#I6FTp+}Vl3WW@dH0za2}cF)hgBqBORF~6@VGL96*bH%R6XfxW2Z% zw$d^OpntX|2f0X4p{+m#|+@Y-D+2I@N(b$&D?>v~nyV@I@qbC>~B=z5vT_g$i zFe1n*3HA^wcOThY3hvBvU7i^@UZ%a#0>Mnq(ZJu;!Yr(kFSG4Oq{}fjS{F;FHDOpH zS#^(M`K>OBSEPowADr0QuD0y?KWjzJ*T+&o&XGs)wn3s0A#)w*0Q-n6O zYO^H81LK6^nnM!Ls)M;TJ+N=H%?&n}V4R&>{8{5t;8{4*9o3{H}ZEfzfMt8ljF|;%f@5Vhc&%b*i z6t!Ya#(Tve!Y=uPOZFmD4`uIt>#gKUM}~hCio5srfn9(fMBaBL@)nb#F-er|tx#+R z8y)J6_P)hvwhupS;vv=s#`F7*lxvLujZ|q2^EGRWVrB_vo^J z5_#tMfP+UK=Ti+?frTn?9TQGHC{OM18j#@ohDVK9DJQURNJrj!2$lhh%yFM&K{pYH z5n+nHcYMTaha($7J2`G05gAcvo;v`0Q&D$b)6#FacpPvTFJH`}c)(xG2U*MBeuoL@ z6|o4u1uxPwy;P%#XI)*BrK=yo`?%*p8hhAepT`Mk11ravj|dgN>lp~uzaqCE-!c1v zorHN*vA^!%IHJHMp(xn)KIRODo6;eSHNHmGi{Mu7NFR%Rf zWLbyNWU^6r&ZWXNA6mjS;aMY1Vq!Nq-rdDn-G=c`QAnr3-c5e^7gpSE4Ht7248*Dg`^SGal( zCW0?pCd!?QiJ&gcodo|GB~ErOfxCnoO+5TwzgZJ=@j87P7?$Vsl9Wx^^fk?aPHNYW zW`U+3zRpmrd`0Djh=eYcs45ekN)V=FbuZCaCY978&H4jRtSR$3Qgb9(B+7~n=)GLu zuxEF8SwwJ8GvR}}ZDlKgKi>`4hFeq=^{g#B{w2n81LGsR53OKmz&WcN8Rotm;M4_#qM+Hs23_(Oqg+ z^1K-piM_dt|IdyXVvkfv3XG5QJmxFMlk`t9!Yh*kX}9H$!LXn0P#np9P9bWF7o~32 zu+-1xGa$oceXXj&J&FdWY3vSV<7rNXHPQnmAXd5JdH!<5z~#037_hew-l2pWcA>O3 z=y_NlI_UHy+q<@``9+bB|BSk2h49-Xsw>kSwVVhrZ3eR0X#gO*?-h)=_-6ihJ7JCatjqg4R_unjYSqoUWA|`i^;7 zSAz6(TfR+~!Y%tu(lo_7_20z*|*(6Lm*VIpZENKFg*y`kn(R+pfS<@Yt!d`CiPq- z3l#U_XzGW43fXJaLMSq+NLH2Ol$fbjH87r7_O|`5C?8A1WL+LlPKfh>Ryn_uNt!@b zm_VkURQ#Vnj@-ZftLAuSo#uoYbr*^i^vw1K{wZoiU*?)Z4degVGw*nbE-s&=Vz7qO z$!M%$P6KuN9McrMbj7s2>0fSc^EA2a!Q7uke9i=-_%(fzoe~v1?~!`4f!O6U?LLY(m&H@;pZ;cm z9uu@ybGfDn>%*q%3yo;qy+^5)?X*yxnpY=HCB>XrA{d2=IW{MD5UjpQsA8IxH_w&} zqhJbh3b=S4Rn?a5W_@Joi0(;5k-4YwL5E?SchU$k<%;0KN^%xib~!nb3HhN+p$G1Osbin{(RIcg*x~V z-zrQtCf8w8fOK8Zex=TeIX0Lg1EpiJdOaGyEhsUB5~jp)%LBb|XhiZz^$u;B2rK>g zI#~1XL7iRQg?64eKG;vzoRDz~IP~5QMAOl+{^~v{{?B)rto8q7@qFq|$fmXp;(}nv z8R4&8RZ|FeaR7HbRX?7tglk8i@h@0^(3zwQ@&J}AUqKcLPq)Zy2Gv$;J7N8rhdr&U z?jdd0#E}q}tZqMB(8zRdQ~4tRpvrfsueD|$^8ELFKny8C(|%wZwLVm#2h(7)uX6Fz zo&0Z43gV$s{xOE?D_^yIiG-xFdcjgoDv^FQR`;~N)Pcm}$&wsuVzrBVYJe}z#Om(k z*XG=5FCkmrxTi$$O9&!8Rv<#wJ+8v3=pdpz2_|P-uela<5OK9-#mZd0*Ye1|3P87o z{JQ5OYj27hZU5vf=Wn}ybQZKhz*>K%(EKh+erq{kc>Y(R zRJG5W;jXQXEO@}6on*nLtGDOeZO5mLez>Hz?7F9r;$n3(fD8u0^EKiD#eA{ymfc)# zuFlvmgSEVP+7>!-3dlt!i0Nn&$-~$eVE#(Td3Cj6_#8^clU-1zSY~*O`akH*9VQN? zE>o#xYt&wN`=y-dDn+NPGBMMOMnWm+$gzsOwKX%1%2$#uo~!NO>4a_+5~D&+(Y1riaEV=i$gtgp3>HI z^;+G08T7Pjb#KY@Mc86t`mkc!=%5=xH8O{=vkv#jL`@c}+cJs=>R&)b>Bz`;vGm)6 z7(af!UPsVjZhSs2KX!I+)OWbowLI{5q%f4v>qfzTxGc0$`Od`#bLaL5}Pv$iPEtWq6&>#KkmBXm-q<8t^2w!S1(I_rSTBs34v!`!#XR(RutOK@FEwkMS^6 zV@M=YtQHK%j!$q-Ks9}tl>H~W4hYkw@z5k0lvC_@Y|%TYwmY1 zFj=+GXmuaW(;fOKw1zsXp|wWg65?kxEK+e96+DS0b!=Fpmrymb?)|NP_jnHdZ>aV& zWX-FT|ERMEwD|j;a@wxUa7DL$MblN$umF(%uA=&13m@_HO`=XNmA#t)xT|hD?k6aRDC@ar54@D-^x^N1`9`?dehh7($8z&5&tTEsU|WKX|Im4Dwz@R zZ8!WCBkI}Nkf;avh*2ZRQ2li#*V^9_YhN?)!Ca(13wFrAnn zV@;>o1dp{Zs-QbJyX`#|4pVuVEBPAs30glAa$m&x;8IB{Kj!o;j)vFzuVdFf zygQ$7JI_oN@%B}nXOd(ldoa}=^ROn+hMK)o1^*^kTJQ;fCj}3-;B_n;vCQmhVrtaA z?=5_3QwT3k6`cMuzC;GZ`J4L*^^~Fa(7IW0EHVCuV~e++z8NfR(gTV}nT5NIl}kZ$ z4o((-(Nd>Pr)T~WoS$uian6qZjO@A`f2<7(ZSub3eiY2$wm3ZI*}^f;6X7ure%FCv zi`nlSMHkPbf>7U_ik`)nX_!Y62sO+j2)oL50jVd-<^lrac^}QB3a;cMHDI45oN}!# z{iNnds_aM<3~594fd+9WKHZ{%R>!FMfO&z&Q;7&F>S7_zlKq3)a6>5`hYC zz=HV`G17bx!^3OR&u(Jd=>K#C$M;=fP}2jm9QZ#R9tf>nrz!N_B! zR4N9N%||!4B$T^u+DRGd=O0d2!uf|L;S~6^=`WDqKuxT!FUc4X8apao9h=dWZ!O8F zW4vCzx|7@Z6PN%#8k+qk=J}ucEG647!%^T?A8BEyWf(Pt*(pkM;vc+BZuA$3C5$sq zS{LaKKNdjd6n)1<8ih3*oNjKnJ3&G^GI1UZ>JUiCP5iChJL<+ovm;s2!Z8x4AJ&dSYewxggxCIcUW!jc7r$C!A>5vsiJb*U)*h}_gw`m z-Cb~epa@a}{Z20r%indhY~sS|AidD@&uza3v`KgIXO7wt1${Fpdw5VT4?(#U{Z>$2 zvHN(QLDDOP#MeJ21jo&xB`|ipjPnJFPahP5(Ml{fp`d1vWYv6s z{xV*qHZCB6{CIkfmP^(i6X4j(yWR1u?56*R?)X`dj?CB7PquLVc%6Yd~MbdQ5*PXM<=WoZw%xUw!hDks#z1rt<`;(Pcyk@F|sfiEm*M5YxSB} zv01+H2I1$vD?Dxa-N312a1(da)R2d=F^G2vgbd;} z)z<#2FTGjhr<|m?g&lA&bG3H%Awn+u9sRf4Ea$#t2zmEcL`a$IMi7y4;||pZ=R5t| z`tg$vE*L-b1{FndWB_a%&MFZz)sFV6Q7nuHNl}m24VIq)53LC3YYICCbsHTnStTS? z>E!EgaQd9;ZtQPP3e>Kqhx9JhrZ)hmd}#c^a^<^)mWk7%38-%6gQBX$)-^Mgaa&Qb zs`hw%#q{}<)W7A^7wbo_A5U984}8ay6S?(LT~sBDQ%ro|QF?LJSk)8SqcjiCPemRB zo2Aq8>27t*&yP*n3ln?Z8Tu+e80Tpp zY6oCRjCdE z;whguQTF%~qNzg^Avh3F;90%av)_HWfH%Qa(B3db5f+qD%`2^rTdYWGV*ce@3U2Sx zIPL2*&O4(0wc`_IpXktO>V>xW&m!y|Zr16Q?~oCp8x5$cDNdu7??UC<&*r<2wYJCS zd7#@i7y^aZsNTziLblVTquz%DzMT6{!Fx2h_-4*syRIz@LZLNs#~;UI~r?@ z@V(KKpYg-At5&R{EYqjaLe!GpADvO^XjO7tJb6@6%bB3tZRn0v#@K&jrJOKGkf)#3 zeT9k)(Dyedlus&NcVmS!MQ6LnFg)b1!?-b9cRZN!M-SP3-4zn2$Sa~lzgs6Y1l`+$ z`?`kybeB>5DOK{O^BR%Q#fI^Jt_I`zEDPbtKxBn4z z9)tr;pKn2-?{n=UTU@GlH^Dwzm>MvOX4bz~k&2v1pduCh_wUZm9oDb0qI7L}?3c@F zF;;gQ%>)H&4$1@y2ai&Gr|(6%&4Xi&C7J$P_{`&T@GN+@?5}&F>M#I5<0wtg?-?TB z_+L|d?SE!8S99y~mZDng%?9$6zH)sON($qWuY{!(-tNj(srQwU1_9n`kbS3XC2eCQ%!;YOo^j6Gd)s+#BS zC|p-0;4Zsf-=6gv_=iy$=i8dTeu3fnM$LlyQAHKZJ+DKkweLZp$!xBWaKlW_vK7TYy1gvx@v1Y7-8VF5eAqB zT8*ck35Iq-k;b$VXf&99|LEsW^&oc|WOfj*z~c|=1`SWwRu`uRob`x!*0m8j zUR?kaO_x3T0wg=@n4P&-tZqa^{YVd(qbzu5n$;oP2F7NL18D&P`TOg!87GLb!642H zhnG|0n&aciXKbu9?pQ7m?n2BB#~EO0>j1R{nnfPEjnnTfsx(W@c&u_;wxcxqNO{b{ zMA>FKBaPoSu8J`~4zv3y<)Wv#l+L(SJDp~xI1~xkk7-BxEPP(Qw?n*pEXX-q*<96& zrF`NUt05L-%a=mydpFKs*;5=XXAk_U#n9tmoy1O zKCz%*nFL&+5|)$hs3gXx?Yl@4zQv+jEoZ*JXRdGZr4_)oW0z9XO{w^#)QF{Zl1PtD** zRBiYf1b-BM%0v9DzCXmz;SaRM&nI7a{EQcVHdA~T_}OEL#}D_f0{r-lE%-@y^!QQq z|KIo#8K|3XG_rcw#o^)(@84%#%*%4w8v2Q*3i=X*rtMaH?VE*mU*>l~NdsKSt0tFC zjk-C->YV3`?%uz*nbEbM@Bvox7$S)u#r(Q=&!*Kd|BlOcU#f295*E|a+zUe=n6Dzm7`>bz4;M-(xMc~VP34y-8 z?HXsJF3)R+sL0gL5t^@>`#n)*heh;WvIZp z!$%zWF%f;0quxiXKb#2Dd0k6HB{nXp0gv6Qv)?V%hmS~ZjyHb2SG@7P-7=ZV)E*;} zyc^z7neLM!$L5i-CpwD_UYZdjd_LPn$>}~nB~4qbE!^Se{!JtIbKTNCB{m1^-=|VB zt(YE?PdqgoU6tozwPj=P2}x-c&Q$mREH@|E0N9Emej)Z(CFb!e-7u0$e(sK4=;^7d zg_M*kVl|G`>=sA-oL2Pzn3Q(nd9HGA)S2(|1Vo@C@%k?jcc{Nil)a_1r<$l&q}wI? zZ0ALEFE}Si&8g=jb%#ITdP4i()M8th-m3Xq>Bbr?rMA>eN=2i0gI~Df4^q*E1ZS+8 z1S5^^MdcC)Zf(r&-hWkwt;j0mfv!ldryU?JfC3Q$ugT;5C!tdbP|B$Rv2J}H^aQ8v z5^~zH)G8Wo16!M*yQn8_J-(lR!8c$QLI1~^+Ru9%koIr1u6ncWl1qTf; zd&1WPJlw0FfKWSP$>A6OVe-X&Ce0g}yMDydO~ni5t)IHv`y>0WLB!-~s1eCOkNE6w zBY6gq%xrb8eyn_{F4KT!H%R@3iux;ydRzC|_w-)RAy)%qGe=XJxI>AHr@Ac*^&=xn{~W8kzy#mV zcdI!PKMbdnV{r1h!HwAn^65zYZqJNSmXs1wPEEI;J1m95<(`JYv733nVK=lb6&%;@ zYnm2`)EYHrAsn2ieT({F9G0Fgy<9xG&84qn0bp%qw?9f8o{tTz?>yqy$zPmhW!MNk zo~ZQEymTe%*7@?@U=#)eUN%?8o|qjdeU@dQi)16Q+>GKXRIDzSu6v8=CJf(A-tD8h zswyPluuHd{@eN#o8A}HtGDIq zEsrnbF{U#4Hr=R5Hc9_6nVvJDMg+QGGD=PS19=D-_$@%$GuuqUSX<>_oh@T9KMAu250hP<`Ri}R?O>{HxFL*$onmFu97 zclbd6uD@a{d9JEkcs$YprH^NTp8vHyA2Ch0&{*Do74}E%uMzawy|V`nD_vdFdE|^ue*H1}9GuvktA%Jm_K=XR z4fD1Q!%`XHXk==xC~8=0p1y{a{<-F@?9;Za|9c@zZI2JWY=%Kj;7n5Tmc6j;PhS3_ z+1 zB?;wgynAZA3w2AUSbOu5rezFFtNpC7Mg`CmoP$>>PU2Cz^_pK`?)>dAH|gxkbT_cJ zCs^B%x#rlxbvc=lsZ0Yil;2vNY-_^pfuo7)4w;dq>u%U>WOA9lI*o+$-#Ze=>%SS9 zT%Em>Kbh<;{@p!{Uw!X7t9Pvj0DgRL1*-vnFHS|r-zn9BKmQV^eMN-E($v6d44}pv zn+iE4PB#!u?72x>uxfgxqCIAFdJ-+*@1%~#YN3ygB3%2Brgyrkl8AiV?*sggaW-}f zIP=rkRVK>Z9omQ6gR)>u=uJn?T#N>}4mQ`&w z6S1hb_zjA`b-Vc19IYWNqbJ-Y;i-WaI$0eWKSy|a2jNLB+S3C@ktUnu?p{&0KHH)H zD$$SjKbT}O{?^zfYOI*X0+Kif+7PG-IcRDF^(B`FP#>iNpFzKLa>61yc`}`Bg$nsA zAA#g7qovkSYYl1qCVBr`spu=5p8!xzFOAj)KD2*bCDVt-sa;(E-p$SILl6FaJ9Gjz zMuQSJbPRfZXSZwtVp~F1*L3aj_d?-y z&66hY?(-ZG`$7$F2@x6h=NMN?Zf@;Y81nR~g*|{_LOg{4w4vIzD77Ldt!LwF%ifvW zR{Xs8Ll!dDmGK%>4MF+owf;hTK9f3uDuGTB3cae~I?dfiyQUHe$O#5zJRTm6cq@q%oj7SP9qQwmjb*_roMw6}#^3$wQ?u_`zo z1pk~5e%HN;iu6gk3Y^Sil755PvY8Q=fQjlN{e{cKSI`li;BiKq@@~wb?Cz<8-JawO zK~~3c-ZSE&?#<*f(tY>|DDh8!_oSnfcqtrplas1#!K56XI#oJwYCzeCY@JV^Fg zs>o!)Gy0*|#ktYN1Ovb{<4@w#MVal?uy!^!dmxCn0t%K9=8m@?h33XgB?DB2TZf;W zE0mXLHzRXLez>CktlCotiEs9fKL!datY>GoLU=tDppj%(^Km@+w1IeEJo%a33CF8X zb}rDzZt_)e!(1d$ZaBDqJ}|EOo5w*F1`amAj|tGg`Epw{tS2*Y?SO};hy@P|^aCEs zbE8iX^cZJaA{EB_@dysTLdpQr+}8IDDT|XHDdiyLF~a^$tMNvS@dRDQVMIL5Xh@8> z81o3Pe|o~EnMl|c@l=;^5pUEY?&nW=yO#M=tT`NdCX;>co}~FTF0pt5B$iX%$1UF^ zQm)XVW@a*MazA}bQSiCI^uM~B$yZIwDB`-m86=_!(q5^q-SX*}GPN9ymLC(J#){ z1)$zGV#nPI&+PGTU<`4XzB=+1K~kN%=Ewv5wN`&Xz`Ya9#hy*~!~QM4gW^|(@w$s6_n@8J zS&wUrY(j{wHr~0B@EeADRj$ABtf`-VIK4u*G%5_*U9b1N{U(!160a@m_={G)zNdTfJpk8#azm@K5nY+6I=M?R?ULc65M`J!AhjS{r?@5TS`>mdG+V_iHtOb8PO^s zd|>Jc-2)9@ov;tCzj>QXuD?BzM{4Q`vF@~9oiLAp-=NzL^a%|#$H66-yc*-WQ%VTO zlTRpC4Fdd}w*@3-pd5=~goeb@gtHq`IVQcsSwFx_^UH~{skhVl8jM}&bavmM?@y|@ zyO@WvMZSBPnBg<+k3X(?XBXwyfE6p`$>9a zz|z#M>W+?Al|BF5By)p=Ug$77btmJBUB&X6E)uDG{@DnK0gaa{TUBk@#0(h0zY%gE z3WdGlR-@hFe-~a}(`74az#^Z>OltmI`Zw)8dx+udcCi^J8j)(ULg1`ptEvyh72=+{ zq=uJTL&p7^b91s?8Fz~!KmOr}vRXYoD$e--HZw-l)xMA>xg_Oj^1DR~E>Z=S=HDP# zw57=nqRG=dO>Q7KrvVs@E&Y^ZBzN;0#)KKss_j|eL!^Ea3!I@e&jP0tY>w3N*Xry= zK=SFPx5RsYoYtNo;(qclo`8xuWoF3A{i7<}LuhL-$;7Um2VfeeLiWF#eoAKEZ;+`w zT5sNeo$Sf8%GNKp^jb^*M@4AAd2omXI#}<>{ow7FPA!vW$#xkweHI?`1vs_MPx>kTsM z4HvJ|1wr|L;qvq}7)8qyFx^5&MA)C?g>H!49B+_28f|L4J#v75|7*QRM+I_i7 z@7QihcaA#_09dzFR1Gk;Di^v(J&`~1elSDaU83qqzEsm9VmWW+eNApmF{}U99TCNj zK&pw59XDHrw$qOVzl9r=xR<>D`cg7(L|C$6#7P31I#O#|$;f|hy(=_T$o zrWU35*+P1&{q#1K0)FPNrrx7J;m-=SLtNE2gHqu^`OSM_Kc5QfsdD{19A|`ZxVb@6 ziCc>cc|e#Ff&l-R($fADB)UV@{)xWwi+(}ne*WJR&VTpFh;V)D+q%Bt)H+<>N;FvI zwPiOa!}U$xH=^#0ziJ#!<|@}vvU*9_#hF6jdf4_fTH3oquq$mHGydJ=NwK_j-Et@X zQutxblKi!y8e&9I{(p0{!~LjTzu)zplS#wFQh~OYyD_(qVW2nYkTntBhs|?Cnk7?9 z5O@^{dMCyZM2Nq{X5Iw31Uv>eH)q#tn(i(K4H=}Rz25)>;N@IlmiH;05Q4G$|8SWW zOh?~er%WsMRzxlstgm^UGhiz z&uxIP|DJvf|A;pbi20>9;_wu}`A&`-cBd#nYzuA9A^84~-c&+65jU;d4-T0=u4_E` ztPgf!-2Kr&2n4L{N*bNGPO#MzS1* z+K!p;9hh#V|-lF5;l*Po(Zule~J9x#V@z_;sKZ%{w$k(Bp!DiVUofw1XW2n!{QXFJ( zvNMD8$=!q(SOI=dC&3C9Hjw&9{+DE!oXQe5slyl1Z421|7ms(I zNugvRf)CyzJvv@Gv8tMRfQ#4U1)L#uor=(K%6JT1t1!0m!jqIg6EB88ODWlLO z;Cea%Hn=}RglXx6`n}X4zB@t4o?Kh@Nh0LWdY@r_n@>7<&2CbcX_2hSzUl08Rm>R-Nsa;2JTklG!uCpfvbzS;hb0ieW1l*ySjwEgVJB#f+semycV zfaUcq-+>nlY+L))Y##EVal}9^JGQ<|4%bE?%M;r3acq|#>~Bn=v)ytSZEtSAhXQBM#26wNbBiN^J&vd-pR3ji0}W>Af5N)e0rBTLD>L5q`OJJ z#a|{vfo{ef@CV!f_fr3k{>DY#%O^YcFK&DUM!RF@9>L!`J?PcaxqVtXm$}T6qG9K} z{y|XF_nz)*pZwdyx9i`gAU)rm=F<;tEiU>-VgK%%8}@I|f4;MSlST$( zC;cOKOB@8b_Akn8e&HR^bE^mW2l$-H;cMi60h)q`{o2_FR!Bo3Vjs z#X`ALJ+Zy~9C0Wt=^938mq=oD3rY3*$xA&Q>il-SnN+zBQowC5GLm*mR3r6Qx~tldgHnLvVT%NKysp~Apb&wtsRt&*^N^8Zk} zwNdSSJN2*qlMPY{gLDsm$xXif7U4YLKe3sA1DC=0u_GJ;`@s(*V@Du9-Ujj8W_*de z?R=yB(_d%Cg9Yxt1_DLCn{u({=Y@U}6uT?+d0Fr&{nHpCK+mf;2D93&mcXJ3FyE_(EBTyFy^qj`c@{4+v5`^OUJg%z|-%y^?zW{ z|8L+3CGL*%tOwV=7Ir=_fDjJO`p-jHZqfxU{nzJZ!Kd|~2=zbJ(tmZRP5*uRm4~$S zKS&Sz@6)%ml%GwyyTrrv{)(3V-(vm$_wKrWYvUy+ov~Ja7weiZ+$PHyPcs;95I(o5TSSyg!qAK095|ix^=R^nZBaFdm_zs&T zwxxj!3yJ+K$)3J<1}^MhyamcY{%)N&@zm)sLLMSW%~oYzym&wwE3qg)g$Ax^nL>{N zP4=5AR1!S!VWKqlSY}C_Xwn+Lx0ve9d6sjBT@eoaayT`A8SE zC(%T--3Vy@^?D|d(mGM4`x7#oAOo8X)q5#@(}8SY7_Gq8$i|w(36}s;(!URXiOuYa zP!_z{0ggzMuJWy@wqVBb2wS>aUQc*W_Wt*w&#}HX?sbo5{%yd7Rr9*oztcd>) z7#mb$7!@guH3a*tx4$lYBl@-KK)?I!^SeCtf4`%<1!=JQN`nN~{F}rB%qk)tY*5O1 z|MVWypJB%5GRW(US%Wadxn)Cj$?WJT3Nd{91#dJBCRiC?q+i z`Sx}+1xY~ort`r|l$PAcp=t&zi3|B^j$EX;z;6gQYU<(n68k^6k)AyET+o`p!$JlA zU8I@JkfIAb{14tQ*uGK-x_9g%i%%&a#g#n4pEYmT8fDB2I&*`XLj8~S?`sbKkE^ zKfM7XdPybe=nW!k#8eYg3SlC~kNJWN4}E_Zd;xhjkJpaoL51;TJfGcvPoqC#S7?sp zWNWE9&t1x)zh)8V`-8}^Q?FVhj6WU{&h0j$bDnG5D9p;kV3IN79i4I}_%dQM- zu=15bdBBfiw`6^y6rBus9xO;CMNFaA8Pe$CMeps{!-QE;S`Y4}6&1?M{wi#0m%rBj z8A1DnCN88-lIWM$zgh2}I8^_Em0X~xe$M73NAF(#o-$O6dG;!4Pb2Q1DVj~lx2XFq z;Gv)R^)8!jiS+bwUi%jQQl(yw71tlHp`B1(e|^zpnWkR{$s!7*BS(LPP}dExZ2sKU zPe+5>zam4qfpPDGL$$?SceIEqe(<84Jmjp)pj0K4hYqq|o=ybVDt9;PBu$}sVsakv z$Lb!1Sb{UN#OEDiGkDL80aA`sTt*?2rNNwBu0I&*cbz;oo@jg<>Vi?$*K07-(Wi9= ztQR5U<&tia@wn-3k-x^eG5;b94UT7rHBZ^$bL5)c(^gpBdr!_TBg@-qDAcJLUcjX3g z82&Wf7=Qv;W@n!$JIz|gScc?mPdC)s<-$Fm*d5keyHlXd+Y}6HTGF6uFf}|lp8BIy z?uoKass?xByIJ``m8qGEADJ9V(PtH`Ej#(3QDli`GG_TQ>)Gpx9g&(^5?>VFk%{j% z%P!3<3h&8`5Z7Ig25-b?Z^!$uizk1h^!k~y@_bN_rO#YW2wnbJdGSN&r_4J6tD-VB zOGhIk(_NTqKUZ)>x*M$JW}T*pzT(rqXgN_SxRyf;u5aL4XdaB_Sfok;It0M>7mh`CSG};bBk0qFyl$p(Bz1?&TbtQ?eNgofv<+?G1dU3K2RT>3j)0PdgU4 zX@;E>ym@gD!Tgv)R7Qw|zGN$}F)-NQj!Pj1Ie+4B&)}L;s0Z{eJlT$ zf1vTGSiFCr8$vm0+K2fBQw3jLt9z|exjw&0gTUh+5bCt&l_=@IuBea@hIuwuIo@Mp zbLulG4`(i0`op6Z6gAioK2x-g-{$3|pTsIZiH}=r*Y%acdAnQ0;I45;JgAP~M1<%T z_c0lk&D_{@P${NjYfyR13AA^6C~_o)UC18PSP!m3@Z&%Le? zO0U<_dc(SwdRqeVz1NCO2hwt zD#q0tm>+yksQRVHW*R2|>pCP)VO337?&k;J`zR`@ zF>m^EE3L6OR2t7`zp3?9518F(6=n0?Q+CMgKkcC&1et)2gf_Xb%*Rg0le)VP+Zs*R zyrwa`lFC|^U)$fsW}<@)<@?d8)Lg0y@3+{JXYOfJC+EdeJpa8m-fw-XY}DvVlV9Vd zFI69==`~){Yl2zied>m<6<%4q7zU1?2a91DJmgx#LN{0IaWeIwVv}?A#p1``=EkJ` zCO$8}KA*Dq{|F(32#!p6l z#!#u6g`dS)5<3R@1)a&s>T9r(jl}5IX+#k&R1u_A9qv(tErTzzPU)>hNR0l0C`xq8 zjXp=nK=>^I_}iwZzie)L2Mz>9-7^8cXD2Q*YPaKh?$*Bs^k7`BsRQ{v4S4wrfgl|J zLR)mQ-K~w|X~SJd3j((U=^-3DF3}u?}yAi&6P#PNdwY^F6`F zH7UzADN96T0|k!e@lZ0gnUo|(OB4laL7TbEl{pVZkez&yyzPsS82!)BY#w*Xjcy}k zt-nsd6^M&?c}Aj&`^RhHKrd~Xs;x}BO(-0BQ=!QpVPcW2M{;WVK=*$pv_)+SdAP{ zR+mf7obS<-Z_y81`OYfuu&Qci-}nKrW?k6Dozqu;NBYCxkv{u7(y#cA^pn0L{ow7= zB_F=Z671!}4&gp`+K2N%F}~_HUxcqZT_QEBcO<|)6VK)g=j`#OJ+Dk&PMlB3d`8*t zf}(Z&j%3?AxOv)Ua>tWjNJuL|NPD|QHnaUpt9*9cSE4E8v-C6OXwdj?8~H7XVpi#i zXX653>ZO&bn;Hn{*6f)h64y=6sUE@41oYq)shcXv1AhT_T<)iSUB##N4Cq=1;g^n! zbGHK_KWF-%Q~b|~{9wkG#pU!CR&@SgAGM|Whcs2s{#H%(rM8Ur*l>4DhE_=oetGaB z+|1>;n~;jK+;@M;qV^!lt`o2c(9UE6soYy?MI7+O6I;t;vz7}w~`GUnX}MlRBpNbG>&n>H*Ca+LlF@DDOYlz z9+?^rPco8jCI9tHEPXy!KZ`AN;8sW#`Q66T+tkHV7qCG+Wr82U=D~}E9@eih$R+WV zANr=O;lEM3#Gma^nd-7815RrGsqbrlR2g))vUE-L5Y;|c-PC>VcNwph=oj4D9KYq5 zuM}i+%Ml`k&S)H4s!83ZNikxD0Lf|Mv6$v1g@jxa7AdSvV!$j!`CgRa%4VUA(2Cs$ z8w1vFi&(I}C{-q)O^@!d9Tk6!%{-5WLLN+=#mSz56JW) z)#OCkbwAR+W?%OtXXEw;-24YglOZO0BsRno#u7$Ktq_3qN<(cr-q%<@p-|N&tH#D7 z6ZWKU>9z8PBhfZ--N2mc4lInt*%JNbJ{EeH0WY3s4tQd9w_3rg2WIzl1Go64m-+_} zRNmzJ#xM45{GeCv>g2}6yKnbfk8*e%Yw)#w&dhDx<{em~5gzxPbi$kZzKMg7NrOl~ zmGpSJ+w{#HkKht*Kfds<*f@!Hqung2{j|?s-rTpuuV6NRU9bO$l<@z+FYm{j96eul zM6#oYeg@Tqqou)el^cT5k+y*O(=_GV*JnRI$3X+Z_>^QjG)JDTK@6~mC`#>#it38y zRZ07fEnEd*t;{f>bZ92|5E6pDfWH+vkvIfy{QzIhlOz{h%7?Zv^}0hUQTqf6kFdf! zls?Lr)(=OLDtj=&=E$LnUtv#V&~Gq;GA1}7(Tt9#=gI|29q65=fV;RvW;^GcBicbc zBDd@MCyl+7I1xE5b%VRNe2dza=CJs=N6+*4EB{u?#Q!y14XVUGje~F_%Zw+>GmyI@08Rx$dAVs-LT@liL#TGCEz#o&Nk2YYf&p9a}aR|DM7$amLS3v5mXL+MgO zo;DU%y_-hB6TL(_)&;pQCkS=^p6P)z9ejwNCJ>hxbCHZ_L}a8k9i5n<3-NR?R84JnmQw zuj$W5y$`(hK4R06+egW)83KmB?>ZW{>*>e>C7=2b$$|X=5NChu&wpbx9|e-uHcrR6 zQno)DkYy{Q)SVh|xavD(z}7SP!7V^?zz?i}0nLiw5@oW_e-tX6-avkoVP&<{H}To* zNDRakrGN4CN#%w*6N(Q296vwD2xN7H_uqO5$k{W#_LqHg`C|Y3Um;W8#u= z2LQg6|E}|!%JjuWi@b1F50P3Yr+wH!O{s!M&oZZUH=a)d3+zp2^2?&F`M~yoJ0Lfm zty$zP81{0fJ(8OP_o5e#tT)P~^%a?DycUysm0HF&5?*uSqh7R7T-zhf@Y&S=TMM;} z`)6b)6SYY0M5cBM6E$RleGI^HJo52UykBEH_V~x~+yU-txX11ubR;XzTX@=N4Ut;W z0I?!HeBZ&1TlwGh8kTNfGAv!bFCL^G>Vc!B#;uVGh_eD`%dwkYX3p5~9e+0W%nwi9f?Yd zC?8Li9ZG&EZh(HU*JY_uiL)p{FEl;OAiE%H=>>c6lPJ4=3{zdov;|g6wwIg9;dl7S zEnj>i{ki*@c%0GfAFzsG05ITZ^;KO|QToaChsVdU)Vv;>ejL}IAnKJQk)ugJitgj1 z*Yn-XY{ZN=CM7-twStvc<#au;`a4a=VReG||4gBEWWBHP`fj%R%P&|0CMKKcAQ*U^lT4P|uZrZl?1A#8JCANv&dMWCRr9hSmocuEoV-tTljRzR zYmDfO0wl@ORk4|$M{Lqm$$P~F5-uj;q*RwxELM1J=6&)=V~#s@l{H^whh)AnO_+_Y z`)6X1(PJniUVt4v-puZ%N|3XUBGc`c)s{W3)hJds3Q0>8Gv9{bmj<)DrBoyCBb$yO zMWG14kBHrvM-*~mtZrWdwPkb9u(eZmOPp`^apye1 zy!SJu6=7lmFm$vTJmB@PDrf9RixJfF!MYpxr*fN~^1Q$kOpBq3U{y|0$Y^)lLq3yY z+A@p_nv-|x3m>Nfr7YzxFje-!SR-23x|4!=41{w7fsn9buSW}4yS8=l2n5jp5| zh=_kS4FYE0nC%CTs|4)F_7vFdUvot`5e9pe%?+@i@_=2aOzFCx6~xEA3Xe*X7y0we zYoBX+8~G0=b1g9ykZ#@2X&~+y-UOR{QCf8qer*i%9BYGVV*7VINlpJH#Zev&Bmr`$ zh>t^uUT`{J*gq@%+SYUuRK7(AVCf@U)2+4NoJMQEy_?DA`Lf`yNDpq-4An>b7xY>Kxn}-leg} z|JKHu2;MWZj}L})h{yjF6ZdAEnuKI9zs?L zc?q7T^EHK2efnGhj&YV&-ECy*p78=Bc|b?vnxma9C3$X1W<+vGUegcBpGii4vOnXu zA~KO5!D5pp8%bZ7oBX)+wb=A|#3k1z-)ee`fUQ58IBzrXl`5F(Q>LHh=NQXF2x)yU zeeIg_STaYkqc`I)Y?<<=!;TYaty|G(v~L*Kxktizwy)(Hb`WjaH ze$87=mF#jDAolL=gZJ4eUE%`y%8eo9&f<@~pZl>}L$VIz8(kwI>=XFQ?%6%XFUlHs zh-H1v?Qg#yyI%TDN2YFN%hdy5-RjFICVAJd|C^rorZ`P<+Z}2JTYvrj>X#I3kxwaG z?CvE-(m}DYr=$NR1FpA5wq+~7wDwrTo7e_Ih#J%kTMgMax%S z({PaP`w&1~s2pg!u!A(#8oVpU{$xLp^UB~rk9*a!U2Hzs&Q2~t48>M9N2esw@#_07 zb|EFZE=`x&Q}Ohe?mu}~SUf8lPYx|vG1QnneZZin73Xb39{=AOvc~tVy_;cwVv&kAOCGE)}&YL(_;S}q_g{m z|G1?`TKeLa^0R~V;Qqi;%DbZv=g(=rrEA}#rS5>@%a6GPdR^6o$$GQ<7k&(y4sID6 z_0#uH`mu1NYRhgvS#;ELfBBr>`1R>Z>ywu!%vjXUM>aubl1h8FuG`U;t0>#w-}pAM;XA>=Fm_y5XK$0Qb*1J&C@Qz6 z5N{5atOw(T| zYVHs&AtGb#PiX*oFMp#FNBEmGJiuL^h}KrnUyTd*r%P`$`^BEQQN_(zH8tXjY0`3C zON=}APTQbjBu(i&*O~Uj1G4wo2>J2BxnDRwxX!uvM9Hx;<}heToBpGYk5sfnTz-&a zvnE*5X#-KhSIbpb-`cVZln)1X(f0`8D>=`s0y6kvY>-WAD*DBbSY`^g>TjQR0EUF} zFFv$y*H7}Zerx-^-0w|Z2e`2_)d%m3>dlZ__|(Hkh4c$v9j!NULYkGdG=0qTcsz|H z=^lr#1t;eF8UiL!vn#y=1f(OK9^m%y(bV7^_W%$G<0AxdH@9~`W{BNBhlFq7L6qwY zSa64S6o>^C{Pb^VTC0|mk?s_6{TR|#`9}1cR%$AmPita0veBI*VSp{rmlsJG_?o{; zI5B)I&lY}G(!D8y<=YQJ|L|=d(Obr2kr22{jCT5Kox6id(J#-n-i?lhwASe&NGn5! zue0<)K7HSo^bf{Di)cv@6j4m}ZmiplJLhxvqYKr}w`8RUQCj?Q+wE5W+6~lyfUx(l zbdCeLzytQAAK;X`I+FOjV-1TJq#kb; zcP+NT=dWxF?Vz`I9;MYpzPtNCL)2S(=vv5j`9W9n-S9&#Y0Kb%Rk{BNH`LqH9YT`3 zpK)@Hl((U-x)3bv1s?(JW7dZ(YS{%~K`rIEvzLZ~Lv%+j@B4o^l6BDk(N^VG7liz& z*Uca>(p61lI6DwwzD=UL=T`FsE9YE&%_W?b`-k$?lO$lhB44ti)&%|#B`ez9&H6Um zIk{&2JDjf_5j*v@Y1{G-;+}#2#7=w_S}aWVF7o^xecX2UGcqpD)x_ zjxM;qK(Mu{JyX#lt7^lLpsLLF^~gtsOBQ)KkPB$#$oDI6Xw#4cfq1`_Y70*~-V!=p zAoyl>vbO8ar|lDO5dx!CM`O97^P{E{FtY0!U%yQlt-_^o9F#E-CkW6b=`Wk>D~kL( zRl`(#d`4F~?7ByRubC}Nj1Y};hpV!v7hUSONG8x2P;_iTgK=UYL+VOLww>qs$I@T0 zK8c`(sMZ|HvQ>?3`#Fud-|sj|fInx!>2P2y65C^XM}NgYapj95k+ne6-{$`|j;nSU zOyP#|mjgkn;KadFqE=5<>1$xWwYSX$sq3a*25n0nidwgvjA$;N*o(2{8b$I2&JAdA zpy3~-x%*f=f+5s5S3ba5iEt*mAf}BAI1nM@DtcAoe)wR( z6N<=V@NI*R4V3;HQhgpC2{JcLEsc-c6u*2^`H&dZRWmblKb7VQ%6cny3>j-ozYtoQ+csnXDlwVsX!&u%H? zEBMCZlz9WE`O^P$gcs`1;-!&kxpd_wA&?F9m3*-3Jtu_@*H-AW6l3M7Yue+f2nPIh zyPEN-DftztpeU*Df?6C^6HzIfMM zE$Ku6N$MVmqg;^z$|``;@RoxM{LcSs1tzx5@{c5sgOFBvU2{#3)HU5wQ+mfsKdbJN zyaqdilZ%@WC7ZMRSbxWt)88L6IaOn^t-+b+yaSrlQtg#1Qwi;yD^e+a8GL$Z{*BVl zYWC$szNUL>z=P*7DawA$-`ubDGU9KRBcZjtjL1paHN`y0s_uFFf_Ul2u^S&iJT(a3 zI{^rqn6Wk+j6TNTRjjtG{RwTiwkvLigYiZtm;e>9?%?92T*?otLtvVr1V-S;M!K4X z$@REJdr6u$^5gZ=EW26XdCBqr{i>D0&^)9Y1^}+}G*O`jqj_2OEa^x8r+49f)uKQz z|GGh(t%=z^ay+QpBjpDVatH{dxalO>1VD&+Zh|~=Gqib4JQo}Y9isn9m$%3kspunL zkAkV2@n*pT7Do7zLvm01NOecXQ%5x>rm}VVNcHB|pH~#a`rh>i>2i4)>&UqU@q(dH z@b=8Uz>}*cZMYAg;@oX^>m>B^FGbM+28yw_hM!F|`m$%DFGJpKup!-0eMY>rYxODq zd0)895OZOZD7#j|cFiHnYaNniZl-_360Ig&r=9al_8#78J6CE~dL7Knbzir5sKwUH zY#!VEdUOp2RFAH+nIo+rZx_<}+Dd=E_84o1bz<6w^J%-ju1GLvTq%b!JFFmn#VKTy zu<UgLA_kx1M>B$W?_{8k-Rquoj8bQTV!@%3Yb6(y&$#*AwG8 zEf0DtryKHTtWKOtS3Tj$Lbrmt8aeE;w2Ny2SP{g{vqg!V|i z+;n}WBfoh6ZGX(*K32D1RQAjG)7m@N6Uf|CRys0jD>T=*xy?@!E`yfv@w7S4u5%6E|2SJ-TSl(Zn)y2I#dfiwVe?S&~ z23dJ;iWpDT%QleJB~~Yq&rIwn6A$iEhAP~E+cJyi36QzerhxwL{4_ksi-lf_m5%0SC#Mtj? z$g3B{pQb4NEG5xeh6?FqgML^-5p<@_QyA(Q@78x$CWU6f&fR{LK|kBeEmnLwvg+ip zd&R19x3*P|^A?K%O{VJqZIxEqrOvGu4&E_M)yp=?OI_o%4Zp_1+bOCN&Q~%F)A?0}a ztT*rl@>x$x74uXAKYQ5(oTz$lt^JZtGo%BfYRA9sT_1f`VWNwfxBn*iA&1XkN|Eh7FpcaXBZby%WBF0{kivyr%b zV)^4Ji;t;Hw=9bD%6V479Jng?s@mVTdX$6p|pkfsuQTsjH| zfbD{|QEwH&9rf?w-!tz9UcCJQPEq^k{ZLuC)q1e$Wx~CN(}$fj`hhlZDTrdW20<6a zd|Zc?_VV52dHMQp?_*l+7vFhtcFTc0v!lN86X&X3c=}cy-CQwvkDSNmYkMBz{{gx1 z_kFTr_qrXGgLAs568og2_h$P?Q zHFIo!GcP(epJ4e_irc2svb_v?FLIW(*?-45gSR^VW!uk%!4}voW}(MY3ML$r!f;$n ztL_^PW2ERd>)qQ|vz^}Kby>jl4*w}(*G3ZJc{klp32pqj4^zU9vdkv|_nC*iQI?4# zko-<&nC=J1_=o15L}@&7j&{ea$2y{_^~3>A}Q80`fAI8<61r+ zko{_OcjV)DOLhvw`wi}fzwrg5)|O{auvct+*SV_AjN6*3!KEbh`|YQv(B!{b!jJ8p6pn~P+Ye`W21L({!-!u676ufrx0je z75I{KGzdn%o$le@=l+B=DaeX)%Z^~if_%?tU7%}31IdPc-S-GeZfZ&`J7`IL(2E`4 zKY%T-jY2HicuL9S1!WWvHW6S-MHU72%D~tX@p5!u$y%)s=IoO~GTra~oGP$w>Y^z& z`^)`{UW?0l_W|RIzQEivXg?Wi5%$J}@imX))Yt-|WWT*nDV~j~ZnI{kUMBO#BtbPa ziBPfWnxR<~9O9e1`+wJway1ziB-tKHODUb7s$sgeCIoB&wx4r8Ek|7++vn_Sq-Xwl3gM2FAJCK)AJ&uZ?ZW?aM}oxoO?0#Fb*iyhr@w`f znj%hgRdh855);n?%QRComlQovR7k_D0FPy`=ByMHbSf5JS*ZKaE?!yaIqR3His>KQ z!;aR{!_0~C=5|woG(fwPd{GtCTf!$Nbr&dIFmTa1HKm=HO zLIO9g=DH1`*yDDVJA-p!^(%-m?xSu_n3B12fjJ`Klann64hCt`3=D zF^QNP?=$oBhC1#iLwOo{u;O$ExtaeD(VdPY9o?y~eh>z}?0$WC1fxOI$V2DT$Tc?^ zok(I_6Rja-7b9)Rx6Z z2H-BJ`MJFsae!PPVDwKnwfQv4Ts*fo6kTF~Yzax2jx4H5`z0w)!rR z)*;E#A9rYE=uble7wQxg+bRn6F$~jebVoO-8jI&j?h7CZjmv!^!mpkb0h7+7syz$2|2|IATkX3!2oiJqAvWM?}^5iDj9tK z8~K*1F#J_9XHO#yH857I$ZOnq*bkUo5g!%^NlV>P!T4(&jE%N_Y&iO=@@ZS5shds< zMf<*FOx+e+X;W=ex5{|${_x(KvEFf_%6Q+ydEYQL+IwT$s>DyBGRpMx92Cw2MPEb5;sC zO-oHC(TVlmfttJ{J}Mj7o}-AaPPEl)LNb-&SZgYa*~;+>SH?teTJDU+jb&dCp%eb5 zzf*6*U3lo0Z{DY5P|uCEBhxOF!*+4H>JpqNh`l0^WBE^+0>n$<)jbmrX1C9~7J0&( zCfe0}F*8|_`8&id%`?mPV%6RX zAiTjXS-n)gwW(uUvxJUz3W?VuA?p|;1qDLe-P3dWsoIxc@`}d<62rUSXJyk3h5asP z{l`wpR~(lun7%R@6EW!7AE^~;;x(lUFQ%&ac$bMs(S@AB>j~dO((bp_`zxeG|9NQ_ z*qqR<3v9OZGW{F)1=#cfwfi^;Zp>u8+t7`U@N8CpO1@lT`q#(FbO?8L(T5Y+*K_(1 zO{V{QmzF1gt;!;M=#gv&PGmVfVn&KP^awu=^=KVEB561N8>Gm9%rUTyg}r{w^E?sBp> zIobPBy{=_37((^hP_cVQbOTqkA6Xp_<#301sAOFz`c=4ORXCpOua1}J(C6ylT5Wb^ z3Fxpt{I-+5HB_=K6rXeeBLd_Y$_+<1g-SM5mu%$L_mDrljUM`c?R8D_)5>q}96ijbA2`)@y*+@i~SO;&pfO5*nsQ{--M zCb1{tGF7Cjj7<(y&HHeM0&vEbVnvM^}bg+~a{067`1vD|Ukgf=Wl25$3!d32qp1NwtxPs<~3Z#i2|oM9RG1nIJn(E_i<7~ zk$>g*=ibMY26w6^+eW|%qcl$p$FDsQ+Wl6j8cNI=^!;NvNq9jfY~>ikXEbB?jaZH9l)C;EYQ*Jo=p1VYT zC(*rb%`^75m|x?&6OJa`b9mA3kxFF5$l2mfp#=IaHc599kE%r9bv$Pb@9uY+4{%%u z3qAXLdhgFWOCZE!O#lgZLS$c?jtyOo%BDq%)|meluudSGxd=D9Ds>D!!wFVB(+~Db zr@&cIgP^6r4i`tEgShHS@$$78&DO!mb;Z@uPeLu97KYm3sSgVcPwmk%=*j@*p_Nrl zAJ)B8HLoqjVs$xLEB;QmvKp?eihd({gv8bj-A11kftHCT9LH(0!U%_IM8o!d9VL)G z4)&i)B5F?VVVYxlELzF*Xbv1*c1C(OY+uN0xeVNOMa8<(o`X3=f(k?V<>C>?9Yx@g z_C=9d=4$~{DEGQzEpto5jQxl(E5hF-0ZPCU}6hMxTa1Z#|yW{K#I$+Y&6TC?lFhtpG2HP_XI zV>OeZhytDetNT8(zNR|*j}XifYDp0bJ5g1#)%v$VF8-#;X0E~r%RWrS?yoDDv@6ga zDxw>!uiB8@$J$3bPN?OI1@tQFLWT9bjjZ&-P&*pA8VyikY8W9Z1i90?f^}P)yA_Uu z@GEi6Xf-^@HzTPSt&2r$8$$%vU_$U!N8hX}*;vu?0j=-P30?J)u^+AR&-)uC$iSSq zt$|HFJ@RKV9*S8>PW0jMH?fd!GkzNKFZ*zC?V#%D2RwZZcGV{l{ttZ+{tA@0)IAPI z3hPd_Sw4lv4$e}ASLwX7ft$S2Uz1nz+^P3O)nP>FdZ+Y`SOLZnDsSee(}B@2;W~Qj z%~GEIU-Q!39-45XZ!r~xqOC^4#x5#Hr3#lE2q{w1+cruPm!_Rx%Eg1F;oz2A`r7de z2lx6HXq$#nAxcrn7KQDMZsDW!EShC|VE#RtX<`FQIjC7*P#tt{IXo0x*KoAypZ1cf zqi(8~DYy^Q`p`AVj^kl<(Mwgy>lG~@G9cgNRA2QWl%tuh=@e7pbv09%e?Rj#9mOkx z$(&b3x2)LxPerG0RQsXei~hNv>7nFBj-h&;n;0(H5Q=UH?cN$fsSgca9*)g&s%Y4cgkytF3eryq_oUkZ%wuTGQTZ*ec= zgC>Ht<~Ql){7wG7?to=x>uArTYmqJ6luIT$R3HB8buLS#N66`Hxt&j-;+XtnSoPy%O?sznV z@iU1J<)8lzpE#U3l{Sh)krjkkDhP4QwtxO6K7^x_S!Y~^+A;~Xh1d$L8c|#Jqqh83 zpW|1eq`Vnw`35EB!vNZrzSRY#oN!NsiNDX=$LaprTu}t9)h9|L&|e6@44I`P(mNB2jQVyp92*C z<}}=YPjB7dhApY=HD2`l2EU;5EP%?YKWSB7cY0xcOdsZp?cXdZY$oz7junTSzLe?5 z^Uub6PtfDtU(9b-@?*XE*Cs@X#Tc93Tu<*~`EThbve&oFXTFbH>%?Uz*7@`mgs->?5m#mIS`|VQj+Mnp;_&$|^d&lc0Y9M<<`WZvB>lV4s8NAXJY zS;@Dw^24lviPG&3B4hnlgQVE-Rs0QZn$ZKh6&9ueY^O!b{z_W(jmZ1Q5w>nF1wygD z>)5Dmwt;HpZobpKlI0W^nw-yP|Ds_5RPe)gYV>d3E)#h-S~K%QKRqlOS*q{s`|R=E zyi?zsSs;o^Qav$8clWh_-J!3)Ghb8vY5oK3jF`Q9kEj^BrD|dC5#;3fi9h~#vPk=h zeDJQrq*wBef6>5FRuhHO*D?n!Eu=GQ-`x*$CEQD(xa1B*SZ58(^2Zu-d;Ed0GwvQ7 zfs(>hkZ>=1{t$aF1|){Ym7Q!rSP7$ns8{R~)`Y4Wz6lLqSoz#`!#a%ugvAFxbYcd6J<)Rxi4-ScSXKfT{Vdr2OC z%7tDV1lPv4E@q%OYQl2C{hKkaDClgo^5p{E7(usckQ=!-zwL7RxlJMsf>C08VL48Y z#APc-dG_~d)SEsR^IW4ZT=hVF8u$KH`wez#S{tX5tbdLs)2u>0MHfyc(QQCO)WD(* z&(XyRbg|sq+;lIGc*CFMq-U4(-!Lsb_UfDZL-;+m`owA^1b*D?VuXnjJnhw`hp++# z)G~v&x9=?m4@^if(egH8@RYL^)T{1EJFrV+_VlwUI@PgIaaA)*_fcwke{F~2q^ZDx|p^kBikJ-LfGW8Gm-{JGm zmubXT?VyRTZFvruOuT;aZiy3D)$1@IUfG>IRS^Ki7aZ4-dAnles`*Egn}6t(br+1i&QpP~Rm zs4Ox|&EAl)&RG1NbF~z|FXczT?)dc5$n(85U(WU!gGD0MS6^gE?ZsJ0pUy)1f4LkJ z=m0=zJ52h=o;C#pM;!pxQa7bg1rZ4{gCirq&h=;`5Y6jL6_K(R57%tnU-Ic$uHp_w zsVzVBh-P+0^&0d&9^LoumO7;!dX0!x`r^0R=mTamw>`e!m+km3=U~gE5DR>&i^O)hR7*oVOw z*w!4(yO>I5&j29Kny$Xxj>2V6L{_XErAmX`@;9&6$jLz~ zxV|As!V5}hc|TXZQLa9|NZFtAg__&l-?MLR@G=aVuJt8nFq~k+h_!X@iFmbO9)|yC z&1SaPh2YJQTmEn{>QAKmrP=XerSS%OfKO3hQ9}JYK+K7I zuY>Wth7lH%ci?Gbdl2onz183`#ZRQ{>)wL;NcXb`JZ{WiLAr;>B|KU@=6ZMpH3h-d zw_MW+kD~=qznytN)Hf&2>0P#8z^QxII5nF;Q!S?PNBqY8A1Fcii(Vnr{nP+)pF1@T z#6VCt$(LFH-o)OV-unzmm~cnm0?ytyIJ5ZSKD;!3a9YYcg+V@9QmQqtm`9$p+KJ~M z#fv?6hQX;1jwP!S=HkZrWI+#a1C@AcU8A?wyw7=4B}?>27OFnRK zNA{NvnjHVMbO~;%{|S{;sgmHA^)=2irnsyuZ8lIlDW`(plk~OyLvVe)ce_2zRW|^I zL&t2~EyprC@w}@t39D^FRVHDvO&FF*_=8Q@r?V_(t#yx0$jjttvI!dwCx`L+ueAv+ znS?8C!sD5Q@iyT%=>$){k&6C1ixCfW!6kP5pQ7I$e~e%$R3udJTj>1`)UVb^GFY@P zmPpVU_N*nx@&~)evZ1eDI_7L@SfR-(|%)X#)|xL4+Yf8LisB(!AnZ|M%QJMoK)`t9)b2*hN;k$#Y=mdSC(8q^2)ZsKbLuh$ziV7pm`~JZC{#& z^c4ST&Gp^=vE#|5-^2Jdt6lZQWGUt^LYj=LmEjHWq2K5Er7BJWwY7bvstUcDf=!s5NjSnLEZ&i>BiklCkV)8ajDch8d*nEbR?Pgf%_h!2o$;>E3bA2Lrs23f6nIZU?pX<+8*%gon+reZN|JkP(FhRxBU>v~B~#T!|(y0q8J zhY~ICl6q1#tI5|sQuYy3m`?p_vP$KlK$vr2}`3+jmIUnoHdj5w? z6|AD)NBpFThojh>7aGqIYP$_nQ9ZSHkj7vYaK2 z-ao5&;pf6qqsjO`x#7WN;>FIhwps1I88G6vo7UY=AP(@k<0*sBo%%_Cdf9#&zJ%eT zno>a@%RkM$qVMS(j&>b`Yj3%hv14H|yCAFXGg;FLjlS>1(3NNVK%hovC+jP9r|(8>*iJ z%f!j|&u!KVd+HoG!b{6u11Gm8m3Fe%3CjTIK`OI^kU!0d$}15cUx88P&Kv%1VC2gw z>k)dH#2F5rHZeGWp|T?kc0!9WTb+MO^qm+=II}|%YI?jvGNct+3&QW z4Qx#V&Pva525&M2*ttJkL;xl%2*|hO0tQa_gM2RL)V}vcY#*fEw`R~TjsyMf+~2lJ z_d|N8z2~7gn?S{;j7p~q%1@O`r6O&I*O!Nu{NzVJnKu2WQ+^x{X4em$bEEJ2A5H&Z zeeskzH}TD%$TJtR48^H{fZE08nav3# z*h!JHMzrPZTXma>$jQuUM;y!LI#YOaAL4%`X6NmX&}J;@_vSfB@GSU-C~Tr z{>pWOw{R?CSh`cfDnk3_qRFWv%}+QsIxTYpDWbX&{u@!;d%;mD*vcZJYj8kvI~d6$ zMM>IcwVMp-_mQ_t2BLcPTkgaWw84$j zPm=SZ$mbn%`%4?{eEXd2<*6P+cVTeShRl}aH%x_$8;_R$o;A(wgyh^(9uq>X&xi=I zLxFqFw2pE@cr8eN((Xw&a>(?2=xp@W=pIKha4Y+|286e{K>%n+u-?!`a#x|xa}1f+!K`*Dbp`(0t65Fpl7S|I46Qz&_j;n;xS{^EPy7jj(ysJg`_W{!8q z#}jrqq1h5o@%kew8lN}D*E(OQb(9Is0_gTQ;FEG%9{`~4YUTq=XVCYypLmGJ9j0T) zye``Q#oPOb&@lr1X5=Db59y6QkL$UaSXND#h<$|CuB)Iy8*7f5_1E_@NAB2O*+F`>@GK7>R&wUQYZLT z!w*C~0o=l{4Gk;h)9eBCy7JNk>h@XbZZp22;EuZGP2HXNsL5_(l z8|GulSXd5qF=g~(YaPK}QKNlosPj8k{#De}eJtT&#@B~Uce49O!;?q=_AkI&a~(H0 zHcw8tKO=pKSjr)3(IBKi$Q8-oVQFJnCse>*)JEEzvQt z_!qpwS7{c~wWPWVZh5gvcdT64R5Y1ih2=Lps*GPvQ@3!u_xGyf(X6ZkZQ2)8&(^;m z9*pX8cTppN^8HA8uNu7}Qa0%83E5e=t?o*VbKhUkS)9e}wi~2t3rpcJFyOapVDK;U zfWTYPY9hG2q~RsbTGh}E_-R%=2b@`{-0HY)$-=oSgpL)zh(zP#^nPx2Y-CP)eP7M_ z=q6c&D;jS-h7HzG#9Wn)Q$+I5%m-CNKdg>jTF54U-6dgE@tKtiuP!kd3z)_e!f492;g<16UQ_qp=1i)cNMp?4{{##OmzTp{40<#Ok5!0yc+s zzsL32{AyFN#l^C2%4pJ$>^eg0iN(Fo4+UTHN4D`cWmL5Hq$!orA?Ih%ltC>(0>;7k z#HS~@3Vke6mb-_6sykwA?B;;a-ONbgzhFSWptUmK1HDzSdkX@5LA2+keQ=PGySMW|2`;-%{(?IEdcaIJ0Ia$}QGcB&>WDCb(X$Kt#FdC^8jD_Ph<#J4}3CA9@ zLcpL^n@d}(aq#f~u8yXRerT}!CTp7t|KfpTm|gsl520Uq+M5cI4>N`82UUB^2Qsy@ zn2O~xjWro$yJvrJpsk6!w025%)#HI-={)6~zuVR%$?MU6^hg}o?KL%lRprBQ1>rIj zfh3VSE>@Y1?c`C_Qx|Z5N5Sf7H#{*5s-qYA!qM^qZrdmZ4iL){K(-K{QiMA06En>p zAp%@&vOHv9P7QJIqoQ5qA4d**3*EeS^x?EsBLU7S4U3>VdHHr2XmsDD<|URR~L$uz4ev)a*CEOXPEAs zz=?rCb@V#ZdNl$Lr_JjMs$){lWTvtu=!ja?G@raJJrrVz8HyulWN~k zYej+5_^q+uLNEjRQpKu@VN^ENRJNr$HeT@wCYid9p$d_t~l#R}`raIlDZEI3V zTvKhM5oJ7zYizfy%<3qnEraMxXvj)0RDn?Ii(k50b9X zGnKH2R+~~&5m=R0{#(w&oP(^rqKJ9*>Y~Y#X77?SjQCur645Wia^-)=z?23QC!uh3 zPdJ*Yj=pCmKMG%8G*$cSlQmaPHR3MLSTgmE90z|@b5bMn2??4#8%@Q4s%dUqEcfg& z@sVeTA~OrK>TXOQSJLbp3^Nx_lLWM&JW$k3Nz@PbCmSp=m~_)=P-uH-GZ~6#KWHSl zJS3-S*1#RKaD$d_c#5P%&2p97e>mez7V~gCH? z@?>Q=I(j0M5&*QUbM7Dbd7%=)_7nXXDU6$R`QNpVe91;5D`bw{dDNon&io3?u0r_M+UNS$bVDG zFgIdK|Np?-3hIoMJ^NWZ-gdAp%}{uFbN&~+aU8(nEp@YyHk$qKbX_3rAyZcxY32V5 z(#q3FOO=AK^7@k_Wyh;B?r#ygDE^LngsqWRAj_buT>Nm3VK6O;-lbEP(PA^p#WG@q zNZCI=r80k$i(QGKD|i2Jvl&v&Z?Ee(3+{oJR0m(0?UOouGLl5KqR_6hI+MGItwb4N zrb>`l1t__0m;8g%Iqp`DcwYXqPq1bi^qrOOX1PCvGD+Gd(-kW>?&oFa+lYr2_ajJ@ zqa^Y>->S!W-mlLfn+ZUA7}@w1itg70jcCO~e=G94I(7?;WH6nl{?wfmiv57;_#O8w zx`VHVC^WfxifA#~Zl~!qz|Bus#ROKf)-G}3Q>v^RD)@jR0 ztLicVbUDQx!F2>_eby6ALpLOnC4gaeaduFTdDxSFkX6Z~6!3sSaUC1dnuU}zjBw2& zS-;9B;!;5c3Q%^X7b+dlA2I27n++b*Pvgj*a^m)k`t!&~{L5a$4)3Yk8Su~#qUP>W zJHK(jBKfG%HPWMBV@6-r;tr$VWBWm)A4C9m7=2W(Zyo)bj-%h4%#41GM*oQ$Govq= znHl{WGx~KW1Hu0~^5-$~_~Le0&!oCs-JAgGLJ>BcXI$$oj+*ZHQv7tWF3*H74qB?5 z^_kd@Pig%MD(~a7>jzjD8_w-U>Be|d?4B%#^UjD)9{-i7k=>XJVizCjV=0Hpj79pI zP&ZlSFdv+#CC9xW+R!ZLeB8nBi85`X6!q2ZA764;{!q5AbhG1ei(byfw}eX{Z^*V{ z1eqaQf{A+ek8dN}NuM4TUn`I5c5M||WB{kq#sI@8D& zcb$1`c2{SzqCY>&OJ#JA`;>nDi?0U7qoYMX7K%61MT^%^^qhEVY3+B4}Cm2tjQwu{2*;3xk1qbVsH%`a2=;iwBp zw118PMlWuu0p(q{m|xpNz7H_p_qa!z#I?$|&?IfP{o6m2J*Qp#VUGLaDKk4R`8%`Y z`Cn&qr8Oef-9q++*(K@9;9ZGZX{p<90u?Zsuzho=!5bWqC;7zoZ?W$;oZ{JkOYPli zmj}4s270)ukO>E^^1M>_AH>JRXj{rA$jO%wL4I|52SoPs|DgOm?d7*$d`S6OUi*dI zG*_HeXEsDi)!7l8Z<_usW>zv(V4`2G9*=Nh;4goiXqvSIMrG|hQGvN5n^(4gAbetH|P1xu9qFZNv`pNWh2WCsAsRHF=K!2{z5(i z$g5+bE^w=k?(ohJhJ$8>>YulnSul~}B-!eij!+NKZK5_n6Y4{@Jv)t?(#nZ;$873C z*?H(I(}7(Wl`pgrzTMDzAOZp9QpTp*$Qs?4a-1cjE6Qtcx%Fs*e6cbAo+4+g-^w}c z9?p-K?-%MyTG%@5u3AeIh}Kz!-nFcd=CGlcur1IRRLZ!80yNXV>=X3Q+Dmb)?EV%r z<%~RBr&D9xwQN{+@*uEwag^8!V+;~pkeaCoZA_er;z*UcmXbiorCb+Hz=CF4$gZuV z{=dFS{S9ZcN~#~~Ufa3;aE$und3RB)tD3{n^9!}>RBVodT%XAm?~8}X#q2Q={)spm zkc&B=u+9yYumfmDSTNSun_j?Vl5K)4U@aobt99js;V|@>bNIw0V=d_ZMKcYH=0>42 zvWjikyk)PgA_+6T43ko~UqFrG{Nq10dooJ8Tu}$3%vh~3Q%4Fy<5lu8skn*rw7C{t z;lBsRZv0avP0x#E8~W42QQ^MmU{QRUy#I#E?-jS#y0=XEF?>vT9vWq{JR5YNSnvBa?8KJIUyu!0E0RU3mn!Io1a^pGtw|ZxW-#r$ci# zs#^vCBwSWf&P8Bh-iN5~gQ(ZN0Kt|pTn7motYfRZxu}phL3n0|$9p^|(*nGf-nsKH z;%oA+hxn0M{`v-W$>T4FopyE>fPGa*f`7x={jr0GZJOXWSb`^v(8p}f^}FOW_FCe( z{h3Px346|YN2R~TUlsE)@qV{T=OTJYoz)TnxF?HRuv_3ZB-+C9DYw7+ROMN8{p>)3|n3mK&=^NWO>;o5oMw(OuEb+aAr=Bdj*3?ne-*9zFkzn#Mm4 zH623&@jW>_(uthh9>yP?*|436k{ek!94wm6o45blE}sjVaF>5k0 z1fm;BNMcAtkZueU@<%$6oJ;&ol}rHm5EfwL*NM%o#PMn99*&O+q}KD-mwL%W5xfgD zM9NMSeA=Pnemu6iLs9l-33H_D<$K~95aoK+*r-A#NB|l&B2xBG2~ceIpR-YH4&#g; zVGrU|Aj?MuB4w|88D7a`pc@xaozCD)!0P{$m*Fv!0Tf)O{*z(6PsBSYQg)}8<2I86 zfNH!p9NMTz=eo|zb@idSB4uN}kE6{;PLo!!R9B~NCXT=-!U0D4l>^Hz;uA3 z9w>TwIdU^qki%5r_!o~lb4s-0%qcn%)4i=(&)C1W2{jzX8a2Z8r>h-B?qwi%Zi`XEd?BAJp>XyYTlp$uxgwnl<4g3*EtEI;v}G+=PxSOcr;TB`klR*v{X? z-?5B{IuQFFpkS$Xq6Z8Mu9t+5%`R|)`xPK{EAVsWSpz=btKdTZ!iAFZBjf{9fbVEw zR(&ozp@g(!B5>DT)1~Gk*HSB`TQm#64YSK}Q>*9P60$n^y5Z=Hwg~HfH~eFf4Q6oy zf{AR;Mq7+t3Oi4LjZZU~0`5sB6MI~vN7!7KQt1TPIN!_AJ(B^euBy4ztl^=*)MhIQ zKAh^cbDmelO{xM$U+ZO9VKS%0$41J2sLu%k%Em5r+~GEl(>mHPm4ERBSoP8~rzECuzNVpj+giOj(Q#mMf@4-D z(F+RM|1wSB_&TB7J;JMk3}QGjX*uiHd@qOz)P*B-q-^^eLO?M^Mwt0;K&DuM;Zu;n zucV$NV20;m_X6>q;r-T8*6JoF9SDMBqd<$Vlzor>MS$67v)A0hnL zUEl;SH~9PfAC~w(`H_&r6m_1J^PIs=f#l15^_9p!FVpf&CLj~pUf@d+bO!qOGW<53 zp+*!#2Erbto$X%IDRlW`x|0r;U+#6II-)g^d={*Cz-Q;jF7XTM41QtP0S1_2_ih7> z@GCs>{~`Dl-iyI6fExS;jQ)4@LO-p9wyN9O)-!|xql#swzh zx8V23UZyKEnL6Ru@iJ7TGjxI9Wnu7ZHVyWFa?t$X_Nw|n;aC3k>#TFxB4!~&#B)A< zgpt$sp^S5m!m`E8POp;gB`M+Nag?5!>Nid4V<&ZsNx+t=&+aGB9N>PRCl26Wa|6ciW zch8d)JwxTk9$MZ}dF*%_|7`l-k|}?lSAK-MMCHGt>+a!)makFyQu=SpFU*wB@yeIF zGgba6m48*44(|U%l`p3Mw*0tE`Q`Ll{V#S$sC=!;-*IU9$tqt+|84pHneubJ@`dgm zINd!%<;NaUzR`*joSyOT{*yt$)HS^k`)+8Pe6 z%@{Q@wf*x^)3v^t+OFcM>~lH{m{JE81{tn#=}ttmqC^vXo$zG2)g=i-{j_Ft488@UMu^=-_r zxrym-K>mbHxtNt*yx(8hStTP|c^FPng)!TizokS^jC01;J@sClreehdIS!<{TT~$0 zcNJ^nVz8g4-qRU&h=OuXVR(l;Wole>?A-gKpI}wWaO;q^*+)}xqXX+?-=fnf% zrboK<2eyWR=hl6ku!#?!$xjmMMkC07?7a!ut+{hRC>R~|yboRqwwD{LoO6}aj6-zY zQWmCJ?(Y9$ho`I2wdWHWg5D_mV)?hPpO8(&*Zk@JCHWL(e`yfjFqsQ~Orm=YuE(_C zBOtN6{~YXXOS`U|RLdV*sVdDMjZ4f4l6sWDno>x8ow@?Pikfm7m$}FDR@W~POGx#Y z^L`uKe2RK~_j0cN*uZ7w8wfpey=5`znMDAKvBzhz+a9D0{KZYsA3cauYI9u~Y_S!) znplgxomgv=n29T^Emu9M(uB-w=PJoOAaqKN(HxuUo%e!Hlq}ApELf;}hd}}s5rN~g zi<-~Q_BhKJEM%YF|L^s04=d9=y-02j3k3(8;Z{GJ)lc~M&nsfpCh=*%qB7`3S=2g~ z;yRRouojGLMUB4n5JLevf-&&+6)So-Fy}WeJw}A&pJ(D0o0AumKCE+T!-BY`hXFSC)jfABYO@%WiMDT%dp#SG2krjI8~P-OVua2tF*Y@x7-hGC(G8eY zlNo)EZRt}vDFu2!aad@O8Cf~)`zvUzk=7!62h@l4b+QP7@td<($#uOVdk@t2vM(GT zOr>||vM^(_VA0-6%*fkB!i@^Wrc%mB_8wK=H&V9bRY{LLhJe@*=9|oUgB@;Vq53TM z9yUD>>Xru&Gew-;0QVo_IGSM)*VM5S(7VXJvU3ryUfUfzF6?(f9cXvY{Laju@6Sw6 zdqqYC;G28-Bj!{13RXNO+`wUG{<8)4JWA>SLHN~H)}0-YomFA2u>Xw1o!|stgO6TER!;r?3d>C9FNRl33Qk-*s}#5P33otU zXUag`j=Y=W?eDT_GjF5XMMr=wf#1O+V!?|fS&jnxxa_v^*#YY77Y%S|Fkq6fBWIve>b`@fd+U5hr-8f5E%@9Q-d%WZ-F=B^#J? zN`HevPe4g^K-A;-bC~R(#ir9pqyJZ(F1E5M-K&E;J>vh|X#_;hyykNMJ*|k?nM8z0 zovy$T-)-BJCYlWCnTIt0K`^D7f<~y*<+}eULs9Ms_B;;~E(Xc&oG;M9@!W7w+)l7l zotaT7?|#Hd8Kb|rlfFVc7}iu4D^OT#T>Wb!HSVlS3zUt2Ab~6e?qLs^Pm2~3>$`+O za+mPQ{kbjR>_wmyD)o1pBv7n=@PqCd{eTnS>@Uz02ncz{5%V>tU6>t;a4!A?8Iz8! zj&%>m4zK3G`r*}Vpi~Dd6q~v^Wp=)_tsmJlz~8himxz6pa$!jOi^CuCWjQ6XC$GK& z#BQH-G55nt^I#(gmypfkej44|wh4qBO;@IQOl4~@UM{C_Dk-vZGKStgJ?qb+mdB_? zb)2Gbb;I#&g9(}gfSMon992IwQg-iZshP!98Vag0pjiAri<|2qu%K1f9zi_i zc<&J6Y~l{o*4}H;L8%j-z^MRUP5{*jiO9Zvb%Rjoy44=l_`(Z(MwxYj&o}c>XY+&Q zk#=gy%wT`y>PMaPPS=E}fW1eW_%8mcm#DZu_15Rj+d%wFRqmhr5mIyB2Gzw}Nt@kC z&Z_Mv$lc9MUQ%J6C6DUK)Jy-VD^GQuuAD|qmX_>~l+zVd-?vto1;H=4(4a7Og#Y); zYY(^hS9Yy$BYTdkCpI2kPDF0&Q_b=-=zG?V|%5_-F4HsR!q0KT(Xwa`%1V*LP=n$v3Bo%n|_P^B!Pviy-dK#7_CkEJzF!B!Ni6;0df^AafA zePa3D_ymvnHo{}4^y|Y_;THL#}Kq+ok;YP!HC1|_8=2A$!Ws? zVD8;!we+BY13J?94VaK_A7qK_-NUZ#ge(gaygiI8LXx|xa~3c*VbO$aNNHGb_06v* zmLSj}k8Y3tVls*53i+AkA`SBY zzFjdgE^eXei?v3mYzY{R+%5X0oi0gZ)^YFo4HR1g9lO`@A$5kEtMBo=5kE=KueIdx zmPnj4dKg}`^TPlYI+NUuWkpXL6GeI)E3WK>W33nkBD)Q)ek5y@w$P;coU1~BX{3nR zkr25mPa$iX`d=7umb}!G^(?r^azE5`&Y%^#mvhh=NUzC!TH}3k41Tu(DW4bLLq|9o zOZ*e>bGe0o+x@`bK=oed6fie0vZqJ=+3lbKak;@8ibv`mQ{PKxP@jm*z1*v>z+EQ+ zbqZCvtH|VL--~_C9U#cPjyEpR(SfYGDlxDYm(2e`U;X!-$dYE>vg(Gpx7+GZ9*Xi( zM3TFo?zx+kn!(;eWls6hl?Z2(@w9FvHL@>P^O>){9=WyWsR=}5mk9PZ$(h=TrI)ri zw!|W7{L(WnwQzQS<#5MVWPf0K-m?MahFGyH@4wsh_x1pK6Z0td9|)i-0}v)z4G^*g zMHg8<*?ooFt`BN(Pw;X~hI?7xnn{I-CW~@SkrD3i$tnK7-{1!mx_hTa;!`yT_i+w{ z3$L(Vt8SLwt4$jUT*@ZozQFXqrQ`2TQj5P3(x2eT@Ezf2mZ}G4{O=Fre>?#bRaYD+ z`B&04|3&P6u*Y=)(V_b@1{`n-qpLGhILkr|j9Y}Sc)y>q%7*dg4&AUI5bbT^C%UsH zcj5v!bWP`!vkpl)v2%(@olwHBRGL}8Fp8aI@F6vS(RrGof7?2zxobM7q!~7WneHH= z$j}A8zhY^HhW!k@QMy=vTlwUNtUXK>81;9LL4TzYN7J#KVWB)$`eMH@`?*+H*UCg{ zw8!Dcd@SwpRT(Pl`ibaDMJoZQwqClOuU3i_?#GNkv765{W2pj3YR323^Cfzo{F_7% zZaN}K)-Xpjmi<~u3BnwEY4ykHiG^Mk8=eWQAAXgO>_Jzw4XEBIcwN&O4dBN`=(shV zKVS`bj&mg{=$-)_ww?^QR^Gdpoz#KCk}n->kF)q2*^a+L`UwWoD=Bx@oreD&xh5@$ zwO)SAQeYx9KGs<+zB3rVs!2RUJ4j4Cc zY7*J-@AemrP%1PcudyunYZ>a#Z!EjuFIp9yE#FSx7EpDZ`f~EaZPM$csz`oKn$(GD zmd@gf)0(XecA`xj+b#76F6y`uGvzv)pRX)H@TMrZs@ z4+uK>W5#%pipL5ly<+;L+w^>GEm#8))-a40CNeic&oGgY6VuPKW(sE29n-kX7;o$Q zG%ho<8dvnntRx#+iRKNT}})hoRV)10YT}S!>uA= zj*?Uz&#uh}+1{hEe`bRlyob|idDhHW(V;*^!K%6ag?IKZF&>~i;R;;Sl;yrkqIq96N8e?W z#{BCZHJG?;8@iNW7JqM2SDF&6arCZ64J#9AA!hDw)~a1`%k`p;z85lYJ@mG=8aJ{Q z?lHYsMxetYWj|-(BgQVf`Vk)L*EW`2ZXQ~8FPElUw-nb>Q4*B3U6e(LiVl=j9jm*$ zFg~-*|I~pfPpMct#Y@Y+N(*+ZE9k5{xao>1vr380q1Q)eZ?$ge_g6d9$wmu@m=7>nk; zYu6XEo<;v~>!~8O@!+8`Z-f^8WcU0(mfCSKCrMN*9O7Os7*o zjL+`({f)BdIdV4PA9Bw#G3u_S1!j3dpxoQn@y)KTI4zUPm*(dG8y>z?vRWnyI77lH zGTWC`H$hI|rlxF;X;NiYdj?HYM zZqp5GFn!_o6Dx3_cl_h_%MNxr$lNXEr@n`O(P0aHL~I48Od?=-r@LXaS~u@|Oj)Lh z%)_D33j4*##{u60wDt!0o}AQ$P)q~Quayr!ZKt17|01G7@5}W^G!=7u1;@jNZ$k0| zTYn!?ot;liiTLkd$!-PXZ?`93Kl74oV}G~Q@T2;FS^JOK)ZYnNO^M8$%ufD4429Jc zXXpT@De?jVj$D==GMyPYUowKGXT z`e(0q=IqUC%*vY1U8rVGB5;}3Zoj-ub*iI=92A|AYX9EGlEj!iW~kbD-X|+bFxN#) zu?fFcRCcq#xkL#_mRv#M8;N8AdF-IFJ~%oDs|PR18@i%0J3d#mk5943!+=R>U1r*2 zu;3^HWI0A_DQn#BbKF@IvWdAF>$|Cm=)|iy4%qX=J#G5bHz!ek+f7$x%o7R1`Eu>T zHo($ILhm=hz-{&1=(fVFudrW03V$`<>xv4oXP0xwCp3}2+{_QT%n@2OZgi&`#8Zb3 zot2CH3RRnKvX6c*96gVbn?5-{yKPGJrpb}ATOX7P5#oFU>~J2fsi9gl2UGWyPIdoc zfd)W+YOUuN1B{+ZR)sI)T><5OU-)bwNk{DYND{G$^Mq9dJ`bcEeP%T4(U znT0R|aY9bSwe_?8_NKkl%x0&1Eek#|1LK@#2FTEO*r89>Nfppp%PlG$FzZ>TjILx& zZRay=ny(0Qnvd$D0 z)(R}bW-L>~0gIWp8@Z+B4-UL973INnXf^Ub5j%sUJ$X{=0jeX}F12$ANhsu#Zsm|nKDI;}~M-DNHF%ya(j&gsZXhaQD0&{&_uk zBwo{_k{&1Fl(rDem1Q+%Wz`-QZ5g^P`6&{R2}4~^<}|qx!kl4;c*Ntx$#8^kM&6fAwnIU z@wJF;qRc`ynvZq2T0HO3<>;Te+bzLz$=jY2{E^WT%!DODZr;UbC)QW?8N0vF5xVA7 zesb#m;<5sZWU&*trF=oKH^7QIagDZh;ypqrg;^N|p{P5X=S8!)avsVAxM zUB&38&Z+4=%Qc`LR|Va9H`C7Fmp-1JMh|}`J8S6)8iw3937Kv?CBiwsU|yYP(y{?a@B+gS?6w6BvnSu5$@oer+ZpK zx7w?hQqfndxzRbs0qZ7HkyG+?j)YA(x;BYPzs*i;ubtsdZ0?IZG5n2@^vdPyr;G}+ z;*<0=_W=pU?&$_E_m(dSyJgWnd0G7r{=0&)^5pkS&V4#1m;t7vz?EYPx_|891%SriaO_OARMA!_)efd5^Tyap{SoXSJJi79`zx+&eqpTo+)3Mv?t`%}1 z&b4whzc*pYYNAJ0&{WU1SEGi;ASts-6-hm5NXifrdPE|+%#alNLzg6#X%6M65&0mR zLO}cg*d1M-1eiRl8r#rQmbN?J#``^JB@r3O1C+^7{FelC6k>JXtuAi|CA zVq*1s!p4dmNf^xcmB1n~^Mx@y3uWa-7L0x#S@64$tb{3-gsC0kNta=K5@{n7(6N#4 z+iv}ryH>QoyC5;%ui$5UV13TORxsiWe`FE!lLjA__oPczZOqrK8Rny9-V!=zf9 z!lcJ}OnT*?GEB+|rl&u&y+yqui~A8#(d;ZZ)eXYG$rUh(r+L&~W2U%R!wBiX&-FKx z_MA2i_w*8pX_!(T5sE>>{{L<TtxKO~I$k8nbJv-YTP^lIWbML!C)eA+GC?J9zt zEh;KX1t7c{W;qCEsv?Br5ey49IEN;lIzQcmm#=({`IS_ftk zhX_9b_v!{itIiV)#IX#7yK%N9=yLTm;I7nbJg;^U+g7>y{*?FKaZBu{#~$WWjy~P% zeJXGdzXdi3&E$_)fA>uNwSPTmoQ=+8%nD|q?$-74R3g*7grT)9sISGz{@6mCiq{Am@7Vs>BnmcDSgW<_F(z!~CJb|w%8H$zD z>N@$A!7;ac(5P7vgyAp6E99kI`HKm3J~3-Hd#>_4j-6Mof)mpPhqevf<@P!#zldul zJ;uATCpvK-h!wwN?{EBqY~t6ip1s3ry1B7|oSPYWcsS;an78fbTz>$5UEw{g5|F`Ih>su!d17in-A|D>b7(QIN-K}!>i*VU-eaor8Cp$Db=xPIfS4X z#;=8fCXo6JqLT~r#D7~VZ>ffDsl}mqwJ#i8frG+nyZ6X`Wlv1bGW@a`x`=br~azJVKhar z!#EW$WcUpIBtJ?=b1|lD29`T98CX1;Il7M>BPs*8GZhip)wikbMq+XmcbNwfQjYy7 zMS#3=>{`ur7m=0wV!EmiQsx$!E4?L9%F5xhn`)fkfx1s5+>4v=#2-Cb^f&A6^fU?m zf)r!Lfm&0~C%l%_#S6<-$sj6J7l+RH%n9D$YxqRR^_}bk1RO0$ZIup9E)(%$hyva? zC2yMy@!aomU#8k+F8xXxO?R|YjTR7!(SaQlnQoyN;L&(FAI<~xt=O*=S~7Myuy5ub z5$Y&x>gL4HpX^@wp4Ig!Nh0@%peuL_^fXnNiru4obR-SaV)Eg%K+*Z`ggxKAH?8E& z`P7AS;i_q<@blJ5xx>(_5Kp>i)L~U6_Y8+4KJV(++#Gbbi6)5MjB_lr8KW1ZZimp) zO91R{6U`9~HdL}h!lP7X-ja=0e{8FR^?$kUcm-=5cuY9@8$E`2bmI57v19Jc+23|9 zQ}an^MuY0n%y)$SEd!j^1$~~|aO-dOwCx==KWNh5(M49&@Ca`TTP=K4G zdU}u|4R0$9wc4)E=1zq11u5>n(4r4}aLHUOL~G=zElK{kI!jhofVC z&Yb0TKXXDrbXyuKSx@qaOc>nkUo2Fi_|2#<@mt?zysj_W;l%mleuJl#xgU|Ot`Sb_ z3Zy717S^HHaGH0&YJw69wGBo=+g+>Q?je^_-9C6MI7~23R{druqT&uHB2m{LHh;h) zUXP#&Qjc_N@~GQ>biX2;DhFy^phLJs*RIO>hJf(kXUp`R#J=Ge&+qV{Ii1h$!armq zv_s63>l2z3PSiM7$1bZOc;=)6#w;A%Fr!yExT&E#qq~0k#!z%E7hu9qLa1&zLIo*x z;x=@wyVnaF#`vz)%8T%Mn}s7HcsA=dx;~j>w9VzKa{i^A+TaRQYYbpoA0&^|d`TpR z-=){c+aES7!RVcqkG40Dud2BJ{}V_cAb5j-;8ugi8eD?~n^b9UH0ZeyG`L35mWm72wnj)G zibC)v!1Z!5T5GlVsnphLZL3)QAgEOW%4!kB1>{r3r8+V0ZCR`NK40%SCkczTzdwFF zH20h{=ghq4J@0Ma^Pcw<=z5EPUaad+xweK^l;v|7T^Dz{&g*nNP}eA-{0RT}_}>8I zwO7f}l(acyR&7D@N!6QGJ0O~w)Ux_zdq0ymIty1Uu(tEzp;$v3p=pwzL1x-^v&?M#0ws%mO}L@^59;+u2x&n$OgStAX`Pk% zuu$C#RVtrtP0TU0=)T_Wv3yWEb@Y3jE~-)Dl^TVCwB&+o%=W$YKy2gwyzZWuKF8#je|>CN-lX!i zzP!gDLaUqdQ^Iof!#(WFKYFO6{E)D`UgdLr`Lp+i#LoA-1d^;ocbzZ%WAw4%*KM}) za9jUb{*_Gh3g15!eqZf|_`+d%RIYdi|NXr1d&6AV|M&0i)PKs|1y>7*J;xn082M2W zoAsp>k|(=ZW0I;R4o!F}Y^tK8qwlA1xw>+Qnj z5~{q<2J08u5^qg!w{%wrOikXxe`H(7BbjUj9EdsssDu1bn~@u+8B8tmqP``Q?*x@r zy1Pcu*!Yzl?U6t%i}sp1jz8 z08#0%lW03O^L>4M<^&od=KJNyS+=lRE$4RU75BkUtT6vJ$Uu8<+}#wq8hz3}!p4~o zQV8a_4yo(YtL)3So5C+mKaI7jv5DOJpIY(L=TfZxdipxW%0vEo*uQe(FFNS!kg$Bd zK$+{yf7Gdb*R??Rs&Dz`2dUZ?Apd@^miW;RZmcg_vmxs1YCfQ^M_vy)u#b2B*q|B| z0qq`Ag^he=-?wy^7G954jTKCm%~v&)pGdVsCp+-(ch?YSa(BH${YMDKt7)1CpL`B1 zmI3M_9yFzAOF%$QSkCq8i?AjtaZg@p0MyS7vE~LFfPTc0KfcS)pF(kWz27q|*2j_` z9{$DiDDSQE5BLCia9kMwI@S;8ckT>P>Q+q>{8RhX zSM2)unl7G4OFy;rM+FFm5oU;>vwRf0#=}hpFase`RP{s>DqP>A`7wpe_IZ zAM{>_;13Y#kx~ed^Dyuj)QFt_jnm+eMFpHktKu~=g5vUco__L#0eX-k$DTnE}KGVqu z41)P>jDGprhVQ4o^rA|LK`aJ+Y!-b`KA&56mM?$tXC3_YR9J5M>jYmu{87FS_1CWW>(oCrET66NkEI7PxyN@Z9~+j}t9-35Z@Vib)`)&he?968Km1MDHBVoM zgx_2L=K5Fu8ok2zy95&7SG((cVQn^*cj&LpRvv2pu>VJQ?my-3&hZ{eUMIzim)DzX zO?X=e+_Ioo+HYuQAmL@=X#d=1tqEmvE1zLF3)IJ}=Rt<}EGCHF#-)QCY|o9X$G$X_ z7h(D(s)+Kql+Cy_uBmd;P~Gt@H8Ur)oH%DwhOkYbJ-xP+%FcyQ(q%wisppK5D% zR?Ggl)pwr&3|YcbVu!nE_d@REpPXE2zG;?qa)b1KN`lZ^=WHnkEx8n1moW4?+(W7F z1gT;?Q)KPCqEWN;zS2Kq`-d6#0umvPLI72X1?Mi&)N_ ztLqm%&FfiqbLlNj&0LeoL+NzRt{?u{G?uuU_R0m5qg*gP56n@qg-tfT$(_f=l1?pW zdZ+I}?=I}shnU9PA*-6&6Z6Cx7V?5kY)WS=;j;DsC<6EG;yP0{W;Z5>zkdsun_eRX z6`)Cr0oYZoH^E=itG=$NyX80{rcyZLjVka4Qd!btR?p$C(c;WRHiR=5!Of9*tbhhs zhE>f^yS)BmD;-Pv!w0XYvE_0P0|f-C6$(2fL*(bYS`Mt)ZLY_>RMaMg|uJ8n)rU z#y<7yKvizYTJPzrR4CC+qf{e-Cd3nQQ3>Yz;35jbtoN+%Th@C}gJXr(*ST|6dw(0R z_J8kIUQJi@%xh}-4InnrfekEOxD$9sE9F6^Oh=SpUup5}rX$n@YLw#xw8Y>45#D8a zpV%u~Nb1+6bqqjea&J`~xBQiMlG>y1J%-wsuYd~0No{a{yo?om(#6O8y8b}Fu7AO$ ziU+V9K~|%dk?}-6gZ*`#c}YGq_ub!Ri=~HLnY?~nR_zC>w!j?vq6Ii_jXO)V!$$?3 z;;0U$Dc{Pcm#FRjEjUihW8eA!cdE={eK}TPFs=bDv z1(_!EBc%_U_*147r5l3SX`Cl&3yV)_by4?2mNd2QzaqEr8Up!wWXV}l&1N!ec!!ZG zIB4r2_T5f@KXq6R@9ayAnfw|O(w2CIg*1WynR3{lA;15di)-9@71|yUrJ1QOlS3;KKRI=CHg( zAQ$65b_w2d4P!OI*S zhbw8Gbpy`#G}qU9$Y1uE%o3pkym;qUy}bu!SPmq^4}pGj2J1_lxIyXm+U|=GZfz_) zx3LDVXY>>Pxu;OynapDT2XFch{2OyZ=P6m(j~!D)s(Xv|h?OsAfC>c7%zLcSn!>vJ zX~$+y=`HWI>eIml$CsziIP{Ek`ApW-!>6gGqr1+CqkqbhJKM-yu#{!IrXnNK`6H-)?iE~@r7Lq9Uz&Cz;XG#H@y?tZ(XwSYK<7^4B6D%~=3QN5 zk8EUtlC_Y5L1t`TYftvUZf?!d-)Q-Q7T739{3A|UDw#{N3g&p5YX*v?IPT1&qAc}X zBK3O95*6xs{SC)v)zUFv%Bkw=*g16UyxTbuI((XXd34vG`HuZt9ea+By_;xzVf3K4 zIWC<;Z5gx?=_5uoz8jm{hijd(ynq(UwRqniKsL_9T9uvlhNZpIy=+v7*6uaYwf#_PAEl$KlZvJbNsb8T#(&5iQaVK z%=wpEk19`JeduZF^Bx*nmU<--0sn=7Uk31-6K!iM2EEQ0*Kj=P!9=H_pGUJ2jJ4!_ ztBb_jiEZyxU)sJNkz7jlv`15bUjdGq~KYicxH~vW^6_VkW-@*R)l0*L9b*V3(;QILTM}HC;R@Q&F z*~+6N3X(9Z^dyrTTo=j-wH`KIq*6Q4>v&MJ)nwm_!of5)l-yi{t-Cz&jvY+#cIkN_a z@Kw3FNG(9W>WI)WfPJz{ATwU$+;tSXKVHC}6~2*?3nFk|or4hbuvVwP&seN86-AjX z*thKhJz-nIwNxxY?Y7d<&i!=>_}W4 z36YLXDx_cNKW~`N=Z5sP z$e)8IamPU^?o8j_>W3q6FGxo^WwwGDu5zJHu^{`FMLv~DXSLFPt@Wp3lz>+;ZS*lz zF#)0`T1G??x33~j?j5Zn_KyE@F=VKjLPn-DSH(;N4xTLIJa<_h@gLopLMgOE&hCCe zshwdxrIibd>3ExY+!7UCFWp%bTR4W377p6FG@m(EdQ3qp!DMD(E211~M~$s?Kkn)c zhXSFMC+5XKTC?Yn>?OxGDa?fB{qCg5+rDjMDtAsTfyu*e(cj*)^|${_{vu@5KMb5q z?kQC)K`0gJ(|_gb!TUC4)XJx(WT9?TQRS()mQKW z8|)f6z*V+u`(hJ1swzmfW!Ih!u4)S__+n-szMwLl#5gj2YL`Umcc=7MHZ)FJoLJP_ zlcM(c?$2T~ZTm^{dzf)K#Bp45k|M8}A62B*;9tVeBI64Ap`bEZlF>oZt;a|P`*(xE zUnWwYCAMu!H1GIcVh~4CEX_}}tz>SI7`&?@^(Jb18s|_H@!BG)+A*QQGrBX}c5Luw_E;O%xN9^h9_VKG}Zu~rq{ENBVxj246WO9sSbxan%&K{rU zuwR16pd8YMFN}rE32cUD&aeqasDfaSeL>sWQJGT-W^3F!t&a1YCSK1uri2LhMB*m~ z??nFTki6!$?^O(XGss>sx^&&>SjD5dvqS`!jX(}cExLKaxujtnH=#T{$o2&?k)LT#g@IKObZ!j_9Cg|LG9A8^df7U{#>1TV4u^6pc81r!y4T+MWO&M6)22EyVgDZ(l;u zIMCho=3X$HpzaVVE$4p~k9qpR#~$%lfqC*|4I6zZ{=b%;fuxG>U%BpWbVm-3+-7z# zh5ko{?aknA^Lhbpfxt!o2n%t|zb!ZVj)H0I8C+@ms#jeqaBUBly+@zj`4*n6MH%Kx zaDX95tpufO2pYC(LuIQ5RH>UmNCf^t{<_KfbDi$@Ko$O#H}*n~tts!uKeu%BpAgF> z}SJJ<~b%x(IxrLzH zj~~Ab--hzBSWpJ)#9`uJ#;;&{Ur4Zo|LgLJt$0Qa=?rv*qhc{C6RgY{Zio@vBw>W} zgF${Vh*j()*sJE7B2Hs{s8&vGOp)LAkTBH^BZ&mF7cf#jqq~ZZ-JN3Hzy7atFYKF^ zGSQ@m|C$c@1>r=I-vY4;Z^TxT%C;@%v_{gaO*@Nxp*elq=l^9hw%602n>eZQwCvW6 zf)pV61(x;F&-1{x01eb=l>lX(XQO&q+4_4=pTpS`Uof4W|0~+7ZNKQGKQ@puN%|u; zOWTocyogVxwNKqv;ZUgs$Qx#@P`gAas4~Q0l$kNy+Wm}Fulj^y=ypsykDl~8rOYQy zzbO|3xAi+F@gn$l2>#6wN?57t6QX4&kl;ddfAtJ@p}9oqrxWiZw$}oH8H5tquMpU0 z?w~KJA@!LjunKOP_8grHH}5?wBg} z(x?6`K%N!aGP&g0XEqWdG^Ng~0d8_{1AkqI+tRy+gfzmE)=z&T$b7%6yGWJ@jaG>s z#z}6*LkUx(QT0kXvdN_~i*ftlM=|-;A`Ncljr2%S1tHU^T@`~-R-Xsk-Uyn%L;<~l zP-Dy7`tsEKt^y!U<0b?o7_Z12+9hfvI$5~gP#Y)I$2B|v0)!Q*ReDmQ?(qajcY}+# z%xMRmnI<5*bj?lqq5gd{mb?T`Xg#>1bo0a>6)8<9*kiy!<%-XC^N1$U(`d5jDOvJIcHSuiU zZ%H|MHOFsYf#k_Am>mbP5wC|P$wU0jE?zL{ zxZnT;V=I3;5vY4=W9P1Yh5XY3Y6w5Hq2)FRvWVKfeP0|5-##6MHmi{*Tw}gZ;pmIX z?xZj1%A$_+S1g%FC2WrS;C?NT_B$}tZ^@nIvE&wgml+m&fTAb*UC??l%R|#emO8w9 z#!ju*gh>iA!>)dE@9$^&?_c~~_&u@bO^Q87{^0iGh~1^Q0%p9OwMCR}Vf<_r^!aD! zvASgpE^6dt%ndcR+Q)|S*Mn@xVuL%#SR3ggF}9}idjS~wIfGuw&E%ZLBzz&~l#5lMXNQC||Ki-?0j zrF!|HknEY69WE6w4##Og@{4pNk`-n7+QFAMJkRahh zq`9relEeYikM+ycr+&cB*{)&v)DPGd;f)PgNq8eHxly{wUlOf*Ei0(+qO3-4p>hygR{xp;LAE&M7v*m`g|11 z3FX5;8=VgQPTHXct$~uhple%Z%)0uWJz_Jp%;D*ye#dFC#z(ouBJ2{I^Fa9Km%M58 z$Lo`SQorLzwcqE3oEy(lHDA>47&T>J{f;whyW9Cft%W?O9c&9mtvnxH+rvB`t-aL$ z^J-%zF`op+td<7;sIQDZR^z^|7$0{A!`HC6<^Z!_Zrm@jy}#lMH^9H1k7)moF9&U_ z;LD!O0;XGb0gUfuU$|Fr(9qx|s^LOWD0Qu>xlk%0%4cpldOy?VfaAzBv?*BZhg4&_ zX;ROQo?zW{!0X3v&(69tvRNASqzPZ-yM-@>ge%U;Z#g=m-uC>HX7CQcoSyNP_IeT? zob@TPblWDDZ3=D6mZnjj?POeJa){x;Z$v!CHx_5*^976u&xZcgVzrIzv`LCx<**D^ zQJA;9oNS8jsylYJ?UpA}dTk(DuB~RCkW-``&|=?ZFN9Q=ukefS{0dJhab{U=<`{re zP)pO-kggH3{LkaSr1w7`%VgYYoblm62}3+U_55PmKV4X)2bre}6_R7V4=*1(`9HP^ zi9g9A-JT3!%R+=QChjP6AifNF1#B^KMh+FQ*Uo>>F!$z|+JS&gdoOZMtM)PwS_Pe8 zWHUp<;hB6ZFF}HgAWevs_J3As6JT=qmp@QwM$B#dgr%qyn*%um^<0YikA0ZT%drm* z`4dnnYV=saog9Aq4uYVx`2kyyCoPq9-fSy3MxIzLi|R!M3S@?ID9iP@JIe|rT*k;K zmANOh_%J>1voSk(hpc6clZ?XFHgu$W`&pCbm50I?kn=1HtmV1r((I9 ze8rz3+YQsrE#z4mJ5K9hax$g-lL@qQo%^0%jKzm3(5lY)rsFY++5|naqD$GEgJgn+BptE7Xfh>Mjg4 zb@nm0=q}6iu&R}KkByi^AM}JF^bXP>F@BxaUj10EbZ3ueLDtqEY--MsV`C#^-K#Ba zZN@|k=$M#DeH9ZSgxXhj-eMQD`40`tOnmHR2=YO_%)NaCSWE0a3R$%|OBA;nhPm*v z(@WG;tuMESHw@?;iz02Ol=LVJ0;ol^k<%gb^^?HdhG)SL@D2O&97uV`9U+DBkffnd z)67f6cm2$NH}ymD9=oMa3+d;y0;%_qy^IpCd8w)*lhb8%CjMY@_(=Qqd!2d6(3i=* zjm9dl;WNJHZqUmLSc^C&#Bx+`=2Wt8PG6wukI=-tw#$P-=5fPOyYgjxJK?wWUmm|L zmueRwGlGdKC+&9a_#ln<=ngO9lFRcVF}M5oe+a)vS{2bGDKg_^LlB-SIiz~xSm7k! zUDGOju=HPD;18*;ENHlQkwC8Oci*3;w_m>{~vo&}k6JT;J0rOi!w(95+zCCIf({gNdBl0o|NvK;utl>EG7 zbQkeFi}+Xf)JNH28tl*D6cY%MRPy}OUlpJz_`rmclvTq|MWP(2L!|F`U8cWNk%?zl zly;9boXdSvIwqZ|D4+QNQYO*)eoh%C zbtxI~4vaPSpcb_sum7@VtYH@$2D$1RYxvAx#bS+^5S(w_vV{j|QbaU{$q979UlnqN z@IooL>sN`dxN3QXTqC=i$1ljfsB5<`IKeftFS3NVP~RaMqb0p+6O;A8Y!}u)TA3hM z&jj~VCc4@JTb;#nZu03uy+=kGjK5VFVuQ^H1jRF+Q|%aJ_ED)mGJ%aajBBvQ32@}M zu6&R!%z&vwWp30j{aBmGG#$dH)ov({4WjwHB>7-MS<{XV1}HF<3Il+3uf{$0HN3vM zXlt=~L!&B#=5Pu31(!I@60S>j`A?!VAPRC2|g;-gEQ#UMs=~;`ub{?g|5s$F)}m z4g)Dm+)sRx$eapFB#iwBqf-@GCX5Y79r(HWQxOXIVdONhim#3}UMOROIsF7Z@gp{i zS&HwJ+K?6tI>rI0WVs`rN8I@y_rCM} zQ5Gy=c`$5&BEc8+ixn4^#o340IhBY@>{8;*+m=<3w7B&3NoSbh*N*njE_*D?y^s-L znv|zTk`U&S^M%=%JD;^~(~@1hk%h~TD$Ov2f~ttos@S+ax!6)K#~LTeCQU9bQ0uYA zE6hT@d!x{E?A=Bd&?RWm0tNGL%N#^)sTuk_IozG6Hv77_SkO+SIOg>>Rpc$>yLB0) z?{>bjE&8D{26IM%D(l@*S&_YI16@OF*`Fte&kbvy}& zVw|%h(r9XVK*NhUpRUd$QiDv~%>-uLbaaqDb#?u-`FxXA)2gi#%EEy4!Qo{27#_Lr z5fq&oy1J=;_(9faKY8~uxzB%eZnn!C>IWZM?fp0p0z15NoK^)^!Uk?O5hP9S?dO!A zw`JGY(?>XeDne?cn-&Ni>AOt4XNLCl>l?eWr;*WOkz~I@DD&}=FtsYWbXg*E{Xksp ziPDWXosdZFs7Mc}NdF)&QM!6cZh}>%SVd-h8=lxLwXbqpi>u}b^la#U6@%F?GJ6qC zS^cGJC;v&3s6hIM%31Ajvre#ZsIwlz$8rEKx~(TGo~fLf>W_z6(H+-PWWi&b!=eH= z#uv>VPiz$qt}uS?sjz&Y8$!AJaWQ|w`WO9@rOH97|IRDHSO?Q|x)T3P9v5K=KhAe; zekPCX`pFCyajs#e&wRH|Q)1}a_d>i?pxc2OI!o>W(!zN%y#w>Y4w^Pr(b!72;=-@6!_Rs{ zjHR`U5Du=`1|JuxV-OA^KT0*m02GqtyD8p z-XfcEGtGETbzQn_bjrRMk)EwOMlgqL8j)(!b(vOx_mSZ)wEtuc{fa7>pjMToR*f!Q z8N2y38ek%`g~!sA^ZAX>emqPOaHH1sed-C>YEm?^Gfa)9M^!T08CNkF`%yNVcS16? zP8W|Jyi)paoMjgZ=U&YB{^68ALP)GaN9mMyBXJBxJ8JbFn|-uS)q%P_)4hKeD9d|I z{+_)j3ljmb+9fzAtS#>DJH|Nq;L~A3+b7iLTb{||Zq^W(bm?(lVt={K{(+AgIhI-pKZy}aXmW3eeFmYgP; zn!=&(3^oUP{Igpj)^G;H_VAe3XGsqJQsqb`H=lOl$S%$bDZ-Ku$j#8CJ@psAXd9kFj zspTY!=~RhGJ=^pE_QKLFHP#jSaQNgjfr zEv2rd?QlWzNH(P&6#_Jq+y@;awuiQ}LArnP44sY{Yy2r+#1`IRMB6|(`uDl-2st$0 zOSF4397t^g2}kluGs;5;1#*)GL3v`Jgladk$mr_4=b)=Xy5trk^7W-zW58eH9?+9a z?lBY46u3W-|MrUP++HVI(b*?MZa6yF{}z5dUpF6n#q?oa7#9qEjt$GD(1e{j5njDs zZl;9wox#xZfr2Rn9zl(@?Q;TYeQJH|=5gwKx*D3T8y5_Qw3!VA+ul_8PB7>-&GE&( zW$A%h@t~8~aJ{}OWQl-X>Gr)CRD5hCO*?w0MGKI7GG)j(B7fwA=LMKUH}h3*Hf~_B z^n)+xEUv*US1sI(XE@!=>~+(mIhq9-oThiZ`_Ci^L;0C=XeT zP9%5c#WLqZSTM@;MDsh{&Su}n=*&DZ)7hEAbI#5j_s;0dPx8u2M`zWpJv)8eJJNrN z(pPGmPfwS>(`!`vl6UeGE9%7>`d8*fy(E2^m-JsD=-ZjYRF%xpd=P>nXXQCQ8z;IO zfJ0w6%oBm-n@NE*DbRGesO39f6I~s}7iddNC;K5x+}fMX+g>Uk2$J1xXMcs&Fz{93 zb5xtG*HviXY5iFq%nRjX{g)@!y3np&Gp+CBLX|O>KB4wQZ{Mw%i0EJAtqz2?J4OLF zGE_I2{jizH6>tAo&)u=C({%Ke^>qewca^={ouA+QyrX}3HkNQG1wOs5L4o*d_2g^0 zD@fLi;n)Gc}G<-6^rD%}b#C)e4%TvqTKRL%vUzccg8I&8(GA)Wc25ej!sF)JyZYW!-E56jy zl#QaIv9JYb9%W)~1^b2xncr7fg%BX5S9}`u5$FuWQ=xV7)q1))DcPGmr7+0;cEHzz zF(}uDaZACVPg$DxJ|#Z|A;#*Xjkv)wW!;G$Do<^peZHP_j8Qs$}{7#%X_RX+q$&A_67fb>(7vSuI05bG||gH?l?qA1x;3Yg38|_0ATVEs_oZh zL~27>@@=Ypp**#!Y{T1aOGorrM|RQr+Lx7SR8dt+N2FG^Y+*vCc%e-$wOjpDx!d>D z)<(t+oWZT+2nPA@{zy}K+ZZGoMVaSpWJ)!eE^6_7|r(WHS{Y{K^ ze|%3$Y|+eQALJL#pZ^Tag_Iai?#QVf99#G^8EohW%iYjGx#Ew;Ds-jafyvLa@zory z@k#FJRx5|hKQA7|c~m~cfGo7b-sK)mB_DUPEvJ^f&-2UzOzt8TM3IsBq2EaUgE?%n zty^t(6ekii7d>t{uvtk*_Rl`A@W7JS@#HdbR9=R-oB{}N4uZQsrL_pDBG6MAWCztc z{^7vb!t)9Tl&r6bk*0z=<8{j4+D3jL<@&sdlY4SMI24misZHF{e<>G$zE0NF`NC19 z6xxoo`*$mxj)P}*Js(NAEB(a)a|`=NN-+n37~j~ffL+k!9$*$H=%inn?w#C3!#~sK zKwqSHisjHO;R#r^N1UMg`GP%@cZEIPXsIOJOD{91VO|OMJU5-J0$~d>I@I-MBs+w^ z5QIWH^grZRo_tg|_F(hkd@{4<**JRpaw?%Z;GWP9S4)PF^$mD0FKcHpe5E^i< z<<1rc6qL|bUr#rin%wPa9wn7dKyT%_%c#vjZGCF@DtEi{{I`TELKutnbsQ47ZFWL9@sbJJWQW-c*llST$rt zJh36;QI0>q_>@QX9ySFaXL7$cII{jPB&5KPmisZIY`tzd!Z_0K_jUN+)qZZSTR>C$ z!hdY$M}XBahLv$GHZ^FKoHZg=$7e3pC0Q4O(r&TF-*6LKSlz?MH@Z`3xBxL&G5Rl>#`WX^_H`>vS;dfYwo01^iG=cHQhg+>5IAIcHM`NKKEadG|JS`1(23G@wL}u;-k}ljw4~U(y=ck( z@*uUGtEcc@t4VGVG z8JHZt;}l=>=WD{6N3xotL`&KZL=CpcLO_C`HqcTul^IEF?OQplROOMbX<=B!BUZ&B ziF7}zIG6u9BPUI)5fO1UBpngn*$E0)OeT|d8D;VTmgd*?ke{|Gm{nGc01V_@#xw1* zUj$B)g^q{DZC7&f*^!tqs`K*q6zHOZ^jhZZLF5|0*vu3-4DrvbH|VjoIlFdZeO*uT zGhKrq%+H#3xrT-OrmW2D5jmE_`k*utiA<({7qY$DDD^y%zRmX}|4>rgqNGMYw8!^N zB=!My#jfwoCf*Ao@t*uc2zSdxUq^vPe}{yyBW}F@aewavI?bwdPts)T#tx3#{mS?M zm=5|wG9#zcy$>m4GjT;>KU8ynVS;mwl1qXncMa*b1#uB-s_9DnQ{2;k-mBT)p1a?J zVm-0D*uu&lTbE|n3`%WCuI@5hH#xQal54unu3}Ux<7TmNq~^t({0yFnZO8|IS+RSU z((qx{FvbFb5jwS?wpY5Ul1*^AW*K4L^wnSmnaaGTnLSaF*EY1n(nF?9U-oy98U|oh zkxotI8RIg;@N|i|jfIJ6@z6iDQfzlh zu;Prk5Cb#AUDpv`vvnF>tAmL?4cPh&D}I~0hJL#ubv7JV?yF&ZPO0aI3de($Tr}i7UA_qAy zNGv}~>CTDgasnb+zirwfMmt9LXu50^k0D=JCV*1?<`8eRU8QL|79>sERl?OQQFL!& zZDkhOBn|ECm+<|chs-b`MSK~TjK+IP<=G1eOn;p+DpG8pt!^KiGad}brs=;pe-HlO z!U9#q|5_(xhbQ7p^=p1N_YqsaS{0k~b6rRfNWhe+qj4z^7DVuL_~m_lo$mj);c(A+ zh5b1Fe0TOaZklJGVzH0;FL}_Je~R6YSVoBWr&w5)Sfw4--nbxAc5}_>&Qq?-h-M(Ce!g6#N7^TNVNFfvIiW8}+@O4#zDyZb5h%is8HrFh{N|M2in^h5g zf-n}=^@wj>kzI36^2ILk*>;mtL(O&ZGMn6gS{`dY6GvQKkL3Hi^n!|l^mNt^b$)5- zwrTxTNJvdy*-Wahi? zS5{f<7fS%D^&tNE*?H^!y6g1I z-K9lYeLLo{y%9)#1Cw7&5hA&GvUkPlV=9-0BbYL4d8*dpG`6PuE_l> zS}zja+6L+pxBvYi--tG#9Gf8OJxHUdeb-b;%W|gHUdnm-_PY-G25T_CP#(gjwi$Um zx0HnNM}ZCSHxlVPXY;f@|CcQ7^LfCg<2)As)3>byVopSxv2^wkVz%=*O%2%BxzBG1 z6_1<1>!IF^yUpR_c%-)x?^4*`&jbFmm4aFklKA!)#8bwdUA zbb*Is6jkd$QZf-frLGKwE;w4Tv(9?zrm$NE#VigxVg75+Kv}p1b}>s}cMF$au>@vK zk@<-DW0B&6x0}i7XHg~Fp@PApf<7!WdMa?={7t)j{IB+x5%3YoM;HOo*nmuyw4i$> zY*DA#D!aD14xxVy3dyX0(xQ!HjW$_8SFx!)R98Xz)NhyHa&}%*+1BQqFsHfKi`VfX zs6aO`!HVPmDnmCSDcv-A5-J`8n(-RB zqP%;kZZp0z)NOZn8I^f;tHm*Jasj)?UZ2Po|L-HAJCjh|R1PrXP${_wu#Wff7q8v9 zgzK;vc6O}zQ!0=CR^MUXzJp<8nJFHQ_mI4$mej7;lf?!*>OlPb!oLDMk(oz|oES&cn) z!%WHdnQu>H_2(b%e|7o>$SgKn!?;eEE@^7Lm8in0M2ejhH8LvCb+<eR|o}(1AY7WH1?XLZcvBc|iA48?? zK6CTz?RMHnfem!;-_x1?rF{n4IWnCmKH;^O53evXA^oE>Dy3tqi;ccS>%B$mn2jN& z%Oa5C5XsBhtz|%r}YmUWIknAWX{zyH=*4t>h zGKihMPG`v;Zm}@DuZXiS^|TpA-GUj*eP=$e{Z4vfq55+}M}MY)E2+k?dhu|`BrtB#;kheYtM;tE*p;o0_wVsG*HYq2bc@&opkF_^<<9dGpGcBo2x1u#m z%~|ksZNi4e+Xo!|mp_dhIk*_Sk72(MwtO50`Mw4>h2|qSZ4mCKw7P|{2Ofzq)^w_| z**EVC+05+!sXX*b*Q0UG+nv$a)biBVC>MCl*nn+H?QPkg8SQcwOx3X<15@k*gG#`MB>XFEt>)l1PbS3_gkg>;!2@mdMgdbrA zieLZ%sg*So!CqYA>W7KsGn&Gf{~^|RFPAcggXHkF-;}EA>sBn3%J^0|)iFOTKnFqU zF@2}QHWthDdKQq#pYRUTebTfxz9dQ<$5!?IQ6)&S)^7fnl{lfH^#UPcLYbeL`bVcH zGI4xzuW_up_+L+!JW%M6nf5c6?w-@uT3iMv^0?x}SZ zsejlC?XyAw>#uKXtg+%7x+I5Zjsk(&MyVJMKEi^(MJRLU|F0?Gs32HzvyA{X)WDcc z?v)>df#h@5vW9X`KPU{$GXF}cG2PrvaN$7VyQhC}snVPd(t{l(ULSt>hlo+%w#XsFkJt6-ga{%FQhhLEG?Wa=&S-N+>EyU5M`}gMuNnsNM#%Owz zBAb@5$Z=CykRIAB^7^DHNI$dW2yhdm7cSyARFURc`BKK+Z5^z0k`8FZrxKp7e9_K8~i*-L$mV&z! ze+RjZ)BU>0zFj-%N^@YQDo(=MOCKo~de}8QCR2}Xv%OA|-?H@{y*NxS1|)f`C|y!> z1TsfoTx4J5yL0S|t}0Hj(Y7K*E=cRS68yXZN9y;l{JNF=5t@1{{@--j){|Ad(LEfN z{Nwjw3Hq6$&hokSXPs%`zmd=Q7q>#g5q-4dcdcZBA(gF`Q^`@kW7=`_GL~eS2#oLT z+9d!yHupv=tQ?51#CnGX%&D;Cx<(Y%XTdzrN)x4ME$%*kp$X-zyAbK4-x$9loR=R6$piiI)KE`ZlXzWai=s03 zYf3s(&ZD<=rks|yZR3piZ*oOQ8v~6taE4Edc`GT|{G|@oVAG*DRs7UCqsChQXE%P|^TzW(Hb_LDm|HlnYB++p5;3ElAES}}xx@S{K%T;E71=fpKdXX0gk8w~^L!RA4Tqd+R4LVP?n%rr$ zn@Gl+xZEq5veLO>$$(`jNt<$5;Jo2OL)&ZYJ zBd_Im?M9o8@80WkBjhFYa`|As`cLa~{|8z^8Y#ehFjuO#?_!NgX`(TcyUP9b3XcK2 z={>!D(vYFNE#6C=mxWuvj2&OT`AGXE-`a%}OW1l6_K?Xi2Dd)`G7a02{-r}z)mOVw zZ6e!Y9)CC?bgy-|BR8=*pT25k)BcJ}ZvSm0dZ!L)$6wRj2!GuG##5@N&!&$4!y~@` zwO6Rus9Wrx%YCo&4b*efK`#chg2?DpWiKr)9T9c@AUeFryzb5zyMuyC-{v@nO9?^A{l@$+y^jr}+)e8C?{x7PN3= zK9lRiLC%Ey^Riu6^(oW4hHIPM2I+nzbzx(}BYofDC#^Mh3XEquqEAyqXkvTw)kOa2C?99lKQtz>*zFs=L4OnrqNy&Ec(Mk{-2H_W5*PSU}gH9Bi|~)?wJe82Hz_U zvYPllNKeKtYildB)O(3o`8v)xR}!uj4IAcDu74f%CAMt|D@zPkG;xx>SE_}0s`6P~ zn$kU3zhr#^XB^-^ZdsG@X5UyC*xyR~J5FO~N!zNxj}`(G_PX*ivT3be4WdDV_C0#3 zFslI%c>}e&c-CHOl^LQ;ymIKJ!NN|%{X|Ba>5H{TJ4j>V$624*G^qp^p;{UC2{Ci- zm`Vx6@MLt`r2WJI4SmclctAssg^qzf3Cwm0QdE`cH!sK>x{eb}HYSJ9u~&~0*~c}i z)%53XY7H{P_quCu747M%jcleDUnRC^)al+O>o&&n@s7s&Wb1catPlQ~8PClJG+3bh zf=ct;@945B;(V_Euz%U}=Lb|0$^a;mI6!1jv3JYOTtb;Z#end_DGuXeu;7t2iL{t0 zT$X#;c4(Co==0FKUyzEccB+K^>`MyCW7RZYRWR44%NOKfEU^OcQVkd9&@IkEr}C2U zEV>zQw-Niy@#^8xaI-H!UpFn~``H&9#l#X+6pQu?+&ed^PDA5qaDtYb<;l~D3Eyzb zTYNBCQ76$j@kkSmEFigAGhvY~rp|o-YZ>6M|5XBK0@Okk9vpXhF7z)@uB z8$iyoEO2uVL#9pCN1C zt@pVxL+iI@to84!^@4r0p6N$B!!{uYf#6lOOKw2x?D=7v?vKPV+W@J#lCSD)*BkFa zbXP&QMy^vDLvn559Mj!xj3#^w^?5Xy?th(rFkQQw*SB@QTY6u}6Bams-pq3^~Z=WJt zQs?fclTr5@gk;ZubHGsu0}P_Yb|`RyccV%6y8ah@SRDQ~52YjW4U; zo?Y9Mn46K8CDy;y+O5op!!$>+{e?n5?rri6d1FLPo)Xmi;u)q*a05OgmCU-m`?ShN zN=wYZzz8Ttgm(wJS8oo1HVtgbw?)(Y(0;oxgdKV}O+=VyC)h7K-@{&Ia`V{!*}zU> zR)9k5FTS}Q40Tjs{K$jB(#oD-oV^b)rWzRS^t$JT$FCAZhA@s(rPTqOU+Z}ope<+H zFCkc+V7~u6mDxbZazfqN+sF1VmsC?$S^;k&McV&IFD+0dnPGqJPH`sZK;=PFz4)K+ z^u0F`YJ*!Tq6HaLytpCkeeg^d-d69gxsdmh{`kk;20~>%y+W(1oWuN#xcW`?>UUot8+%Q|T|3@HEz- zSOs#Sw$&CH{*yb}YB9ynst)}r7u2!7nZ6*-qY`b|e_gW^QYAEm=^=bRv+~&ug#!Uv z15&5qQ{E}a(Eb*A!DD~DDT_Q4yYLzN2sxx5^*(DZea0XC5!C z=c?Un+I|6rwdW`NAEM}denR1_6ok|=O{zf{m0~&7#uBAt>S}u=O0TO9j|dLZ9_bcC zjeD|MD4Frx7FxP=S#04P1BM07SffDK+xdDUT|Zy9;0|p8PIXo1CcUr2TXTQb6(@&n z;d=WMZzE1{13$8&dyi(_GKWvy3M=x}x$o!(kB&Bm^;YTc!w>63Kkkr^zi4w8U~jtX z)IvKDI#`&I!9*Yd+^gRb_9B40)*RCrce@SV0Mw}=De5Op7yJvrdaCIY4yTj_pq+5> zaXh$^{G>eECm&1a6)A?a*bTs`ZYD>E`ZA8TH8XT4@3cJDY0;+>lY9N~aKu{44-wq? zwrQxLkcWJH8sxrkE)l0Jthy+QuVE)< zUaVmmeW^%S1*6mBi$|9pTIf?6k4A|sp@h@7Vh!_kQ98aj)`&vMqP5;NL*Q>N`uX@e zjvpkdM|D)8;j4;9r|UyjA0Bik$7Iaz0-DEGycgk_w`PhJN*oDH7B|^cn*EUPD z_a}}6*kCZbn+g;<$uFFEyQ;Mmf@3O~1#n;tHE7;Ztp#FU!p>G2QJfid`R43c$GKvD zlk{JSFAm19vz5+7S5n+2b-rR{F^+kwf#&Q(su25@D1I;-lW#@5fL>>{2Hbb4IgV7v z`vKTRSK`R*%0U`ja#5St0HVax(finc2ZH^AtlAh(&|=P--EMLxpgY`V#%vE#ERmO1 z7BOEk-e7AE z=k#JC!V=9nU~vpv0c7L5yD+f)rG(!(Y#+v7ZH%c&@9Xavf6Z6`O&<;HF7cuG$b2Kr z_S|>4b^rQ1fAX1GLj9HRzz*7?>G=;qX~!$Bb4~vXB&2joZEU?)4dg*>@;UZ#2VNgC zfRIcu2G3fKXkVX*&3vwdzL6QiPGy*%0j&^g$f4Mzh{hK4r7{S}C1QRF9*h$K{S#-T z$!$@msHaZTWv%~BEFj({eM3=DdP8xn;T6#iLN6fl4+TX2#J0XQz4+U;rW=2|)%K1p zyy2qci#hSxH(b=pAakP_^cyaUEu35wpFOcE@++h#76d6~)HZ?DHYUDFX~&{pL~euO>Pzb zYVUC^YRgl$nb&z8%pTpuDye0|c&YW^^bhdQV%xYpqX>P&99fNe6$Yvh9&_jOsT5vZ zj&5PK#J%>G4eYir7+90dXMEsEAkO(XUT%Nbg7~#y?_OwKPLv)+T%^DDi=bm9X z(TDhV+*AkUEQH3~dbI*LblD4Mh_(*lTzZ0pb9v#>58}E3+Sab><~Jf9a;EDHgKn*0 z_sGoT4j)aEeR$%2aS(%VvtewwVwdN;b9&FnYdj@%M{vHH?@i&LP}MNM3d_jfK$+_$ zNRRG-G|vMoB&O?%gi!PIxrXC`B$NBe@xWl4!}$P>@7Aj zKmItv;HT z2JlGLv2Z{;a@W*^$ZctsufpaR(fnOuUI^lxTDGnVB>?AT3${7c9o)4pL?C zj#i}ZD2(eeqj_)v1Bk=jvABZ@lWq*bamr7sHtaK$8_)HbJ93OVf^pA{GF%BPB~TSC z7Dwh!iEjCXniW{ls2MuP*u`!>MA}S=*z{)VwZ!1hb=qC?`&|>HimxDF7Q1lpef zbvcpAA?FWb4Yz+mY}R@n1*JNA>qUcH=WmhNeokSD3dkPP{5JEY^{((&0xx_Vg6Thq zTHXt0-<}0ZS7dK$;aul7f)ZLTFqCY^@UNzcOP7_;zL*nEe;Z~_zNc`U8m6TQ{FbGN zkl3R1eTD`!4(M<2uQCkwDusG=1U6I-r2O4-tc0V3O!Sr#y&wIwaQ-#8C8{O0!gPi( zI`R`#s!J$578mwRWx#C6Siwjca9<%Thw|o!6vOkD#pLjK08AHCuZzYqK;T{ z9>b$%dy2yT7cetp49UYYyUX-t*ryCbr3g>IM@p@(tR<`+u`{T9yW@npfw4AWlBqP*6OuIt)RmqOpW9xV3a-#Xx z)+5u^ho);5#LL*x+4ZrwMwld2N`nMSmoN*i7{sZOTWhc|EK@ypRsGIxb{P7R>B>XX z=QWj=v1}F{g}%q9=u+%#I|9Y^dqP9bEmEu|H@5I#l8qpC+Tg`P2xO4iY~q9JA*)!v z@@~e~K}b0*K+2%ALaotJ35h0|WeESlj2(Xfv$3QW{xlmqf|2Yuq#|<>84fXT%j$Rj zJ2q<+EXmcb+KZb;;LAS5J-^Yk*co}KD$26lQ0b-ECjLC+i&~!#6KA=DRP;|hMI**( zzED=~ATbgyPz;+RTJHAs|GT~ZD|{vIb&u+Q8I9^5;i((xi|*}B5ipbgPepfpZT+Rx zUq1W1!Xq^fCDw<8%k~xB+}=jDDjLO8;4G9rDKTUjv>hn)AoG{%tPik=N8uL6pXU`r zvYXCIA4>Kk?7Oo19eI-q%bMTnIwJGKC1ud1J>KPK;|)M=6+KpDBNI;Tt|!SY{H#(UBMa0e?@)QeYqg`?N3YtretBOwc-Vi~8t&u> zi1yL5Hhpug{r2?~c&2n4ktxe=?MnJ0A*v*iT-K%KVPJ!lzR>9ehM%2Z#v14IFr=(& zJOm%+MkD_^cyRyAQ&;JW?p_)KXZF!kD!x-CUqxN!ac|iUYrFk@4P&Dk!0%Ljf5F#% zPl~Fi{3HcdTBM;?_JghpmPxH#tb4bWAe4Oy9sJAJ>|5Zp+{dnf$p5Mp^4;wt)3K=> z3^jsEb!yI7H{|%ePR-HT)g1Vl?}?Rw8zG^X!zuM+9&9BDA?Hs&t>R( zu|gvHytMWMZGh^F({Hc02d}Rna!+S|_>;Mn!(z~CR@d^0QhD*H=B#IB1Gn2!?jyoV zIw1o5o^o~P{7#Ugx3O@cmowHpYQ&;!BY?{Pl3CF8rqRK&|MJTVrXF=x-(V(5$*L0Vyt_WjQ&yQ z-h$tjL-y!!=gxEO`#*E9{-^5;kS1noxsnl7N(7KHHw{xe7!7oWgJ#k}AsfB9<=_@c zs7gdXDb?Ka1NjzEi)4`TDlV@A$ujWzb7Oxi{g2aRrCVpFX1FlKvgz?EKgCx&y)P5Z{Z;Klud70gWp1Fq&4?~HnU`E2 z{i$Ho+*M(lbwS%oL$LvX%LF(Ax9UErT6Ka`fOrDItmZTzG^d~ht8~aG#kck~ICQX* zZX36jxChr;PY3@h(traDB#|{=m$*FLW^!BZiORR3H>sS>L`&R$=pVOSHK@4=reU36 znlwt##lrv{cd&{8pvV>bcKc?BqSNH#JnB|eb^53%7`)Q;Pz#syu9fcstL|i|-;L4d z<`GkMc}CD0%z-u&aucuYOxmgqd@)68+3|HVc$56>=)|!OBG(W4CiD`Le+Vf1z_;9Ug+%|8me~AXZ0C5r&rMm<660sZ=6Wy7^lILcmxT=BGU2hG@xT3r z2Z>}UMUQbMi=Ly>`Msx52LNdHp_2=g!dr(9G?_vwn>CwUCUpI51ofk;tAW-2?Lo#b zct-x`PE*6{P%?gf0taY1rB8wt{81$V`%-7!W))`q8j9<}{z~zIfx`SlAZVf{kYWox zD01@)0p;mga?6&@*rM)AGTt7>{B()CSTQ>+b1 zo0QgMQ*teSRh!cmY0(G%=mh`&r9AwsJ3U>v1izG8 z>TTh79lx4J=_BD+rk7@{`qomV>z+>QV|)RbJM5}$y@U*#T71DG3aPri3}guzZi2E; z^Nwynbdl;p+>oTA4`-$2*^#(R_e4R8cn9BlgVt4HMY@X~HE|isKP@lDTGd_tdZ4Z! z)T=b4a*c+{)Yg3a<=7SbeY|i1zs8@ZAS*T3Q{8yui!56-*Gw){E=s+%4jJ7J(7t%Y z=NMgZ*}fUY=NW!!uepy@mDVqpc;>mBR*jKoe7Fe2&2F&8H=puoB(mU!0(`t$Y&i|` zJPrBblTN!GZwsCNCbrNY>osK6vnNpp^7$0&*Y=ZQbC_t_*f!ZOsL?O(5o!Y;_ON}e z?z3AWUf8`}9hx{DpXuNAI%u^za7vQ=J`-OHvZhsQptK&RQJT-M+p)&P@mUg^5H#a2 z%?`j;I@Rl!$InE+9H7#X(jZ5@pjX19%aYA&gA95i>YR1WUB=7!#|G@9=uC>#fc137 zbHXN*wCI9KSe|Pbhdg3#l-F_t(n}+;?|+hSgtmq9Z89FkaEK~Jyl_Uf{XSh-r(e>x zO`tKmsJ4qtZw_Iy7meC8(Fb!(R0Z7Ihg4Lo3Np3?h1(>&0h@CQKs~iBZ3#wtw>nU6Rj8wsx^FirDF|YSs(>$MNOtdkQD00xAmlEl2l|aL!9X z)+ajFXRm1VV@~ufxYMW7znkCl)TMiki0aTls7@VYcWUVGl8jdWeYch1f(FH9=AvaJ zxpZsUo+_@i=iZrR&oB6{n!dvtrEd*ZyPspX$T6bW*Nl%SSzKWEFS;(RI$uh&wz(Bh zr3pJnBX;p=bde=6B@iW+39ZG2btfD1gq(UR(l+NIn_GJ3@~8uNM$wL*&=@0u08DaD zfUmUQIVK-D;T#8vYO>OH>FG24LwRHYM&Xdq#pDM z{NqhJDFR?Lt_jYF@lcFNUzRf>eRUxd&vS}eN7<3$AB`CDuAEH6E5^SX?N9RgXW4W` z7b{Rl>*zsQL-z#H^ifr3rY|3mb7uO-1A5_b>NkLe3^Gx3mII7(BBL>~s(ki2RS;TD z7 z=B@E^HoF$5n#GPM63*9<)^vh1p2S-0_SB`Age*6v+3Dc7gEq!Uf2xHXy$Euq^|4J| z{+^ND+!_noJcA8cWgdTJLs68t)=7_|74y$URK?_tfA=v@>$ArwX{n6qvQ**o0l%S{aKdMvU^fB2&8^HWw}n{to@ zj`_pgTK~?G|6bxnrQ|nnxdVBrwKQT&WI~ zl9eiSC;fe`%v1aW?kS4g1-|^X+auVXr(9L2Q!=XS++%t|p32*zSMK8h{9huYdLiQ4 zT}LH67z#&bs_i?^^)jTX%3!Ps5jb4@AAHC0VeZG1< zUlrZ|yg@VjUr~qpg#fEmwsR#a$@KeFf%d9i58D+mB2L92OMbjmb3pP*6P_g6FTHsQ zgjRC^BXX+YN5{|3xsPXrKNf44eFJ4!OWyFXuuQI-1lIl@tTA$~$h2nsrvBAq(!l=M ztHPr?m5&X}@6z{cefj#Fj_*$i%dP&0DR(`rGf^izG6k<|dXCaH8qfE*GIolj%-)>W zauog%4Q;h%FB8y?UfS6KTPtI8*~J1Kade0w^zj#F3kS*JKf9S#rC6gJDjh7^zk@}4 zKFj-d&{e6})AOjzVDTt|ZQ21r8|Rw(`yp-2r`hNkF)7;$^tByAVcUQ#zj>@-g6uEE z(l|V^$Kz%^!QH>i#{ce{uo{?)lmFEW1{QbSEvrGm^WezS_h!Axkk|8;NI?COZ}9}V z_Kt5dhl!5lLcJ6SL^QJF6?b|+(|@Q}e82uPbLFvLBCO5oZ+QVR5*83pd;}1l$Yuzu zgBGdJU%P+wSG$x-_RQP9Z``Mvy&wLJspfq59`_wLL_QxXhXtY;qwn7-RZ^W8GO9ek z)3ot4&ZKzZ1)rdoFaf4d#33ZVs}zMxOc>IU8!#&giftnoHYdvUff=UlXX}0(G@4q* z>fZh~Ae^hdZ|f-XulyE_g>%qxQXQ4z+-ffgp`m&qf-yH5Vy#YgnR~n0hVb^+8Nx&L zUaP7h&yD>;oCwn=uXy{_F3x7skdB_1m*@If`mu~BK8ztr$cDNqJT*8o2JXb zk9nK3PM;LHv%e)#EiVHy+Q$cAKh%&(j}w6dt+7-Vwe~bsYIcFSpIO0)$L=7?9v={% zWz-u)>l#p}k}qh*q#BKjl}ZFuk#qE>Ja)}HRQwP9KU?cZIUH~Y%!vrl6S?uj!o*$f7S-*x=Rtf z%G=KTLVS06{3?ig#@J0XnT&~)zSYU5L0b!q)s z4!yaz^kp(U2E>b!hlvaU>qrZs3XC92oDMWsU-CMJzD357v3#fb>9gRa)BM!$m6|xP zB0aJ|u7U*=b6uos5gymrh<*ykH8FX9y2y20*YkOY$!(sWg6_RlIuP%Yt++#=Qp0!%YW(YN}#FSswN^Kdr>E0)m+L&yQ%sJrF92L`-LZ0OVt z4}Mr9YSLQ3d{)awf4kn`?HSJrBIdBW51ly+tqm46DN+*+ zcm@-Uib_RW6sxq_HbMeePy@py<2W{2YpwcPdbicKYAu5JY66y_nVAGo`~UGgWX?JJw)Wa&r*_3(b9jTw*uO3j(St7u=={Hmq#2u8sVZ`tj;4 z|EWwAkKUkN@`c(Z-=tl#OsaYN10&!4Ctq~0am$gltvmZQ zm-2T|^C7}NPZ3=ZOuuxJIMAVYqz6jnGa31AXi~wacs7&DDcwyfpAAhaM+PR9L(Qa8 zq99xu1gc(eWlRgPvLI`dI+6PCKBT8ribbU~Z{8`It!3@BS~TyNoK~60xEdBU7uoo< zr%U|n=v?|Bd*wh>(35cVtnr?MrM}rT2CRvgJgsFaM7M7P`A1 zV_SQ9`Ol}J@29nzZO5-@K=xViZNZMR?4Z_NwKI-w-F5NoGOb9#MwW@F&o@f)(jBl9#nzYifUHxVr8Gp{5z_evGIriQM&ckP<0FCaX!-~>_ z;?F%M1s+EaUwpR%_Qd{Cx53mzmMs_GLT+y!#WXr$#y~zlHppfDQ|+oeET&u^&I!EF zZL$jSD4O)eA~F#lh`%C^$uNk)vK6v{o`g^XTTpz+*sk6!7kaVf;<$Ncp_|~hp{VK+ zl7mSD6X68Ud}GaMB$wBmbdMT$ndNl*%mcKw!UUQlM6IWAmRH!%}sGL^6}#g5tKC#-oFZW6sz?6ucVe=knY#IOh0@lK(_xNnf!#l#w-pk zRTcRwF>I-1QR>?LDfr#|?4;#jeojsl-@f`&%})y~orre`YRKUNq{QY%!9QJcTO~8( z1g#H`0Mv6J*?*rW*N3;++9QH=I1vP+pG1L5EPoT|=IOaEyc8(n`#NT_iAdoA0)$^^EG>NAR3`r58I&H3;1%LK8l#VwTW|Oa0Duvc+{AXY3 z>PipphBr_)l<;-I;&0=9wiot4KihxKlZWFw6&GIwR1S);iy4Uj{|6kcShR^S3B+Wy zUyF9zb5qQ6D&|)s)WZRxM6tor_Gaz^-!@xU8YsEKf8b&3$m>UjlslA;2>vqv))kg? zZ*S%gd&6M&8KhVFqg?t&uLX?3 zrQc1uKTA*nM5$Mp2Uf%=D!lot^FWIzt;|c_nkSXV{LVaPHs?ft4tx>`F>1J@V|r=S zOIwgK8834$a@HyWFyI{Uq7f{v#(cu%LTc9FdlGW>X9)=h+~N9%ofV9k0L$6j!oO3W z5Fgz1C)Kr;oCm0`t!PHkK=hL8buE3Cj{s0^YFWMfG(9Z;lK$>10lE3Hl*CXHLWxrW zGpYnPvahUUiH0>c>tsen>#jqZ`?c;WY%Xlw)nAGlI)xz6x@%xdx#ZyrHu;&aiQ=Z>s8PLR0wlZ?UgzZ$1X=%RGtm{6!+?Z;kzJ9JOBaFSUrGh&{F9X=O(9 z{<_~8AwT|gXxx;0r!Ei3%m0lSo&OMjdOxUdD$`{?I5fGd?E3zSYBG2o6RqX9AwgKZ z*pG(KS@lO~Pa2vlX*64Sl2lb2dzN1#gHQz-DWjQp5}YZlQjC99UC0PNIX?EoS^h9t z_<@5<@k*EHc=7ynq3E*7OW-;EQrAWlgp1gx!v|ksfa9SKjv}gLbCV=JP<(0ON>4C zYQkzNaxEKxon6m4b|Cx}`DcXCr0+h^LtM#t{_^p zExs6QH`v9e^Ygekv>WtUteOtPZ>ik}wWhxK#QTebUU{l@vi7ZWq+3#d<$uu1@7c-0 zaU3cS@shLp`~T1sLP2dyY>l9(L>=+@c7HS)ryhF>c z>WdBe&+^!(zIsDLj)OoXy?w;qa(I8BnzqI0?&7}Q5FZqNm+PXqC=fhg#so$mng?tYQvY?c-7f0@5qP|bWX{Rk|h zKEB@HaJg(B>mL&k$hTv7MN{klo?rXskK}2EAr1KbEtlCo_&`%2ppOdCM-}#`WX7#E)z5JkSK8gUg#qW_wn^om_50ZH@kBtZm>lH}RQ;cV`b$+mjW~LOx+IV$ z3%^3w9KCA^(G%m(pO(nES>csZ4mRvU`0?_YZ{T_pAvSC@i8E z{Is3M^E=PaXMZr*#gBmy+@e7^#4i{5<%Mi+m1|4K`T72#r52=xHvFrBD*dZWe;xlg zj%|O?MwxnHOr(mL!xWkaH%S&wB1fiwBx^OIrzO_YQ%~#B({}%g=@1?j{YB zeK71+6F!HU2!gd{h$!#~c$!Pq8fWN3oV&^bh)ucCnZ!74X`ATiu z=x$9)Wy`p6MMbihAq%4KmX&Sic_uf&0#JP2XYv%k+J;q{kfR z{;e+;8UCFAAA%qV8q)PRt25iuBkgcL(ahq-@AAp`z-Au&gJBlwlk9yp?~?!a4BFGR z9E&0YIQ*Q?5;pUuZ-tG;VJHg7P8hA2-87Ia{07Rtl~~U6{MgGd82I;4bn~fG4!DH~ zdR4+=QY`ze2#(-;@%ObzTz@k9?cE1q7M#CFbTxA#;(h#?*!tGC`qHxWpMft-`Rqc@ zqnDPEnqH2aV&{|DIf0=QzlzcIGXiPb7V)ST-01yuipD*7xr3MeU-AwA<9>(vx%kg; zdX8o@h(t*k`69s+w)={YBf6|qNTk3n$$9)f6b5@^<15cMWvV>0F>lr##xhXJ{nPQ$ z+?3LMSkX;|OUQxLPs~>*g(izz__8=ZKranbL_4&_^K+>wb_@Ec_*{V=rQ1 zK?^}OCae}iYO&%alv3$Jix z{_pp@yJBO1u?A~0+WbUug9#n4G-F{DH~-x` z3q%Y!N$D3aSTDyD@+{E?=0^+jhuCCUiqAFB3OZK`SU(09%(ahe`?`oeiXV>E_&gf_ z$ilrWhmL>6_7p^Jeow0-XMPFPz2J48bL79+?t;jIKPz2VvdK6wB-LT1TWN-`TsHO~ z?*vjQVLgaG`%ZmgYEg8@YC#cQ`$u}-)esr?4jcV~$l^Mdb*4;VWWn(~)yJ2PmtY%2@k989*;%cA+KO#VX=*D?qnhn9mI2<324!=iuS&9|CEWeSUTd-)u7 ziZGxE)z&|mOE}?+Anc8JHkxcC=J>{pDWu5Dhmr1*o1x0pkKE(s@8+OwWYLT4l5~*< zk^v5RN{c^G-e?GGmN3q7S$n|`!V(vjH`)8`^WNlGQ`fhwkJp80&fs}!#>vp~ zCUGB(znEMdS+Z6`gb8@MG6oH2uJE@G_{RAzWoCG~XLPGyg_Kqw$-6)_Aw?>()KBMtZ#@&`+*Xa!-I+4K#N=m4g z>m&}WTcL(=ZRLm8CkqZ|tALCA870xA*Dt%jcmaedSpAYe^3afM3kCXamANtDK;9p% zz7r0bm@LSrK7&y8Wwt9V)FS$^DyM!-l~5q{N!S_Jwr_n|_#|IhW%(adnWHP}!vaKo zr|kn@wmvCK7(c7>9-jB#WvXINnpfLa(5))lEHTja$>Q%lc7FcZ@xkbr9Bpds+l&SR znnnKM;uc4+CINmvm4@Ne#@^4b!_qYWsXNJi>FS2WyxlwNcD{>Tw1dO~G^|0an} zqVqSRvz2s7{CfgMI2q0MUl(TgMx9zSl0z}9slzxOb!@lAasznQjB zqQp?#1SLprR@%V?6_sMH42bU%OACWb$FvFd&jHSKGSjvm-2QMdb2flsj%a%+y=@)) z9!TKK76F=A##j`K^^o|U3)8(d50>a${I}IdIurWZUY{slO(8q<^^{>O@N;5;Xt($9 z$O$@Ih4GxO&>#0%ifdI`p9gtw_b>{c(f0hJB=3@kTVf#{^M{x-|D$=qR<>X|%^Qe#dPa}b>MiOW4Lcaz)G<0FsJ z)rgbm2tC^wQ%{j-<{;7J{PkyCvk$yEHIC}2PagZqAI{IO{a>({w{2YHp%cnksn?Ff z=*|&^Yq&Wn_GW&4a_lNHos&G_z4mBg9F&X43X&Hpc}%r==>}HrKCJ8#c*3}+iW;JB z$dg{E)Ug1e(Bv0?4~Kgt)KY${_1^lIJobE=X=h^q^ITF;p4-6%IUUT1tU{053dzz_ zA!Amh=D$DpbGf3dh|g_|%yCKk*~-+NA9DcG(cec|`ePu>Ew6nepvnJYQ!}R-*5m{w zm%#FR7?(W$a&+WhP!TTmlDBQd6r4DOqyM+BQsl=qh&H-L*Imk1%hn?sDE+_{5F6rg z8=<<$Lq}5+I;9KilUL`nliAZ%`=t0vL!|D#`na$0I(zLx|5aI_`Ns_{*%oT!o1&Re z>}VDNu`K{`+^B!lEjccI1X)~t>4jjZzoKr9F-GDG{x#blf zLxV$Ar~O5n*(PncYfKlA3yYVyql2Dl5JqMD=5azK2Z4W!j{GaZ;kjtRg2RU+P)Ih1 z{v}j_r{{jL-=pxTj%``IH`FJmIlP1Mw;SSb*2dn*pRjh}+w#TNzigG9mx}IqGbD;` z@NlN4ZpqQI(g-D&rPVltnvbdCsYRn>x#5Y=KSpQwlpkl1D7n?s@_~6zj z+ZsyaAcwod{iBb|omi%EkdNKrsr9)U2U|bp1iTxX(SZvT7SpxSekrq$y}d*bM&s`{ z#8+9c0};#fZvOf#=ya+qw^PGd-0oHp?caONMA2{>7aZDUu3<-x*%xlpl;pC9I#%N; zBlqcsDNb_uL)8Iye}VlajBm|GLux~2M_I-`HHLGNX6e)Z!qz@5nO|Qo4#+Av41vMR zC)8@AEd`a7lZ;WA+dWv@XUt&@zMm=T# zbl>%fUQ#?1)hl9UNBSzZn=NPB>Slf#TA9vAG$kg^3!*>T#Xash^kc$IqemMVIM`^%6v473Lgk zrM2cazp<+e)yFZJrtEvr6pAua+*VmoFl8aNwj%5fC0t^@Z9weAU%Ww`hGg$$TpSgVZh$;LVgX-6n2Tj`P2->Uq! zoW*sX-0CB`rbX72t6JQn`(`O6-lWM_sxXIuveUu8@H6{#Av+0DpGf~-3i`$ZjA4P! zB->nXPzyp=bH2|+m6OmUMr6qZ)T)T6zP6OWg-yWV@;4nDz>vN_M*?*C`+k;wEAZSz z*5A4l?F{o5pZ#rU?jlR3lBMRRrXu#@kws@1`gDP*T`i1{^s!UsXA*++UK z!{-@gAgK!71fA?P3UPuGU!jBfALp=iOG5$IRBgYEC z;184+3+&Tg3iOgJoG}H3*k?sH-l2qx1$Wz4x~><0X&_x+G1+Y>D%DRWL=(OV z+gmpAp!lam=Q=K@!~m68k|`1EC~1cRx8DZvD&5{bs$+34$PTY^M|M*%TxdLsQv1Ds z>cEycN2HNuh2MaMA26GG-8y!hwuQ}oeFZp?v3k^&(AtI+J+ZRAYkm<}h$hC<$2PZr zc`a|oWEW{dRBIm@(cuMJFVLoq>5)b;Y9NA8d%RswxSh8gQrr5(3R>ij&*<9mC4a}0 zO--*}-PKwpnJh7U+5H~_x^>VEFuSYockH*1mY!%+eOT}Nb*+!vb2{?>559fcaPwa~ zqJVy;s>LR>e64)b3f5>#rD^T_iT@J!m-j3QrbSaGPWC`(HKy~1r;9221*MK6YJ$ar zi7qObEaLT6$bHSuUu3Qg7|k{ovY8r?jV;5>!cu?eh+ML#?$VT0i6INyhyOPUzNucq z_77^DWxxa>9xE+YoV(UG_8|>IvYyuAW{yKA7JeW}KHAm69@HLfo5}guLsSjtUs$@J|4;amFgEu1}Gp?E-} zx<+l+1q=OLdpKn%cg}j_Z#yctQH?|Cr@KFFa?pO2YV@+>t@fwTzT~S)K!Bu&?75E# zVz?BSa)T%iBhbE$uGZ@+d_h@a-9;+@{BFRdmjq~V<2RoQ0vI5zz`rU75dW|5Q!@#S zF6;GjW<#E%G|#__gPAr`%~@GFLAfMu&`z^)Q4cNHG*fSsI+PX8B2 z=3?@b>@%}I4u3-hc@F+o{xZbhkr|Le{C(bmbf>cP#NVK9AoalCD^%5O{MmQ|TYhDJ7VB-oV zWS+nL^nJESe!=kE5whJ;YMWaUyG^kD%`Y{TnO}1`Ia03d&ewHd5ch{MHpa1%JzsHS_h550$RSBSs3fJ9F4WUuCg} zQF1@dlie5lW4pKa!)|@beR1>W*VNH{{y6@(uvhD2218__rWn!9)P7z|lO&uu8WEdN zRoN-;U;R(IPd8wj_^;&f^eVqnu#;3HOdw^FzM@Rk!Vhaq%n%d!h6tVkZ(OrL$_hwG zP37Md^t{_d6Bwm_)zDnz8sAEl2OQJ&?-#TZ^bfdf88QBz>0fh8>tkvyulcL$RW8ln z#p&6QKak=j9yUnW7QirWE3!Vp-dBtWdQus3cBenPn<=C2)VS{Ctyy3QWeh!7MzXN? zHH_iml=aX3-|l00*%7(jN}aUdHNfce>Y#57MzC$n?ZAsffXIwURnCYo!SL@aaf3o< zf3Q*0|q#NDnp%ds4I4wVJ>Xcv7qp-L$h0E)qpReV`IOJr=TgJoMO6eNk5qm`!2_n zmzOSFF7Z&yIOLBM!ePc!*=gs{{#zM3np$`N{eoqK|*j>h0wP#rtay+Q^mSY)eLG3^|^k9rl3TAz*_^Q*rJNQkdfe|DSu7QPfM5EKMclw*C3Sa{-qvC7C?&kad72gCUjnvr z1qB_i^v_f5pAb1LtxO5&mo(cXKutw}dTuG%od9KzhK@!ramUi2zD8kx@(M`S=(91L zYW~SO;!c&7NMo_bs>Gz4Cz;ZoC)9K}0!2Gt!_Rtw($MStifAH*ybiL*BAyIC=y<6Qatw^HVjKGg_ZQ~^ub zpkZRoR!}-X+>&u-`D?W0Uyj=fKX<@T6}LnR-)4A#&-9f`9+PvPk^Yo`_F2%yr>k`=fZMb^mpjxU<{7;7D;@d6ceX~r+@qc`g4$%L{ z1G`dpJp4jIb@qz~96~#{;-fwIgZ-i7pZ9W&GSep^Wbi%+ zvH6ohh}J5n|2<_Nq}Vj~kA^9VoQs6v5<`s5@Kh?7A{~C-=!qY>X*dGOBB&<7$SZzd zW`wG?!OLB0zNKJcA>Nqdn98ZyX(}oHOzbT@pca0RndS(5+AQfk2VF&Mk_=s;p)RNg z#{c`KsPye(x4g`^bD(=0#qcO8<8s2o-({m-Ylzd5pa zG#v=|qhYDB$6|vX%G>dFXkLhaP#x42>(ZagYU&nmp41Aa|j&tUt z^Ba=al;^icV;^Xm)5`Pluc{saBl0rmgj zEN3$3jK|jp?teT|?YV>-@K8s;oq)c-^$C9N_VM@vi)^MZ>}B4juj0@mIW+$8HYQTe z3jQ0N_RAsQU~!tR#VND9cT{WdIntEpH}(}7ABZk>lF6;p!B)ksA9FQjY*A6W!6I^H zNiGUfhh_O$&eCCzwtjTCZ*WFzfUUcaX=|VZn1QUz_0#Gum35gS$PgBx&+Qu-2IV;7xuHlS%xk2{1 z*EM5a3@xtN8DsXpeW#3Cht%tq9FgvAAr;-WSoeHYYKc^+`;N%MCE&59EsSp@dqE#> z+Cb)1TziTfb1R0y?&enWGx48i8>@+QOzuP)jSVeh7>vYzEAlbpV6ZiZtHWVwEV9hC zEcfwBP3vOQZ#*Ve(Vp&SqNdq+;++^?;fL#9Wk|_frG-5>f7y+|9jzM+u5pamn}+I_ z$)IV&qzY+#1uMM~bxlV2yx*OdHAP%tv#i2{rRP+ajj~MiH5adtEEyU1m6@_EMYJch zbVlD{d}9P)HP5Cm_kPt~uek0Y83WgfV*`*XGds#s2U0f@Hh!b__YByl{q#-QS!V6e z3V2Inz#0q)jXwLgDUV!`?_b!33LMxFBr}_+jF!NkYyiq=#buL^0bZULspCKwLg@-Q zCW|ZN?0*%`wZ~S=zn~kGsVg({%*`(azzAT>!O_Q0vKOLuC;R+hWpJU_xRxCXQJ8xF zCw~Wytm4Ten#}rJxq>~50iH$kL$4X&`=Z(ZLH~VloI2BW!SGudz|Ncs^_KuJ0svM> zk`E={M%O@h$#+b*y3@bQ4qb*nMixJw#ZQIWs51VTQQT`NN;r4-JM~E_1?4G|e-=-i z)R}$IKCU@f$hf7sm(!x#WKwN6nd=J&QmZ@71Kn&?)b0Pf*^VWiwT!dZ+C}=&Rh^_d>y|46ofHFjc|PE?9I|8p~5 zU3b3fuA{DmTM~rhOq7G1s>dorCqyHwF%t8g6J^QUoZAAtAyU#SG7v0KW+=9*WZ}cA z>L0IDRm=?e!TB*&bw7OQsWO>*QmPcBZSz-e)T|UP#c48*WSGzS$UH$NO|QI?^ZQss zKIVLY{I|<+SaAN^n-S@ZR_4Du8TMv7h8(}`@0u?WVWYyep??D=n`q+B4)7Ct9?RKS zzL&AFJMP6zJ+km#CCWbyGiY9WT_SNOzqOpJ9sqxcEV$9iE;PsAI`Db|5^H%46-1WZ zy___hJpJtmok?$RE3t%@3=y)kOEdA&JDLaA##|Kj8?UHsU4FR4!4`st zn3%HNtNwd)ttvRli_LAyYbKV<%sJY=v3UHxm8_#WQs1EnpKF58GpF8+53?i}IlO7q@$ z|3MOP3;)VZxP>PRD%AkY<=H1&`R=b%cjrGP3X<0T*~jebCUZ1tLIP|46S(1q&rZf4 zmVM*(g)Gi3uY1XB_W_?+4yh|Z1uhur*YO6zy`t_Zrr;^`%H%ty+6^kdz2!A8*(Bzg z-rOT!Hp^SelHS6EIU&9&BR}_x#KgZc0ZbN_SBW-szyxFQ6{ch_5p|nCeWI>}E-Wms zB#*7HO~zDe?}YPcwf5hcBhKT9lleDAugSvVrXVVWzadChBbuL%DNVeD^dgo2b&&2_ zyT=;xzt2a%aRz^`cI};dCXqI3l>a;T0W4-~S-$+wRfvVT#tlEIh+!|3e2x41SK(gK zLncUlh);D7-mX_$KTZhN4;YWend3hP*>Ubt&L3mR=5iqa_LpsOD$O<11gsum!~b`| zJ}ug2`BT}yB8zkM%S@uc%rqIa{%_~~c`IA#xk5ITJgrgGmNjvbD56+C7nhVz#^~FX zKFS$ACXeDo1=mZd3}=0z7h;gi=Ec8_qaG3xyLpdg9IedHYA^yK_mt4SU!c|7G3wCc z>LHv++65i-0r&OuyY=}1`ent(d(|=D=W&q^n6Egb_^3@Yh|TnU32u_bd2;bj$frBh zqdK>~vG#FMO*H;Twxp5P`J_b?=T}DKf8o@K<`?&;ExDSn^;FkNPF-02s{OiZb(~u) zPrQlK)bq;E(y%qD^>)kFQ6GQ0KK^Wd{O$VqKegSDVjY(1LA7wcp89(WqQpH8OuQ@= zp_)yIt*>*H20o@{^v0d9bJB3|-NBi0%vU)63jl_yNxP%7L>Y7ZpRCsTW$A~9)hE7M z!r2WwqZWy^F>%gVQ+HHZFC8xFp7zx+t+&26;Gb9@zlz_h`{SPPj!u4_EDhCfMiv~Z zhvfb4)W?4~_3@?-*0cgjG;vV{N`bK?f3u9xmV;1c>j>qzwz`wyTWi2RE;xJpU0=%i zg54@H^KZ3nlTIdo`4<`(QO<{`)l16zWx!r?m)5Q7mm^CS>mhkhxjP}UhlXEoNDdp* zkepH`KjW$O@povG!>M?%s?CBg&}6hzXANlb(D0lAhf`1Z!o+0xXVjo|Q;x;b2c-w8 zd2XvBcE^UWPa>ULz7A)uPYASY%KJqVGm9D$XO=W1&MpPa06kk+CmX8Ylxwa+Zz%?bzk8-+DJ|I;(H~mXllztTysz!;;-_n zkd_3tBtYE@{ucPMnA+rUAk+8j%nP{`zz&tVj)5538(2N3Dygv{zB??X zgvMyBi^D2c0$T=yVSIo`Qnh@J#&^`l{!DfAhF~YK)1pxeCZH>5!XwHrrLN$uA-+~w z$F+_Us(#D)5|IG0Fi~e$Ze9<*=eE2!*KrZlQziB{Lxs!C!XufTsd2|25Rt%%n(G4!IxT@IV!WC)!W@4G+nZ!-5+!TlP*|d z(0~E(!g5KU5^m5T@cVdh&*(kn2ogw%g{OUYxisv5SnYB@$f#>TjFuuoibzy15<9q-i5x9;(1;Fui#XaI(GtJ9X)LgE6%NO!Z(qEl`%iQU5yg6{P zJEEgjOPm@}J+SQyBi&~5cA2xF^12c5|D|Ra)h6N3+N}OyhV5(ArSvonjjfV^Bp$Ez zxz&ELHmMe6^Wq;$2nYLseDeI{@;v;DSE*uG7|BOb9}s&WF-iqhf!S7y)F&qr5#_bQ zv*QItXU8uo;!k~1$=UIFMWv|P>dUXf`8cxZ2AiDJqo&|QqNDu_eGb2ScB}nv6m61U z>hg^KDYE!aG#|*AHNwJl(R-ttA(WlUDx1e@eFF|~WA+`UIIAYXacUYC(`c6faH(FpIm&V3+_S{H zb+EenLpFSWM~qX{0<3gec@XH?Q#$xp8dY1u3v_Od#Tv3-b=n=a+^7k|c`+j1)8M%H z3-xh)mxMj!&mEEE8+yRm+Y_g&)Qq+0w?}!20${~uI=IKK$}j#aIoS+;M?+L5`E}8z zSx0F939%aeXTt4J6Ol_YpEXL{ls!DMcm@=yfvE^X^LX)LYwD9;K7o0H(i{aMM#v54 zMC0oq?Mup!ipKGg{2(<_n zP@{gJ*mhs4qVf`5MRn_}|ANbE{^vtaFqgvhWt> z9hcQ`Kg|{8lN%Pj(OkrFqbtfQ(#K$P!U!>KjW<>o2+zF69adX7j!nX=1ml3Z|AC>TiCFF zVAI0_Ot(wQ=R8pvl$z@7hLrN7l#mmlS|k3a;zWdz+7Tn4I65dX+4k%#ole@ z2+ABT$6q0^l@<3Wn~6TgNAV*O?OdBf#9<97Vx<-Oy7_ybxCv6B4_Mve~9 zGu;r_%|(d#)B9MZ?g*?>n4Qe3BD2#WW~q%VOw$tQAM%~)$t*C@NFBjHH_6np*4b6a zlVhum?%0~K)XL};R?i-zZpk5u3kzbq^Jmv{fbQaG;?|8SO7QiQdG6rZoo_5_Pu!*@ zIShE(yQQyLfYM`4ftNnT{e0g2R45{9k;^cw9p8+WTKyTIb8UTHmO`@`Ve?_q-ystg z_Uqbs2lHwiSG$iC5HUG8I({O3e6le1KVVv;?Z@xP!E}IM*c7y(!@A;7YU*osZ8w+S zs;We5P|Ze>nfF97p8_&t(UA_sFMZe%jBf>GW6JJ5&(64ikGJ9HYBv@b23h#$*LJA6Jetgxj7DRhz z@7YJicILOZcH|tQzaHYI+dv1r^`ko{q=!vJ1%3W1h7n@L`aZ*Ez7Gt=}KWlwg z*TOA0SdkSgWieBWVGPc^P_|xcn+`9#jDw=gF+G)eam7E|1|>u;>bjynG5T1d z!!jzWE|!U{Y-*}3pY|KyrUktHIi*!V{03~t)QGk*H7oa33bcxg$O2L`!EbU-0-~>?x zGr>8oAxlQSA*A3W-uE9;(1r;`Kxs6-zLvO3L=Pk~ARFtHLOj%o$_T?m^sim5jPcAD zYn5)dQwPxnlN0-8V{U8}9aIx=|5-gG@5l!H`T&jE7ZvbJvIM)z4j0R?Q*G9@5kF9| z3|))}#WHle^H&H7Mr6U!#7~%Iy`&`zp)&g_FL{eq&Vs5q{JV%o^FBGN$ytW1=tb(0 z`Jh(xe;+mAT-lzQ`!R># zp;Dvo(Ep>1c&0^p&1b5)O6H}rsMM=z*()JjW~)KM^!v%X`nJEFfCjgWj_}XDk7d2s8{9v`4Bc&YeWS=0P zHTai5m$lzAouo|P)I^HubeO*i_~EbjW~SjR_FIz|=KXq^pp-p1?5=O^E;8 zZ^V5rD$#b!#pu~V!kW6n%7A3HV$7kyM3|l!qhEg`;*E`Z5C7mnPb>o1Y`qkLpPgH(EcH-G``~S8e9LT zEb5kcu@b-k$IQ6C1GMS;!of899u?GIst#k{+0uNN*elN~M6CX!tBgi5?!a4PnIo$< z;rt^)sIA@fZ^N41ucMFo)DpA-*tVB0VQ1IUe+7h-$MsQN+%rqui1>@9yx^LTE&c)x zy6l@9{T=ty{--p}RQX?j%AhshfWSlMP@G^Kk{!%ff`gp-b2 z{C6FN+*7_(FvjLo`)uYXSv5Z@TW<=-~14~!E&7t=0js2}Q_J1^X!hg|Ndp5YQ&F`?kQ^K~-(nGhl z8xq6H|DW51~dvu|zRDMi0>A{>N|CsFeJ9EGH&wLN~cW&Z8i!$v@%l-bG`|f~= z^J3NkxBl{$!TNvoC z{XG}%0)L1Mk!8`r+dF$9&BgZQ&p68KV&GoPXclq1mu`zC!2Pw2?5OqZ|1$9VB_XKk zc-XwjPm#rP$_rqi9glYMo6qOru-I!f*ZCe^AVsseHG4?IXJ5_hDkprc=cPyUwoR`f?m}q57gYq@{HOJ z!=D_nP9iGl%BwHP_p0}zT}6+(=no(QeQ^-cLw9p&YqBYQtiKt;*ShG47pRYCFFCBb{-8C`chRgt zs(`}!<|U`>Y?njPvXW2&+59#nS$6oA5qoxQ8L|1G58Fyt?;n0A-`oRF4sg(<)!xYm z+8?F+vG3|#PyDm^PA@Ts8ywK($_C9{sDt4@+gFt|UnC@Wd^jw&^{DpN-2+?jy_!># z&s}JcW_n%g?!zOCp0VMyoj-mciKZIU>$j)RRG^u=Q@>I&H!f?O8!>Yuyz9Np>wFJd z1Odi|r9@^>nly`7m7@NykN>%W)J5BGSkAqXMbX%G>~AnNmslLsi%a0|17{Ne2NjZP zo+{oxS$fE-C<9iX{~{_XU-xrJn)1X)jNGP*xlb31Lb;6$t+iruI?)hc9gXiw#{v+N zg+G$llssMiM`D^7%_2H85p48-Vzr8NnMa-f?5(8&hlaHlvur|g07omVNi`JT>s2?^ z%zh&Mb9Otue@Ue!RBHTn3Kh2pR3?+EHbwrGuL?WbsR11n%eT}?w72gVyYbD@Pe?j0 zX1$xroa@RvJ3k#UnOKKS6Y&~k59yj2pj#^#Wb}vC8)v-bB_1;KX!W+4FL~3R_L2qt zLj5rJ14I^_M^g})G`n=P}m-So?S0CRdjE=2}#X zC#u%3%~#{5kZ7jW=RE71W8 zU_#y5jV3qjov?ob9G0c8`5K7XuY1+=MT4_mvb%{yztHKIH9%nT)+!M$vAo}UC{Laz zoBgL=kyyaY!5H^BO%UZ$O~4J-xZbhgBnaM-H6e7lr7a}ko`k%s8lr3_a5ZH7AD(Gv zJne{#uf#vn8pJzQt(w8Gg2$4 ze~U}p`x8ovDfkmKV8^=pzVsjPH!n-Kr3a+j+s9iQdBds3=(cyzMwNe^YvJ~jND|%p z{zTV&rRZl0ss0_1hX0VN04f?Wsx|si_ZESX+HZ%X`)lS?K)P^3f2eD?`QfnVH&J`g zbJf2G-x{yw+4ik!9N+w{A*q6?Mo@@mLK6)`1hB&TK~Ko zc6k$ELviYCd>!_YA+{vjtIhT+c<)t&g0Z3CEYZzVO@j$CTVew-wue&ZRxqt`xCJ@_3x)*Aft@CSC8aZ<9(kCdxYXkzKshxobK z8uLH=vPuqlqYHm{tfj@0$`ao}fI6>)dv%F@L|9a0+r?W8)L`Jkg7H1P#`Y<4P-l(+JXt)i4YyL!x|KzAG8nQ^kxl}*WW3@*ZyNb>Z&#A*0#V>N3?v`r;N z9?Z+BrXkTj-Cpq@B4qpJDinLNidyqpe&r>8q(pi(;gyGI(LcueQ+&b*xI|+3aQ$#E zMq)^RJypLr^IUbJow6t(LyxKmMg5!pN8gG+EIU6xHg?$8@NH`zX4`T z9*v(5pDFC%Q5sD2dak13%dF7bSI8l*uf*e~^ay_!zF$_h`K6ua3a9U0;t4?>jn747 zt$S&w7hkM*Vl}AC8Z>p8T-GbFfiG@KC-T&qZ9iCF=g9KkVfh@UB||r*ekjR0gKt~V z)%8y*C&Am3tEyU-cgl3;S3OrQB)_i;B@;I!?i7^c66HUXpTmHLX)ibQzOw?bxS=>% z_~*Yp#At1)i@)Yy@%*l?`UI@VwJPuQrBqv+IGg^;-hIrg4@rONk0GP3c1Y+_qDL$f z=VZQSxF8ZBfHPP}?6;@HUpj#vZOp<=*J(NFU}GQGNItjdNEF z?)dU>EJ=OW5JhJsda`Auj2lK9aR$+=-Wf?&TQ0IB1}{K{ty2KE-ggL#0`x(Ek(no1 zn3oIQpywQ(!meO;)qaY@59u3)8QGNIoAGrRhf^7d%$B?F;H3mJq&*}#RuX@|{i?vEOdW38bn>IGp zPN(c)Y54G9_^?jJ;b0r}o8@4q>{R1$u;p0}wy@k~4u0vIs&o8zu8C9hmM@v!Gp5#i zn42K*FQg3}G#*PAQqKteU7dk_w)(|L@-`TBeWG9kSH-rxnc9HHF{{5@$?R?Shv1Tw zswBW*&mE-rd)EKd zzpgI-n8d1~5pq@CZW;6*QcO_Avs)ZBTMI!w$RB$&(wXeghpNfpzpEk(--M@2rxt%2 zeO+YPjKgAYvAJvoX?ZnO&qNl<5l5R*w7*CCH(8J#wEgNGgJoD3D1MVtj4grGMc=W7 z!uXDI`J0l8P#alzxxNQrNJ+ANRX+EUZ%UsNC`iy;pfB8AG#j0F@%4kGFI4zoPnyEU z8fgj}tE4GxY?P+3u_=wFkS|Oa{$lRtI|sYal)xSYR%F=?gKM_0RU=*L3wb*%_BKk% zweK1Im{tkRWbsUEX_uG0!NVOZc|%S5IQ~|paq+#O5&yg74Na_K`oc|!{2ie0$hWk0 z117aiEeD(G=Vl><^^+rOT`m0~qpSz5bN5Uf;kOaR$e&ire1@mi2#prtWj|4Qli!|ahq8&A5j`ofbUi{fB{x5~()H&k9( z{d~(jT&ZdXBP8ZG_g&$Um@ZsV#m|*szVE0_3S>~&j*N%+v}_{zP(b&{*G0ZA`N=BZ z09^EBQvmm36cRDq5-vxFpu3~C0AK12CSUF_N}2r2)7{wROabTYjsmyRk1JKvK>8I{ zua}t^Iio5wIEjmS4n{Gm6DI-2k&kko*{YxK*mKjP7 zxPv?-vz%dh+)x5p1w1ZsF|$G(CLm(Ebwf_~a~``BbWXzlAG>Go{-&i3cjpeN3~4z8 z#W4}D`h`exDcl6d3%a~661&e{=zsDw_dyGdiLF`*5n?A)>3G35sLM-S$n)*xzC9Q0 z@~;}}5H&r^LUkmMHiIl1{5oX;TSyG>QrvCA8E-_ixNVn?_|&;o?LStpE%c8B4c0wp z(v++261@b2U(az8ap5PdOwg(WvS5S%txpE*>>R)p$1ppL?=P`oyd;o0?g>C?-drO3 z7AQ!V&zESCMdLJ#gO-Dzk1QJ+S$4?w)kTr-uin0jzpJWViY&aA6?*>z_=#V;kLi`1 zzeQ8-Z|6@|bYXgBW?VSV)!QP;U*?XlR2sOuF>TJN!Q|UvgZ@1m2Lv54j0e>t7|5%J z%5!YEU(j=M0M>w;?c73bVpxY%=-*cerObM1hM(K*NLXSRuJ7)QgWnWn+GrKJ#nm4( z#?cC>4#Xd_D~CTqDUe8$k;p45!N(1O$B}3wp4FxJMRQRJzFjyE!yt#c0a^0s~{Vf+%6No~TUas%I zC#)`nx#)s!W8W^1lyG&(dF(#S{-OA&_yf&RMe0lKb~4UsK||Wuw9}Bh`|speU^_M$ z&hX9Ge~t@$U+}8;L}IgTps6dG7={gGqd(ZdYxz+Q3|g#k8OBMh-Buyi7Q~n{Bg^KP zywTj(;@GDPS60znJZeoqYV`XYTy-BWjvM>aQb4ZrO1sRz3hNmk ze=ENoS+jQeXOb@YU{9qfzb;ak&m)1-|3)Ayx<&hZxq zp1N*-Fy`x_x=U2g=2P~e@%TWftMJ9FeF&&~O80?(U|FEs)TZq0V;*FN4wxZ+tE&ztYP8;bY5}2JHhb_IqtMXPDB1gRQk<^OcIodij4S@U;1&qeB$Ula94Mpk44_G+~ zR{zJrw*~I=-@v!|jMaJ0CwqR%;CpF=!MFJY;JfAW416)_{j~6167;`JBmkdAscLhT z+Y8yQzK>9SLnW5!qWODULGAT@JR()3Uzdbf>W>k!K|5lhqVsdS4w9)#|Ix#pEtUzh zZ?xsVw>p5y$SNHJKN-rQ(K1Qzx9IF~WWl{Q`!U+S?X)K&OE~wK$Igudaq~o|);eSCX;03s zj=j~l^Q}Xy=>Z2l7km5k&bRvK-n|*Nd2U%Rs?)RkNPxpsEQZ0|O zxhP{#FYJgxwF6>*ewAwD8@R13Q#ZKcD0y3BFFQx!paTDUde0goP!5Uxd0S9sK&DLm z+0Na4G6loWy|V`>R=dhT)NQX5@W#OBWszRM0a$#|pTmp8>$iC7j!b7?_T;&)cDC-lP}y(=&aAJn-gP!y-BC3@F`##QZH$W`zKD}e%gAV=xwL4) z@y)$UyxvldaXvYI@&gkt$e)mC?p?t*z5k4NsZsON58C{oe6NETu zA-H`t=Qs1cCm5x!uG8rm>h750CCUk=^R_<|2sPIcz-UoEo%Ux`nXq?zE#Cq60xzj zubEt>L9Wu26js6fCqBTx_jY}|h2k4hjeO?=a^SaHJ`)>zRM1dqri!US6;o5kS`{_; zFYaao|Lw@4!F-5~eYe5E_U7M0*ro?Xrl&rT-Yqt#40Ffbi~x_NdF_#f-_<;$9MnuskIPd^s5{kVWcghND+7P?no>)E{~~{_b_| zCF3&)_1tp!L2PV4gK3z5roqFB)213}e;q9}Rq)Ir;nhIDmHcP1X{=aNb4h;cM}o0` z@?4lO9CyL5^g0ve(RcO&mFF>|126?+a&8gFHn4%k#@*_?h%^ zPEGuM`JX&H8rZ%99{TAZ0v-fzB8>p;BN$GnKQhKH3W-y zJkkEfH%k7R`)V+)5zoHOv$4hZ{hz%OuEcKX``6k>v%PvZ}QT z;&ppuR^vu)9GadU0DFk(!isk83X42?Zm%nMtU@o{k~p`h`uq~q3rKC1iF2WZ$z=BZLP~xI%84t5xQ#op=+Ja*xkUKD!YpmR(S_FIY{m`{OIXK8C5B9$+ z%6B^B-|v|A4hc`S3JK%2qq8kZviJ|ANhqJL>YAu+PV1aYFg$UgXTPpS!hQ_t&rj;} z%nm;7*lVA5^24p~cCa%V>n!7NFNb_@_%e+r`0E>)HEbU*d3hFM3fGqe5_4eI~d(mRYRh-RF=BN zafxBE^cNfe4T-N;j7way2n>)FhNZ( zqMZ0(n4D_6o@Gcl1?_fgv|VY!S9Ry?|4DPiD~MW@sgB)3N)cK8LCi=0VEsw?A9V%j zAQg;6Zn=RD3M;~fq$Kr3*w~iAhT)-?p?6A+`c+pwW%BIhIap~fKW#r4xvm6sWigU2 z+ZV*tw~bhI{I<4>t46P`tV_(DOrPsU?j-)(A0vww2>*$z!QVBD^2WvA!)rc2zAd&6 z|B1S4zvY5D+88Z#ogh5sqO0BE>n1~b*ff|w4b0<}*A4S^5H}To{yI`e6QS>I_-{;$ zLF!NNW}>k8|F;DMuG62NzWq^P=Qi3Nydt1&Dk({Q25#kKA~(NJ2XVptZVLS)r5agk zc%Q*)c|+;KzP0hrbCQFx!Vi0%U`RT;K6IP~m5pFzZs(+WFCx+|+|p83+wpDzr`b{A z^7W%$Es>x|pDSx)WAa*b0?;`*LXC~k?J()xri*xSkC*940yR&|HDUubn#q%~pR}0XgGx-JaV~yUo0^Xy!!T%g zsBFA2hru(PBA|M6a~8Nn6zRZr&~jnyUB4MLn2TjUCmE>=rr)r>0D)s80;rV!l+n3z zb*I8V>`@jAr3?82q?7?Hqv>)DaYbr2qjvxiHN$^qO%HhwCu2vnOp>1&J{t3=FnJ^M zAmc)?k%hqwaLGFEm-DCSx+6WZcl_$^#(e)cBx>|b`lR(?C<@_pAIAfNznQKmeao_L zOz|2q#hib(f1H=09oE-ct#?--Pt7auc5utSOculyHr#SL;SA{7HPqPUKZ2P~o+&^g z_gA3>3;h#^ouAL+3Gu?m-BV?}a2Zbl`B+xJ8VFO(J>UvKboBkL4C{V(j=2_HN+nLe zF!yHpHjN#_2cl3COoRKlhMe-H3*gzsr}Gik{pv{*xKVgOKQ5f_itc!+VZ?@Ln%QrqK#CUV=v&2vEzNw?es+P zD~Hm}v47+5s16e~F^Bl8iskrZ8eaIS7x~==NmXEycD!!GPAUKLH?q^7c@N;VjJ+VAV^dwx5uNqDi+@KZj`qyN z#i)P{aSfyKLj8yi@+~5T0h`4ShYK0AD|nKAN7*2l!=W^o#Ak_6_c@Z87Wn*&Sj*S$AFW7plJNXsQgDX08H(vsV|6>M{b4l`ak`> zgxtJObAC0lcr7Cp%puQ3z>7QFujz4h5GsJ&Y>)2D36>B5xsU2%ExcB^j-6FMnrx7sb_}nlVcDX?| zOh#~%&MiTh3|;5ka*n1%rD6?d?-YJ~po=xUZWPxecla|Or-6?@LwTuZ;Vr2tF~5o( zce~`n4lXrZ7q@pVH8gZ867zgTVoun#jZD$@_^m~BQGprubLk>jL3C#}+C>0)p zF#eBiz>Va7{o@?|?$5zrqD|`g$TGVeozoI0%sBY5L89U0$(=vz%)_D7BDW4d`ea3J z9gX|Vq(Kmx7I0R~O3`YGHgsCd6Rk@F>M!#jKEl+)C5@q@?1*EWzhs$zQJE#ZbvO=| z2T{Q96C`oIe2hz5*!PvZmEws0J4d@>wpl3gx9Bxl`0IPQRf683V(A|-GwCh?;mb0JrF|a)}JX# zKP9M-=2~A+D-Z&P;MQ!5kEk#JmHHFZV4)g3M)lwAYQ2AAh?ah;@J+r3>l;u0vZ4HW zRyl*AW@h^Ng!^_Qd+LGZ51W5S1oICWqVS$&AbGG5_2YA)6MyAzKT$s%S^OILgF4Fa zyr3U=hOIOHw5TI;3wuvPY)Q^#qjvGAsDK!r$->{9%S7I|Q0tFBvLB)!2s&rf7CWBo zPbPS{P4^|rH380`<*PLDuxLJc1JwVRQUBijmWAP!qmhNPU`*k)qp7d+VpY_sioRBb z#59{W$&0DthgQYz15KbZO(0?Q{@;XHwf*Bh`0F(dN8VAw-(`)$-(2#4oPIsAcqy4b zoHpVfwf~A_jPCJLwVoUw>|sjXDPd{Sr0xOm_}z@O?JquWJj+k(BcMHCuZg zI&+NknFpw$TLn4iuOS3C$ieyRq%+j{EB=Wc0O#$4Fa)-d=hD^l=afvl?+5KIcnA&I za^?NnEJJ@pjhyo7YWZRq50@P&Zc+!{^&4R3)RL(UJL z-Gcc!)m^lR85C1A7|L(?HTcn7$%QKWZ1B}&=#MFY+^$pe$swX;J7dZGP6nSU8A8-L1fo8%u`mQG}w56-XN0zv~A zSU@_d!s`v|I*aO605;_N3GM!YSdSv_=O`-K-|MxdDhQ$@;Om{8eea9_H{#z{-$F!gTL^zVcsCl~ z-KRQn_d{e*C;T1$?0KQ^cQB9i2cwg}`95g$p&ZP+M;rg+GxZyO6NS%hJTG7FS2g&D zl{>|<3C5NkP3waKntx%>bJ{;A(>|e+wOW5R zVB9lc+z)*m<4zV1J&ALjS3tifpH2>t&umkQJ0?FL<7KMnW4r7DQjQd8yE zZBn<9VPe-6e8x4CNLGajfwaGE!}}c$+Omq7@So{42zyIvIJzaG09X4EPKg{T@?Jc^4({7?A=Hu1RoR^^lnG0O>hJVXK`+vk*<1eZ#Lctt%Yag{Q>=)zvo9SUYj3n_CUr(^bfUKK|C ze?1vMbg0vG+39^6-huxlZ2erce9z9RRrun>WRIS1*oh~0KfM!ymeUxVzB}`J;J>H{ zxoRCpN}ipuRchtn9HpGYMy(d*Z1hL++a9chGP_;3RG?`&lzKe%jc%LKEPXu4?tEVc zn@#W7Z@L@bdHWgPGg8^{{gOSq@%^GbfAaWVzV{K0@6dZSzK^gt&sjPF_3 zMlNT+{#%cM_BvG_>vJ7T_ZVJsM>}z^01ZdGJvF7%(~@n81|=_UJ} z|C#y=?;6MYejxsoD4eO}X&pUtWXr$vaphV6@B4W8YOrMWWPacvs6SCS2su^mmOb*A z{1VDvlJC=v$X{X;*{;5muU0V{_$c zEPO7Z2YR#pZ+pR&fAv7+UBUs&gR|b?tan?U(P0Qcw*8G(@d3-X7JWSZw(k7+@{Au| zNwjb6^mg6p?Xc3j%?byw^=@-b8Hgc#(+ZC~=40ju^6_ou7vv|3M}G-Z){uMoJ96X5 zbu68G-jJGi$VdF(1I-F?+WUzom!hTR(j4sP1S^}DUesZVyvW4PeP-A`^!+qd`+d&a zAAMKewJ&||Q~v%lDZl32{gvPL!%tCuu1ERB`z`w|vv5DL?c)^?$$R zEB8~L@zegJodNpQ8B%%_zjL8}hWxaXamin&t;|hg<=BkeR%RUr@|JgUcPd5O4lL=q z_4Onw2;?WvOSH4O*N$C3`iDhJO6@#C{H`_iwtY-A5o~pF6Dza5B6UqRJ5}r0M>*o1 zwZHh+wO|=Rbg7Y^ivr8<`(AItyw z60s@?sDhMc_LEK6Pd3Eu9s7xkXpS!DRcu-~anvR@&GB=&b8%uN&tCji zeYK7BJ6~krioYeZm0&>WcPB52}aL(-z{v-)%MNc<+ffg-Cy>aLp%MK_s}{aO?)rf!!z=OLkz zy}2kf)L-A~Xvk|{)4H6mM><-9 zy>frwNjbFCD3nzMw8ZTUpGZibq>efuAq8|KH2r_{>8XA$BpdeLlQR_-o z+@j)Av6^a;Cz?nR)GDmviU=-3g%(hdri5FJ(ct~IyXdOxs_SKSSuU=&z;aR40$xB| zL}hhiR6us2fYRUhd**qPC!zJi`}w_pz3^$C=b6iybIzPOGjrz5Oo=w$<&70C%DNqR zr_Q|3;^G?_11iyfzc6{{g3l(-59_3!f^!gbz@RuUq=Z?{ZZ_fh=u#g^_U%T?yh<>? z&2By(zrEm`;>&P4yZgR|R#LSRl&)O7>H2L1Z%rI~^DqH4go#G@R`{3JOyYiK-|m&( zni3rL?J^c0_tfP#J~qDAVf2N`y9rL7ij`z6dHuS(mi~78rMO%81>EUH>ot5kTTMT& zt@Lo=&>1mHx$b$aCKNIyCSj2+@Oy~$xc0q9-2eDImJenZFoNeG?BDT%LoLLD4w@%N zwU924dg>mNhk8o$BlnlP=Nz8apEy~Td#YXf{G9Zj>Rs?V?dYESXH*8usK#>YRyVi# zzE95+%D)35uiE4&)Fk%@O8ANe(wrmq4n%g)h5oIKeDhRgfiuh)k+=&xFmMmA)x&rSek$ zbbIb#IXY$o%Dp5HDNK@hV)m%XI<=hK-@YQdtfFjO|b z_58evkn}YFI(w6fO`xOJLPWY#4&%`@xd1Z)weNIcrU@StA9qV>@K?7$;cR1G5GR|Q|lm{{0 zZP^_y*ove5pVaWPV2VNEv*>}@9ks%aA?ECG6v#x=bEpqXP*BXdsU89JQ&DRWklN&; z`=_v2{oo1yt4Jo?T4o{U>g_A$R^f^j} z7)jHq77!u9SGqK$-Hl$HNr4VH*6-<{g$!+o&J;cx5GwGD9;iT$;*<+I6amMl0`{DC zuu_#ZX6WDjAfBRQ)2*_~oXAD1GTTSFS@%#&7=WqXi?#1D1ez;(2tzBAH)!3}YOGAu zDP%1J;cEAAu~oRb%PK4De1A)SdsM+5;d90sq^h#Au`PQt{VzoSTlODscqerCbaYSu zhJ1iCmRE|XC7k|Js5)lA;xVL!$)#C3!Tu@mQ|AYVcja(v*PH0EPso=kwAIth17>7L zp?c;&5@(XgZ@qZ*@vZHPM z-E(eEkN>a}5JNBbtN?=2s>Z!=s2sG@iPx1q4|O7bxcy<@L#7$Th$*>O7k{AW&#-P(11$WFaqf|0}6?bVBO=zhP=< z=ENg_BDxJHNMjs^{cqTp9&Yf$A0k$8=47ND498TSO7&D%C_@~C0>FTd5gE_VmIZ1A z;6hOh3}uypQFwunRAU1cH(qg{ZUlqqO4ll%2j!Wr3TF+}NZ@>0pee`=1#;p)V&Yc< zz7=A~N|CO@T~SAv99pgw1U#d6RsaY}klvfFQVqv0g8#`J+VB5!G%@~_umW4DQ0YWH z0)rV|fETQuctK8>8D+4xt>Q)TuT@J=gvNPamYTsvAr9(alUGxOy;+ky$)_Ph{c&#j z;6K4V_~gCKnP`*}jd$U56E3?+&^Y6#qw#B?q52brp+AhmbD-B#ik(a=AepI|(`Y;p?;%^G8?S7zI}m$=?? z!VvwCg`Y-;C@!}JFuJmesz+#VY)D1|Iwr$?tW?d1?WNa`$+$Bq+d#Dlm76} zp&u2nchV0alo(-`q|1Yi{cZ_JQ>#Vuy?vGaHk% ze{<{BS141)ioQaXCs;!Mjpz{k9T_gWSx|7R8wCX{{lW>4Si(SGZen?fiRB;*%OSv$ zdw+55giNnR;8kx6w`9F(U*oo>RQu)REFS?(46TROj4^~Sr2D{{U#PLuW$=Jzf`2l8 z*uWQz0dU9$H``&*fNR4)ae-y=n$GH&8D{64jy1}fvDbFW`P#mW;ng&l9lN1-$VF&J z^{0vZT9PO0`Sbo-y!XVOHqWGdbtjxblQ{o#0vjU`|-{$ck_Y15Q5PzBR* zT+o|BB>Klk((p5gS2NQQF=xMzUchLe#}WVD0{`po)`UnHt!|lN=WuKOi|P4Mkft0l z0Ewt;0R1xnv@$+W9iNzTOf+`O2?C;_MDeYm!jDch5o zAb({3lfK_A=6v?3rSQL>20=yh^kDpfp&Hd3ssycEtdbZfsR|T8`<=*7ak_19mfAAh zfe($>t$I^?c%osJe2W@G{q3J_CtkY4J{qkWDJWod2}~ z@JHyk#*bc{W`J=#?EW=HT$xJIg4tJ^n&LDyF{c+^MS45Mk-aj->i7&ilJ}=+vcF}v zKlSzFICX8|251$t?14>OWJtF^8=;NdHJH*2nsYDOVe?(!TlcTRegOTc<~`6xAsN$k z;iew4$o|C4l4Qt|d`!bXD_uV_y_t?eK6^rUgXkkK?aw(2WXQ+4;qB1DtrDcmO5S=9 zRl2PEvPqL~q3_(3{E4=P?sXu-a{C;NrdRVm} zl7@JQqnGvb2z!47%UBF?G=YJyndRO;)y`78eo0AA>86^hP}w;2#13B1gBcEbcHGZs zjZviO$XXn#PcBP(3^RA40m-sPCDL=H;xQ=#CaI3T74Bx)Zwl2-x_@Xzt!6{@c@dwZL<8QMzr^!iN+t{sNbf18^hrW&Om*W5^c zp-xa`h1xOo*m>!QB#C>R91;5sM3+c1BD47-aINHw*W%+$vaWxDpKq(?DdU;{GeZplO~M z>l)k{;L7X!YVlPtx9Uhp1Mtk4&xxYoF$*|4f@8c>CLdH!(z--n@VEszvZR0FI;}SZ zKa2k!)rZoYExj9S?I2qjAEfht&D|8)`5*kT`~j;Kgvx%K$67jBvj?UVnQP1JdL!&? zk-c!x_;Xm-4O)qgK((k>=vLWU7q7K?mkbm{dW9=LO@9ta)gNjH2N8tIRscLKNEY_`S7Ujs|j9n36>8=U3PF!lS z8RJi}44_(NTB4r&oy7+&g(=LXKX-%>n}h4UzdV+=cw&Bm3y*Qqn`0tRFfWF8ci!E@ za%RE&+xdO!pDw&&uTgct_3Xs2Gt3h^U<<}g8aU%&7RFa`-|Z8x!-0G`wQd|XTNo&9 znAqMZJ->R&g$T^8IXztVo5RSdZd|@WV|yoUqs`^UdCXe9Xg1gp2gNNip7~`&Cyoge zH$*QQ0lvfHn(*Se6UQI4k28~Q6-)lIMgQk!yJNy-+hwxkAtYVi26bPQTW2XjW-(S9 zjT?()m?(^CL;=V0I&)zOE{B2r4NU2>Jr1T|O}!(IpjbnufP*QfbcEfx$-MLjM>VZU zdW^+sgjT!nYi!kUZX&?;=bqCqJwNSF#Z^U#s$`uTaaah3CjB|$_QLIYuW+wgoJ30RF;2i#0&mp5;MvFODbbDFbZ--YS zf2`n@g^YtG;7bSUtJcMusY)J!{he{vJU)1n0@aK`>sz$P=7*%fN2l8hRKd6&?LgDP zJokHn1?v~gi^(o3Zh|V2OBuxE4Q*DbPc@kEr5{`7U_ZOaE9$Pl=+jt_KYfFJu%{Ap zY3&&GRH~EifD6j;oioO}WLu%?b2AfWtY*n|B35-D^c4Lk^9RUH%P@%QQA*uq8bJ!$ zgGg-$aqfTc(j2qhs#VoyDUgpJ*}o_7Z!ue;hYa+hn#O;#0^H6k!u+G#gsk;kME@yg zp+hZ$s~jrkkq+FPi7f~P<&w!j9bHI7wN=rZEKr5OmzD0Ni55mdb<#X>j zg8h324>I(>OZE9ucB$IdpEd(O;ph*o-_T{oq_L1R_NF^UyhV;*;A^OCxWXlZHT}$e ziC0-0%Huc=v^9S@RiQ|Bqja-zc8YMyJUu%%#$RpZm#$bwF*0*(Qt!S7c-VxETdWb1 z4d_RpsIwkGZe+xO0R4$sp6J8k5jd&EbO_wvDuJn)EZOB! zwc|}LC!S5)R#;I|KbM)jMcd=xCE8=*9`1VPFw}G%Ht0J{;ZmoZ_Z`lmuEBCNwE#Az zpfz~eH}rlT6Ap)Z6Y2Gb!M^Cd8gbV# zMp^znpBjCes7ycY6^Q6uX#f|;@?8E!Rz82<2AnjF(`Nj8wlY&gpzmtqA!83t{kosU zQ9iJyMMu%qGE7_ddOIKl`@y+FZ^mRqwa=h8@gx3ellA_{zT>`Yf#u| zoRgM+)De9(V$NmzhT;4(HM|DpBZ!+h!wnLPeb!DcG5f(xD+-XJ2y@cw}&XOx9tW6`VW3^5rXdyi$ zTeq?m#p6+<5H>T%q8QhOx6+996pGkFZ+an&#q70}d% zV9K#MzNiI%5hEx4%*Ao3M?gLRAfG4y%r$yrjtucXX#U}zvjZS3{>7t}KTTeSapQiB1@4H5iAF=NjKHHQC>Lb_$t?4fl_~8GCR)Z4} z$70bMRqM41$Kp7WYnGfR?`bp&QfQ2hTWsl;LciW^tBi3CAnidez(I}nAc=x@_K*;)e!-@vLQE5Gne8VXv zjoVf@0rADmMz|!Wca;`s4GkgB7OLGD-QBeW&w0|DYi18#?{EDP9q7O22Aj-3Ao1hAF zU#FLnCL!4cy4O(K;jCx{t@M@h$Z#P57{OZ?^j(=M_(6fyrC(;j5}G;}@)h$UhOB}k zuVs{yV=E;z^=!DdU=|2GF)c*<50pMghSnY?EZL11Q%8dtjBw1jV%GZFp++qJB0l5{ z!7*US@9wlQ1jpmi08q^-{uuCq`2x{-T8P04)J>nyRyfp-e-JT!KOPR0brPc5yd)jC zvixj_{puuq&voIW<1J`-u^DxP(E!BM^$|90Ya5T&v*CuW>evyD`UB(nhGRO3d~5 z<bqX_(|X8b;u;MFb&URpuADb!dW2vNr!e-;p(p929KSy(P+^8lqC@_^bf-k zionj6eEl|Q%9l8RVz4pb28=9XEeeJvhUFwrO(nK6N1Y#zz@e-6eawABCO}gK8MtGJ3YE3# z<)U@~$DNn{wE;oy+5TJ{*SBN`-tn;w5@&>$(6+NoEu00vZqtW9gK7B2c5yJqO#}QN6sHu;9 z*Frx?G_hsaE5tap?a}YV{(|FvKM$2TzvS#TABVGb90*h;#mome=w#Zer!hRnNv}j7 z2DcRp@W4dk6I|2?{ta1xlk4&kq$)Rjhx>Wow4?~dlRfH6_*AM_kXUVBi=Pfm5OcnH zndPs2496R|sy5EVcW9vB{lNmde?9WN&rlIf3uqpI%J^(J0pCx+FYzs)^B;W!pu@m| z^NX1Oe#vijxZDsjuNjf48jOZmH_|Ls2Q#fyEgPkpN)ST{{hKxTDQ006x}0b4Mmb$s z&QMgidK>Ye?OY3cj<1;cXo1P5W#M1pF!6tcAm0a1)J~oG55r8xxW#{BKM+%sb=2p- zx481}b*#P$(#NO_)+Ac?0zU)`f2I-i{W|~slK{F4v3(LyAzPN(Re!r0{n}2!50?LQ zYx!UPf&8iU0h4}k(9XQ6nOQRwRIBv2R{j~8KrH^5`q9ghp&JUu{QaO8ggKxPHL{3}~>=k1+ZAL-w!DVhi$vkFQ_;IPYK~XeV{P6a z=@y9IuF$T6aOHwCl?R_&^(QEQm@!6VCPT{S&0B>0zIjWUCGf91@QCWItyjWUCnl}7 zwzlGO_Kg_Zt-liBv{c8O2YzGe5BmSuDw}RazIoG&j*-n17h?nm<3P zXL4-t(~XQ88Omp&09p1ufXo&k2r|w7szy$9{n=1s&gLbkiDQAG+6ko;SBGDP^9)y} zm}+vZP#yIp=#0^%sI9JEb=);#MTQl%6~0?RW`4{7u#=Gcj9SE|RK9W!9aeIz{m-)f zDLStSVNrkQ$h_|$Upg$ruohouBWB+3O-88M36xD`sfTq$NzX9UDOV!~nihSKfw8Jl zjj_28W-&}VD#sX+cnIK(QrDD@=K5Bt;hF@$V(iI`^|LgmVe3>NWL#r2SpR0zn+ zDHL=;r4fNH2w#z<3#8Dcz}q3F2X*{^p%u8Yfi-9o|dgb8AG{1YRE{a^WYG1S3>>o!kM)>V3X_47KBzCGL6lVR8WMk6yer}4YPAMpV z=_S?fnI&KwCB*ArHRnZekpGy&h}Lh#E2)7sQr;P*E*$f{?S9Y~(7Hoqe|u;MR2xqc zR8ozsDBvZms7lw{o0nyAAyjt5R*cS4M+2OECMQg?hR(`?N97G{u8_1Lz~`?NM=mwt zCWQkv`Jy?J9iw+sU`sFWj0-+jV$Q$;Z?0e=`_W{D7gY;;h}3b3)Ny$>CK_G3ct!6P zsXxE7%o6mm)9b(0^2DW%noEfij^EWM5d7S&^_{H)2;l#jaRdQu!M%c-CBi-? zw1~!K2kg(-ak2%z+cTr~cB)@9 zbeE-b>`&3$rr_!AyT*0)<3JIAA-YqM+t&2h|1>{lrFpkunY-P;hUMhUD2^6f(0nNl zfGOv1kK{+ga$+4j#r!$Ap|3y-ylgQ}wu7lQI)5JcAART!{2I}h;)mg5F+WN_uKlcZ zLoGH)`e+rbZ7b_%(hnD^qWsGL%!puK5&xe^P zm7)jsU#-wFZ&&eqxVVcnrW!y+dZO`>?a}*{#z)~Xc|+`?oX9+e@LKNZtR?{z=3We| zz^tc?pY-|)FD$~e=tjs$_WH`>AkD`8%vV$fao5CuF@|1SD zWNRNb$a?^{FJQqXM@2S6fq)IjPlX9Cz-N=^yr~y1Mc;Z6$Vd~3jb<-x9%h%wbR6GE zzk5y=eG^!|jlMmb?DQq@WzqM$j-c`Yid2 zpi_%u4El3q&!T_w6($r9tHldeKUMM^_FoUC=lfM#GuFCKh1w7eB5U1r9gyv4f4c>P zrWYG{?XoIvLXVZ6Ua4b%wTNxib_e@!CnX<)Nv0V`>L1IvhEZLlD)z_O$x`lg5s}q1HXRern#h>ud9Q z8l59~CW3F7RHK8hzX`z|7~De*y!AlKtj#rU4BT)bk*jfQZg_Pr?)ybAimv>E56IKQ zLS+N^QqvAMMIG*3h<9|WQ&#(P=H}SgD1EgWHrQk%8=WVC+mCc3qy6e>ZNK^+z@;MV zziL7;IO^$xDQrh;YH)5fc9C3($+_Q?^KS#t@OJ%%0u`$JsnmYZZQ zMtfQV@rrQo4^h8Zyw{KPXPF`xV~$o!i%GX|&NeatUR4Jo&zXy3yc-IX(NHFr%X|hWJt+s; z_dIH+eJ~@Dc|?wrx{+xN2`H)o`6D0kDj7IzVW3Z7~Rn$sr#`2 zAB>zbI6D2)=3r!+D;QZmI5O_j=0I#buw6P5*!rU{lYPPHBV=ZvH0ch91;JNMljbW$ zA^FBdbzD$dARnVR^cPRhO%?^ec0L2LlB!<@5jr=!l&Ul_CKRBH6%v37VD;@q!1YJ| zMcb=M&fr+ZO^!<2t>0#-C=P?w-iyg) zbn9$ct=^B2&R;P8;QWh!M*dj!!TE3b8TkuZ!N2rpR!Mo3nq;NxQZMPat<59BjNqYT3bOqKOL=ix{uzg~tR(o8WPMnL`$w&(ot)>=zg-VT@sbkKu zPrm}DY*LT8kqMbai^QCNb>gI0D;1(=G8%eGV5b(5?~pRlMYP~jBEP;x1ZTj8mw9o= zR3P$!QM$=}=Tj&@5IvIPbKF;(Q`JeLv_j9lkIRhM|Iaia_kt zUj<4(anHO#Qi=xUQBn{HEJKfielPxn18taA-r$`ZjeF1IXQjV!Tb}>8wf@*SXF?QL zJoO3{D^{uK;(k^WYY;nFsoEMp#YHGE$OMjigW8oC!{Ha_@X}HvkvKLXaNK&(CV^Fy zT3BG-fGgS?M(OgJqj42(JN5V^G8Myg3kZ9Xsm3~VP}rag6t2zX(ZQS4Ed^Q-MA+cT zCO3T(1DtT=z~#o1Z(`8~R(D&K_VK>_3uPJTHL-{98P%{6clFmCbf43WvFw<)i<9tqT|<7B;Ov zHt)zNKMnExRv@-e+um-th8bLQ{Zzo%Z7iqw&2e^1o-LtDMTq! zKTEe~@JF3ufwk3-wSH6>7bijWZAK-j<_oMUU6&;tX8ok=_b-`Q)3x!61;fTI*00DD z%;l~uzci~LJ-?xLGW%B_MYUj(#%uu^p!nLVkE=D{J0zQC)>drP-$x+$|XjQY+m48nff3;X}q0aOk4 z|6eO3fFRD%(F-v?7rg4q>KPqJ{4F{jIXxP;^QFyr!(~^S5Uxn2z#Zts{`^AP+(NIz zxC?HSEapn>>v{Nj4SlFX{psIYonrlj#zdU%C$7uoy^Z1~v0$qwH!uYkr@Jka#VwdG zFr-09i8`!12Q>QNdbD8~BfVE{iU`Mui9zX}T-Tp%e|_($D_WUXx~>NI0nkPgZV+yJ z)scm|3Q;RVKp<{n3YXp1L>6_%+{~jUg3(yA!aMrF;Wz-R(=DE8r@2G&1TC+c*iGjz zOv24Wwn{}-FD1=tV-oUARmZs=6!H+b$e$pP;bnNUOEq6Z$Y)5Is5BSyfNy<`=xg(G z@HV@p<`sXbyw^M{N4Znk>3hdWgGc@9S?~zUT$jNdc_K@E>Sfw$5e5I^7bUL$<<`>h z?TAy?>l_F6Jp*%EkCUFpw(q;QSPNlluFvEq*0W!Ezyho-R5Coy%Wp&rdgohBI%M|(9Z5&fK4Q7Pt!`AhF- zh1MRg#iEgGNJ63o{Fl@sCeif^K&YZcQ78~{W z(emG5O%1|dRmw`E%8Q!*H#p2Aj###T9BaJ|bcOfjyJzRIWrr8jEhQHxuhuVi;mzRz zS7yG9m(b#W;1~WuH6w89C*wFwq3Q9Qo#1j`#Ho7tw80>C3IZ6}-++Ugk1;IE%OEWF zI0wA-cQkQqQ&jWelA^7VCm~EdE@o8O0z)zDt#-mI1Q}Mvz<*e5&H5Ss0zx6+z16zE zpprU5u+&Ms8ZYKty61JrQYTS4>tj|@%=w2M7INFJWwwH^2jLJiXg#!YKiWc%fAbrr z`V&#O)PEQU&)xsxIiyg=S9>PCZ zXE=9qX7Ok78^u3`4C=TWv6moue|X>F?%6!D4NX`@b*19P7N zbJag}qAPb>9Des-z<96@?Nn|yG>re%(p2ug%sq~|=OSIQ0UKf7ud;6p#7Zx>R(7cW zRBxB;*a`Z51e#LcHHpjcut^$Cfa|fdO-owWkwm$m5djBF8lY-PTla<~X(t_^KOaw6 z{0G8R|BbqO>Qew$UL(@+&cMv-S;cQuPd+l3<0si)GV5k2DSEHEXWf9e#3cNL_mxlV zgc9z#349a}t(TzSj95oFXLosO&k&d)D&F8U;|-6R@-kuspRe!78NN?{z=Y0=9|e6U zQ(C4_HLCfguuh%&U1oQu+xLA)W$Fkhdh{79;XTUD?t4C|uFgDwr3ZSc>4liHPRDk{ zT{65>UEvT9y)LtkW@FE1H+QCZUkhB&`7T)i<=llRX;FdQBjJ7zaW!=tz{Nl%=J#Y)?(!Iq>f@=^F_f9wyh8 zha&sjJ6wo1qUUlXazY@McUYiwd0iLNe*v3O(KOt#r7-3vyZ9p;;T{`v{`+;V0c`@& zBQc4LUgCluKlTant~P&tGY=nf&*fTb9P`&2H-a26F-&gnk4<$YF*aV6TA#Bkv_1W@iv?!TI6c!3>b<$1#m5p1c5D$daxW z|5L09#wuOOb|?f45RP0Bj9mqeB$0W)=E!!8HUqH}$L0wM-EsY}5B8t^;L2(pbC>Yy z@7+hh02D0Vkh~@sdsuTNnGYzM5qIgdpB0)=G=v*;XfP83{KvZmV{!5zh+F2tgXPH% z{`ybJgJ5I>tsyj=H*N#sA4=^>x90Ey(bDZESJIpcL_PzHkTg+4i&N~1mUv+H2kzN) zpEBI9zC&(p*lKL})DIcm@R_bZQ=0x}a?WFMEI$~la>0KeIDs}{*^prDI&U^v*}spv-VrQb9xVPSd37-MN6o;mz`*Y` z1H0(Nk9Rd8`NIV9tx(jbV>Srz??KJKjpW}7^6xXvzmNP&K@|SwIQ$!u{taIRBmeeq z*cK@Ln4F_&icLu3gON`YKH<^}A8;N4L)AX)MBfin4fZl}Bcq)7<(^B36foSq5Mow+ z=GWx*hKLtC2vfX*fo$Lf0FEq)t+aLKSx*F;z9Ga2h4?sL!ml8l0;t=3%~ z`5TCgv+Qp*<1O!ISphM1{t17Drp7?5Kl*-cvI~`+wv4lsX#@r9qj>WJVmFt&YEj5du~=?P7eY)iu=j%Dbd%I`3h0Ik&?03GOXMWjj>C zWk3@jBI(-xV1`KaH^X#vJ=5k$%vPQ8U5VK$8Pyl&hvZpeen_6TOaP40^Mgms5SFN( zw?(UZ^FuP;D<4g|up7(|$#bhcCTM;zkA^>7LK*|HdI#FAzp**jpR*br+>|dR9<~zq zT?6(~rEg4}fhV~0^qs<;;~v_AHLcnO4X$$ zKR{>#PHnA{sp%V)lcLX?9^O#Dqoup&mLQr4mzd`k-i9YCYf34!Rz60w?Vz-zM#HRe zEbNZ{-j8iCRv2*NyuB87N(!g%Gk5TDE)Q{>_=>9rR%2X zn}m3^3l^l*nQ+aaEyJm9#9jBwiCcnA`NSuHYQes92pQ3&ThU|YhqR&^^MhEcXHbNpml(y6Y2V6sb)%% ztp4hW;rjd!x+Zs!lTEZ;1GQ*cd2|0l4r!~{^fIbLEareO@ROpG4Kx}3N7OV^5+%g4 ztbtMORpSjDweQETTF6)CbE!A`n8YQnrN|M#$!Ys=A3`%n;u%d=-DBlTkDPh_Rv`97 z5!QrT^b(*GW*wok{wtaMMLp5eVaV+sKCsh0do+fgppnu>oX{}%7%U&{G5Q@S zZ}}Md4Zxcby|obXS-R*&FwZ@^H-oSMR!CWo&YMSJjK)KJ#BRn(I^3|f-zeSXj(x)v zv1vIK(Yz0lAM115WO&-~!(hzs8d#b$={*>usw<)uALhjarH$@6uOdD=>_hC1UFV+j zBtF=HD~-sjvM`6lV~o;0(~nq!HpSL6VD0OUBzib=T@wx$9O6eubjXXVwPW;lOojxo zw6uU(FdBn^<4cf-hl!FweiJis@<&}{=3|eI{&gvHE;Mrr z-N;#`igdQ;UxL}|aArHo%%*YEi@}7y|9577weCI^FK)wk2q(EeGjSOTl_A7348Pc? zKwE3}M2}_uZliUDWbqcO10fU({rRnX&UDEt9)a^2%00S#j$+dOgQ0Xy{$6k zf*@UrLm-&WUeT%x17prRw^{a_JTsMs`e@MtX5EgBeCip9 zf%>P0dflrKpN@=r_f2X`;WY~nAx!rV19Zx}$68y*o&gY+KMzTOU$=*)d#20Mj=?@rx6S~VtB$~z-?Qm!e+`G%tI3}iC84nDNu3Ar^iRQDM%^PJ%_@o~E{Xv%fugB+!4L%A1$b%C zmoa$37VH2dSd2_mH#5Fk4bkzlrkj#x${)9(BL5iGSI0l|d&GA@ zxjKHc89!2W((%i1W3jAsnDQs_THMuX8o?PB3gn*|9|A;mgpR-RpD3aL0f?Vw#%DCw z(Fjz>L2@vD*WCDM5lZbr7#FR!#u_4D!%rkbF_uWI+tbQON{^35g5Bo$sM>12>RJSH z{mMP-6sZk#8&txTmM?}$KlK0X-R?WSL)pf4@8k5heOxDShYv6SZODiFz~BoWkJfa` zL-)`-I;>MiNNo`mU|-<>h^hO>Kq#>NS*Che2adu^6mvhU4_>2nKbAc?t;9kY9Z=UK zaduP_`#|;KNG51x))FmQG3T7=i{bx#{Jxe|4v0MJPbMPzS`H*KuylI<%b4qqj_X@S zAdT?8Ngl2GTtIF?JjIC%VS0T{-{WB*Cx(xeUL-g*VwB)f6fw@kc&(ZWo2-#n=nx%* zkuZ6ord(*bny9rWSk*C82Da((Yr*`Ai*hhnk4AiCi8ivK<<~C&Bc~|5JdKyhA6qB3 zoQ(AVtyEsBl$wIMx46j&AIO<;OdwisAPnalCRQVpIlje$7=}SP-x{aPCrr+&8o%sV z|9J~Nxf;K58L`fHqpEU^cJryjq<#U|2)0@RH`@V5Bh^t@NP$KuwXduec_COQ|poLg*azK9;%Tayp?(sq1 z%0UKQyau`#!h3IZ;J9VtKXJZpmck6(N@1V^lltz~JGZLFvd^MX2uPLa#!5axSOHoH zr{fV@vc-rj;#95oAi5IeBuVC12J6lrmDO#obi;Mws!E#H8uy=PELwZ%RgWzA<)R8> zPXf+*-HqZ8jj`W4-gtNbg%u`;NE7D2?_%W~j{=mFeAdP&fj_{M4cvlw=REL%jTe@S za_R#Ya&@iBUaF142ZnL++zdNwmA9=VM5JR^fjw2BLQ7IBf zcHscm-Sjer?zn970cq2VxiJ6w5%>|;R`j2n8!@i#39hVvWCavrRsxKV5s#{%=_qYL zQYZE_IM8=+q(Az2@qM6hq>nQKwTZ(V2v5l3L|Yglhcva zkr-WMsgAUvP!2{;Y(LmmBkjXy@&@~Ax?!heiUK#ho8aGt)l=ZaP9f&(_xBpuit!!tb92{}{rzNy#s3q@?~*(&O(-N!?JAIxAI3ntpYh zRa{zECJ)*}X_oB8Vs@vixLam@4X&R#y#+@QX-94}bjX4WD%hh2!-$sQvVkh0$;jL0 z_CB%i&`VC+cZMBi%31wa)By8l6>;Q7Q`)?H_3^LP`L^3uevjrKb-wZhkwTC4wK>k3 zs)|p8#IMpb5>!49e|c4JMu`;^%m;@s4A+xviYGq2D8q=EC%fRgw|wjQsp^Kq9o!4= z5JYCJsqM)Mnrg%hh*@*X5*S9XGFE}zHLKOSdk#<|Ip4Y`6V+0nnssOc=gS=JP^_i~ zBF^1^yfg>roas^qq8P6~R-NNV3F5Vf687NawAD!EpL;suljoqE(g#gXndZVQw!0T< z#?5M=1%L$!7%8nB7X#1cDpaU!0^o7qGhF6zCHm=m$Qo@?iWXEpJ`BSjALbVrPFQa6 z=^M{Gw7eaW>(6oFxo9Gsw$%7nx$s=BIgic2sSrzCU?j$CwI^HqjcYnv8~)u3@6{|_ zpFG<3-XZ;dFzP7|xo1BK0;2tAv7Cw;co;_cPdie1)QTfo1!*^@4IO0>| z_mUXBnd(qCPq%t|dp4I-s78ey6|u`(;uVp*EruLrF~qk2nxb>}eDjdw>sLX%8S?H@ zY@XQj4L8O-oA>M@z+=6Rq_9kRG-bHX1bk$nD%Kfqm0#J#4Zk8qwSN9xglO zPt?EvQboU_{zX%Mm`UkSnOqHjp+2u(nv*;l*QpBtw1sA{jqX8&2TgvGWm3ZZMo$4! zyk>*ibe5=cBl=JZ)N6u!A#vZl6S&6;I^#&@l#vH*P2d7PIimXse0cbQNC%&hjzwZ$ zgDE3Jr?CF?yg;85N9~1Xys__Y*^`khFv5+!{js5#)o&I5R`;Epy9J_$1yBU13vN%j z*tnYXyV$t4N)jDkJ`4MBmKlqleMbNDM>cQ;cioqmKwKJ(yz4Jse{rnyd?R*u9Ee7b z#GEZEyWU7(iQvv@9xQ4*2$lV%Z(dE&AXrHhi(L3<(N}!R`rYOeIDdOZ%w{yMZA1*D z=iZ{PnK$}q(N;W3qrtOJ2C+-3L>s2bh0xUiFYFhH#!k6WMN=bh`!U4;hcp_i;)!q2 zXTcB>;cWqG{0FE781GLAe}+lxXL;_0IIgNYR#YDGu!8B~6aEL^BIj%nMThal7B(5E zDb*L7Doti@3V#AgmtpW=1G6(%*}o##qCM@e_ifoSn0zf}7{f1EnFx&tJoq z@&@;L!0GL2eqlWpX7W9oWlVhBCZk9GEPa3a+~_@Q1{JaMsU*UpB(Q7fkhEsa1=I^y<46Ho5v<;F z;p^YSKKRjrmQdL=?2UK0XFUR>S31Yb$HFf6<2kQO=VylHBxWLlAo8<7Oah2FyVd?c zmH$@GD)R9a^>@WwR@J={Wd@&s;05#9LET$qut~&pv=QlCqy`L7eyHX+o=zQanWI%wzu){CQWGuvEgnIf5djzJ(ZJFHEX^}_bo*V} z_`MxS52Sf|2=v}(F+CdC5H-oV8wpb?8vA@!Ld}dWUsc~MA~ew5X|V%rFZQZeLSIcLn)PPl;F%g)~ z8lo7mhPc_!tGZnd5VH1cFE;fah!q@%>1;4^i7x={jvX+U^oKN8u>^l){Fq?$l1lnZ zIn~5d9j#om3H;A7@jpOXM;q?(%SXFcH0JGcS2tj-Y{Kf%?(NRYp2T76?*1P&z`NNq z@l^M$*?^CCuX|3te)GBKyvDcsy&*i@bB01`B|hY&0;Lb;L~Hb)cerc%>~c>qb{IK0 zJjCfZYAXuZ+>s^Vum4ADY(Iv3#_Hur9B^&bsn<*D{*I2TlkW&BKy^j~lem(v0YX9J z6B@@g2=d@>glh+aoA9@Z>DTjTbL(&0HxO782%oSHe@MT*V4{HA-sM*P>@m{zUI$v{?;81C zFTb1RcboivEx)_v_kSb(_7x~<`&;~ZpFbb-XBmIqY$EeF@dnVA2v zF3!=<9u@j|Vn9Fp4AakkBlNRulstb@T~xS2WOKk3=VO>_0Usk=FY@s}tq`MS4esbk zyBNno?$4?rv;hbHASxm$6cp4nLGYL2z?R70%}6oQho3Q(_^BR=pQ+UnLn&c%;V5Je{R5Y_DB&p{`W)y>0~lzj?%m~p(r48sTR zPxsLa6Pwgw6b!JxR=Wm+zft6u5rb_k!2I;}Gf++mO&~DDGCzilhWM=p*i|P6w$^*D zU7H#xT86M-bhI}(dt2?%{#7eLqGK(d=qem*K?3Ytffz~&mY!Nv`>{V#RFvFgXI3lk z+3;aqZW}(#nuK3@DDZiZLNl#wlTXs5tO!{}^*ET6uR<{EJ23c5z7~i*C*HAA=zBtx zZ4*}te>!SS1rMc&K2k*eSDeUOrQmG8EQZyuU_1(X0Q(z~e`7(k07yaWr63#s1wQ7o znefp+{~&zC1OBhl@R@i>(Bxb^geeVb1BOdTSfMbV=KQpuqA2W_j_~7sl!bd#d zPf5dPhF0PGBisD-U(Lf(=fpEI%fN8)2g^V_$~cN;yd-tN4E8cw5!+Nys{YOLvDlMc zzV}DUM?A{E2Loucd}cV*^3OZCeBY0hk9g9bE}t0=wfwq+%MblX`G_a|kQ|eKW;oRH zTMjNCjqC^OAMvC=T|P7X)bd5;#%eIBgnDl zJHF=nakcp?o!z21Q*jZMulwLE!MixTmdw2Z8qcco!hAT1H^TszyFqnqXOS zv0z-(<f z^rNGs!*t;0JCFtkZbiyVzEdl3=n(pv!U)z!@I)7eZcU9xs2U3oBJ~74uwu^tUbV$h zsk$P#O5F_n)E$70Nnl_Y7l_NB}WNLBiEJ{qb{!WQsZ8;az?) zXYb?FGo>G!|EU2$F!!*Vy!`oC~h6tJt`2+gf`v%;;U)}VrRTRs^cq+yx!N`eES53S zAmBb>j1jq_(uke`58~PmssP+mhOA^xs?Zv0s>cc-O()p0kAr-JkoVp}gp~v_Q0pH= z65r@@_xlw^1|K-@hYxrt^MMT&e2gj@!^b!r4~z$His9qcq7X2^0QG&-r4ny<$bf`l z`piAPX%|kuJs~Sze0xq73i$SlEC9A5=YFu%PZ{@PQ0VbPk_!D8Eqa4!w7r7}!&sL1 zBZ+TUxqAli=L7ij0sQ#@{(Jy`K7ckywAavTbm56@0NN729ii{KcXD4Wf?2UwNz!|JR)Q(2);O9fRMhd?wHHJHb*y_^wRjGSWBGUoC0P*uNMTrry;a8m${Ja>=3{2stCu2Vo zKVJrZBT+8YtjWKrYBhkfbhrbt(<1+-s$Kg8zcIjX9Pt~;6qOnHHGL`g`GDV(NUiy& zCv!iJUuyp5o--2)QCIYekcH?pt|2Z!1lInZ#=}JS3DJA%Xu()38w+VOY5?&zH#9t2 z^c=Io)t`{K)EgI2HXe5r8f1F-33lVj@dfr7qI>ov^c9qb1PvYO`LoR5%=w{v&OE>s z5;EtAGf0IO$_NSBxERXv(G^Fjs+ovD=fAqm+_jCZ=uhepJvhrO={JWrVjzc6^}H1_)yirL+HbY zjXp-*hnb_9hx9Qk>60huTmGfHuI1^W+i>{1buwk>6`O~rVrtuuL_yd^dan!=`-i&ne?IK z%A^kg#1)S;efUr>0uP}NA2#|J^&VE-%sixzSxKKfK_8!X`kwk+(}!@-Hx-%F^dam} z=u6uN+%xY+>!XbzlTJ?iO|`7$6amB;k2Ib5P^*ED(1{Nlos9bWznV_GlTJK@PI-b( zKJ9eA#)HVv4iOGIBB?llPBoo(@x)(ZJIuWgT5F4W2X;chd|$Xm>aZFf4*$`5J39yNYjT8<+A9* zhmAf)^#O`z9@59Glv8gz0v={t$Ku^wqUZUnrYC1Q1s|()8g& z^#&1AfB3M`$EYAsH1m)?W+i>{1buwk>Fa6Ihj7rh<6Ap@2s;G&TH2-$W8Td6hXCS= zN18r-C<8iR=C=<{UIhpz9^xZPS;RO<$g-FV9Y2oaFc2eaK4skX7j8lk^dk zjlSQ1Y|`fGNdM=h5_e?DS!~(`w+M>GNdJhp4Z=G3i5A(ub@< zAD^U;pltNLw#B5+L;B*#Y@-k890GmV^4?ba^JdfM)%1Do^m)<$0S`@|H-kPz6_U{M>eJ_5UK_AdL1p3Zvn?7GQeLhW}&rY8Y{a=bcUj}`M z>H`!-zaT5=Lsp@WPtr$FHu?^HWYXs&eNC7j+v*SK90GlHZPORZrZ1%F3)$%lq5lIB zy8c2L^dTw;6oo!yC4I;$^zljh2+BrZPm8_~>Dz(%wT(WYa|racv`wD_j&|BCpvRv$ zcu8<|z^pEl?5Fhsb4^cM(MKh1khpa*$pQMkVZ1kPG*{nZD4(Rh_ z(g$=7g}$6N+n*yho4#C)Yp$KXTr~!GnDpgl(3h)Xn0}jiG<~@yeRv9e0A-`^>JKgY zazS4SGTZ78=o|`t?b@aB~DL`tsYR&y`J|OXCVddRjhR>SqbH!oH-_O`kWr{=6Djubn=xQnW5; z`n(zRc~wD*KCheZFk^e40L=oj#v( zrRno!(C1TqfTEd4)8{kk!&B%3C>wnT-m~cQfxafp=I!+Pegb`1W^wI`hgDAP-d0v; z)~;?nU4fmvPFOMaX6@*hT(>H89kB zDzD{EZA9RSet~2>v&gWL*@&{eng)F=({Zac7Q}0hA|)j#Mz7f=I>NXKqRbV%@O}q3 z=naQu9LuoDK6G{u_T7zDgo%&Ade=msZghk8EKH2`!w9IvBYGj03b@S3&zBn{Wr`6q z5QY`r$TiJGqBmWkkr$SFE-B*7yRAm?DkJh8a039jM0prEA9G$_j1>$lz3W84*5qvD z3nOP0RyLarE*wW@^iLC_u>zU4N|5DG;D@qN8~Yu#-LW)(c49F1;yG$?ZEt_v8iwNL zo+8DCf8bt0i^YWHN-^_bX?v?(@_?1LwI>iZSBOhTx~4eQT2|`-FW#2nZTZ?z*_dhY zQmFN~bN1rw0k5190GVIzetw7hdFAe#Otc0z6&5Nhx{*7!oQdN%pmp8!z}`$#bf_#( z;&GBakAH9^_OC~>&-+-(LS@^=GXJTgwPW!&Ri?sVb+T$4d9;^0My2&f5U|#)?@wWcpSFT_%oK-9PWF` z0~E0cA3x-Okmhfc*UE<)kleso2v$wS)e^|oLEBbS{7cQ>*$@(M|1sN=UoMC4B>JHv zO69S?l*@V637!vZ4^F+8FU2U-k@znZeJafUQohv7`1jh5@6GtXwH;r=`1{(9$B@{O zsBJsm$N0Tw9z-JgQF^)G9_L!ZiIEdlLc-_7ZVEu@i2dJk7(w-~>=;M6L76u+<}cB2&{N0nR$zMCFK@MhUo*b_J~5 zj5mxD zC(t%pF@qVyvjWb#c?+rtTAp1JmZBXN$CG?x|FD*oB{hlRfYc;v7Db^tSl#fYt>)75 z7+LD1S1lGpDIn+!#H$tq3yP2Sxur;*j zwHO`R8eZ~Vdd)kb7P;lE3YE;NQND z%ohGX7~hnr%KxGKO^J;^7_aGfwE;r-*H)z9hw=|=BeTS-wyF-XYu926*?IV@d(P+jEe|Kp>Nl5r=4W_w&oaNUvcE;gV1who^cyxfZslA3es<&TIbZ7! z4uafsI-{ozmHmA@rz!~U!@=W1?lj3%&-!lz~|dH{CO39j>_u7&E z&{Z_O*H%Wi5>w}8M4eRL^j-}*Rg-@Flst7l$$wCVPwy4dK;rtbKtEp8j|Tn7F2^SE znXi<8oY0Sx%Gdma;&*%d+XFpYASMBdNwhuWVsy0q z?U&?2V&)CbMMyNz^E*gQfKn3$N)Q}85DKFU1SmiOa!+WFzd+9&yWDm8_zO^wbl@f2 z2|27MHwTYM#Scbc-7tujyKY2Q(#yR_d36bXM)hpK@3@{#_^lBD(=!2FfuwcUAZgtw z$e+7zTrVW8s}Zmwur>_RU`P7^Z+sUNI#58N1G*GC;7g$sJn$eQ zcn}jj+C=3BfUlbX@O4uFzOIhop(Y3(Y$13MPVk_d;01R)h&&#|9uJ@oxAW~d(ow4} zAW9AkGk=7XIn+^rG2u>AVNSSzff@39Q(;bcs=*9--c*1!l+}%;M_))L@3ZU=~;R_pN5g>pSp5`DY`FE!2w&BJ39O zd_wt)xH1`6=kVR%z~3QFf#S`4xsr^ZaP5wN9+>cp03DW>do^()CLv&$h_Uy!UXKvw-KVWRH+ru+?k4Qcag+Q{iTB3dV` ztt%JW1kt)7LYp93cP(g(G=rYg@P~s=b3Vp%hL@CFh;1!bY(BX|p=)ZiO_%!E7?U z2sS$$!^)k}u-W09NgD33J$e*vcH{Ihnj>l88{_VTGZWpN?kE!aJ85&ByOZ92;_mc> zY?*O)dakH}{OP0*rs4^DTk(x)xjuFZFZ!4+ykK1j$l>Ktak$3I6LS0%UY?U9g7ET6 zQKe4vs+{_!p2QxB3b#jp;l+ygSUEfv437oXW0m8vO7>`62!_ZJ3iXp4KpNy}5(5wm zx#zW5SD7j0XFth!0y$(h?VAIrFm$J#VINdr?;;^smt|fty5SQmM=MHNooXP3Yta|vhO^ap+T~oU z5RWqi`LpO8{J5Q|Ws%n(<$?zabCDwz`02bT2fT1Qjj|m0flYQULINHXT-YjnDZib- z%+BCp26Jt#rigbj7wXNPPC)aT(3qda>u6%=wntm%6L@4F8))$^_MPu`?Agh-v`C>~ z9P9>gF07F9_!q~b69h!c=D3I%1!QW;A)|#ZI!WToBP*z+23kGDH!X-cC+JpR10ivIVQIVuGwxX5N zRQ}KP&#}?}iT(khSAK)bLa_)m0q@uUKla`{KFaF)A5S2IVSR=@Y!YnL;DP~B6A_)T z`HV~?ENT>OV^yRo8es-dP=hl8rsL?eMXS;UTkF!gYgxo<0?2BW#UesgM5}ikw1~>u zlHdD%?(@u^5bNjr->*<-bIv{Y+;h*}1f=nNU1Hx4zplcLUkQsnp@k;K z9vPWNn4yLBAS1Igor}wDYxr=cCsfOMh8L_42rcx;r@o#@2>9KX<8zT}s*@-yN8`qE zxsAJ{v`_tweS8O&qoEwRDik+R-c&IucVD^jVte0*sQ8*xbabzt#QK-Y2_(lGQeTJ& zLzU}6YQzLllb#aek6|q!|MbPhKt+Y4Fn1I!$9cyDCv`UuZf5#7?8y`pATnqPY%lJI zpsa*t861|$KV%;?K9t>*vKt)dbDRT+EuP>ULs2P$NHAYn21_MDpR9j@DUMzyz&#G* zTdicm2WXz(kPVuwfTYq7Fd%8MmL08NZ<^v}5y`4-Wg$Qcw|cAHt)|9ikAS z;W;kQ^tu8xeEfZ~j4ABu|HxEBtQ6x7M8dr zLdVYz3FN3&B{0k+1cq{sZWuHJx)!M7dYWu3gDDH(P!?Opv%JL&*z&EGv%J9n_84wkGjS}Q z)}YT=k*AAC{|v>r2EA^>+_q*}$NO?CbMNW20&a2E+1#x@C)N!qnWv!`S!VMP(S!>T zJncZ{eQ;JH816^69LDXrAgV+$`T~SEItMdODvHVQ^&)(2k-q{1gH3Wn=LfzyrJa8Y z-rM7iB-iiA`V91aGF~Sl#QIz+eH^cp^pISCIO`8Fmgd(UK4W?(xk&)Hp7E04N+iSG z!y|aHcRH@;#ru=)mP>apNiV{mF7^UT0|^y0f4bOHkr}E1rlr{42>0vlt&ftC)j_q`|`CSO|-$1oYcIDHndO&Oc-MW4=u z8m?0pgH=by+Yp>T6%am*_iI1282=e@{NGE(|7QvOU;DqppKZ1be}TWu8o#)HDI+EN z@g{aKtFhE{8cSz)M&4QV?B&QnBT7e|lmL9$N*nMO*sE4EuaRPr*k5f*W&fLX{MJqV ze(*~=GMo1uMb4r58`@g3=FgWYQ4uRSu<=U6(} z_sgW@I99WI+M|-FXgyi=A%|F@r`Gy-3~F&EC&B1J0Bycc{dt#2ui0uPnz8x^=v>|a zeiui=_>VYpc>JJmAq&r1K6)K7))D^y9e&8O7&oi1qp{h;B^zkj>D`S+csH2?mq zna#hyb$R;xX6SqEJ1wWL6YPcMHTXD%AX9L^+TO?1gJjiA*&RG-zX+PFEbK1hdX>n38UYHtbD)V_i@5FrHEeLKdFw4dk_{ppPxs~_+kLwgr;#W}YYt^BBh+UvCle(0YEp-3kK(aS?lA2=t#LpI^exJDqd8GJ z*6C}Hht8#AJ7>b2+(bJ4g?Gja?}+^@{8OGx^%@X%ELK9B;XjA`_c`G(c_z*junaU) z6s#C4_}|t9{r9|-OoM0>^cVOFZ2GQv1*;476q?N7v0tS$7h7i`DfQiU{RAE>&INF^ zPbQAR#Z=kWPvS3Qt z!~$P`@OtklkBL3QV@p8@;h+e_IfIqV6gZ<-X4edw!a~2xn}D7Cb@Ubi|MV>2cLX$|mW@RXytNad z(xTzBfb`erQ%D!Ihxe_P>4&BnOyEz**8o!71jrdgIXe}C6!}WjXWX00&sP7N=Tb0e zqW(GTfBnr_`hU4a^%=9T7G|qIBYS<(@25eg@=C|%`3B&@Q99P)gBCO4p5gq1*$C3( zEVD%}RpNwx6Pg?Un`HcPgH#6lri_0Z+*zB%14*;zif2 ze@gfvC+H{#c`DUyfFe#6-s|AAVA8hkVEydBT3eEc((CF^lN@lWo&hGkBcIa%hb zxN|H^3RqGg^@iP9#*#vo6iUg!J5OavF-wZ2r01R8!TcqqV@rG;@G!V^>|kgO>c>=u zPlHj@_a6!R7J`r4nc+)XTjT3L+~%$^`YtJW`Mmj9sm*NFS55`LOr^CmakkArm9u@FI4~u&WlPa}Z_%GTI0})&wZILW z)=M~RVE^xM{#`KtSuS43zF@d+@W^=p7u+wG-pIl9t&P1VdNsBzNeqYlIc2sdkL zA56lZoF!a+2A=fnbW)tFz|j*i0accMFPQV1gZa@ZO~Nexm#0&}_M}Z_8vd)`$Fb#u zUa7LKMxBIpTDTZ>CHTUY5~J=U`8Bba>x;@_qppkmuB-yyRYsk}mWC>;E&Wq%)a?g- zfO!qRt}*JkS8RqNwfKYjzv5q`4qHI7W0$%l!TqZ@2zs>7F0xH~$e5QS`eQs`UGi|^ zleh^dn2o-rarzF5(-%JXO33fTQeSWIvnl* zKQbA9Tq7UnkLLAnFDTl%xlmBY;33GWf3Iyy|C%XU7N&F-?b_z9Q<~Rk`(@@^fzSv4rZ$F-lBl$1drzy_TEEdYI+h9D{^c-a@-LxQk0YviiYTN=` zZmC9KV#o&fuQo z=RdJ#CLW*V-ACNo_MVE3+P$ah`2X8>@s0D$$;7H>3GqF%W~YsO;qhBzv`ROL?G ze2)2fkXmNHM7^`|3U+H5GK;{JW^@e=U$w|Ueeo{XPA==k9KH|(h6atg1wYk|Y)^k2 zc078e+=D){HSR$lG#oFGA4C@wvZxP=A_)~P+F!N#JsYK3N6T>7V5W%fN1%8niM0LM zHer9lCgCO)=wpJujQjAp80p9_z#FZ*82xKOQ1BP>up4y_z5}i< zTK{-$AaEgCG$|MM`F?LKHjIN{!b)F-DykR`e3HN=lwO6;)L%OamA&c=`yCp13U6Z1 zSv_!zLdy}toH)iXWch^tO&@N|<`yZ)4xl%yb^F9n$d`p2_FkkjO>f>}44x`hBhe#9 zBlYdoMb+xh9SGgkygd{ks>S%J9=f=((Y82HBi=6Vhq+t^%JkA6~|5k?4 zk|c)5d$0Y+O}Fqv>oYBXMCa1J&S5d}yuFId5)4?koc~5&XpWGHku2OHFYSxH7wO;N z*?z{-={;yjS8obpLY$*5d?jI?y zJ=D{v`y=)hOypc)9W(eFD+i0d51AZ!8It56X2S@S@k9S1oNesSCnWcfDzG2}gQOrJ z**?@7#3*CETn*!=aSLv9ht86cdWp3E}dgJtviSImCj$#onOPwXY0;y zPjp^lcV4PH{|=Lq)j2Do^EKFIWheZZ(YgO{D`P=d(kKFt4QRc9y|J{ehbXaB;7l91 zsTOec{5l4;8+pBooWHcpBccVQO0F=UTt;GU}$tc z@|>6S{*vy0k%a3@|1P_KFb79w2PPwnIIN5QpIoYm!=D-b`w!uWg6>~hBqX|7 zlgOHjvvob#*jm#~a^$gLMfb zKU@d|q={~9;x;r9N!V&)A5DIc^s{HH=q*Q5tu$?4{1#1F_5~EcbTofATnL9|cwrwL zopGxfx)b9*x2V_?8UdX%p^$0{D&t(Y@qE3k61r6^j=msLLD9rcDOe<^wC6J z59?lRb>39}W@zXt>E8@>*l7kkAo6(V&O{seY@@YqLyzyg#Q0+TG$n2#Bxb{IxaWtW zaIO<0zG=oKX2T~a@$|+qxxC&O(^k+XJx+pLdi$zz*b=V@wnneG$!sjHG@F5n9eU## z$MEuyT6b=5%qB^+wB%RKgb*h&rW*6hlrg-b=`keyGjB+z;-vyRr~v-lG~+yy!9Toa zfQItv7kR-BG};BL+`%~(lo#y8GnhDyRuQ!e@~yVxpJe!+_(ckQvzmv`m_OI1F9To) zZy3Ba){a&Pd3h}Ea2)E!f43V;=jP(@&VjjO%Y%pfpWnlz4ajh??Q_h0F0$#~RhO_$Q(kzj4$8UDeo7 zN2kOA*5l6{m=+BS7@FG2Sn52mDokx1>Dywf{3x5vHEG?K4ub zqF23Vz*;kRfBAuiTHhM<)ElUj0h-paT2=G<(MEMM{?S7%@Tp-DYpA1JQZ09_LWKXS zEW6>5fTxrIJ;$K&65dJO2UR$`bGIkRFtwC4}OM1w^PASL!US&xvZ}3*w zXE40`8_TA*nNoMa*Jkhmuy&i!o%vu?QzC?bBbHlODB^Ei=_Wl0{YowRF%-I||Kt9( zhr1z!YD26w85<56SgqwQ&;_Be>U6L!w6OjqbD4Vhew!|t!Ni)sAG75T2O!Z0#sN0e zy(o+vXvp`OJWdn@h<@UE}>p((Fm~Z1C0mCwwOmOiAs6W$ZQJR{8mmO z)$oTh;pYl|6s)~D|Hb#nivq%TOti{-+;Q^aWXxpwuG(XRd=3s&4?IrBW8=oyhj_fk zx5I2)729TpaVVi|+w{KXz)dM^X%5)Pe5=;Xw;5xo?n7*h#f}5wkRC@r8}omWfWJ6C z#$9F=Oo`MU?(D;n01)h~+QVIZumbQ{RC~C)4~JIG(nzeJ_HYmDi;lI2ds>f(lpteZ zDMG1%Z$-`cPh;bX6VZ>(c!MQ=xZk;FHRPzPp8Rj4I;Rb}2Fk**Y0RH<)RfcWSWLdp zruX=`QcUO1Gi?4;XOjD%ARz%AUu^$TP6Sf00e#udA#kW3#yq>(%pp}bwMV*o8BB@ZuA~rChEG^w0>hYNMJfIu6ssgMrEV+4ZtLI!F`V!T55*k4ZAO30 zcOPoVx)M*s*bx;CmgqV*8Why{XE0S5L>gYO4KSO}2lN zZojM5{?SuyY}CG>jmq)c@0#4cu?)v|ZTQ>i_E+!K@GnlZA8D%n5t;N!Zr?!rLr!i) z5MI2KKaCV3-HJ|BS)zwQ@gAN`qQ5c!&4hes;a?*_`3JiWnYV|%2-D_^Lnab)8B1%r zxelz&VD6fd-2KL~t!DTFF!lCX7n=k3yD_C4+=Vk98Y^WYCa{ z@DC^aSbj~c7N|8gFv1Gd7`S>6^mKxb3qYtA@su~WV5ETnw{^pgpOg!ErxMz4iZY?4 z{Oy{b3Gj^xfKC7Gf}CbHcq$Y|bHBl_7iDF4j6iW&vu%z%WEUAf=Qz9|sZkSktSdp!qpwEIOm1kR0jg}>a zMER47;HzS80xYttAvmK4Z-|EAsKE3vZw--!MZr1XeC_0pmnB})1MM;!ku2WA5b23E z#z^I{otJQzO>`Oe|BL(=y2AzMWB|?LN7*sMFQov&MIb6Ah8F(E7w|gN_iMGHj3cOB zGH|fC=;wAN>TfsvkFr&e_$f9R8V?RzRJ25D?+0h8*=zu>>0eSeAApSnHmqVvL@MZt zYCPY7p%G>DzL!V!XO^8q058&%|AqE7U*1%9LQBQrRQ79n_wN@=b z?tbgz&Ix+q``P>+wM&2)gA4^J)|2_qMZCQ53-CJJ##N+lO?-H;zP;RKJa8hGCa^^L zO1_JBswmr{`G@(HN_oP@Oy-{vp}rf`?DGgLwIuo|#4^_K zKb6ce5~(+-s5;cQ9gYa+p^d(g_=pZ;Wt({hecKfCbmJTJ0p{5x%rhmKc`m;w&OC4( zXkLLj>pKPOFROi zGwmB9Fp3G`Wkbvoip%jazeHFsu2K#mXi>um_=cfpbuO#nRWUgT;sp*u8{*%ab76vi z%%=FqNaY_hN`{H^j~V@U^Zc`(Q|e29qTb(L=SwuR=?>wif*qI7CX&YPOe^%M$1!r#Qe zB3}vwN$Y3!Z_KB1x8}fNj96VQM~n>1+AcMVVvDB&mK72cm%5H+AUSq0-?t~iE*9kr zm1Fp!M*qItDcqkQzzU@n4xA-n@(3avA0ngoIkAWtyg_-`v)*JbTa9fu>p70eLQe8e z-jhsEV<{(jxOTJoIW>NNhIiP)ui8Yrfu(S=r&2WnNQ}CNP#)N71m^QS=f~P3AkQ@X z;=WYidU@z=1SaEw#Hb-zW-rvvW~^9@1tCao?UBw#;A%WzeRrgbw}db1&SsOa0daa{ zh_5>rFT@|eN_-~_-Wu(N*;@v+8m5DPPHAf&T&Xa7agT|*0_+*6H|ma&I3OmbX5AyH zIh*se%+g)BIGj<6$@BouQ}^_L-hWEORojSSPsmjoYmJH1Q?}NqdmhcOeAdbGzBBGT z3Dp3|F0o7G^Z3tUEE|ln?(#_~f1Zk;J-Cl1H6pQ|_}w$nLO#BE9qs4L>SNJQ*0-4A z&%zt7Z}C`Edqmc^6J>pSMAo+`?pS+7*0+{DKwZ2|O@`=Mp`@UU&D|tYsM5vw!-+0A zZia0Mi&_IIyZ$x!1o{O%84KFTm~;at`e(axa0g{PIG)f_5jm$ zP&I?>(?tMlk9C=KqTauR8$l49P!b!0=Ptg};Cd~Ior34?9F7U4vEFzV6j9y@&w?YK zY4c!;!uZ|Iu>u{t%<7AOJCnLIOJe7Wd~p2GCVrz$3Q#@GOk9RHX|GL@cqvn<2kvl;{T3o})GyYmfBeamtA@wAif<_w6rysEu%p(=5`q2hcW7K<^z)ThJUgAxYUK^lrE@a0nACLI5F}s!GqXC zm*as!BB8v)v_E$3)rf*D7NRmu^ZiD#Pxu}P(|9rJ`bw)Z{ZtA6tE1-;b0Z)LhJih5 ziw!wydp@7g&ehxD_tWyMreSK}*KdL4jHQc;YVkL))q4YbkbW!KullSRpwtE%BJxj? zcJ3A*jT-?Iw6o@K-(|ZTe+ff?2?p6!E_e_6O;*;g>knV&hcMJe zmP{F4SMQThhy$@aRQ=Em%WeKGGI|nW&=+fhLo)t{wC?>0=9f5DTVvQdrmfZlutS0e z=Y1wieS!J|f!bc?Cj&F@bAAPoTqUD&*BQ$ikzm$ccF0(;9aTI7k?82KdGI55!)~nj z8!z$iCpl(r6TjJZb{OGje+z?Fk-hg@%d`EnsZ zn{vr9h3>|pyLZr?J9h^Lch+T|fyfYXM7sLe>gpX&?z$-vciGmNXHXyt%}`&g#P+F; z2Q@*CCJlGea6)^~1bX~Y#DBp#32XZBVhk-yH>mriw4SA(*rg3>HcCb5e66P8F+xex zc8kpRD`t^3Z0kwS_9tUh;_G)~{%=7IYkn7nR7v$xCGls4oaPU#D)fysUj6ul89&9p z`P6ZiaZ{ptA37!`XMua#);Bh5FMP&g3f?nL*Pd-0yF0B$4TiU!Jg|U*Q`$<&w;(BDlwmiFo?2B+)??XWm5Kou4OF zd8B_msxZ5us{4igF&c*F>A{C>BB(EX7V4rOj~CxA_VESQ*yb=C_=j(5%@7Y+=YW%wVjw1NLIA^aY%KUI5)e}? zHgO}de~7fGMP7@lQMmS#3}KC*1BxvPKO^u60GIwPL_NlH zjqa(tfbL@t{1^MHyS}vXy?qdN7CI2Zi!Vw@46Th3c95$6vx06(*mT8UCrt~1fCE+UZe_U-XHO#hK%y}DX zIm<}oCiknbFQKD2p;4ToPgMSHm=u_w;8KyfXb5-nV>kkD{i-|Qh2b_6;*0>oE>T5q}&JvJ*LA z$OYVIw_5{1wdvIA@0VEzLeu{b0LtRuLbg>R+#&W2(7+oG1jfO45nmLjHqaB4V<3p` z%n&kfZ6(b>uh5mC8Ta%GsmSCl&Of41O4Kul0hxXocD%71m_B-&#*~?9vFr83M}lc0 zIO)}Oz_NQ5EG_%5CKFX`DA+uw@#Ae17Je8^#Gw-nAh{8nNu-z)J4#(z>B zPOhiM9JDG$@NG}8QG2)mSq?%YNhSK`6HkbbUj`!iZq-EM3)I zwj6ehK20XbA8*41`Mxe1qKn3|Xf28|nC8XXGAIf8U73|_;&M#-&b-2+Ex3h@Vyma{R*w{dXeboD6kp zm=Q#nq!2tb7UEQZoqyJ0KnGf^R$~qb|4e0k3gE;iw&-)og%R)~Rt_&pFn>(T7}Z3y zI3X#C?r3I+x&N_S?|)ngp%)^~+e>FNouc$Ol9cptGj?#Z{JqZ#p?<~M0eB6F^E(e6 zymsufj$_75?g`eb%lB%VcQ94A<$I(fcp>VkJ3iBEwrk{NJRaKzy=Hmcm&qK5C^WsG zBf-(r+wkSVKXa^`?-aHrzJC9(9Bz&2dV_bZU_cPIIEW9$&iV@P*)#Q@+QsqKyl^#F zO;(p{-ajb*3(g~w&!~#EYf;M#c18T_QH-PyAqH5E$GWS_Ws@7v?jRCn&tOa##%v<= z1A;xQCONWbM4bGuNlViIFomJEo3=h(A@R5gum#r} zWn`?`OaNQ$33qS16UNO->UR}h2oo;sft20Ixts3z4KI zK9DBfOKn2vJJcGVc>YS0EQa}+I+qg(6LG!tF$gKsqq?z&opUpx_|*QX$%LjL6~rD( zq_cchdbh(0;y~E+>y^M?+`NdkVhm7leG&rcxn0?aU7yMt34xLv#qKOEAP5v$ao>&i zo~WOj)X%r_)mQSB-9C(~ze3thN6_Bu&iAZ>3Hpw=W|XXTISo8Eq3 z_31V-3%H`>1g3_@8~l5s!S|)XY+@Pj129G(MqBZMv98E4hXLRld6Z zVEIb4&?5OV=5sc)b)ZENqi!(@v2el`nA3MTf?MW#;H@s?ZardP%C^iJMEwQ-=JbB% z!1rM*OK1$kVi3@mcVcq1mpZ^$7A%c$zxwYH8GPds{Id#AutZn(7ybC{dg#Y-tyA

    C5^Z2 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�NF6_dYW#nn_j7=6w%a$2k4-@E(_#m z!#vC87oFhXEUV!m78pKJAxv0S->DxUi>&PrtgU*^>zvLYF?F@}QQNbG@aOujcUS6pn-8vIebz(i3^ zJrQ={u4ml<$jU?KHC-XoG`+3@{Oc|S{CB_Y0I5p7pE%8|*I-(C{Eb;&Nt4p{{!WbK zE<;`3P~YELRftx9?B8;yWdP~`3s!3j%$k%oS=UKUA~>#6IEhTwuU!H#V*_AJdBR1u zNmv}KVTBdnJd&AVg|rEy5$O%9$A%NtX3WzI1rVQ2vK?WT4lg5FWSh?SzqcNr*?s)M z3bgfNGYsYJUC;S!!>O6(nI4ue=92R}+|&2=@bqFmjpzTy6>X$Q>+2De27%Qr`UWZ& z*srQ#eKI3`<4@wUMW7W31BDr>p4lQG{v`kZPpPPzIb9rDDj$NyJ~Dlh|L`m1|DReG z%wOi8r~;N;(J z{Cx1VKHL>oS8T6;!t7{dMly4ONn~sW>D;|a8oE2ZC-xQXzy=tCjs{ku5DnB`!#ib& zQw7mI1kg%9+U&(IV$g{b%Qc2V(v~vzjvwYGzvf>iUXs){;sh~n=IH_ke6?P4p2jWA zUrNsoz$w@`<&dzlODqk7nX5U`Adi$D<&CyBZwg)m~&<%75TCmfbSACVt+Z ztDANYp7zbA6~*>}T+}Ve^Gt5oMq|m%V!;>P=GVNns~zR_2s&Mq9L@O;7h6k00y0II zXA*^1`NGb9P7x;cE2N}w?eBUsQyBqlk5{gnnM^*CdX*9B4<`z!+o9txxug5Bl9-D? zbNL;no}Sjw4@|)Q}>Et(18x{7pCC9EJPf>_1+(M zn-nGNrlDvxDa}U@QLKHDKjCq0PvN+u>Y}htP>WR;^Gi3c(B8!#DjRw+yebQU%*j8w zeP?^}4uMxJ@EU$8(2{or^f^02AD!$vx}f1$P*rI7tGu+ZfprpRa#UVg)X*i<@{fARcB9{)wol7YgEcJL5id^rHG%rAOmOuEECvujc^NGGJP$@Z}OG%$P-eJv=dFPE6 zDIqd8Q}R-mk~JMlh_B+5#STR(dFXvAD#)&Ae!nMkmK=~>vZ%{DbGwvG?^1GOmy(vl zsQJL`nxkDx=5{HW(WRumOUVr#OALHJIb&D*GXvC|ooR?DiXRzW^kk0z`-c%24%-q- z{?c0mPES;HHEW~^Z2T7vXj>SH*HOpb0aK2_5j2?Opv-TprVt3+FOM6AuF!(U>#+=P zVLoKa(QyU1$SxV062boYsiwc$`10mA(VqZ@icowKFnm5>%5gM%?5i*_Abgwa{<@A0 zY?F?8U?|q3U8xh$NgQ4_-V9!br18QYz}V;~bE=>5C^94+c*7rZ{BM9He`0TdmwK81 z`T3}qcb$NHWXxk}=%eufagr~IabGANGv`k??H)MgD4?9O)j>>9e7|q&I@TA6SL2LR z2qW{dL*P3MSsgN+!hA}yoTCZhbV;#Pg-2V3ZBtd@LHn=p4l49dJcG#~BSoJuIrFD1IP5Y&72>ecEP*b5vtaq)Z*Sl6={BuIki?n<^K{YXJ5ivk=c|CAAnYpjvw9U8IvQ}btf{u!_OYlNi~!?JU|-^Am{kXG3?Rs1@J>nwh4 z_+Q4a2c2j9IxQc5y{~Mi{B!#%(m=JuQb0uwhoZmr{&oW_)&a2K=1cp(gs`?$|1(V; zn{Mh$`tLoJf5p+E+=cn?92}xU`L%Yl$=#e|H_y47)9j|z-Sp-7qlNiTx|m92*iEy$dBJX`yPM^9bG^HH#%{*Dn@8+sjJw%p5QN;#J9cxXyV+zn z++-`hsmYMx3IKMyzka{ z!Tv7x*F9!(A$5*Pa7aTc+9}@e(AM=i76#^jummdvs%N~M%FJ*ywxjtd6|QE{rom|r zXl&!t#t3d$aR+-yxWQ`UOid{EJrv$IJ+m0?_xw8&5J&!5KiV6b|2tg~h&v(`mG{~torLIk=osI)<4=dfND9(ascOs`8Tmt+9Ebll5JnTDUdHk zC|gedyIi>!o&Hx>)Ictey5fpUiyNv?1WQo_OB+s;oIx=&3oB|U^J9%Aazc#S=JG3P zQr4!}Ib2*&5N6}yQkMjgr3X;G)|z4<4lhE^(n#WgkF%UEhw)RdfrBC=Ey z?C>%#lxu9e&3pW;D(}t}oSs&4q7L95BbFsS?}2>d(M*z=&-qYaIE9evFI;+;24{Cq9&0 z-@oaN&lztg>61`OU#R=HWsM^j>Bai$rw1DZ{kHw>NdfYmcI{`t7|A)@&s@MG@s~gD zUNnZwjsvmr{1?tP?k-AV?Ya6G;hOVBP4~y<$?n_5{_mbOMAC}Qa~a0>Pq7V>9oXIU zi@U!-IZM&6D&UXw{CAqxUyaiXa$4#S^!I!ZNQ`)ZIMjjolec7jl7Dc?(TqZWIGY@k zPh>QMKiiDrL%PGx zb4hzavBE|f%ypsIpi@_kBD|)`?31i-j~vQ96a!8)HaGIhh|tL7>{^PO)vP0d;TfB- z`+lpUv2}hH0Kh}GW)k#r6|Wz0N;%%{~P8R;3V?%dB$M)Sqjk{w8^DtxdPP zK&|@)4|Wwy{vA!(W5>ji(MS87(xaj4g&QBobsirCs?ad`$AHOe-Yq_JY;C?EVR8;} zsO_^C>yMHQc^9$qc;~Qof9>wQ$a)#+`JhUjE)Kd8@8=yyYTo$B#x3yQ{onXV`=gp$ zy?L`$Jwh8{CcAXJ-{09e%6p~H@ZJpGBfg0k9Yqd-oN~PyN?b+D?jr`za9tsJ^|W%; zv~P+)6`}446cT|FN80CVuE{dRs7^Ic?Xpn*TGnEF65yQ?;kOWD)6#id96q-T-V+aI zaBlMJy8&+&!{E(Y6!oRY#QjTuo3U{phbOa0s{4&RHo6THFLD79X|*DN4Jr^cf~9kU0GFNYxQ`)e=L0h{x0xeXhjq>?aOO8a8AV!ZoK}7SnxEZ zF3dl&0D0l&mlJ3_`Ea^D>wotAmm^P6xcPI2Q2yinfsgnW@mRSJ^y+0 zqnYtJRwQHcc($a`sD_=IU)0xYHxe!aeIVkt|cRix_^&~a7l_uHSMgwGG z%6uS^z*`eTG3X3^C&5~D1u`Q5NsE^McqNTTMo}5X7_IYjzJ>01_$`h<=rY-3err>t zt|fVhe??FOo*90BYs5^Qa@Iv|@NyfSFf$2QOiRxaF1*@2c!}n%o(@(9?)3i$X1^Kl$Wavvnxam|W zJvKLykU>M^GZdyyoPVMythO5gDzyWYvY#uz=j|JCVYfCIBF45P^X0(GsXx7OLtsB{YA>98t=c!?JKihIRR|ka zwEXW>JtX~WhUjCmnRK!RB;hLvHLWN}8Q8M&-~7%3_iix7o9t$dz5p>Z#_2PV_f1OC zy139F*yq15gSs@LqihS^H-3e&Q<;7&8ezu zqie{hqD(}!v8(!X0^Zj8<4A1CSrJ?9tcY`1ar^zwaokp?7Qiv*Zy{YcVXJ?k+n!_hE+8I3W8x-Tk z^cLxu6>Yv7K}zxZ)7Tz$VSH$>+V~CaE#b=7CLhf?*B8al%&U#h4&oQWmAkwqWq{=z zH_p&j)||H^@ndhfRlB3n-)bw5CjT(|UxpjLMt%-*{35v&aprP_d2y{yXOG=nlsrSp zt;$e|$m$yGCt4dW`>S|sQYd$)ojKB4s~lMG;fvO>Ns}Vcgxu40=7D-0&IxNZ#BoS- zj|U=aKdk-rg~n;b6u5CDaVbZnZEPHCoDV{g?)lcu-q^fw=LJEO~d z&leQh&dM-J#pf!gTO>yG)Hwy=*d?W+B((zn-|$|!ah|af{s(4&M6AV zE-2>vuornwI?AR`vd+9CUhHpmEA7kzokeTUB2nR!X@W9`M25c8h?R3;*^^; zj9+)Hgh7*Z8P9+C6eHE#PuDB{bi|=nc&97;HwyhyS2V{JouQ&Z6!|R=e)t7UZw|)5 z|2v&J8PDCae`o)1)?i4_x|s``f2#xi16gbuTpbGZdU;i<@Tx4UFOb7~r=*Wt)W-8y zoNQhE^FBbo@{s)u)xbZwA6S#~3<$OF&Ho>i-{;2mC%^xr{rv9a_is2v<6n~B)gvUo zmo$7;`Tc=K;&ms#k84N?*|hvFx%>Y_e)m$)olOl7)TgTcGWmVq5af65nO{+UFE2L^ zxIuvrV+R_GKkkYat7sHOUm(A~KJ^P2IPova?;d%nMQnHSyAJui!E1g+>SQ3lH%fl* zHTnHJicNms&V}SR>!6+WCuGa-+RAq)9~O>&gg_^8?+tjzFU{KR*IjEVuaA=_*IlLQz!A_mp_CRl+EguRPah1ovboV2ExgS8{K zPGL&pVF->J@sDSTq!=|9vz7|2a_uPiPVFmliCx3`QX*87#Y7k6W)e~xY3()QK9wSL zO;~?7rsILwY5Rb|&!O(NIRx$cDrv4#FwAX*i1*tHZg&lZW0xZ3CvaYH^zY%a7gMIx zNX+diRve&OQ|yqCq6vZUAf^`%N+4o`Fou_O%-^lQ&_hmfo_n9oUX9#BkI%fh3%KX7 ziP|y_yI2?AwI$rPmt%?c)<*r>vfbg_Ewz;iZ|>#1q@XOSwgp0sb~R(a6#_%y*nnF6 z{~S$NTpN9^w(Qf|=$qkPuZG(`rJ_$Gx$m);*wV(WWM8o+FIx`F9-{c|=a_vGJ5tcS z#zoqJYVfrhpunJ@e9?-NqXvXIV^Zxg7iA{I2n#{7dKE`vSC$Gdj)yT4_g#Q8_YqF(kwJ9gEIqYK> zlyl9?|IYu{RYamUSB0YIpvo(8gA|D98h_ePG(Yavtod8JOlUg%4wo(d-L62d)n#6r zmwD|ByKM6(^ULh{{h>B+YCe_$3;WwX&x*&m;v*^ceOFZNiuQg)(MuHhb@zV7`SZb> zzCiqRnm_OExL-IkbGoaqJbyl+RZ?pHoPUCKa<)J}4A8q3m2UprH>rDAgZWeWHH%;` zr@|JcMBtqF$M=vJX)aNALus?q?UzVE{l*6!(JTeCiuKRBhJ1x&Gs$mR0{ihYduOs< zuCHz!dDU*4I)81#^Ujj7_Bg0JwG`s`_t}RB=TX%aCT!i#`PIr#t@cCKZvN0Z)}#w= z)GR~pB9%4mDfH&4WtF%DkQWz(yfvX%pOCkj4gc|(TI60|vModa#Wuf(_=Gf|O7Nsg zBQZ|-);gF~lisaLk1gw8=EEEQBlwVDz+&scqLNbmu52zT=U4wEo#HIU(sg7t+&}%j zT*u3XGqKKDE;L(w!xLpj(&u(S()0V#5_sWw1T-jZLsQH*3UW0*>-0CV(R!w>T>&N# z74wumOa(?ZTj@6&x_ND64sFfu{j`3tZFc_>6tCd91bidE&i>e}o?($Nd8f8F^;Fz!Ul|S?a%S9%lF03={4RvrPnVkvF#x(*#o1Svpul$^aV09Y4YKDwSL@rfTS-I&~ub$G84Ssu^vBA6BQug-|2TG=H zc8*b-bV3avX;OZU;1*s>%Qq>-i!Lx@K9fG%i-w~j6p|SF%;T%uSDwFcrdoGTIK9c9 z3_X5S^9S{d69f553gsR~ntr!y#3?d$v;SWTp>h7XySZ!;@(cX(>jFMYoR>E6XW3sq zPZM!@V;B32Y%8mILAv>H>E?{nEu@CUwsMJVD_bTX!O7Ma;_I%BkK;hdonDi)KC;ko zzM1wLktcT0akns7D+^6Q?^$94HSz)D<3D-}T$i*kNoE|E05+U^4muM-=3yOYxi-9O zYnUu8;UNSMuaLSrsW$g*>6427|C=2iywMCPn(@Tdb()q!V!25g7t>`tfdglnB@*z> zmfMM!Xl|nR8zMwos7CR{p{kkv{6QMjL1Bu)jX#y?alud2Vr)FTG`0c;Vux^T^tFJ8 zB18U>(!w#Pn5Ky3M^>Sb#udg|W?J-e|K!hFAhkfm15_;r8*d(zed)TRE{e4ay&?Mi+`U&Twsfz>o=Z%$I*uG>*YH=u9p=xx}va(22$kMM7Syx zc8W3vzbxBFQr^z}39F2xNZjx29wwhM{v#*?=JBsIj$HU5Q%Fnw$-s8#-Uo909p6Rh z;?uYuWMbogwCIm;PXSX?yx+7w@J)0jUT$-xJR|qhp9_sX{s_I^*~4;P2OtyE_U~bF z@=He^1oDfCwMP1mdGZD|$o$$xMXMj(ICAwr0sk5Y|K)pt|KtGvO9fE8-{eo_&35qr zk@&n6{EEip2-*i6*mh?=2D9$rTt(l?KmUB@+_xrZ5;AwIS^IgxfBv{1V^Q8(UkEB> zs@n{Dnp~!VW%9@I?WNdXQe~P_I#SagdQJD_OYBUGgl^>f#)p#i$5dJp}_EcL`y$A;(hm!+qdS?Y(Ha9G-syjJwzE&5;W=wIsa zH}CO3r13YccLslo>WJsRyXygGAN7|6pB?8uYrQY?SyiXch%0hO-6K%3jpEQ_{50(@ zY#2w4PbBfH-KfeKgY*w)P5VwMIb`QUUrP4#*PDl$Yn_J~RgaiLOjF^4K4asLrl|0f zs8PWITLG~CfB?>+4$jg<2F{=L>exMb3!LXXa34}l2kX%=RG5wR!?Laa4|v4h!B>5c zcRgU1m68bmFkwQH#OKgA9IGG3(8lk-E%8t8ZCdEeAqPy@4~J}bBf0~7Jojbxec3R- z%>MthTRh#KSv<80Ni13lj7y#@Ddsmq#CdJyI&a=Ld9TC#*<4PEW(~Q2!b{#@v@7b= z#DPw$u6qx>ZF?p~fst;NgutZm6m&O*y*=to() z4EgiXb=HrO>R#N10Mdj*eC!;#9Q*OcRw z^OMfO?Z4*Ra5%(!TJ^;94_Db!LD^%Jxu`+WK}gIv@EHs)Q=H8lW~A92)~Yb@(t~xY zlDAZiDi8sMDB}|dDgydzaJpw|zXCBpC=SzhP%Q_DtO`fBqYSAhs>y%4Ao~kq3iMG5 zMbDNrT5GH-_|>k~b@sc+xLI8NhTR8sT~A#uB2ra|;e}IuDouOAhTvV{H4;6dL@;c# zYtF>f&FD#- z$qZ^~pM#*x+;sx*XR03ygR`r97oq3N5Q$SG-yb4DQzGAxk) zl=u|?rwURb{%f%5Fcoj3uw4C_Z4Z3b6%A5Ror;|E=+}IJIZPV&mG0X++>1l?;&JZV zMpx8FMFU;Y4X)@t!ngcficBR!$V(eQB?@VJtCLDORw~hWshJb~P2X}76Pc^`m_I_2 zxpmUfK&alMY+|CYo0XjO@5h|{JCwZ`ri9FSf0eL+Fftj#;#3S6sjR|Kv&BSR9kG|q zyu;vW+S}J#^thGYW2{okX1zt%ATh$vrX*o)?u$BrZox2VgF@OApJJ_zprxA&z>+?3}(pd zq+ZY%lhSmtq3V|CdqcnYO`X&$5IkbzwFYQP;5k9}SqDKUueS*}v1Rf~@vt$d6K7kK z1Vg-lL_01m(aJ{02Ogz69kJJR2@Oz1M6UQ?hj&mz@}N%TVB#@@^0y`T@~h5^W9wO` zJZr-V+jsqmDanSsJj2OLlVxsSII`?8SGdt@TJB`o)gyn2gvY*mr4whZsym(^q1gX> zQ1&!s8F41;bP{L!X#e6&Pg6oqV@nhfqKw>7NaXkT2^=1}+P_4c2_Qcq;-tU0xJYC8 z4IbbL2$!wrWB_mOOVlg|`x(V4X%$HR=s*q-xYH1)H8_&+PA90jVUc~OO$j=>rffsX zG=RO(1YA5Vv52>!AFb3bYoQ4(QQtqPmq5ES=!{JDZcJ$Q6)d$J$q3h}HVHa?Q=7Zo zOrQ%670i{J8~RvAf$cmR*2?~wk)hbg1q&1jHhdvJ7EVX=bCzq2>U`4J$cgUpwOt=C zYeB!vt)~vh^3vV$xI3BWS$yc>M21pFiL2w-Zt4idt^`XxgmN*SdfsTiPnO)vZyIN` z@ig~-*eL3f^GYJ6Yu4sZ)P(^$c#a~GZUvh;IskPe|OW_|8B$&}*-TE&p zzuI^W@J8^6idh4;o7(#}9M#;DO#vLK8_SJ_SyJ`HIkVziPxiw^oL4nJC^@krV4{0D zhN)-BV|6xDyNM}usl%)6n#sdf4fSq9!AOJ+z-D1C#@a<(n@)L)$bYnVJGg?yo_}!l zkD)#Cvzeng_Z2>4?^+V=b!^8%fU?$qUd+^FiLscTfVAsU-ameYgk}!7 z2ty_12d2>XrK zA9$eEZaQsLLZd{AXh1dcSn4I`5IZxZu&HZ}9J`K7I`HN~Js@QQf?}+lT_Zt}IP=F0 zk44t0>SnA0fk!&cKVrz#*jlF=czF}Q{-ZtwoU{C1u4SdFksLBNk-25e4T#(_vua>q z9mAfb&6hfI6^ngK#lGcYU*xb}hOaSn${Gu~#wM=sBwx%vctv1)E0SHG{r_iY*_dLZ z5mY)*ZJl5KknJEE;w&_=iwo5tfgnVqde|}DC&ti8HHe)Q6ez)Y3uf)uWDYE9{ zU=3-vWNSR^3S^KFZb-}zxLL~ zE!$68X8kJ;`p2R#Ki1c#+~#$GfB*1p%&-0+piFM;QhTs}Df|1;?)#e5_gg>I_b*-i z1>bw~|BxDbP4AbBBvr|LNtUV*=kZu-hj5W1_1ktI#i?YMx9$je$G5qBy3ei|nY+^~ z?E9mg-jzgnANkuABXeV?#&&pDw3&RVT;VPFHT>#5wT+|Knl(b8+CT~J(jAKQElzwu z*$(f@)}6XNf@TM{uL6dm9oj)x%-?<&Jxr*e_u(o&=v(4n`}8NBPs*0XGv2TKd4nZy z4s{d>s5v{mt5$JA?%bW;73+6;W0z7Lxfp0}wRhqw=+EKk5H|4;Fvvo0$G|cg=(%Qqe_wk^HW((DJg^|4|u??O}lYJm0D{NmCx|)_9(evMe=yVl7heNkeE)-w)R3{XR zQ`r^Yum5)g@~fb@BmD>NpZ+qeCmsM8@nm`OKoDDnV3L@W{`h0#PBr{^XTCE+z)OYw z{?~sQgBnvzHn^{V(_rVK#O?Nd(2dm;I>x8I@9e+6Z>8%S3px0>6gDH!_!{x5CHj%X z-Y<`y?LaVa_C4Tu)SIXCR$!r%_)+in|9MW<=g+#&;lR_~=jHZ!O-VWF(KJN!fAmm> zPGj2~_EbJMtNf~uKHsqd`~IlzzegNr z*Rg$cfQjUqOda<9g!KHvCJd>dY?>nQCKfK0RJVOcHtg`60w2@1GU_PCoK>bCP^e9V z*&;F2_67w?Yttu4*7n=i=})KRP*hqwMG1)=z8R<85b)|)!RyocLUaW+r$O#d1=NO>1$vk!J1 zCmLx9ysv+=LpYIny{H8!lBY;;fV6DVf|}|V?lNDY2OtHFcy_RanO=+iIyH^HQ zuA2QOPs{Jxwa5DF+;F$|wEkZC7y5hb-&6h7F!K)y2ZTkTEKG1hWV*Mme?QOaU#2%# z6IIrcG7fr_7_B}F$!xiXsiK_Cu!lvL?b;e$A+O%XVHR_`dKf|nF9)G7zMDd*2`+#6`2i$OZ2hd8rZer2 z4%&zLkiJfLKzw8|e6|p8yH68>6XLi0!e*bP(vW~FJ=RC1n*U1qrLOI+{p4Xzdni2e zx&K60K5<#YnKRx?vZ~Ppu|L?3&4TSsK4V&4+VIC2Ym!f7L-*i$0dmOCC`EsN$f4Zv zpO*Fkj0_?v&X61XQ2u8k0Zy8i`ck8Y8F}*9ZZ<|E<5a?)W-5x~)V-nTnU;1^t_#L8GQ$g z708#+oW1B*vu7{O{{DPzpSyaKKCmkIV87qb+c0|t{c|GX#`gb2Y#(|4pWx^o99+_3 zL(4eYkmY|+ligbZQIr_msmmRx>H2?vrvFR}T@e z*=N*6eU>mS6%+f4UkPyTai`wO+*R!FJ-17j#aG3NA?mm5-?f?b9k5DWPW#Ew@mo(O zzM=9J#W`4)0qI2+djgEfyxBD8agy6}Tst73dKs zqy~>JgKznN&fahHrq?8GJVGt82`{rd7yED6J(==@3wu(;UWAtm!`|YL&Q4a!Tmum= z2YA~q7YwZ`nLQ8?`2RAlKUt{?*>fV+tyqi$IVVvD_G+Uq8WyV;_OFdn`KDo8*~Z+Y zfF1(do)Jj?;osHB4sH(OrZZ0(m4wC8jN!o_bx!w06L5s7F)7I=Q-S;$(RoGJfqet| zF3HfB{^g&3qmoNB(hcxVP|X@$#PZ)5b#AUddamt3&uyq`tSG;xrGZF-{FQnzxseC# zFGxI?l}ac+3w|X3T{xrs-S>1 zdHy{;9wEL~1@V3lsU`*PoVQMaJDBSg=&T;IOZpTN0$YKicT`67G4l;!Jn=!Zzo`!i zIgU;$vQ@ekXqt)$ud=}C^KKZG>)-zP4rOv+kF{oiU=^2t0*`_lHee3HM)+PH2tJ4q zolW(4{id-&x79Z2R<8vM*Y{Fq+BC;S4x&ME4M&pZ(u?h9SuYl!6!fC;g&_P0LM8k8 zmsl2Fu5F{ZK(Nqha~25nP?4yV<6pN^5}fC5{y!By^G~bV*`C<%{_UxSnp^z-I;2u6 zFQPu550Y;O^Uu`cVD6FqX!Kqak*7Wz*pIfphM4qUI{ORkKT{91`X5j3Xs7Dm=v6<( zWlnx<0q~%WI?2b0!v6Rc%WP9^he&R#@g6_8+Pib7?zDedJedSq%Q{pzZP7 zs=c;@+t(nlk#QCakP=l4R;=#Q#u ztBEf@KV#~#Y5LGou^-a(M~91u-tDVhMXWo@j!gk-;K?$QN|1TpU^8Eq-c=KNc>p>gEP_=DXt0SuScz;L=MG2TT z%&g*UK}R=4DBDnCgon;zz?{JmHxlS8oIpQ06r0Sz)sveG^az0-JffT(&7qMJo>Q(+ z1+ke+$&vNB6^sb=oVf!sP}I_5%dKr*+u-)K=9h&oJX+;HWUQkbZ}G0PWnXv8tmrl; zk{2=(?MnEa!3|vkSN^&)141Tx!84A-9e=<0-{}92|H1x`>D>R*zEb}`5(tKj&Rvfa z>f(^l#8uGmO(RnMJ}BMq?D0J{75@u%;ZMHm$^eIId@!z7`4?<=2q+c{TZtk{0&0mV ziy>K&k*xPM%L&(#h{}T~L}r zt^L~gofW{(n8Cn;{RMyUD*sKPEqRst1RAycj_23@f+*L8a4E?tHZEZ9vcW0sR|{$DGzyTSPQvizNHe7unvA9VtC zqQD#PXz;Jf{|^PpSCId)OMpEy2Mj39ngigk!$1D-%>v&y_LU0!-C^A|!#E!K3DEit}N6Q-jG$VSWZmEfpi;%UBSCkJfAk$IG^ z%GQVCx5HqwVVaN^S;Nob^Cx^WKjhV{39W2>pGQgn-|EDv7vHI-u3o?7_5rs&i!ox0 zB6Mi)q_U0IZd~=doSd@t*RH;e!f6ZAUOS7B z@Vu4PX_bATQJtwIP)n%Kjuib2wZoYQ2Djjw0YSmg(wzekD=^*X1=WQiX`sT>h zYYC3VCp$1aZ2e+Y6ZRfe?9fTtW?WOYq2}5Rs-^}Y*BWpex&n9gdOoflMwm*?io(PJ z)DCdt0nXy4mvtC&9d6Q+g9TmuN`{rzw^>UM29#7xJ;8~|qs-Dn5#;LAq7%Qkeuwh^MWU;Z1KQVp_0 z79@^kgk|;bZr)4N(9KsfIloiqPY}a5@RbNwq1s&b^z~g=J9u??*X9VB4>;gb=jXgU z>vEk=v`Ht@lwll@DCn6A9n4)9A(*x7;JHSssHRR_x|_#(8?8{h1F-x%c1yWTYzyYNc&RR$39USCmma)opM}kd;=da zXA6ZlChhj^@W!{uS6&qwyc&;4q|c_%khPH^>yth8mG-*qCQC(V*IRH+D0fq+KgQ5? zVGQcK-mK+>c%AqgjnjMQ)c3ZrMYc2HVPPnL zMO7~usg?SRhMT|WIur<2Hy=S z_?UYbiH)}$^(8O`E`nL9_XISsOFTH(2~ia6^ddJpwivPFE8SFQ5S{9K*GbuM+Q>q?F0ne;e_newR8VhOVwdQrDw)#g907*lNFo3hXg$%C?(Ei)-`Pu5Bjo z>_obB``-MYp-Tlg8ZR2EO&1^P&6}r=$?q9`zU{qUv5LxFQ+`nPdHeGmvl?pqXRnA& zY1^mekJ3rKwXuN+;WagI@Wy`-rU;X*w;z~dly>RlBdU}A8mH&wGz@q0Y5UaP!!{%= zY8)}A>))}owe_>~>wCGOkK^fMI`DH+eA?MGjZLtoa{E+*nO-Q{6{_6h&7H{0%83vr zh^=g2b@bCn*~)O+JBZ76Hr9SRI)3I5LZC@vvzBc<^+Oet7m_|cHiS%-I3!Wmbyqra zP15RNEGVy0WLL;?+;NiN+|R_2(Mg3(Z|6q0x4qfxgaU&#wDBzh{lk5>H0`OX9o!lj zvefvOK6}mc_=I@ms=VsP-94s7bmrhNooQRD@xQgcw;8sQ-wicQFC?Jm$Hwu>{dah1 z-WKmC%aWt95ueYuxnvC_5e+4kloe84SHw0|DJw! z+xqcv#STR`CML+Sq@$#E+(H`VBi6IaqW(kUjN}{P*s0q`MVE2Z5@Q4D9@_XGvASp1 z#?Nil@k>p+jbrAmsK*<$-hK01u1r6;KQpxbi%!UvByRmY0*h9613M^l`qeU!7>w`I zriz?~UMq8|DAG`0IJP&dBCq+U+^eYy$uv{kjRz(bwM4xC-4>kGRqNHXh1*+Yh%dI@ zu%MtfZ{YJVO=_KgJ)SS=pB14f8PKB_6g7?f*)viA3;o-1Lfazy0@l}~Aw6a+l+fbn z1;tHgR88@iw}x%?zmHWis6eiKTm`{Y!Ihz6A)2RgqMIK^93SAsdrA+euqe?xC0$ec zZeRP1GB*C+eo9ZDNvn8>XHmRQHP3NFMXbZs`c?{}JkgcJNB5?H@hTS9$3xLQ#UJh3TteT_N@zZdL+| zl$ci-W*9CnA%8de{04DUzoxxae-cl5=kJJ?i?O_?PN`ZriQUDcp~^U!ZM^2QfKweG zFLagSAta{t`I#(>ro$4e5+*WILWbS{tpCvOa~n=)JWkp3pE)Kcg~1j7#FXz=IXHXe z??G&=wE5XgS{m`=lWbJFI8QCf1#t@Bn<0F?zp&e{#mPu}#1r2}NOcxnT}!sJQ043O zFtcV}AS;(~yUH|h<)d0n{>3qlZsSF=@&G8kjd25((Y!f{L2$=YZV)WOH6D(#x2me3 zR_9hlr}ID5A>d)Ve~~$-!3_2TK`~7AE7hKEV4=G7VBjjlK>q2+W%Evl{C18%Zp`pU z$aJ*IWnS~80WrpUPhHw;VO=kNdM~W&-8iFHt~c*6dq_6d*rml$sUGavHcH}Ds$4&t zcw{44OJa`64Z{rK&}nil-<3tKLq8C?s7wg9kZJJf$mQlv`ZqR1E`0X+&3qq_YqR_| zUA{JQarm2XGd7!CyXwzy+~wvGCZm8{#27g+kraQb+B?d z`g|{oK5QQKn(HWt4Tu&(le~p>dHm!rtm8cSfKXF^r6db-Ih+_vXKiUKz;O3eE!Qg;&1$Q5gT4 z7VzINBUV@3zGlwe9!$lzObA`QAr$}pDVPRKza?sWQ9|^Yv-ht|ZQi^CrO=u_{Q^6w zdWG8AMzcHA_F*qH*r|n5r-!XhoWM(tKBg0|PP|4HhW~_eRXj7C#*^PiKW^OHqoK}L zGyPi>H9B*~dRZ{cU||KLvkL6JLltX8tmqj$ASfJHg?pRg)FtDu<~37);tNrKHnqYH zNbQhq{NQX%_I&A-y_pCqn+eHSfqLk-(7(o+C5QB=?~iOQ$0&GB%bb1ftSx4pqQMqw z{2?pBfdoEKPfGw&@w445Ga*Y0yd(MYSqT#Lkca-z)Tx%5-ebV zJ~dpF3Q1e(Ep1xJe8XUTLuKB)E4M-Z_hR81-NDzs_2v{bQNgfk46QWOgHA;0%$ z?R{n@ndy!1<@L)SIcLtUM{N&dhlJmO7n_S1)UzvO}{R3D6>tpkyo=93=u}X$&KzGmS zg(yAR`1#&=>RAElNa`H67ImZf4WpCHFJm32k&GD`hCaVcQ2FVxwys|C=IT%pXoKSB zXlZAV%Yt;JpAja1?B2V4X*x^u(AKdfr14$dr4e0eo%Qxj$KMt)Xny`wsu38_rDC>! zQz~g0i94nvB#_bF!r|kQxD%D&*QkWH8z>?_x#>x`hh@RXB%pd&H zailwNN#_FxP^b>NWzdl#($Yb|232r<2KeFtw zb~*1%=FSdz`G@kcoBp8|;+&?VqjokHn7c&3Ga5ba%SAe)1@Cpz zjNCBV2@kUn9)A1_jr>sXAKZo0+zu)YrH6(x0=s|>^O1H6-$f)!XHJ$g&Bh`qf-6Sk zgDYZ(Dd90oH|5c)n_r*JqYsvR2;_L4sMg{H!iFy+5aOfuKp*{I&!dlv2^Bm*`gruU zEPWhP^y?2yAM1P!@IL6{!#@w{;~1Rf#puHgLvIp!ZFoM;HGl5vC9V~)2#5c3{*U8- z(W`m*fBLxt#{UGq_ww_dMZf;Q_&>*o9`6JHKl)jS|2y%S7sJ0>I?5u;%G%zPUubRN zl%3WYOyQ&kNq?*n;?uYG84id4@8Vb$bmonwczOw%0K0SobtCT5Tn z;v2a?6VFSG=jU;MiRQkYkdO|}X?2XeF}L14wN%r&JlHT+Jt0gWXTgXpi&srf53t#0 zetq-EE3>k4PP6Bs<7?cz^op2?q=0B6Gv4AkS8KUwv}m3Vofb#ZE*>;RI|%vdxPhCNJy&5{9u%Qh0-!lsvdgI3q4FSn{i;?;Mj_=Z=4s?9~ zm6H#nZq*`D3Bhfew=x#9Hs{S-o2%=Ck-v1PVu=d{!;kwOoK)C@ti)vuUurVC3zO|Y zSi=VVm>QhC79YOH;p_oC<9%^v_AAW5q^OUJC9xY87BTiPe^zfh*50gPFcebU44HOh zAqF=Uogr?1JeI>BuKcZ$Tb1bD>yO*!OGci1lGGbqYwM!bTV>XKXItc<=Ss#$zS)%- zDfeJ<{lw8-nWL~|#QuRMU^^nR&ow4>I$V^bW_8&y!9OT#V)EHI{;#1pz=WH++-UsZ zKOJuFz%AYvH?Yl9Lj=@t#xe}FB-o(PUf*(Wgj_VN5Fw=!gOvYZiOVmQ3YGK)uWGly z(+`D>uLs7S7iH5R?Bca|iDDfbyUJxAuoMJKc%?r}YM@=sytEB%%1_XxH~iU4WfFSYG1Z8=T$&lmFq zikr7eps;#;?Fg1pyv8;TSraP$sSLK)b1|Yy_)HCW{e|z5e`il0i@ZlkYiBjxf)pAf z&5#s*kbIJ~;=``vwH-_zxXP zO~f0Y&`Nv*Hn|(i;?nb$4QxL&a}@;K{wC;M@TiCY85`3C=6;`+CB<=U!BV_YLVrL3 zoH_s-w3ydn@T8+aI3LVnS5ELlv%H2>Lq+=5Wp7mpsuW=a56MvryZ^S*PFR)Mrs=8E zHr=f598y5U>`%bv8!mQ5u5Ny72Z+}}8Z{TEOA!IcTdP`mlh4GEIhdc4J*FVvNcI>H zk;E$E$V+`1|)J_6=`L) z<6&!X)(Cai@W|)MIw))B_Z?+rPEl`rS$n17nXy5=%?heTdUtQ6uy_0AzbR*47wKO( zzB)0XV4UaE_nGwZ>^^;0-UTrR@`WV(Gv+yml^^qXvL~2$T)}w1`8^QOg6ZIHYb;Z3 z>qju$@R5~yW69an?TX+KkVTw!#CwpblV@^|d@UicnQgyDAGO+v&7VHpOut6_zMi0>(w51rAiuz_9J=vj zUkr9{(o*EBvWB28+aAS|RHHSZ-qs_s@3}~6v03#yb51lh$yO%0_b!yZ8Z+E4_FY{x zNex$O$=q(njcM@PTp}3Gy+W$6ID;A5@O9~E&D+k$|!8xc|+3$)0t|g0g zOI5HSQiYo>%6x=#yhN$QTDeA+jn)CyvoeDb$}&u#bxI>o2pGX8MWqKF9Rl?QYi+G^ zNRZvNTJtH|T3e#~ z+FqR{x-)JBS6V`Cz3K0dqL9Ay_hTOJmHy^aplF{Vhz6s)Yg8|o6b40kHUpeq?I@3& zw2&RUDM>snB#Y=oenxp0Kp~&lmZQ92@kU2=R*f|R)mhzSA5^c5@J#sd)c44EN4B6+ zz0aJVPkm24 z=&S$_mKWRt4Gb_Cvm!(c;$!bf=Xq1hTEod?B)|eC*KXqu77jJkSTfWG1=* zVNzy7U3L4=P7j))i2&{+%Z`BEM2Y=byeS@;2pdtQ2pzLH`u6)P zdbJ+;UGNni)kc^rkCqh(=#Qv?eDg+gLc?+Ok8utYTpd7MsAx06?SG;MSE5foqHqd=4sC=Xz>kn zH+s9gCtA82_%=#?nn3_cr_pop^ZuTc(+eb$x%FcKz4Q35RIwVb~~Uz2PlK7(Z~7c)L9hdO7_I1)^7W~08m(c*jb%DNx zx{$kRxlX4qu>MACM_dh$Y#Gi;&P`&Lek)dYa7M$c_{RwaJ=7mzUkOVP%x;}Akn`Sv zHDrV^T+H~M@y~JlhJVJjS^hx7pD$DPYfbU&n`<|OBne2;7>0By0}+PAME~y zQ;^n;EKmotwzXbdEr;dc+x?0o8UNE1Lvyb=o&Uq(|HT6Q%PgpU5DY;D)N|zT&D|0F z_ZqG1au#D5AP*C|ilqp77f(NKJ1BYcTx=!%pB0lopY=iE0*8#YU0|zm;>|rQvTWE` znEnoa%sehyO-7;ImXZz8(p{*JAvqBM%Kl@bdtyDDTOE`s{7VA?2w+!R^on}p8(k4VSr7I_|^3867paDU?&M3HU>khvQwz3)MHEQ*X}(i zHXcb1KhNgyQ!XMIB@RPgCBih_Ptas@4w~IUkAlTMYO+#93$pYHn1X!0Gd{US=D>pp z_Kel;m^*M%$Dl_P;9X0_a}TrCqGyHZk2EUtFue>r44l1chtRPjfhIPCr1HyF#(LP7 zk_IzdN#tHO_r5rB7DUF*85FPGGUNCO?eSxJGTSCDTHDONhyfcPGQ8Y*JuxR!zt2D_ z8S|Fl-4BPDDN6q(#Yrpuydf^j?HP_MEJ9du9U9c`baWurr}cz(5Dn??h=%lcW!by( z>>bgNY%Vfhzc#vhr7@kzg!R$Xpdryz%zRkASHD01+0Q)a5Q1e;AjLL&p`P}+?HFaLt!sav zN)c>0!7#*Jg^}Xg3iOl6qVEehBG?x#G$`j|CYUX0zK+5eT1&W?IaSHp^=IZ(8AqZi z_ZA8Zs!vcQUCp0%5?JWh^PnILt2Wsv#&V4;3qf(9Wj+Mr7d$HHL#y*8e`W0mADKTe z%uy@<1F@F zoW+hbFbFD%?TWKWVey?-+JQ%>w^O@yI?xS&*6AJG#8b=dZM>E?W~tibFHF$a*)2{H z3bRv(2ARoBf0v0G!%&&=x3%*tCys{2xI-}PR_P&p-D#LQ^}16z6ulW)>{N*X{T|QL zmo8c!?w^y~=)hoaq4(jmS-4Fx|SCUrwAcbYWUSuRkE9mi&5? z*9m&{D~?9@CAVTpg$w$R65Go4P-XT+vj>V$j+D3a<3uJ#M<{-?^kbKG!&&?z%Z_e$ zXRm|^jwSz`IWmNSgLg6*_gEPD7wec@7VDT#gxUOx467wXGOQM5%q#8Bl4ctQ z^bct2Fxy&6EW^jKxo_vXA0z_~|axfN+T|n4qXYJ2dBq2@NpD#Ja1P+cD zCS>|5gdnVqFv?Tn(39wJeCugdCC$g{XDje%XU`G((WM_9RaN8LUM$TVG;#Ec6WTvK zanXy-*D6oSQeN8nh5hjhp?BRJ;4<{!r{Ah`2)0m4WUYP%L#7r3^PzSp7X2Ehb{{Lb z7mGsHlGFEc{8%U%70i6MI8%-+<8AtDy%PF|jM-mhAN2X_PYIcG+oP@IZIWrY%<^v? z9&MY4SAKCn3P`DAs&&#KnN#ktYe>GxP4SLN<+kB7PTDB;EU`vkT6HQnCrxOdT6Icf z@qdDGLX1{L7JWmLlSDN_4g+41;B*CKt0o3}Lwc_QQ9btU zI(f|l!`K*ANg9z6jdKUs*dYjLK9>BG)4|7EjG-owdXl+3mWr7vFiJx)8j=kA!#{k` zHaIp(_Md22f2{W1L~=tsGI>Ly_Q~dHGA=cUq8sH@n6B{hcrq}mSsR>;92b7KKRu+X z{2uB&^yzUrPu;T^3ArXNzF8!8)I?;V1g`Z&@?=E`C)h*7rlNSV3Hj^Ob?r6j|7Jjh zdzsrh!~9jXt0Rj#Y^1{JIlTg#uSTk#3I1eSTQ$|AS!jKwEtiA9vNd@lHRbpDSPTcr z)g>g&l96m|-!9Z(+cH+}eTm^XMN{Y4IMvb24_AwSZw}sF{y|%aCttB01tGrUwXejG z!6TEOlmTs;?0@wl!X_ImBsa!M+*eCR8*)|nU2dGh{_&yazqo|;Pn6hH(8=sLxji2D zF0yf&kbEZiG5+d=5^+s8|KxaalzPVL==O4P)F*+Qkx~R2*#Z|mL^DiG@;=#_?CjsM zvzs@MCiB$rDZGO@x|td}=O$QFM@&P%r6uD#&J!x`2;a#}&abKyG|Mns5WVzs^9 z=6Ki}LksE>3p%x~oh(D1X=EoY^V3aAlX{j|7kXNlGdTy8;Gg1Kv;tY?zQ|e>{IkP0 zb1_wdA5`S(>2$!C7p~?lTuvQLRyDi3%MKq&=zrQ7#EEJPP zZllt-x8s>a z>Wb3XJAXm{X4Q^u-j15YX24B}ksHJKg;kN8`%@n>G-Pq%&K+8sHot<(87CwL?n?2s z955Uo_(;6=^_G!|jtTFe$g3_YNpxKJj=o?wZenD2V&Iz0M-r)trSaNTEyK+|5v%=E zJbkw#wmC?QT%*OZ%NVSQW+d%JXLjYy!QDU%8;MCT7Ho^ zig}4DMs!^AJzPl1r=0dE{d!yF8wjuI;4MXf;C{*2bz|@XSM(yM|2~Is>_?(fgIXs| z5krR}9N^Op8dMnS1aShEl<@Sg7{-r8Mc_mq-q(a_d%t{Y5cO(ro+O!dB)S@ym4m znP3KP@kH{3glFp@DUobMgZO*}>oMSM6L{M)7YV$xfo$3%d650?w|j-G7f>tmfjY*y zG~&t2(HcGvOs~&(eBfpL*oh>G06!1+LWN6Cf^}hcOFrGUv$Xxfs^iDEBh0ZYlGTUs zi8aBepOM*Lo7B)M!TXA!%AVMv)jC1zt8_*w>^L00Kicmn)sd6v$oE#{b!5jf*O3NS zHo3|x1OMh0`y`PJ$@2j7YySpY zax(3nnBVTKT)TW|A4HR@ZRLt55AltYO~oQm*3EM`T8Ssx;sipzdlNWf-(Ow(XkCvN z&%}%lKI(#_w>tCylt<41|D;Y&nnYKP!RRMlsi>ZT185EYI9yM&_DjTPIgB9CQ6lUb z5%yRScAbbeD(bG6cc&pZfpaS~Bp|_DOqT6MUqHEI)yFy!ZB#@{m-!<7t71DnBwu>} z^Qit=<=-tv-l^EvABR{iY6_CsUI z8_E;OGa#8^b2Vy5O-Mc)9EuYj5h_8zly+c_Prj8%UQ;$f@v4e4Qt6lGsPr(iuWlpr zFjF%ZX>?^-UHiDWg+VBMH+cac{6-&WLy9}Hh7BqAC}FYxX&E_hG(mvkkcrp8WFOW} zGS)jpY6=TYQoy>nX63hMB8x`bdLnw(URnYyv}x8we62~ljoWtg_wuS%zO+4<60qw2 zkT54t)(HGEPVa>^MAFQep{6~Gir#V7Rf$dUy;mcug>+dYMf|pj7O{Da zLcrk3vX4WskSU=zPHgTX{!2m8|FD=~Gobf{Q6E6B)7|(e3hb=ex$zlyn8pV$Nq!_4 zJC99b5&cQHladg8!{(QZ;uDr1^eCdZ8Wom8JD`%?(3;jje$m^PpYw*U=(WGXjT*cc6(0!y{PTqRB~2 zjCmmbv9Ag7<-w|f9_eR6)n_s<&w{G^wI7Tb?GAcX-1caal>h(=23ov|m{J&GF!L34 zZ4c6x@#CxzUS~phG(D9d2&urbPu5`Rb@s{Y24`7Rlu0GN(qPxSs~YWkYn4)j$WA%k zt`Ahnu7(wE2}5jFxTU(`&#Z9w@uM@E!lEMzsC_!J=%?JoJ0_RMJ1)k&R)@7=?fka&L@Yyqk?IH3-~rTHm1WrA?3 zh^x`b60zjU@yn^7Vy>H+t3owc(#sjNCN=oG_kQq(ELrSIGbV+N5FnFCKBk@Vw*GP& zYx51EJyQ0`z%X#P*>WABZSk7%5DRMdBeLH;cQwhLqe&c|sjQYXIBHo7v{nX<9Mln+ z(2iY!`*2jbw(`?Pw_P{<+30riqcff&9ETf%FCvS?1u=Xux|b`Dwnla%!#Z*FYiS*r zsSutecD>ts;)V$|I+1*u!QPmt{Y&#r!g{;)f4LuLXH$%sX1zV0 zJllC!qsG} zcr?FwJwM_U*IVYKNO6=N!F;;7^4%!rur*Vo8~&`BvHaj=S@^O%|7C@H8Bl?JxkESn z*_XRqwQItc8}nao;fK(_)UL$R*_8l0yDm4hY5D2ow-}4i8C-M$A1&^h%US4-7i!?t z3#~ZnMKpz8!!=W>61r0fdqW8;Nr@$T&Lpwl;9;!&zSSKx4nAsJ4YaB|)lg|y{{@t< zFSJ)Hj9-kk{i`%`+ccH3NNpCwpq-GR@VyxyUIQ^vs@F;`tL8?#-s%nk^x~*2tzV2L zPpi^RSv0lW5FbrFP!*_2I<DNA33-pW*q;euMMr@odwH7`rQIw7G~osc%UhHG$Sw$=0>SnUd+%Z}D^ z-_8RDt-2-p5|eY?#DzmQ!w%Hpzh<|G`{`N-I=}bo z5K=53-4+@39gXyEc-VRb(3x-U!(a&7X3TF>e}a2T`K%)VPz4EEdCRS=!|i< zNOG?NAz~ddd>ogM+Mc8tP$9z2W9c_+P+f$b=5`r{P0G6({`=Sa^SFM^QZeD)w48&> zns<m{hA!^n3o3GCJd{&lL#AW@mgAR5~1}kc=)IP`;B5>ksjC>wivHX zbG$fg|9?8g_rI!Dc88$>uUB}2XN+Tj<4MQ#-wnoCXmdE;<{Ud9M1-!wu%T!<22&)? zDc3uR^FsXAs9`c%C(I<#SjO4T11GeXWq@LhX1{P{drIDtxcr}MVG_*4O9@QC4(kLh z!X4Y*E=5HrUd%r-CEf9z;Oitf5)MQ?7QJ|@RT})Z+s$v2&E!Dgtd`!ri!5V!Is1-E zU7@wjXQ7fHNSq;s6wUB_R7}pAVJB#EJpF3>iuyGK`TPBy*b#v6t6o7oudHrSPc!oL z5E)yBIGyi;3eqWA8YRGMFmgusC#1lT^l7WCJUG?rBGf3i*BpsFN^wc#SZa3ZNUpcl zWzKTI$`saedz>9htqQJA2KjZbkniYnO`iLVikw?pQ)9bPKYnAb2wctzH(gemD@A8g zk)ZjR_vX#Ab@wZ-gr!S-I6P6acx}_nwAM13;0J4L} z$8HsLcuhY|P`IOttC*0Tdp4lo^B0ZM9#p#YS;VM22d1;%4h0ZzzpW!sq~(xk+t$(vPm76 zuG*DI{w3C(Nep~JH!CvzvUmNncV*eT^6XtDcZ&7Fa=$IM`cZGW{|nnEhGyeB(Pgon z$=&UOP}opjfpHvmN>Y$mauYksgK_L#at6t)^W&Cl)E95Roc*3UgZ(1s|8QGi=u;o` z29viHAT|9ki?;U#7rRJ5R=xrkQ#L=aOQZ_qk-ssOHPE96L zg!S42@~^V*ov5prlNx?&0JN!|MR)$-cyg7z2Ak5$_(U_T)vgn&8e(l^vefMP!O!z% z&(0-oUaKOh+}0BGXT*v{2}`@H!~1@dt8>ew2t0FMEEP59VhvSKplUpQoxxrETdkdn zvRdn4ji!OBB=jwTKp&aBDqg#xxn73VMwu<5GN@p{+I|pB5gi*Vc<{-Coz`P>4M>Z3 zgU{3g1}&?~8KK1KxsD_m97l?FC@YvpP_U_7T-YIt!O5yk8@V} zg(=Prfha-GqqQ3&i^dB^1+0Q!YZCJ4w3n9T4A~Ly_gp=|z*H|&xwFT83WE6L&+=&P zWG>X9)Wl?A!>U6L6>HLJ~j z_-ylM6wg$bHGeia!r1}U$o_5dyS}p>W&l-T2)-$|z+W`YNkNm|7PCMQ2p9P2$O*R^ zf)IpG%tGK%FFa{ngQu1|-fqOX;8D%}%LuMVIB>Up8O=*i6*8Lpy~V9Jml1za^tIzJ zlghI8w?-Q)ZA2v*hIXdicL*zPN7;C7JCC&eh+k6GW>E~X(j+&s(zMZ^k(HJnUaAZB zQo!oZURJo5BDvz!YWzwS8|^gdhE;UBuB_{Ic142HCQ|I_0O~|Y@;2dY}> zzwon0cmOXN7&Rays&0*1WLb^G5#a&MyHR8RxsnlGq~hS*$S>=|cyqqtT!Si{|H|ri zF;{9s6I}b(!TPx%=*A!CupX@XZgCWeyJ?xwx4n_>0m>nr={?|h>hwr&-j5n{NathM z!QM!pBop^6VZ6btKS0q7Qtw&rR-L2V#74c zcu>-OqS$~?pPep?*BSz{32i4np82dj(RsVQ>lKB&dXXlnO~a^avye)$cQ$SK_(z{U zqcr%_x;*~9=zmE8XQ2{VltdOy*H3yWc%(*Qd{A{k4OTRHg|N+no>4Ttk1Y{ut5zxi({0CE?(#)h^%e~=n$VPoNP3#bI1Us;jc zosKMcToIC_W+5rkdX@>f(O{~)IiL8;CZU*e8HoQ zV977$?pDLRRGkms`7H(?kLt)=;$7cJe?L_2k^kNdbDMu7dv^y^J_DwhPS=qVKD z16n}3kDi#$28&l77Z=m3wjzfg20wo+A4+{$k-iuKskhja{iXPdrA~MXK$3N2!K)%d z;cdHJ!?=lCjo{(%A^?+lG=ubK1JK2dSeo9_v){oa*H-g0H9^O#CVpt_Faps=}|?>WVK$t$_LIhWT0iaLu%GBdkvs zyHy$ChT&Lly#le{c+3sMSU#?|j~giEhOJR_0nzb&eX!;?t{}699diyV!R9}>VX=ph zms&vn4(?K6hO1ZMpIG6+U)%^G_;FV&6~8Z;Wn?4aQh8KVoPW%vulF zXRWM%v*6KH+8Pql7IlAX5V`DazyljU~%&y49|6EeX!tV$zdL0+n~>gn{73 z+cX0&6uMloK0?5Rs-~PtKyuUbcVs1i&-DFPkkVcei79)WKtp!jZwJ7cB{t4m&IDsSYWLY3>i|K zIUkvXv$Lti@ipX|BH!m*Y^(=ai%qolS&6fXA4M#y3zg`c#U?m+r{Kxy%XPwZy{NI( zdK3C&esm!w8_Q38=Zi&+HbNO0Px}aIWKHryT2=!p-I#7A;5---^pb}JUmp>h1yluNlyL(#8(H+2x*@OW{knk`>RUPAgH%U~ zDt%0bB$Az-YA;x*E8v?Gswycera8xCC{cfdmTLA#2IGDU?b%_=AW6?<*`INv;&oBo zuoHT1sri#_FQLZ0KR{>DvaAE7i@$W|JL~v9|2PPC306DNFMRaRe`X))OW0rAe}+$3 zx~#C4uoc12Un<06@V0Gl3`I-9S&@F^{ZPJ)+$@`75&T(*e?3-=227HL+v(WOTYwabWMTnhU50^_^;WBQzU-e+a> z1oEaJ_>!zJgS)?I6>PH0h|OHG<$}MDa#(@?FVa2Ma2VwPKClAq`!L}8J^XsQZ8aBfmemCXlBg&4Rmg8M$1M84d zs+6{ECo!&oH&Wypxm7HXdDYo6N@DGb45vRdl+V<`1?1+|9{gd?u*<^^P|HFlmqEwi zn=UuB&bG^lIb6(y>GR-)8SbW@EDVUXvRIevC7Jxy61?PWXm``79g1+@s9)yGzS;XPC{IVqx2S^_}`>)Ha zKR>t2h+l9iq_f~#9~DWl9>xslUgUOXlabq%uAZx0JyTUrNS48jlM3je-{g=#zx!+f z!D(04xBRgIS(#Hr*!Q2nGR6AIiI9k|XSI6t?4c zh&sYf4cPEC8-a>CM&PQ;dX0chd%2w|gP84|49CKlmE0JW>FGJL%<7kpK4qt2mHOinn+1d1mYPh3;b+SjbL^5BMI4S`xs|E9}U61hnD$TLo?5t_vdzVZb_^YwNaF`Y~P z+zHX!@R6b@LY87vHygWW67+O7XD0g4w>=HcgIe9{H@$%3u(O?olZ zpksMHCvi*d#nN<(|2g{oSB`!gRpE5gbfG5bSQLD*r{L|5axcEb(9&R+5tnc&M!Dm~ z6bdMJxcl}v_w5M#)&(aOpd(`iX!;`-lwDKUw3&?y4Tta ze&4#ln*N7fM*NdYas2K+t^mKcOw7aY>?iku-#+WdxyuSk|LA?KAA6U7lpRoPPFp;* zu!QoD>){cuheOrFQ0~i@e~#Bj1@h1Nj{fa3;%P2>rGM4&0qK8sAw_*;LLPpHKT!m~ zS+Y7%`DJinYri|wv9S9$@2#QY^!v;63{CgiWyF14iqY>K;S|kZVlDT=-WjgZ@06>H z;1>G*q-%PNYx+}ax+s4bcdY+D#~)Uok%!-hNjSV${?LbhJ8T1GFX=tKPxlpHQo*2o83iv;wdGo1T{*h zt5+M*NdYVQb>AyDJJByu}&};~$H)>iKI_@^uz}LA~vw3{jVUPU?|X-r7>9 z`2;H4eUp2sY|egp*RS&VRXX0sNF(@XO!i|t3e#G1je}VUl%hCa$Er0Qv9U6!{~4fq z&uj2P_YN7sMi~_IuD!qH;Q?Y_?nxGB>>uyde&*|aL6U%C3aRTB>DPnLi! z7MA=ju+>S{nj_P=+AuqZ4jK>p8GL1_8;r(ys{gU7tcjCdZy*6EM)1t1^;L~VcC1Vh z!1%Xl>QlpkK*;&#OySvfWUq?RBqb0^ndlz!fkxd%^TmAh#RQXfVEfOU(%T&d$-Iz z`Dk!{_A7syH`@Q)kR5G}Z7?weA@lt{1KQ`O{D%P$IT!N_WqzC&yxPf-<34zhi`KmR z?CLgAw)IS%Kf0}_Vg8V5oozjnn@{Dw`J(iAgvhp@D_aIV#7#*iX7o+j=8vXNvR60G zAKun;J@09y#GfC~)^lU?q3MI|{fw4F9y(O74sYw36GLqwuacfk zj4vrSKP2yl^$$0~QmP2Qs(Wc;2{|=*tEVn=EADgdAFkB*SQz&D{l@;?CCZrAyY|s< zvr$Q*T9pQ^#cVjBPB5T==qhX>LOk`iy?5pOliJ>EXgT~rVKtf>{E1h9Y9h~DJ{>+P zJ?H+C%qQC3yS}AdpQ+TGzf$3y(-}3cPLMSE!x*sqxg2SJE`k z$^7CTh4EciCc!`c%mnb5MwfJC zYpF*4peo#?!eGb#4>9R{5)Ovx81TPhIYLsR8#$iZDQG_4rtoGKH_2T=;;XOX)f{~D zm*haYwMwtEPIjC=)&NW;8Z0^ywvieAfO)NSO$~mp{nsUb9AYE) zfK@u)hL-Ks!MHniEBj<81ur8T-sZ%}b;JzzpWHFEoDJrLp#P(plsy-evN5k^I}6Uk zQAsLq1qT6X77;7cC$X-a+i_`mdHOi+@@TqJ;E1Msy4h=g`l4;xm?YO$?TWdBqt$Cf z78>)+Xmi4i2!FSJwx$LDjmB$87QXN$9>#tyA^ z1lKf8T9MLqo!UMLqf?CT{KKh|iW*3V{XH8f`K=+{#=N>J!nz**I7Oy)_OKO8R&Ghp z__&!|1AQ%odICzTD$0S9`@Du1J>BGAZa!Mu#7@V)X6-v$4>O1e2*%Ss7fej1^_j44 zog(9dtVB&J1o_FMN8_mxzb)x@F=Vn2t%qIsDXlVAkkc zfZ4${512cw%6%foiaB7cLV!_40>&y9Fg8S|ZQtmIDENX0V5|qAOXUF|@GW+7bqLYj zejvn(IT)-?U~qMLU%O!FRgIsZ0#Y;4&k;5z^lUO%o8Av${pDJRtQrsNgC5rH9 znYf5acfA@ZPE1zJ!D@8^tEjEuWJu&u(ljuz{@Do)EgU2Lho_X(fg zse$#Lh!T>j1ve3}>dIwZq0`1l0de_^X^YSjhCmt0oWnxA!ON?Qw{g7E zD%&)D`h=0IECJO<3XNXNGHeR)~D7oMDZ=@r|>SSa15-|QvWdL)^A+vIVB z=;bAJSUw6@a*Oyg{?OA;JK6GYjXv$;EiR!}<|GXb<8!HeiWXiOtCSpG<2X7a#2Wx^ zd$hv)O}XX;Ha?A;ua16ua`a2B2uMtcM)j*fjX|Lo zpxUkJ*`%ek?cJ&KtJ~gfXg*i#N87tsGGZq1*YPH@_-3kl(4_bp_x{HDL)+fHo|JELX5=&sJpp>6NZYPs-1Lm4g8F~mwW4T)I$LN5DXF8&25y%g>0 zoN2=Rh|JyDqa2JbqQO@&a4U{Fxf`NTOhjtHAI98M65P3j57-NOl#R;ZpFZ|$h744y zz=#Rd;!4vv5A%6~;172HFn>^Td|{=dc89;y;4yxTOh-RkNJPEFu;33NsEqb7`Y;t5 zZNF4Rvp!<+<-?m)Kk<3WP=yPrTob>7iAxHSBfU$3`I%e=m{R6-M#1j6q&*wN83mg< zGxM13bCt8iC*xl;_t3K<%LbJwY5wavhUbun4ie%Am{yiZMSEhkYi~SdeEWqZv>WFb z#p)H&wiP(D!*dK`BiF`DLE}~({^wd{2Yv7#gp~Mn{RxG3E}~Wf)7suEi=?JOs)}*uDGJp7C$5D2;rpBwzEu91v`1D`3UjPI1PuC;m`i z2FkS@hkm~xGX(4_vTPGS|J1p;#7uNb;&-R_zqbec{>W(5 z(dW~kz|a4BG$L|e3nzQfTYvT~-m&PFvG8sh{dQ)I>#{oUlyaG^rZ#*J^&kGTZK{w@ zOzX40w=0Ak(4>9Hbe-N{RkFk?Yg9-({ND`zv{q0HF|O+qs_HVMMt7NM$!)+*eX5iu z$S*;m_Xa4CzU`%uz$|_?^Wuly2!gYjU7!f6orTIhu9a z0A28^sa+TaOkKqadms3cT=X1G3?r{a}K$2YI-G=C}7-ZzJh z$)H0??b4TMTm~hE0c){Fsqv06Clcgq)W|9j9yIEjRQieAY?mK^*6V=pTb=*`+Tlxu!%iWUMXgKzDdk+x3>Cg@8j*pU8*YOH;84(Q&Q`H~$NwNAnl0qJeG8-bNMdxPg-@QM+Q^5?JUNzZKO;R%VilAbwz_A-&PL`Ik~xQL?bo1EThWLVe#kbaYe&w zvJ*USet+ix=J!RE&CTzv`?oBi>zI~h9am1x8`|GoQaH4EtOHi#j!JHX zCaU>R9)tx&zVV!+k+jEq;v7wVIY+IhsfqDfb@A4PdToWcjl zD1vVYnFqiq(r;rA&9a1EH(oL+7iF`G%t4>2eYS-YJ-3mrAay}c=EMA+H!$i>4$T}k z*PF-WUTM<_dNTDd-ZYO~0%JDDJNiFOPNL=vM%Wo2iFORyNHqV`oR~TzSHX=16&R+1 zUlVsyXZPoYY%@an3R(G7R-8%SiZd;-Yv>|jZydqv z&OSlvmdGtke<)g8=71e0(w`~Xyf2X>7#S4I!0?O{q?aszSQBYeQ(7hJw4PJ{nAMrH zm90)v=BX@kYge2608 zXg=&RGh#PnK$ev^1`=-2n3x;dY7+n!_VMCguw z?q|$B{nTp=AR+`GQGrM#kvi@Zam2KR^NloI5~*-&U0BGz&>&8CQmbka^@#*H0He7s zw&DdcJ#Guu*>M-<6|~K*URZ6lF;c70jiVpex<)~jFjfaeIgYY+Q{=WMRcXg@-8#Q- zTXUM@NC5D;$U@oqIhQ1I%O6!6(qEkp;fAa>n^0MeH!ifIMMtiSmTt_WHPajWh__h7 zgPUF|AT#5U=(QUE+7&ZQgGGXD7T%6q#kmMtAg7BKpt$|*U;20n%x%g^5Uf&oh<2ep z7tB_kaq-9Jf|~GlYj7gB`%N-VeA;9iDGz`v8vouG{YZY=;`F1#uuXXVXo;aeOz7(} z1c*?|ARx)@(mdS$6}V?)@$b=`W3|sj7C*pEnETPax5wYpWB<8WQpmq{Su?JBPO^!0 zzW|xe85C)IkQeDo`KmL9cc2ByXTVz+b+eMxS?6mGc?TyE6jl*@YX{$n{?vf@mf#KH zafhuqQGSZ0l8dGW4d+zI{-S!x^qn*z3J=aZ@Y*e*oR_OS7gMcjr(QHZiHbS6`JkZV z0ac!3bPWgE54BW3dJ}2UGZ%R~12CR^Jwe($ujp8H zB)-kUB>&xb(4%XvhYtxh@9>fxy4fLFfp5QxyYvyc#j&P9OTs&^3qC6 zY|7GM;w#=ocykjqT#2+enEX~uAH{?itbM*m&iu%p|dFNg8199}D!@pH(R z#dy)3Ff)l1EuH{)xE~$sWw80L1z0aaq#1<8^)qh*n3>mDyU#|ek;(rSB^j}k)ZfR( z&)HJ!%G*LNw3S*_tK9Z&c}s&^_elQKI}lxT34ND+Oe-t=IoSPQ;-6czmAB^Sy0sxs=1{1h7`{Foz1}jbnJM0!#oDO~*-fj)Pt6Rmv&hLo3aLiH(XbG%^v8wu3RZXj+3>Ef_`GQBYAaHc zrrh-OLiUu0>-QMOwQ&6w{3JMwEYz^)*6ChLw5UO_cxup?3ueY#9zI~E3(YR{vX18C6tUu5$C`9nFf7F@JX)0>r0IS zbYRU3+}aq?b6fi5`=eee$6l{7g36T{=DUmC$iM_t4)~b#D#tV(l`}h}Z!mvDFXbUC zU;V!tpJ)DmI6eh1^&X$Ql>eOZ`6kz3lKo(YtqsoPcE85wy|(|I@#&pkcRqotUWBno z9%PM5=8m#^DHKR^sGci1FrP2EVW^v5NB*khw9@$p<7n+S_we8sq~nJR>Fdi@#*>?( z-S43uM;0DK%{o%A`Uy^t)LNHFzRbCSu@(P1JvQ=*c=hYC(tjmbAQwJ=u-f^BUwfMI z$N3~7ioxk(7KO>&Wix6tpj@a<2%H3@D9=Nn6$@2kzg?C*SrOGKmho6}XQ1=xm1bL2 z$#|(XPnnjhpGYMC?je*|pr#We|D|QW!M@%YtKOs+LdfLQAk^*@?i%sDAUXkqoy@+zz4 zXXt}gBLNon0rqo7yyG5gELQvH$ilB7o+_xI`vsYt7hY*U2`Cm&0Jnr|tokp~7huWH z=}gBJ+xxrmG2zB=R=Qn)2KJ2vk*r~y)_2%bF;Lj`bS&(0C{f z453n$)dhzZfZ=Q#8ecuQCi}gJ%Y_WP6W}X7EVcP5y9-Ocpz%iBCqdRQJ(5=~_ zPk|)|vVjwVTo>H&L|L^`{6tY&(U360b4)H&Isp8$!Dhq_^+6=SR&yo? zf~p6PGdLFRQeDZ%qt)oY4^*{UO^b|36v0tVsJ9DhB&|9l&q)K=0|sdEkB=m5!4JN| zJ79Oa>}xkSW3_MLsz^lQFJMM%K0CJJMR>(7sly8-c!eN@HP8#SEmq-b@i0(Mkc)k_ z+k409V$~bPFV%4}g~#665?itBbRo7&PeyJBQ^uOg)H@thS(+wiI7g&z#6Pe6HXbj6 zrj-w+X58{TH=!*fR^1h?Ce$wsWf2(n>HSDp=GPVe?p=5e8zTCH7b6@Wpx zHKjml42q}cUi*)HF?HPyth2`n2GNGbR4546l4~dPxexsLN6FimUE%Pr6Wx`ZnCtaXUfv4 z&Xh~stcX{?VDh(~6v*EjsHivJVzNs9ZoWoqz$^*T=(yeUV9<)GkUP~}8VKBSsycV7 z6UxPB;jh*2dKTO4Wo-SdG#S{~R&W=j*SpO&*)z$6;OzI?h`%BHO!oVY3dM1z{Keev z&rp(I>Zbh~zw`w~#cT2_POWNp_NSL~!rKlIo@HejE zn-7e~o1K1&d8A{hL7xaMP;wU@ehx7JSD!A7h9{xB`o$Cs2`~fKjzZqkKmcKV{oB8o6u+0y5nL(=!1YAOa3+1{r7n4G>&p6ASzM&Kdd%yBx+xsGk98O zr0pJxq_0;EZU0khr#CN+=9v=X{XOmf_#i9#nqou3l`8r9KNR&3SuZVw#udRO9k{m58#v(3kSo4Qy z84{)A|B5X7f#gFT2>rn&1pan<6oz}i){{^x=U<_p>xe&iu{on!M88@8k&W+is?$2E z#$+&FxWwd7mqj(+QAuu}vUta=a_KpBlp(k^TD`?saIE?nv%+xjp9C(mfbGH{!Q0KD zlnX2GC+@KkXpQgv4cszN@#MSEKdwVfm_X=(qFU{m%O0K0s|Gqe65-8_>aY9xHlL=!HSvDkVp+0rg6K^y5p186pli$ zOA<{u0>Yhe=y12(%ikfyUcLi|hC3itDghy>cyJu2O&Es zwJYW|Miy>0K%FA2qgy31vaE9~1kz(n=J4%^^6z3XSaEJ@!eCY~=GKO}#3a27#Sj53 zK9rfMBS4AXZKXC=yEh^?SHf>I&7H8A#HI-ZQIEKJ{(VLu+bI#$e%hUU)5Qe$~4+IVMbTKRfsWZ`B>&f(7(!ARu7gBCM3VAXQ@9Ev630;>lNn z8I%ZqrDDnMc=DNGn%!cQ?GEnZ7Qr~Uz#i=gI=BXB*~7G?#&LH0Oz=s&J`$YFb$=v_ zoRAo7`Knmd0eHUBKY=2gh$#8O$N$|6Q}M&7` z-P?m}*+wePgRs_MrpJ2XP0O8N*ueu&VQ|@M1$0YnQ#{q?;6Hq9B_D=VC}EN*K@C3G z4`KD@{}D4_Dj8vR9D*W&Ei@*5d%Jj~Kr#{M=G7DwKM`;-&g3IYLa6yX$RsGqTqQyp zt3(}5nl-IFo0R+*53VEgSkIrrZ^K%>mHHls6%RocH0d*d>f&&cLC*ibDsr3Lw!%qc zyyIi5S%~pC&o9*(bnk3W)V>$F`3N9AH#uy#9DZ-_Uj|$-)jyW(KQvLh zE3$CC9x&pKopF9ze2~`m=|XdpVzD)msyD`}pC)uY)cQttnb$-1@Hw)Fn^o8x!WOqQ zRaW8aaN}IPrmsZIv||ipPC*mCWfik6{TV@!I_=ZZ)OmD0eC97h}Z(jPWByx-O77gVY;=pn>l(t3yfP_*peOAydz#s z=$t##`P|fL?BH>mVYBjw=xgDdCT=y$s}=G*7qcNXT6{?KWuVCpgoL?L6Htt?Q!iOd z9O;|M*V&0e+;%|FLp-HbPO;vn#QvH4M@w zt(|{BrDpSNheo8LpYIqIJKG^aG$K?{i|l107Lb_(DUWt2ZU(Bum}zb)(?v z&qq5xW9whryZz>VOlFp)Dw`UR8H@4`rI-AU>eyd3?iBHV_u3xWR;?XU|K8aiMJ$RY z53>EU>94}yWe&=jd-BXdp}EH?xoXdpun@M|Pkr;naix*3ldOt?9()@=;v9T*7?|3L zjpy3}+bsofP#amSJY_dd=u9{1Rca7|f(tZ~ndc+)Az1iv0Ui#nZ;!zhE<$BnsIAY= zO|ik?WMx`sf^`8&_<0(aPhR^=^eb%Np)J?G0-b*P8QSmX+qcpn(E3}X{RXvflt}vx zu_T8p?qu!+3!m;yq^c)VZu=B8yb7>fFa0CmH1w*eX?dn0Uy|UCp-GXbkzko_d))rr z-ru99nT0fKTFQODxjp;+8r^okk7;Qd^5f(4aX=84v^BcS+{F;0sdKY-qYA1CZrs!7lDM(_grOPE=%OVtYF3Q3L9JJRDI`Cl9D3I> zLA0PWYG1QA51p%L(6w7}%uK`~)YTjp-POlZBrb)e$mBPfi%$0DqF_TxU33t*#-wTH zlod7TDJjHnycYf74x1jkf>V)#I<;omeCJ!>+pMTi3$bRK%G7Q%6TPlwppuWKaXviu zk;V4Cvv1^?gS7LddYdfmvt$v%{DWqmvjAcCK?w=X56&_btHz>6OiP#um`%4&A)N*- zGLk~)+tqc3sMW4TtUz=y?Ej@ws~Co0mQ1JxkA;@)ss@a-a@Cw}w<|OfOz_`q=Sfzo z2Qw<6FE`pXWbwgo%w`hi>!qBHVnLh1YcJXPHUmz4#H9DjuXlEWEz}kaImy`xYJ<7depN9=Z4uI zR(jKL?HX-8LMSi;-GWEM3CzS_5k&ZAUu)0$D@22PU3=Pd$8Y%f=oSdb`-hq&ht0~# zzl%9?BPRMHP;X%kH<3lh8@WB;wf>L@LZXoBpSrk|sF0Q~`TPOF+d9~rdZA}LRMM{+ z{40&6)`MWPim*sRK+P_tI=s|p{8oRECw&W^3WDbtOX7)}6b-lBF^%f?qusAdk*klE zz8^MzjN*=aH!g8UTt@OiJpxBLYHVp1BGFA{rcI+dua(j_HZOW(FMR-_yAG@f)Qo$HIKi_~V39$u}oJ z)k?_1rta&ngWTDlacEkZU`B6~eT|La5la7qnGn2j8QY^V6qD0VGk2`n-@4}?9=YWq z%11lcp|>Ujfm{lZIuYmNd^o!%kHz7Dnv%6JT8jqD)QHpMX=rR}=Y4ni4AQ zcf)V2NiATY0Vn&KX!2Z8a{=44-+t{Z(kn!QH|8qI0mlmul|3h#{G`^;u6cu)o-@j$ zs}ElPT7+7+fM+sQn3_y}f(6XKr}!uNBQ^LJ!pbN~ z`tNoppPj+d=H)X{tk~gFyFTETe;-7|4wS_@(8jF~wQscy)gp0tw00L6@)ta+Zy{L( zt&!kYyAF?ur-tEwJ0JJkak$^6;C|a2S+tgNia+stGMh~7!y7hW;Hf!`)4wXg@8c(! zOkI4I+ga5qv`?~?RD#vxrwHwD1t%5x$ZxH}F-0hgZOU}^mDSC)HeuCY&6zCw&+W~8 zS^^2o)?Pz64cWPx>n_6UT_7cqTo+rBKG@lPQ^&DqbV@1vFGg#XvaP@f68F+ddJTpB zQsmyzH==ZM#$*w3Bkn~2h}jln zIjHXaID*EZ`(L3gZ=&}`+dg9ZkF?$QpN1y4oT;HYAuuXOI{tGlxvf^f#Uz_I-CO3& zSuW8Ec3_sdX1}9weB1M<3mY}T$-nNaZ-ekUO)=27Vg_uoS;i|LUCmY?Js_gu?PiQI zyTXA9sdY;9ZsU*nEN$ZttJ5wwbF;J@%$&y@+sWiKNBP#^r~EcY z`Buiq-6LNH_1x}b`4U}>4GytAn|t7W;@LGCS=duuNqWkD?|;oEneV&5z4yj-?I2sM z*oQsL-*(2X&-{%tf1@^khcSQ8-=#e~i&j#u==_bHoFicPPo)N8Pn)Xy%-_TLRP%RQ zk&pH~e_`99`9*URg3RAoeeBHwz!z|nR|P^#CNhgAEUm_?<;afQ_7QL+^=V)%xwSKW zr;)OpS2WUPKji+C3P4_$0hfL>*V*9SLq}0e& z=%$~swOP}zQXh|EE^3a}i2j1zaI4<&BhV+akV)yMlqZ~N3op(67qQOTL z^OM|x!I$~N{eDfFO&1Hf`A8 zSnZbZH0{&2#3R2(JvwbmdKQ`^eikR*neS=wIXv?G|=cv?(`4 z`dBMr@)yTl4;b^2JVf1coDgLQ@=`YQBp*@Z&9&h6YQ-#;pNV42SS57@Ct1oOYd;vb zueyw%s`Hi7MQ@pD>+U0(4auEsUP*9LoW)kXk6U)pl|StOOOG^&Qp%3mr8&=Ox)Gx`QWMU5C+LY&EvN zQZ7e5&(0td^Dv0!=csbSwn)VCx(oMj1`o`j0!{f9!PUwXt}wF|$cMpj{YnkE@Nhbi z8u8i_8%u)V%{R$}w#Lst^v82Ln!8MYOk=K@IWS9$u9jen)xAY^C%D}oZX#w^XZ&sU z1+Hgh8o;8qOk0aB{xJQ^0#B0TFaKghd+R5NH}zWVn_$j!NM*2-*uyykhzQFx8>6*% z5`yYAp*YPxHDE|p9wkgYMqr5}qcfV47=yY|%KPhE|@Xb!= zFobspUuw|^f^hivw&nxCxTN4{P-eR~_sPlgLO#D;Om)fA4~M{PJpP%hriVMDi!eMZ zmb&D0cf{Ybk%dZiC+;tHWBT9Lxif4v{|uPC?ZbIP@Z8ZF0$&fKV6iOv%%-c2!?ex} z%7Zq1d2^nIBSs~`J$w3CWCpX)EUe|o#w{@MXEpgOI~&}F7mndsh!z{3cLxnfp5iu0 z!FtOb@}cWNXY8F7rvp;+iLuml9MwA_H^0kI8>h9#CuH^PdHkG_%pgoX$#v;p={>9n zde{m4h%&5Y(saKuGOzP59;G&KuWD6kbv|$HqOeoB#Ehr#mDa9b_x-@HRh2n?OWpjq ztyRKVjRq>3TdRVv&T-vj*|e2PMcTBT8eRZT&SL|w$7(mu93(b?Ps@sE?swn7_m0J! z#qIvE0oKRalU=L(nE&Z-7T<^O=Kr@KDo=mLIuXLK^q3MzxN1BSe=5uTmATHnp!?IM z5FwFRVQtdXSk!{m0hM`U(Qu?dG_g_z8GrOWT=JSAqw-b+KFp2F%H!R*4By+w!gM7A zCH4?c9w+tyLzsIcd-J!(-q{>K;kds=Yu~!z#k9#v$}T1F6Upva^*Y-E@El^~d#5XB zdg&wVI!aWpj1i=q7`dK^*W=^W&x^k_pQ>I~Xy9oJ;?=qmS5^%6{|B>u{BVtf1!b;6 zCdq>tpInc}Gs_s9HVgu&PHAwHt4E+0rIC z{!6$g9gE5tfj4wl{#N2rQc?aTUQLMb3pd=DsJ7i5v5~uoWWfIV4o9_wG*zcjtnhvc z`FdcRBXulF$TllAXi%14<_6m`r}mZgBX5ywkhK-rq&ryn73urWDco%)w>*`Of1N$; zQi12be82>D__+?GeK4CGfpw-I{{Jg|T{%3DzJ61_AC$32`Z}7bL|@nMPc3_=uTTEJ zqpuZ`f<8EXefYX8eI3oMr>{Zw)aYx$wFgXJzl{Fhp|5*$@)fMh>Cd1Ak)u>zde%v0c=1iXYS(~Yui<7=Fr_0d1N-} zaP`l}x*?jG>fT3pR5+t*$k!pGu~gK=WdyYWKchxuhoJNTDpUL=d~&Q4&A>pTSkG8f z9^X4Xw&In~CQ6@)wLRaJsNPJvkMR%H0YM@%flWG!9C1w5?`}vOvn?_585ohRJfx?E zhS00RUYU5j3$u;;#9>6g} z3hO%!y@DF~inCeHh6i!TugjXVl353B?FxB>o)$sls;G(1@88o9BA3KMWM2b%^c|3RMMXZe}N_Llze zk4gI5OiT)1VBJQ!-S3q@xM|}4&zbaVy^KrdKe?xB4cduwq4XP+b)nqHh?qy&u0;50 zgwQ+6nM#^8C&)80JiGHKFBFCC8H?8<15xP1mLKW3Y^nVHNe63x(&%l9?vpPe*7mQ` zmSYvB-ete$mXx*(HIug>0Z0Cg?UVXFj(A+4*taa|=0EvqqUUF$ZKs#EjM1!aVL}g> zcVyn=>ppa6kFoIRYK0qltHpvxUHu9zC{f>#Y}8jDzwXRM{SBnr(#YcXG%psv7+JiL z8(aS$pKm!i^ZY+~jbb09RneB!%~V(2Ib9^remos`A0Os~-jj-a6&u^J#oFj@UOG;!xsy2kVvME}yB^TwriAe0Y=RIxr4wnP!qUGuRf zBXpS>1$Y@qYuZp0j2690x2D#FxzF>d=lO9A`aM@PsZkKpjD?p>XU z$nXE9BonLg=ELA36aFWWx}I$;f7RZBWIDF_MTJu(j(IIHlDIC{^2E`vjV9I#LWiIT^mpPfiq4)vGvyzxEt;JtAu-n<YPsJh>grA>)f)h)F+lEi+oU9z+3&nSBiCKWf5kDxK?H*!l(%)P zU0qLtQyz7|tkJ{8m>wNmAwYu08U&4_C?Yhf!IqDUCoK^!_`(K&nwzYIL%cRxX&};; zDg?MIc_}tsVOMtO=*q`k_Int6K>k1C-UU3W>gwZ8Fwuy_i3%1k)L^56S5Rq56%7jQ zj7$I(D^;vmFGZ`CVgj_H1`;mQVKiR8*4O&BwAvPXleS2)paw(;(rN-$L9F8ajN>J! z)d)(y-+%3WW+ow^_U-q4JeqUnoU`{{d+l}GYp=cbWnF|uHrj^mG%n||MpKOlEZ4Y; zcnE%TmaFVegUIPuL8!(Ap&B>WK3DBNO+1O&A?E}Y8M)9eqh1i|uI=GUV0tR^xmf+m z9m0v;sb?as%ptM}X~YZ!Uy&+Qk5Jk(j*;?^)*O{Q8DEEshEoto7z^s2q!r4NDT(>` zNsLjmpWN15{O9YYl`0jT*GM|w6+3iOaL2_G?e|tRQ99PK3I>TM+%I#X<}-?85NEFD z7{#ZF@x9s|qo@y_MH1wV3YC=;RlYOr>sFy&aq4@Dl!I3f(gP!Y|Pkn!mV&Xr4-Vzx>I1gajSZLw=Z#dPcZ ze}|Q@-@Y#3JIeuqu2#iMYE`_XR%3~O#KE(Od&JBGilVT7N z`#L*9pQjkQj( zL*A}TiS5eJ+cgyQuoAy*hHh6!D#Bh!1(Wog%qNTwRfA8~>i?yA@V8a%n+4F|%>$=w8`a@?>PqE?n@Y`u zTyCS5xz5(JgtD7~KQkm;%aY}P0~G`tKkiac zsxCp`l`TnxQ2EW@ph(hL>4FyMTKPP7EGt~?HAgx3EM$SwX%A+7+ZnEEv=dmW7n4^g z_2@=L3jG?ZMy{sG34kD|q}_zX^T7kT_t&SIex&t;+g7d z@@4gneh2<{yRIqMlW6L07eb$MS}6GOH?=)5S`ud~ay&V{uf&wYs|Y7M=3!X5%N!7* zGnoE2kyuuNiRpf&ZBDsIZlhSfab{hnl@@`O9Vf>Y!BMJ^LEC6Ay}IV(1^mvMVHRii zp8PfA@8a{Bt0b}TzUu(CXQv)oojmqA`~%9G@TO#Tb!7Ql@xn}cj^%6E$a+uYF#H$6 z_22Lkw_IF;*o|vtafZZhjj{}}#;BDN#I8~_@X5qr-bqg4mdivKpvmYUNnFIPN+59& zyD9-4B6cZ}{xRYAp~UTcmHge9_5WPBcUJx`(D*@-5+ahXEnKC71Fq&2x%pr|W*))K0DW|N2k@|lb(wr0`zK#ifq(KoivU@gms*J6Ed6mjU+hXs@+h$kac&t=HK4%~x*Ax*I5tfd)yq|2PaCL@~{E7EqLJ({0fde}Z?;7wWDl82mwc7BDqt z=V9aa$dfd`Y2Vtdr${*QNoL%w`n16M>tQPuY=~xim}q#vKpp9@{3XT!kg|i-;1rDY zJIZD(6=mwvYR=Ur13O=KxUaBoGOU4L(UX)cv9NV?m5 z;#FuTC5QM^;oPzRO#u?VN-ni`)h1yR*u~@FH>z zpXgNLWs6`p`+1G+9e(dKg%W4c$hL=F?E8D8?SQ{{^6=`!rM&B5oAw$x20B3# zUYyl8^@!HDmqk*u)DYW9Rs^Rj3w&$4J+628fn2aS8hw>|M0cOED=3@C?^v=&43J}h z97|TllHV_>P7Vk9JD#!*@l~CmJ#&qNRz;$T5Zbthc4P?c{?!(#-=mYTwC;Xeb_?C@ zT){rRf}*g3u)F$H4TFGq@+vTT4osMp$?RgXcVt$yE7rQMi7kvcqA++sUVdLg4%(kR z-dKaDNj*MGfo$Al7q5B`e6R$1PxLJPMU^7d`)rmb=i_xBt zc!KmV#b2LqySwTt+0$}Ln=&S3PM{Ve_h@Qtp==K^HJ={pK0QyLmhowhmDa^xS9W+gI!PVW?wq&E)aOA!V*sLKq&l(cn(-8Jqa7ecm zUQUH>z;eikr8X-g4F`-Yb+3MEx%rxmM z+?C7B8z3`pkj%WHGV`ir=3(&B-{2PmMedgCbpo*=biZ80fx)K|ycjAouS&F!!AFVo z2|J%fF8gi~AiDYWs@(csa}ObYc}2+{q5*7wyW*JSD*07lSB!ss2i~^m%27j?iP|<= zVbmyqBI?n{_JGNvpAu)cS=-1H7SkN;|7BGaR_Gh>6>IjYhNapC2nz@|js$}bf24yr zw+2)9;lxM2F`#x)hFHY7_N6hebB);eXh+1HmHVh^2X;JpaCPd^9m*`-vCe11i&RJM z-&~!#zK}e8+`dkxy{Z|cS93ERTNyMmW%m~S6emd>;vrza&|cV(Oo>FMe3PA~V|wb5 zt-28E9*kS-D73FtKTw+vxZP@r+=)6jQav>Y_a19Z5BKQe2;F=(?Y*^OIpZ(fp&2v9<^n*?37!L zW*DloS!{EPifZyE#zo+vVN~PwJR1 z%{igu=6}MO8$4$Jo9N`>AKuOWq2T&A!4j0RNM+r^vYHoxD60&>+bx4w4*IkEc0>Pg z-rVHFv&8S$0R3XOJOIueqn%n|#waaFP(U82dINQaHlmGl5x3>?XyKe#BW6-h#7yde zyps-rZ7@ji_??at1&(k$z^;BJ1=bm=-xR5`>wM>iq^c~>b8pC|VL(~zL8(#j`C`{u zL>dy#g1;Th=#AJz-6*kZ_aFwxdEg8PfHNSFMo|iBBn#5(gjn$1q-&~ol`yO-0r@HG zN^<^FgY0+1Q`W`ga%UJP7e7^IO*cHHaTJ!+im;?sgeA4IOQw_!C#=g@V3Ou!fPT2H z22*|lUa8E0N%+PS9;ieXC~@m_xeSn z-@Apc$~22coR9Je`Gspvi0SkciQku%i{MI&NDettwS={U;;=T!Ci%bPm0NCthM6Hd z_Datctn~y>4X2|Izn9n1{S4-A>JxQ|BE4OlShJLIEXY(vebCf&*-okA?^9Xu_dp%r zO(i68u+>UMVq>UD8(}reI9^Jnvf0E4B4qKksK|(dE=qxM8bIa%eeZwUpaPAoZ5F_O zZ`3g++4~KVa6kpl%3j2s)Rvy4?^OMXQ&Fxp%FG;BynrP^tEng_j!R8S*brPx_*PVz zKwq?s1ntC{l8+*ucs+RSj(lwsrrrp(ju$H)YwC)+5ZrnTg^0B3rzfU6{Fn&8je_ho z52pA>B0>*EMfP#N0qjuZfbN<`GG>d-|V0|IE11rbUH<9m(pox%Oq=%2#-z> zgt-Qs=Qp_WIEZI2Lbyer__uWaY+UEhuB~~4K;ZD`S$S?}u4)Ez3c1~?oDq>Tk>Ie5 z;RmTD{197r>Znxjb08*@M^J{zDbQkaYF8tzf%W4+SWY)%+~al-L(h$NY<}T9*6ao= z3OPbGbS6_2B0!0iiLoI?SNZ#t2Z?Zo5#ZdazuD(IT{LSCzKSngaU#a!C878A&HWPTMU6d(H_4;^3(J5 zuldLlMg+&4{<;0-<86zjWv}~;{_@ou9_C66~Pg9i?OmPIG9`C=q=nfD!v;(6dqtrvO&QN&9rOW z2IE1&sDs_C8q-yu7?wad_|hj}eNegt4@$U75>H)L;q$*O$}LVyPiuNuF5X}bz;WYp zx2T1HGoC>xcw5j5hdv!kt9nMJjP}4*d zsZa{_@P#3b6?+)LPlVXxQYmSp9+OnNr8*UBmxU#0NKW#u%gM5?c5fXk*@QRoI2ltK zgvJcs=y0jXJ<4FbcYdO&%5)89lRBW)-BwEqglmlbp*Kk4xwX(}Y6?U1!HmnZjVC9p zZ`Wy6t=Fwk-aO*-j!tU%CdLm+<`3?1|QlSTSMTP#V9^Ue@>!5g_%7@4#p=j z3ZFzetDb_=2a$v82Y)cQL)(*Z0Qp79jwUIpMS`D48|~`CWHgRg;JL_?Exc4`7w98K zZ>e1s3ct%XE(_8P9UXc0MN?${zs;BLw2xba zbe5`_`N|?%*{TQwn@TlNU*=oJGy`CO39sid&Hc~q#55x+Cg(CEO{Bmv6mUcvk$*L~ zo-%Gip=p$*go9^R7|)C`p0OTOZm&5**sh~_@k+B@z27#UXM&^8kbnxq9Q+qx(3R-I zFvP!smMy9bamG0N@yznmZiS)v^Ay`(X<058QSkoNt*7|1k-mg|C-ed^{rg>A3R=f$*_-8PUe+JX|XE4pHY`+xK zyqXK_ef6wV@54#(Qkdy6czv#Y7m_J#-%0y2N9J*jRX!D|zgrKy$dchIyb>frQig&=+CwjEvEimSv zfieFKjQM9^>>ZD>cVcT;6f`mO4j7|*A;xBCMK-iiK+tv9YWGH^#V>5GAqSJopA&B1 z5FQS-Ttdt?<#M7k7|-hcu`57FUylyVbyM&g^=5zGWbGTcndS(AVPyk{re?X5%uOL!cv>6yGabx=1iCaDNiX0}f< z2G$zPNa|n((dw$Os<3vQGnG9Au5$Cnsp`E{_4sM~o_a>jzNe0Sfo=Y`4FP_>w_2!{z2=RSIV=pLLIm&OpkG76lQS z3#!cE^_gNr$HQt^2k`nqVQ!LmCN~P&T+pz&7}!{rbmu;DHuvE5u@67w+=Xx%J07`z zTdZTH^B=Zfhg(}SCI=%NFWXd&%I7GYgoJEli3^LHH=^Q9>1GMy!E5Km zE6&gc4((@Q)E$Y2W|CuLDH-Q5(Vgro7aE{@WKcMF%>`M`qvrGr{1Fo@wd?P_&O!8w zau@MX#V6X@3_nK9yR72OSaOuME`qBjy~m1k{qd{&qUxL*i?+24h}63`>*Q&sn8rZW zE8jk6SFmiY!O>Y3W5F`QZiMWt1=fH=l)4}&N6aHwo2yJO)eu521RB7e6Cf}5p|IG( zhvww50%>K>Iv>7R zbz0|lStsIuY&u4r!&8%6s_J&^J#Ejb$dV5-XYu>zjz4&M(6pZXzR%ta;_eZ9R_@*- z$0}~p`?dDIjJucZZqJ7mZo>Ykrz7>^L!B|9j)=Aa(V3DRD`SNp624Hw(TrhdUFS33 z*ZCw6xQ&Bp;Lt!OTXc0|8*^^)M{wZ}rTEK`azj6P@-@Lx&ZRlh5v_UdKCTXwsz-?3$ zi&VqKYRjw!rW!j$3&_-*)z1ni;?d?O$0~N}Dah)zXypF&)rl8ktsSusA4PNCaJ z&D&0$H?eZyk>go7pS;2jCDxdQvQ_ZFanCb;!FE|9SpntfOcdk}nKE>1;^inK-52vS zh<@d5xO6|atj#1l_;4mBQmS<9W13p|a6d%M79lZJeC)}8DOh%(-Me?ryh`kF^!>rM zj^N9)sK6F^{=O2E>pQ>p!4@UE^aG7R1}J}SaEk4z+}->K>fqb-{-i12*#MILv%m#c zd{~sVe>MtQdJq`Yqp@Z_IyEwPB_BxoHB15dRr8j6H_>9RW4xo;7mJ+V^lmhA^lF3! zS?t2Vn61$dpO5x`LK?$Rn;Hf3F-5fi)EY$hZgD|{J+gO2*}IbLU0L?7-0qm;MpwK@ zfUUEngGpEXn_9h)o!#VSw~>d|hFUH%g1z%@wjE9NB5`r7FmnD{LA&$Pj&4e=672p5Ca+4Rgs8qmkw7 z+;DGrT}OQJeIq!PsB7cO3W2i;hA*q)XLHVmrWn zMQ?VjE*Ru@4{U;KG+fy9k^7%jtZwDT>)sbGT6h{x9)<9E`t2LG7=jm&)4_JkNDXzf zeXVeHiq`SNx*;GH0$tl*K_Ze0`ey(su0s!oFBL0h&W!quXmT>Fep)!%Ao@Jy??O|~ z9bh#gP-sVoB-%VhP+9v*tN1>?x_3hqB0sj(oUOUtBgi=t{6ubf z2FM!IH}Dq$S-byP$&=T!=NR zGi|`(SW_NNor@H2v)cRo%-4P(_=#1vPJ1$gOLz_0GEkoB7Wu-|zqPJ^+ezQ;D|{<9 zkYpZjYpj$7`AC`)$lB{`P=76i8lb1G%j{#}xod+5slng=kz2^~I}bsgsea`R1h#Eo zu(PbKniu-q@t^i^GtQEnzdf=f^tY3LYT0g_ONd*^*E^kj{Wja%{N}JNAXH3elm)*H z6@_7vSJ~AEazO7k?St}+Y0#%%mIXV=$njq9O}@H<*`NN?Bx1T<9T9U2e$%Jm+7kCS z(IlHWd)A^;-c27t9bCyj_eByc#c|%lGlD{y5+U)Z0rHyipKq=it@1|aIZw%^;FtT0 z@bAb5p*X|LnOfpA70`^u_37=*@YN$u>lma^306x;3I8>~tHOR-IqkKK@|JJmdo91T z1|?(?h;i6Df?&DD%L^Sj8+Be)TK>uW~p2#o~c1JBq*3wd?g zbrrGHj0ysGKZ2T%Kj{I|8Z7Dkg;?eGX}{)6ZMeNhX}A+D51vM|!4iH1-#_7Pkob%+ zK+-Rd1k-nC(NuRh0KdUcbsiyTXrdkoi4YC0`}g|pzn1AcB6ZWCug{xt0KNLV1+6|q zu!XXX&3@&^d9tqRt5e^Fn46+Y|KasCQ^)9suSZwBu?L6x-NvbX@qwh9Nl#mhabpaE zeZ2W_QFl0fQ7UferUhUm#~0d_z%T)q_`OLk(VY}VJW)|0z!%v!<6InMfzbtVka}Z; zHt>z=f$v~|`6I^S{ol}_S}zNU0zv)~MvM)|@(-t-ZVBl~sIZaucnsdd52H%k)imVM zW>*gqa@0UJz2K#HIPH^pY5hPr8{B-nK!p=8N$xs)hg{)VsY~N(Pwh(ms;Cr&szPz# zj8sE)_S8knWqtFGKKl)v!O26ZrNA!_g1(Gnw)prb=4X-lv-K=FZX<-{f|FydV9BY+ z>bMD05`a3L9f55yqtAe<&E89QSx%P2M=WdD{&vl&($R zrXE2sQh9PEU@cFO3U&&1bh7v3qmvUJFFA{nWm&IYTw55(#J&9x8j7Mw+~i(%InD;7hWLK&(hFq}Nz-+*9R(tBHrE z2me{k`LOjfppDGwp~$FC{4>P6=I_X?+32+D)OqmkQ&Z0!lbRruPk7eOZ>g?achlS0&=^3F=F$d?O!yNwRnlCtQ&4XWkv7W>OaAMznS-j_!ol~ZW}elE!Sub z(6}LQcefQ!>+joTpM9R-f`K39O(YawFtygl79e}rEDmlo<=l&PzK+IB84%$XaFKl} zc{*l)z`GB${-<{}6_d=IjHj^Am{pxx5#@BwGAb#sjl1UcagkyqO>PVJSpsR*n-80w zGL%~Np{IRw3+2I4zE62NTR{os@{A8i$B^dPiBLRsS;bPPpTCmR&rP(B2m6HS93{^} zLa%sb^No917cvL=wE;Aiz9Ktn>x)s@T`g=!VWgV5^SrQ@tTZpCuZFKO-bf} zGIG8NOD13HxA&~Qw6T$+?o*|=+&-ev%?H{>M*g(la2!c;C?AW-Qp2ktvPiawuMFBW zR3p=@5!lHpS3uL;3B@#%D*hU!9UG=bWV~5nWwpf`%<~8f=~-LZ*vNt?LzEh};?AkZbMF| zw8YXDm5AI=8n-FsneVb2r+LfhCVp+>gv{ST>#+5HtGZHSuUklof;vW6{lt*^xrHLc~?0NF;7jp`0l)^{P^L*Lc@ z&YMaVxuW0|mj)JMpA>pKh+iZ0UB{N3yEbnj_}33>c=cV_f2d@kRU9_pdWpH=*0J3r zZdBBtp`*iG3aQb@R(#`g)MtBlS*+I3)Tv3>)S?rX>PKa>*d#Ir=bm0Nz8l%!BaLJy znzEAC6a+HOvVeC6Sb|y=3FCEkWqmxonLCwmxbqa6jJK3jvokK9JhVj#TrL`ujIU!E zavc!~MDJMs+%#I*-=UTL9a`Dnp_Tm|TAAGvws5;PwuTKxwhXxrs@#ug4vTh>>TO|l zWmo(u8uv^ZP8^v(^cI!EIq4NN3O|2@3%zjD}tSqj)=RP^(>9Tl|#vvNQ4L-VQFGetP zz4kvtUrJ^0-s(L1`r2~QSBP&{2c%?ME1bInjWRvMmJIEyV1Ex4{Fw?oIqlVbao0G4 zI%;t{c>C9~>$X`|n}!@xsTnINKT-02yhOkPJ+?D%ny`n1`}>PIkNLSTK%sTnz$X&A!C&!jMiv-ouLi=K} zCcCgx(-&? znd+gTmN=P-!eZ|ss?kJYv7ceoNcRdU!YNosnVUmLv@3BVJ4j&5G|~_T|KN{?kcRaw zXq)H)e6l-yubSoL^QGiEwmq{wtL>bw9*xk@6X)2*%e@LXXG|L)ng1+Xk{xq1F174c z|7M+Lk~@z{E{;yDGgM4erDgkQ@cz5b45D)~D4-uWIW!s6C!E+Sf#i_w)NZt(##$R_G}90mL3Betkvp#p}^;B4_DuMRmAYm@B4{-(uC}JbKM})r$h! ztel@)N%C4)1G2_MK5Efe-Tl&ES~RY0Vs6=uYC?`ARFMt)~5@%*nn z8}H$m4qcAH*Ou-SXw+a;<)ZWC27H7vp5=Q}BHLbmq!HAk=)7i;jQT<7rVa#S!9YE) zU4r|Hnx3tqxA$mAPC;`g%X#Z^Jo{xOm) z)Q`6O=RJuK<8&}L8z*xX+Z&fS+|^mr`T)wDj3>nz)d10`H;L0s^wQsGf+aX5p~aeV z-PR0dp&-_zALK&jZl>y|Lc8v-`XHdUs5DKfZ{b*py&WDL%?A5oLTB5g8$0f^S<5q% znYG-O@{YFh&pJCX{=V=X$C%|}%mHG|LF)cc2^%{aCieNVei^|i!T-rF69&P@FIPx zV+5+`|HF^u4dZ?fs3(rdWC$!!2{5V>!l-I64eI>;lpl@qjGOYTr6N2n!9Ny%dL6=1 z)V%9<1x*r#uoG(uxM&_9jABE#wix`u_4FJ`V7xS;qRRHCp(Xqr3;+90=L4o6&UK3T zv2Gx;4p>+6^25rc{3AuxjXk?5B#1SVJLiYx`~nsr)d`4Rianbamig;4J9Nb~m+5@I z41p)kTmDNs|MXcqQ{^p(8=}2?nb(3?ayOHFT$7?Qr9bEVklz^59)4|$;?p<(XlMU$ zZmKB_Hpp~I@MmqLgdSn7-D!~YRTz9(^7QAU{*Iyd^od-MQe;V!Xka%@CN(doogFOO zF3N`mE)WH|!z_$P83x-ls<~+_3Qn5PpNJwd{0jc=;I=;tzML0EMWoGG>6FtE$R}cO z#Uwgf!Jw?pCej2N*%0KuF*utB!50UDbf;Q_KWDn{fBGP7YV2Zt(|(pba`}E@mR)NCb#>{E(&R5k%6Pi?6C6 z{Zk5RDf^UI<+iDVqscFuaK+)-7W)wYIRiBnT4LQ_v^2;c3mS|peb>c52G<|-c1Lg^ ze?%qaXC)71Hv#D**~QzA(-itzx`P=CuVhtJjY<@)i*b@012fUgDaksMdH_xVR5_5x zw9V-S<6orLjJ>Kkm1zM^biObcEVPjsme$Xg^}@CNL0^Ell|PN$4PAFuQSh?uR{T_Q zHiIbrWwV9446Xf?eY?=vx6kC(ms>MnpKzNRww#0HgG+`iIF)! zqO{zrciKSSZOaa!#14x}{>mR5Rw)&$C6;VcNZBoFG8t$3&3H^k#xis+&qY_~2s6D*_TOm|n*>0zRmSEk4(Y{t;bW42?M*O8Icn>PF2rfX`p%W8D} z3emA3f-2E)!LJCe={$Qwaah-qej&Q@*%>4#DTvIv60=hVi*T43qqaCBI2cGtPGhub`(A;gNBt@C@cdW1^l@(1C zfrYqSapqNZF=?W+zIsgW{hn;GmBb8PL}&&pS$XNwMYgP|LbzdU);_Cj#=lC#3cNw- zJEuBk3@gX?+TbeK?-)5{MNDH-GhSs&#ZB!t4LK`Sv?iLWYL9a?ZXaT?2+!QCC7ju16(B*{muViuN(yz&b^TDT-UtVLyACuA(lTqQwt(WAkE z3ZhY3g_XfR+}a}gOE&(&cJhh`Q}t)7GK^y;r0u%VCZNQp@e9fEIh^jnyjPs2gf%{+ zNxNj1i_DU*i=2EtKj*(TQb0=eW$-05L;32~o5MYdZW1G5>7)}$QZ!ib^+v9-)ERcZ zcfH(2K6)5$noufEQ-IV!>?;JroL0QUvSd{~Yb4F>jg4{B*K8#)KiT8>;n3F{x?x&d zVf9!V8`xAwDn4m#POM@HG}17OnyQIM_>kCVDKiR! zH>!mh4Uzmd1fr7B0}vk}y^;WiU49d}+S%RFwWS7Fd^vd^?xd!yqY-D@jQ+BIN{1?B6CmHSI}0S zfJ+>T4hUD)WL+Wq@t(vJS8LzmxO~UtZ!5bnw0Ke|6iO%KAdb{OB}F51NbuVbBo4I< z3x=Ll5u53p=R)g$D{k0FLVC|=>YE*krdbzH6`i87)6AUn&sIienf|C;6PY_n6%Qo( zkjN^?X1hDPPDrg{SPZ#YS?l6#sXH<^W;HfJrXmFqw<~+s&KWld#tS&5Cktqwm?b>Z} zva7fscTRGzf&o@foi-*}v_dpHPt{d!tUXNhx`iLrmCw~4tR^t0Y zb^ZzNg98Z?3R>-hjdDcqsh}ZCjvH*Zrz?WL=)2?jLjtzo*LHoB;10|Bw4D^fQ}zO6 z;=;;Cr%pX4X8qhgbu;l{w5eb#Q|vm-==q$;aS~Uv2SiUO+?-GgMU7;mgjqUj%L^?E zeOXu_DE$2Yr~HU(YOytFi>bmD{IM_CAIQT-jXCz6tXycu@pgB!2Ios%_%Em5 zAT+a!%^u#ZFZIj$OUj+55pnce;Pl%A(6slj8WTX?ix?g8r^Z?0eT!WioGHZn7Ji3I zWzuU4?6}sSl*JP=e{-Yv_8`9WE%CCLOJ#?0; zMTz1|6BR6Y9)+o39?L9itqUTYk0EmI^zE9W3W`$JF}m~4fp2)iqLh&@dRDH23+zK5 zOzUl7u}%}urB6hyVj=Zg%E<5nP+RyNY~_#DDP|A|gPVx|!hULsR<_(QB$n*8O3MfD zXt3pjyyO&Ph`WOO3xe~0F39yj&olsXt&A}1+e&#BTQ}^zIT~p6h zn?Eo0Z0zJw=|n!n-_ciQr;dc;y|X0L1~qBi2AG^*UQxwWLVP^e#!QK&PZ_}{E`N%4 zd@|4A{D!v3tZfJAlVW6(;yc#g*wfBy(fc>0KW9D3`%r(I*Kjp;V(45Jng2)KkzaP; z)84+(`}w!1ZCN9BU2f;%WbL0%B6F^zLWQ*43Ctq*DuaEoi+zIZrPe~&H3uHc@2-85 zHW+Hp@2(hR-&-J88MmX7BR(lm$P!hLSJgUzJF1&xv@DjoK$`+NSA5os7V%e*Zf8^_ zVy|QHpZjgzyyygCDMiQXhse@RSUqkbPr)Vf6plrnYD|L5;D;!!f8aqtNq`k_wW+H4 z64RnAadTgaaXcn-D!)T1ReT;`1dD$D-)~+lt@cFOqUKS_ai0K0n2&b(ceGm7M^g3A z#`-_XzLyf$8oarB2>+0zG zW=vAE+QjuGqY@)t{XbyVVN}qR(4M;FM#@tZT`lK%x{vxhbCo!RxzSymc98vrrB$=H z^2i5gN`-|VsY+ucsu<*}HezECHyZX9`#4cI_Ye^@@|^kIvI{l8z_O;8(S%*^_Ox-Y ziWwGedL;|P7o5%T1^nFCqzsC z+?fVN%L12EVk0*%!LH8nFUg@JvmS~71L{QIaIn2ta1p~!EVo?Mu@&v7$NR4yV_c@S zRYSR@!>XbpN0r+94TBNqu1rK(J>~}q; zYD+y(t+E|drIdxL+Z{JblZ7yb+*qAD*63Ev+>(|$d|1UOqn zxKQO1xe(Cls^1PpZwtO=M_Kp+n4g#hof{OrSp{M3+IrQJPi;-~GGsZ+k3%{EtlM;O z)i<3f)@<;(FbDN~3kB4SBg=b@oJoWKQ|0bYJe|If9H|;KQKlw+bLZ+o;&t8y(}q)} zQqoN1nfl)1>(a-XEYCf|Uf@@p23Nu4!Fjhn->2Ghk7qJYVvy_2X2TCWP#xMDElfnsGEdLOi$TQi8DgL6+Y`| z+8nMmegf*@Bf3$gYHUx%Op@>C>V`F9|i%ivO!#j+UO)>+9YGn zvxv%^jFAZ-kVM&H3RjyiE{cczH5!uE`J+Cb@550SQQm34J4;(sdoDi;2Qo%x?Pc5J z-3n>-z?N!Bl_p8V1p);u>`;_SqPBW}dK$_pc2Qz`GM(`$cA*%eU3Zii-3s!0_=QCb}k4SpQ6P z$?VnxFS@=d#Fg-yDE6%As^eos*If&;qU)Xi$B8aSU3dHCAXhS$Sfz2YLJ*cZD*0*R zO5?SF2R1pA%(AbXxMJr|@Dt9%kcM>F(FD$;L8uBltqQU&_>C@|B$iPE1ty86l|S9Y z)v|F;Ts2wyVVWC1gQOY9369bSe~>vz!xq)II#r|dYk_FhFvuGV_=Luqb*4!>eWt+*Mf#qJKX*n&hMR{?YlfcRIV-ySEdyW+0Yu2 zptGc7xmom85KL!++Qrx7rk1KpSTWzz(E=jufw`JYM0Ha!A87_)qDo*4RWV^zPpX2o zhws#!o7v`?YrgRZ@)kyg!4OjtEzyC`MhB9Vgw@pzp-lk38}+I`n+lmJ>$dP+lc7v} zX)yF_*gU(F8{hmp*MF%SXcnm!M(0i&CFl8*GzskaVtSD zr+rswc6{tuH($z)djWK^>pWy{gKxt$&SnUwC*d5JkcSoqMq{Y?N-$&$SkBI7n9UWv zjmSt951VbVAVlYEOZh1jh$EDrXyAIA#DfG!pYxqH4kEW0;Vky&5;mA=EqXn2v}#yvXS1513Zuup z5kghXRy17lepZ;2VI%b+0?ztBOmMjc#3Y-eg<#m8|@V z-29TY<;_hm!-ncvD8mZuM>nD-E5jBawi9LFQL)A7)-7_H4Eu|3$U66bkzvJO+^M;6 zi<@gMiyyr8H*0+-E6*HIZUVduc~&Pdojfy0KchSg?*BBXG>Quaj8@$q#I4qtzFj}@ z!V^<-^WE>`NK3|_GNJWGMDxG&Jf4Xw4j}v|c;XG?ioIqT*R)09il1ICqQ>r787$IU zU)2Xxo~tVTIzPpwou~>DHekAtR=U)hY=%|fkDpR$@D0`M8X3iHoI_2{v`3qQQ|x!Z z+hDRi!a<)7F1M$oC4MP5*q$kp!`SW1LBc;Rzz;|-*Y1P7S2UmYdj_~OlJT*%B+aF z!G`D~{YIw;&G@MQOTh`7L<=jTOXoiG^)Jr7|2sXSAHEnZd_3CvEPGfFd-(ou7JR_A z8kFzj(Sci|ORt>yVC3B6ZamPG^-G%B_z&NE`J9YCyt4Iozy0lRqXXZYx$QjuMdo|} zF<#lK?Xe;M%-nVo{~~jqvp0XeX7iGn+bUwWRYc}IZcpw>9{;zQ+iF@zejzePrplGA zkBxqFRo47%oVo3QQ~q>7WR4Q*UD>*|t*ve5wut`C`H?+2WnK} zfAf`x(lfUmds+W|re1qx>mLq@-#T;K$kQ@=PMvt=h9N7bjG4J@(Q_M0rk-=dFlV-F?f7ncFU%eA=EAIH5PLjTm#Sz zO|?br$2w51`c9t)V>DMb8pzT@s`!E%jaknf3A4U^NvB{(=r7p(s3Te$WHBc_zl*P3 zhJJh2zkY8?*1v8t3J2Cg$fjx@yBCanFqQ0z>10=y_PDau?%s)(Ebdo!>Gx|c*=?oa zhO1kTgSwcSvav9|9}R`Mt3uxZ-WO-dgz-kie7Kz0tzi|TCy78Y20Rcp|EIht10YU! zKvX#(hI0uw`=KjM;h+=MhIH5#uE?M5$4YV$m!>Kal5?)~lU1AM15-2Ksm($90K-Wg zjwT7#a|yY%g7T9i7ZwETn=%I5bbEid`EOKzLTmf|F8fmprAj}!SlN5_OAeX9Z>zrWnz)Z&~*2O}iOOTXr*1 zji&m1u!vT|1qM20u<$#o*YrW(>-~7H!h!l0BcTNypK*COAswB(Y&AYrmmkw-!0ePC z(?4UIRW3iKzbogN&-VCAUVhA2s&{Y8_Gt0*!lVY@t;aJ&BrQ@3gta4;KXdfM~~nlHE7=2z6&Z$)H52PO8axe`mDaAu=e{5_1U-PEydhBM{MiA2s`LUOb!_} zo(&cgXxa8dZ-{(_>WJIVm2l_gNJp!enW@p#7#xraSWFc^)2J!@_TYs7TBAbzJlauG zBy{4Wuw5a;4G1n}b)oY0SY*t{crj|eCyu()%J?N4cdCc&c>O52-NKU{^crUS63e2m zVcJu`?hw=!FT$=sA%k^dqw+?S;|u`R8fb zMQbR^X$bWQ(}94O!`-faUkJ|yr;!%>qP;2$j+3`ZglF$q+u;6AyC3JgIU0Ar#*tNj zANf-#eBX2EbUx@{sGaS#+z)w;+pSw?(1cKgVU#|&SPM^<_G1@%F(^J-(>LY^8rp_N z3LYv;>q6H z?MoPg?bcnsK3=#!y@A|kOj0ztUdOj)w}*ZoMW-lMjU+=A1A;gImT&Gz_Vks7RUTQw z+w{IWB_WWvwaygXFM#&Nt-T%LU~8ii_bd zSjOq{hQ#-T4H2EnCCe;NIPu^0ztD4%a}DA-|LLIXMfq2~Yt{q)>AuN-7e3dkXzC7U zpCDpH=F}ky%U<>ELOtN0NY252hm$hEq&~?fu5U!rcXE9YrN}Au%JrVXTQ}^bZ&(Lk z=0XQwv0okw@Q-Q;o;=F+^$v~oMxI>M_^1uG-9Jh;0>qC$b=kM7d_qXJ5HIq{uFYEa z$lvJ9kIIh19WnQqQh~PIn>3-RxY%=_v&EQmtR*I%uu6ZNSjyotnj$h&0Pgz|##ntj zIbOA8UGm3F}bNVY1nM(?LoQA4&YV67q0FkGqglBX+#KMtAAAzi}FhFcrK57jT% zOH$)elYv{=lSCDyE?>*mQ9o`Rz*E{f&Q#udyY$<@CC{4fwx3V-6OhirKZg}LXXHuG zXM4|8o%I_{!|v?glTfGhpDaL5&g*=h@iN` z)T7O=q~Qn9raLjQoI7UO1xj?H{1@)yzC5)p7IA1tKctKWV0DU2U0CHanA$Hl2Qldg zUdK*;+|m&cf$(^2h0+oDJJJ#OJM3hCM>+z3hn?ISTk)!r1Swf+E;0I(Z4E~vjh8DE9=d<+oieN zN!h|_&6~q@<`^jtX+p(qN#CxH=(SAaDA>ES0ZkQ(vQ?XyWS(6;=y@8wPW6O%C7XO= z11Xm9FvYZr?|Kq;ULZ@c$^u_t*X1^QQLpZ_-)>f;JU#OtEYgQAWtq-JMt-m+IF0ls zZ)FY{lRTE~4fD;$i*0yoc>SvgBL|xbH+)4-%w2GHJb?#^oMH}>zzeYCyNf~0*UP^j z^0ut8fKKa6F`aC+cCNt#2Y2}@>c6U^4`fyiYQE@r!l5)2Z=q1|jH+M=U$blkru3`^ zQjs$lz}$HKV79P8n4vGiTs9?=I_E~lj}*X)8iICq&Si%!JB;D5hWPfiN=r~^SD4cH zjrC9%+0dxQDL83V7Yv9vgr^d_x`5~)b1f#c2yFw<0>ITk8rkt%NYy}Y zwCDGl#?fR#L)DmW#eUrtGIm2YB#-=bveEqG`o3L0>`FObJyaj;N}YUG%K48_Cis>; z?3y>q>V|l%;;amD#IP%TiFmpr;oyU47bJ8`JY&D`-@rt70DL;}EPhCBljlk~&c%8n zdau*^(N$m*wMfH5_Q|g8nC`G3rszU_oIg9nA$_tcWc*vyZ-n+1>wotWXIDbP zsjpz6H;`ICdj-j8gxtO*qrq1UR)BoMlExlW?!+5;3lV_hOMaQG(9%r=d`N z^t#HutG7@VIb ztHI#q`TS?8A97yYjvLNp4_wXZvY6DG=*dO~i$o(L3rZstBO5?u_Ahp@6TbfR9+BBU z;Vy5M)M*4d&7XEVMZV3g<7tY#@CnU<-7L<;1O1e#vyf|K2@W`}jSmyECja-cd&Ix& zUFL{d_L&5u{{BwKgF|@d#t*vw8;QH9k^YP${ z-|aLDPv6$o-9nfq=Ve+uE0<$ss9c&Q(KRb*pULiOyVSo^G$R%*Tw9$yw5>XMSz8Hl znQdj&$(pvl)dw89wfca|ww6>MaP`)*>H})F_N`8E9$VtFcT1`hSHD|Uov3-YZ}cE$ zg{zCARCL2%qxEZwZag%sPUR`!z93=vJB2sB;&*b7eN;OU{*Uk-Lj8vbzC#4xA)gyQ zmH%}3a3PmRZqX{VVNza?5R*9+j_d}1vBGt+`lq1CfAas+1wzAzBuv{GgCY8s8T$Ih z_UP3XOY}0lvG2WpwL=}Nw5*9fn%;}KpWnt|_;c_%wqv9}2Yds8?>S)m7ym#1nc+J` zT_xFch`KxwU-clag8be1YKv2Srf|mBjP`N}j3tXUlE2kRF!C$Jz&O_F>bDnYy>n&E zlHT(;mgxPgir@4`bi|05zpdxv&UtfAD8*ZeLFwKH`f}if3zr?I=3iZ`RtAVlR2o{ zhWN&M_>#sa>Tsv-)D8Ra_^%a`!si!&*rhZ1{qQnFM=!<+=}sUJ;E9{a`ER%Fqu;Zh7LWmD@jvme|8J_V5gL zr<_ruPp6mVeLJNrmY7mzU-!-bx-Vb%wXe(bzb@zNa{GEf{?`NedVqaBDF5q0d_Bm% zcHntPhVu2$D+K9U18r@rzNso!zYFZ$16Pt`VYH2k@CSj34?EV=R{3sr?ggu~?Gd%>!UA%Ba>cR? z$Rq^HAoGiERkUzU-`xQe4BZ7RnO_@X@Q1N}#j&7r@F`Rgx3N?5Gc%B{5~Ywd3#{*U(c zXX)!?;UA1okTQ#wgL+OMG9t@Gqz0FSHCyCG<^fgj2#q-+gtknbG59OG){mP9vMbhe?a%}|Kb<b#+L+L1EZJ=5IMtSZ(z-WxHVTf6Dj|-NpFZcFYiC|LOQ=K{w6_;$fwqXZ$|} z{;KZbfAMGk4f?GLQSacNA6EJq;rEm~RI)ZIK`>UNFkWWyL`x7RwK!R}+4N2!`a%6w zNG#lXby6nvtA<{bvx%~U%gujW|Che|nd&$C8Rc6kBUU8y^IsJNulYqSX4Jk9QPBzG+vnTQ)8*8V?c>2w<-3aG>~lVkIERuE z1#KictUVx_V1dOZ--O_{;RwiFJ;TjffIE zbTALa&z{pxPc=)SyCiX1S<^p z^$(t9kY+8Ji~BrK5L~qcKfn>gs3leW{CO68cvK;=hf^wdb_6hf7yfi7yr$RCQIAH+ zxXOKM4~r~`mJA(LQp>1fP*sj9tL2ps~^ce@38B+epvHBkq?LLT`(5-e)^!u^$@%qw_dXZgkJ!ImOjCUjS-7~ zsQ+l6$ecgB^7mW$dD-&g)xT`{Z@Th~ed*2l<$F!NnzpaAvT-X**DjbC^v{+&%9TVQ zl#WwL_LG)Q_w^t7nd>*mQ`1X`f<$IqUC|aro3{m%E#dt& z%&_a^u+u+o<$cq?JXsn|)@|X*E~rcXpSqUay?6YtPjWa!EH!9nT-CXE6F~9cle`R` z`j#*T$3>Rhu7#w!ZAH`iVgJ_=zFo4W;JQhd?2|cyhqX2Kqi3dX-L^gbo07~vb=wZB zy};fOcq-E~dAr)2Hx{o}Q}Ki9Sn&N-YGRyBqCe|FGB^nK$K{9Pu9 z5G{i{27h3qjO(xXfOCwMCk%jlzoIO^qj5jYwR!yL4A$Ps;`@#FOy;>>`T~=@z~#RNIRe z3BFy|R+1TYMI!?jnQgBAU3T^$Rd&axRJOPIu8kIjvJ-8CLJn{AU3hz9ELFv*N>;^q zk35B7g0vCyMjXs}YqLZe@ya#Vo#;GT98|yuiH{!9bE-(HiaiC5sglH#WH<`(u12d& zb4d(DZ7=hqMtssgTUV%%_7>DXN^prq@pUFd?f9$QG-WT-H<_cg(*hvJ$tFSp*_qQo zu(u#+nBXAb6(8vUxgGPy?a|>$b`nY|RXlNwk?eg(K(g)JPI4*z99pKpbWagU%My@jutErn%-&x6Z&w~P2lFKbr zHELM6Z{vC>{}b93a3NhH@@}omv@H0>RI6b>8+m?{+}<)hyP2R;Q#k+ z|1J2x)CK-Yz#QU#P-pn-HUU2=zCI)VU$D?bFk|??^oe}@5Baabf9YR4(@!)H{;JOK zH*Ey|Lq0S7hjoJgo`2-SUwi8=@ZYd&)oL_m{C9xY9c4jj&(Kekvpa&mRG#DDOqMov zW95hW^2{`{ZkbeRArP{^wz;-1ax%CM;&zxHD9G#O5%hm4L`e*p;E#=+TKc80{|CPQ zzA)V}|NLL(KR0X8N5H&m#6ZZ+;tgN_bwTiip0BAYvuA6n`s!Lg?EJ$pIBSu5@rts{ zp~02+s}b(8<6?<3v7!3h{E%i!=VD?-fu#5*egYd)71l2SDNPLePMqn`ATPu&jTb(N zr!K2#al)r!udMJ{D42aPm}19dOK7=LLPl%6fnCGA7;evu^m-G|H7V6{W&=|Y)_<=* zl}7{#&#s}fQmd*%yZYJcadrvw3wEw)ty)b;OB_?k2&YOfTi4>^FBzZxG(H=U#yp?T z^9&y16{g#yFv2-73!2T;5nOeoZ}2UCMV6Glc;MFx8#n?$$E8Z^kgS9B;kWWDIi;*| z=8jLk|MV%4Kx)YMn;CazVn1kDn>j6vPoBAB%<Uc%kH0Q{nya7 z{agXak@v^h__#3!MK#dl{^Zx_p&(7dg=wg6*d2W|H5%-7vap|w4Nz5eyv7j%)s9tu z%K2(q&s9v@0qeJQ)J)S@pN!=zXhZzjU?_hYQy#<5i3)K6KWBLSEG5i1a?7t(59bRU z26hrjhn+9kv(gh2f62$rJ}2yqot*(y)@#JL{QPvo04vt~#u&Qy~eS^;^tWMrgFp@WA>4c#Ff+LTrei{c%oo}JMB6_wh}Y=XyveHHk?^ldjYe> zr@67b^6v$I+44pQht(4wJZ#>Q;ox{k!Y;lVMsA{vv+?N{R2%JC?b*iy(%NAfH<>0H z)C55$rS-Wc#=0gBr->o1i7$8CMCPVXufHg)e~(=KZ7*0CRR04HSQnPqr7NtN!#=J4 z>|iBctnUADY{e@@ulMCbxOky7C_u6{?Y2brfK z=a1yZ1e-EFnS2PgKX0AJ+1syWu{vGa$|aptaR|k#Vcb+rTPxMD>eS~QZnD(`54sx4 zsNrX>hM#lE#Jd*1H7wrPsrV0b#ZPy|t5m$SQ}OP3LD6pg+hZ%X6mhcOp6p$Gw&sZH z)NsyRTn~Cv#os#~%pN=j%;q8JLD0yNe0zd5&RNr5TWwaY)lnTx>$8wojXC)^H zm}aDJdWu;Ip*@gu4|bRC(v9Es^YTpwNk}H=xI%0pP1CSJ*}#^n^tJ6>^?06s9@$kt zI{-tytB|yI@X=LIOG0cEp0av8)Z6o&2G~TZU(?X1nHXjV310{IeDsO*?Q@TU%TNc8 zQJRNTY00X59qdCH5j~SaoCR~3iFp5-RR43xyt-lMM^GLv*|pFx$@$OFjU$t1m(AQ} zdYIWxpLCO&Y^}LCbLEX&mkdK%qhUjqySGcDUzLlnf^Nzw}$jzJbA?3$4FTmTR~oP zXCL&$E|5-{)Jdm2V4sCLWj;ERiqgl}0NOw}wVZ=$l8lfmoe|RKd`icYhmS~JS(g5j z`kX2r*B8{C(BM$#HQ*(O<)Q8`N9Ci=ttE$IG>6jcli5u-3}~d@kH0{@&(ynmj}}r= zrK8_Ajm_P+s5Emm| z>c1lyhanjs<3^-lhuTSg2S42u%Gc7#_e;JOf1it&uQ|kO;-c* zwe&Ps!|7ZkUpp5c92OtcsrbRU;xGKs0NBDs@-@G>gE>SmXA@WVf0Yd)MQ0`BN29kk z)eNXkeGk30R(ea0wN&x<2WtQ3vKY9RIOAdZa+9s`qs!74a_2_qf&&?$A+tJ-(C^<2 zM`-yGjL=!pL~jnLeEB~fnFFhGBjb!kiO#Y3H$m&bb)c1aMQ-{9}F{3b4lM~G~ug3kYI6^{`+z2sHBefxyja{_=#oD*!XI67Pv}&!6j2I^wwET zu7=xH1M9YZZp*KM`Ae>Rl`B77s?D7r&641yFFX?5uKt>c z-i$88=`xVW!4vK)uw1nBJOp=h1a89 z50gD*IS_YkKf?V}VPJna@AAHc&?Rfw0olZ2~gd*fte%|XsY>hsazGLa4* zk^FWU@^PhXpG0d~2f*zD4_;<52HoKPKf*(*xFT|o&HsY!KXk<4ry@^pw5dq%F^dy4Qd;MR+r*Z;M_ZzV$qhNpdqW8-pD7ZTvmPcLyk%P zDA$j2{{u&l+vQ;!vU3T)t9Z}G6glsXKSfF=Ozq)j5}JRsXmD(@%OKS8BWM3s4jcF= zI^j}u!T@f(x1zYkv=B`Wd-hk-3PU#A#a9XQsunpcrl)(*z64B@J;{3`pM|vyZ_U%o z%3=RlNn7L?Ed4t-zODaxGTYXTuC1GP+18J(jnB|l*1uIbtWs@Gq|KqZHji*^${X{> zz1F{sUAn0`!$;jb-l=o2i`Y(@!PpK=FSXxZuy{w&e?bh8`=^@x-gr$&Tz@#z`WI@3 zRHrUyTHhh-)4LE;#gh+16`yjt%pCtrcBtd(^tbVYj7r82FH4W-uA3^4SC!1qJ8EA- z@D{1AcTQ7X(kHWVb((sYgh+qF9?LPwafg>-G9e4%iS_9>wCxhN!5u5`t^NepK{qad zqw;+b^!K8waUWZDwhn10eIepy#5u0HUju_Q=jkaWAz)IVY2&TpTb!`f!k3 zcthngsM3;YREgwBDL1ZSd=Q`Rtc`NfHsr65aTgGcqmQwPqH-6ERm3!BNRc1qr#q#r zaE^cf*VaFd2-iQt_{c-ZELK96F|6WT0BJCG8j)8|&7KqRkWR7Q4FXopfcu?*_d5ZJfVS!KX4=bY!2j z_C|f1>T~8_v_K$7fntK3OC$K>t7d zr@^&WzRyv-VG^M#+|*J`Ri}0}M*3QMJEHiXV0)>DZv^nw4V$uKq?{bD^S)7|H&H~` zuz;UACr2N^FCr6{#!rrpVd*;Fdrya69;Gy0bnI&GH{VZR4)G3;3wiLPKf9M>xPO?J zG$Yq9JIjV8uPgKR5>vtrHJ4|OVSOX(KWXJ-Jsyq!WJlJ2a*9>Ap=KydHl_sY=IEME z*3B7*c5;LN{tH5lTYS(cYw^LMBly!P!o=oUNZk8`AX56jz6O-ZxzX>YL!_O)gl{8# z4a%vj)6mt|b-iMDPi1e9*QPplU|cBo$uMi-*ou+K3%&nD{tfMYYy#Lg^sIXc4JA*a z#J#2=ER&K3d!D`7B+ICdTg#uHJ4vC$>hejqbik7Q2bEHJGZe}a+FNcXytsXmvwkaw zja-fnxDXvMf*Y@Q`mcSXL-SiHfq(zZl)wje@%5OXql1&uuLu;-+-O&`r&TxVZGk;e z>y^W{E~AYJw9&?mYvT&$|IMb|)W`zY$S=BY#3ca!v_`I0Bl7!yH`_=s-Zde=d_UL3 z7rSl3`Q>-liJ7b1Xjdm*sP3PMt#}!~eEd-JZ=hi=4*eU>z=U8&AB51}G}LLBh2SEF zZ3&`e=cV_wiS&d+%hDgCVPc7Y#{0jdnPYWw#sQ|Z2Ep-E1$=l0x&6E3fN zNP$0vP{EGgk@{n0Bq#gKEoFkk*?#r=x!>R8cVtQLuf{4{YWIg?g3&MH^hL&s4KkG= zcvukiT5eD#-3C%taby{${>wr)q)UP7$hA`14k$#m>HQpA1gK6ZYH5on!uGjde z{$NFkWTZs<1RmE7`^rZqIxQisCwA!fkeAI5J?;+@Ud_a!vKGAN1&R6MIz6L&!|U)R zVWBfWG9U7R!1$}*O1vVUDN{2dy_yeZeq@sH0N$?QtzI0%{NZ=@O5!jw`{&&AdI0t2 z?6>B~?74a#g8lfH`5|xdx9q88FPvH>ks+E1xl+@gh3e*A`#Av-6+*^J=}#1XumK3N zMgI&NxYV=M0B*c&D1OYi_DERj*}I(mYZui(YnTHH6-54|*IS#Np37F4D61hV|H!aS zfA#fm5Ute6IeHx%zv$`uFLkeiZL6 z>LQ5M-2OYh0tWfHJ!B7-9#SetpM%0UuT-^v@q_f-uaQCrZxDHqDfN4 zUm9q^WAlS23xdD)+C}hKmt~*e=4(HbuPA*a)~RD~*=LbC0Su7iZ@F*1!6AQ;L}Iwi z8#23$CkfK*AsL}iKo?%aE>w8F&UmfQ?R$&oH$>_$cfYUaH#~nZa-g=4nCXIl!C*RM z70F41tVzp5{^AurdEOK6fja&Iua~dBM2++WU+#9hbkj*|_{JJrkE-N$DJy?+2qk@@xCN z=FD_8?>vL=&x_ami=!LUO3OC$Bgfwg1Ltj&8gujue@FCOoe!!{6sRzFo3WK=?x>hs zGE2;DXotDQ>{_Z{VAs&+;U-_f5eGPLEBsCzf3&iA#A2A_M404EZh|9M82e#<7jOTu z*t_4yTwKyZ7@Q(G_=*ow(W5EaS4A^T*`h73Xse2{xM8g1T3h`WU*s`vf~C14H@G4< zst5r%*&>d&+^SBQrJak*1i{_=7zwb$z>>e& zUIWS%Q_jtgHh;$zKHC+(=cByB7iSAoWc_xU`h)-4HkPDH$G@ES_2B%k@8xT=zpwWt z2xAg(D?iCA(a|#mj{2vl{%Zeqx%>KpFXzd$*6i1LT|sA;1b@}Z5HL$g`VZKEoe0d) zmlCRZ`ThSg_b%{JRp;7xCKs4s;zS7;1T?Wx6H7HwJWZ6;8BBB!PBbcNRMepHS1()?_Atm*2^S&X^So>Cxn%5w^7SHR3gz>$VWN?~BTe8;5i}2i0p3URaets= zmP_8a^Kk4l#!8N670z2CH$U! zsBfi+!SHTeKGgGL~{EGU_cc>59r9OzIRo_ZY&vHb>664(gF@)DMf`@5; zUbrt#e%|Ve;qTd*G5q~GvKtSWxi!V#;TvLd@3Tj8i>4oat8c29v779kbqURhgcvM8Z=z&i4}h%g#=`@Vfim#5aNM-LwMO|Dbh;%r zahkJ%FhXVuM#xOT2$?AuAu|Odw8&z!dnrzF6ARPikX#FLcBYv80UFjgDV4S7@OQdE}1NJL;1otlj~yLG}h^ zI1(0wZoKEpC6zhd$lrh+l;tZu4$n&Vt@R9oWGT?tpJgr{t~0L3@&txa1}3_lP6j!! z@kwFpTV?F{A$oUjE8fQkE94bi>NB1empu>!r`?er+DLnnF5f3ozOkTkEprmPkU%;8&EtFY18JI%} z&7)lAM}1dg-Myyd6HPcJJ=Z9OzB*z5+KTE-`v~8zXAro0=5I=>l^TVBux}cba21s zUGz13uX!(vKr+}3_JXt4US{J);6V01LiNpObQ71x;hqrO+6DE*x#hT6wRFF4H7}3} z?gXnBwXlEplm{J8{uV$Pzb`)IDPBfvRb9|NMjw@i{lAbC-cvlL8|H+jryeJ@j)hzO zd%w8Vukc5X)sSn}SEw|;H>>ZnBHz`Qs~q#QQd|Yga9VzDnX6!RRc2?^+$6<9l)9S-|+xds1y9*UQAiRqG3Gt2>!cMHdLF^#!lS zI3Y^D7(j{YA52wKMQ8_lCHfbf{)60j5OuA_9j=I$D*s`Of9z^_x2vUN!3vbss$(%z z=vd4YIuSynGZow>{)1b&nQlkrYKYC58pMWc=5R?OI+i2oSazag$;GJ56dLc5 zQylZ22S>$F&?uFOjW8ZQm*!zpV?9Mjj4f;gjEC{uc$izv16|0G*=%+u+`QWi5GcUI z(q_|#dY87a^q^d45L%8jj!68q&xM6<*}uV$G7CYCv(QUSOAt^`*ujR*gQhm9KA_}y zRr0>%CBgmg?4tvU`2V;#yY2nlwA(Z@*!zd+l#Hn<9cqFUCnxdL6$)35t9!W%m*%*A zN2?2PyzR&Cu1)TOHMls!Q?MO3k7GMu3;uaBKlK!>Lx(kExnn*q_n2Q})4JAq^gC_c z%Te0p-Je?Jn7`Tt<|$aM6|D0v>FWA4c>HYdb{h;P|N8b*I|?=eAR2|kjB(a4_Y%N^ z=hpDGs#(%$fCffAR=lte3=+TF@qki2`w!z~*#y|r8iwk7$Y%!lW6CF(O`8C=*AS{k z(^pRcsB4j(ga_zPayA(UTP~dd|Lc zs~#zH`}Vnu52Gt_cWrP7596BS!(;TU0k~>G#12D5BYcŠ$%dhucPj9v&S9kFqv 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

    rX!}u;+(e_>T8I^!rcnURB~%namHP!2cb| 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¨#c3%8N*A6Ju@Jtj#2V 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 z

    OCBC0iAm&7ktd)@hAyb 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 z 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⪻e$xyQ+&;rTMcWPg6wgPZm8d2P!a6Vo-{vf+2^*j7q{}dWIYOO1FV;(yu`baApFzRGR`sP) zY&I6Ff%zZecmJTL3W9|bc!5_~7zv!x>aN1zq*3gNtC#H|bV*O)D`8ECHbt65t((Mk zZ^Jtv6nTz0k>{v>ljo>@bKfU@{!1lQo-0^WjaIb-Fznz+-VBZ_BV=)_5Y zPWEl~IMR&Yk!Dg0-1B$dJ5_{gCe>egleZ8R(~Z

    CDui;SJDUo{O%*=hD*Rn<~%Q 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

    HU`lBOAID{>=YOSXCk>ad=l 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≷f&ungff;xFQ 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 $W&z_frqI-FIFxoBmi|+ImJ(6YJF- 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ΝE@y~K({sjv}HLOF?7Tm_YM(UlF4 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

    J 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%0Da8WtaHft84T6icX8z79AF&b9iq=W#=SPD z-oF%fQl2LVdu`ID+@N-n!2CkmPuMZTX<9B!{U?YpaB9cuRjIu}s_(3-U)DLf`trTj zFZktdLmy&KYlB};{f+E};27tP!c*NNs{wnDhEK`H&w!TLDGKZ1@lXW@^E+R|3D7ub z1|2V>po?MD_IT|!DfT*kcr?H+M~Ed7=*JMsKZb;-Dbtm{S^25-V z$45y2rFO4Vy9iW!{ah`Wl>AWkMLPK*_4|_HpCG)W?3-9Q$g$(|$u1+Q%lO(sg@SLZfbq zHqX%rh*LCnPrUh`N%If5@aydVVn!edW+(R?A-|&6;R(kl_(l5OpaP&(lK-nMtvgQ7i zO$&|$KW()?`4y-AWwZCM{X$gX5G3g$VSJ|6@7KQ}5IFk1AHbmgZMS|eLj_6AI=5`! zv)~7D|4e*-@I&#>n7jsL*ID7G=}_k3QhjN{mc|oDbZUt@`lt*x?zQH$jQaI+jzGae z7W95`?Px1}hfF-U188_4^q9X(PV6W=rJqxLE_Cf2HFpMXHbXuyxr2sqDZD!vqC22E zm8mZV@fY+DEWwmB*jQ+_ye@maP;+6E>->zGXeG*EN1dAOe(#0=_PnjZHmVqx&{;5^ zd=LZFU7PK#r*LDvKtBcv=ulI(6{HjzHK8yT1D zOIn`InB^Ww(O}|i<4!Z%xFvD6q3A>3ua`8JpZwgkF_rwhK{s2a zY|s6cpVy*xXVk_ojK+}}0lIb;wlUl|_W;>qG3J@tfMXiG=ahOL(7U3$b}$o--VkfG zqguRfUYYtq77(1|tNkhL;@X@~vMiaxN$0j<=2np67#r*>uMyj!CgBDNx~bk_>xjRal(3H&4V z*mL|#*nmw1Tnjf7JUIPjH*mG+&9BkFfLe zoKkp-rgWg+FyB7s4&^iq7r>{(gMo5Oqd#Mb;0o%5jKBzc`9B(QhR=yC5a=voAy#Pj zm2w@mlz5uos*~L2iz;!Xxsl$A z!tEq_X{$W|X*6;1=UK$4k)w&Kpo!k3Cfdx&mJxyU2fH-UxD!PLdgBVlq#!0J8kA-x z0qG-3iFp~^I6O9QF9i)vYalMUflDdS6$N27XaL$wbv^H=Pbikn*u)CHZXALPQ?}23P-((X5H0a*b2vdrPi#|>9&#u zhA?tiyrnS~(Uf*;VD+8U60H;VQQCHvW*?Wfbva#UU#-P#d^Qz#x;8|&C9+Y>u+e*p zjoP6<9<-r9u&+*rJ?=?Ie`KN6??itLb!z|O2~)e$9}iunJGM9d;aQLw=YOL^JoR1h zFs?`RatcP_UM52#$}B-(qiBRM6c@0LfBEH&8TR}u=y%6ZuIm&WQt&VG_fP^>Xy-%- z7`7NgJ#zF-gCt*yY=vU_0ySKM8g%@uM#aA1-$GqD=G7HGWBzzNe%ASJR*SeFBw?+9 zxKNy3xK)rYWHZV^jV9hZ2FDde`V89gV1_*tLAr*xgt4dc&~8qqSH?Naou8rKS|cp$P-`^G56@vg1OAM zAH@3ZL0wu$?d_wlQ22A%veBK1NbCTGOeD%N>`6#--OBhf_6 zma+?Y+{z#THjGrxR`LH%zFq8_Qn!6$FSy)I-`IULWy-~O^9wO$mO2nf`=y$8PWvNB z9}r2Rtr@yedq;!2DVMad57zCu@DclYywNuNyZhLG$s};00QOq~P*nuH+Fo$kKK0+k z2c7;)e9-BCyixnp+tQ(+yKd5r0*MbQyr+u~67z=YIGdxfCdacpBe*>i?)<)oAXY&n z<_qQC6UzO`p`5yKm+#5)IN~YitELW~yBg15P5WURHuZJY@+Ya~k4`Ou|Kl|Mo%q6W ztjPmNke_;r^jP8xtV+q=qkgOhK8vv-MZXT{Y%kvjbEItAMG5P58!0p{}R9E&7>tO^${KY5QH823`#5oQERprD+ zA}UaRBoB0hhUJE-C-@`TSD*7R^C&m+A!bI|FW;yS)@2=~DvKrbt(|i=4onTbBhHd$ zdel|$^BU}mtkKhHnnq7UbP(hKQKX}qV~kiBhKp4A!BIOoeYcivz$r-QubztiC0J{m z3zF%lDd%{W$64#Lih+&{tXj(9FDW@N%uUSm*{xjIzBpe27gngC7&qWIq)K6bKpeX2 zFYW+KBul%xA1cr-s~KRjDXxMAk9V%t5Hi1@O=RA-39n2ljn0LS17&#;=9B??ZT!ORs~s!FUgTz zz>&G&NVsD7DIEaJ#4L$&0Lw7b=f{#iJoRUp@onKEj$B;rKYu=ax)Gd;KkvBU``}L{ zUmpd!Tglg7;-S*NL0oyB&z}lp_2(Z1%liz!MMUkNZd4lh1bZirc5+MGkxJTno~O8d z4yWxw+@8=oN!)%s8sZkan8wS{?Ub~ z`&Xq$tf!t2MSon4Lnd)%3wx(vmcQjZVF≀Ltok{?=cvaw!T?As47Vz0*teshni8 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%0ASC+aj_(ufi$q`c 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�>x#gg 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�TXi@H%$f2R>Zw_P(gDILEMJ$<2#|L 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�Oy>Z5b9qDxWc{pkg+TkrVi(sfl=IeG)myU~I> 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

    tG4U#!T=9&AQQphxMg0jZC9+!5e?&|rh_->D1 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%0A*~krXSNXM1mq?p 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�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

    {$Hc+GW;elWQ2!V_T2;7@OuJr3e{y zV{J?k&q=1X`L_f0lf;!G839RSr4MV4>T0= zsNVnHe@Y82>A&Uk!`7W3u$~_-cG`+6X@1!H(~JRV!TgY-ALIFf&rj&b#oMJ@7z1jv zk`mF@9MnxDJY|M>X}8=4zPe|KWag^#E^f>|YIw?E=P;?bbfc7K==of>wW+DC--h1C$&mB%2< zJv!MVr~XoHu}Lf-8b}a~$WZ+}ZEoRD8=|(5PghSI_)MB&_DZeKveZfx+4XT;g!Wrn z3tvbJpC&%fcoP1sOw;YY%SfN0DfH=V(+BQ#33k`!Yv0~NiodP`DPH(5NYTEdO$yDw zi+^I%V^M-0O9ZY*0gVlR5`T98!TgzM;kf*nBA?mpmp)rWKIy0~>0qO#-u$tRRZHxb zme99XcKW_nAoRVV0rai>59s@s_BIfjzQf{>WTkJ5$Cts}!vF1zW#x%z-V1d9-_@i4 z&Dc^>r>FJ5@*0~GP50lNeYp7TIDI#_vr$tw#9M6%eeL+1xPFB>Qtv%Kg@5DtIf0*! zCXU1xVVCz5D)%RrUmO9JqZ6R)yxKt0c7F`>f0GL%YE zfn6VmV!5nHYT^6of1DmjS-_;<4+2*SmaxgIpsxtrao4}crQgbpar%|y+vBI+yvk;Z zL+$7vhs0+oXRu{u>yd z>~CQI{s#8%Z(#ra2KLXA9`dh~Q%fEz^ zKT2X;>rwb4?q9$`5d`}q<7#j2^3wh&O-f(-LiZ-J>irrK?nyqJdvSw=IrSK=Zw4Ln9~z(QAAZ*7bpLi$#n_M+ z_pf6n%H2V13k3V!j7Q77%?CKK`5Hm#-_EZL|9gDD9Q&hRynyxlFy8n92+)`8e||>C zBqGpoSUP54{jykg%JEAMm!l_ctv+%118$)?Q~b*+azzRmB)_tVEwdM`&wBjsE&7l5 zY5(y~dlP2fUam*6*o4F*{mzkGZ#DLhjQP*e!E1%uG6sOVAjn{hvkUNh2XUrN-FgT1 zp%EV|{%4#MC;uPIHSV2?nx0TAtnHjQd}b|F{d=6A+*O|Nn8w&usm;w>LjdS{U?37a z<~7>UAMS>0l-Lz^u+&L@VrzMn{i`Hgr`p}Po_gLSH^3Q;fF>LTHSVuRbM&`Y$6e5k zt39E19&U)0y+30huY8?KC#K7~ChDA`&VSba$Hn~^3yn8c0JIhJ2(Zxj+EJ|=+qppl zPjEAja4@<#+zsKm3~?&kJ{`6kfR7HvT9IxP@z=tKENvj}{v(_lSn0&ni1325(U0t| z?}TTZpUl?H(d!)j20H+7YtHOtpY+`{t1aB(no4T+1IHMegD`_Zv#mI9M3U~ovo0;b zlXiQmX;`U?q(obzNwBDO2Mq)d%(*#}N65d%{Kr5)ONOw?!i^I!awSQCJr9I{Q}Cx! zgs!vRvP{2~4Hlh#p_t#6=xto=N45p_)7}+v!+xw8y0j1w=z}no#2th}Gr_fl*HjY$ z0$9EjTv65_5sx_hcNqS!rzIIN%ju{}EGWfAjr#l_oO(*OJ7k_9KS(ta(Zw`^A^| z$f}5za0?jFDMpNK9b?=gq#U9GD{-9OQT?lNxfP-OQAph!trl5Z#rHU{S+_NYO$;X2 z*g?Ne@NnZ+JH8xYvGydA!dg1IJkq`0nggXB0+)8xQIW`T7H+o`7<|+gCqinr@NBrR8Zm_gq;U)NGfI%q6}%L4*+EbU7)g2r z3;G#Df)Evr9Za}wf$<}2i^k_>H|1y>mx!GrsoeE=IGFIQ#(sUof`-P0 zu5Xo(5F+on6*fp9&gNf?!(sPr>JYF0Ar-9%gp>h|UWE?Eg+{f4{H(%WS@aV8&c=%5 zred{se0Fvuyv5O5|C`tu(ep==eh%17YUyWN6JyJ62|2({34|@v7w}u#e;l8{Z^%qc zQFJDnpj_5aIG|t{j0#Ca+Vkm%nAnH?C^t@c=+sG8#KhaU^)S{B|1fR>r;H;AoWPL= zw1^nH5j~khsl4_Of2_f0yGd_pIKd!{fg~h)C|t^ZDD`BRU)( z+wXhKEJA5dUL$Z(PPy@5L+mub&K-Wp2j28H>N?@`a)judFvH;q8L`%g>i`)1b~F!I z{1acA!B>iE<*$_)DNYuBhJxxJ8cP%tQl3H8==DLLHF~&2rD254QsM0jx_M7BL;b?{ z^S-u@_sbuNik(nGcAVO{6-+gOTW@-pZy6H%5{ZD+X^__UPRA> zP!!3=+^XBS?0g-?jXzB~|H0zq?;YCyn27@dGRe%_yM)Mqzsbkkl3p%<_4VZ3$KHY8 z9+dBszl(~L{Kb^PmogyWhKN*p&D!L?PxeA%=WsW)o^L|d7Z|GbtZoe@2MR-GwHeZV zK#F*AU1dH~5?~)2lLM&$o|(i+{WnFm(jtFwV)KMgUi5cNY>v@`KOMZ)4JLrXL;xsa ziQaGAj`-#}L5SSI@1g&%!ib$y8-~6KT{sF!bfSGkQa3~YZ>9dPhqWG>fSHRn41lVa z{&dzMvZ7JfC?zyNI0>vb0{@YMs(jAuq3(-HaM5CDNc3x#h8=bIsrmmX_Ua(tp-~(0 z+0`4V;*C08cdYIYQ!>j|L$5_icrv}v7H|lyNintUeKLTBk%Ssa`^0Y~$t21XRD;SP ziKjCDs&F({Dx-tj$`QU)5q#G@Z(}VwC_k{eu)-L%C)Ne@quSXT!)amtjNF$rU&S zy^ecsYzo9qkoiYXJ+rJNiF?Ti&?#1^ggph>{AF>T#b?d(m-_BMoTYf_f!!Edj)nB3 zl?9`UV1s+WA;d)^-gQz5Fxu%owIW;&Y_|G7!T6pN8fT5~u+GpA+UhW)&p{Z$jwMd8 zqZ!g4TI}ng|g3Kx?*F|st6)|xt9<3AedU+iZ}Kz03h*8msrrm zUdd=21)=GYW?VNd4Ap2(Z=ZY zfnDDAm?8J%%*ZSEZ^)xTYU20DxzmS_0ystBi68GrTre|asC6;+&-t)PAW%gvYsYl{ zUw5#66w+UhHeSpx$5~i_7JL9{jrD zSZk!ffg{K9-9C%Z0D%h*4`qHuUfC2Z_8}fw^7Q zN=7wYY;ksUR?~B+$d7&hm~$nXVLJtln-F~~@*!cHIv56wo3C!RTa8H|fL{On7C2b^ zT>t}^d^8=)7%Wu8$VMtf8zr>~s*=1@Ok3P|^^;aJ3ImYI`n;7K3q7`{Vr+p4A|-KD zHMl;wv*BoKz%%sVDrTwkoe`dX$p1Fdfi*}{b=)(;(RkMkm**kmOSt1-t?U+bJEEZg zi&Omtd(WbMsC*Fr$o<)@lB)|feorRwqra_$tE4is#EZPMa9%+8nHqdz2>|i$&yC@9 zgOp;8#luH!;E^ivO{B7i18F35CxR%I9}waJQK7P;EQdCP*T!AQ1uWhJIyrx$<`9$A zZ|E`cOCDjw(dUSDRrfTktIeO-)|Gm5w1s6$@SAy^HFoqF9tSt5SdAMHYYY4YH)Q)A z=~Q3m3C;Ds)8ma#GYsp?rvO)J0OUv(a zku^RT8~UcWI-)|X;v9>>Qe>NY5PdLfEpC|C-D27K@tM+PNk*5f3s9+p;2#`mQ6$lQ zVm5|+%sIY%%(UZwoP?!cTjCpl-T;$wFhp$(wY!P^JwaSN3H|KzDNW#)f>^lU(|gf= z(a_@}r|r{~BYrr3&5v&{!s9);sqsBO6M*#bJqf8Y@zYyK-^rPMe{cR7XW{Q6e}k(LR!Sb7N*=A@!h5y{&WTzm z;Q(9&8)>{I^Ln`7Ltg;o+fNmc?fH*wIoTH0PBy=@tr8t<`bSp=%@S}YtkCG>7V!V~ zqi-|{U<3VINZ+FuH3Mf0<+Hy<-vVkSs-!6d;jvx<0?#8*M1@}JzLf5;fAe~ZxMuuF z(SK+o)Bg6MbiMlaTcBat;WQ(P?0$}u-^{kZ#bet)!v>GQ2)D8bA=gL6h)PvVmz2rSgLec??rZqcZei=60qNk80x)&C3 zG85T*e=y-kkH6BK?9%*&T1+bdeB)0N5 z%l6{NWWcOvwr|Y8FEM@~ocN8g`qKXEUEZ5X)lw-}dtrX!WKfO|cNB67!(`d#ZL$sv z;42&!7zmZZm!*VESbn+ zE=Do!fYKWNXA|&iE>WWhC%5FWNw*Gfb8tN6fsNds#7NZStLw3W?hc;KtkQgmr5Ljj z(1Hbw>a%t%5`Tkz!dFe_XIOXQHXW{A2^j2a)rX+NqIKeXFQNdh#=fK+&jj;~FBJcj zRf?To@EJy^*kU2lR~1AEC0`mpf(pLHZm>)MaPSi*WVph`VP3$}D7!)c zL5y#L3&31v+1Gau=A;8d7!j~x7v1;fBj&-wI2n8b%DSS=sZ5Q%_Z16Px%~0{nLhzB z(a(p-a14wt=pDfv8dgeXr(}C9_uazBKt2`Mb*2k8HJ!%vq>fV^fFZ1!b{&SGIWu4#r@|Z8b7NpP+Nq zify=Folm5-r5JWh`$m=xYkvc?J@>u1*?yqZ0wR`vKWEbZ#yGIF0HXIdri?PSTV8a_ zsS9m)aSpfbtA)^bF!`WnbA1wl`!3w^u7-)ZN&cgH=HEd+R>ut}S0!Hoim;V}Em~wpxhfaU(p#*3oSn_G@_b{##g^)>vhPoU@1stR`-HmhuH|My zzb*X3{bk1+d@9>HW4ySCw%B{i=G<3u)JUGM4|aS8pZJIWV=cL=t9tu#G7~g<#{kOp z;WEb^Y{h~DJ_#~S6#@=!lA4R9W@oiXYPQEN-Ht<4NbaC#$DzUX*dJYujYwcv$+4sH z;CT98>;Qa>Yhx*$7% zou`_)JJ?M%1=iFfWpB=lTEI6ZYgQ+=I;`5co13l}fkMfwsm5Gs?QLUz!ec~zHw}}Q zv@T!AcT)gSzM6fmt%B~)aHM>X`DY8+M;Ki_anARde`fZv`aT$effRdC%4X`L`oZ$NQTeRBvq#qCkU)!*TBFh(CWgBSEziI(}}egE*vHKN*-8$0F_-s0(D zoo~FlM}EYVs4Dt+;45j!x3^QF1R!`q75gt;%U`QMA{ZsYfrSdU4SDqyA|W_T;31Y# zdq;cAJl8z_+>fyEM;<5Gqx8TBw`;Vw8-X|RzHwvlJ*as&UH5s~u0q$C%J#{XZ`!|v z6QAXn7b+VEyoaj`bj}RXZ4IAeyCM&pFjt?C0Xk>nTcA$aK3p!Y2`#o3uQT8(1aTFo zEtFI~fL`u6U?GmN$KVLEe-lG&9B`PzL(lgQKe&p7?e0M*YVQOqMgFAo#c)85jtj+X z0u2$v5I+$w@eB>YLuxVv8_1B4UpU+5W6a5x6{h)v_pdfbpIx9&_-dnAK2 zh&QoFvmKZl^OxguO&VU#n}_rFR}TSchCjcFq&bv@G+rT%u^@#sEKDX1ekYM8LEUhN zA^zc8p^0<6I2|>2NWOXkyX5ZRFzEUr)}*?A@GiCa4^&7tZJVLmK6UbCajM-p#HQNj zIMou|rs=mNiGHND$+54bkX7lu9;5E(q)FJ}IrFbMYC#G2RK$LF?7H*ioRtI;%2nOZ zTq-i~>qa`IaNWoP{`C*vUl06z(3Mb+u|icO7(&zYngsqgS;PS{z07cV zenjnfOenG`J;tKHu^& z-_j5)jtH=7meoOlIqxu9alOiaOrv6>{xIw~aL3EQZ)(TDYg5p@6uk~p$}P%z|%Vk_XKg~IwbO_%(kBvY3R${1nM?-$2) zXUG}r2&BE#K$jQO|B3y{zN9A9)Mj-*X}Q7sfz4Z@-K-oHaaY(tyW`j&Z2LUvd{eQQ zUs*T_*s)^!<^s zameEPBQt+&(FbA)mh~TP^kVZ%2dK;g$27iy3+xasl-rQAasUZ<<2#z2i(kb{?#EPi zYut#PS;W-V=VOb5v#2_W2geg6;UuZvKGPx##K0Nz+wk9H^Q3Dt4Qxd^KM`j* zX~uoR>JZNeCAc0Pk9US&;^RD~POSI#32tX$w{W)};Lwg#FETt2X;^IUwi;u@(IWq` zF`p4=wv5F+KDYq^{CRSQ&j&+>9hMzJg$Q#!g|FR;+AeUK;5ssAXf6Y1LxcqO-Pmy1Wt!O|FoO9kPK;(kR_MLZxPjmZV zs8@Z39lk>Rgna#7k2Uvl`(lGvZkMNw3gbh5Wc^IJ))&#scjk5bu~wb?ZX7YaVdqfO zJ_WQ|RS*I2=gQNYg`WmH^fT_0%;G$=`RDlZc}~JX!G6_fyVv8%=W*q0C3G7wifhl< zX%;>S|C}*@4M=J8I2{lTpFl5uNJFy#x#`T{L9^kj!ny;-eGBj*7UbQbw(ssh`N#E? z*VP?}wZVU_>JHpffS0huoMzb(=E22`g2>VZPR6%0;SEeU#JE!ip_3lN3Kv_)eH-7A zsR#D)Zv7Pq`lnB29ed*aSjU#F#|VcVztlzTS#*jnx-D+~WqJ1Ysv+{?izYesi_I7FuQvWtvKZ&-aTL}A`4bei# z4<-{_U2+K(CuSO&!?+HTp%2LKM-x0eGG86CmikVv@Zl)xfUfCP*8heb4}T)W7(g`7 zSZAZD2G}q~5f7ggIe<#|jQOY7_EpHS>2|JWJHCZKygw$^)r6^pQN_Z3WP$uePQkK` zcl9$veK!YM`-iVsM#B(^Rc1KV{n)&QS1Y#33^{(P8@f&!iuE+t(f!F*Xm8~pGog+@ zLQ|vJlo>kPKYW_B2YS&4QtX-MU!OWLK437F8ia zt2J{$`j0s8x-yU(XpMyrE)|*yGv{2MJO4!7ceNMh_-->pizN+8@N3II3f_Tf1DB#i z^0GxSk^qXy4V|jk6SA-@NvL@|(l=LB?3P4)P1LjFUk@08Yte`7mwG}lz{g;$e+StOx*ps!4p@69#I5`8t7VZDe zw8j?91J@rL1Yd=!Y)%7T^io|3TG(;Ri|}17_z@Nq;f~ed3UQG4c!g^liQ)l@SeYP- zr?qU0W8M=lIm&D|xfz6)H8CLw`05`;$&jbrPd0Oq1s@up?hGIhlX=W=OI_%9gi*qa zHmeEn?Vw$oEUJ~=WNc+JL#I7!{=Uc#J@xOcCJkx`)og|oGte;+RH`>InUrdwl;2mh zME)+4s9$UVVC=Br`LP{b$~e-e@C5_{zUA_jE<8tdj$AIH;HfV3P<|*Lm7dUFDuIqC zcngArAzH`~1&>1XDwc&OAfZqB-|(2TZk)w-@nDoHa0~#U zdRt>vI8;yow0NB3oSFJK2S&I>H;ei0*HMttrBEW>bWh;4cqJP;}#Y}uI>=n?kE zp8^J?Q$neOYxS)z7!2uMU5|Ao?OV8Qjlh?vN%0GewYDyxFvt`#|Hi%Sj~1r1yh!UV z@ayafaW)(>;UG=J2I~_nfDt@;BLu+*3SgrkkOS|+^*B?O09rPYag-stSa8539mtJ{ zNs0X*d@1WQR<43tsLGdBT00urh);UY4%7CpnR?CYY+ttJmufmbl=&B5aUZIee41!a zf8|O3Do#`jzG~Bdw=>6!iD5+vXhF|NlzZ)ip(~95Q%1u=acOrkl`kaxZYMdl8p>4` zkyNf1$D>@ak=^bM8mj1Hj}FMOZ3VHLvOF z53+hCs-x&>UGxVO!G0WuLJYONu1VNK+MvRV64kTc@kBa0sR=RG@_SZ7ej&PAsuHOP ztt~jrx=V!pLc8%tL{==5J9=PTA&QhzbxVMvXiHa`G-_eQ>}cP5{Rms)PuAsBxrBdH zgi!;d-aQBuDU1Kc7b1%{TCxa*W7)#h)Y>A>p-1;ggLcFECL+1>_&pWv1vf&V(R(+k z3L(B4{Df7P2p^&W!6l!EwD9S+$XsB$sZo8847Sh$IT(>m+J0V%Z{tEWH6bqT$xRr) zKJV(W0pp@0ak_waW+zEvQY9^83cMcoD&k8@V_%ycE$PM@v0nTuE7L!Y6W4;fCLxqL zwon$xgZS?tn9q?`BA8o+{J_-~%$jBd(-gs+yqWmfG@@YE*n$bNak6faV0wR^g^XN3 z!xq6hSIg!*TOpf$nv%^I@s>I;gVKJ%9EV``4Qi}O+mzL9Rx`8ieqJgK- zKvt1d_xI8uKrXnr*H!|TC=WIve%Ac?d+@SlW7lxseJ*!`14Xqm96HS>BlupxZ_cDN zX*shlk>88tcow#N$Dz=YEXXQF3WXJrt57|jMPN%g$FA=}VY8aYG^=Mqt2vajdD^Mc z9Ykt5ej_^ur`@e!9LhQ+L-YTfS}pLk{3w(r@KZSdq9xtKBlYr)E&Lip`v^JC#}-2J z6ZWyT5b2)Z@eQa788{W^y7mG9Pw;vi5erx6^8pDo`3p}|NdjEpT#s{!Yi$3p=!}1& zU(p$Iu8OnvsD;-TUCORCWRGr6flMEuw@vd3j3q#`r|%{Bl!uA3QAvFXUAXY-qKd#S z-|0epUKemFFS+gP|M(cL6BtLCfOuIEVHMB?HP@_0Tp@S`le#shPg!uRk=1isR$Y23 zKd>g(+qK;P=`kXgy&p)z*exOnMP4hv=dM>|(iy6Yhoe}nM^Qwbbm>t!IAMX<{1lWp zqojV`BfAVVVP76?N;339QP%G*i%)y;ZFH>T1Lk*cX?y^=XSqKAcq$I|h!D=(TaPi; z@h`&r5IJEG7_~b%`uKeae<_0d@E7F2NJMY96uu_MA?5OiYP`CT0!VpD%$OG&T8j9+ zI{z*$K$->91jw>qt9Z%@hY`WB{LF*J_X-ytsGsmh3{jrPT!J4|6zr}dd~IUQinBvM zqgl0XbfD4a@&xrF(1T-qi#Kw(#O-4@uIqD!ii4O|qbbYOh&$Ap0?C!04{No?So_hT zJMu=?HCkO5bwNO2dDqL0hAYK}G6Ls8ceB$rOxhDi2L0&eZ?vbp-&_&=I3d3{Uwk#x zV>yJw-+VXVG|K((81XvrqQ%ScGyOzTRGYcyS#uH1x&k}sCYWy@iXwc$=YChpB z9MvQfGwbSQZklEi;bRlP(sfg>T$18~kfnie<2M$eOCcaO&GQR!_JN67( zCiW%HC$7zbOPF5;O{ahO`p4)^>SAk0uGNW5tgm{0upTxlO=N1e-&9BdCbA>oOQH`C zQ=un_>@8@shTEwlljs(a57vnpFQ?O}@ud*-*^HNp!HCIZx$@p)jj_&{a1)dogQ6q> zOQVhG);L*U5isVd9!-nEe#u*+0Dp9wzQ1?Z^IHGu(tapa>rn*#=S~V~LS6bpf+`qcR$V3li!D|FCmV3XI+mn?agQ)pH@+hJ{Pcu2xsnQZVoi z=({k8XrqL@if_;g4uy4qvm1*o?y;;_1LbQ8_r_sowot-;3W))D65Yz_haJ*6)6)c= z25-2-v;PB66RcJExwM;WD-vd4`REz29nLPqbooY+Y=t_0fH2U_Kddv*KY*lwi2wZ^ z(MJdkV#A_WK$VI7%YHUW;D?o%V&E6@ciU%%ajKk7Ll$hx)+A{!YhZN;x(h-Ix-iM;(duHH~_T9E_`a ztSORf2|YzpIZ#20V+E5C7Z;o&OGS=fDWWStODJY0@sYqfEk+?E__d;1)TV-iP8;hA zm0}kVT+vGvj)E2G!K9$1bVIkEN#`y5>F#-?6y z3q2VpK;QE@vZEiSaU5l z6*1SYSC78Qel>BduHs$5e)yYwR*xM^9PI}o>6u%O_LAaj1Bg|HUjxfJOuzMs>34%? zz zP)<%^QW|dsa*tpRHv*5#)cv?Mv)*To;*}UheU&mtk!+&^YEcD>+XgPk< zg=(iwu(?oNNB7C+oEMj%cL?;xQVE8%oh^deg(5EK}g6JDhX!c1T&2c;hl6EHM0DCNTla|w7 zk71Mwh!zYx!(BOrX6SawwUpXNnl#1RMxq6q|6|UTXd;KvC02eOBk-xX+%0D_Zpff< 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%0DIv{!FHa3F)U^Ig7X)@Lr-{Pvu@SX?$ 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¬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